about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-10-19 14:40:23 +0000
committerAlyssa Ross <hi@alyssa.is>2022-01-07 10:22:32 +0000
commitcc62bcb55359ba8c5e0fe3a48e778444c89060d8 (patch)
treeca0e21d44eaf8837b687395e614445f7761d7bbd /nixpkgs/pkgs/tools
parentd6625e8d25efd829c3cfa227d025ca4e606ae4b7 (diff)
parenta323570a264da96a0b0bcc1c9aa017794acdc752 (diff)
downloadnixlib-cc62bcb55359ba8c5e0fe3a48e778444c89060d8.tar
nixlib-cc62bcb55359ba8c5e0fe3a48e778444c89060d8.tar.gz
nixlib-cc62bcb55359ba8c5e0fe3a48e778444c89060d8.tar.bz2
nixlib-cc62bcb55359ba8c5e0fe3a48e778444c89060d8.tar.lz
nixlib-cc62bcb55359ba8c5e0fe3a48e778444c89060d8.tar.xz
nixlib-cc62bcb55359ba8c5e0fe3a48e778444c89060d8.tar.zst
nixlib-cc62bcb55359ba8c5e0fe3a48e778444c89060d8.zip
Merge commit 'a323570a264da96a0b0bcc1c9aa017794acdc752'
Diffstat (limited to 'nixpkgs/pkgs/tools')
-rw-r--r--nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/admin/analog/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/admin/aws-nuke/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/awscli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/awscli2/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/admin/azure-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/bubblewrap/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/clair/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/damon/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/admin/drawterm/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/admin/google-cloud-sdk/gcloud-path.patch15
-rw-r--r--nixpkgs/pkgs/tools/admin/google-cloud-sdk/gsutil-disable-updates.patch11
-rw-r--r--nixpkgs/pkgs/tools/admin/lego/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/lxd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/netplan/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/admin/pulumi/data.nix366
-rwxr-xr-xnixpkgs/pkgs/tools/admin/pulumi/update.sh69
-rw-r--r--nixpkgs/pkgs/tools/archivers/cpio/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/archivers/fsarchiver/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/archivers/p7zip/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/archivers/rar/default.nix59
-rw-r--r--nixpkgs/pkgs/tools/archivers/sharutils/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/archivers/unrar/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/archivers/xtrt/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/audio/botamusique/node-packages.nix2
-rw-r--r--nixpkgs/pkgs/tools/audio/botamusique/src.json9
-rw-r--r--nixpkgs/pkgs/tools/audio/soco-cli/default.nix41
-rw-r--r--nixpkgs/pkgs/tools/backup/btrbk/default.nix41
-rw-r--r--nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix76
-rw-r--r--nixpkgs/pkgs/tools/backup/duplicity/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/backup/kopia/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/backup/percona-xtrabackup/generic.nix4
-rw-r--r--nixpkgs/pkgs/tools/compression/crabz/default.nix39
-rw-r--r--nixpkgs/pkgs/tools/compression/hactool/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/compression/hactool/musl-compat.patch13
-rw-r--r--nixpkgs/pkgs/tools/compression/ncompress/builder.sh15
-rw-r--r--nixpkgs/pkgs/tools/compression/ncompress/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/compression/ouch/add-Cargo.lock.patch434
-rw-r--r--nixpkgs/pkgs/tools/compression/ouch/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/filesystems/apfsprogs/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/filesystems/catcli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/ceph/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/gocryptfs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/lfs/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/filesystems/sandboxfs/Cargo.lock.patch640
-rw-r--r--nixpkgs/pkgs/tools/filesystems/sandboxfs/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/filesystems/unionfs-fuse/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/asymptote/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/graphics/directx-shader-compiler/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/hobbits/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/graphics/mscgen/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/graphics/pfstools/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/graphics/pngquant/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/svgcleaner/Cargo.lock256
-rw-r--r--nixpkgs/pkgs/tools/graphics/svgcleaner/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/graphics/wgpu-utils/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/evscript/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/lisgd/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/adafruit-ampy/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/asciinema/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/aspcud/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/misc/bandwidth/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/bottom-rs/cargo-lock.patch791
-rw-r--r--nixpkgs/pkgs/tools/misc/bottom-rs/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/misc/bunnyfetch/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/ccze/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/cht.sh/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/colorpicker/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/contacts/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/misc/depotdownloader/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/depotdownloader/deps.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/dialogbox/default.nix45
-rw-r--r--nixpkgs/pkgs/tools/misc/diffoscope/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/diffoscope/fix-tests.patch14
-rw-r--r--nixpkgs/pkgs/tools/misc/ding-libs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/elfcat/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/esphome/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/eva/Cargo.lock.patch589
-rw-r--r--nixpkgs/pkgs/tools/misc/eva/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/execline/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/fasd/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/fclones/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/fdtools/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/fet-sh/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/flashrom/default.nix39
-rw-r--r--nixpkgs/pkgs/tools/misc/flitter/default.nix55
-rw-r--r--nixpkgs/pkgs/tools/misc/fluent-bit/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/font-config-info/default.nix46
-rw-r--r--nixpkgs/pkgs/tools/misc/freshfetch/Cargo.lock587
-rw-r--r--nixpkgs/pkgs/tools/misc/freshfetch/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/misc/fsearch/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/fzf/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/git-fire/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/misc/gitlint/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/misc/goaccess/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/hdf4/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/misc/hdf5/1.10.nix11
-rw-r--r--nixpkgs/pkgs/tools/misc/hdf5/default.nix47
-rw-r--r--nixpkgs/pkgs/tools/misc/hdl-dump/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/misc/infracost/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/misc/kak-lsp/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/kalker/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/ledit/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/misc/lesspipe/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/lesspipe/override-shell-detection.patch12
-rw-r--r--nixpkgs/pkgs/tools/misc/lf/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/licensor/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/loop/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/mandoc/default.nix54
-rw-r--r--nixpkgs/pkgs/tools/misc/mandoc/remove-broken-cc-check.patch11
-rw-r--r--nixpkgs/pkgs/tools/misc/mapcidr/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/misc/mathpix-snipping-tool/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/mmv-go/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/mtm/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/misc/natls/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/misc/neofetch/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/parallel/wrapper.nix21
-rw-r--r--nixpkgs/pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/powerline-go/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/profile-sync-daemon/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/pspg/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/rates/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/misc/recutils/default.nix46
-rw-r--r--nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/screen/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/sdate/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/misc/sharedown/default.nix95
-rwxr-xr-xnixpkgs/pkgs/tools/misc/sharedown/update.sh16
-rw-r--r--nixpkgs/pkgs/tools/misc/sharedown/yarn.lock2193
-rw-r--r--nixpkgs/pkgs/tools/misc/sharedown/yarndeps.nix2565
-rw-r--r--nixpkgs/pkgs/tools/misc/sta/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/steampipe/default.nix40
-rw-r--r--nixpkgs/pkgs/tools/misc/synth/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/misc/tab-rs/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/time-decode/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/misc/tio/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/tlp/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/misc/tlp/patches/0001-makefile-correctly-sed-paths.patch56
-rw-r--r--nixpkgs/pkgs/tools/misc/tlp/patches/0002-tlp-sleep.service-reintroduce.patch (renamed from nixpkgs/pkgs/tools/misc/tlp/patches/tlp-sleep-service.patch)53
-rw-r--r--nixpkgs/pkgs/tools/misc/tlp/patches/fix-makefile-sed.patch46
-rw-r--r--nixpkgs/pkgs/tools/misc/tmpwatch/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/tremor-rs/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/txt2man/default.nix40
-rw-r--r--nixpkgs/pkgs/tools/misc/viddy/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/misc/vimv/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/misc/vsh/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/watchexec/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/webcat/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/misc/xstow/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/misc/xtitle/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/misc/yle-dl/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/yt-dlp/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/zellij/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/misc/zoxide/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/zthrottle/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/amass/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/bandwhich/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/networking/boundary/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/croc/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/davix/default.nix68
-rw-r--r--nixpkgs/pkgs/tools/networking/dhcp/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/dnstake/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/networking/dnsviz/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/flannel/plugin.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/getmail6/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/godns/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/networking/gvproxy/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/httpie/default.nix102
-rw-r--r--nixpkgs/pkgs/tools/networking/httplz/cargo-lock.patch1275
-rw-r--r--nixpkgs/pkgs/tools/networking/httplz/default.nix47
-rw-r--r--nixpkgs/pkgs/tools/networking/hurl/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/networking/kea/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/keepalived/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/networking/ligolo-ng/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/networking/miniupnpc/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/mole/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/networking/nbd/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/networkmanager/openvpn/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/oha/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/openssh/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/packetdrill/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/networking/pdsh/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/pmacct/default.nix67
-rw-r--r--nixpkgs/pkgs/tools/networking/privoxy/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/rustcat/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/networking/s3cmd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/s6-dns/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/s6-networking/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/ssh-key-confirmer/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/networking/stevenblack-blocklist/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/strongswan/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/suckit/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/networking/swec/default.nix74
-rw-r--r--nixpkgs/pkgs/tools/networking/telepresence/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/networking/tnat64/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/networking/unbound/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/networking/v2ray/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/networking/vopono/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/networking/wget2/default.nix61
-rw-r--r--nixpkgs/pkgs/tools/networking/yggdrasil/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/ytcc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/nix/nixdoc/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-license/add-Cargo.lock.patch435
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-license/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-update/0001-Generate-lockfile-for-cargo-update-v4.1.2.patch647
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-update/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix-eval-jobs/default.nix41
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/security/agebox/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/apkleaks/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/security/bitwarden/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/cameradar/default.nix41
-rw-r--r--nixpkgs/pkgs/tools/security/cariddi/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/security/cdk-go/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/security/certgraph/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/security/cve-bin-tool/default.nix84
-rw-r--r--nixpkgs/pkgs/tools/security/dalfox/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/dirmngr/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/dismap/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/security/dnspeep/Cargo.lock660
-rw-r--r--nixpkgs/pkgs/tools/security/dnspeep/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/security/exploitdb/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/security/ghidra/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/ghost/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/gnupg/22.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/go365/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/security/gpg-tui/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/grype/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/httpx/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/ike-scan/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/security/ioccheck/default.nix57
-rw-r--r--nixpkgs/pkgs/tools/security/knockpy/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/kubescape/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/masscan/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock212
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/gemset.nix313
-rw-r--r--nixpkgs/pkgs/tools/security/mongoaudit/default.nix39
-rw-r--r--nixpkgs/pkgs/tools/security/naabu/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/security/pinentry/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/quark-engine/default.nix45
-rw-r--r--nixpkgs/pkgs/tools/security/quill/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/ripasso/cursive.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/scorecard/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/security/sheesy-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/shellz/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/security/spyre/default.nix35
-rw-r--r--nixpkgs/pkgs/tools/security/step-ca/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/step-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/swtpm/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/security/tboot/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/terrascan/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/usbrip/default.nix45
-rw-r--r--nixpkgs/pkgs/tools/security/vault/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/vault/vault-bin.nix10
-rw-r--r--nixpkgs/pkgs/tools/security/vaultwarden/vault.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/volatility3/default.nix46
-rw-r--r--nixpkgs/pkgs/tools/security/wpscan/Gemfile.lock28
-rw-r--r--nixpkgs/pkgs/tools/security/wpscan/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/security/wpscan/gemset.nix40
-rw-r--r--nixpkgs/pkgs/tools/system/auto-cpufreq/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/battop/battery.patch588
-rw-r--r--nixpkgs/pkgs/tools/system/battop/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/system/btop/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/freeipmi/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/htop/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/logrotate/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/proot/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/system/s6-rc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/s6/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/system/smartmontools/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/stress-ng/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/tp-auto-kbbl/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/system/tree/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/text/difftastic/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/fst/0001-cargo-lockfile.patch900
-rw-r--r--nixpkgs/pkgs/tools/text/fst/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/text/gnused/422.nix1
-rw-r--r--nixpkgs/pkgs/tools/text/gnused/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/text/hck/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/highlight/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/text/kakasi/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/mdbook-graphviz/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/text/mdbook-katex/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/text/rpl/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/text/rpl/remove-argparse-manpage.diff27
-rw-r--r--nixpkgs/pkgs/tools/text/sad/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/shfmt/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/tidy-viewer/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/text/vale/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/text/wgetpaste/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/typesetting/coq2html/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/typesetting/lowdown/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tectonic/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/typesetting/xmlto/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/virtualization/extra-container/default.nix37
-rwxr-xr-xnixpkgs/pkgs/tools/virtualization/linode-cli/update.sh4
-rw-r--r--nixpkgs/pkgs/tools/virtualization/mininet/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/wayland/sirula/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/wayland/swaycwd/default.nix58
-rw-r--r--nixpkgs/pkgs/tools/wayland/swayr/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/wayland/wshowkeys/default.nix21
312 files changed, 9080 insertions, 9237 deletions
diff --git a/nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix b/nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix
index 5bffa1077647..b205f959ee35 100644
--- a/nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix
+++ b/nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix
@@ -3,8 +3,7 @@
 , fetchFromGitHub
 , fetchurl
 , linkFarmFromDrvs
-, dotnet-netcore
-, dotnet-sdk
+, dotnetCorePackages
 , dotnetPackages
 , dpkg
 , gtk3
@@ -21,6 +20,10 @@
 , wrapGAppsHook
 }:
 
+let
+  dotnet-sdk = dotnetCorePackages.sdk_5_0;
+  dotnet-runtime = dotnetCorePackages.runtime_5_0;
+in
 stdenv.mkDerivation rec {
   pname = "OpenTabletDriver";
   version = "0.5.3.3";
@@ -114,19 +117,19 @@ stdenv.mkDerivation rec {
     makeWrapper $out/lib/OpenTabletDriver.Console $out/bin/otd \
         "''${gappsWrapperArgs[@]}" \
         --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
-        --set DOTNET_ROOT "${dotnet-netcore}" \
+        --set DOTNET_ROOT "${dotnet-runtime}" \
         --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}"
 
     makeWrapper $out/lib/OpenTabletDriver.Daemon $out/bin/otd-daemon \
         "''${gappsWrapperArgs[@]}" \
         --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
-        --set DOTNET_ROOT "${dotnet-netcore}" \
+        --set DOTNET_ROOT "${dotnet-runtime}" \
         --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}"
 
     makeWrapper $out/lib/OpenTabletDriver.UX.Gtk $out/bin/otd-gui \
         "''${gappsWrapperArgs[@]}" \
         --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
-        --set DOTNET_ROOT "${dotnet-netcore}" \
+        --set DOTNET_ROOT "${dotnet-runtime}" \
         --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}"
 
     mkdir -p $out/lib/OpenTabletDriver
diff --git a/nixpkgs/pkgs/tools/admin/analog/default.nix b/nixpkgs/pkgs/tools/admin/analog/default.nix
index 3d8556d81032..54d863bb958f 100644
--- a/nixpkgs/pkgs/tools/admin/analog/default.nix
+++ b/nixpkgs/pkgs/tools/admin/analog/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   postPatch = ''
     sed -i src/anlghead.h \
       -e "s|#define DEFAULTCONFIGFILE .*|#define DEFAULTCONFIGFILE \"$out/etc/analog.cfg\"|g" \
-      -e "s|#define LANGDIR .*|#define LANGDIR \"$out/share/$pname}/lang/\"|g"
+      -e "s|#define LANGDIR .*|#define LANGDIR \"$out/share/${pname}/lang/\"|g"
     substituteInPlace src/Makefile --replace "gcc" "${stdenv.cc.targetPrefix}cc"
   '';
 
@@ -32,7 +32,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.c-amie.co.uk/software/analog/";
     license = lib.licenses.gpl2;
     description = "Powerful tool to generate web server statistics";
-    maintainers = [ lib.maintainers.peti ];
     platforms = lib.platforms.all;
   };
 
diff --git a/nixpkgs/pkgs/tools/admin/aws-nuke/default.nix b/nixpkgs/pkgs/tools/admin/aws-nuke/default.nix
index 901f489fb46d..bdb38a45e79f 100644
--- a/nixpkgs/pkgs/tools/admin/aws-nuke/default.nix
+++ b/nixpkgs/pkgs/tools/admin/aws-nuke/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "aws-nuke";
-  version = "2.15.0";
+  version = "2.16.0";
 
   src = fetchFromGitHub {
     owner = "rebuy-de";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-FntHZi+L0Ti2QFbd8keF1sxcdXc01hs13Np23hF/pVc=";
+    sha256 = "sha256-8ILjEWr91YMUUN2GMXnS3sRrwGvUsYjDmRnM+fY5PkY=";
   };
 
-  vendorSha256 = "sha256-VtsHUxI5RuKbQOSu55qPCJHsDO5+cNGT92y9dlibXlc=";
+  vendorSha256 = "sha256-sAII1RD9CG3Ape9OwD0956atlmaJVzSpRRBdo+ozTuk=";
 
   preBuild = ''
     if [ "x$outputHashAlgo" != "x" ]; then
diff --git a/nixpkgs/pkgs/tools/admin/awscli/default.nix b/nixpkgs/pkgs/tools/admin/awscli/default.nix
index cf87652ab39e..d11ed86e088c 100644
--- a/nixpkgs/pkgs/tools/admin/awscli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/awscli/default.nix
@@ -21,11 +21,11 @@ let
 in
 with py.pkgs; buildPythonApplication rec {
   pname = "awscli";
-  version = "1.20.31"; # N.B: if you change this, change botocore and boto3 to a matching version too
+  version = "1.20.54"; # N.B: if you change this, change botocore and boto3 to a matching version too
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-qDKnxh4M+LOXYp1xCvW0S0IE5NnwvFpYelUCCjA18zQ=";
+    sha256 = "sha256-stnuPobBKIpKA4iTKGTO5kmMEl7grFdZNryz40S599M=";
   };
 
   # https://github.com/aws/aws-cli/issues/4837
diff --git a/nixpkgs/pkgs/tools/admin/awscli2/default.nix b/nixpkgs/pkgs/tools/admin/awscli2/default.nix
index 4206136ec6d6..cf765a53c53f 100644
--- a/nixpkgs/pkgs/tools/admin/awscli2/default.nix
+++ b/nixpkgs/pkgs/tools/admin/awscli2/default.nix
@@ -11,12 +11,12 @@ let
         };
       });
       botocore = super.botocore.overridePythonAttrs (oldAttrs: rec {
-        version = "2.0.0dev147";
+        version = "2.0.0dev148";
         src = fetchFromGitHub {
           owner = "boto";
           repo = "botocore";
-          rev = "afa015418df6b3aeef0f5645e8704de64adea3d7";
-          sha256 = "sha256-ypqDhCQXPqG8JCsLWt1V/4s95Hm+lClz+eOA2GnIhYg=";
+          rev = "c0734f100f61bbef413cb04d9890bbffbccd230f";
+          sha256 = "sha256-ndSJdBF3NMNtpyHgYAksCUBDqlwPhugTkIK6Nby20oI=";
         };
         propagatedBuildInputs = super.botocore.propagatedBuildInputs ++ [py.pkgs.awscrt];
       });
@@ -27,19 +27,26 @@ let
           sha256 = "1nr990i4b04rnlw1ghd0xmgvvvhih698mb6lb6jylr76cs7zcnpi";
         };
       });
+      s3transfer = super.s3transfer.overridePythonAttrs (oldAttrs: rec {
+        version = "0.4.2";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "sha256-ywIvSxZVHt67sxo3fT8JYA262nNj2MXbeXbn9Hcy4bI=";
+        };
+      });
     };
   };
 
 in
 with py.pkgs; buildPythonApplication rec {
   pname = "awscli2";
-  version = "2.2.39"; # N.B: if you change this, change botocore to a matching version too
+  version = "2.2.40"; # N.B: if you change this, change botocore to a matching version too
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "aws-cli";
     rev = version;
-    sha256 = "sha256-3GYj6+08J05Lu17jjydmzlypI5TUuV+5HA398oExkiU=";
+    sha256 = "sha256-IHnNRER9ePKVI9ez15HgxLDR1n6QR0iRESgNqbxQPx8=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/tools/admin/azure-cli/default.nix b/nixpkgs/pkgs/tools/admin/azure-cli/default.nix
index f2fec6fe6be7..4f0609d0a55a 100644
--- a/nixpkgs/pkgs/tools/admin/azure-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/azure-cli/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, python3, fetchFromGitHub, installShellFiles }:
 
 let
-  version = "2.28.0";
+  version = "2.28.1";
   srcName = "azure-cli-${version}-src";
 
   src = fetchFromGitHub {
@@ -9,7 +9,7 @@ let
     owner = "Azure";
     repo = "azure-cli";
     rev = "azure-cli-${version}";
-    sha256 = "sha256-fTt6tIcc96f8t3NUaR0RG0JQ+LPgqSHuJSmVx4a6X7M=";
+    sha256 = "sha256-9EkCScEj5kuKtkfnCmFUZg/qDzvmI3rvDS+NtkZC7sk=";
   };
 
   # put packages that needs to be overriden in the py package scope
diff --git a/nixpkgs/pkgs/tools/admin/bubblewrap/default.nix b/nixpkgs/pkgs/tools/admin/bubblewrap/default.nix
index 6441b0782d50..4c6c6971fc92 100644
--- a/nixpkgs/pkgs/tools/admin/bubblewrap/default.nix
+++ b/nixpkgs/pkgs/tools/admin/bubblewrap/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bubblewrap";
-  version = "0.4.1";
+  version = "0.5.0";
 
   src = fetchurl {
     url = "https://github.com/containers/bubblewrap/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "00ycgi6q2yngh06bnz50wkvar6r2jnjf3j158grhi9k13jdrpimr";
+    sha256 = "sha256-Fv2vM3mdYxBONH4BM/kJGW/pDQxQUV0BC8tCLrWgCBg=";
   };
 
   nativeBuildInputs = [ libxslt docbook_xsl ];
diff --git a/nixpkgs/pkgs/tools/admin/clair/default.nix b/nixpkgs/pkgs/tools/admin/clair/default.nix
index 836f9082d242..ab9ebc013b80 100644
--- a/nixpkgs/pkgs/tools/admin/clair/default.nix
+++ b/nixpkgs/pkgs/tools/admin/clair/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clair";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitHub {
     owner = "quay";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PVR7QMndjfCNVo9U3lnArpRBxLfmOH8iEdFub7hZyio=";
+    sha256 = "sha256-9IRoDvvhUMXTiMl2Jj4NFlTJD7QSXsVxjoDVTlqTsWg=";
   };
 
-  vendorSha256 = "sha256-npskCUVxNTgI8egVU1id02xHFfTizOb7kBUNfOLdbOc=";
+  vendorSha256 = "sha256-9BG10+aOysFZmGytDhz11u/2uJQq4LnceCsotJIZ62U=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/admin/damon/default.nix b/nixpkgs/pkgs/tools/admin/damon/default.nix
new file mode 100644
index 000000000000..10687bce0908
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/damon/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "damon";
+  version = "unstable-2021-10-06";
+
+  src = fetchFromGitHub {
+    owner = "hashicorp";
+    repo = "damon";
+    rev = "542c79aecc44b1d0500f9cb9b2e13f07db1e2f35";
+    sha256 = "sha256-vg5PISNqk8N2nn7eABm+/7qzePDbKPkvovdZk2sZYsg=";
+  };
+
+  vendorSha256 = "sha256-/ZZxw6qEUJQUz3J0TxUYJECCcX276r74g0N2tV77+8I=";
+
+  meta = with lib; {
+    homepage = "https://github.com/hashicorp/damon";
+    license = licenses.mpl20;
+    description = "A terminal UI (TUI) for HashiCorp Nomad";
+    maintainers = teams.iog.members;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/admin/drawterm/default.nix b/nixpkgs/pkgs/tools/admin/drawterm/default.nix
index d3785a737f9c..f694cb935b42 100644
--- a/nixpkgs/pkgs/tools/admin/drawterm/default.nix
+++ b/nixpkgs/pkgs/tools/admin/drawterm/default.nix
@@ -6,12 +6,12 @@
 
 stdenv.mkDerivation rec {
   pname = "drawterm";
-  version = "unstable-2021-08-02";
+  version = "unstable-2021-10-02";
 
   src = fetchgit {
     url = "git://git.9front.org/plan9front/drawterm";
-    rev = "a130d441722ac3f759d2d83b98eb6aef7e84f97e";
-    sha256 = "R+W1XMqQqCrMwgX9lHRhxJPG6ZOvtQrU6HUsKfvfrBQ=";
+    rev = "c6f547e1a46ebbf7a290427fe3a0b66932d671a0";
+    sha256 = "09v2vk5s23q0islfz273pqy696zhzh3gqi25hadr54lif0511wsl";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/tools/admin/eksctl/default.nix b/nixpkgs/pkgs/tools/admin/eksctl/default.nix
index 9dcdfef17e78..9b318ec462fb 100644
--- a/nixpkgs/pkgs/tools/admin/eksctl/default.nix
+++ b/nixpkgs/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.66.0";
+  version = "0.69.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-taKLOL3bdKFdLc6WbF7Q1vCqkRvv/X1NTvSSaYRYHyU=";
+    sha256 = "sha256-mRY/czMf6KefYCqfCVRtcHuUuqAxyPUd8TJmx7vzOsk=";
   };
 
-  vendorSha256 = "sha256-AHkMFuL1zWnv6Z4kCnKsZdqZZaYsQ8AIDmMOLQ+HvkI=";
+  vendorSha256 = "sha256-cUo+tcHhnbJbn3HS/I8lnkvfv+6+htIs1dMtKuEArQg=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix b/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
index f217408c28d0..4bf2049d97ac 100644
--- a/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "exoscale-cli";
-  version = "1.42.0";
+  version = "1.44.0";
 
   src = fetchFromGitHub {
     owner  = "exoscale";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "sha256-t6/w998mTsFl/V/zcbVxokJk4VZWDoOXsjr93GW7Zh4=";
+    sha256 = "sha256-1ntKm6OA20+/gMVufbmM6fZ2UIXG/0SzH9vZQUvsIUQ=";
   };
 
   goPackagePath = "github.com/exoscale/cli";
diff --git a/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix
index b4dfcd17aeb3..e0206b120a5b 100644
--- a/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -13,7 +13,7 @@ let
   pythonEnv = python.withPackages (p: with p; [
     cffi
     cryptography
-    pyopenssl
+    openssl
     crcmod
   ] ++ lib.optional (with-gce) google-compute-engine);
 
@@ -21,33 +21,33 @@ let
   sources = name: system: {
     x86_64-darwin = {
       url = "${baseUrl}/${name}-darwin-x86_64.tar.gz";
-      sha256 = "1a17bbvimdqq4k25lprqk9cq3lpfchd65hzjf23ha4imndpbjgqr";
+      sha256 = "0cjy6znhpv90mj7463lghmzhivwhaxa7q9da37wdpwh53h7kf05r";
     };
 
     aarch64-darwin = {
       url = "${baseUrl}/${name}-darwin-arm.tar.gz";
-      sha256 = "184k1kv10g4zzzxgmwpakvg5ffxhz01dd01kb5h32mf1j5fid1zh";
+      sha256 = "0phby3s9375zyphjwk1hrpr8fiybik1ag3yfnpmi7msq54lf4h3x";
     };
 
     x86_64-linux = {
       url = "${baseUrl}/${name}-linux-x86_64.tar.gz";
-      sha256 = "0hhaq5hf5nvaah06h6v8q2hpn8hc815ihsi74dpwg6pmg9h266pr";
+      sha256 = "0j1n8mzck3sizjslm12x4lgxklw1xvbxp2186xnxm4pmj4kwp4k1";
     };
 
     i686-linux = {
       url = "${baseUrl}/${name}-linux-x86.tar.gz";
-      sha256 = "14z1nzwc0j3qhbw2ldrskd8zjsslwgsw7pxxq3v0ypc1rjibsql5";
+      sha256 = "1sll47bhd4x5r0z65325ak0wbbky07qbzqkf7w97nilv7wz5dgxa";
     };
 
     aarch64-linux = {
       url = "${baseUrl}/${name}-linux-arm.tar.gz";
-      sha256 = "0f6xrij2wbx57s4897bi12l9fz3flj1wyibbk7jjg0l5332h4yhr";
+      sha256 = "1jk17fn3q1i625q1cdyxlvv58rw9ma7lwvngc04jqrccczsl1jqr";
     };
-  }.${system};
+  }.${system} or (throw "Unsupported system: ${system}");
 
 in stdenv.mkDerivation rec {
   pname = "google-cloud-sdk";
-  version = "351.0.0";
+  version = "360.0.0";
 
   src = fetchurl (sources "${pname}-${version}" stdenv.hostPlatform.system);
 
diff --git a/nixpkgs/pkgs/tools/admin/google-cloud-sdk/gcloud-path.patch b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/gcloud-path.patch
index 64ec6cdb1b65..74c0754f3ceb 100644
--- a/nixpkgs/pkgs/tools/admin/google-cloud-sdk/gcloud-path.patch
+++ b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/gcloud-path.patch
@@ -33,15 +33,14 @@ diff --git a/lib/googlecloudsdk/api_lib/container/kubeconfig.py b/lib/googleclou
 index 4330988d6..37424b841 100644
 --- a/lib/googlecloudsdk/api_lib/container/kubeconfig.py
 +++ b/lib/googlecloudsdk/api_lib/container/kubeconfig.py
-@@ -255,7 +255,7 @@ def _AuthProvider(name='gcp'):
-       raise Error(SDK_BIN_PATH_NOT_FOUND)
+@@ -352,7 +352,7 @@ def _AuthProvider(name='gcp',
+       if sdk_bin_path is None:
+         log.error(SDK_BIN_PATH_NOT_FOUND)
+         raise Error(SDK_BIN_PATH_NOT_FOUND)
+-      cmd_path = os.path.join(sdk_bin_path, bin_name)
++      cmd_path = bin_name
+ 
      cfg = {
          # Command for gcloud credential helper
--        'cmd-path': os.path.join(sdk_bin_path, bin_name),
-+        'cmd-path': bin_name,
-         # Args for gcloud credential helper
-         'cmd-args': 'config config-helper --format=json',
-         # JSONpath to the field that is the raw access token
 -- 
 2.21.0
-
diff --git a/nixpkgs/pkgs/tools/admin/google-cloud-sdk/gsutil-disable-updates.patch b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/gsutil-disable-updates.patch
index 1147668862b0..a262dcabf74e 100644
--- a/nixpkgs/pkgs/tools/admin/google-cloud-sdk/gsutil-disable-updates.patch
+++ b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/gsutil-disable-updates.patch
@@ -2,7 +2,7 @@ diff --git a/platform/gsutil/gslib/command_runner.py b/platform/gsutil/gslib/com
 index f490bb3..dc6bbcc 100644
 --- a/platform/gsutil/gslib/command_runner.py
 +++ b/platform/gsutil/gslib/command_runner.py
-@@ -330,17 +330,6 @@ class CommandRunner(object):
+@@ -330,18 +330,6 @@ class CommandRunner(object):
      Returns:
        Return value(s) from Command that was run.
      """
@@ -17,10 +17,11 @@ index f490bb3..dc6bbcc 100644
 -      if system_util.IsRunningInteractively() and collect_analytics:
 -        metrics.CheckAndMaybePromptForAnalyticsEnabling()
 -
+-    self.MaybePromptForPythonUpdate(command_name)
+ 
      if not args:
        args = []
- 
-@@ -413,18 +402,10 @@ class CommandRunner(object):
+@@ -415,15 +403,6 @@ class CommandRunner(object):
        ShutDownGsutil()
      if GetFailureCount() > 0:
        return_code = 1
@@ -35,6 +36,10 @@ index f490bb3..dc6bbcc 100644
 -          )))
      return return_code
  
+   def SkipUpdateCheck(self):
+@@ -467,6 +446,7 @@ class CommandRunner(object):
+     return True
+ 
    def MaybeCheckForAndOfferSoftwareUpdate(self, command_name, debug):
 +    return False
      """Checks the last time we checked for an update and offers one if needed.
diff --git a/nixpkgs/pkgs/tools/admin/lego/default.nix b/nixpkgs/pkgs/tools/admin/lego/default.nix
index 685679467549..83d16c3eb772 100644
--- a/nixpkgs/pkgs/tools/admin/lego/default.nix
+++ b/nixpkgs/pkgs/tools/admin/lego/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "lego";
-  version = "4.4.0";
+  version = "4.5.2";
 
   src = fetchFromGitHub {
     owner = "go-acme";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+5uy6zVfC+utXfwBCEo597CRo4di73ff0eqHyDUxxII=";
+    sha256 = "sha256-ytU1G0kT8/sx9kR8yrrGqUta+vi96aCovoABit0857g=";
   };
 
-  vendorSha256 = "sha256-JgGDP5H7zKQ8sk36JtM/FCWXl7oTScHNboQ/mE5AisU=";
+  vendorSha256 = "sha256-EK2E2YWdk2X1awdUhMOJh+qr+jnnftnKuPPpiHzXZHk=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/admin/lxd/default.nix b/nixpkgs/pkgs/tools/admin/lxd/default.nix
index 523f8165802e..12ea0f7a55d0 100644
--- a/nixpkgs/pkgs/tools/admin/lxd/default.nix
+++ b/nixpkgs/pkgs/tools/admin/lxd/default.nix
@@ -19,13 +19,13 @@ let
 in
 buildGoPackage rec {
   pname = "lxd";
-  version = "4.18";
+  version = "4.19";
 
   goPackagePath = "github.com/lxc/lxd";
 
   src = fetchurl {
     url = "https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz";
-    sha256 = "19gkllahfd2fgz6vng5lrqx3bdrzaf9s874gzznvzvj9sgj0j3mn";
+    sha256 = "0mxbzg8xra0qpd3g3z1b230f0519h56x4jnn09lbbqa92p5zck3f";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/admin/netplan/default.nix b/nixpkgs/pkgs/tools/admin/netplan/default.nix
index b9dc2c070731..77f2ad26de1d 100644
--- a/nixpkgs/pkgs/tools/admin/netplan/default.nix
+++ b/nixpkgs/pkgs/tools/admin/netplan/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "netplan";
-  version = "0.101";
+  version = "0.103";
 
   src = fetchFromGitHub {
-    owner = "CanonicalLtd";
+    owner = "canonical";
     repo = "netplan";
     rev = version;
-    hash = "sha256-bCK7J2pCQUwjZu8c1n6jhF6T/gvUGwydqAXpxUMLgMc=";
+    hash = "sha256-d8Ze8S/w2nyJkATzLfizMqmr7ad2wrK1mjADClee6WE=";
     fetchSubmodules = false;
   };
 
@@ -45,6 +45,9 @@ stdenv.mkDerivation rec {
     substituteInPlace Makefile --replace 'SYSTEMD_GENERATOR_DIR=' 'SYSTEMD_GENERATOR_DIR ?= ' \
         --replace 'SYSTEMD_UNIT_DIR=' 'SYSTEMD_UNIT_DIR ?= ' \
         --replace 'BASH_COMPLETIONS_DIR=' 'BASH_COMPLETIONS_DIR ?= '
+
+    # from upstream https://github.com/canonical/netplan/blob/ee0d5df7b1dfbc3197865f02c724204b955e0e58/rpm/netplan.spec#L81
+    sed -e "s/-Werror//g" -i Makefile
   '';
 
   makeFlags = [
diff --git a/nixpkgs/pkgs/tools/admin/pulumi/data.nix b/nixpkgs/pkgs/tools/admin/pulumi/data.nix
index 0bf1359bc272..39ee5a67a5d6 100644
--- a/nixpkgs/pkgs/tools/admin/pulumi/data.nix
+++ b/nixpkgs/pkgs/tools/admin/pulumi/data.nix
@@ -1,96 +1,100 @@
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
-  version = "3.12.0";
+  version = "3.14.0";
   pulumiPkgs = {
     x86_64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.12.0-linux-x64.tar.gz";
-        sha256 = "19b8yndff9ziilrw1lrwjjcxl1lpn9q52z5swjc41rr0j751v8b0";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.14.0-linux-x64.tar.gz";
+        sha256 = "02s759rm633h4v5a1s3jxwvkahfjrbkz561spijrp3mihrws3xhb";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-linux-amd64.tar.gz";
-        sha256 = "0d88xfi7zzmpyrnvakwxsyavdx6d5hmfrcf4jhmd53mni0m0551l";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.8.1-linux-amd64.tar.gz";
+        sha256 = "0k67bsqiqalqrifd6r7nm6c2g4ckrfhh7a7nfgfmpvqs7cxx1kfm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.19.0-linux-amd64.tar.gz";
-        sha256 = "10hgsnab1472dzdb2qrx90mx1xaq8zifcnrsgqqvilzfjnfrd9ka";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.5.0-linux-amd64.tar.gz";
+        sha256 = "0zvzck8xnv4q3614525y9afmgm3hgidvrz09rbrmqmr9h7ca26hr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v3.5.0-linux-amd64.tar.gz";
-        sha256 = "0rk1irqnmlxzdwx1jnls30xmsrkdn7qin561waqwxq9qrm5012i5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.2.0-linux-amd64.tar.gz";
+        sha256 = "1lmy0dmpspzflc9z8p4w1cz47lbqnbkq8dng3v40lpbs75pnprvs";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.3.0-linux-amd64.tar.gz";
-        sha256 = "1f995sg2p1hpqagygsvyfq97gcmy4a925274p96vhy517568d5jg";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.22.0-linux-amd64.tar.gz";
+        sha256 = "0jl4ic18kf0qcys5mhp6ar4p1bj6ndhi11b51dvzdj5lb39dv43q";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.1.0-linux-amd64.tar.gz";
-        sha256 = "1hz4w44c31wyi3vbr9sbph1007rj65vwwbhwrrzyhxy0i75r3igq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.4.0-linux-amd64.tar.gz";
+        sha256 = "0jmbfy6y0l7zpzwndz6xj6jv20ax9rbg8nbqwcadjf96a3zglwhf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.6.1-linux-amd64.tar.gz";
-        sha256 = "1divf2nga5kc60mf0cjmyzyghpkkbw44jakfwc7fjiq6j4j0g2ia";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.0.0-linux-amd64.tar.gz";
+        sha256 = "1p21963qr8rdl5jp7f05j02yq0ab3flybvzjn7xadcl7m85mkyxh";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-linux-amd64.tar.gz";
-        sha256 = "0ffqah4anhdacmfb8n3hdq17jhqq0qclc0l0cq77hvhvgn39yy4r";
-      }
-      {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v2.0.0-linux-amd64.tar.gz";
-        sha256 = "0yhdcjscdkvvai95z2v6xabvvsfvaqi38ngpqrb73ahlwqhz3nys";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.2.0-linux-amd64.tar.gz";
+        sha256 = "1h5159y7xlslnijs8lpi4vqgvj2px6whxk9m17p9n7wiyqbmd5na";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.18.0-linux-amd64.tar.gz";
-        sha256 = "1vryq0ki5iimqwxpnvc53m15641p1a1cdbf1xzn0ps4xdsg4xz7j";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.24.1-linux-amd64.tar.gz";
+        sha256 = "0rmzb3wn5hmx8z8ly85spizinp6ja861k05fhw7l63zhqr8pnls2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.3.0-linux-amd64.tar.gz";
-        sha256 = "1k7zd2cir6844awf1kpj7pifwvw74yfnrk78j0pall2jwmnf2zaa";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-linux-amd64.tar.gz";
+        sha256 = "1ixmsxawp0qbyjs37c74gcvj2icpbda6znl17yp9bhiyvnrdvxn7";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.2.0-linux-amd64.tar.gz";
-        sha256 = "1h5159y7xlslnijs8lpi4vqgvj2px6whxk9m17p9n7wiyqbmd5na";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.3.0-linux-amd64.tar.gz";
+        sha256 = "1f995sg2p1hpqagygsvyfq97gcmy4a925274p96vhy517568d5jg";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.4.0-linux-amd64.tar.gz";
-        sha256 = "0g6h9j64aqj64slp8707kn6dwg32nyqy06xgwycz8ywcw5b2llqp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.1.0-linux-amd64.tar.gz";
+        sha256 = "0g392a6zyycdijjn0nswf2x5h31x1hcffgwwkmbjr304n2ycbb50";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.7.0-linux-amd64.tar.gz";
-        sha256 = "0n7vlja8s854nba209sq2pwkd8jnmnmzya65ncqpb0aa9kn9lc2j";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.3.1-linux-amd64.tar.gz";
+        sha256 = "0jy4k731libkyycm5n1nab1vi9iwmmckghg0ywvskk4mgki5hh1m";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.3.2-linux-amd64.tar.gz";
-        sha256 = "07zmx5gdwqsrhzm50fj3y9q435ygwmb2j1r2pvpv0i1s66g92kij";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.5.0-linux-amd64.tar.gz";
+        sha256 = "194kym832zfnf58z44y5n789xsvqp2dr3jy5sffqqhfrgcgabvr2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.1.0-linux-amd64.tar.gz";
-        sha256 = "0g392a6zyycdijjn0nswf2x5h31x1hcffgwwkmbjr304n2ycbb50";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.2.0-linux-amd64.tar.gz";
+        sha256 = "057h706kl0c1qq5x0iprikpglllcrb4bfixf5vv3jk8q9s44qbwj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.0.0-linux-amd64.tar.gz";
-        sha256 = "04gaimdzh04v7f11xw1b7p95rbb142kbnix1zqas68wd6vpw9kyp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-linux-amd64.tar.gz";
+        sha256 = "0ffqah4anhdacmfb8n3hdq17jhqq0qclc0l0cq77hvhvgn39yy4r";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.3.0-linux-amd64.tar.gz";
-        sha256 = "0rpf48snjm5n1xn7s6lnda6ny1gjgmfsqmbibw6w7h7la0ff78jp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.7.0-linux-amd64.tar.gz";
+        sha256 = "11mxcinj2s42mzskdh1hx9l8p4jb04ds4xsz6i8k0wffwx5l0p97";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-linux-amd64.tar.gz";
         sha256 = "0glbjhgrb2hiyhd6kwmy7v384j8zw641pw9737g1fczv3x16a3s3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.2.0-linux-amd64.tar.gz";
-        sha256 = "1lmy0dmpspzflc9z8p4w1cz47lbqnbkq8dng3v40lpbs75pnprvs";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.0.0-linux-amd64.tar.gz";
+        sha256 = "0bp7ki3slszmy1vh4a5d4y4fhbvafrazj1cjf081xv91gi99xxz6";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.24.0-linux-amd64.tar.gz";
+        sha256 = "1dznd4c8kpy6mwwb170nfl1m2dmrp6f4jalmk3bdfqscm4xhvk3q";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.0.0-linux-amd64.tar.gz";
+        sha256 = "04gaimdzh04v7f11xw1b7p95rbb142kbnix1zqas68wd6vpw9kyp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.2.0-linux-amd64.tar.gz";
-        sha256 = "02g59jaifyjfcx185ir79d8lqic38dgaa9cb8dpi3xhvv32z0b0q";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-linux-amd64.tar.gz";
+        sha256 = "0d88xfi7zzmpyrnvakwxsyavdx6d5hmfrcf4jhmd53mni0m0551l";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.4.0-linux-amd64.tar.gz";
-        sha256 = "1lmhsvzhryj9sl3v51dgq6rby3q5m169mc3dg1jbx1fvgwglmhqb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.5.1-linux-amd64.tar.gz";
+        sha256 = "0cb2b4rrz7zvdpnf0iff21y4kass7gqfimj854fh6za012j18fnx";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.0.1-linux-amd64.tar.gz";
@@ -99,92 +103,96 @@
     ];
     x86_64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.12.0-darwin-x64.tar.gz";
-        sha256 = "1dlgcap861a5fljbadqikn0lm9gz6f1rdn0qhf1f9vyrj1jmwcqf";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.14.0-darwin-x64.tar.gz";
+        sha256 = "1lisk9wr5p866x2hxvlz7nhz0xybhag7wgqk23x0lariln9z5na6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-darwin-amd64.tar.gz";
-        sha256 = "12mkr0xczdnp21k0k7qn4r3swkaq3pr6v2z853p1db7ksz5kds23";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.8.1-darwin-amd64.tar.gz";
+        sha256 = "103syjj8vla8lygyl5h7ilwm9kl6vxzyn6fdrkz0xcvlhqm1xr30";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.19.0-darwin-amd64.tar.gz";
-        sha256 = "18n729y5r827ahaybz01q61r3cv5grxpnfqb0m8fzh2bd41izg4s";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.5.0-darwin-amd64.tar.gz";
+        sha256 = "129gwj053dz8bhl3al5svvg4zb031ccvyxdf4hf5c1c69jhch4zl";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v3.5.0-darwin-amd64.tar.gz";
-        sha256 = "05z8zkbhpj0xsi7ffzd51j83sxx92k10r28gpznn43plnv1v5cjs";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.2.0-darwin-amd64.tar.gz";
+        sha256 = "1j7z5dbqzsdq1q8ks9g5pwzyc3ml6avhhp6xj94dzdhskl6pd8w5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.3.0-darwin-amd64.tar.gz";
-        sha256 = "12nba4xjcrh4g9iy3mqalk56bga4l3izqm9rj0fg3cyivr9fffvr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.22.0-darwin-amd64.tar.gz";
+        sha256 = "15c5rh0ix7zxn128kangd5x2x1n61xv9d443a7cbriibwvdkvv0j";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.1.0-darwin-amd64.tar.gz";
-        sha256 = "0xknmx3d6083qvp3v2v8qwjlfihj35r8gzhmhbh759ccjf1d6h4h";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.4.0-darwin-amd64.tar.gz";
+        sha256 = "0vd527sx49shr3mpbm5bs4sspmm6vsjli6zlbl5w61y85jp2as1m";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.6.1-darwin-amd64.tar.gz";
-        sha256 = "00m9nn0mrjdqg0ijkv86376df9kpfd9alk8h2ynk53s6nbz9ff4b";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.0.0-darwin-amd64.tar.gz";
+        sha256 = "1idvdcmbbia0cwkw5v7zp7695p1a6sfmrgsfmzn0r9p8lyg66k8w";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-darwin-amd64.tar.gz";
-        sha256 = "0j8ysk4wh78xhk3nv6c1dvvyw5ihs7amwlyqicch52yc6jq3v5a6";
-      }
-      {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v2.0.0-darwin-amd64.tar.gz";
-        sha256 = "1dpsbq3b0fz86355jy7rz4kcsa1lnw4azn25vzlis89ay1ncbblc";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.2.0-darwin-amd64.tar.gz";
+        sha256 = "0r2ykjwam5m2mfiibhq993s8n5pzmks837cwb57jwgwx8lc3ra4x";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.18.0-darwin-amd64.tar.gz";
-        sha256 = "1cfxnshmc7b1ax819bvic4ih0gc1mi6rij1pp52nklzgby4zad6y";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.24.1-darwin-amd64.tar.gz";
+        sha256 = "06lfimnlns1bfvks0kv5rjcnz6dvdk38npigyigsk9vqs0idcfi3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.3.0-darwin-amd64.tar.gz";
-        sha256 = "0fabb3zi5p24xfgsc0jn8ynavd1g0qrlm1yqifxv12zr5id4vcvk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-darwin-amd64.tar.gz";
+        sha256 = "1dy4n03xvirg6fihiid786d88qlkyqkvk4fq6ggnxc92620x7342";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.2.0-darwin-amd64.tar.gz";
-        sha256 = "0r2ykjwam5m2mfiibhq993s8n5pzmks837cwb57jwgwx8lc3ra4x";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.3.0-darwin-amd64.tar.gz";
+        sha256 = "12nba4xjcrh4g9iy3mqalk56bga4l3izqm9rj0fg3cyivr9fffvr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.4.0-darwin-amd64.tar.gz";
-        sha256 = "03r5jxgjyrrpx082z785x2yxz3l4ja4al9yh2zhkvdcnjip88r35";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.1.0-darwin-amd64.tar.gz";
+        sha256 = "0awksrbsmvkgfszdsxfv8wfs1m16y1551jnz0rf51dq0cn9963hq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.7.0-darwin-amd64.tar.gz";
-        sha256 = "0l1wxnkik28y9y257jdxiq3m3njmfq1awxajp152k11izddxs05i";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.3.1-darwin-amd64.tar.gz";
+        sha256 = "1x73niikvanfzfbkwnfjy4r4qzzrss3g18p4mqpakkg4h16r3vgk";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.3.2-darwin-amd64.tar.gz";
-        sha256 = "0s8aaac55kdsid0ay2dm0if9irc55pslmy6lhf7v5bfpcb17i36w";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.5.0-darwin-amd64.tar.gz";
+        sha256 = "1gf83dv5wqvmx8ll7my3c8biklrddjrv069g97d3n510m0k7w85w";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.1.0-darwin-amd64.tar.gz";
-        sha256 = "0awksrbsmvkgfszdsxfv8wfs1m16y1551jnz0rf51dq0cn9963hq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.2.0-darwin-amd64.tar.gz";
+        sha256 = "0sss5mjjwwgvayqjvk7j4wpsrwmk8yzx3phnjxvq2mb7c4d25why";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.0.0-darwin-amd64.tar.gz";
-        sha256 = "18vrp0zzi92x4l5nkjszvd0zr7pk6nl6s3h5a3hvsz5qrj2830q3";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-darwin-amd64.tar.gz";
+        sha256 = "0j8ysk4wh78xhk3nv6c1dvvyw5ihs7amwlyqicch52yc6jq3v5a6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.3.0-darwin-amd64.tar.gz";
-        sha256 = "0jlvdnvcmml009a84lfa6745qwjsifa9zmdrv4gqy9p76iydfs1n";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.7.0-darwin-amd64.tar.gz";
+        sha256 = "173vqfihlbrn7dzxml9lsswalp0hvnp46bjb6bqwiyhsw0f8zak9";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-darwin-amd64.tar.gz";
         sha256 = "0621njipng32x43lw8n49mapq10lnvibg8vlvgciqsfvrbpz1yp5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.2.0-darwin-amd64.tar.gz";
-        sha256 = "1j7z5dbqzsdq1q8ks9g5pwzyc3ml6avhhp6xj94dzdhskl6pd8w5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.0.0-darwin-amd64.tar.gz";
+        sha256 = "1i73sxh6vf6adg6as1q1mab3fcjm7ma7gixj2b0y0d2a5d78lhpa";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.24.0-darwin-amd64.tar.gz";
+        sha256 = "1jxrz82cadmqkd1d26bj5r3bphvzz5z20shjai351hlh9aa3bv2h";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.0.0-darwin-amd64.tar.gz";
+        sha256 = "18vrp0zzi92x4l5nkjszvd0zr7pk6nl6s3h5a3hvsz5qrj2830q3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.2.0-darwin-amd64.tar.gz";
-        sha256 = "0gd3xnl31892qp8ilz9lc1zdps77nf07jgvh0k37mink8f0ppy2z";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-darwin-amd64.tar.gz";
+        sha256 = "12mkr0xczdnp21k0k7qn4r3swkaq3pr6v2z853p1db7ksz5kds23";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.4.0-darwin-amd64.tar.gz";
-        sha256 = "01rrmj95lhvwxi8f338f50l2zspnin41j8hi2j9pjsjwfayhpq93";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.5.1-darwin-amd64.tar.gz";
+        sha256 = "1n82xwkngql039m3pa1pwa8wvqg089mr8xnai67jyj1kryjsij56";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.0.1-darwin-amd64.tar.gz";
@@ -193,89 +201,93 @@
     ];
     aarch64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.12.0-linux-arm64.tar.gz";
-        sha256 = "1hzm80ajndaqchxrxdpg0fvc5rqqagbhd5zs8msw166xyanavl9p";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.14.0-linux-arm64.tar.gz";
+        sha256 = "041lmx5d1c8ls48mv56jchvk714rqw7jywywdgm6d6ipq7h5d67k";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-linux-arm64.tar.gz";
-        sha256 = "1l7zpvacq6kyzj8n82drs9gdfa16k4j945w8nsd0z33byrswxr3w";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.8.1-linux-arm64.tar.gz";
+        sha256 = "0rijbqaw584b5c0kihrs80cv46s06yv3a68yz1dwa8sl7adi7n9p";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.19.0-linux-arm64.tar.gz";
-        sha256 = "1d67npimg49lx1g9adds32gfpwwv0ikk52qz1kyzfbz10hz62xyx";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.5.0-linux-arm64.tar.gz";
+        sha256 = "165yambk3grc2mxk4md4cn7zl8kjqbp4pqjagnsyyi1fz9vl974i";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v3.5.0-linux-arm64.tar.gz";
-        sha256 = "0fh4zrpmgg16jhzdmqihwq8k39bjlchd54mbkd50fphw1w2xw2jz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.2.0-linux-arm64.tar.gz";
+        sha256 = "0mddv37k87wiygh6x9bnxpcr721qbmbqf6l5zk3xl61n56j8qyb1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.3.0-linux-arm64.tar.gz";
-        sha256 = "1pjvrhmci1fbakx74yndjhkvxxy4yfnwrwbk12dyb3mxc07iycfj";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.22.0-linux-arm64.tar.gz";
+        sha256 = "19aiksm4d4jxs9gw7rdr77ag58fy1v7gkk6r730imgq0d8vsacm1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.1.0-linux-arm64.tar.gz";
-        sha256 = "07c34x3g31f0bvwfwgxnnikqp5wzyn97hxzwlidvr6g1w7srj0qn";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.4.0-linux-arm64.tar.gz";
+        sha256 = "0ybw5cbiw64zmaqjwlfk5b73h5sy0pk40f15hq41d9rdkc0sypxi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.6.1-linux-arm64.tar.gz";
-        sha256 = "1l1p5gqnxd3rb9107m9wi76k8d57ak9w86dniiwys3dqbwxjn1ix";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.0.0-linux-arm64.tar.gz";
+        sha256 = "0k4yi9xqrmd5m99lr27h672ycwyh138d9jhh3wvgpmnjpdxy28jm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-linux-arm64.tar.gz";
-        sha256 = "1lh1g90ab4blqmvx0yfp516hfsd6n1y751ab7fzhv7hcajf3klvi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.2.0-linux-arm64.tar.gz";
+        sha256 = "1sc8rf930cz6nkyhqn6p0h7450iqzdsrlw2smhp8yyjjvcjmsksf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v2.0.0-linux-arm64.tar.gz";
-        sha256 = "0xibm242vjv1jr2c2v5a1ndlafybq66iqfdmdghys3fa4csb5d4s";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.24.1-linux-arm64.tar.gz";
+        sha256 = "1bvzazdis423vb1r30q15q1irh07kgymv5ikzmvrygf4hm3aph06";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.18.0-linux-arm64.tar.gz";
-        sha256 = "18as1qkqz0b4cminqf9czd5lx04nr8da7w3g0dbp6bpr7biakra0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-linux-arm64.tar.gz";
+        sha256 = "12iv8vjnal2ym70rxmdnvi02x6md7fxi8jbzhzfw526pzqs1dc47";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.3.0-linux-arm64.tar.gz";
-        sha256 = "0pwcn2hlfj5nh5fyql8nk4rzfpsrp6ph5kd3r62872z6kz4fr1f8";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.3.0-linux-arm64.tar.gz";
+        sha256 = "1pjvrhmci1fbakx74yndjhkvxxy4yfnwrwbk12dyb3mxc07iycfj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.2.0-linux-arm64.tar.gz";
-        sha256 = "1sc8rf930cz6nkyhqn6p0h7450iqzdsrlw2smhp8yyjjvcjmsksf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.1.0-linux-arm64.tar.gz";
+        sha256 = "1hicy131pj6z4ni074f34qhvjyycjxl0024iir5021g1scm3hp7w";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.4.0-linux-arm64.tar.gz";
-        sha256 = "0bz4i7bga2vy4pki9k93f7q6zfcy9yg17xz0j4wfyqmlaanfz8r0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.3.1-linux-arm64.tar.gz";
+        sha256 = "0aqr1q113cydg9n0j9kjhl39cm7vwws2c1q2cqyp451w60q29cmp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.7.0-linux-arm64.tar.gz";
-        sha256 = "1vkfrgk6lk3v7fgs10ygaw3x3srp3mncr0wna1xdzf7s1gsz8m09";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.5.0-linux-arm64.tar.gz";
+        sha256 = "0ap4izb3507rw965qvww1nd2h9jz7ilav92fjdhhvf33g44r6r8y";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.3.2-linux-arm64.tar.gz";
-        sha256 = "1nyy1is8i9jx9ig1v01l5sbhp4xal1vklmfjnqhr8v8h5kjwkm4v";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.2.0-linux-arm64.tar.gz";
+        sha256 = "06xdcm0cg3sh92fvwy8l4c0k91fah7hdxjb6mjchas2wk4q32vhq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.1.0-linux-arm64.tar.gz";
-        sha256 = "1hicy131pj6z4ni074f34qhvjyycjxl0024iir5021g1scm3hp7w";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-linux-arm64.tar.gz";
+        sha256 = "1lh1g90ab4blqmvx0yfp516hfsd6n1y751ab7fzhv7hcajf3klvi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.0.0-linux-arm64.tar.gz";
-        sha256 = "1slrl020xl092hjfr92zjf8i2ys8vzr3nxqh65fhnl0fzfsllvn0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.7.0-linux-arm64.tar.gz";
+        sha256 = "0yzv0knff1rw89nj0jiivjnzshq3x1gh7q1ybbdgy5nlpc5ys5rf";
+      }
+      # pulumi-resource-packet skipped (does not exist on remote)
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.0.0-linux-arm64.tar.gz";
+        sha256 = "0mwpbvv62k8fg07447wwfigs4li4n78fswpzwi4alsjrkqlmw9dj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.3.0-linux-arm64.tar.gz";
-        sha256 = "1cpr53shxap4s25pw3xd9vnbwh4jbmp1x0qfqz46i9af0isa10i8";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.24.0-linux-arm64.tar.gz";
+        sha256 = "1b8fi56wkk753w6ip1nkrksyk8qd5ypdbaq668pk60l3jb0c9mad";
       }
-      # pulumi-resource-packet skipped (does not exist on remote)
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.2.0-linux-arm64.tar.gz";
-        sha256 = "0mddv37k87wiygh6x9bnxpcr721qbmbqf6l5zk3xl61n56j8qyb1";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.0.0-linux-arm64.tar.gz";
+        sha256 = "1slrl020xl092hjfr92zjf8i2ys8vzr3nxqh65fhnl0fzfsllvn0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.2.0-linux-arm64.tar.gz";
-        sha256 = "0y7wysd4j1dp73hrbydzj2bfvpgv8vxiza5m6dbg7nl66w9ng0rc";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-linux-arm64.tar.gz";
+        sha256 = "1l7zpvacq6kyzj8n82drs9gdfa16k4j945w8nsd0z33byrswxr3w";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.4.0-linux-arm64.tar.gz";
-        sha256 = "0fa295br09w7392mb62qw31ia2116dqs15f4r634zcachb0ad93g";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.5.1-linux-arm64.tar.gz";
+        sha256 = "0kxi3fm2463bq6n0bnf0sbf4zjhg0c86bxw52dlmc8kp2zqc6lr3";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.0.1-linux-arm64.tar.gz";
@@ -284,89 +296,93 @@
     ];
     aarch64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.12.0-darwin-arm64.tar.gz";
-        sha256 = "1sasxi57ga7gazjmni4sksyih5dw1qx0bhcmh5f5xyznsb9flk4v";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.14.0-darwin-arm64.tar.gz";
+        sha256 = "06qc42gb2w2qjy2mz5shh082607395jq0js34wlqq61jgjzpca5l";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-darwin-arm64.tar.gz";
-        sha256 = "1rmvc2kgjmb978sfmlga6xy4i0f629lk1l95i30wg0rmj1hx3dag";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.8.1-darwin-arm64.tar.gz";
+        sha256 = "1wqkm32lkwff5gwn7dbznzx5rcbcysj2mx4ip77whba59ikfchsj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.19.0-darwin-arm64.tar.gz";
-        sha256 = "0hw0x8bxj0rdkxchlsa30phkglgcln14xv2capx67vpdp9qg8iyi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.5.0-darwin-arm64.tar.gz";
+        sha256 = "18q0gizvn8jjyrvz6j2jv1xqca3pqdi5jk7qk44dyqwd8rq99a8i";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v3.5.0-darwin-arm64.tar.gz";
-        sha256 = "125mb2qmxb5cwnvqwckiaih9gq84azfb0qbrw2vmz338967sfz2c";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.2.0-darwin-arm64.tar.gz";
+        sha256 = "0fj1ai1kv8xgmsvfbmy5gsinxag70rx9a9gkifqgcpn3r9mj48ks";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.3.0-darwin-arm64.tar.gz";
-        sha256 = "0p7hmdax7bzn93mv6l79g3g38fh1axnryyq8sg3h16wj8gcc8kq5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.22.0-darwin-arm64.tar.gz";
+        sha256 = "09v28dgrs5a4w8qn4v4zwrn7n7cn2475a2jh9qz3g2ljaj0086fd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.1.0-darwin-arm64.tar.gz";
-        sha256 = "1aijk67byw9nwlsdvmw7fiks6ih6wlcbvqpmijchzn86qxikppcq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.4.0-darwin-arm64.tar.gz";
+        sha256 = "1iyc67r551bi1h20lfb2qp5b2ds8kf09gklbaz73k90hcrf0g9la";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.6.1-darwin-arm64.tar.gz";
-        sha256 = "1smg4r1aijl42hv28v2gjvbmlrhmcs5p4w4pzngv7wsgsm5y6lzm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.0.0-darwin-arm64.tar.gz";
+        sha256 = "0fsmmgq0hvzyrw6vrdf3pppxjcj94fxxp52dl73r4f5wjkays33c";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-darwin-arm64.tar.gz";
-        sha256 = "1z0gd0fagv55dl3ki340h0ljw7dqj8818w4072pc5xxy5id90gb0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.2.0-darwin-arm64.tar.gz";
+        sha256 = "1c3pchbnk6dsnxsl02ypq7s4mmkxdgxszdhql1klpx5js7i1lv8k";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v2.0.0-darwin-arm64.tar.gz";
-        sha256 = "1170s85p6d850czb0amzk06d3bcyzyp14p49sgqvpa099jyvs4mm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.24.1-darwin-arm64.tar.gz";
+        sha256 = "0fafl5zpnzkncvi52qw6f4898yia8p0whvr41m3g8cxcp6nyr0ij";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.18.0-darwin-arm64.tar.gz";
-        sha256 = "0hvsprzznj0incv60lhxxh4jsx67h7l49v65288ic0x0nsgibn4x";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-darwin-arm64.tar.gz";
+        sha256 = "0jrihnwfh5wvc95nipqv7ak77kq9xj0pk5hlapv9w2ls5pwykv0r";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.3.0-darwin-arm64.tar.gz";
-        sha256 = "0qjpay735gff28xdvippm11lh8gk2xsvh2mcil679ybgpk6kypw2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.3.0-darwin-arm64.tar.gz";
+        sha256 = "0p7hmdax7bzn93mv6l79g3g38fh1axnryyq8sg3h16wj8gcc8kq5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.2.0-darwin-arm64.tar.gz";
-        sha256 = "1c3pchbnk6dsnxsl02ypq7s4mmkxdgxszdhql1klpx5js7i1lv8k";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.1.0-darwin-arm64.tar.gz";
+        sha256 = "118kszs5y3ajh702dyy4wivwdima30s3spbr3cdm9g7aabqhl5l6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.4.0-darwin-arm64.tar.gz";
-        sha256 = "1fcxgbqw6fpn202hza4yyq370r9vbfy8pw220g7yihg8vy9wb1dk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.3.1-darwin-arm64.tar.gz";
+        sha256 = "0qkarpxgb3bpxn75pvxvvsphc9m71778ffyynl1nph5sz64p5wc2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.7.0-darwin-arm64.tar.gz";
-        sha256 = "0h35d4j6s22sxgf579b6f0v14qp49z5rqzcb30pi4grsk8zkqrrr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.5.0-darwin-arm64.tar.gz";
+        sha256 = "1y0wc1279ka05ng7wq6skmwyrmp1sb2sc64wiqx52napxvzjpv9r";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.3.2-darwin-arm64.tar.gz";
-        sha256 = "0sg73w6h94w0mj9q45av9k2sw251k2a7lnh52ndkbc2phqx3rshh";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.2.0-darwin-arm64.tar.gz";
+        sha256 = "0sg5c85dd0gvy9977igj1b06pdy2my62208fcfy11xf6bf1wqqvi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.1.0-darwin-arm64.tar.gz";
-        sha256 = "118kszs5y3ajh702dyy4wivwdima30s3spbr3cdm9g7aabqhl5l6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-darwin-arm64.tar.gz";
+        sha256 = "1z0gd0fagv55dl3ki340h0ljw7dqj8818w4072pc5xxy5id90gb0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.0.0-darwin-arm64.tar.gz";
-        sha256 = "10a2f5kdgk3jcd1441zbfcfnrl5zj6ks832jjmbyym33by7scvgc";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.7.0-darwin-arm64.tar.gz";
+        sha256 = "0nk3p9y0b0a8ig20mgpcddw2d58i3zp94kmz3wv0arkh8h8wl749";
       }
+      # pulumi-resource-packet skipped (does not exist on remote)
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.3.0-darwin-arm64.tar.gz";
-        sha256 = "17imdik9gb3bhqh71b82h12sx6rn13iann9dlbdxy3zj3g59k3ri";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.0.0-darwin-arm64.tar.gz";
+        sha256 = "1hzhlxbwji4p8apx4rnqllsgf1k11w49rplz0syzmzb2fxpkif75";
       }
-      # pulumi-resource-packet skipped (does not exist on remote)
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.2.0-darwin-arm64.tar.gz";
-        sha256 = "0fj1ai1kv8xgmsvfbmy5gsinxag70rx9a9gkifqgcpn3r9mj48ks";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.24.0-darwin-arm64.tar.gz";
+        sha256 = "0nh8305b6qlqr63xaacxs3v804dhrwdz179xlzdgzf9550zdqb39";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.0.0-darwin-arm64.tar.gz";
+        sha256 = "10a2f5kdgk3jcd1441zbfcfnrl5zj6ks832jjmbyym33by7scvgc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.2.0-darwin-arm64.tar.gz";
-        sha256 = "0waf4apw5bzn276s34yaxvm3xyk5333l3zcz2j52c56wkadzxvpg";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-darwin-arm64.tar.gz";
+        sha256 = "1rmvc2kgjmb978sfmlga6xy4i0f629lk1l95i30wg0rmj1hx3dag";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.4.0-darwin-arm64.tar.gz";
-        sha256 = "1ywy4zv96k5x85j0fw36q331p11ka1fpg9x18d9ijwl424c7669j";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.5.1-darwin-arm64.tar.gz";
+        sha256 = "0h9lj565slf1gvzkk8vlk285jgssi62kmayim8473fgbgp3yj6jr";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.0.1-darwin-arm64.tar.gz";
diff --git a/nixpkgs/pkgs/tools/admin/pulumi/update.sh b/nixpkgs/pkgs/tools/admin/pulumi/update.sh
index 756dce6b8eea..abc91c18ae3b 100755
--- a/nixpkgs/pkgs/tools/admin/pulumi/update.sh
+++ b/nixpkgs/pkgs/tools/admin/pulumi/update.sh
@@ -1,37 +1,54 @@
 #!/usr/bin/env bash
 # Bash 3 compatible for Darwin
 
+# For getting the latest version of plugins automatically
+API_URL="https://api.github.com/repos/pulumi"
+
 # Version of Pulumi from
 # https://www.pulumi.com/docs/get-started/install/versions/
-VERSION="3.12.0"
+VERSION="3.14.0"
 
-# Grab latest release ${VERSION} from
-# https://github.com/pulumi/pulumi-${NAME}/releases
-plugins=(
-    "auth0=2.2.0"
-    "aws=4.19.0"
-    "cloudflare=3.5.0"
-    "consul=3.3.0"
-    "datadog=4.1.0"
-    "digitalocean=4.6.1"
-    "docker=3.1.0"
-    "equinix-metal=2.0.0"
-    "gcp=5.18.0"
-    "github=4.3.0"
-    "gitlab=4.2.0"
-    "hcloud=1.4.0"
-    "kubernetes=3.7.0"
-    "linode=3.3.2"
-    "mailgun=3.1.0"
-    "mysql=3.0.0"
-    "openstack=3.3.0"
-    "packet=3.2.2"
-    "postgresql=3.2.0"
-    "random=4.2.0"
-    "vault=4.4.0"
-    "vsphere=4.0.1"
+# A hashmap containing a plugin's name and it's respective repository inside
+# Pulumi's Github organization
+
+declare -A pulumi_repos
+pulumi_repos=(
+    ["auth0"]="pulumi-auth0"
+    ["aws"]="pulumi-aws"
+    ["azure"]="pulumi-azure"
+    ["cloudflare"]="pulumi-cloudflare"
+    ["consul"]="pulumi-consul"
+    ["datadog"]="pulumi-datadog"
+    ["digitalocean"]="pulumi-digitalocean"
+    ["docker"]="pulumi-docker"
+    ["equinix-metal"]="pulumi-equinix-metal"
+    ["gcp"]="pulumi-gcp"
+    ["github"]="pulumi-github"
+    ["gitlab"]="pulumi-gitlab"
+    ["hcloud"]="pulumi-hcloud"
+    ["kubernetes"]="pulumi-kubernetes"
+    ["linode"]="pulumi-linode"
+    ["mailgun"]="pulumi-mailgun"
+    ["mysql"]="pulumi-mysql"
+    ["openstack"]="pulumi-openstack"
+    ["packet"]="pulumi-packet"
+    ["postgresql"]="pulumi-postgresql"
+    ["random"]="pulumi-random"
+    ["vault"]="pulumi-vault"
+    ["vsphere"]="pulumi-vsphere"
 )
 
+# Contains latest release ${VERSION} from
+# https://github.com/pulumi/pulumi-${NAME}/releases
+
+# Dynamically builds the plugin array, using the hashmap's key/values and the
+# API for getting the latest version.
+plugins=()
+for key in "${!pulumi_repos[@]}"; do
+    plugins+=("${key}=$(curl -s ${API_URL}/${pulumi_repos[${key}]}/releases/latest | jq -M -r .tag_name | sed 's/v//g')")
+    sleep 1
+done
+
 function genMainSrc() {
     local url="https://get.pulumi.com/releases/sdk/pulumi-v${VERSION}-${1}-${2}.tar.gz"
     local sha256
diff --git a/nixpkgs/pkgs/tools/archivers/cpio/default.nix b/nixpkgs/pkgs/tools/archivers/cpio/default.nix
index 5b57dc20e3bf..1ae8de975a5e 100644
--- a/nixpkgs/pkgs/tools/archivers/cpio/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/cpio/default.nix
@@ -22,6 +22,12 @@ stdenv.mkDerivation rec {
         "1qkrhi3lbxk6hflp6w3h4sgssc0wblv8r0qgxqzbjrm36pqwxiwh")
     (fp "3" "236684f6deb3178043fe72a8e2faca538fa2aae1"
         "0pidkbxalpj5yz4fr95x8h0rizgjij0xgvjgirfkjk460giawwg6")
+    (fetchpatch {
+      # upstream build fix against -fno-common compilers like >=gcc-10
+      name = "fno-common-fix.patch";
+      url = "https://git.savannah.gnu.org/cgit/cpio.git/patch/?id=641d3f489cf6238bb916368d4ba0d9325a235afb";
+      sha256 = "1ffawzxjw72kzpdwffi2y7pvibrmwf4jzrxdq9f4a75q6crl66iq";
+    })
   ];
 
   preConfigure = lib.optionalString stdenv.isCygwin ''
diff --git a/nixpkgs/pkgs/tools/archivers/fsarchiver/default.nix b/nixpkgs/pkgs/tools/archivers/fsarchiver/default.nix
index 80664a6a4499..646f93b77cba 100644
--- a/nixpkgs/pkgs/tools/archivers/fsarchiver/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/fsarchiver/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config
 , zlib, bzip2, lzo, lz4, zstd, xz
-, libgcrypt, e2fsprogs, util-linux, libgpgerror }:
+, libgcrypt, e2fsprogs, util-linux, libgpg-error }:
 
 let
   version = "0.8.6";
@@ -22,7 +22,7 @@ in stdenv.mkDerivation {
 
   buildInputs = [
     zlib bzip2 xz lzo lz4 zstd xz
-    libgcrypt e2fsprogs util-linux libgpgerror
+    libgcrypt e2fsprogs util-linux libgpg-error
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/archivers/p7zip/default.nix b/nixpkgs/pkgs/tools/archivers/p7zip/default.nix
index 96f9262427b0..7f892a44da5d 100644
--- a/nixpkgs/pkgs/tools/archivers/p7zip/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/p7zip/default.nix
@@ -14,6 +14,9 @@ stdenv.mkDerivation rec {
   # Default makefile is full of impurities on Darwin. The patch doesn't hurt Linux so I'm leaving it unconditional
   postPatch = ''
     sed -i '/CC=\/usr/d' makefile.macosx_llvm_64bits
+    # Avoid writing timestamps into compressed manpages
+    # to maintain determinism.
+    substituteInPlace install.sh --replace 'gzip' 'gzip -n'
     chmod +x install.sh
 
     # I think this is a typo and should be CXX? Either way let's kill it
diff --git a/nixpkgs/pkgs/tools/archivers/rar/default.nix b/nixpkgs/pkgs/tools/archivers/rar/default.nix
new file mode 100644
index 000000000000..a359beb21adf
--- /dev/null
+++ b/nixpkgs/pkgs/tools/archivers/rar/default.nix
@@ -0,0 +1,59 @@
+{ lib, stdenv, fetchurl, autoPatchelfHook, installShellFiles }:
+
+let
+  version = "6.0.2";
+  srcUrl = {
+    i686-linux = {
+      url = "https://www.rarlab.com/rar/rarlinux-${version}.tar.gz";
+      sha256 = "sha256-5iqk7eoo+hgltgscquob+wofzhuqz0m/8jf7bxdf9qa=";
+    };
+    x86_64-linux = {
+      url = "https://www.rarlab.com/rar/rarlinux-x64-${version}.tar.gz";
+      sha256 = "sha256-WAvrUGCgfwI51Mo/RYSSF0OLPPrTegUCuDEsnBeR9uQ=";
+    };
+    x86_64-darwin = {
+      url = "https://www.rarlab.com/rar/rarosx-${version}.tar.gz";
+      sha256 = "sha256-baZ71vYXIGs25f7PJ0ujoGUrsWZRmFLhvDI0KoVktsg=";
+    };
+  }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
+  manSrc = fetchurl {
+    url = "https://aur.archlinux.org/cgit/aur.git/plain/rar.1?h=rar&id=8e39a12e88d8a3b168c496c44c18d443c876dd10";
+    name = "rar.1";
+    sha256 = "sha256-93cSr9oAsi+xHUtMsUvICyHJe66vAImS2tLie7nt8Uw=";
+  };
+in
+stdenv.mkDerivation rec {
+  pname = "rar";
+  inherit version;
+
+  src = fetchurl srcUrl;
+
+  dontBuild = true;
+
+  buildInputs = [ stdenv.cc.cc.lib ];
+
+  nativeBuildInputs = [ autoPatchelfHook installShellFiles ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 {rar,unrar} -t "$out/bin"
+    install -Dm755 default.sfx -t "$out/lib"
+    install -Dm644 {acknow.txt,license.txt} -t "$out/share/doc/rar"
+    install -Dm644 rarfiles.lst -t "$out/etc"
+
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    installManPage ${manSrc}
+  '';
+
+  meta = with lib; {
+    description = "Utility for RAR archives";
+    homepage = "https://www.rarlab.com/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ thiagokokada ];
+    platforms = with platforms; linux ++ darwin;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/archivers/sharutils/default.nix b/nixpkgs/pkgs/tools/archivers/sharutils/default.nix
index ec0f096915f1..c504ed8f16e1 100644
--- a/nixpkgs/pkgs/tools/archivers/sharutils/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/sharutils/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, gettext, coreutils }:
+{ lib, stdenv, fetchurl, fetchpatch, gettext, coreutils }:
 
 stdenv.mkDerivation rec {
   pname = "sharutils";
@@ -30,6 +30,19 @@ stdenv.mkDerivation rec {
       url = "https://sources.debian.org/data/main/s/sharutils/1:4.15.2-4/debian/patches/02-fix-ftbfs-with-glibc-2.28.patch";
       sha256 = "15kpjqnfs98n6irmkh8pw7masr08xala7gx024agv7zv14722vkc";
     })
+
+    # pending upstream build fix against -fno-common compilers like >=gcc-10
+    # Taken from https://lists.gnu.org/archive/html/bug-gnu-utils/2020-01/msg00002.html
+    (fetchpatch {
+      name = "sharutils-4.15.2-Fix-building-with-GCC-10.patch";
+      url = "https://lists.gnu.org/archive/html/bug-gnu-utils/2020-01/txtDL8i6V6mUU.txt";
+      sha256 = "0kfch1vm45lg237hr6fdv4b2lh5b1933k0fn8yj91gqm58svskvl";
+    })
+    (fetchpatch {
+      name = "sharutils-4.15.2-Do-not-include-lib-md5.c-into-src-shar.c.patch";
+      url = "https://lists.gnu.org/archive/html/bug-gnu-utils/2020-01/txt5Z_KZup0yN.txt";
+      sha256 = "0an8vfy3qj6sss9w0i4j8ilf7g5mbc7y13l644jy5bcm9przcjbd";
+    })
   ];
 
   postPatch = let
diff --git a/nixpkgs/pkgs/tools/archivers/unrar/default.nix b/nixpkgs/pkgs/tools/archivers/unrar/default.nix
index b06242a98c04..25c8ce9b5586 100644
--- a/nixpkgs/pkgs/tools/archivers/unrar/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/unrar/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "unrar";
-  version = "5.9.2";
+  version = "6.0.7";
 
   src = fetchurl {
     url = "https://www.rarlab.com/rar/unrarsrc-${version}.tar.gz";
-    sha256 = "19nsxdvf9ll99hvgzq6f89ymxhwki224lygjdabrg8ghikqvmlvk";
+    sha256 = "sha256-pwKZQgBsvM7T87cyLsGXaD+Oe+QIlyyggJmxlsA49Rg=";
   };
 
   postPatch = ''
@@ -17,21 +17,27 @@ stdenv.mkDerivation rec {
   '';
 
   buildPhase = ''
+    # `make {unrar,lib}` call `make clean` implicitly
+    # move build results to another dir to avoid deleting them
+    mkdir -p bin
+
     make unrar
-    make clean
+    mv unrar bin
+
     make lib
+    mv libunrar.so bin
   '';
 
   outputs = [ "out" "dev" ];
 
   installPhase = ''
-    install -Dt "$out/bin" unrar
+    install -Dt "$out/bin" bin/unrar
 
     mkdir -p $out/share/doc/unrar
     cp acknow.txt license.txt \
         $out/share/doc/unrar
 
-    install -Dm755 libunrar.so $out/lib/libunrar.so
+    install -Dm755 bin/libunrar.so $out/lib/libunrar.so
 
     install -Dt $dev/include/unrar/ *.hpp
   '';
diff --git a/nixpkgs/pkgs/tools/archivers/xtrt/default.nix b/nixpkgs/pkgs/tools/archivers/xtrt/default.nix
index 175494057e0a..1d01935f9688 100644
--- a/nixpkgs/pkgs/tools/archivers/xtrt/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/xtrt/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/figsoda/xtrt";
     license = licenses.unlicense;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "xtrt";
   };
 }
diff --git a/nixpkgs/pkgs/tools/audio/botamusique/node-packages.nix b/nixpkgs/pkgs/tools/audio/botamusique/node-packages.nix
index c9bdb6f00971..89c7d8d98036 100644
--- a/nixpkgs/pkgs/tools/audio/botamusique/node-packages.nix
+++ b/nixpkgs/pkgs/tools/audio/botamusique/node-packages.nix
@@ -4527,7 +4527,7 @@ let
     name = "botamusique";
     packageName = "botamusique";
     version = "0.0.0";
-    src = ../../../../../../../../../tmp/tmp.UAoivnXH3n;
+    src = ../../../../../../../../../tmp/tmp.IOzfGq3zuo;
     dependencies = [
       sources."@babel/code-frame-7.10.4"
       sources."@babel/compat-data-7.12.7"
diff --git a/nixpkgs/pkgs/tools/audio/botamusique/src.json b/nixpkgs/pkgs/tools/audio/botamusique/src.json
index d1337f5ae68a..ab5c4819ecbe 100644
--- a/nixpkgs/pkgs/tools/audio/botamusique/src.json
+++ b/nixpkgs/pkgs/tools/audio/botamusique/src.json
@@ -1,9 +1,10 @@
 {
   "url": "https://github.com/azlux/botamusique",
-  "rev": "ba02cdebf2e175dc371995361eafcb88ad2c1b52",
-  "date": "2021-06-01T23:39:44+02:00",
-  "path": "/nix/store/dp5vnj7zqv1sp1ab5xycvvqdpia9xb71-botamusique",
-  "sha256": "01d51y6h38hs4ynjgz050ryy14sp5y2c3n7f80mcv0a4ls8413qp",
+  "rev": "3733353170e1d24b5f3ce2a21643c27ca2a39835",
+  "date": "2021-09-01T12:19:37+02:00",
+  "path": "/nix/store/07vl4lhi6dshh4n7pcyrxvy9m028rrbr-botamusique",
+  "sha256": "0cggan70zymbh9iwggq9a04zkky86k9cncprxb9nnr35gp4l4992",
+  "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/nixpkgs/pkgs/tools/audio/soco-cli/default.nix b/nixpkgs/pkgs/tools/audio/soco-cli/default.nix
new file mode 100644
index 000000000000..52614a8dc220
--- /dev/null
+++ b/nixpkgs/pkgs/tools/audio/soco-cli/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "soco-cli";
+  version = "0.4.21";
+  format = "setuptools";
+
+  disabled = python3.pythonOlder "3.6";
+
+  src = fetchFromGitHub rec {
+    owner = "avantrec";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1kz2zx59gjfs01jiyzmps8j6yca06yqn6wkidvdk4s3izdm0rarw";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    fastapi
+    rangehttpserver
+    soco
+    tabulate
+    uvicorn
+  ];
+
+  # Tests wants to communicate with hardware
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "soco_cli"
+  ];
+
+  meta = with lib; {
+    description = "Command-line interface to control Sonos sound systems";
+    homepage = "https://github.com/avantrec/soco-cli";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/backup/btrbk/default.nix b/nixpkgs/pkgs/tools/backup/btrbk/default.nix
index 12308b240450..69f745ecc1bd 100644
--- a/nixpkgs/pkgs/tools/backup/btrbk/default.nix
+++ b/nixpkgs/pkgs/tools/backup/btrbk/default.nix
@@ -1,13 +1,29 @@
-{ lib, stdenv, fetchurl, bash, btrfs-progs, openssh, perl, perlPackages
-, util-linux, asciidoc, asciidoctor, mbuffer, makeWrapper, nixosTests }:
+{ lib
+, stdenv
+, fetchurl
+, bash
+, btrfs-progs
+, openssh
+, perl
+, perlPackages
+, util-linux
+, asciidoc
+, asciidoctor
+, mbuffer
+, makeWrapper
+, genericUpdater
+, curl
+, writeShellScript
+, nixosTests
+}:
 
 stdenv.mkDerivation rec {
   pname = "btrbk";
-  version = "0.29.1";
+  version = "0.31.3";
 
   src = fetchurl {
     url = "https://digint.ch/download/btrbk/releases/${pname}-${version}.tar.xz";
-    sha256 = "153inyvvnl17hq1w3nsa783havznaykdam2yrj775bmi2wg6fvwn";
+    sha256 = "1lx7vnf386nsik8mxrrfyx1h7mkqk5zs26sy0s0lynfxcm4lkxb2";
   };
 
   nativeBuildInputs = [ asciidoc asciidoctor makeWrapper ];
@@ -22,7 +38,9 @@ stdenv.mkDerivation rec {
     done
 
     # Tainted Mode disables PERL5LIB
-    substituteInPlace btrbk --replace "perl -T" "perl"
+    substituteInPlace btrbk \
+      --replace "perl -T" "perl" \
+      --replace "\$0" "\$ENV{'program_name'}"
 
     # Fix SSH filter script
     sed -i '/^export PATH/d' ssh_filter_btrbk.sh
@@ -30,17 +48,26 @@ stdenv.mkDerivation rec {
   '';
 
   preFixup = ''
-    wrapProgram $out/sbin/btrbk \
+    wrapProgram $out/bin/btrbk \
       --set PERL5LIB $PERL5LIB \
+      --run 'export program_name=$0' \
       --prefix PATH ':' "${lib.makeBinPath [ btrfs-progs bash mbuffer openssh ]}"
   '';
 
   passthru.tests.btrbk = nixosTests.btrbk;
 
+  passthru.updateScript = genericUpdater {
+    inherit pname version;
+    versionLister = writeShellScript "btrbk-versionLister" ''
+      echo "# Versions for $1:" >> "$2"
+      ${curl}/bin/curl -s https://digint.ch/download/btrbk/releases/ | ${perl}/bin/perl -lne 'print $1 if /btrbk-([0-9.]*)\.tar/'
+    '';
+  };
+
   meta = with lib; {
     description = "A backup tool for btrfs subvolumes";
     homepage = "https://digint.ch/btrbk";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     platforms = platforms.unix;
     maintainers = with maintainers; [ asymmetric ];
   };
diff --git a/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix
index fe7b041b1533..38dfd55783de 100644
--- a/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix
+++ b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix
@@ -1,11 +1,12 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl, linkFarmFromDrvs, makeWrapper, autoPatchelfHook
-, dotnet-sdk_5, dotnetPackages, dotnetCorePackages, cacert
+{ lib
+, stdenv
+, buildDotnetModule
+, fetchFromGitHub
+, autoPatchelfHook
+, dotnetCorePackages
 }:
 
-let
-  projectFile = "DiscordChatExporter.Cli/DiscordChatExporter.Cli.csproj";
-in
-stdenv.mkDerivation rec {
+buildDotnetModule rec {
   pname = "discordchatexporter-cli";
   version = "2.30.1";
 
@@ -16,65 +17,12 @@ stdenv.mkDerivation rec {
     sha256 = "JSYIhd+DNVOKseHtWNNChECR5hKr+ntu1Yyqtnlg8rM=";
   };
 
-  nativeBuildInputs = [ dotnet-sdk_5 dotnetPackages.Nuget cacert makeWrapper autoPatchelfHook ];
-  buildInputs = [ stdenv.cc.cc.lib ];
-
-  nugetDeps = linkFarmFromDrvs "${pname}-nuget-deps" (import ./deps.nix {
-    fetchNuGet = { name, version, sha256 }: fetchurl {
-      name = "nuget-${name}-${version}.nupkg";
-      url = "https://www.nuget.org/api/v2/package/${name}/${version}";
-      inherit sha256;
-    };
-  });
-
-  configurePhase = ''
-    runHook preConfigure
-
-    export HOME=$(mktemp -d)
-    export DOTNET_CLI_TELEMETRY_OPTOUT=1
-    export DOTNET_NOLOGO=1
-
-    nuget sources Add -Name nixos -Source "$PWD/nixos"
-    nuget init "$nugetDeps" "$PWD/nixos"
-
-    # FIXME: https://github.com/NuGet/Home/issues/4413
-    mkdir -p $HOME/.nuget/NuGet
-    cp $HOME/.config/NuGet/NuGet.Config $HOME/.nuget/NuGet
-
-    dotnet restore --source "$PWD/nixos" ${projectFile}
-
-    runHook postConfigure
-  '';
-
-  buildPhase = ''
-    runHook preBuild
-
-    dotnet build ${projectFile} \
-      --no-restore \
-      --configuration Release \
-      -p:Version=${version}
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    dotnet publish ${projectFile} \
-      --no-build \
-      --configuration Release \
-      --no-self-contained \
-      --output $out/lib/${pname}
-    shopt -s extglob
-
-    makeWrapper $out/lib/${pname}/DiscordChatExporter.Cli $out/bin/discordchatexporter-cli \
-      --set DOTNET_ROOT "${dotnetCorePackages.sdk_3_1}"
-
-    runHook postInstall
-  '';
+  projectFile = "DiscordChatExporter.Cli/DiscordChatExporter.Cli.csproj";
+  dotnet-runtime = dotnetCorePackages.runtime_3_1;
+  nugetDeps = ./deps.nix;
 
-  # Strip breaks the executable.
-  dontStrip = true;
+  nativeBuildInputs = [ autoPatchelfHook ];
+  buildInputs = [ stdenv.cc.cc.lib ];
 
   meta = with lib; {
     description = "A tool to export Discord chat logs to a file";
diff --git a/nixpkgs/pkgs/tools/backup/duplicity/default.nix b/nixpkgs/pkgs/tools/backup/duplicity/default.nix
index bd8af80193f6..cbbd86e01675 100644
--- a/nixpkgs/pkgs/tools/backup/duplicity/default.nix
+++ b/nixpkgs/pkgs/tools/backup/duplicity/default.nix
@@ -140,7 +140,6 @@ pythonPackages.buildPythonApplication rec {
     description = "Encrypted bandwidth-efficient backup using the rsync algorithm";
     homepage = "https://www.nongnu.org/duplicity";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ peti ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/backup/kopia/default.nix b/nixpkgs/pkgs/tools/backup/kopia/default.nix
index ad113ed615ef..ee9739bfac28 100644
--- a/nixpkgs/pkgs/tools/backup/kopia/default.nix
+++ b/nixpkgs/pkgs/tools/backup/kopia/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kopia";
-  version = "0.8.4";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Or6RL6yT/X3rVIySqt5lWbXbI25f8HNLBpY3cOhMC0g=";
+    sha256 = "sha256-C1KLwl+hwyoRUK4GrDhj1Wwx4Fut+QuhgTFagyQeldc=";
   };
 
-  vendorSha256 = "sha256-1FK5IIvm2iyzGqj8IPL3/qvxFj0dC37aycQQ5MO0mBI=";
+  vendorSha256 = "sha256-v81YkImg8GdI5locfsU4dg2JyO7XB24mfHRIZ+k8QBA=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/backup/percona-xtrabackup/generic.nix b/nixpkgs/pkgs/tools/backup/percona-xtrabackup/generic.nix
index 6d66c80585f2..7976b666bcdf 100644
--- a/nixpkgs/pkgs/tools/backup/percona-xtrabackup/generic.nix
+++ b/nixpkgs/pkgs/tools/backup/percona-xtrabackup/generic.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, bison, boost, cmake, makeWrapper, pkg-config
-, curl, cyrus_sasl, libaio, libedit, libev, libevent, libgcrypt, libgpgerror, lz4
+, curl, cyrus_sasl, libaio, libedit, libev, libevent, libgcrypt, libgpg-error, lz4
 , ncurses, numactl, openssl, protobuf, valgrind, xxd, zlib
 , perlPackages
 , version, sha256, extraPatches ? [], extraPostInstall ? "", ...
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ bison boost cmake makeWrapper pkg-config ];
 
   buildInputs = [
-    curl cyrus_sasl libaio libedit libev libevent libgcrypt libgpgerror lz4
+    curl cyrus_sasl libaio libedit libev libevent libgcrypt libgpg-error lz4
     ncurses numactl openssl protobuf valgrind xxd zlib
   ] ++ (with perlPackages; [ perl DBI DBDmysql ]);
 
diff --git a/nixpkgs/pkgs/tools/compression/crabz/default.nix b/nixpkgs/pkgs/tools/compression/crabz/default.nix
new file mode 100644
index 000000000000..ab5cc94b43a1
--- /dev/null
+++ b/nixpkgs/pkgs/tools/compression/crabz/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, cmake
+, stdenv
+, libiconv
+, CoreFoundation
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "crabz";
+  version = "0.7.2";
+
+  src = fetchFromGitHub {
+    owner = "sstadick";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0ch9cqarsakihg9ymbdm0ka6wz77z84n4g6cdlcskczc5g3b9gp9";
+  };
+
+  cargoSha256 = "sha256-nrCYlhq/f8gk3NmltAg+xppRJ533ooEpetWvaF2vmP0=";
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    libiconv
+    CoreFoundation
+    Security
+  ];
+
+  meta = with lib; {
+    description = "A cross platform, fast, compression and decompression tool";
+    homepage = "https://github.com/sstadick/crabz";
+    changelog = "https://github.com/sstadick/crabz/blob/v${version}/CHANGELOG.md";
+    license = with licenses; [ unlicense /* or */ mit ];
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/compression/hactool/default.nix b/nixpkgs/pkgs/tools/compression/hactool/default.nix
index c6e0a3a2851b..2e6e7437fff2 100644
--- a/nixpkgs/pkgs/tools/compression/hactool/default.nix
+++ b/nixpkgs/pkgs/tools/compression/hactool/default.nix
@@ -11,11 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "0305ngsnwm8npzgyhyifasi4l802xnfz19r0kbzzniirmcn4082d";
   };
 
+  patches = [ ./musl-compat.patch ];
+
   preBuild = ''
     mv config.mk.template config.mk
   '';
 
   makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
+  enableParallelBuilding = true;
 
   installPhase = ''
     install -D hactool $out/bin/hactool
diff --git a/nixpkgs/pkgs/tools/compression/hactool/musl-compat.patch b/nixpkgs/pkgs/tools/compression/hactool/musl-compat.patch
new file mode 100644
index 000000000000..37d596f183fb
--- /dev/null
+++ b/nixpkgs/pkgs/tools/compression/hactool/musl-compat.patch
@@ -0,0 +1,13 @@
+diff --git a/main.c b/main.c
+index 07f53cb..f2265df 100644
+--- a/main.c
++++ b/main.c
+@@ -369,7 +369,7 @@ int main(int argc, char **argv) {
+                     return EXIT_FAILURE;
+                 }
+                 nca_ctx.tool_ctx->base_file_type = BASEFILE_FAKE;
+-                nca_ctx.tool_ctx->base_file++; /* Guarantees base_file != NULL. I'm so sorry. */
++                if (!nca_ctx.tool_ctx->base_file) nca_ctx.tool_ctx->base_file = (FILE*) 1;
+                 break;
+             case 32:
+                 tool_ctx.action |= ACTION_ONLYUPDATEDROMFS;
diff --git a/nixpkgs/pkgs/tools/compression/ncompress/builder.sh b/nixpkgs/pkgs/tools/compression/ncompress/builder.sh
deleted file mode 100644
index 7a3f34aae469..000000000000
--- a/nixpkgs/pkgs/tools/compression/ncompress/builder.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-source $stdenv/setup
-installFlags="PREFIX=$out"
-
-preBuild() {
-    cp Makefile.def Makefile
-    sed -i GNUmakefile -e 's/compress %/%/g'
-}
-
-postInstall() {
-    rm $out/bin/uncompress* $out/bin/zcat*
-    ln -s compress $out/bin/uncompress
-    ln -s compress $out/bin/zcat
-}
-
-genericBuild
diff --git a/nixpkgs/pkgs/tools/compression/ncompress/default.nix b/nixpkgs/pkgs/tools/compression/ncompress/default.nix
index f580709495ed..c4678cd96021 100644
--- a/nixpkgs/pkgs/tools/compression/ncompress/default.nix
+++ b/nixpkgs/pkgs/tools/compression/ncompress/default.nix
@@ -1,20 +1,27 @@
-{lib, stdenv, fetchurl}:
+{ lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   pname = "ncompress";
   version = "5.0";
 
-  builder = ./builder.sh;
-
-  src = fetchurl {
-    url = "mirror://sourceforge/project/ncompress/${pname}-${version}.tar.gz";
-    sha256 = "004r086c11sw9vg2j3srgxpz98w8pycjl33bk3pgqnd0s92igrn4";
+  src = fetchFromGitHub {
+    owner = "vapier";
+    repo = "ncompress";
+    rev = "v${version}";
+    sha256 = "sha256-Yhs3C5/kR7Ve56E84usYJprxIMAIwXVahLi1N9TIfj0=";
   };
 
-  meta = {
+  makeFlags = [ "PREFIX=$(out)" ];
+  installTargets = "install_core";
+
+  postInstall = ''
+    mv $out/bin/uncompress $out/bin/uncompress-ncompress
+  '';
+
+  meta = with lib; {
     homepage = "http://ncompress.sourceforge.net/";
-    license = lib.licenses.publicDomain;
+    license = licenses.publicDomain;
     description = "A fast, simple LZW file compressor";
-    platforms = lib.platforms.unix;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/compression/ouch/add-Cargo.lock.patch b/nixpkgs/pkgs/tools/compression/ouch/add-Cargo.lock.patch
deleted file mode 100644
index 368ce6aab0b2..000000000000
--- a/nixpkgs/pkgs/tools/compression/ouch/add-Cargo.lock.patch
+++ /dev/null
@@ -1,434 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-new file mode 100644
-index 0000000..4bea8c1
---- /dev/null
-+++ b/Cargo.lock
-@@ -0,0 +1,428 @@
-+# This file is automatically @generated by Cargo.
-+# It is not intended for manual editing.
-+[[package]]
-+name = "adler"
-+version = "1.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-+
-+[[package]]
-+name = "autocfg"
-+version = "1.0.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
-+
-+[[package]]
-+name = "bitflags"
-+version = "1.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-+
-+[[package]]
-+name = "byteorder"
-+version = "1.4.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-+
-+[[package]]
-+name = "bzip2"
-+version = "0.4.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0"
-+dependencies = [
-+ "bzip2-sys",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "bzip2-sys"
-+version = "0.1.11+1.0.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc"
-+dependencies = [
-+ "cc",
-+ "libc",
-+ "pkg-config",
-+]
-+
-+[[package]]
-+name = "cc"
-+version = "1.0.69"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2"
-+
-+[[package]]
-+name = "cfg-if"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-+
-+[[package]]
-+name = "crc32fast"
-+version = "1.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a"
-+dependencies = [
-+ "cfg-if",
-+]
-+
-+[[package]]
-+name = "filetime"
-+version = "0.2.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1d34cfa13a63ae058bfa601fe9e313bbdb3746427c1459185464ce0fcf62e1e8"
-+dependencies = [
-+ "cfg-if",
-+ "libc",
-+ "redox_syscall",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "flate2"
-+version = "1.0.20"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0"
-+dependencies = [
-+ "cfg-if",
-+ "crc32fast",
-+ "libc",
-+ "miniz_oxide",
-+]
-+
-+[[package]]
-+name = "fuchsia-cprng"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-+
-+[[package]]
-+name = "getrandom"
-+version = "0.2.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
-+dependencies = [
-+ "cfg-if",
-+ "libc",
-+ "wasi",
-+]
-+
-+[[package]]
-+name = "libc"
-+version = "0.2.98"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790"
-+
-+[[package]]
-+name = "lzma-sys"
-+version = "0.1.17"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bdb4b7c3eddad11d3af9e86c487607d2d2442d185d848575365c4856ba96d619"
-+dependencies = [
-+ "cc",
-+ "libc",
-+ "pkg-config",
-+]
-+
-+[[package]]
-+name = "miniz_oxide"
-+version = "0.4.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b"
-+dependencies = [
-+ "adler",
-+ "autocfg",
-+]
-+
-+[[package]]
-+name = "ouch"
-+version = "0.1.5"
-+dependencies = [
-+ "bzip2",
-+ "flate2",
-+ "rand 0.8.4",
-+ "strsim",
-+ "tar",
-+ "tempdir",
-+ "walkdir",
-+ "xz2",
-+ "zip",
-+]
-+
-+[[package]]
-+name = "pkg-config"
-+version = "0.3.19"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c"
-+
-+[[package]]
-+name = "ppv-lite86"
-+version = "0.2.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
-+
-+[[package]]
-+name = "proc-macro2"
-+version = "1.0.28"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612"
-+dependencies = [
-+ "unicode-xid",
-+]
-+
-+[[package]]
-+name = "quote"
-+version = "1.0.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
-+dependencies = [
-+ "proc-macro2",
-+]
-+
-+[[package]]
-+name = "rand"
-+version = "0.4.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
-+dependencies = [
-+ "fuchsia-cprng",
-+ "libc",
-+ "rand_core 0.3.1",
-+ "rdrand",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "rand"
-+version = "0.8.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
-+dependencies = [
-+ "libc",
-+ "rand_chacha",
-+ "rand_core 0.6.3",
-+]
-+
-+[[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 0.6.3",
-+]
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-+dependencies = [
-+ "rand_core 0.4.2",
-+]
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.4.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.6.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
-+dependencies = [
-+ "getrandom",
-+]
-+
-+[[package]]
-+name = "rdrand"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-+dependencies = [
-+ "rand_core 0.3.1",
-+]
-+
-+[[package]]
-+name = "redox_syscall"
-+version = "0.2.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee"
-+dependencies = [
-+ "bitflags",
-+]
-+
-+[[package]]
-+name = "remove_dir_all"
-+version = "0.5.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
-+dependencies = [
-+ "winapi",
-+]
-+
-+[[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 = "strsim"
-+version = "0.10.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
-+
-+[[package]]
-+name = "syn"
-+version = "1.0.74"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1873d832550d4588c3dbc20f01361ab00bfe741048f71e3fecf145a7cc18b29c"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "unicode-xid",
-+]
-+
-+[[package]]
-+name = "tar"
-+version = "0.4.35"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7d779dc6aeff029314570f666ec83f19df7280bb36ef338442cfa8c604021b80"
-+dependencies = [
-+ "filetime",
-+ "libc",
-+ "xattr",
-+]
-+
-+[[package]]
-+name = "tempdir"
-+version = "0.3.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
-+dependencies = [
-+ "rand 0.4.6",
-+ "remove_dir_all",
-+]
-+
-+[[package]]
-+name = "thiserror"
-+version = "1.0.26"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2"
-+dependencies = [
-+ "thiserror-impl",
-+]
-+
-+[[package]]
-+name = "thiserror-impl"
-+version = "1.0.26"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "time"
-+version = "0.1.43"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438"
-+dependencies = [
-+ "libc",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "unicode-xid"
-+version = "0.2.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
-+
-+[[package]]
-+name = "walkdir"
-+version = "2.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
-+dependencies = [
-+ "same-file",
-+ "winapi",
-+ "winapi-util",
-+]
-+
-+[[package]]
-+name = "wasi"
-+version = "0.10.2+wasi-snapshot-preview1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
-+
-+[[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 = "xattr"
-+version = "0.2.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c"
-+dependencies = [
-+ "libc",
-+]
-+
-+[[package]]
-+name = "xz2"
-+version = "0.1.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c179869f34fc7c01830d3ce7ea2086bc3a07e0d35289b667d0a8bf910258926c"
-+dependencies = [
-+ "lzma-sys",
-+]
-+
-+[[package]]
-+name = "zip"
-+version = "0.5.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815"
-+dependencies = [
-+ "byteorder",
-+ "bzip2",
-+ "crc32fast",
-+ "flate2",
-+ "thiserror",
-+ "time",
-+]
diff --git a/nixpkgs/pkgs/tools/compression/ouch/default.nix b/nixpkgs/pkgs/tools/compression/ouch/default.nix
index c46e83ab91b2..c451b40fcf5c 100644
--- a/nixpkgs/pkgs/tools/compression/ouch/default.nix
+++ b/nixpkgs/pkgs/tools/compression/ouch/default.nix
@@ -2,26 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ouch";
-  version = "0.1.5";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
-    owner = "vrmiguel";
+    owner = "ouch-org";
     repo = pname;
     rev = version;
-    sha256 = "00ah8hgrppa61jhwb74zl5b509q0yp2pp27w9frm814iqx70qn38";
+    sha256 = "sha256-OhEr/HvwgDkB8h3cpayOlnrs6OXiwAsQUH9XGqi5rpc=";
   };
 
-  cargoPatches = [
-    # a patch file to add Cargo.lock in the source code
-    # https://github.com/vrmiguel/ouch/pull/46
-    ./add-Cargo.lock.patch
-  ];
-
-  cargoSha256 = "181aq8r78g4bl1ndlwl54ws5ccrwph0mmk9506djxvfdy3hndxkg";
+  cargoSha256 = "sha256-lKsB75Lb9IYS80qu4jaIpnbEOr4Ow9M5S45Kk03An2o=";
 
   meta = with lib; {
-    description = "Taking the pain away from file (de)compression";
-    homepage = "https://github.com/vrmiguel/ouch";
+    description = "A command-line utility for easily compressing and decompressing files and directories";
+    homepage = "https://github.com/ouch-org/ouch";
     license = licenses.mit;
     maintainers = [ maintainers.psibi ];
   };
diff --git a/nixpkgs/pkgs/tools/filesystems/apfsprogs/default.nix b/nixpkgs/pkgs/tools/filesystems/apfsprogs/default.nix
index b50eaf39636e..04e7cd89ae4b 100644
--- a/nixpkgs/pkgs/tools/filesystems/apfsprogs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/apfsprogs/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation {
   pname = "apfsprogs";
-  version = "unstable-2021-05-07";
+  version = "unstable-2021-08-24";
 
   src = fetchFromGitHub {
     owner = "linux-apfs";
     repo = "apfsprogs";
-    rev = "d360211a30608a907e3ee8ad4468d606c40ec2d7";
-    sha256 = "sha256-SeFs/GQfIEvnxERyww+mnynjR7E02DdtBA6JsknEM+Q=";
+    rev = "5efac5a701bcb56e23cfc182b5b3901bff27d343";
+    sha256 = "sha256-vQE586HwrPkF0uaTKrJ7yXb24ntRI0QmBla7N2ErAU8=";
   };
 
   buildPhase = ''
diff --git a/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix b/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
index be7a42e19e9d..bdb7e55b5cf5 100644
--- a/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -22,20 +22,21 @@
 
 stdenv.mkDerivation {
   pname = "bcachefs-tools";
-  version = "unstable-2021-07-08";
+  version = "unstable-2021-10-01";
 
   src = fetchFromGitHub {
     owner = "koverstreet";
     repo = "bcachefs-tools";
-    rev = "050d5f7bcf08bd02f5077a1c5559f352fa449e1e";
-    sha256 = "15bl9ni0ckmvs5d7hi6v26z690rrmkb7dx00skn6gwq87ffz3imw";
+    rev = "37850436dd7dfbe67738749c4d4a2506ffff1ec3";
+    sha256 = "040vgxrimahmfs9rhlggfwg0bzl7h9j2ksx3563rh63asjwlhnhi";
   };
 
   postPatch = ''
     substituteInPlace Makefile \
       --replace "pytest-3" "pytest --verbose" \
       --replace "INITRAMFS_DIR=/etc/initramfs-tools" \
-                "INITRAMFS_DIR=${placeholder "out"}/etc/initramfs-tools"
+                "INITRAMFS_DIR=${placeholder "out"}/etc/initramfs-tools" \
+      --replace "doc/macro2rst.py" "python3 doc/macro2rst.py"
   '';
 
   nativeBuildInputs = [ pkg-config docutils ];
diff --git a/nixpkgs/pkgs/tools/filesystems/catcli/default.nix b/nixpkgs/pkgs/tools/filesystems/catcli/default.nix
index b945198e01aa..7bd6265851c4 100644
--- a/nixpkgs/pkgs/tools/filesystems/catcli/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/catcli/default.nix
@@ -7,13 +7,13 @@
 buildPythonApplication rec {
 
   pname = "catcli";
-  version = "0.7.2";
+  version = "0.7.4";
 
   src = fetchFromGitHub {
     owner = "deadc0de6";
     repo = pname;
     rev = "v${version}";
-    sha256 = "12928pvwd6jr4x81nxi5691axianm4vz5gql1jazlij0ahc2f905";
+    sha256 = "1mzhfcf67dc5m0i9b216m58qg36g63if6273ch5bsckd0yrwdk8x";
   };
 
   propagatedBuildInputs = [ docopt anytree ];
diff --git a/nixpkgs/pkgs/tools/filesystems/ceph/default.nix b/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
index 426aff81f069..0f28ad144169 100644
--- a/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
@@ -146,10 +146,10 @@ let
   ]);
   sitePackages = ceph-python-env.python.sitePackages;
 
-  version = "16.2.5";
+  version = "16.2.6";
   src = fetchurl {
     url = "http://download.ceph.com/tarballs/ceph-${version}.tar.gz";
-    sha256 = "sha256-uCBpFvp5k+A5SgwxoJVkuGb9E69paKrs3qda5RpsRt4=";
+    sha256 = "sha256-TXGyZnyVTYAf7G7BcTv3dAfK/54JfOKObcyTRhCrnYA=";
   };
 in rec {
   ceph = stdenv.mkDerivation {
diff --git a/nixpkgs/pkgs/tools/filesystems/gocryptfs/default.nix b/nixpkgs/pkgs/tools/filesystems/gocryptfs/default.nix
index 8cb9d58bc4ea..2211d0e3103e 100644
--- a/nixpkgs/pkgs/tools/filesystems/gocryptfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/gocryptfs/default.nix
@@ -51,9 +51,11 @@ buildGoModule rec {
     popd
   '';
 
+  # use --suffix here to ensure we don't shadow /run/wrappers/bin/fusermount,
+  # as the setuid wrapper is required to use gocryptfs as non-root on NixOS
   postInstall = ''
     wrapProgram $out/bin/gocryptfs \
-      --prefix PATH : ${lib.makeBinPath [ fuse ]}
+      --suffix PATH : ${lib.makeBinPath [ fuse ]}
     ln -s $out/bin/gocryptfs $out/bin/mount.fuse.gocryptfs
   '';
 
diff --git a/nixpkgs/pkgs/tools/filesystems/lfs/default.nix b/nixpkgs/pkgs/tools/filesystems/lfs/default.nix
new file mode 100644
index 000000000000..d1988183bf19
--- /dev/null
+++ b/nixpkgs/pkgs/tools/filesystems/lfs/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "lfs";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "Canop";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "gez5q1niIhzWJpsEkbVRuQFILo3tTO8aJq7ewZArJ5M=";
+  };
+
+  cargoSha256 = "2U1xDG4bTimtmjwZ1z9ErlaOcBNJdRcHlEWVaiGg01M=";
+
+  meta = with lib; {
+    description = "Get information on your mounted disks";
+    homepage = "https://github.com/Canop/lfs";
+    license = licenses.mit;
+    maintainers = with maintainers; [ koral ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/filesystems/sandboxfs/Cargo.lock.patch b/nixpkgs/pkgs/tools/filesystems/sandboxfs/Cargo.lock.patch
deleted file mode 100644
index fbc4c80872cf..000000000000
--- a/nixpkgs/pkgs/tools/filesystems/sandboxfs/Cargo.lock.patch
+++ /dev/null
@@ -1,640 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-new file mode 100644
-index 0000000..5e16611
---- /dev/null
-+++ b/Cargo.lock
-@@ -0,0 +1,634 @@
-+# This file is automatically @generated by Cargo.
-+# It is not intended for manual editing.
-+[[package]]
-+name = "addr2line"
-+version = "0.13.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1b6a2d3371669ab3ca9797670853d61402b03d0b4b9ebf33d677dfa720203072"
-+dependencies = [
-+ "gimli",
-+]
-+
-+[[package]]
-+name = "adler"
-+version = "0.2.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e"
-+
-+[[package]]
-+name = "aho-corasick"
-+version = "0.7.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "043164d8ba5c4c3035fec9bbee8647c0261d788f3474306f93bb65901cae0e86"
-+dependencies = [
-+ "memchr",
-+]
-+
-+[[package]]
-+name = "arc-swap"
-+version = "0.4.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4d25d88fd6b8041580a654f9d0c581a047baee2b3efee13275f2fc392fc75034"
-+
-+[[package]]
-+name = "atty"
-+version = "0.2.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-+dependencies = [
-+ "hermit-abi",
-+ "libc",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "autocfg"
-+version = "1.0.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
-+
-+[[package]]
-+name = "backtrace"
-+version = "0.3.51"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ec1931848a574faa8f7c71a12ea00453ff5effbb5f51afe7f77d7a48cace6ac1"
-+dependencies = [
-+ "addr2line",
-+ "cfg-if",
-+ "libc",
-+ "miniz_oxide",
-+ "object",
-+ "rustc-demangle",
-+]
-+
-+[[package]]
-+name = "bitflags"
-+version = "1.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-+
-+[[package]]
-+name = "cc"
-+version = "1.0.60"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ef611cc68ff783f18535d77ddd080185275713d852c4f5cbb6122c462a7a825c"
-+
-+[[package]]
-+name = "cfg-if"
-+version = "0.1.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-+
-+[[package]]
-+name = "cpuprofiler"
-+version = "0.0.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "43f8479dbcfd2bbaa0c0c26779b913052b375981cdf533091f2127ea3d42e52b"
-+dependencies = [
-+ "error-chain",
-+ "lazy_static",
-+ "pkg-config",
-+]
-+
-+[[package]]
-+name = "env_logger"
-+version = "0.5.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "15b0a4d2e39f8420210be8b27eeda28029729e2fd4291019455016c348240c38"
-+dependencies = [
-+ "atty",
-+ "humantime",
-+ "log 0.4.11",
-+ "regex",
-+ "termcolor",
-+]
-+
-+[[package]]
-+name = "error-chain"
-+version = "0.12.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc"
-+dependencies = [
-+ "backtrace",
-+ "version_check",
-+]
-+
-+[[package]]
-+name = "failure"
-+version = "0.1.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86"
-+dependencies = [
-+ "backtrace",
-+ "failure_derive",
-+]
-+
-+[[package]]
-+name = "failure_derive"
-+version = "0.1.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+ "synstructure",
-+]
-+
-+[[package]]
-+name = "fuse"
-+version = "0.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "80e57070510966bfef93662a81cb8aa2b1c7db0964354fa9921434f04b9e8660"
-+dependencies = [
-+ "libc",
-+ "log 0.3.9",
-+ "pkg-config",
-+ "thread-scoped",
-+ "time",
-+]
-+
-+[[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.1.15"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fc587bc0ec293155d5bfa6b9891ec18a1e330c234f896ea47fbada4cadbe47e6"
-+dependencies = [
-+ "cfg-if",
-+ "libc",
-+ "wasi 0.9.0+wasi-snapshot-preview1",
-+]
-+
-+[[package]]
-+name = "gimli"
-+version = "0.22.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "aaf91faf136cb47367fa430cd46e37a788775e7fa104f8b4bcb3861dc389b724"
-+
-+[[package]]
-+name = "hermit-abi"
-+version = "0.1.16"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4c30f6d0bc6b00693347368a67d41b58f2fb851215ff1da49e90fe2c5c667151"
-+dependencies = [
-+ "libc",
-+]
-+
-+[[package]]
-+name = "humantime"
-+version = "1.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
-+dependencies = [
-+ "quick-error",
-+]
-+
-+[[package]]
-+name = "itoa"
-+version = "0.4.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6"
-+
-+[[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.78"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "aa7087f49d294270db4e1928fc110c976cd4b9e5a16348e0a1df09afa99e6c98"
-+
-+[[package]]
-+name = "log"
-+version = "0.3.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
-+dependencies = [
-+ "log 0.4.11",
-+]
-+
-+[[package]]
-+name = "log"
-+version = "0.4.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"
-+dependencies = [
-+ "cfg-if",
-+]
-+
-+[[package]]
-+name = "memchr"
-+version = "2.3.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400"
-+
-+[[package]]
-+name = "miniz_oxide"
-+version = "0.4.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c60c0dfe32c10b43a144bad8fc83538c52f58302c92300ea7ec7bf7b38d5a7b9"
-+dependencies = [
-+ "adler",
-+ "autocfg",
-+]
-+
-+[[package]]
-+name = "nix"
-+version = "0.12.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "319fffb13b63c0f4ff5a4e1c97566e7e741561ff5d03bf8bbf11653454bbd70b"
-+dependencies = [
-+ "bitflags",
-+ "cc",
-+ "cfg-if",
-+ "libc",
-+ "void",
-+]
-+
-+[[package]]
-+name = "num_cpus"
-+version = "1.13.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
-+dependencies = [
-+ "hermit-abi",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "object"
-+version = "0.20.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1ab52be62400ca80aa00285d25253d7f7c437b7375c4de678f5405d3afe82ca5"
-+
-+[[package]]
-+name = "pkg-config"
-+version = "0.3.18"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d36492546b6af1463394d46f0c834346f31548646f6ba10849802c9c9a27ac33"
-+
-+[[package]]
-+name = "ppv-lite86"
-+version = "0.2.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c36fa947111f5c62a733b652544dd0016a43ce89619538a8ef92724a6f501a20"
-+
-+[[package]]
-+name = "proc-macro2"
-+version = "1.0.24"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
-+dependencies = [
-+ "unicode-xid",
-+]
-+
-+[[package]]
-+name = "quick-error"
-+version = "1.2.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
-+
-+[[package]]
-+name = "quote"
-+version = "1.0.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
-+dependencies = [
-+ "proc-macro2",
-+]
-+
-+[[package]]
-+name = "rand"
-+version = "0.7.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-+dependencies = [
-+ "getrandom",
-+ "libc",
-+ "rand_chacha",
-+ "rand_core",
-+ "rand_hc",
-+]
-+
-+[[package]]
-+name = "rand_chacha"
-+version = "0.2.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-+dependencies = [
-+ "ppv-lite86",
-+ "rand_core",
-+]
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.5.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-+dependencies = [
-+ "getrandom",
-+]
-+
-+[[package]]
-+name = "rand_hc"
-+version = "0.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-+dependencies = [
-+ "rand_core",
-+]
-+
-+[[package]]
-+name = "redox_syscall"
-+version = "0.1.57"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
-+
-+[[package]]
-+name = "regex"
-+version = "1.3.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6"
-+dependencies = [
-+ "aho-corasick",
-+ "memchr",
-+ "regex-syntax",
-+ "thread_local",
-+]
-+
-+[[package]]
-+name = "regex-syntax"
-+version = "0.6.18"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8"
-+
-+[[package]]
-+name = "remove_dir_all"
-+version = "0.5.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
-+dependencies = [
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "rustc-demangle"
-+version = "0.1.16"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
-+
-+[[package]]
-+name = "ryu"
-+version = "1.0.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
-+
-+[[package]]
-+name = "sandboxfs"
-+version = "0.2.0"
-+dependencies = [
-+ "cpuprofiler",
-+ "env_logger",
-+ "failure",
-+ "fuse",
-+ "getopts",
-+ "log 0.4.11",
-+ "nix",
-+ "num_cpus",
-+ "pkg-config",
-+ "serde",
-+ "serde_derive",
-+ "serde_json",
-+ "signal-hook",
-+ "tempfile",
-+ "threadpool",
-+ "time",
-+ "users",
-+ "xattr",
-+]
-+
-+[[package]]
-+name = "serde"
-+version = "1.0.116"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "96fe57af81d28386a513cbc6858332abc6117cfdb5999647c6444b8f43a370a5"
-+
-+[[package]]
-+name = "serde_derive"
-+version = "1.0.116"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f630a6370fd8e457873b4bd2ffdae75408bc291ba72be773772a4c2a065d9ae8"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "serde_json"
-+version = "1.0.58"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a230ea9107ca2220eea9d46de97eddcb04cd00e92d13dda78e478dd33fa82bd4"
-+dependencies = [
-+ "itoa",
-+ "ryu",
-+ "serde",
-+]
-+
-+[[package]]
-+name = "signal-hook"
-+version = "0.1.16"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "604508c1418b99dfe1925ca9224829bb2a8a9a04dda655cc01fcad46f4ab05ed"
-+dependencies = [
-+ "libc",
-+ "signal-hook-registry",
-+]
-+
-+[[package]]
-+name = "signal-hook-registry"
-+version = "1.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a3e12110bc539e657a646068aaf5eb5b63af9d0c1f7b29c97113fad80e15f035"
-+dependencies = [
-+ "arc-swap",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "syn"
-+version = "1.0.42"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9c51d92969d209b54a98397e1b91c8ae82d8c87a7bb87df0b29aa2ad81454228"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "unicode-xid",
-+]
-+
-+[[package]]
-+name = "synstructure"
-+version = "0.12.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+ "unicode-xid",
-+]
-+
-+[[package]]
-+name = "tempfile"
-+version = "3.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
-+dependencies = [
-+ "cfg-if",
-+ "libc",
-+ "rand",
-+ "redox_syscall",
-+ "remove_dir_all",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "termcolor"
-+version = "1.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bb6bfa289a4d7c5766392812c0a1f4c1ba45afa1ad47803c11e1f407d846d75f"
-+dependencies = [
-+ "winapi-util",
-+]
-+
-+[[package]]
-+name = "thread-scoped"
-+version = "1.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bcbb6aa301e5d3b0b5ef639c9a9c7e2f1c944f177b460c04dc24c69b1fa2bd99"
-+
-+[[package]]
-+name = "thread_local"
-+version = "1.0.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
-+dependencies = [
-+ "lazy_static",
-+]
-+
-+[[package]]
-+name = "threadpool"
-+version = "1.8.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"
-+dependencies = [
-+ "num_cpus",
-+]
-+
-+[[package]]
-+name = "time"
-+version = "0.1.44"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
-+dependencies = [
-+ "libc",
-+ "wasi 0.10.0+wasi-snapshot-preview1",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "unicode-width"
-+version = "0.1.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
-+
-+[[package]]
-+name = "unicode-xid"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
-+
-+[[package]]
-+name = "users"
-+version = "0.9.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c72f4267aea0c3ec6d07eaabea6ead7c5ddacfafc5e22bcf8d186706851fb4cf"
-+dependencies = [
-+ "libc",
-+]
-+
-+[[package]]
-+name = "version_check"
-+version = "0.9.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"
-+
-+[[package]]
-+name = "void"
-+version = "1.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
-+
-+[[package]]
-+name = "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.10.0+wasi-snapshot-preview1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-+
-+[[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 = "xattr"
-+version = "0.2.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c"
-+dependencies = [
-+ "libc",
-+]
diff --git a/nixpkgs/pkgs/tools/filesystems/sandboxfs/default.nix b/nixpkgs/pkgs/tools/filesystems/sandboxfs/default.nix
index 7d6d61198786..8666e714908e 100644
--- a/nixpkgs/pkgs/tools/filesystems/sandboxfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/sandboxfs/default.nix
@@ -1,26 +1,21 @@
 { lib
-, fetchFromGitHub
 , rustPlatform
-, fuse
+, fetchCrate
 , pkg-config
 , installShellFiles
+, fuse
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "sandboxfs";
   version = "0.2.0";
 
-  src = fetchFromGitHub {
-    owner = "bazelbuild";
-    repo = pname;
-    rev = "sandboxfs-${version}";
-    sha256 = "Ia6rq6FN4abnvLXjlQh4Q+8ra5JThKnC86UXC7s9//U=";
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "sha256-nrrkFYAf7HqaGFruolNTkXzy4ID6/vipxd+fOCKYARM=";
   };
 
-  cargoSha256 = "sha256-fAPMAVvcI3pm3zTLATO7SUdZpG469fjlBZshFhgv6gY=";
-
-  # Issue to add Cargo.lock upstream: https://github.com/bazelbuild/sandboxfs/pull/115
-  cargoPatches = [ ./Cargo.lock.patch ];
+  cargoSha256 = "sha256-izz10ePmEt2xxOyR4NODIMAcY9d4ODo677mq+DVf4RI=";
 
   nativeBuildInputs = [ pkg-config installShellFiles ];
 
diff --git a/nixpkgs/pkgs/tools/filesystems/unionfs-fuse/default.nix b/nixpkgs/pkgs/tools/filesystems/unionfs-fuse/default.nix
index 6a34657d3d17..3d7e436ac294 100644
--- a/nixpkgs/pkgs/tools/filesystems/unionfs-fuse/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/unionfs-fuse/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "unionfs-fuse";
-  version = "2.1";
+  version = "2.2";
 
   src = fetchFromGitHub {
     owner = "rpodgorny";
     repo = "unionfs-fuse";
     rev = "v${version}";
-    sha256 = "0bwx70x834qgqh53vqp18bhbxbsny80hz922rbgj8k9wj7cbfilm";
+    sha256 = "sha256-EJryML6E0CW4kvsqMRqV3cq77j50HuylNzgaHD6CL/o=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/tools/graphics/asymptote/default.nix b/nixpkgs/pkgs/tools/graphics/asymptote/default.nix
index 30a3b9cc98f9..657d215147ce 100644
--- a/nixpkgs/pkgs/tools/graphics/asymptote/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/asymptote/default.nix
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description =  "A tool for programming graphics intended to replace Metapost";
     license = licenses.gpl3Plus;
-    maintainers = [ maintainers.raskin maintainers.peti ];
+    maintainers = [ maintainers.raskin ];
     broken = stdenv.isDarwin;  # https://github.com/vectorgraphics/asymptote/issues/69
     platforms = platforms.linux ++ platforms.darwin;
   };
diff --git a/nixpkgs/pkgs/tools/graphics/directx-shader-compiler/default.nix b/nixpkgs/pkgs/tools/graphics/directx-shader-compiler/default.nix
index 6bab32ff27fa..5baedaab11ee 100644
--- a/nixpkgs/pkgs/tools/graphics/directx-shader-compiler/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/directx-shader-compiler/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "directx-shader-compiler";
-  version = "1.5.2010";
+  version = "1.6.2106";
 
   # Put headers in dev, there are lot of them which aren't necessary for
   # using the compiler binary.
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     owner = "microsoft";
     repo = "DirectXShaderCompiler";
     rev = "v${version}";
-    sha256 = "0ccfy1bfp0cm0pq63ri4yl1sr3fdn1a526bsnakg4bl6z4fwrnnj";
+    sha256 = "6kQgAESYiQ06LkiGTfDBYwd/ORLSm1W+BcO+OUp4yXY=";
     # We rely on the side effect of leaving the .git directory here for the
     # version-grabbing functionality of the build system.
     fetchSubmodules = true;
diff --git a/nixpkgs/pkgs/tools/graphics/hobbits/default.nix b/nixpkgs/pkgs/tools/graphics/hobbits/default.nix
new file mode 100644
index 000000000000..477c6bea249a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/hobbits/default.nix
@@ -0,0 +1,34 @@
+{ lib, stdenv, mkDerivation, fetchFromGitHub
+, cmake, pkg-config, fftw, libpcap, libusb1, python3
+}:
+
+mkDerivation rec {
+  pname = "hobbits";
+  version = "0.52.0";
+
+  src = fetchFromGitHub {
+    owner = "Mahlet-Inc";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-GZHBkBRt1ySItV+h5rdvey7KwdUWh5+rgztXh6HW3Js=";
+  };
+
+  postPatch = ''
+    substituteInPlace src/hobbits-core/settingsdata.cpp \
+      --replace "pythonHome = \"/usr\"" "pythonHome = \"${python3}\""
+    substituteInPlace cmake/gitversion.cmake \
+      --replace "[Mystery Build]" "${version}"
+  '';
+
+  buildInputs = [ fftw libpcap libusb1 python3 ];
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  meta = with lib; {
+    description = "A multi-platform GUI for bit-based analysis, processing, and visualization";
+    homepage = "https://github.com/Mahlet-Inc/hobbits";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/graphics/mscgen/default.nix b/nixpkgs/pkgs/tools/graphics/mscgen/default.nix
index 6749a193c00e..7eb1d6cce818 100644
--- a/nixpkgs/pkgs/tools/graphics/mscgen/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/mscgen/default.nix
@@ -49,6 +49,5 @@ stdenv.mkDerivation rec {
     '';
 
     platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.peti ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/graphics/pfstools/default.nix b/nixpkgs/pkgs/tools/graphics/pfstools/default.nix
index 99b9e3e0e487..a81321204757 100644
--- a/nixpkgs/pkgs/tools/graphics/pfstools/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/pfstools/default.nix
@@ -1,6 +1,7 @@
 { lib, stdenv, mkDerivation, fetchurl, cmake, pkg-config, darwin
 , openexr, zlib, imagemagick6, libGLU, libGL, freeglut, fftwFloat
-, fftw, gsl, libexif, perl, opencv2, qtbase, netpbm
+, fftw, gsl, libexif, perl, qtbase, netpbm
+, enableUnfree ? false, opencv2
 }:
 
 mkDerivation rec {
@@ -28,12 +29,12 @@ mkDerivation rec {
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [
     openexr zlib imagemagick6 fftwFloat
-    fftw gsl libexif perl opencv2 qtbase netpbm
+    fftw gsl libexif perl qtbase netpbm
   ] ++ (if stdenv.isDarwin then (with darwin.apple_sdk.frameworks; [
     OpenGL GLUT
   ]) else [
     libGLU libGL freeglut
-  ]);
+  ]) ++ lib.optional enableUnfree (opencv2.override { enableUnfree = true; });
 
   patches = [ ./threads.patch ./pfstools.patch ./pfsalign.patch ];
 
diff --git a/nixpkgs/pkgs/tools/graphics/pngquant/default.nix b/nixpkgs/pkgs/tools/graphics/pngquant/default.nix
index 7463e2a45e03..b2b0691718a9 100644
--- a/nixpkgs/pkgs/tools/graphics/pngquant/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/pngquant/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pngquant";
-  version = "2.14.1";
+  version = "2.16.0";
 
   src = fetchFromGitHub {
     owner = "kornelski";
     repo = "pngquant";
     rev = version;
-    sha256 = "054hi33qp3jc7hv0141wi8drwdg24v5zfp8znwjmz4mcdls8vxbb";
+    sha256 = "0ny6h3fwf6gvzkqkc3zb5mrkqxm6s7xzb6bvzn6vlamklncqgl78";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/tools/graphics/svgcleaner/Cargo.lock b/nixpkgs/pkgs/tools/graphics/svgcleaner/Cargo.lock
new file mode 100644
index 000000000000..8daf4c4f83b5
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/svgcleaner/Cargo.lock
@@ -0,0 +1,256 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "autocfg"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "chrono"
+version = "0.4.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
+dependencies = [
+ "libc",
+ "num-integer",
+ "num-traits",
+ "time",
+ "winapi",
+]
+
+[[package]]
+name = "clap"
+version = "2.33.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
+dependencies = [
+ "bitflags",
+ "textwrap",
+ "unicode-width",
+]
+
+[[package]]
+name = "error-chain"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419ed3f3"
+
+[[package]]
+name = "fern"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e69ab0d5aca163e388c3a49d284fed6c3d0810700e77c5ae2756a50ec1a4daaa"
+dependencies = [
+ "chrono",
+ "log",
+]
+
+[[package]]
+name = "float-cmp"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2be876712b52d3970d361df27210574630d8d44d6461f0b55745d56e88ac10b0"
+dependencies = [
+ "num",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.103"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6"
+
+[[package]]
+name = "log"
+version = "0.4.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "num"
+version = "0.1.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4703ad64153382334aa8db57c637364c322d3372e097840c72000dabdcf6156e"
+dependencies = [
+ "num-integer",
+ "num-iter",
+ "num-traits",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
+dependencies = [
+ "autocfg",
+ "num-traits",
+]
+
+[[package]]
+name = "num-iter"
+version = "0.1.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "phf"
+version = "0.7.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
+dependencies = [
+ "phf_shared",
+]
+
+[[package]]
+name = "phf_shared"
+version = "0.7.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
+dependencies = [
+ "siphasher",
+]
+
+[[package]]
+name = "simplecss"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "135685097a85a64067df36e28a243e94a94f76d829087ce0be34eeb014260c0e"
+
+[[package]]
+name = "siphasher"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
+
+[[package]]
+name = "svgcleaner"
+version = "0.9.5"
+dependencies = [
+ "clap",
+ "error-chain",
+ "fern",
+ "log",
+ "svgdom",
+]
+
+[[package]]
+name = "svgdom"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dac5d235d251b4266fb95bdf737fe0c546b26327a127e35ad33effdd78cb2e83"
+dependencies = [
+ "error-chain",
+ "float-cmp",
+ "log",
+ "simplecss",
+ "svgparser",
+]
+
+[[package]]
+name = "svgparser"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90b2a4d5f7d25526c750e436fb5a224e06579f32581515bf511b37210007a3cb"
+dependencies = [
+ "error-chain",
+ "log",
+ "phf",
+ "xmlparser",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "time"
+version = "0.1.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
+dependencies = [
+ "libc",
+ "wasi",
+ "winapi",
+]
+
+[[package]]
+name = "unicode-width"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
+
+[[package]]
+name = "wasi"
+version = "0.10.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "xmlparser"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4fb8cb7e78fcf5055e751eae348c81bba17b6c84c8ed9fc5f6cf60e3e15d4aa"
+dependencies = [
+ "error-chain",
+ "log",
+]
diff --git a/nixpkgs/pkgs/tools/graphics/svgcleaner/default.nix b/nixpkgs/pkgs/tools/graphics/svgcleaner/default.nix
index 4224bde72345..48902f322e2f 100644
--- a/nixpkgs/pkgs/tools/graphics/svgcleaner/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/svgcleaner/default.nix
@@ -1,22 +1,27 @@
-{ lib, fetchFromGitHub, rustPlatform }:
+{ lib, rustPlatform, fetchFromGitHub }:
 
 rustPlatform.buildRustPackage rec {
   pname = "svgcleaner";
-  version = "0.9.2";
+  version = "0.9.5";
 
   src = fetchFromGitHub {
     owner = "RazrFalcon";
     repo = "svgcleaner";
     rev = "v${version}";
-    sha256 = "1jpnqsln37kkxz98vj7gly3c2170v6zamd876nc9nfl9vns41s0f";
+    sha256 = "sha256-nc+lKL6CJZid0WidcBwILhn81VgmmFrutfKT5UffdHA=";
   };
 
-  cargoSha256 = "172kdnd11xb2qkklqdkdcwi3g55k0d67p8g8qj7iq34bsnfb5bnr";
+  cargoLock.lockFile = ./Cargo.lock;
+
+  postPatch = ''
+    cp ${./Cargo.lock} Cargo.lock;
+  '';
 
   meta = with lib; {
     description = "A tool for tidying and optimizing SVGs";
     homepage = "https://github.com/RazrFalcon/svgcleaner";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.mehandes ];
+    changelog = "https://github.com/RazrFalcon/svgcleaner/blob/v${version}/CHANGELOG.md";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ mehandes ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/graphics/wgpu-utils/default.nix b/nixpkgs/pkgs/tools/graphics/wgpu-utils/default.nix
new file mode 100644
index 000000000000..737f7132212c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/wgpu-utils/default.nix
@@ -0,0 +1,36 @@
+{ lib, rustPlatform, fetchFromGitHub, pkg-config, makeWrapper, vulkan-loader }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "wgpu-utils";
+  version = "0.10.0";
+
+  src = fetchFromGitHub {
+    owner = "gfx-rs";
+    repo = "wgpu";
+    rev = "utils-${version}";
+    sha256 = "sha256-bOUcLtT5iPZuUgor2d/pJQ4Y+I1LMzREgj1cwLAvd+s=";
+  };
+
+  cargoSha256 = "sha256-SSEG8JApQrgP7RWlXqb+xuy482oQZ5frE2IaVMruuG0=";
+
+  nativeBuildInputs = [
+    pkg-config
+    makeWrapper
+  ];
+
+  # Tests fail, as the Nix sandbox doesn't provide an appropriate adapter (e.g. Vulkan).
+  doCheck = false;
+
+  postInstall = ''
+    wrapProgram $out/bin/wgpu-info \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]}
+  '';
+
+  meta = with lib; {
+    description = "Safe and portable GPU abstraction in Rust, implementing WebGPU API.";
+    homepage = "https://wgpu.rs/";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ erictapen ];
+    mainProgram = "wgpu-info";
+  };
+}
diff --git a/nixpkgs/pkgs/tools/inputmethods/evscript/default.nix b/nixpkgs/pkgs/tools/inputmethods/evscript/default.nix
index b8e91a741978..8afd4804e0ed 100644
--- a/nixpkgs/pkgs/tools/inputmethods/evscript/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/evscript/default.nix
@@ -2,19 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "evscript";
-  version = "git-${builtins.substring 0 7 src.rev}";
+  version = "unstable-2021-06-16";
 
   src = fetchFromGitHub {
-    owner = "myfreeweb";
+    owner = "unrelentingtech";
     repo = pname;
-    rev = "47f86f0d15add2af785ea1ff47f24d130026d1b4";
-    sha256 = "1xm8297k0d8d0aq7fxgmibr4qva4d02cb6gnnlzq77jcmnknxv14";
+    rev = "25912c0b6446f31b0f64485af3fa4aa8a93b33df";
+    sha256 = "sha256-apq3kHipEX6zOTNwqpIQR46JqmeE7EKVSOGrNNSkyu8=";
   };
 
-  cargoSha256 = "1z0xxbjnhhzn1fnc3zhvy727l88qyyfqdayj5yvf3nh23m7sr87l";
+  cargoSha256 = "sha256-1aR9/fhJQ+keRIxSG2cpY1HTalE6nM+MTb1Za3Tot28=";
 
   meta = with lib; {
-    homepage = "https://github.com/myfreeweb/${pname}";
+    homepage = "https://github.com/unrelentingtech/evscript";
     description = "A tiny sandboxed Dyon scripting environment for evdev input devices";
     license = licenses.unlicense;
     maintainers = with maintainers; [ milesbreslin ];
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/default.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/default.nix
index ee801fdb24a1..85b652577437 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/default.nix
@@ -41,13 +41,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "fcitx5";
-  version = "5.0.8";
+  version = "5.0.9";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "0czj2awvgk9apdh9rj3vcb04g8x2wp1d4sshvch31nwpqs10hssr";
+    sha256 = "161xgm2fs51v8l46raz6xxkjmshpgaaax64lz8208m7fcd32ll3a";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix
index cd362e94ef57..86e5b6ca51af 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-rime";
-  version = "5.0.6";
+  version = "5.0.7";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "1r36c1pl63vka9mxa8f5x0kijapjgxzz5b4db8h87ri9kcxk7i2g";
+    sha256 = "1djakg17rxc38smja4y76i0p4gwdj3lgwym8kybkaspk7lxr62zy";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/lisgd/default.nix b/nixpkgs/pkgs/tools/inputmethods/lisgd/default.nix
index 8b26e35c0541..368f1efa7593 100644
--- a/nixpkgs/pkgs/tools/inputmethods/lisgd/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/lisgd/default.nix
@@ -4,19 +4,20 @@
 , writeText
 , libinput
 , libX11
+, wayland
 , conf ? null
 , patches ? [ ]
 }:
 
 stdenv.mkDerivation rec {
   pname = "lisgd";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchFromSourcehut {
     owner = "~mil";
     repo = "lisgd";
     rev = version;
-    sha256 = "sha256-A8SsF5k4GwfVCj8JtodNWoLdPzaA9YsoP5EHHakUguc=";
+    sha256 = "sha256-yE2CUv1XDvo8fW0bLS1O2oxgDUu4drCO3jFpxPgAYKU=";
   };
 
   inherit patches;
@@ -33,6 +34,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     libinput
     libX11
+    wayland
   ];
 
   makeFlags = [
diff --git a/nixpkgs/pkgs/tools/misc/adafruit-ampy/default.nix b/nixpkgs/pkgs/tools/misc/adafruit-ampy/default.nix
index 8a07b2c6c9cb..90af547f6811 100644
--- a/nixpkgs/pkgs/tools/misc/adafruit-ampy/default.nix
+++ b/nixpkgs/pkgs/tools/misc/adafruit-ampy/default.nix
@@ -4,11 +4,11 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "adafruit-ampy";
-  version = "1.0.7";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1dz5sksalccv4c3bzk3c1jxpg3s28lwlw8hfwc9dfxhw3a1np3fd";
+    sha256 = "f4cba36f564096f2aafd173f7fbabb845365cc3bb3f41c37541edf98b58d3976";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/tools/misc/asciinema/default.nix b/nixpkgs/pkgs/tools/misc/asciinema/default.nix
index 67c324d4aeed..e08d0b5d3f70 100644
--- a/nixpkgs/pkgs/tools/misc/asciinema/default.nix
+++ b/nixpkgs/pkgs/tools/misc/asciinema/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "asciinema";
-  version = "2.0.2";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "asciinema";
     repo = "asciinema";
     rev = "v${version}";
-    sha256 = "1a2pysxnp6icyd08mgf66xr6f6j0irnfxdpf3fmzcz31ix7l9kc4";
+    sha256 = "1alcz018jrrpasrmgs8nw775a6pf62xq2xgs54c4mb396prdqy4x";
   };
 
   checkInputs = [ glibcLocales python3Packages.nose ];
diff --git a/nixpkgs/pkgs/tools/misc/aspcud/default.nix b/nixpkgs/pkgs/tools/misc/aspcud/default.nix
index a50bc311f247..ef1b6a5a4ca5 100644
--- a/nixpkgs/pkgs/tools/misc/aspcud/default.nix
+++ b/nixpkgs/pkgs/tools/misc/aspcud/default.nix
@@ -1,14 +1,22 @@
-{ lib, stdenv, fetchzip
-, boost, clasp, cmake, gringo, re2c
+{ lib
+, stdenv
+, fetchFromGitHub
+, boost
+, clasp
+, cmake
+, gringo
+, re2c
 }:
 
 stdenv.mkDerivation rec {
   version = "1.9.5";
   pname = "aspcud";
 
-  src = fetchzip {
-    url = "https://github.com/potassco/aspcud/archive/v${version}.tar.gz";
-    sha256 = "sha256-d04GPMoz6PMGq6iiul0zT1C9Mljdl9uJJ2C8MIwcmaw=";
+  src = fetchFromGitHub {
+    owner = "potassco";
+    repo = "aspcud";
+    rev = "v${version}";
+    hash = "sha256-d04GPMoz6PMGq6iiul0zT1C9Mljdl9uJJ2C8MIwcmaw=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/tools/misc/bandwidth/default.nix b/nixpkgs/pkgs/tools/misc/bandwidth/default.nix
index 710382fe8267..5eef6a517f3a 100644
--- a/nixpkgs/pkgs/tools/misc/bandwidth/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bandwidth/default.nix
@@ -6,11 +6,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "bandwidth";
-  version = "1.10.1";
+  version = "1.10.4";
 
   src = fetchurl {
     url = "https://zsmith.co/archives/${pname}-${version}.tar.gz";
-    sha256 = "sha256-trya+/cBNIittQAc5tcykZbImeISqIolO/Y8uOI0jGk=";
+    sha256 = "sha256-e/eP2rA7ElFrh2Z4qTzRGR/cxY1UI6s+LQ9Og1x46/I=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/misc/bottom-rs/cargo-lock.patch b/nixpkgs/pkgs/tools/misc/bottom-rs/cargo-lock.patch
deleted file mode 100644
index 9b736f763c82..000000000000
--- a/nixpkgs/pkgs/tools/misc/bottom-rs/cargo-lock.patch
+++ /dev/null
@@ -1,791 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-new file mode 100644
-index 0000000..edc9428
---- /dev/null
-+++ b/Cargo.lock
-@@ -0,0 +1,785 @@
-+# This file is automatically @generated by Cargo.
-+# It is not intended for manual editing.
-+[[package]]
-+name = "ansi_term"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
-+dependencies = [
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "anyhow"
-+version = "1.0.40"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063b"
-+
-+[[package]]
-+name = "atty"
-+version = "0.2.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-+dependencies = [
-+ "hermit-abi",
-+ "libc",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "autocfg"
-+version = "1.0.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
-+
-+[[package]]
-+name = "bitflags"
-+version = "1.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-+
-+[[package]]
-+name = "bottom-bench"
-+version = "0.1.0"
-+dependencies = [
-+ "bottomify",
-+ "criterion",
-+]
-+
-+[[package]]
-+name = "bottomify"
-+version = "1.2.0"
-+dependencies = [
-+ "anyhow",
-+ "clap",
-+ "phf",
-+ "phf_codegen",
-+]
-+
-+[[package]]
-+name = "bstr"
-+version = "0.2.15"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a40b47ad93e1a5404e6c18dec46b628214fee441c70f4ab5d6942142cc268a3d"
-+dependencies = [
-+ "lazy_static",
-+ "memchr",
-+ "regex-automata",
-+ "serde",
-+]
-+
-+[[package]]
-+name = "bumpalo"
-+version = "3.6.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "63396b8a4b9de3f4fdfb320ab6080762242f66a8ef174c49d8e19b674db4cdbe"
-+
-+[[package]]
-+name = "byteorder"
-+version = "1.4.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-+
-+[[package]]
-+name = "cast"
-+version = "0.2.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cc38c385bfd7e444464011bb24820f40dd1c76bcdfa1b78611cb7c2e5cafab75"
-+dependencies = [
-+ "rustc_version",
-+]
-+
-+[[package]]
-+name = "cfg-if"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-+
-+[[package]]
-+name = "clap"
-+version = "2.33.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
-+dependencies = [
-+ "ansi_term",
-+ "atty",
-+ "bitflags",
-+ "strsim",
-+ "textwrap",
-+ "unicode-width",
-+ "vec_map",
-+]
-+
-+[[package]]
-+name = "criterion"
-+version = "0.3.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ab327ed7354547cc2ef43cbe20ef68b988e70b4b593cbd66a2a61733123a3d23"
-+dependencies = [
-+ "atty",
-+ "cast",
-+ "clap",
-+ "criterion-plot",
-+ "csv",
-+ "itertools 0.10.0",
-+ "lazy_static",
-+ "num-traits",
-+ "oorandom",
-+ "plotters",
-+ "rayon",
-+ "regex",
-+ "serde",
-+ "serde_cbor",
-+ "serde_derive",
-+ "serde_json",
-+ "tinytemplate",
-+ "walkdir",
-+]
-+
-+[[package]]
-+name = "criterion-plot"
-+version = "0.4.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e022feadec601fba1649cfa83586381a4ad31c6bf3a9ab7d408118b05dd9889d"
-+dependencies = [
-+ "cast",
-+ "itertools 0.9.0",
-+]
-+
-+[[package]]
-+name = "crossbeam-channel"
-+version = "0.5.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4"
-+dependencies = [
-+ "cfg-if",
-+ "crossbeam-utils",
-+]
-+
-+[[package]]
-+name = "crossbeam-deque"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9"
-+dependencies = [
-+ "cfg-if",
-+ "crossbeam-epoch",
-+ "crossbeam-utils",
-+]
-+
-+[[package]]
-+name = "crossbeam-epoch"
-+version = "0.9.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2584f639eb95fea8c798496315b297cf81b9b58b6d30ab066a75455333cf4b12"
-+dependencies = [
-+ "cfg-if",
-+ "crossbeam-utils",
-+ "lazy_static",
-+ "memoffset",
-+ "scopeguard",
-+]
-+
-+[[package]]
-+name = "crossbeam-utils"
-+version = "0.8.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e7e9d99fa91428effe99c5c6d4634cdeba32b8cf784fc428a2a687f61a952c49"
-+dependencies = [
-+ "autocfg",
-+ "cfg-if",
-+ "lazy_static",
-+]
-+
-+[[package]]
-+name = "csv"
-+version = "1.1.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1"
-+dependencies = [
-+ "bstr",
-+ "csv-core",
-+ "itoa",
-+ "ryu",
-+ "serde",
-+]
-+
-+[[package]]
-+name = "csv-core"
-+version = "0.1.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"
-+dependencies = [
-+ "memchr",
-+]
-+
-+[[package]]
-+name = "either"
-+version = "1.6.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
-+
-+[[package]]
-+name = "getrandom"
-+version = "0.1.16"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-+dependencies = [
-+ "cfg-if",
-+ "libc",
-+ "wasi",
-+]
-+
-+[[package]]
-+name = "half"
-+version = "1.7.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "62aca2aba2d62b4a7f5b33f3712cb1b0692779a56fb510499d5c0aa594daeaf3"
-+
-+[[package]]
-+name = "hermit-abi"
-+version = "0.1.18"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
-+dependencies = [
-+ "libc",
-+]
-+
-+[[package]]
-+name = "itertools"
-+version = "0.9.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b"
-+dependencies = [
-+ "either",
-+]
-+
-+[[package]]
-+name = "itertools"
-+version = "0.10.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "37d572918e350e82412fe766d24b15e6682fb2ed2bbe018280caa810397cb319"
-+dependencies = [
-+ "either",
-+]
-+
-+[[package]]
-+name = "itoa"
-+version = "0.4.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
-+
-+[[package]]
-+name = "js-sys"
-+version = "0.3.50"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2d99f9e3e84b8f67f846ef5b4cbbc3b1c29f6c759fcbce6f01aa0e73d932a24c"
-+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.94"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e"
-+
-+[[package]]
-+name = "log"
-+version = "0.4.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
-+dependencies = [
-+ "cfg-if",
-+]
-+
-+[[package]]
-+name = "memchr"
-+version = "2.3.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
-+
-+[[package]]
-+name = "memoffset"
-+version = "0.6.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f83fb6581e8ed1f85fd45c116db8405483899489e38406156c25eb743554361d"
-+dependencies = [
-+ "autocfg",
-+]
-+
-+[[package]]
-+name = "num-traits"
-+version = "0.2.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
-+dependencies = [
-+ "autocfg",
-+]
-+
-+[[package]]
-+name = "num_cpus"
-+version = "1.13.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
-+dependencies = [
-+ "hermit-abi",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "oorandom"
-+version = "11.1.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
-+
-+[[package]]
-+name = "phf"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
-+dependencies = [
-+ "phf_shared",
-+]
-+
-+[[package]]
-+name = "phf_codegen"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
-+dependencies = [
-+ "phf_generator",
-+ "phf_shared",
-+]
-+
-+[[package]]
-+name = "phf_generator"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
-+dependencies = [
-+ "phf_shared",
-+ "rand",
-+]
-+
-+[[package]]
-+name = "phf_shared"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
-+dependencies = [
-+ "siphasher",
-+]
-+
-+[[package]]
-+name = "plotters"
-+version = "0.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "45ca0ae5f169d0917a7c7f5a9c1a3d3d9598f18f529dd2b8373ed988efea307a"
-+dependencies = [
-+ "num-traits",
-+ "plotters-backend",
-+ "plotters-svg",
-+ "wasm-bindgen",
-+ "web-sys",
-+]
-+
-+[[package]]
-+name = "plotters-backend"
-+version = "0.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b07fffcddc1cb3a1de753caa4e4df03b79922ba43cf882acc1bdd7e8df9f4590"
-+
-+[[package]]
-+name = "plotters-svg"
-+version = "0.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b38a02e23bd9604b842a812063aec4ef702b57989c37b655254bb61c471ad211"
-+dependencies = [
-+ "plotters-backend",
-+]
-+
-+[[package]]
-+name = "ppv-lite86"
-+version = "0.2.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
-+
-+[[package]]
-+name = "proc-macro2"
-+version = "1.0.26"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec"
-+dependencies = [
-+ "unicode-xid",
-+]
-+
-+[[package]]
-+name = "quote"
-+version = "1.0.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
-+dependencies = [
-+ "proc-macro2",
-+]
-+
-+[[package]]
-+name = "rand"
-+version = "0.7.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-+dependencies = [
-+ "getrandom",
-+ "libc",
-+ "rand_chacha",
-+ "rand_core",
-+ "rand_hc",
-+ "rand_pcg",
-+]
-+
-+[[package]]
-+name = "rand_chacha"
-+version = "0.2.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-+dependencies = [
-+ "ppv-lite86",
-+ "rand_core",
-+]
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.5.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-+dependencies = [
-+ "getrandom",
-+]
-+
-+[[package]]
-+name = "rand_hc"
-+version = "0.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-+dependencies = [
-+ "rand_core",
-+]
-+
-+[[package]]
-+name = "rand_pcg"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
-+dependencies = [
-+ "rand_core",
-+]
-+
-+[[package]]
-+name = "rayon"
-+version = "1.5.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674"
-+dependencies = [
-+ "autocfg",
-+ "crossbeam-deque",
-+ "either",
-+ "rayon-core",
-+]
-+
-+[[package]]
-+name = "rayon-core"
-+version = "1.9.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a"
-+dependencies = [
-+ "crossbeam-channel",
-+ "crossbeam-deque",
-+ "crossbeam-utils",
-+ "lazy_static",
-+ "num_cpus",
-+]
-+
-+[[package]]
-+name = "regex"
-+version = "1.4.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2a26af418b574bd56588335b3a3659a65725d4e636eb1016c2f9e3b38c7cc759"
-+dependencies = [
-+ "regex-syntax",
-+]
-+
-+[[package]]
-+name = "regex-automata"
-+version = "0.1.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ae1ded71d66a4a97f5e961fd0cb25a5f366a42a41570d16a763a69c092c26ae4"
-+dependencies = [
-+ "byteorder",
-+]
-+
-+[[package]]
-+name = "regex-syntax"
-+version = "0.6.23"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548"
-+
-+[[package]]
-+name = "rustc_version"
-+version = "0.2.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-+dependencies = [
-+ "semver",
-+]
-+
-+[[package]]
-+name = "ryu"
-+version = "1.0.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
-+
-+[[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 = "scopeguard"
-+version = "1.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-+
-+[[package]]
-+name = "semver"
-+version = "0.9.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
-+dependencies = [
-+ "semver-parser",
-+]
-+
-+[[package]]
-+name = "semver-parser"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-+
-+[[package]]
-+name = "serde"
-+version = "1.0.125"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171"
-+
-+[[package]]
-+name = "serde_cbor"
-+version = "0.11.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1e18acfa2f90e8b735b2836ab8d538de304cbb6729a7360729ea5a895d15a622"
-+dependencies = [
-+ "half",
-+ "serde",
-+]
-+
-+[[package]]
-+name = "serde_derive"
-+version = "1.0.125"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b093b7a2bb58203b5da3056c05b4ec1fed827dcfdb37347a8841695263b3d06d"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "serde_json"
-+version = "1.0.64"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79"
-+dependencies = [
-+ "itoa",
-+ "ryu",
-+ "serde",
-+]
-+
-+[[package]]
-+name = "siphasher"
-+version = "0.3.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cbce6d4507c7e4a3962091436e56e95290cb71fa302d0d270e32130b75fbff27"
-+
-+[[package]]
-+name = "strsim"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-+
-+[[package]]
-+name = "syn"
-+version = "1.0.70"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b9505f307c872bab8eb46f77ae357c8eba1fdacead58ee5a850116b1d7f82883"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "unicode-xid",
-+]
-+
-+[[package]]
-+name = "textwrap"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-+dependencies = [
-+ "unicode-width",
-+]
-+
-+[[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 = "unicode-width"
-+version = "0.1.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
-+
-+[[package]]
-+name = "unicode-xid"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
-+
-+[[package]]
-+name = "vec_map"
-+version = "0.8.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
-+
-+[[package]]
-+name = "walkdir"
-+version = "2.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
-+dependencies = [
-+ "same-file",
-+ "winapi",
-+ "winapi-util",
-+]
-+
-+[[package]]
-+name = "wasi"
-+version = "0.9.0+wasi-snapshot-preview1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-+
-+[[package]]
-+name = "wasm-bindgen"
-+version = "0.2.73"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "83240549659d187488f91f33c0f8547cbfef0b2088bc470c116d1d260ef623d9"
-+dependencies = [
-+ "cfg-if",
-+ "wasm-bindgen-macro",
-+]
-+
-+[[package]]
-+name = "wasm-bindgen-backend"
-+version = "0.2.73"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ae70622411ca953215ca6d06d3ebeb1e915f0f6613e3b495122878d7ebec7dae"
-+dependencies = [
-+ "bumpalo",
-+ "lazy_static",
-+ "log",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+ "wasm-bindgen-shared",
-+]
-+
-+[[package]]
-+name = "wasm-bindgen-macro"
-+version = "0.2.73"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3e734d91443f177bfdb41969de821e15c516931c3c3db3d318fa1b68975d0f6f"
-+dependencies = [
-+ "quote",
-+ "wasm-bindgen-macro-support",
-+]
-+
-+[[package]]
-+name = "wasm-bindgen-macro-support"
-+version = "0.2.73"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d53739ff08c8a68b0fdbcd54c372b8ab800b1449ab3c9d706503bc7dd1621b2c"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+ "wasm-bindgen-backend",
-+ "wasm-bindgen-shared",
-+]
-+
-+[[package]]
-+name = "wasm-bindgen-shared"
-+version = "0.2.73"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d9a543ae66aa233d14bb765ed9af4a33e81b8b58d1584cf1b47ff8cd0b9e4489"
-+
-+[[package]]
-+name = "web-sys"
-+version = "0.3.50"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a905d57e488fec8861446d3393670fb50d27a262344013181c2cdf9fff5481be"
-+dependencies = [
-+ "js-sys",
-+ "wasm-bindgen",
-+]
-+
-+[[package]]
-+name = "winapi"
-+version = "0.3.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-+dependencies = [
-+ "winapi-i686-pc-windows-gnu",
-+ "winapi-x86_64-pc-windows-gnu",
-+]
-+
-+[[package]]
-+name = "winapi-i686-pc-windows-gnu"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-+
-+[[package]]
-+name = "winapi-util"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
-+dependencies = [
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "winapi-x86_64-pc-windows-gnu"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/nixpkgs/pkgs/tools/misc/bottom-rs/default.nix b/nixpkgs/pkgs/tools/misc/bottom-rs/default.nix
index ab5763c207d1..9e1ecc03c120 100644
--- a/nixpkgs/pkgs/tools/misc/bottom-rs/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bottom-rs/default.nix
@@ -1,23 +1,22 @@
-{ lib, rustPlatform, fetchFromGitHub }:
+{ lib, rustPlatform, fetchCrate }:
 
 rustPlatform.buildRustPackage rec {
   pname = "bottom-rs";
-  version = "unstable-2021-04-27";
+  version = "1.2.0";
 
-  src = fetchFromGitHub {
-    owner = "bottom-software-foundation";
-    repo = pname;
-    rev = "3451cdadd7c4e64fe8e7f43e986a18628a741dec";
-    sha256 = "0kr18q80021s1n9zzzff6w6yvbbjnk6zbbabi5b42b0rfv6fnfn2";
+  src = fetchCrate {
+    inherit version;
+    crateName = "bottomify";
+    sha256 = "sha256-R1zj+TFXoolonIFa1zJDd7CdrORfzAPlxJoJVYe9xdc=";
   };
 
-  cargoPatches = [ ./cargo-lock.patch ];
-  cargoSha256 = "0nyzg6pg69bf9vvc3r5lnhmkb9s1508c1gqcra3y43zffdlwml1y";
+  cargoSha256 = "sha256-7xD65ookkK09XwCBH6fXqmWRYlmvpwAocojBg/dHzUI=";
 
   meta = with lib; {
     description = "Fantastic (maybe) CLI for translating between bottom and human-readable text";
     homepage = "https://github.com/bottom-software-foundation/bottom-rs";
     license = licenses.mit;
     maintainers = with maintainers; [ winterqt ];
+    mainProgram = "bottomify";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/bunnyfetch/default.nix b/nixpkgs/pkgs/tools/misc/bunnyfetch/default.nix
index 37a65d8c0718..e2b99da82db0 100644
--- a/nixpkgs/pkgs/tools/misc/bunnyfetch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bunnyfetch/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     license = licenses.mit;
     maintainers = with maintainers; [ devins2518 ];
     platforms = platforms.linux;
+    mainProgram = "bunnyfetch";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/ccze/default.nix b/nixpkgs/pkgs/tools/misc/ccze/default.nix
index 348cbb1f529c..4946fd64d89d 100644
--- a/nixpkgs/pkgs/tools/misc/ccze/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ccze/default.nix
@@ -1,17 +1,24 @@
-{ lib, stdenv, fetchurl, autoconf, ncurses, pcre }:
+{ lib, stdenv, fetchFromGitHub, autoconf, ncurses, pcre }:
 
 stdenv.mkDerivation rec {
   pname = "ccze";
   version = "0.2.1-2";
 
-  src = fetchurl {
-    url = "https://github.com/madhouse/ccze/archive/ccze-${version}.tar.gz";
-    sha256 = "1amavfvyls4v0gnikk43n2rpciaspxifgrmvi99qj6imv3mfg66n";
+  src = fetchFromGitHub {
+    owner = "madhouse";
+    repo = "ccze";
+    rev = "ccze-${version}";
+    hash = "sha256-LVwmbrq78mZcAEuAqjXTqLE5we83H9mcMPtxQx2Tn/c=";
   };
 
-  buildInputs = [ autoconf ncurses pcre ];
+  nativeBuildInputs = [ autoconf ];
 
-  preConfigure = "autoheader && autoconf ";
+  buildInputs = [ ncurses pcre ];
+
+  preConfigure = ''
+    autoheader
+    autoconf
+  '';
 
   meta = with lib; {
     description = "Fast, modular log colorizer";
diff --git a/nixpkgs/pkgs/tools/misc/chezmoi/default.nix b/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
index a60a84475b06..415fed33170c 100644
--- a/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
+++ b/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "2.1.6";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "sha256-6BzocbG7I3ZHlPGZ2GRY/n9ezRF2OER9BFaoIq0yBro=";
+    sha256 = "sha256-x5KqDVy+thIymZHsmyO+WsGq0IBb2cZxogKsjzunC2o=";
   };
 
-  vendorSha256 = "sha256-i20Zt1ZP1ij1Qp4moNZqUTQOHPlchonFF7ag5qjMoqg=";
+  vendorSha256 = "sha256-8NhJfA9q6di/IPL53U/dwGNAAdtuBX5Lf6fhTk4Mz0Q=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/misc/cht.sh/default.nix b/nixpkgs/pkgs/tools/misc/cht.sh/default.nix
index 998fcf366520..e2672ab7bb0d 100644
--- a/nixpkgs/pkgs/tools/misc/cht.sh/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cht.sh/default.nix
@@ -45,5 +45,6 @@ stdenv.mkDerivation {
     license = licenses.mit;
     maintainers = with maintainers; [ fgaz evanjs ];
     homepage = "https://github.com/chubin/cheat.sh";
+    mainProgram = "cht.sh";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/colorpicker/default.nix b/nixpkgs/pkgs/tools/misc/colorpicker/default.nix
index d2d0915a46fe..07d15469383d 100644
--- a/nixpkgs/pkgs/tools/misc/colorpicker/default.nix
+++ b/nixpkgs/pkgs/tools/misc/colorpicker/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/Ancurio/colorpicker";
     maintainers = with maintainers; [ jb55 ];
     license = licenses.mit;
+    mainProgram = "colorpicker";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/contacts/default.nix b/nixpkgs/pkgs/tools/misc/contacts/default.nix
index 7b652f36a19f..08ba484f51ee 100644
--- a/nixpkgs/pkgs/tools/misc/contacts/default.nix
+++ b/nixpkgs/pkgs/tools/misc/contacts/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, xcbuildHook, Foundation, AddressBook }:
+{ lib, stdenv, fetchFromGitHub, xcbuildHook, Foundation, AddressBook }:
 
 stdenv.mkDerivation {
   version = "1.1a-3";
   pname = "contacts";
 
-  src = fetchurl {
-    url = "https://github.com/dhess/contacts/archive/4092a3c6615d7a22852a3bafc44e4aeeb698aa8f.tar.gz";
-    sha256 = "0wdqc1ndgrdhqapvvgx5xihc750szv08lp91x4l6n0gh59cpxpg3";
+  src = fetchFromGitHub {
+    owner = "dhess";
+    repo = "contacts";
+    rev = "4092a3c6615d7a22852a3bafc44e4aeeb698aa8f";
+    hash = "sha256-Li/c5uf9rfpuU+hduuSm7EmhVwIIkS72dqzmN+0cE3A=";
   };
 
   nativeBuildInputs = [ xcbuildHook ];
@@ -19,10 +21,10 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "Access contacts from the Mac address book from command-line";
-    homepage    = "http://www.gnufoo.org/contacts/contacts.html";
-    license     = licenses.gpl2;
+    homepage = "http://www.gnufoo.org/contacts/contacts.html";
+    license = licenses.gpl2;
     maintainers = with maintainers; [ jwiegley ];
-    platforms   = lib.platforms.darwin;
-    hydraPlatforms = lib.platforms.darwin;
+    platforms = platforms.darwin;
+    hydraPlatforms = platforms.darwin;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/depotdownloader/default.nix b/nixpkgs/pkgs/tools/misc/depotdownloader/default.nix
index 384234f1f9c2..4a3c623bff18 100644
--- a/nixpkgs/pkgs/tools/misc/depotdownloader/default.nix
+++ b/nixpkgs/pkgs/tools/misc/depotdownloader/default.nix
@@ -12,13 +12,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "depotdownloader";
-  version = "2.4.1";
+  version = "2.4.5";
 
   src = fetchFromGitHub {
     owner = "SteamRE";
     repo = "DepotDownloader";
     rev = "DepotDownloader_${version}";
-    sha256 = "1ldwda7wyvzqvqv1wshvqvqaimlm0rcdzhy9yn5hvxyswc0jxirr";
+    sha256 = "0i5qgjnliji1g408ks1034r69vqdmfnzanb0qm7jmyzwww7vwpnh";
   };
 
   nativeBuildInputs = [ dotnet-sdk_5 dotnetPackages.Nuget makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/misc/depotdownloader/deps.nix b/nixpkgs/pkgs/tools/misc/depotdownloader/deps.nix
index 6f061186f826..307ad7fa3b1f 100644
--- a/nixpkgs/pkgs/tools/misc/depotdownloader/deps.nix
+++ b/nixpkgs/pkgs/tools/misc/depotdownloader/deps.nix
@@ -7,8 +7,8 @@ fetchNuGet:
   })
   (fetchNuGet {
     name = "SteamKit2";
-    version = "2.4.0-Alpha.2";
-    sha256 = "1r6chqdp912pr8f8d7px2vp4y1ydx0kida7d5a1hbf6b7acnsg7d";
+    version = "2.4.0-Alpha.3";
+    sha256 = "0n48yjkyzj49kv89jbkwdq6nm9w9ng6cjhvdv0chpryx9zgasgvv";
   })
   (fetchNuGet {
     name = "protobuf-net.Core";
diff --git a/nixpkgs/pkgs/tools/misc/dialogbox/default.nix b/nixpkgs/pkgs/tools/misc/dialogbox/default.nix
new file mode 100644
index 000000000000..c18a336bc696
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/dialogbox/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, qmake
+, qtbase
+}:
+
+mkDerivation rec {
+  pname = "dialogbox";
+  version = "1.0+unstable=2020-11-16";
+
+  src = fetchFromGitHub {
+    owner = "martynets";
+    repo = pname;
+    rev = "6989740746f376becc989ab2698e77d14186a0f9";
+    hash = "sha256-paTas3KbV4yZ0ePnrOH1S3bLLHDddFml1h6b6azK4RQ=";
+  };
+
+  nativeBuildInputs = [
+    qmake
+  ];
+
+  buildInputs = [
+    qtbase
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -d $out/{bin,share/doc/dialogbox}
+    install dist/dialogbox $out/bin
+    install README.md $out/share/doc/dialogbox/
+    cp -r demos $out/share/doc/dialogbox/demos
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/martynets/dialogbox/";
+    description = "Qt-based scriptable engine providing GUI dialog boxes";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/diffoscope/default.nix b/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
index bf5d4601475a..37ea9ebd026c 100644
--- a/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
+++ b/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
@@ -9,17 +9,22 @@
 # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
 python3Packages.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "183";
+  version = "187";
 
   src = fetchurl {
     url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    sha256 = "sha256-XFFrRmCpE2UvZRCELfPaotLklyjLiCDWkyFWkISOHZM=";
+    sha256 = "sha256-oXWdXJhf8OOxBcLumjeWW0Xev0LjcTScAw9baDOs6ls=";
   };
 
   outputs = [ "out" "man" ];
 
   patches = [
     ./ignore_links.patch
+
+    # due to https://salsa.debian.org/reproducible-builds/diffoscope/-/commit/953a599c2b903298b038b34abf515cea69f4fc19
+    # the version detection of LLVM is broken and the comparison result is compared against
+    # the expected result from LLVM 10 (rather than 7 which is our default).
+    ./fix-tests.patch
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/misc/diffoscope/fix-tests.patch b/nixpkgs/pkgs/tools/misc/diffoscope/fix-tests.patch
new file mode 100644
index 000000000000..b5566cb932f7
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/diffoscope/fix-tests.patch
@@ -0,0 +1,14 @@
+diff --git a/tests/comparators/test_rlib.py b/tests/comparators/test_rlib.py
+index 8d201ab..05960aa 100644
+--- a/tests/comparators/test_rlib.py
++++ b/tests/comparators/test_rlib.py
+@@ -81,9 +81,6 @@ def rlib_dis_expected_diff():
+     if actual_ver >= "7.0":
+         diff_file = "rlib_llvm_dis_expected_diff_7"
+ 
+-    if actual_ver >= "10.0":
+-        diff_file = "rlib_llvm_dis_expected_diff_10"
+-
+     return get_data(diff_file)
+ 
+ 
diff --git a/nixpkgs/pkgs/tools/misc/ding-libs/default.nix b/nixpkgs/pkgs/tools/misc/ding-libs/default.nix
index 8bb2c287268b..9c397bb9be0c 100644
--- a/nixpkgs/pkgs/tools/misc/ding-libs/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ding-libs/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "0.6.1";
 
   src = fetchurl {
-    url = "https://fedorahosted.org/released/ding-libs/ding-libs-${version}.tar.gz";
+    url = "https://releases.pagure.org/SSSD/${pname}/${pname}-${version}.tar.gz";
     sha256 = "1h97mx2jdv4caiz4r7y8rxfsq78fx0k4jjnfp7x2s7xqvqks66d3";
   };
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "'D is not GLib' utility libraries";
-    homepage = "https://fedorahosted.org/sssd/";
+    homepage = "https://pagure.io/SSSD/ding-libs";
     platforms = with lib.platforms; linux;
     maintainers = with lib.maintainers; [ e-user ];
     license = [ lib.licenses.gpl3 lib.licenses.lgpl3 ];
diff --git a/nixpkgs/pkgs/tools/misc/elfcat/default.nix b/nixpkgs/pkgs/tools/misc/elfcat/default.nix
index 91e4dfb99b3f..da3316da0e37 100644
--- a/nixpkgs/pkgs/tools/misc/elfcat/default.nix
+++ b/nixpkgs/pkgs/tools/misc/elfcat/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "elfcat";
-  version = "0.1.6";
+  version = "0.1.7";
 
   src = fetchFromGitHub {
     owner = "ruslashev";
     repo = pname;
     rev = version;
-    sha256 = "sha256-v8G9XiZS+49HtuLjs4Co9A1J+5STAerphkLaMGvqXT4=";
+    sha256 = "sha256-qmyD9BkD00yAQxmkgP2g5uvv/U7D/hUkCMJq44MI4YI=";
   };
 
   cargoSha256 = null;
diff --git a/nixpkgs/pkgs/tools/misc/esphome/default.nix b/nixpkgs/pkgs/tools/misc/esphome/default.nix
index a4678e357008..4e772399171c 100644
--- a/nixpkgs/pkgs/tools/misc/esphome/default.nix
+++ b/nixpkgs/pkgs/tools/misc/esphome/default.nix
@@ -16,13 +16,13 @@ let
 in
 with python.pkgs; buildPythonApplication rec {
   pname = "esphome";
-  version = "2021.9.1";
+  version = "2021.9.3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-JWUGOvY34wZSBTZdpuApPjEfBtgPSFKiVk89TUK441I=";
+    sha256 = "sha256-vQ4OX+iHWWIxi/r5ayChgNglI7QQsgx0LqXCR6J0pLE=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/tools/misc/eva/Cargo.lock.patch b/nixpkgs/pkgs/tools/misc/eva/Cargo.lock.patch
deleted file mode 100644
index 67553f0d6d83..000000000000
--- a/nixpkgs/pkgs/tools/misc/eva/Cargo.lock.patch
+++ /dev/null
@@ -1,589 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-new file mode 100644
-index 0000000..ac198e7
---- /dev/null
-+++ b/Cargo.lock
-@@ -0,0 +1,583 @@
-+# This file is automatically @generated by Cargo.
-+# It is not intended for manual editing.
-+[[package]]
-+name = "aho-corasick"
-+version = "0.7.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "ansi_term"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "arrayref"
-+version = "0.3.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "arrayvec"
-+version = "0.5.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "atty"
-+version = "0.2.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "autocfg"
-+version = "0.1.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "backtrace"
-+version = "0.3.40"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "backtrace-sys"
-+version = "0.1.32"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "base64"
-+version = "0.10.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "bitflags"
-+version = "1.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "blake2b_simd"
-+version = "0.5.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "byteorder"
-+version = "1.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "cc"
-+version = "1.0.48"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "cfg-if"
-+version = "0.1.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "clap"
-+version = "2.33.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "cloudabi"
-+version = "0.0.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "constant_time_eq"
-+version = "0.1.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "crossbeam-utils"
-+version = "0.6.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "directories"
-+version = "2.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "dirs"
-+version = "1.0.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "dirs-sys"
-+version = "0.3.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "eva"
-+version = "0.2.7"
-+dependencies = [
-+ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "directories 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "radix_fmt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rustyline 4.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "failure"
-+version = "0.1.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "failure_derive"
-+version = "0.1.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "fuchsia-cprng"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "lazy_static"
-+version = "1.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "libc"
-+version = "0.2.66"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "log"
-+version = "0.4.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "memchr"
-+version = "2.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "nix"
-+version = "0.13.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "num"
-+version = "0.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "num-bigint"
-+version = "0.2.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "num-complex"
-+version = "0.2.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "num-integer"
-+version = "0.1.41"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "num-iter"
-+version = "0.1.39"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "num-rational"
-+version = "0.2.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "num-traits"
-+version = "0.2.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "proc-macro2"
-+version = "1.0.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "quote"
-+version = "1.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "radix_fmt"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.4.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "rand_os"
-+version = "0.1.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rdrand"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "redox_syscall"
-+version = "0.1.56"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "redox_users"
-+version = "0.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "regex"
-+version = "1.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "regex-syntax"
-+version = "0.6.12"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "rust-argon2"
-+version = "0.5.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rustc-demangle"
-+version = "0.1.16"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "rustyline"
-+version = "4.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "nix 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "utf8parse 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "strsim"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "syn"
-+version = "1.0.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "synstructure"
-+version = "0.12.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "textwrap"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "thread_local"
-+version = "0.3.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "unicode-segmentation"
-+version = "1.6.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "unicode-width"
-+version = "0.1.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "unicode-xid"
-+version = "0.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "utf8parse"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "vec_map"
-+version = "0.8.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "void"
-+version = "1.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "winapi"
-+version = "0.3.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "winapi-i686-pc-windows-gnu"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "winapi-x86_64-pc-windows-gnu"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[metadata]
-+"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
-+"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
-+"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
-+"checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
-+"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
-+"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
-+"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
-+"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
-+"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
-+"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-+"checksum blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b83b7baab1e671718d78204225800d6b170e648188ac7dc992e9d6bddf87d0c0"
-+"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
-+"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
-+"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-+"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
-+"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-+"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120"
-+"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
-+"checksum directories 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "551a778172a450d7fc12e629ca3b0428d00f6afa9a43da1b630d54604e97371c"
-+"checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
-+"checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b"
-+"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
-+"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
-+"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-+"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-+"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
-+"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
-+"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
-+"checksum nix 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4dbdc256eaac2e3bd236d93ad999d3479ef775c863dbda3068c4006a92eec51b"
-+"checksum num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf4825417e1e1406b3782a8ce92f4d53f26ec055e3622e1881ca8e9f5f9e08db"
-+"checksum num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f9c3f34cdd24f334cb265d9bf8bfa8a241920d026916785747a92f0e55541a1a"
-+"checksum num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fcb0cf31fb3ff77e6d2a6ebd6800df7fdcd106f2ad89113c9130bcd07f93dffc"
-+"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
-+"checksum num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e"
-+"checksum num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2885278d5fe2adc2f75ced642d52d879bffaceb5a2e0b1d4309ffdfb239b454"
-+"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4"
-+"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
-+"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
-+"checksum radix_fmt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce082a9940a7ace2ad4a8b7d0b1eac6aa378895f18be598230c5f2284ac05426"
-+"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-+"checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
-+"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
-+"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-+"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
-+"checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d"
-+"checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
-+"checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
-+"checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf"
-+"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
-+"checksum rustyline 4.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0f47ea1ceb347d2deae482d655dc8eef4bd82363d3329baffa3818bd76fea48b"
-+"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-+"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238"
-+"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
-+"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-+"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
-+"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
-+"checksum unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20"
-+"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
-+"checksum utf8parse 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8772a4ccbb4e89959023bc5b7cb8623a795caa7092d99f3aa9501b9484d4557d"
-+"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
-+"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
-+"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
-+"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-+"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/nixpkgs/pkgs/tools/misc/eva/default.nix b/nixpkgs/pkgs/tools/misc/eva/default.nix
index b16c046d2037..f589d39f35ef 100644
--- a/nixpkgs/pkgs/tools/misc/eva/default.nix
+++ b/nixpkgs/pkgs/tools/misc/eva/default.nix
@@ -1,19 +1,15 @@
-{ lib, fetchFromGitHub, rustPlatform, fetchpatch }:
+{ lib, rustPlatform, fetchCrate, fetchpatch }:
 
 rustPlatform.buildRustPackage rec {
   pname = "eva";
   version = "0.2.7";
 
-  cargoSha256 = "08wm34rd03m5kd2zar23yhvi66kalzdqkgd6cqa1nq0ra4agnan7";
-
-  src = fetchFromGitHub {
-    owner = "NerdyPepper";
-    repo = pname;
-    rev = "6ce0fc0212a34ffb647b24d9d903029ac4518165";
-    sha256 = "10242vnq2ph0g3p2hdacs4lmx3f474xm04nadplxbpv9xh4nbag3";
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "sha256-4rmFvu6G4h8Pl592NlldSCkqZBbnTcXrs98ljIJmTXo=";
   };
 
-  cargoPatches = [ ./Cargo.lock.patch ];
+  cargoSha256 = "sha256-BG/W8lG/47kyA7assS6efEO+DRkpSFcZQhlSIozlonA=";
 
   patches = [
     # to fix the test suite (can be removed as soon as #33 is merged).
diff --git a/nixpkgs/pkgs/tools/misc/execline/default.nix b/nixpkgs/pkgs/tools/misc/execline/default.nix
index 095e43b9d3ee..2e1e1b8f7e03 100644
--- a/nixpkgs/pkgs/tools/misc/execline/default.nix
+++ b/nixpkgs/pkgs/tools/misc/execline/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "execline";
-  version = "2.8.0.1";
-  sha256 = "1v9swmhw2rcrr9fmkmd7qh8qq0kslhmvxwz2a3bhan9ksabz8wx3";
+  version = "2.8.1.0";
+  sha256 = "0msmzf5zwjcsgjlvvq28rd2i0fkdb2skmv8ii0ix8dhyckwwjmav";
 
   description = "A small scripting language, to be used in place of a shell in non-interactive scripts";
 
diff --git a/nixpkgs/pkgs/tools/misc/fasd/default.nix b/nixpkgs/pkgs/tools/misc/fasd/default.nix
index 7e50c3e75513..76c7731e27f2 100644
--- a/nixpkgs/pkgs/tools/misc/fasd/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fasd/default.nix
@@ -15,10 +15,10 @@ stdenv.mkDerivation rec {
     PREFIX=$out make install
   '';
 
-  meta = {
-    homepage = "https://github.com/clvv/${pname}";
+  meta = with lib; {
+    homepage = "https://github.com/clvv/fasd";
     description = "Quick command-line access to files and directories for POSIX shells";
-    license = lib.licenses.mit;
+    license = licenses.mit;
 
     longDescription = ''
       Fasd is a command-line productivity booster.
@@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
       command line.
     '';
 
-    platforms = lib.platforms.all;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ ];
+    mainProgram = "fasd";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/fclones/default.nix b/nixpkgs/pkgs/tools/misc/fclones/default.nix
index 14ade9ce32be..7e993c35c46e 100644
--- a/nixpkgs/pkgs/tools/misc/fclones/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fclones/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , libiconv
 , rustPlatform
@@ -7,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fclones";
-  version = "0.15.0";
+  version = "0.16.1";
 
   src = fetchFromGitHub {
     owner = "pkolaczk";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8NUneKJpnBjC4OcAABEpI9p+saBqAk+l43FS8/tIYjc=";
+    sha256 = "sha256-7rwiqjjXB1+R+/kauGjiJOX/UtMmQW3U3xGL/rsSiQ0=";
   };
 
-  cargoSha256 = "sha256-5qX45FJFaiE1vTXjllM9U1w57MX18GgKEFOEBMc64Jk=";
+  cargoSha256 = "sha256-g4z+05jiVaH3KCPVwJmvQbi0OCYtuafyZyVZDRRyPRA=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     AppKit
diff --git a/nixpkgs/pkgs/tools/misc/fdtools/default.nix b/nixpkgs/pkgs/tools/misc/fdtools/default.nix
index e9efd66b2f1f..f55c7f6d3b39 100644
--- a/nixpkgs/pkgs/tools/misc/fdtools/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fdtools/default.nix
@@ -2,8 +2,10 @@
 
 let
   pname = "fdtools";
+  # When you update, check whether we can drop the skalibs pin.
   version = "2020.05.04";
   sha256 = "0lnafcp4yipi0dl8gh33zjs8wlpz0mim8mwmiz9s49id0b0fmlla";
+  skalibs = skawarePackages.skalibs_2_10;
 
 in stdenv.mkDerivation {
   inherit pname version;
@@ -16,7 +18,10 @@ in stdenv.mkDerivation {
   patches = [ ./new-skalibs.patch ];
   outputs = [ "bin" "lib" "dev" "doc" "out" ];
 
-  buildInputs = [ skawarePackages.skalibs ];
+  buildInputs = [
+    # temporary, until fdtools catches up to skalibs
+    skalibs
+  ];
 
   configurePhase = ''
     cd ${pname}-${version}
@@ -27,7 +32,7 @@ in stdenv.mkDerivation {
       conf-compile/defaults/host_compile.sh \
       > conf-compile/host_compile.sh
 
-    echo "${skawarePackages.skalibs.lib}/lib/skalibs/sysdeps" \
+    echo "${skalibs.lib}/lib/skalibs/sysdeps" \
       > conf-compile/depend_skalibs_sysdeps
   '';
 
diff --git a/nixpkgs/pkgs/tools/misc/fet-sh/default.nix b/nixpkgs/pkgs/tools/misc/fet-sh/default.nix
index e9286e6a11e9..689eb0395f40 100644
--- a/nixpkgs/pkgs/tools/misc/fet-sh/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fet-sh/default.nix
@@ -25,6 +25,6 @@ stdenvNoCC.mkDerivation rec {
     license = licenses.isc;
     platforms = platforms.all;
     maintainers = with maintainers; [ elkowar ];
+    mainProgram = "fet.sh";
   };
-
 }
diff --git a/nixpkgs/pkgs/tools/misc/flashrom/default.nix b/nixpkgs/pkgs/tools/misc/flashrom/default.nix
index e4e4868e4d9f..03465d593ff4 100644
--- a/nixpkgs/pkgs/tools/misc/flashrom/default.nix
+++ b/nixpkgs/pkgs/tools/misc/flashrom/default.nix
@@ -1,16 +1,16 @@
-{ lib
-, stdenv
-, fetchurl
-, meson
-, ninja
-, pkg-config
+{ fetchurl
+, gcc9Stdenv
+, installShellFiles
+, lib
 , libftdi1
+, libjaylink
 , libusb1
 , pciutils
-, installShellFiles
+, pkg-config
+, jlinkSupport ? false
 }:
 
-stdenv.mkDerivation rec {
+gcc9Stdenv.mkDerivation rec {
   pname = "flashrom";
   version = "1.2";
 
@@ -19,29 +19,30 @@ stdenv.mkDerivation rec {
     sha256 = "0ax4kqnh7kd3z120ypgp73qy1knz47l6qxsqzrfkd97mh5cdky71";
   };
 
+  nativeBuildInputs = [ pkg-config installShellFiles ];
+  buildInputs = [ libftdi1 libusb1 ]
+    # https://github.com/flashrom/flashrom/issues/125
+    ++ lib.optional (!gcc9Stdenv.isAarch64) pciutils
+    ++ lib.optional jlinkSupport libjaylink;
+
   postPatch = ''
     substituteInPlace util/z60_flashrom.rules \
       --replace "plugdev" "flashrom"
   '';
 
-  # Meson build doesn't build and install manpage. Only Makefile can.
-  # Build manpage from source directory. Here we're inside the ./build subdirectory
+  makeFlags = [ "PREFIX=$(out)" "libinstall" ]
+    ++ lib.optional jlinkSupport "CONFIG_JLINK_SPI=yes";
+
   postInstall = ''
-    make flashrom.8 -C ..
-    installManPage ../flashrom.8
-    install -Dm644 ../util/z60_flashrom.rules $out/etc/udev/rules.d/flashrom.rules
+    install -Dm644 util/z60_flashrom.rules $out/lib/udev/rules.d/flashrom.rules
   '';
 
-  mesonFlags = lib.optionals stdenv.isAarch64 [ "-Dpciutils=false" ];
-  nativeBuildInputs = [ meson pkg-config ninja installShellFiles ];
-  buildInputs = [ libftdi1 libusb1 pciutils ];
-
   meta = with lib; {
-    homepage = "http://www.flashrom.org";
+    homepage = "https://www.flashrom.org";
     description = "Utility for reading, writing, erasing and verifying flash ROM chips";
     license = licenses.gpl2;
     maintainers = with maintainers; [ funfunctor fpletz felixsinger ];
     platforms = platforms.all;
-    broken = stdenv.isDarwin; # requires DirectHW
+    broken = gcc9Stdenv.isDarwin; # requires DirectHW
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/flitter/default.nix b/nixpkgs/pkgs/tools/misc/flitter/default.nix
new file mode 100644
index 000000000000..49903559c136
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/flitter/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, stdenv
+, ocamlPackages
+, fetchFromGitHub
+, makeWrapper
+, python3
+}:
+
+ocamlPackages.buildDunePackage rec {
+  pname = "flitter";
+  # request to tag releases: https://github.com/alexozer/flitter/issues/34
+  version = "unstable-2020-10-05";
+
+  useDune2 = true;
+
+  src = fetchFromGitHub {
+    owner = "alexozer";
+    repo = "flitter";
+    rev = "666c5483bc93efa6d01e0b7a927461269f8e14de";
+    sha256 = "1k3m7bjq5yrrq7vhnbdykni65dsqhq6knnv9wvwq3svb3n07z4w3";
+  };
+
+  # https://github.com/alexozer/flitter/issues/28
+  postPatch = ''
+    for f in src/colors.ml src/duration.ml src/event_loop.ml src/splits.ml; do
+      substituteInPlace "$f" \
+        --replace 'Unix.gettimeofday' 'Caml_unix.gettimeofday'
+    done
+  '';
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  buildInputs = with ocamlPackages; [
+    core
+    lwt_ppx
+    sexp_pretty
+    color
+    notty
+  ];
+
+  postInstall = ''
+    wrapProgram $out/bin/flitter \
+      --prefix PATH : "${python3.withPackages (pp: [ pp.pynput ])}/bin"
+  '';
+
+  meta = with lib; {
+    description = "A Livesplit-inspired speedrunning split timer for Linux/macOS terminal";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fgaz ];
+    homepage = "https://github.com/alexozer/flitter";
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix b/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix
index fe7599ac815c..f744c52b76b7 100644
--- a/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fluent-bit";
-  version = "1.7.9";
+  version = "1.8.6";
 
   src = fetchFromGitHub {
     owner = "fluent";
     repo = "fluent-bit";
     rev = "v${version}";
-    sha256 = "sha256-rL2IJYTMs0Yzo/oqrcI56krmVnxxxRWCebSjjbjiP/k=";
+    sha256 = "sha256-JYE4ReFiYSDx/0dlA8OkQw3rEpUEQDguTWoHC1r1fUc=";
   };
 
   nativeBuildInputs = [ cmake flex bison ];
diff --git a/nixpkgs/pkgs/tools/misc/font-config-info/default.nix b/nixpkgs/pkgs/tools/misc/font-config-info/default.nix
new file mode 100644
index 000000000000..89f0d9060386
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/font-config-info/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, pkg-config
+, gtk3
+, xsettingsd
+}:
+
+stdenv.mkDerivation rec {
+  pname = "font-config-info";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "derat";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "14z7hg9c7q8wliyqv68kp080mmk2rh6kpww6pn87hy7lwq20l2b7";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    gtk3
+    xsettingsd
+  ];
+
+  postPatch = ''
+    substituteInPlace font-config-info.c --replace "dump_xsettings |" "${xsettingsd}/bin/dump_xsettings |"
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -D -t $out/bin font-config-info
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Prints a Linux system's font configuration";
+    homepage = "https://github.com/derat/font-config-info";
+    license = with licenses; [ bsd3 ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/freshfetch/Cargo.lock b/nixpkgs/pkgs/tools/misc/freshfetch/Cargo.lock
deleted file mode 100644
index 24cfb7e9de96..000000000000
--- a/nixpkgs/pkgs/tools/misc/freshfetch/Cargo.lock
+++ /dev/null
@@ -1,587 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "aho-corasick"
-version = "0.7.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "ansi_term"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi",
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "autocfg"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
-
-[[package]]
-name = "bitflags"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-
-[[package]]
-name = "bstr"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a40b47ad93e1a5404e6c18dec46b628214fee441c70f4ab5d6942142cc268a3d"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "cc"
-version = "1.0.67"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "chrono"
-version = "0.4.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
-dependencies = [
- "libc",
- "num-integer",
- "num-traits",
- "time",
- "winapi",
-]
-
-[[package]]
-name = "clap"
-version = "2.33.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
-dependencies = [
- "ansi_term",
- "atty",
- "bitflags",
- "strsim",
- "textwrap",
- "unicode-width",
- "vec_map",
-]
-
-[[package]]
-name = "clml_rs"
-version = "0.3.0"
-source = "git+https://github.com/K4rakara/clml-rs#eecf1378f4e85a9b3dc91e8a15d497a2fd75906f"
-dependencies = [
- "lazy_static",
- "rand",
- "regex",
-]
-
-[[package]]
-name = "cmd_lib"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42443b644d30f401746fb4483fba96b13076e1ef6cb5bca7d6a14d1d8f9f2bd9"
-dependencies = [
- "cmd_lib_core",
- "cmd_lib_macros",
-]
-
-[[package]]
-name = "cmd_lib_core"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c50c50a1536e882455aeaff22015146ea143b9106fc8e116669dd078ec7b7fc8"
-
-[[package]]
-name = "cmd_lib_macros"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d202b0cfc28d8928ba89138c0a8248cf921b9870c6c9d60c9951092df5b62b2"
-dependencies = [
- "cmd_lib_core",
- "proc-macro2",
- "quote",
-]
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b"
-
-[[package]]
-name = "crossbeam-channel"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4"
-dependencies = [
- "cfg-if",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-deque"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9"
-dependencies = [
- "cfg-if",
- "crossbeam-epoch",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-epoch"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2584f639eb95fea8c798496315b297cf81b9b58b6d30ab066a75455333cf4b12"
-dependencies = [
- "cfg-if",
- "crossbeam-utils",
- "lazy_static",
- "memoffset",
- "scopeguard",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7e9d99fa91428effe99c5c6d4634cdeba32b8cf784fc428a2a687f61a952c49"
-dependencies = [
- "autocfg",
- "cfg-if",
- "lazy_static",
-]
-
-[[package]]
-name = "doc-comment"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
-
-[[package]]
-name = "either"
-version = "1.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
-
-[[package]]
-name = "freshfetch"
-version = "0.2.0"
-dependencies = [
- "chrono",
- "clap",
- "clml_rs",
- "cmd_lib",
- "cmd_lib_core",
- "lazy_static",
- "mlua",
- "regex",
- "sysinfo",
- "term_size",
- "uname",
- "users",
-]
-
-[[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 = "hermit-abi"
-version = "0.1.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
-dependencies = [
- "libc",
-]
-
-[[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.93"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41"
-
-[[package]]
-name = "log"
-version = "0.4.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "lua-src"
-version = "543.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "029180f994b9b36f47d905f92569b516acf7d073778e2e781c15ee375b1ca27d"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "luajit-src"
-version = "210.1.3+restyfe08842"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36d3de8377d8e0492b646527befb7eb826a9ecd2dc8c1f81ab0e654bc03a029b"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "memchr"
-version = "2.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
-
-[[package]]
-name = "memoffset"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f83fb6581e8ed1f85fd45c116db8405483899489e38406156c25eb743554361d"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "mlua"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f2fc8e1085d53b72898c59ceee1980b5826b0c98ce99886b7518f0ead00e5cb"
-dependencies = [
- "bstr",
- "cc",
- "lazy_static",
- "lua-src",
- "luajit-src",
- "num-traits",
- "pkg-config",
-]
-
-[[package]]
-name = "ntapi"
-version = "0.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "num-integer"
-version = "0.1.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
-dependencies = [
- "autocfg",
- "num-traits",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "num_cpus"
-version = "1.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
-dependencies = [
- "hermit-abi",
- "libc",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
-
-[[package]]
-name = "pkg-config"
-version = "0.3.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c"
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec"
-dependencies = [
- "unicode-xid",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom",
- "libc",
- "rand_chacha",
- "rand_core",
- "rand_hc",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-dependencies = [
- "ppv-lite86",
- "rand_core",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-dependencies = [
- "getrandom",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-dependencies = [
- "rand_core",
-]
-
-[[package]]
-name = "rayon"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674"
-dependencies = [
- "autocfg",
- "crossbeam-deque",
- "either",
- "rayon-core",
-]
-
-[[package]]
-name = "rayon-core"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a"
-dependencies = [
- "crossbeam-channel",
- "crossbeam-deque",
- "crossbeam-utils",
- "lazy_static",
- "num_cpus",
-]
-
-[[package]]
-name = "regex"
-version = "1.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "957056ecddbeba1b26965114e191d2e8589ce74db242b6ea25fc4062427a5c19"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548"
-
-[[package]]
-name = "scopeguard"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-
-[[package]]
-name = "strsim"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-
-[[package]]
-name = "sysinfo"
-version = "0.15.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de94457a09609f33fec5e7fceaf907488967c6c7c75d64da6a7ce6ffdb8b5abd"
-dependencies = [
- "cc",
- "cfg-if",
- "core-foundation-sys",
- "doc-comment",
- "libc",
- "ntapi",
- "once_cell",
- "rayon",
- "winapi",
-]
-
-[[package]]
-name = "term_size"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e4129646ca0ed8f45d09b929036bafad5377103edd06e50bf574b353d2b08d9"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "textwrap"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-dependencies = [
- "unicode-width",
-]
-
-[[package]]
-name = "time"
-version = "0.1.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi",
-]
-
-[[package]]
-name = "uname"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b72f89f0ca32e4db1c04e2a72f5345d59796d4866a1ee0609084569f73683dc8"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "unicode-width"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
-
-[[package]]
-name = "unicode-xid"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
-
-[[package]]
-name = "users"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa4227e95324a443c9fcb06e03d4d85e91aabe9a5a02aa818688b6918b6af486"
-dependencies = [
- "libc",
- "log",
-]
-
-[[package]]
-name = "vec_map"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
-
-[[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.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/nixpkgs/pkgs/tools/misc/freshfetch/default.nix b/nixpkgs/pkgs/tools/misc/freshfetch/default.nix
index b9d671f224e2..e73fec1a5942 100644
--- a/nixpkgs/pkgs/tools/misc/freshfetch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/freshfetch/default.nix
@@ -1,8 +1,7 @@
 { lib
-, stdenv
-, fetchFromGitHub
-, fetchurl
 , rustPlatform
+, fetchFromGitHub
+, stdenv
 , AppKit
 , CoreFoundation
 , DiskArbitration
@@ -21,13 +20,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "1l9zngr5l12g71j85iyph4jjri3crxc2pi9q0gczrrzvs03439mn";
   };
 
-  cargoLock = {
-    # update Cargo.lock every new release of freshfetch
-    lockFile = ./Cargo.lock;
-    outputHashes = {
-      "clml_rs-0.3.0" = "0hvd59zh7czk9jd1a2wwcm1acpcfbz32v9ka7ap6f74d638jcc19";
-    };
-  };
+  cargoSha256 = "sha256-ra29AwUleHVom6Pi5bL1IPqW7yyLYwRtKFvadMB/380=";
 
   # freshfetch depends on rust nightly features
   RUSTC_BOOTSTRAP = 1;
diff --git a/nixpkgs/pkgs/tools/misc/fsearch/default.nix b/nixpkgs/pkgs/tools/misc/fsearch/default.nix
index e2782ef652be..7027a6da0fab 100644
--- a/nixpkgs/pkgs/tools/misc/fsearch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fsearch/default.nix
@@ -54,5 +54,6 @@ stdenv.mkDerivation {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ artturin ];
     platforms = platforms.unix;
+    mainProgram = "fsearch";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/fzf/default.nix b/nixpkgs/pkgs/tools/misc/fzf/default.nix
index d38a0ad71377..e56a61338aaa 100644
--- a/nixpkgs/pkgs/tools/misc/fzf/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fzf/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fzf";
-  version = "0.27.2";
+  version = "0.27.3";
 
   src = fetchFromGitHub {
     owner = "junegunn";
     repo = pname;
     rev = version;
-    sha256 = "sha256-JWTyZRZrW1mFy91D+eZL6iYV0CcNxJUT4JA0hrBKZZU=";
+    sha256 = "sha256-uVGU8tOHHJYBoWTwx9ilnOKo49R0QHdCABKfGoL7Dkk=";
   };
 
-  vendorSha256 = "sha256-FKDCIotyra/TZ48wbpzudJZ2aI2pn+ZR4EoZ+9+19Mw=";
+  vendorSha256 = "sha256-omvCzM5kH3nAE57S33NV0OFRJmU+Ty7hhriaG/Dc0o0=";
 
   outputs = [ "out" "man" ];
 
diff --git a/nixpkgs/pkgs/tools/misc/git-fire/default.nix b/nixpkgs/pkgs/tools/misc/git-fire/default.nix
index 32d7a169d72e..bc7e9f4840b7 100644
--- a/nixpkgs/pkgs/tools/misc/git-fire/default.nix
+++ b/nixpkgs/pkgs/tools/misc/git-fire/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation {
     homepage = "https://github.com/qw3rtman/git-fire";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [ maintainers.swflint ];
+    maintainers = with maintainers; [ swflint ];
+    mainProgram = "git-fire";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/gitlint/default.nix b/nixpkgs/pkgs/tools/misc/gitlint/default.nix
index 267cdee72338..23420a654a1c 100644
--- a/nixpkgs/pkgs/tools/misc/gitlint/default.nix
+++ b/nixpkgs/pkgs/tools/misc/gitlint/default.nix
@@ -10,28 +10,21 @@ let
     packageOverrides = self: super: {
 
       click = super.click.overridePythonAttrs (oldAttrs: rec {
-        version = "7.1.2";
+        version = "8.0.1";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "06kbzd6sjfkqan3miwj9wqyddfxc2b6hi7p5s4dvqjb3gif2bdfj";
+          sha256 = "0ymdyf37acq4qxh038q0xx44qgj6y2kf0jd0ivvix6qij88w214c";
         };
       });
 
       arrow = super.arrow.overridePythonAttrs (oldAttrs: rec {
-        version = "1.0.3";
+        version = "1.2.0";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "0793badh4hgbk2c5g70hmbl7n3d4g5d87bcflld0w9rjwy59r71r";
+          sha256 = "0x70a057dqki2z1ny491ixbg980hg4lihc7g1zmy69g4v6xjkz0n";
         };
       });
 
-      sh = super.sh.overridePythonAttrs (oldAttrs: rec {
-        version = "1.14.1";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "13hxgifab9ichla13qaa7sh8r0il7vs1r21js72s0n355zr9mair";
-        };
-      });
     };
   };
 in
@@ -39,13 +32,13 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "gitlint";
-  version = "0.15.1";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "jorisroovers";
     repo = "gitlint";
     rev = "v${version}";
-    sha256 = "sha256-CqmE4V+svSuQAsoX0I3NpUqPU5CQf3fyCHJPrjUjHF4=";
+    sha256 = "1j6gfgqin5dmqd2qq0vib55d2r07s9sy4hwrvwlichxx5jjwncly";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/misc/goaccess/default.nix b/nixpkgs/pkgs/tools/misc/goaccess/default.nix
index 051e61e7af81..008c9b59397f 100644
--- a/nixpkgs/pkgs/tools/misc/goaccess/default.nix
+++ b/nixpkgs/pkgs/tools/misc/goaccess/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, ncurses, gettext, openssl, withGeolocation ? true, libmaxminddb }:
 
 stdenv.mkDerivation rec {
-  version = "1.5.1";
+  version = "1.5.2";
   pname = "goaccess";
 
   src = fetchurl {
     url = "https://tar.goaccess.io/goaccess-${version}.tar.gz";
-    sha256 = "sha256-iEF+eOYrcN45gLdiKRHk/NcZw2YPADyIeWjnGWw5lw8=";
+    sha256 = "sha256-oM4vk5OyYiSE5GnpWoCd/VKt5NQgBJHkPt4fy1KrHIo=";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/tools/misc/hdf4/default.nix b/nixpkgs/pkgs/tools/misc/hdf4/default.nix
index 99acda6b7883..98cd0cfbdee3 100644
--- a/nixpkgs/pkgs/tools/misc/hdf4/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hdf4/default.nix
@@ -7,7 +7,8 @@
 , uselibtirpc ? stdenv.isLinux
 , libtirpc
 , zlib
-, szip ? null
+, szipSupport ? false
+, szip
 , javaSupport ? false
 , jdk
 }:
@@ -55,10 +56,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     libjpeg
-    szip
     zlib
   ]
   ++ lib.optional javaSupport jdk
+  ++ lib.optional szipSupport szip
   ++ lib.optional uselibtirpc libtirpc;
 
   preConfigure = lib.optionalString uselibtirpc ''
@@ -66,7 +67,7 @@ stdenv.mkDerivation rec {
     substituteInPlace config/cmake/FindXDR.cmake \
       --replace 'find_path(XDR_INCLUDE_DIR NAMES rpc/types.h PATHS "/usr/include" "/usr/include/tirpc")' \
                 'find_path(XDR_INCLUDE_DIR NAMES rpc/types.h PATH_SUFFIXES include/tirpc)'
-  '' + lib.optionalString (szip != null) ''
+  '' + lib.optionalString szipSupport ''
     export SZIP_INSTALL=${szip}
   '';
 
@@ -85,7 +86,7 @@ stdenv.mkDerivation rec {
     "-DJAVA_HOME=${jdk}"
     "-DJAVA_AWT_LIBRARY=${javabase}/libawt.so"
     "-DJAVA_JVM_LIBRARY=${javabase}/server/libjvm.so"
-  ] ++ lib.optionals (szip != null) [
+  ] ++ lib.optionals szipSupport [
     "-DHDF4_ENABLE_SZIP_ENCODING=ON"
     "-DHDF4_ENABLE_SZIP_SUPPORT=ON"
   ];
@@ -119,6 +120,17 @@ stdenv.mkDerivation rec {
     moveToOutput bin "$bin"
   '';
 
+  passthru = {
+    inherit
+      uselibtirpc
+      libtirpc
+      szipSupport
+      szip
+      javaSupport
+      jdk
+    ;
+  };
+
   meta = with lib; {
     description = "Data model, library, and file format for storing and managing data";
     homepage = "https://support.hdfgroup.org/products/hdf4/";
diff --git a/nixpkgs/pkgs/tools/misc/hdf5/1.10.nix b/nixpkgs/pkgs/tools/misc/hdf5/1.10.nix
index 4e57a1c8e48a..74d8fce599a8 100644
--- a/nixpkgs/pkgs/tools/misc/hdf5/1.10.nix
+++ b/nixpkgs/pkgs/tools/misc/hdf5/1.10.nix
@@ -1,7 +1,9 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , removeReferencesTo
-, zlib ? null
+, zlibSupport ? true
+, zlib
 , enableShared ? !stdenv.hostPlatform.isStatic
 , javaSupport ? false
 , jdk
@@ -24,10 +26,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ removeReferencesTo ];
 
-  propagatedBuildInputs = optional (zlib != null) zlib;
+  propagatedBuildInputs = optional zlibSupport zlib;
 
-  configureFlags = []
-    ++ optional enableShared "--enable-shared"
+  configureFlags = optional enableShared "--enable-shared"
     ++ optional javaSupport "--enable-java";
 
   patches = [
diff --git a/nixpkgs/pkgs/tools/misc/hdf5/default.nix b/nixpkgs/pkgs/tools/misc/hdf5/default.nix
index c5485a5b3fb1..43c156de419e 100644
--- a/nixpkgs/pkgs/tools/misc/hdf5/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hdf5/default.nix
@@ -1,10 +1,14 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , removeReferencesTo
-, cpp ? false
-, gfortran ? null
-, zlib ? null
-, szip ? null
+, cppSupport ? false
+, fortranSupport ? false
+, fortran
+, zlibSupport ? true
+, zlib
+, szipSupport ? false
+, szip
 , mpiSupport ? false
 , mpi
 , enableShared ? !stdenv.hostPlatform.isStatic
@@ -15,7 +19,7 @@
 
 # cpp and mpi options are mutually exclusive
 # (--enable-unsupported could be used to force the build)
-assert !cpp || !mpiSupport;
+assert !cppSupport || !mpiSupport;
 
 let inherit (lib) optional optionals; in
 
@@ -28,28 +32,35 @@ stdenv.mkDerivation rec {
   };
 
   passthru = {
-    inherit mpiSupport;
-    inherit mpi;
+    inherit
+      cppSupport
+      fortranSupport
+      fortran
+      zlibSupport
+      zlib
+      szipSupport
+      szip
+      mpiSupport
+      mpi
+      ;
   };
 
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ removeReferencesTo ]
-    ++ optional (gfortran != null) gfortran;
+    ++ optional fortranSupport fortran;
 
-  buildInputs = []
-    ++ optional (szip != null) szip
+  buildInputs = optional fortranSupport fortran
+    ++ optional szipSupport szip
     ++ optional javaSupport jdk;
 
-  propagatedBuildInputs = []
-    ++ optional (zlib != null) zlib
+  propagatedBuildInputs = optional zlibSupport zlib
     ++ optional mpiSupport mpi;
 
-  configureFlags = []
-    ++ optional cpp "--enable-cxx"
-    ++ optional (gfortran != null) "--enable-fortran"
-    ++ optional (szip != null) "--with-szlib=${szip}"
-    ++ optionals mpiSupport ["--enable-parallel" "CC=${mpi}/bin/mpicc"]
+  configureFlags = optional cppSupport "--enable-cxx"
+    ++ optional fortranSupport "--enable-fortran"
+    ++ optional szipSupport "--with-szlib=${szip}"
+    ++ optionals mpiSupport [ "--enable-parallel" "CC=${mpi}/bin/mpicc" ]
     ++ optional enableShared "--enable-shared"
     ++ optional javaSupport "--enable-java"
     ++ optional usev110Api "--with-default-api-version=v110";
diff --git a/nixpkgs/pkgs/tools/misc/hdl-dump/default.nix b/nixpkgs/pkgs/tools/misc/hdl-dump/default.nix
index e5f3afb03d57..0d2dfbc504ac 100644
--- a/nixpkgs/pkgs/tools/misc/hdl-dump/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hdl-dump/default.nix
@@ -1,23 +1,19 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, upx
 }:
 
 stdenv.mkDerivation rec {
   pname = "hdl-dump";
-  version = "20202807";
+  version = "unstable-2021-08-20";
 
-  # Using AkuHAK's repo because playstation2's repo is outdated
   src = fetchFromGitHub {
-    owner = "AKuHAK";
+    owner = "ps2homebrew";
     repo = pname;
-    rev = "0c98b235c83c0fca1da93648f05ea5f940a4aee0";
-    sha256 = "1s3wflqjjlcslpa9n5chr8dbamhmfk88885dzw68apz4vf6g27iq";
+    rev = "1e760d7672dc12a36c09690b8c9b20d6642a2926";
+    sha256 = "sha256-NMExi2pUyj8vRn9beT2YvnEogRw/xzgqE+roaZ/vNZs=";
   };
 
-  buildInputs = [ upx ];
-
   makeFlags = [ "RELEASE=yes" ];
 
   installPhase = ''
@@ -25,10 +21,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://github.com/AKuHAK/hdl-dump";
+    homepage = "https://github.com/ps2homebrew/hdl-dump";
     description = "PlayStation 2 HDLoader image dump/install utility";
     platforms = platforms.linux;
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ makefu ];
+    mainProgram = "hdl_dump";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/infracost/default.nix b/nixpkgs/pkgs/tools/misc/infracost/default.nix
index 43dcbc4a74fc..a22e6eab06cc 100644
--- a/nixpkgs/pkgs/tools/misc/infracost/default.nix
+++ b/nixpkgs/pkgs/tools/misc/infracost/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "infracost";
-  version = "0.9.6";
+  version = "0.9.8";
 
   src = fetchFromGitHub {
     owner = "infracost";
     rev = "v${version}";
     repo = "infracost";
-    sha256 = "sha256-lcvpNhfSgr8ky03sTo7kjnaLUJeIrzFqpYUjvQpT1Po=";
+    sha256 = "sha256-8XS30fRxHPady/snr3gfo8Ryiw9O7EeDezcYYZjod1w=";
   };
-  vendorSha256 = "sha256-TKs3xuZaO9PvlAcV5GDa3Jb36zeVWX3LcdcPxWR6KzE=";
+  vendorSha256 = "sha256-8r7v3526kY+rFHkl1+KEwNbFrSnXPlpZD6kiK4ea+Zg=";
 
   ldflags = [ "-s" "-w" "-X github.com/infracost/infracost/internal/version.Version=v${version}" ];
 
@@ -18,9 +18,16 @@ buildGoModule rec {
   nativeBuildInputs = [ installShellFiles ];
 
   checkInputs = [ terraform ];
+  # Short only runs the unit-tests tagged short
+  checkFlags = [ "-v" "-short" ];
   checkPhase = ''
     runHook preCheck
-    make test
+
+    # Remove tests that require networking
+    rm cmd/infracost/{breakdown_test,diff_test}.go
+    # ldflags are required for some of the version testing
+    go test ./... $checkFlags ''${ldflags:+-ldflags="$ldflags"}
+
     runHook postCheck
   '';
 
diff --git a/nixpkgs/pkgs/tools/misc/kak-lsp/default.nix b/nixpkgs/pkgs/tools/misc/kak-lsp/default.nix
index bd955b8136ec..e800a93dd2ae 100644
--- a/nixpkgs/pkgs/tools/misc/kak-lsp/default.nix
+++ b/nixpkgs/pkgs/tools/misc/kak-lsp/default.nix
@@ -13,7 +13,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "0sv1a2k5rcf4hl1w50mh041r3w3nir6avyl6xa3rlcc7cy19q21y";
 
-  buildInputs = lib.optional stdenv.isDarwin [ Security ];
+  buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
   meta = with lib; {
     description = "Kakoune Language Server Protocol Client";
diff --git a/nixpkgs/pkgs/tools/misc/kalker/default.nix b/nixpkgs/pkgs/tools/misc/kalker/default.nix
index 230e5c629fbe..4df8e03f2a15 100644
--- a/nixpkgs/pkgs/tools/misc/kalker/default.nix
+++ b/nixpkgs/pkgs/tools/misc/kalker/default.nix
@@ -6,19 +6,17 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "kalker";
-  version = "1.0.0";
+  version = "1.0.1-2";
 
   src = fetchFromGitHub {
     owner = "PaddiM8";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1iZvp30/V0bw9NBxiKNiDgOMYJkDsGhTGdBsAPggdEg=";
+    sha256 = "sha256-fXTsCHqm+wO/ygyg0y+44G9pgaaEEH9fgePCDH86/vU=";
   };
 
-  cargoSha256 = "sha256-fBWnMlOLgwrOBPS2GIfOUDHQHcMMaU5r9JZVMbA+W58=";
+  cargoSha256 = "sha256-Ul21otEYCJuX5GnfV9OTpk/+3y32biASYZQpOecr8aU=";
 
-  # https://gitlab.com/tspiteri/gmp-mpfr-sys/-/issues/20
-  nativeBuildInputs = [ gcc ];
   buildInputs = [ gmp mpfr libmpc ];
 
   outputs = [ "out" "lib" ];
diff --git a/nixpkgs/pkgs/tools/misc/ledit/default.nix b/nixpkgs/pkgs/tools/misc/ledit/default.nix
new file mode 100644
index 000000000000..18efb8c95285
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/ledit/default.nix
@@ -0,0 +1,29 @@
+{ lib, stdenv, fetchzip, ocaml, camlp5}:
+
+stdenv.mkDerivation {
+  pname = "ledit";
+  version = "2.04";
+
+  src = fetchzip {
+    url = "http://pauillac.inria.fr/~ddr/ledit/distrib/src/ledit-2.04.tgz";
+    sha512 = "16vlv6rcsddwrvsqqiwxdfv5rxvblhrx0k84g7pjibi0an241yx8aqf8cj4f4sgl5xfs3frqrdf12zqwjf2h4jvk8jyhyar8n0nj3g0";
+  };
+
+  preBuild = ''
+    mkdir -p $out/bin
+    substituteInPlace Makefile --replace /bin/rm rm --replace BINDIR=/usr/local/bin BINDIR=$out/bin
+  '';
+
+  buildInputs = [
+    ocaml
+    camlp5
+  ];
+
+  meta = with lib; {
+    homepage = "http://pauillac.inria.fr/~ddr/ledit/";
+    description = "A line editor, allowing to use shell commands with control characters like in emacs";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.delta ];
+    broken = lib.versionOlder ocaml.version "4.03";
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/lesspipe/default.nix b/nixpkgs/pkgs/tools/misc/lesspipe/default.nix
index 5c8a13e3c202..8977f9013959 100644
--- a/nixpkgs/pkgs/tools/misc/lesspipe/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lesspipe/default.nix
@@ -1,11 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, substituteAll, perl, file, ncurses }:
+{ lib, stdenv, fetchFromGitHub, substituteAll, perl, file, ncurses, bash }:
 
 stdenv.mkDerivation rec {
   pname = "lesspipe";
   version = "1.85";
 
-  buildInputs = [ perl ];
-  preConfigure = "patchShebangs .";
+  nativeBuildInputs = [ perl ];
+  buildInputs = [ perl bash ];
+  strictDeps = true;
+  preConfigure = ''
+    patchShebangs --build configure
+  '';
+  configureFlags = [ "--shell=${bash}/bin/bash" "--yes" ];
+  configurePlatforms = [];
+  dontBuild = true;
 
   src = fetchFromGitHub {
     owner = "wofr06";
@@ -20,6 +27,7 @@ stdenv.mkDerivation rec {
       file = "${file}/bin/file";
       tput = "${ncurses}/bin/tput";
     })
+    ./override-shell-detection.patch
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/misc/lesspipe/override-shell-detection.patch b/nixpkgs/pkgs/tools/misc/lesspipe/override-shell-detection.patch
new file mode 100644
index 000000000000..08ef7e07b7cd
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/lesspipe/override-shell-detection.patch
@@ -0,0 +1,12 @@
+--- a/configure
++++ b/configure
+@@ -101,7 +101,8 @@
+ open OUT, ">lesspipe.sh.tmp";
+ my $in = 1;
+ my $anyin;
+-my $shell = check_shell_vers();
++my $shell = $opt_shell;
++print OUT "#!$shell\n";
+ # ask if syntax highlighting should be included
+ $ifsyntax = '';
+ if ($opt_yes) {
diff --git a/nixpkgs/pkgs/tools/misc/lf/default.nix b/nixpkgs/pkgs/tools/misc/lf/default.nix
index b135ed061dee..5d812f5867cc 100644
--- a/nixpkgs/pkgs/tools/misc/lf/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lf/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "lf";
-  version = "24";
+  version = "25";
 
   src = fetchFromGitHub {
     owner = "gokcehan";
     repo = "lf";
     rev = "r${version}";
-    sha256 = "0nc7vfkaxxl2a201wnbz74an3siz8cjwrfylx17v6al5n93vxip0";
+    sha256 = "sha256-5/OfEWgtB9R3XRJ16ponf+bBVGAXkqPq8IlB8+zyjAQ=";
   };
 
   vendorSha256 = "sha256-ujQh4aE++K/fn3PJqkAbTtwRyJPSI9TJQ1DvwLF9etU=";
diff --git a/nixpkgs/pkgs/tools/misc/licensor/default.nix b/nixpkgs/pkgs/tools/misc/licensor/default.nix
index 6cf31c7835c1..93983c8fe40b 100644
--- a/nixpkgs/pkgs/tools/misc/licensor/default.nix
+++ b/nixpkgs/pkgs/tools/misc/licensor/default.nix
@@ -18,5 +18,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/raftario/licensor";
     license = licenses.mit;
     maintainers = with maintainers; [ Br1ght0ne ];
+    mainProgram = "licensor";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/loop/default.nix b/nixpkgs/pkgs/tools/misc/loop/default.nix
index 17491b645d4b..6fa819cd8366 100644
--- a/nixpkgs/pkgs/tools/misc/loop/default.nix
+++ b/nixpkgs/pkgs/tools/misc/loop/default.nix
@@ -18,5 +18,6 @@ rustPlatform.buildRustPackage {
     homepage = "https://github.com/Miserlou/Loop";
     maintainers = with maintainers; [ koral ];
     license = licenses.mit;
+    mainProgram = "loop";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/mandoc/default.nix b/nixpkgs/pkgs/tools/misc/mandoc/default.nix
index da756f764d40..db0789c11267 100644
--- a/nixpkgs/pkgs/tools/misc/mandoc/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mandoc/default.nix
@@ -1,41 +1,71 @@
-{ lib, stdenv, fetchurl, zlib }:
+{ lib, stdenv, fetchurl, zlib, perl }:
+
+let
+  # check if we can execute binaries for the host platform on the build platform
+  # even though the platforms aren't the same. mandoc can't be cross compiled
+  # (easily) because of its configurePhase, but we want to allow “native” cross
+  # such as pkgsLLVM and pkgsStatic.
+  executableCross = stdenv.hostPlatform.isCompatible stdenv.buildPlatform;
+
+  # Name of an UTF-8 locale _always_ present at runtime, used for UTF-8 support
+  # (locale set by the user may differ). This would usually be C.UTF-8, but
+  # darwin has no such locale.
+  utf8Locale =
+    if stdenv.hostPlatform.isDarwin
+    then "en_US.UTF-8"
+    else "C.UTF-8";
+in
+
+assert executableCross ||
+  throw "mandoc relies on executing compiled programs in configurePhase, can't cross compile";
 
 stdenv.mkDerivation rec {
   pname = "mandoc";
-  version = "1.14.5";
+  version = "1.14.6";
 
   src = fetchurl {
     url = "https://mandoc.bsd.lv/snapshots/mandoc-${version}.tar.gz";
-    sha256 = "1xyqllxpjj1kimlipx11pzyywf5c25i4wmv0lqm7ph3gnlnb86c2";
+    sha256 = "8bf0d570f01e70a6e124884088870cbed7537f36328d512909eb10cd53179d9c";
   };
 
   buildInputs = [ zlib ];
 
   configureLocal = ''
-    HAVE_WCHAR=1
     MANPATH_DEFAULT="/run/current-system/sw/share/man"
+    MANPATH_BASE="$MANPATH_DEFAULT"
     OSNAME="NixOS"
     PREFIX="$out"
-    HAVE_MANPATH=1
     LD_OHASH="-lutil"
-    BUILD_DB=0
+    # Use symlinks instead of hardlinks (more commonly used in nixpkgs)
+    LN="ln -sf"
+    # nixpkgs doesn't have sbin, install makewhatis to bin
+    SBINDIR="$PREFIX/bin"
     CC=${stdenv.cc.targetPrefix}cc
+    AR=${stdenv.cc.bintools.targetPrefix}ar
+    # Bypass the locale(1)-based check for UTF-8 support since it causes trouble:
+    # * We only have meaningful locale(1) implementations for glibc and macOS
+    # * NetBSD's locale(1) (used for macOS) depends on mandoc
+    # * Sandbox and locales cause all kinds of trouble
+    # * build and host libc (and thus locale handling) may differ
+    HAVE_WCHAR=1
+    UTF8_LOCALE=${utf8Locale}
   '';
 
-  patches = [
-    ./remove-broken-cc-check.patch
-  ];
-
   preConfigure = ''
-    echo $configureLocal > configure.local
+    printf '%s' "$configureLocal" > configure.local
   '';
 
+  doCheck = executableCross;
+  checkTarget = "regress";
+  checkInputs = [ perl ];
+  preCheck = "patchShebangs --build regress/regress.pl";
+
   meta = with lib; {
     homepage = "https://mandoc.bsd.lv/";
     description = "suite of tools compiling mdoc and man";
     downloadPage = "http://mandoc.bsd.lv/snapshots/";
     license = licenses.bsd3;
     platforms = platforms.all;
-    maintainers = with maintainers; [ bb010g ramkromberg ];
+    maintainers = with maintainers; [ bb010g ramkromberg sternenseemann ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/mandoc/remove-broken-cc-check.patch b/nixpkgs/pkgs/tools/misc/mandoc/remove-broken-cc-check.patch
deleted file mode 100644
index 580226d165bb..000000000000
--- a/nixpkgs/pkgs/tools/misc/mandoc/remove-broken-cc-check.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- mandoc-1.14.4.org/configure	2018-08-08 15:51:51.000000000 +0100
-+++ mandoc-1.14.4/configure	2018-08-27 08:19:40.391912427 +0100
-@@ -40,7 +40,7 @@
- OSNAME=
- UTF8_LOCALE=
- 
--CC=`printf "all:\\n\\t@echo \\\$(CC)\\n" | env -i make -sf -`
-+CC=
- CFLAGS=
- LDADD=
- LDFLAGS=
diff --git a/nixpkgs/pkgs/tools/misc/mapcidr/default.nix b/nixpkgs/pkgs/tools/misc/mapcidr/default.nix
new file mode 100644
index 000000000000..2c8a80b28d0c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/mapcidr/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "mapcidr";
+  version = "0.0.8";
+
+  src = fetchFromGitHub {
+    owner = "projectdiscovery";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-hlMIgSsSqvMx6Y7JnR7L9muTLWPfxDN5raJRezt99G0=";
+  };
+
+  vendorSha256 = "sha256-zp+XaSZgSMwJK+EEiTaJKBTPiKYaYpTtArnGBmHUGzE=";
+
+  modRoot = ".";
+  subPackages = [
+    "cmd/mapcidr"
+  ];
+
+  meta = with lib; {
+    description = "Small utility program to perform multiple operations for a given subnet/CIDR ranges";
+    longDescription = ''
+      mapCIDR is developed to ease load distribution for mass scanning
+      operations, it can be used both as a library and as independent CLI tool.
+    '';
+    homepage = "https://github.com/projectdiscovery/mapcidr";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hanemile ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/mathpix-snipping-tool/default.nix b/nixpkgs/pkgs/tools/misc/mathpix-snipping-tool/default.nix
index a264a107990e..f6015f3928d6 100644
--- a/nixpkgs/pkgs/tools/misc/mathpix-snipping-tool/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mathpix-snipping-tool/default.nix
@@ -1,12 +1,12 @@
 { appimageTools, lib, fetchurl }:
 let
   pname = "mathpix-snipping-tool";
-  version = "03.00.0050";
+  version = "03.00.0072";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://download.mathpix.com/linux/Mathpix_Snipping_Tool-x86_64.v${version}.AppImage";
-    sha256 = "0bf4x6jffiqdss8vwy1qypv75zxi1bfc8rywsgp5qlsjq792plpb";
+    sha256 = "1igg8wnshmg9f23qqw1gqb85h1aa3461c1n7dmgw6sn4lrrrh5ms";
   };
 
   appimageContents = appimageTools.extract { inherit name src; };
diff --git a/nixpkgs/pkgs/tools/misc/mmv-go/default.nix b/nixpkgs/pkgs/tools/misc/mmv-go/default.nix
index efca64bdc44a..8f6550d0592c 100644
--- a/nixpkgs/pkgs/tools/misc/mmv-go/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mmv-go/default.nix
@@ -20,5 +20,6 @@ buildGoModule rec {
     description = "Rename multiple files using your $EDITOR";
     license = licenses.mit;
     maintainers = with maintainers; [ zowoq ];
+    mainProgram = "mmv";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/mtm/default.nix b/nixpkgs/pkgs/tools/misc/mtm/default.nix
index bc8ac50d1aeb..c142c1f29036 100644
--- a/nixpkgs/pkgs/tools/misc/mtm/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mtm/default.nix
@@ -2,28 +2,29 @@
 
 stdenv.mkDerivation rec {
   pname = "mtm";
-  version = "1.2.0";
+  version = "1.2.1";
+
+  outputs = [ "out" "terminfo" ];
 
   src = fetchFromGitHub {
     owner = "deadpixi";
     repo = pname;
     rev = version;
-    sha256 = "0b2arkmbmabxmrqxlpvvvhll2qx0xgj7r4r6p0ymnm9p70idris4";
+    sha256 = "0gibrvah059z37jvn1qs4b6kvd4ivk2mfihmcpgx1vz6yg70zghv";
   };
 
   buildInputs = [ ncurses ];
 
-  preBuild = ''
-    substituteInPlace Makefile --replace "strip -s mtm" ""
-  '';
-
-  installPhase = ''
-    runHook preInstall
+  makeFlags = [ "DESTDIR=${placeholder "out"}" "MANDIR=${placeholder "out"}/share/man/man1" ];
 
-    install -Dm755 -t $out/bin mtm
-    install -Dm644 -t $out/share/man/man1 mtm.1
+  preInstall = ''
+    mkdir -p $out/bin/ $out/share/man/man1
+  '';
 
-    runHook postInstall
+  postInstall = ''
+    mkdir -p $terminfo/share/terminfo $out/nix-support
+    tic -x -o $terminfo/share/terminfo mtm.ti
+    echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/misc/natls/default.nix b/nixpkgs/pkgs/tools/misc/natls/default.nix
new file mode 100644
index 000000000000..368291f60d9a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/natls/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "natls";
+  version = "2.1.14";
+
+  src = fetchFromGitHub {
+    owner = "willdoescode";
+    repo = "nat";
+    rev = "v${version}";
+    sha256 = "sha256-4x92r6V9AvEO88gFofPTUt+mS7ZhmptDn/8O4pizSRg=";
+  };
+
+  cargoSha256 = "sha256-Am4HmfmhskKxcp1iWod5z3caHwsdo31qCaVi0UxTXAg=";
+
+  meta = with lib; {
+    description = "the 'ls' replacement you never knew you needed";
+    homepage = "https://github.com/willdoescode/nat";
+    license = licenses.mit;
+    maintainers = with maintainers; [ msfjarvis ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/neofetch/default.nix b/nixpkgs/pkgs/tools/misc/neofetch/default.nix
index 3d4bf8500ba2..77af8d5d788b 100644
--- a/nixpkgs/pkgs/tools/misc/neofetch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/neofetch/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenvNoCC, fetchFromGitHub, bash, makeWrapper, pciutils
-, x11Support ? true, ueberzug
+, x11Support ? true, ueberzug, fetchpatch
 }:
 
 stdenvNoCC.mkDerivation rec {
@@ -13,6 +13,14 @@ stdenvNoCC.mkDerivation rec {
     sha256 = "sha256-PZjFF/K7bvPIjGVoGqaoR8pWE6Di/qJVKFNcIz7G8xE=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/dylanaraps/neofetch/commit/413c32e55dc16f0360f8e84af2b59fe45505f81b.patch";
+      sha256 = "1fapdg9z79f0j3vw7fgi72b54aw4brn42bjsj48brbvg3ixsciph";
+      name = "avoid_overwriting_gio_extra_modules_env_var.patch";
+    })
+  ];
+
   strictDeps = true;
   buildInputs = [ bash ];
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/misc/parallel/wrapper.nix b/nixpkgs/pkgs/tools/misc/parallel/wrapper.nix
index b85dfc56f3d6..0240f1ac9e9e 100644
--- a/nixpkgs/pkgs/tools/misc/parallel/wrapper.nix
+++ b/nixpkgs/pkgs/tools/misc/parallel/wrapper.nix
@@ -1,13 +1,10 @@
-{ parallel, makeWrapper , runCommand
-, perlPackages
-, extraPerlPackages ?
-    with perlPackages; [ DBI DBDPg DBDSQLite DBDCSV TextCSV ]
-}:
+{ lib, runCommand, makeWrapper, parallel, perlPackages
+, extraPerlPackages ? with perlPackages; [ DBI DBDPg DBDSQLite DBDCSV TextCSV ]
+, willCite ? false }:
 
-runCommand "parallel-full" {
-  nativeBuildInputs = [ makeWrapper ];
-  } ''
-      mkdir -p $out/bin
-      makeWrapper ${parallel}/bin/parallel $out/bin/parallel \
-        --set PERL5LIB "${perlPackages.makeFullPerlPath extraPerlPackages}"
-  ''
+runCommand "parallel-full" { nativeBuildInputs = [ makeWrapper ]; } ''
+  mkdir -p $out/bin
+  makeWrapper ${parallel}/bin/parallel $out/bin/parallel \
+    --set PERL5LIB "${perlPackages.makeFullPerlPath extraPerlPackages}" \
+    ${lib.optionalString willCite "--add-flags --will-cite"}
+''
diff --git a/nixpkgs/pkgs/tools/misc/plantuml/default.nix b/nixpkgs/pkgs/tools/misc/plantuml/default.nix
index 304649a86bee..14b9733bf69b 100644
--- a/nixpkgs/pkgs/tools/misc/plantuml/default.nix
+++ b/nixpkgs/pkgs/tools/misc/plantuml/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, makeWrapper, jre, graphviz }:
 
 stdenv.mkDerivation rec {
-  version = "1.2021.9";
+  version = "1.2021.12";
   pname = "plantuml";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/plantuml/${version}/plantuml.${version}.jar";
-    sha256 = "sha256-ezyQGrJwMl2Tqv14GSQzApdDqg1RV8OWdnp4K8a1A5k=";
+    sha256 = "sha256-t9IQ1D2QJHrQmt/0EWofrqSf6o2YMUdpxFILsV5muog=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/misc/powerline-go/default.nix b/nixpkgs/pkgs/tools/misc/powerline-go/default.nix
index 004bebaebbea..85d9ed59ff43 100644
--- a/nixpkgs/pkgs/tools/misc/powerline-go/default.nix
+++ b/nixpkgs/pkgs/tools/misc/powerline-go/default.nix
@@ -25,5 +25,6 @@ buildGoModule rec {
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ sifmelcara ];
+    mainProgram = "powerline-go";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/profile-sync-daemon/default.nix b/nixpkgs/pkgs/tools/misc/profile-sync-daemon/default.nix
index d0bd0c76a839..4cca88a9b40a 100644
--- a/nixpkgs/pkgs/tools/misc/profile-sync-daemon/default.nix
+++ b/nixpkgs/pkgs/tools/misc/profile-sync-daemon/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, util-linux, coreutils}:
+{ lib, stdenv, fetchFromGitHub, util-linux, coreutils }:
 
 stdenv.mkDerivation rec {
-  version = "6.44";
   pname = "profile-sync-daemon";
+  version = "6.44";
 
-  src = fetchurl {
-    url = "https://github.com/graysky2/profile-sync-daemon/archive/v${version}.tar.gz";
-    sha256 = "sha256-+iQr7T99X/jYYgq0xNHLPCJG5mZU/6dN76Z1FB51Z54=";
+  src = fetchFromGitHub {
+    owner = "graysky2";
+    repo = "profile-sync-daemon";
+    rev = "v${version}";
+    hash = "sha256-7sEC2b4mzgbDTFgpH5abZ/kiwEmGdbKkTLiD73Efdls=";
   };
 
   installPhase = ''
@@ -21,8 +23,6 @@ stdenv.mkDerivation rec {
       --replace "sudo " "/run/wrappers/bin/sudo "
   '';
 
-  preferLocalBuild = true;
-
   meta = with lib; {
     description = "Syncs browser profile dirs to RAM";
     longDescription = ''
diff --git a/nixpkgs/pkgs/tools/misc/pspg/default.nix b/nixpkgs/pkgs/tools/misc/pspg/default.nix
index 26427d38039d..b54c2e37d280 100644
--- a/nixpkgs/pkgs/tools/misc/pspg/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pspg/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, gnugrep, ncurses, pkg-config, readline, postgresql }:
+{ lib, stdenv, fetchFromGitHub, gnugrep, ncurses, pkg-config, installShellFiles, readline, postgresql }:
 
 stdenv.mkDerivation rec {
   pname = "pspg";
@@ -11,11 +11,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-xJ7kgEvIsTufAZa5x3YpElTc74nEs9C+baVjbheHySM=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config installShellFiles ];
   buildInputs = [ gnugrep ncurses readline postgresql ];
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
+  postInstall = ''
+    installShellCompletion --bash --name pspg.bash bash-completion.sh
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/okbob/pspg";
     description = "Postgres Pager";
diff --git a/nixpkgs/pkgs/tools/misc/rates/default.nix b/nixpkgs/pkgs/tools/misc/rates/default.nix
new file mode 100644
index 000000000000..989a9e6734ac
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/rates/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rates";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "lunush";
+    repo = pname;
+    rev = version;
+    sha256 = "077qxs4kwfprsai07dninkhmj3ihnghdxan98iv8gmsl3pijbgwh";
+  };
+
+  cargoSha256 = "041sskiq152iywwqd8p7aqsqzbj359zl7ilnp8ahzdqprz3slk1w";
+
+  meta = with lib; {
+    description = "CLI tool that brings currency exchange rates right into your terminal";
+    homepage = "https://github.com/lunush/rates";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/recutils/default.nix b/nixpkgs/pkgs/tools/misc/recutils/default.nix
index d6a5b517a84e..1501f8edda1f 100644
--- a/nixpkgs/pkgs/tools/misc/recutils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/recutils/default.nix
@@ -1,36 +1,42 @@
-{ fetchurl, lib, stdenv, emacs, curl, check, bc }:
+{ lib
+, stdenv
+, fetchurl
+, bc
+, check
+, curl
+}:
 
 stdenv.mkDerivation rec {
   pname = "recutils";
   version = "1.8";
 
   src = fetchurl {
-    url = "mirror://gnu/recutils/recutils-${version}.tar.gz";
-    sha256 = "14xiln4immfsw8isnvwvq0h23f6z0wilpgsc4qzabnrzb5lsx3nz";
+    url = "mirror://gnu/recutils/${pname}-${version}.tar.gz";
+    hash = "sha256-346uaVk/26U+Jky/SyMH37ghIMCbb6sj4trVGomlsZM=";
   };
 
   hardeningDisable = [ "format" ];
 
-  buildInputs = [ curl emacs ];
+  buildInputs = [
+    curl
+  ];
 
-  checkInputs = [ check bc ];
+  checkInputs = [
+    check
+    bc
+  ];
   doCheck = true;
 
-  meta = {
-    description = "Tools and libraries to access human-editable, text-based databases";
-
-    longDescription =
-      '' GNU Recutils is a set of tools and libraries to access
-         human-editable, text-based databases called recfiles.  The data is
-         stored as a sequence of records, each record containing an arbitrary
-         number of named fields.
-      '';
-
+  meta = with lib; {
     homepage = "https://www.gnu.org/software/recutils/";
-
-    license = lib.licenses.gpl3Plus;
-
-    platforms = lib.platforms.all;
-    maintainers = [ ];
+    description = "Tools and libraries to access human-editable, text-based databases";
+    longDescription = ''
+      GNU Recutils is a set of tools and libraries to access human-editable,
+      text-based databases called recfiles. The data is stored as a sequence of
+      records, each record containing an arbitrary number of named fields.
+    '';
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix b/nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix
index 38a43c7ac3dd..c4764923c7a9 100644
--- a/nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix
+++ b/nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix
@@ -40,13 +40,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rpm-ostree";
-  version = "2021.2";
+  version = "2021.9";
 
   outputs = [ "out" "dev" "man" "devdoc" ];
 
   src = fetchurl {
     url = "https://github.com/coreos/${pname}/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-msu5LReTYupgoS6Rm2nrMz9jauciAD99hh+w8BhSYn4=";
+    sha256 = "sha256-DvATvvAliJhEItbOlK1CA/ibhzImw651pkplqpRG+OQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix b/nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix
index d6f475a408ef..045a8b9ab034 100644
--- a/nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "s6-portable-utils";
-  version = "2.2.3.2";
-  sha256 = "173nmygkp7ky3093dg4rx3ahvyl7ll86z8qj6pl3jd96xb9s49v6";
+  version = "2.2.3.3";
+  sha256 = "132jj5qk8x40kw6lrrn7jiqhvqj9d2h6g6mhl8zma1sp37bg0i84";
 
   description = "A set of tiny general Unix utilities optimized for simplicity and small size";
 
diff --git a/nixpkgs/pkgs/tools/misc/screen/default.nix b/nixpkgs/pkgs/tools/misc/screen/default.nix
index 70a959578555..d1e02e8b9a36 100644
--- a/nixpkgs/pkgs/tools/misc/screen/default.nix
+++ b/nixpkgs/pkgs/tools/misc/screen/default.nix
@@ -69,6 +69,6 @@ stdenv.mkDerivation rec {
       '';
 
     platforms = platforms.unix;
-    maintainers = with maintainers; [ peti vrthra ];
+    maintainers = with maintainers; [ vrthra ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/sdate/default.nix b/nixpkgs/pkgs/tools/misc/sdate/default.nix
index 69c9d726713b..abc046bb6d02 100644
--- a/nixpkgs/pkgs/tools/misc/sdate/default.nix
+++ b/nixpkgs/pkgs/tools/misc/sdate/default.nix
@@ -1,19 +1,23 @@
-{ lib, stdenv, fetchurl, autoreconfHook }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook }:
+
 stdenv.mkDerivation rec {
   pname = "sdate";
   version = "0.7";
-  src = fetchurl {
-    url = "https://github.com/ChristophBerg/sdate/archive/${version}.tar.gz";
-    sha256 = "1lfnsb8prac8rspnxcawd138jyhyivwf35rrmfvwq6dhsx23c6vy";
+
+  src = fetchFromGitHub {
+    owner = "ChristophBerg";
+    repo = "sdate";
+    rev = version;
+    hash = "sha256-jkwe+bSBa0p1Xzfetsdpw0RYw/gSRxnY2jBOzC5HtJ8=";
   };
 
-  buildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook ];
 
-  meta = {
+  meta = with lib; {
     homepage = "https://www.df7cb.de/projects/sdate";
     description = "Eternal september version of the date program";
-    license = lib.licenses.gpl2Plus;
-    maintainers = with lib.maintainers; [ edef ];
-    platforms = lib.platforms.all;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ edef ];
+    platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/sharedown/default.nix b/nixpkgs/pkgs/tools/misc/sharedown/default.nix
new file mode 100644
index 000000000000..fed2a826459a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/sharedown/default.nix
@@ -0,0 +1,95 @@
+{ stdenvNoCC
+, lib
+, fetchFromGitHub
+, ffmpeg
+, yt-dlp
+, electron
+, makeWrapper
+, makeDesktopItem
+, copyDesktopItems
+, yarn2nix-moretea
+, chromium
+}:
+
+let
+  binPath = lib.makeBinPath ([
+    ffmpeg
+    yt-dlp
+  ]);
+
+  pname = "Sharedown";
+  version = "2.0.0";
+
+  src = fetchFromGitHub {
+    owner = "kylon";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-Z6OsZvVzk//qEkl4ciNz4cQRqC2GFg0qYgmliAyz6fo=";
+  };
+
+  modules = yarn2nix-moretea.mkYarnModules {
+    name = "${pname}-modules-${version}";
+    inherit pname version;
+
+    yarnFlags = yarn2nix-moretea.defaultYarnFlags ++ [
+      "--production"
+    ];
+
+    packageJSON = "${src}/package.json";
+    yarnLock = ./yarn.lock;
+    yarnNix = ./yarndeps.nix;
+  };
+in
+stdenvNoCC.mkDerivation rec {
+  inherit pname version src;
+
+  nativeBuildInputs = [
+    copyDesktopItems
+    makeWrapper
+  ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "Sharedown";
+      exec = "Sharedown";
+      icon = "Sharedown";
+      comment = "An Application to save your Sharepoint videos for offline usage.";
+      desktopName = "Sharedown";
+      categories = "Network;Archiving";
+    })
+  ];
+
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p "$out/bin" "$out/share/Sharedown" "$out/share/applications" "$out/share/icons/hicolor/512x512/apps"
+
+    # Electron app
+    cp -r *.js *.json sharedownlogo.png sharedown "${modules}/node_modules" "$out/share/Sharedown"
+
+    # Desktop Launcher
+    cp build/icon.png "$out/share/icons/hicolor/512x512/apps/Sharedown.png"
+
+    # Install electron wrapper script
+    makeWrapper "${electron}/bin/electron" "$out/bin/Sharedown" \
+      --add-flags "$out/share/Sharedown" \
+      --prefix PATH : "${binPath}" \
+      --set PUPPETEER_EXECUTABLE_PATH "${chromium}/bin/chromium"
+
+    runHook postInstall
+  '';
+
+  passthru.updateScript = ./update.sh;
+
+  meta = with lib; {
+    description = "Application to save your Sharepoint videos for offline usage";
+    homepage = "https://github.com/kylon/Sharedown";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [
+      jtojnar
+    ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/sharedown/update.sh b/nixpkgs/pkgs/tools/misc/sharedown/update.sh
new file mode 100755
index 000000000000..5ba572f23698
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/sharedown/update.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p nix-update yarn yarn2nix-moretea.yarn2nix
+
+set -euo pipefail
+
+dirname="$(realpath "$(dirname "$0")")"
+sourceDir="$(nix-build -A sharedown.src --no-out-link)"
+tempDir="$(mktemp -d)"
+
+nix-update sharedown
+
+cp -r "$sourceDir"/* "$tempDir"
+cd "$tempDir"
+PUPPETEER_SKIP_DOWNLOAD=1 yarn install
+yarn2nix > "$dirname/yarndeps.nix"
+cp -r yarn.lock "$dirname"
diff --git a/nixpkgs/pkgs/tools/misc/sharedown/yarn.lock b/nixpkgs/pkgs/tools/misc/sharedown/yarn.lock
new file mode 100644
index 000000000000..48f5917ec278
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/sharedown/yarn.lock
@@ -0,0 +1,2193 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"7zip-bin@~5.1.1":
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.1.1.tgz#9274ec7460652f9c632c59addf24efb1684ef876"
+  integrity sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==
+
+"@develar/schema-utils@~2.6.5":
+  version "2.6.5"
+  resolved "https://registry.yarnpkg.com/@develar/schema-utils/-/schema-utils-2.6.5.tgz#3ece22c5838402419a6e0425f85742b961d9b6c6"
+  integrity sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==
+  dependencies:
+    ajv "^6.12.0"
+    ajv-keywords "^3.4.1"
+
+"@electron/get@^1.13.0":
+  version "1.13.0"
+  resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.13.0.tgz#95c6bcaff4f9a505ea46792424f451efea89228c"
+  integrity sha512-+SjZhRuRo+STTO1Fdhzqnv9D2ZhjxXP6egsJ9kiO8dtP68cDx7dFCwWi64dlMQV7sWcfW1OYCW4wviEBzmRsfQ==
+  dependencies:
+    debug "^4.1.1"
+    env-paths "^2.2.0"
+    fs-extra "^8.1.0"
+    got "^9.6.0"
+    progress "^2.0.3"
+    semver "^6.2.0"
+    sumchecker "^3.0.1"
+  optionalDependencies:
+    global-agent "^2.0.2"
+    global-tunnel-ng "^2.7.1"
+
+"@electron/universal@1.0.5":
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.5.tgz#b812340e4ef21da2b3ee77b2b4d35c9b86defe37"
+  integrity sha512-zX9O6+jr2NMyAdSkwEUlyltiI4/EBLu2Ls/VD3pUQdi3cAYeYfdQnT2AJJ38HE4QxLccbU13LSpccw1IWlkyag==
+  dependencies:
+    "@malept/cross-spawn-promise" "^1.1.0"
+    asar "^3.0.3"
+    debug "^4.3.1"
+    dir-compare "^2.4.0"
+    fs-extra "^9.0.1"
+
+"@malept/cross-spawn-promise@^1.1.0":
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz#504af200af6b98e198bce768bc1730c6936ae01d"
+  integrity sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==
+  dependencies:
+    cross-spawn "^7.0.1"
+
+"@malept/flatpak-bundler@^0.4.0":
+  version "0.4.0"
+  resolved "https://registry.yarnpkg.com/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz#e8a32c30a95d20c2b1bb635cc580981a06389858"
+  integrity sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==
+  dependencies:
+    debug "^4.1.1"
+    fs-extra "^9.0.0"
+    lodash "^4.17.15"
+    tmp-promise "^3.0.2"
+
+"@sindresorhus/is@^0.14.0":
+  version "0.14.0"
+  resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
+  integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
+
+"@szmarczak/http-timer@^1.1.2":
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421"
+  integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==
+  dependencies:
+    defer-to-connect "^1.0.1"
+
+"@tedconf/fessonia@*":
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/@tedconf/fessonia/-/fessonia-2.2.1.tgz#24499e69c3aeda4926670675b9fdfeb9ab15f19d"
+  integrity sha512-eX+O8P/xIkuCDeDI3IOIoyzuTJLVqbGnoBhLiBoFU7MwntF02ygQcByMinhUtXv2zm0pOSy6zeKoQTKAVBK60A==
+
+"@types/debug@^4.1.5":
+  version "4.1.7"
+  resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82"
+  integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==
+  dependencies:
+    "@types/ms" "*"
+
+"@types/fs-extra@^9.0.11":
+  version "9.0.13"
+  resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45"
+  integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==
+  dependencies:
+    "@types/node" "*"
+
+"@types/glob@^7.1.1":
+  version "7.1.4"
+  resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.4.tgz#ea59e21d2ee5c517914cb4bc8e4153b99e566672"
+  integrity sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==
+  dependencies:
+    "@types/minimatch" "*"
+    "@types/node" "*"
+
+"@types/minimatch@*":
+  version "3.0.5"
+  resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40"
+  integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==
+
+"@types/ms@*":
+  version "0.7.31"
+  resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197"
+  integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==
+
+"@types/node@*":
+  version "16.9.6"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-16.9.6.tgz#040a64d7faf9e5d9e940357125f0963012e66f04"
+  integrity sha512-YHUZhBOMTM3mjFkXVcK+WwAcYmyhe1wL4lfqNtzI0b3qAy7yuSetnM7QJazgE5PFmgVTNGiLOgRFfJMqW7XpSQ==
+
+"@types/node@^14.6.2":
+  version "14.17.18"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.18.tgz#0198489a751005f71217744aa966cd1f29447c81"
+  integrity sha512-haYyibw4pbteEhkSg0xdDLAI3679L75EJ799ymVrPxOA922bPx3ML59SoDsQ//rHlvqpu+e36kcbR3XRQtFblA==
+
+"@types/plist@^3.0.1":
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.2.tgz#61b3727bba0f5c462fe333542534a0c3e19ccb01"
+  integrity sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw==
+  dependencies:
+    "@types/node" "*"
+    xmlbuilder ">=11.0.1"
+
+"@types/verror@^1.10.3":
+  version "1.10.5"
+  resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.5.tgz#2a1413aded46e67a1fe2386800e291123ed75eb1"
+  integrity sha512-9UjMCHK5GPgQRoNbqdLIAvAy0EInuiqbW0PBMtVP6B5B2HQJlvoJHM+KodPZMEjOa5VkSc+5LH7xy+cUzQdmHw==
+
+"@types/yargs-parser@*":
+  version "20.2.1"
+  resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129"
+  integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==
+
+"@types/yargs@^16.0.2":
+  version "16.0.4"
+  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977"
+  integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==
+  dependencies:
+    "@types/yargs-parser" "*"
+
+"@types/yauzl@^2.9.1":
+  version "2.9.2"
+  resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a"
+  integrity sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==
+  dependencies:
+    "@types/node" "*"
+
+agent-base@6:
+  version "6.0.2"
+  resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
+  integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
+  dependencies:
+    debug "4"
+
+ajv-keywords@^3.4.1:
+  version "3.5.2"
+  resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
+  integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
+
+ajv@^6.10.0, ajv@^6.12.0:
+  version "6.12.6"
+  resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+  integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+  dependencies:
+    fast-deep-equal "^3.1.1"
+    fast-json-stable-stringify "^2.0.0"
+    json-schema-traverse "^0.4.1"
+    uri-js "^4.2.2"
+
+ansi-align@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb"
+  integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==
+  dependencies:
+    string-width "^3.0.0"
+
+ansi-regex@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
+  integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
+
+ansi-regex@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
+  integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
+
+ansi-regex@^5.0.0:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
+  integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+
+ansi-styles@^3.2.1:
+  version "3.2.1"
+  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+  integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
+  dependencies:
+    color-convert "^1.9.0"
+
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+  integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+  dependencies:
+    color-convert "^2.0.1"
+
+app-builder-bin@3.5.13:
+  version "3.5.13"
+  resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.13.tgz#6dd7f4de34a4e408806f99b8c7d6ef1601305b7e"
+  integrity sha512-ighVe9G+bT1ENGdp9ecO1P+94vv/f+FUwaI+XkNzeg9bYF8Oi3BQ+mJuxS00UgyHs8luuOzjzC+qnAtdb43Mpg==
+
+app-builder-lib@22.11.7:
+  version "22.11.7"
+  resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.11.7.tgz#c0ad1119ebfbf4189a8280ad693625f5e684dca6"
+  integrity sha512-pS9/cR4/TnNZVAHZECiSvvwTBzbwblj7KBBZkMKDG57nibq0I1XY8zAaYeHFdlYTyrRcz9JUXbAqJKezya7UFQ==
+  dependencies:
+    "7zip-bin" "~5.1.1"
+    "@develar/schema-utils" "~2.6.5"
+    "@electron/universal" "1.0.5"
+    "@malept/flatpak-bundler" "^0.4.0"
+    async-exit-hook "^2.0.1"
+    bluebird-lst "^1.0.9"
+    builder-util "22.11.7"
+    builder-util-runtime "8.7.7"
+    chromium-pickle-js "^0.2.0"
+    debug "^4.3.2"
+    ejs "^3.1.6"
+    electron-publish "22.11.7"
+    fs-extra "^10.0.0"
+    hosted-git-info "^4.0.2"
+    is-ci "^3.0.0"
+    isbinaryfile "^4.0.8"
+    js-yaml "^4.1.0"
+    lazy-val "^1.0.5"
+    minimatch "^3.0.4"
+    read-config-file "6.2.0"
+    sanitize-filename "^1.6.3"
+    semver "^7.3.5"
+    temp-file "^3.4.0"
+
+arch@^2.1.1:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11"
+  integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==
+
+argparse@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
+  integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
+
+asar@^3.0.3:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/asar/-/asar-3.1.0.tgz#70b0509449fe3daccc63beb4d3c7d2e24d3c6473"
+  integrity sha512-vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ==
+  dependencies:
+    chromium-pickle-js "^0.2.0"
+    commander "^5.0.0"
+    glob "^7.1.6"
+    minimatch "^3.0.4"
+  optionalDependencies:
+    "@types/glob" "^7.1.1"
+
+assert-plus@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+  integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
+
+async-exit-hook@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3"
+  integrity sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==
+
+async@0.9.x:
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
+  integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=
+
+at-least-node@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
+  integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
+
+axios@*:
+  version "0.21.4"
+  resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575"
+  integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
+  dependencies:
+    follow-redirects "^1.14.0"
+
+balanced-match@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+  integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+base64-js@^1.3.1, base64-js@^1.5.1:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
+  integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+
+bl@^4.0.3:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
+  integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
+  dependencies:
+    buffer "^5.5.0"
+    inherits "^2.0.4"
+    readable-stream "^3.4.0"
+
+bluebird-lst@^1.0.9:
+  version "1.0.9"
+  resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz#a64a0e4365658b9ab5fe875eb9dfb694189bb41c"
+  integrity sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==
+  dependencies:
+    bluebird "^3.5.5"
+
+bluebird@^3.5.5:
+  version "3.7.2"
+  resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
+  integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
+
+boolean@^3.0.1:
+  version "3.1.4"
+  resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.1.4.tgz#f51a2fb5838a99e06f9b6ec1edb674de67026435"
+  integrity sha512-3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w==
+
+bootstrap@5.1.1:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.1.1.tgz#9d6eed81e08feaccedf3adaca51fe4b73a2871df"
+  integrity sha512-/jUa4sSuDZWlDLQ1gwQQR8uoYSvLJzDd8m5o6bPKh3asLAMYVZKdRCjb1joUd5WXf0WwCNzd2EjwQQhupou0dA==
+
+boxen@^5.0.0:
+  version "5.1.2"
+  resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50"
+  integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==
+  dependencies:
+    ansi-align "^3.0.0"
+    camelcase "^6.2.0"
+    chalk "^4.1.0"
+    cli-boxes "^2.2.1"
+    string-width "^4.2.2"
+    type-fest "^0.20.2"
+    widest-line "^3.1.0"
+    wrap-ansi "^7.0.0"
+
+brace-expansion@^1.1.7:
+  version "1.1.11"
+  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+  integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+  dependencies:
+    balanced-match "^1.0.0"
+    concat-map "0.0.1"
+
+buffer-crc32@~0.2.3:
+  version "0.2.13"
+  resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
+  integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
+
+buffer-equal@1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe"
+  integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74=
+
+buffer-from@^1.0.0:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
+  integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+
+buffer@^5.1.0, buffer@^5.2.1, buffer@^5.5.0:
+  version "5.7.1"
+  resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
+  integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
+  dependencies:
+    base64-js "^1.3.1"
+    ieee754 "^1.1.13"
+
+builder-util-runtime@8.7.6:
+  version "8.7.6"
+  resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.6.tgz#4b43c96db2bd494ced7694bcd7674934655e8324"
+  integrity sha512-rj9AIY7CzLSuTOXpToiaQkruYh6UEQ+kYnd5UET22ch8MGClEtIZKXHG14qEiXEr2x4EOKDMxkcTa+9TYaE+ug==
+  dependencies:
+    debug "^4.3.2"
+    sax "^1.2.4"
+
+builder-util-runtime@8.7.7:
+  version "8.7.7"
+  resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.7.tgz#6c83cc3abe7a7a5c8b4ec8878f68adc828c07f0d"
+  integrity sha512-RUfoXzVrmFFI0K/Oft0CtP1LpTIOlBeLJatt5DePTI0KlxE156am4SGUpqtbbdqZNm++LkV9mX4olBDcXyGPow==
+  dependencies:
+    debug "^4.3.2"
+    sax "^1.2.4"
+
+builder-util@22.11.7:
+  version "22.11.7"
+  resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.11.7.tgz#ae9707afa6a31feafa13c274ac83b4fe28ef1467"
+  integrity sha512-ihqUe5ey82LM9qqQe0/oIcaSm9w+B9UjcsWJZxJliTBsbU+sErOpDFpHW+sim0veiTF/EIcGUh9HoduWw+l9FA==
+  dependencies:
+    "7zip-bin" "~5.1.1"
+    "@types/debug" "^4.1.5"
+    "@types/fs-extra" "^9.0.11"
+    app-builder-bin "3.5.13"
+    bluebird-lst "^1.0.9"
+    builder-util-runtime "8.7.7"
+    chalk "^4.1.1"
+    debug "^4.3.2"
+    fs-extra "^10.0.0"
+    is-ci "^3.0.0"
+    js-yaml "^4.1.0"
+    source-map-support "^0.5.19"
+    stat-mode "^1.0.0"
+    temp-file "^3.4.0"
+
+cacheable-request@^6.0.0:
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912"
+  integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==
+  dependencies:
+    clone-response "^1.0.2"
+    get-stream "^5.1.0"
+    http-cache-semantics "^4.0.0"
+    keyv "^3.0.0"
+    lowercase-keys "^2.0.0"
+    normalize-url "^4.1.0"
+    responselike "^1.0.2"
+
+camelcase@^6.2.0:
+  version "6.2.0"
+  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
+  integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
+
+chalk@^2.4.2:
+  version "2.4.2"
+  resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
+  integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
+  dependencies:
+    ansi-styles "^3.2.1"
+    escape-string-regexp "^1.0.5"
+    supports-color "^5.3.0"
+
+chalk@^4.1.0, chalk@^4.1.1:
+  version "4.1.2"
+  resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
+  integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+  dependencies:
+    ansi-styles "^4.1.0"
+    supports-color "^7.1.0"
+
+charenc@0.0.2:
+  version "0.0.2"
+  resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"
+  integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=
+
+chownr@^1.1.1:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
+  integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
+
+chromium-pickle-js@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205"
+  integrity sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=
+
+ci-info@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
+  integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
+
+ci-info@^3.1.1:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6"
+  integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==
+
+cli-boxes@^2.2.1:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f"
+  integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==
+
+cli-truncate@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-1.1.0.tgz#2b2dfd83c53cfd3572b87fc4d430a808afb04086"
+  integrity sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==
+  dependencies:
+    slice-ansi "^1.0.0"
+    string-width "^2.0.0"
+
+clipboardy@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-2.3.0.tgz#3c2903650c68e46a91b388985bc2774287dba290"
+  integrity sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==
+  dependencies:
+    arch "^2.1.1"
+    execa "^1.0.0"
+    is-wsl "^2.1.1"
+
+cliui@^7.0.2:
+  version "7.0.4"
+  resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
+  integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
+  dependencies:
+    string-width "^4.2.0"
+    strip-ansi "^6.0.0"
+    wrap-ansi "^7.0.0"
+
+clone-response@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b"
+  integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=
+  dependencies:
+    mimic-response "^1.0.0"
+
+color-convert@^1.9.0:
+  version "1.9.3"
+  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+  integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+  dependencies:
+    color-name "1.1.3"
+
+color-convert@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+  integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+  dependencies:
+    color-name "~1.1.4"
+
+color-name@1.1.3:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+  integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+
+color-name@~1.1.4:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+  integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+colors@1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
+  integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=
+
+commander@2.9.0:
+  version "2.9.0"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
+  integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=
+  dependencies:
+    graceful-readlink ">= 1.0.0"
+
+commander@^5.0.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
+  integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
+
+concat-map@0.0.1:
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+  integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+
+concat-stream@^1.6.2:
+  version "1.6.2"
+  resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
+  integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
+  dependencies:
+    buffer-from "^1.0.0"
+    inherits "^2.0.3"
+    readable-stream "^2.2.2"
+    typedarray "^0.0.6"
+
+config-chain@^1.1.11:
+  version "1.1.13"
+  resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4"
+  integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==
+  dependencies:
+    ini "^1.3.4"
+    proto-list "~1.2.1"
+
+configstore@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96"
+  integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==
+  dependencies:
+    dot-prop "^5.2.0"
+    graceful-fs "^4.1.2"
+    make-dir "^3.0.0"
+    unique-string "^2.0.0"
+    write-file-atomic "^3.0.0"
+    xdg-basedir "^4.0.0"
+
+core-js@^3.6.5:
+  version "3.18.0"
+  resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.18.0.tgz#9af3f4a6df9ba3428a3fb1b171f1503b3f40cc49"
+  integrity sha512-WJeQqq6jOYgVgg4NrXKL0KLQhi0CT4ZOCvFL+3CQ5o7I6J8HkT5wd53EadMfqTDp1so/MT1J+w2ujhWcCJtN7w==
+
+core-util-is@1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+  integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
+
+core-util-is@~1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
+  integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
+
+crc@^3.8.0:
+  version "3.8.0"
+  resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6"
+  integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==
+  dependencies:
+    buffer "^5.1.0"
+
+cross-spawn@^6.0.0:
+  version "6.0.5"
+  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
+  integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
+  dependencies:
+    nice-try "^1.0.4"
+    path-key "^2.0.1"
+    semver "^5.5.0"
+    shebang-command "^1.2.0"
+    which "^1.2.9"
+
+cross-spawn@^7.0.1:
+  version "7.0.3"
+  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
+  integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+  dependencies:
+    path-key "^3.1.0"
+    shebang-command "^2.0.0"
+    which "^2.0.1"
+
+crypt@0.0.2:
+  version "0.0.2"
+  resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b"
+  integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=
+
+crypto-random-string@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
+  integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
+
+debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2:
+  version "4.3.2"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
+  integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
+  dependencies:
+    ms "2.1.2"
+
+debug@4.3.1:
+  version "4.3.1"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
+  integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
+  dependencies:
+    ms "2.1.2"
+
+debug@^2.6.9:
+  version "2.6.9"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+  integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+  dependencies:
+    ms "2.0.0"
+
+decompress-response@^3.3.0:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
+  integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=
+  dependencies:
+    mimic-response "^1.0.0"
+
+deep-extend@^0.6.0:
+  version "0.6.0"
+  resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
+  integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
+
+defer-to-connect@^1.0.1:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
+  integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==
+
+define-properties@^1.1.3:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
+  integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
+  dependencies:
+    object-keys "^1.0.12"
+
+detect-node@^2.0.4:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1"
+  integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==
+
+devtools-protocol@0.0.901419:
+  version "0.0.901419"
+  resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.901419.tgz#79b5459c48fe7e1c5563c02bd72f8fec3e0cebcd"
+  integrity sha512-4INMPwNm9XRpBukhNbF7OB6fNTTCaI8pzy/fXg0xQzAy5h3zL1P8xT3QazgKqBrb/hAYwIBizqDBZ7GtJE74QQ==
+
+dir-compare@^2.4.0:
+  version "2.4.0"
+  resolved "https://registry.yarnpkg.com/dir-compare/-/dir-compare-2.4.0.tgz#785c41dc5f645b34343a4eafc50b79bac7f11631"
+  integrity sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==
+  dependencies:
+    buffer-equal "1.0.0"
+    colors "1.0.3"
+    commander "2.9.0"
+    minimatch "3.0.4"
+
+dmg-builder@22.11.7:
+  version "22.11.7"
+  resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.11.7.tgz#5956008c18d40ee72c0ea01ffea9590dbf51df89"
+  integrity sha512-+I+XfP2DODHB6PwFANgpH/WMzzCA5r5XoMvbFCIYjQjJpXlO0XnqQaamzFl2vh/Wz/Qt0d0lJMgRy8gKR3MGdQ==
+  dependencies:
+    app-builder-lib "22.11.7"
+    builder-util "22.11.7"
+    builder-util-runtime "8.7.6"
+    fs-extra "^10.0.0"
+    iconv-lite "^0.6.2"
+    js-yaml "^4.1.0"
+  optionalDependencies:
+    dmg-license "^1.0.9"
+
+dmg-license@^1.0.9:
+  version "1.0.9"
+  resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.9.tgz#a2fb8d692af0e30b0730b5afc91ed9edc2d9cb4f"
+  integrity sha512-Rq6qMDaDou2+aPN2SYy0x7LDznoJ/XaG6oDcH5wXUp+WRWQMUYE6eM+F+nex+/LSXOp1uw4HLFoed0YbfU8R/Q==
+  dependencies:
+    "@types/plist" "^3.0.1"
+    "@types/verror" "^1.10.3"
+    ajv "^6.10.0"
+    cli-truncate "^1.1.0"
+    crc "^3.8.0"
+    iconv-corefoundation "^1.1.6"
+    plist "^3.0.1"
+    smart-buffer "^4.0.2"
+    verror "^1.10.0"
+
+dot-prop@^5.2.0:
+  version "5.3.0"
+  resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
+  integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
+  dependencies:
+    is-obj "^2.0.0"
+
+dotenv-expand@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0"
+  integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==
+
+dotenv@^9.0.2:
+  version "9.0.2"
+  resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-9.0.2.tgz#dacc20160935a37dea6364aa1bef819fb9b6ab05"
+  integrity sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==
+
+duplexer3@^0.1.4:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
+  integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
+
+ejs@^3.1.6:
+  version "3.1.6"
+  resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a"
+  integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==
+  dependencies:
+    jake "^10.6.1"
+
+electron-builder@^22.11.7:
+  version "22.11.7"
+  resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.11.7.tgz#cd97a0d9f6e6d388112e66b4376de431cca4d596"
+  integrity sha512-yQExSLt7Hbz/P8lLkZDdE/OnJJ7NCX+uiQcV+XIH0TeEZcD87ZnSqBBzGUN5akySU4BXXlrVZKeUsXACWrm5Kw==
+  dependencies:
+    "@types/yargs" "^16.0.2"
+    app-builder-lib "22.11.7"
+    builder-util "22.11.7"
+    builder-util-runtime "8.7.7"
+    chalk "^4.1.1"
+    dmg-builder "22.11.7"
+    fs-extra "^10.0.0"
+    is-ci "^3.0.0"
+    lazy-val "^1.0.5"
+    read-config-file "6.2.0"
+    update-notifier "^5.1.0"
+    yargs "^17.0.1"
+
+electron-publish@22.11.7:
+  version "22.11.7"
+  resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.11.7.tgz#4126cbb08ccf082a2aa7fef89ee629b3a4b8ae9a"
+  integrity sha512-A4EhRRNBVz4SPzUlBrPO6BmuyDeI0pyprggPAV9rQ+SDVSnSB/WKPot9JwWMyArkGj3AUUTMNVT6hwZhMvhfqw==
+  dependencies:
+    "@types/fs-extra" "^9.0.11"
+    builder-util "22.11.7"
+    builder-util-runtime "8.7.7"
+    chalk "^4.1.1"
+    fs-extra "^10.0.0"
+    lazy-val "^1.0.5"
+    mime "^2.5.2"
+
+electron@*:
+  version "15.0.0"
+  resolved "https://registry.yarnpkg.com/electron/-/electron-15.0.0.tgz#b1b6244b1cffddf348c27c54b1310b3a3680246e"
+  integrity sha512-LlBjN5nCJoC7EDrgfDQwEGSGSAo/o08nSP5uJxN2m+ZtNA69SxpnWv4yPgo1K08X/iQPoGhoZu6C8LYYlk1Dtg==
+  dependencies:
+    "@electron/get" "^1.13.0"
+    "@types/node" "^14.6.2"
+    extract-zip "^1.0.3"
+
+emoji-regex@^7.0.1:
+  version "7.0.3"
+  resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
+  integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
+
+emoji-regex@^8.0.0:
+  version "8.0.0"
+  resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+  integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
+encodeurl@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
+  integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
+
+end-of-stream@^1.1.0, end-of-stream@^1.4.1:
+  version "1.4.4"
+  resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
+  integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
+  dependencies:
+    once "^1.4.0"
+
+env-paths@^2.2.0:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2"
+  integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==
+
+es6-error@^4.1.1:
+  version "4.1.1"
+  resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d"
+  integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==
+
+escalade@^3.1.1:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
+  integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
+
+escape-goat@^2.0.0:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675"
+  integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==
+
+escape-string-regexp@^1.0.5:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+  integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+
+escape-string-regexp@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+  integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
+execa@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
+  integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
+  dependencies:
+    cross-spawn "^6.0.0"
+    get-stream "^4.0.0"
+    is-stream "^1.1.0"
+    npm-run-path "^2.0.0"
+    p-finally "^1.0.0"
+    signal-exit "^3.0.0"
+    strip-eof "^1.0.0"
+
+extract-zip@2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a"
+  integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==
+  dependencies:
+    debug "^4.1.1"
+    get-stream "^5.1.0"
+    yauzl "^2.10.0"
+  optionalDependencies:
+    "@types/yauzl" "^2.9.1"
+
+extract-zip@^1.0.3:
+  version "1.7.0"
+  resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927"
+  integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==
+  dependencies:
+    concat-stream "^1.6.2"
+    debug "^2.6.9"
+    mkdirp "^0.5.4"
+    yauzl "^2.10.0"
+
+extsprintf@^1.2.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
+  integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
+
+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==
+
+fast-json-stable-stringify@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+  integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+fd-slicer@~1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"
+  integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=
+  dependencies:
+    pend "~1.2.0"
+
+filelist@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz#80202f21462d4d1c2e214119b1807c1bc0380e5b"
+  integrity sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==
+  dependencies:
+    minimatch "^3.0.4"
+
+find-up@^4.0.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
+  integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
+  dependencies:
+    locate-path "^5.0.0"
+    path-exists "^4.0.0"
+
+follow-redirects@^1.14.0:
+  version "1.14.4"
+  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.4.tgz#838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379"
+  integrity sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==
+
+font-awesome@*:
+  version "4.7.0"
+  resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133"
+  integrity sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=
+
+fs-constants@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
+  integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
+
+fs-extra@^10.0.0:
+  version "10.0.0"
+  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1"
+  integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==
+  dependencies:
+    graceful-fs "^4.2.0"
+    jsonfile "^6.0.1"
+    universalify "^2.0.0"
+
+fs-extra@^8.1.0:
+  version "8.1.0"
+  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
+  integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
+  dependencies:
+    graceful-fs "^4.2.0"
+    jsonfile "^4.0.0"
+    universalify "^0.1.0"
+
+fs-extra@^9.0.0, fs-extra@^9.0.1:
+  version "9.1.0"
+  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
+  integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
+  dependencies:
+    at-least-node "^1.0.0"
+    graceful-fs "^4.2.0"
+    jsonfile "^6.0.1"
+    universalify "^2.0.0"
+
+fs.realpath@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+  integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
+
+get-caller-file@^2.0.5:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
+  integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+
+get-stream@^4.0.0, get-stream@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
+  integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
+  dependencies:
+    pump "^3.0.0"
+
+get-stream@^5.1.0:
+  version "5.2.0"
+  resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
+  integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
+  dependencies:
+    pump "^3.0.0"
+
+glob@^7.1.3, glob@^7.1.6:
+  version "7.1.7"
+  resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
+  integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
+  dependencies:
+    fs.realpath "^1.0.0"
+    inflight "^1.0.4"
+    inherits "2"
+    minimatch "^3.0.4"
+    once "^1.3.0"
+    path-is-absolute "^1.0.0"
+
+global-agent@^2.0.2:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-2.2.0.tgz#566331b0646e6bf79429a16877685c4a1fbf76dc"
+  integrity sha512-+20KpaW6DDLqhG7JDiJpD1JvNvb8ts+TNl7BPOYcURqCrXqnN1Vf+XVOrkKJAFPqfX+oEhsdzOj1hLWkBTdNJg==
+  dependencies:
+    boolean "^3.0.1"
+    core-js "^3.6.5"
+    es6-error "^4.1.1"
+    matcher "^3.0.0"
+    roarr "^2.15.3"
+    semver "^7.3.2"
+    serialize-error "^7.0.1"
+
+global-dirs@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686"
+  integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==
+  dependencies:
+    ini "2.0.0"
+
+global-tunnel-ng@^2.7.1:
+  version "2.7.1"
+  resolved "https://registry.yarnpkg.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz#d03b5102dfde3a69914f5ee7d86761ca35d57d8f"
+  integrity sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==
+  dependencies:
+    encodeurl "^1.0.2"
+    lodash "^4.17.10"
+    npm-conf "^1.1.3"
+    tunnel "^0.0.6"
+
+globalthis@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.2.tgz#2a235d34f4d8036219f7e34929b5de9e18166b8b"
+  integrity sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==
+  dependencies:
+    define-properties "^1.1.3"
+
+got@^9.6.0:
+  version "9.6.0"
+  resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85"
+  integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==
+  dependencies:
+    "@sindresorhus/is" "^0.14.0"
+    "@szmarczak/http-timer" "^1.1.2"
+    cacheable-request "^6.0.0"
+    decompress-response "^3.3.0"
+    duplexer3 "^0.1.4"
+    get-stream "^4.1.0"
+    lowercase-keys "^1.0.1"
+    mimic-response "^1.0.1"
+    p-cancelable "^1.0.0"
+    to-readable-stream "^1.0.0"
+    url-parse-lax "^3.0.0"
+
+graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0:
+  version "4.2.8"
+  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a"
+  integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==
+
+"graceful-readlink@>= 1.0.0":
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
+  integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=
+
+has-flag@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+  integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
+
+has-flag@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+  integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+has-yarn@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77"
+  integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==
+
+hosted-git-info@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961"
+  integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==
+  dependencies:
+    lru-cache "^6.0.0"
+
+http-cache-semantics@^4.0.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
+  integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
+
+https-proxy-agent@5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"
+  integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==
+  dependencies:
+    agent-base "6"
+    debug "4"
+
+iconv-corefoundation@^1.1.6:
+  version "1.1.6"
+  resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.6.tgz#27c135470237f6f8d13462fa1f5eaf250523c29a"
+  integrity sha512-1NBe55C75bKGZaY9UHxvXG3G0gEp0ziht7quhuFrW3SPgZDw9HI6qvYXRSV5M/Eupyu8ljuJ6Cba+ec15PZ4Xw==
+  dependencies:
+    cli-truncate "^1.1.0"
+    node-addon-api "^1.6.3"
+
+iconv-lite@^0.6.2:
+  version "0.6.3"
+  resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
+  integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
+  dependencies:
+    safer-buffer ">= 2.1.2 < 3.0.0"
+
+ieee754@^1.1.13:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+  integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
+import-lazy@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
+  integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=
+
+imurmurhash@^0.1.4:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+  integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
+
+inflight@^1.0.4:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+  integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
+  dependencies:
+    once "^1.3.0"
+    wrappy "1"
+
+inherits@2, inherits@^2.0.3, inherits@^2.0.4, 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==
+
+ini@2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5"
+  integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==
+
+ini@^1.3.4, ini@~1.3.0:
+  version "1.3.8"
+  resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
+  integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
+
+is-buffer@~1.1.6:
+  version "1.1.6"
+  resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+  integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
+
+is-ci@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
+  integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
+  dependencies:
+    ci-info "^2.0.0"
+
+is-ci@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994"
+  integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==
+  dependencies:
+    ci-info "^3.1.1"
+
+is-docker@^2.0.0:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
+  integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
+
+is-fullwidth-code-point@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+  integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
+
+is-fullwidth-code-point@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+  integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
+is-installed-globally@^0.4.0:
+  version "0.4.0"
+  resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520"
+  integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==
+  dependencies:
+    global-dirs "^3.0.0"
+    is-path-inside "^3.0.2"
+
+is-npm@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8"
+  integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==
+
+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==
+
+is-path-inside@^3.0.2:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
+  integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
+
+is-stream@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+  integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
+
+is-typedarray@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+  integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
+
+is-wsl@^2.1.1:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
+  integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
+  dependencies:
+    is-docker "^2.0.0"
+
+is-yarn-global@^0.3.0:
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232"
+  integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==
+
+isarray@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+  integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
+
+isbinaryfile@^4.0.8:
+  version "4.0.8"
+  resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf"
+  integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==
+
+isexe@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+  integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+
+iso8601-duration@*:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/iso8601-duration/-/iso8601-duration-1.3.0.tgz#29d7b69e0574e4acdee50c5e5e09adab4137ba5a"
+  integrity sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==
+
+jake@^10.6.1:
+  version "10.8.2"
+  resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b"
+  integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==
+  dependencies:
+    async "0.9.x"
+    chalk "^2.4.2"
+    filelist "^1.0.1"
+    minimatch "^3.0.4"
+
+js-yaml@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
+  integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
+  dependencies:
+    argparse "^2.0.1"
+
+json-buffer@3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
+  integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=
+
+json-schema-traverse@^0.4.1:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+  integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+json-stringify-safe@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+  integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
+
+json5@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3"
+  integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
+  dependencies:
+    minimist "^1.2.5"
+
+jsonfile@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
+  integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
+  optionalDependencies:
+    graceful-fs "^4.1.6"
+
+jsonfile@^6.0.1:
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
+  integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
+  dependencies:
+    universalify "^2.0.0"
+  optionalDependencies:
+    graceful-fs "^4.1.6"
+
+keyv@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
+  integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==
+  dependencies:
+    json-buffer "3.0.0"
+
+latest-version@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face"
+  integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==
+  dependencies:
+    package-json "^6.3.0"
+
+lazy-val@^1.0.4, lazy-val@^1.0.5:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.5.tgz#6cf3b9f5bc31cee7ee3e369c0832b7583dcd923d"
+  integrity sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==
+
+locate-path@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
+  integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
+  dependencies:
+    p-locate "^4.1.0"
+
+lodash@^4.17.10, lodash@^4.17.15:
+  version "4.17.21"
+  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+  integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
+lowercase-keys@^1.0.0, lowercase-keys@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
+  integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
+
+lowercase-keys@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
+  integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
+
+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"
+
+make-dir@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
+  integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
+  dependencies:
+    semver "^6.0.0"
+
+matcher@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca"
+  integrity sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==
+  dependencies:
+    escape-string-regexp "^4.0.0"
+
+md5@*:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f"
+  integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==
+  dependencies:
+    charenc "0.0.2"
+    crypt "0.0.2"
+    is-buffer "~1.1.6"
+
+mime@^2.5.2:
+  version "2.5.2"
+  resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe"
+  integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==
+
+mimic-response@^1.0.0, mimic-response@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
+  integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
+
+minimatch@3.0.4, minimatch@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+  integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
+  dependencies:
+    brace-expansion "^1.1.7"
+
+minimist@^1.2.0, minimist@^1.2.5:
+  version "1.2.5"
+  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
+  integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
+
+mkdirp@^0.5.1, mkdirp@^0.5.4:
+  version "0.5.5"
+  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
+  integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
+  dependencies:
+    minimist "^1.2.5"
+
+ms@2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+  integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
+
+ms@2.1.2:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+  integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+nice-try@^1.0.4:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
+  integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
+
+node-addon-api@^1.6.3:
+  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==
+
+normalize-url@^4.1.0:
+  version "4.5.1"
+  resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a"
+  integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==
+
+npm-conf@^1.1.3:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9"
+  integrity sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==
+  dependencies:
+    config-chain "^1.1.11"
+    pify "^3.0.0"
+
+npm-run-path@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
+  integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
+  dependencies:
+    path-key "^2.0.0"
+
+object-keys@^1.0.12:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
+  integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
+
+once@^1.3.0, once@^1.3.1, once@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+  integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
+  dependencies:
+    wrappy "1"
+
+p-cancelable@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc"
+  integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==
+
+p-finally@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+  integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
+
+p-limit@^2.2.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@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
+  integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
+  dependencies:
+    p-limit "^2.2.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==
+
+package-json@^6.3.0:
+  version "6.5.0"
+  resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0"
+  integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==
+  dependencies:
+    got "^9.6.0"
+    registry-auth-token "^4.0.0"
+    registry-url "^5.0.0"
+    semver "^6.2.0"
+
+path-exists@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+  integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
+path-is-absolute@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+  integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+
+path-key@^2.0.0, path-key@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
+  integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
+
+path-key@^3.1.0:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+  integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
+pend@~1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
+  integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA=
+
+pify@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
+  integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
+
+pkg-dir@4.2.0:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
+  integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
+  dependencies:
+    find-up "^4.0.0"
+
+plist@^3.0.1:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz#a62df837e3aed2bb3b735899d510c4f186019cbe"
+  integrity sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==
+  dependencies:
+    base64-js "^1.5.1"
+    xmlbuilder "^9.0.7"
+
+prepend-http@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
+  integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
+
+process-nextick-args@~2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
+  integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+
+progress@2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.1.tgz#c9242169342b1c29d275889c95734621b1952e31"
+  integrity sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==
+
+progress@^2.0.3:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
+  integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
+
+proto-list@~1.2.1:
+  version "1.2.4"
+  resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
+  integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=
+
+proxy-from-env@1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
+  integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+
+pump@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
+  integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
+  dependencies:
+    end-of-stream "^1.1.0"
+    once "^1.3.1"
+
+punycode@^2.1.0:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
+  integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+
+pupa@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62"
+  integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==
+  dependencies:
+    escape-goat "^2.0.0"
+
+puppeteer@10.2.0:
+  version "10.2.0"
+  resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-10.2.0.tgz#7d8d7fda91e19a7cfd56986e0275448e6351849e"
+  integrity sha512-OR2CCHRashF+f30+LBOtAjK6sNtz2HEyTr5FqAvhf8lR/qB3uBRoIZOwQKgwoyZnMBsxX7ZdazlyBgGjpnkiMw==
+  dependencies:
+    debug "4.3.1"
+    devtools-protocol "0.0.901419"
+    extract-zip "2.0.1"
+    https-proxy-agent "5.0.0"
+    node-fetch "2.6.1"
+    pkg-dir "4.2.0"
+    progress "2.0.1"
+    proxy-from-env "1.1.0"
+    rimraf "3.0.2"
+    tar-fs "2.0.0"
+    unbzip2-stream "1.3.3"
+    ws "7.4.6"
+
+rc@^1.2.8:
+  version "1.2.8"
+  resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
+  integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
+  dependencies:
+    deep-extend "^0.6.0"
+    ini "~1.3.0"
+    minimist "^1.2.0"
+    strip-json-comments "~2.0.1"
+
+read-config-file@6.2.0:
+  version "6.2.0"
+  resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.2.0.tgz#71536072330bcd62ba814f91458b12add9fc7ade"
+  integrity sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg==
+  dependencies:
+    dotenv "^9.0.2"
+    dotenv-expand "^5.1.0"
+    js-yaml "^4.1.0"
+    json5 "^2.2.0"
+    lazy-val "^1.0.4"
+
+readable-stream@^2.2.2:
+  version "2.3.7"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
+  integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
+  dependencies:
+    core-util-is "~1.0.0"
+    inherits "~2.0.3"
+    isarray "~1.0.0"
+    process-nextick-args "~2.0.0"
+    safe-buffer "~5.1.1"
+    string_decoder "~1.1.1"
+    util-deprecate "~1.0.1"
+
+readable-stream@^3.1.1, readable-stream@^3.4.0:
+  version "3.6.0"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
+  integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
+  dependencies:
+    inherits "^2.0.3"
+    string_decoder "^1.1.1"
+    util-deprecate "^1.0.1"
+
+registry-auth-token@^4.0.0:
+  version "4.2.1"
+  resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250"
+  integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==
+  dependencies:
+    rc "^1.2.8"
+
+registry-url@^5.0.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009"
+  integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==
+  dependencies:
+    rc "^1.2.8"
+
+require-directory@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+  integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
+
+responselike@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7"
+  integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=
+  dependencies:
+    lowercase-keys "^1.0.0"
+
+rimraf@3.0.2, rimraf@^3.0.0:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+  integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+  dependencies:
+    glob "^7.1.3"
+
+roarr@^2.15.3:
+  version "2.15.4"
+  resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz#f5fe795b7b838ccfe35dc608e0282b9eba2e7afd"
+  integrity sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==
+  dependencies:
+    boolean "^3.0.1"
+    detect-node "^2.0.4"
+    globalthis "^1.0.1"
+    json-stringify-safe "^5.0.1"
+    semver-compare "^1.0.0"
+    sprintf-js "^1.1.2"
+
+safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+  version "5.1.2"
+  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+  integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
+safe-buffer@~5.2.0:
+  version "5.2.1"
+  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+  integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+"safer-buffer@>= 2.1.2 < 3.0.0":
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+  integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+sanitize-filename@^1.6.3:
+  version "1.6.3"
+  resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz#755ebd752045931977e30b2025d340d7c9090378"
+  integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==
+  dependencies:
+    truncate-utf8-bytes "^1.0.0"
+
+sax@^1.2.4:
+  version "1.2.4"
+  resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
+  integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
+
+semver-compare@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
+  integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
+
+semver-diff@^3.1.1:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b"
+  integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==
+  dependencies:
+    semver "^6.3.0"
+
+semver@^5.5.0:
+  version "5.7.1"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
+  integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+
+semver@^6.0.0, semver@^6.2.0, semver@^6.3.0:
+  version "6.3.0"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
+  integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+
+semver@^7.3.2, semver@^7.3.4, semver@^7.3.5:
+  version "7.3.5"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
+  integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
+  dependencies:
+    lru-cache "^6.0.0"
+
+serialize-error@^7.0.1:
+  version "7.0.1"
+  resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz#f1360b0447f61ffb483ec4157c737fab7d778e18"
+  integrity sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==
+  dependencies:
+    type-fest "^0.13.1"
+
+shebang-command@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+  integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
+  dependencies:
+    shebang-regex "^1.0.0"
+
+shebang-command@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+  integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+  dependencies:
+    shebang-regex "^3.0.0"
+
+shebang-regex@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
+  integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
+
+shebang-regex@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+  integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
+signal-exit@^3.0.0, signal-exit@^3.0.2:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.4.tgz#366a4684d175b9cab2081e3681fda3747b6c51d7"
+  integrity sha512-rqYhcAnZ6d/vTPGghdrw7iumdcbXpsk1b8IG/rz+VWV51DM0p7XCtMoJ3qhPLIbp3tvyt3pKRbaaEMZYpHto8Q==
+
+slice-ansi@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
+  integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==
+  dependencies:
+    is-fullwidth-code-point "^2.0.0"
+
+smart-buffer@^4.0.2:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae"
+  integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==
+
+source-map-support@^0.5.19:
+  version "0.5.20"
+  resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9"
+  integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==
+  dependencies:
+    buffer-from "^1.0.0"
+    source-map "^0.6.0"
+
+source-map@^0.6.0:
+  version "0.6.1"
+  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+sprintf-js@^1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673"
+  integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==
+
+stat-mode@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz#68b55cb61ea639ff57136f36b216a291800d1465"
+  integrity sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==
+
+string-width@^2.0.0:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
+  integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
+  dependencies:
+    is-fullwidth-code-point "^2.0.0"
+    strip-ansi "^4.0.0"
+
+string-width@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
+  integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
+  dependencies:
+    emoji-regex "^7.0.1"
+    is-fullwidth-code-point "^2.0.0"
+    strip-ansi "^5.1.0"
+
+string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2:
+  version "4.2.2"
+  resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5"
+  integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==
+  dependencies:
+    emoji-regex "^8.0.0"
+    is-fullwidth-code-point "^3.0.0"
+    strip-ansi "^6.0.0"
+
+string_decoder@^1.1.1:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
+  integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+  dependencies:
+    safe-buffer "~5.2.0"
+
+string_decoder@~1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+  integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+  dependencies:
+    safe-buffer "~5.1.0"
+
+strip-ansi@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+  integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
+  dependencies:
+    ansi-regex "^3.0.0"
+
+strip-ansi@^5.1.0:
+  version "5.2.0"
+  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
+  integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
+  dependencies:
+    ansi-regex "^4.1.0"
+
+strip-ansi@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
+  integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
+  dependencies:
+    ansi-regex "^5.0.0"
+
+strip-eof@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
+  integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
+
+strip-json-comments@~2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+  integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
+
+sumchecker@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42"
+  integrity sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==
+  dependencies:
+    debug "^4.1.0"
+
+supports-color@^5.3.0:
+  version "5.5.0"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
+  integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
+  dependencies:
+    has-flag "^3.0.0"
+
+supports-color@^7.1.0:
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+  integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+  dependencies:
+    has-flag "^4.0.0"
+
+tar-fs@2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.0.0.tgz#677700fc0c8b337a78bee3623fdc235f21d7afad"
+  integrity sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==
+  dependencies:
+    chownr "^1.1.1"
+    mkdirp "^0.5.1"
+    pump "^3.0.0"
+    tar-stream "^2.0.0"
+
+tar-stream@^2.0.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287"
+  integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==
+  dependencies:
+    bl "^4.0.3"
+    end-of-stream "^1.4.1"
+    fs-constants "^1.0.0"
+    inherits "^2.0.3"
+    readable-stream "^3.1.1"
+
+temp-file@^3.4.0:
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.4.0.tgz#766ea28911c683996c248ef1a20eea04d51652c7"
+  integrity sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==
+  dependencies:
+    async-exit-hook "^2.0.1"
+    fs-extra "^10.0.0"
+
+through@^2.3.8:
+  version "2.3.8"
+  resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+  integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
+
+tmp-promise@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.2.tgz#6e933782abff8b00c3119d63589ca1fb9caaa62a"
+  integrity sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==
+  dependencies:
+    tmp "^0.2.0"
+
+tmp@^0.2.0:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14"
+  integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==
+  dependencies:
+    rimraf "^3.0.0"
+
+to-readable-stream@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771"
+  integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==
+
+truncate-utf8-bytes@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b"
+  integrity sha1-QFkjkJWS1W94pYGENLC3hInKXys=
+  dependencies:
+    utf8-byte-length "^1.0.1"
+
+tunnel@^0.0.6:
+  version "0.0.6"
+  resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c"
+  integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==
+
+type-fest@^0.13.1:
+  version "0.13.1"
+  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934"
+  integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==
+
+type-fest@^0.20.2:
+  version "0.20.2"
+  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
+  integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
+
+typedarray-to-buffer@^3.1.5:
+  version "3.1.5"
+  resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
+  integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
+  dependencies:
+    is-typedarray "^1.0.0"
+
+typedarray@^0.0.6:
+  version "0.0.6"
+  resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+  integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
+
+unbzip2-stream@1.3.3:
+  version "1.3.3"
+  resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz#d156d205e670d8d8c393e1c02ebd506422873f6a"
+  integrity sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==
+  dependencies:
+    buffer "^5.2.1"
+    through "^2.3.8"
+
+unique-string@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d"
+  integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==
+  dependencies:
+    crypto-random-string "^2.0.0"
+
+universalify@^0.1.0:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
+  integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
+
+universalify@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
+  integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
+
+update-notifier@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9"
+  integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==
+  dependencies:
+    boxen "^5.0.0"
+    chalk "^4.1.0"
+    configstore "^5.0.1"
+    has-yarn "^2.1.0"
+    import-lazy "^2.1.0"
+    is-ci "^2.0.0"
+    is-installed-globally "^0.4.0"
+    is-npm "^5.0.0"
+    is-yarn-global "^0.3.0"
+    latest-version "^5.1.0"
+    pupa "^2.1.1"
+    semver "^7.3.4"
+    semver-diff "^3.1.1"
+    xdg-basedir "^4.0.0"
+
+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"
+
+url-parse-lax@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
+  integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=
+  dependencies:
+    prepend-http "^2.0.0"
+
+utf8-byte-length@^1.0.1:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61"
+  integrity sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=
+
+util-deprecate@^1.0.1, util-deprecate@~1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+  integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
+
+verror@^1.10.0:
+  version "1.10.0"
+  resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+  integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
+  dependencies:
+    assert-plus "^1.0.0"
+    core-util-is "1.0.2"
+    extsprintf "^1.2.0"
+
+which@^1.2.9:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
+  integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
+  dependencies:
+    isexe "^2.0.0"
+
+which@^2.0.1:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+  integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+  dependencies:
+    isexe "^2.0.0"
+
+widest-line@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca"
+  integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==
+  dependencies:
+    string-width "^4.0.0"
+
+wrap-ansi@^7.0.0:
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+  integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+  dependencies:
+    ansi-styles "^4.0.0"
+    string-width "^4.1.0"
+    strip-ansi "^6.0.0"
+
+wrappy@1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+  integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+
+write-file-atomic@^3.0.0:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
+  integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
+  dependencies:
+    imurmurhash "^0.1.4"
+    is-typedarray "^1.0.0"
+    signal-exit "^3.0.2"
+    typedarray-to-buffer "^3.1.5"
+
+ws@7.4.6:
+  version "7.4.6"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
+  integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
+
+xdg-basedir@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13"
+  integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==
+
+xmlbuilder@>=11.0.1:
+  version "15.1.1"
+  resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5"
+  integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==
+
+xmlbuilder@^9.0.7:
+  version "9.0.7"
+  resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"
+  integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=
+
+y18n@^5.0.5:
+  version "5.0.8"
+  resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
+  integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
+
+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==
+
+yargs-parser@^20.2.2:
+  version "20.2.9"
+  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
+  integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
+
+yargs@^17.0.1:
+  version "17.1.1"
+  resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.1.1.tgz#c2a8091564bdb196f7c0a67c1d12e5b85b8067ba"
+  integrity sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==
+  dependencies:
+    cliui "^7.0.2"
+    escalade "^3.1.1"
+    get-caller-file "^2.0.5"
+    require-directory "^2.1.1"
+    string-width "^4.2.0"
+    y18n "^5.0.5"
+    yargs-parser "^20.2.2"
+
+yauzl@^2.10.0:
+  version "2.10.0"
+  resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
+  integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=
+  dependencies:
+    buffer-crc32 "~0.2.3"
+    fd-slicer "~1.1.0"
diff --git a/nixpkgs/pkgs/tools/misc/sharedown/yarndeps.nix b/nixpkgs/pkgs/tools/misc/sharedown/yarndeps.nix
new file mode 100644
index 000000000000..a980ad628f28
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/sharedown/yarndeps.nix
@@ -0,0 +1,2565 @@
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
+  offline_cache = linkFarm "offline" packages;
+  packages = [
+    {
+      name = "7zip_bin___7zip_bin_5.1.1.tgz";
+      path = fetchurl {
+        name = "7zip_bin___7zip_bin_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.1.1.tgz";
+        sha1 = "9274ec7460652f9c632c59addf24efb1684ef876";
+      };
+    }
+    {
+      name = "_develar_schema_utils___schema_utils_2.6.5.tgz";
+      path = fetchurl {
+        name = "_develar_schema_utils___schema_utils_2.6.5.tgz";
+        url  = "https://registry.yarnpkg.com/@develar/schema-utils/-/schema-utils-2.6.5.tgz";
+        sha1 = "3ece22c5838402419a6e0425f85742b961d9b6c6";
+      };
+    }
+    {
+      name = "_electron_get___get_1.13.0.tgz";
+      path = fetchurl {
+        name = "_electron_get___get_1.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/@electron/get/-/get-1.13.0.tgz";
+        sha1 = "95c6bcaff4f9a505ea46792424f451efea89228c";
+      };
+    }
+    {
+      name = "_electron_universal___universal_1.0.5.tgz";
+      path = fetchurl {
+        name = "_electron_universal___universal_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.5.tgz";
+        sha1 = "b812340e4ef21da2b3ee77b2b4d35c9b86defe37";
+      };
+    }
+    {
+      name = "_malept_cross_spawn_promise___cross_spawn_promise_1.1.1.tgz";
+      path = fetchurl {
+        name = "_malept_cross_spawn_promise___cross_spawn_promise_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz";
+        sha1 = "504af200af6b98e198bce768bc1730c6936ae01d";
+      };
+    }
+    {
+      name = "_malept_flatpak_bundler___flatpak_bundler_0.4.0.tgz";
+      path = fetchurl {
+        name = "_malept_flatpak_bundler___flatpak_bundler_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz";
+        sha1 = "e8a32c30a95d20c2b1bb635cc580981a06389858";
+      };
+    }
+    {
+      name = "_sindresorhus_is___is_0.14.0.tgz";
+      path = fetchurl {
+        name = "_sindresorhus_is___is_0.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz";
+        sha1 = "9fb3a3cf3132328151f353de4632e01e52102bea";
+      };
+    }
+    {
+      name = "_szmarczak_http_timer___http_timer_1.1.2.tgz";
+      path = fetchurl {
+        name = "_szmarczak_http_timer___http_timer_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz";
+        sha1 = "b1665e2c461a2cd92f4c1bbf50d5454de0d4b421";
+      };
+    }
+    {
+      name = "_tedconf_fessonia___fessonia_2.2.1.tgz";
+      path = fetchurl {
+        name = "_tedconf_fessonia___fessonia_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@tedconf/fessonia/-/fessonia-2.2.1.tgz";
+        sha1 = "24499e69c3aeda4926670675b9fdfeb9ab15f19d";
+      };
+    }
+    {
+      name = "_types_debug___debug_4.1.7.tgz";
+      path = fetchurl {
+        name = "_types_debug___debug_4.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz";
+        sha1 = "7cc0ea761509124709b8b2d1090d8f6c17aadb82";
+      };
+    }
+    {
+      name = "_types_fs_extra___fs_extra_9.0.13.tgz";
+      path = fetchurl {
+        name = "_types_fs_extra___fs_extra_9.0.13.tgz";
+        url  = "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz";
+        sha1 = "7594fbae04fe7f1918ce8b3d213f74ff44ac1f45";
+      };
+    }
+    {
+      name = "_types_glob___glob_7.1.4.tgz";
+      path = fetchurl {
+        name = "_types_glob___glob_7.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.4.tgz";
+        sha1 = "ea59e21d2ee5c517914cb4bc8e4153b99e566672";
+      };
+    }
+    {
+      name = "_types_minimatch___minimatch_3.0.5.tgz";
+      path = fetchurl {
+        name = "_types_minimatch___minimatch_3.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz";
+        sha1 = "1001cc5e6a3704b83c236027e77f2f58ea010f40";
+      };
+    }
+    {
+      name = "_types_ms___ms_0.7.31.tgz";
+      path = fetchurl {
+        name = "_types_ms___ms_0.7.31.tgz";
+        url  = "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz";
+        sha1 = "31b7ca6407128a3d2bbc27fe2d21b345397f6197";
+      };
+    }
+    {
+      name = "_types_node___node_16.9.6.tgz";
+      path = fetchurl {
+        name = "_types_node___node_16.9.6.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-16.9.6.tgz";
+        sha1 = "040a64d7faf9e5d9e940357125f0963012e66f04";
+      };
+    }
+    {
+      name = "_types_node___node_14.17.18.tgz";
+      path = fetchurl {
+        name = "_types_node___node_14.17.18.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.17.18.tgz";
+        sha1 = "0198489a751005f71217744aa966cd1f29447c81";
+      };
+    }
+    {
+      name = "_types_plist___plist_3.0.2.tgz";
+      path = fetchurl {
+        name = "_types_plist___plist_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.2.tgz";
+        sha1 = "61b3727bba0f5c462fe333542534a0c3e19ccb01";
+      };
+    }
+    {
+      name = "_types_verror___verror_1.10.5.tgz";
+      path = fetchurl {
+        name = "_types_verror___verror_1.10.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.5.tgz";
+        sha1 = "2a1413aded46e67a1fe2386800e291123ed75eb1";
+      };
+    }
+    {
+      name = "_types_yargs_parser___yargs_parser_20.2.1.tgz";
+      path = fetchurl {
+        name = "_types_yargs_parser___yargs_parser_20.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz";
+        sha1 = "3b9ce2489919d9e4fea439b76916abc34b2df129";
+      };
+    }
+    {
+      name = "_types_yargs___yargs_16.0.4.tgz";
+      path = fetchurl {
+        name = "_types_yargs___yargs_16.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz";
+        sha1 = "26aad98dd2c2a38e421086ea9ad42b9e51642977";
+      };
+    }
+    {
+      name = "_types_yauzl___yauzl_2.9.2.tgz";
+      path = fetchurl {
+        name = "_types_yauzl___yauzl_2.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz";
+        sha1 = "c48e5d56aff1444409e39fa164b0b4d4552a7b7a";
+      };
+    }
+    {
+      name = "agent_base___agent_base_6.0.2.tgz";
+      path = fetchurl {
+        name = "agent_base___agent_base_6.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz";
+        sha1 = "49fff58577cfee3f37176feab4c22e00f86d7f77";
+      };
+    }
+    {
+      name = "ajv_keywords___ajv_keywords_3.5.2.tgz";
+      path = fetchurl {
+        name = "ajv_keywords___ajv_keywords_3.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz";
+        sha1 = "31f29da5ab6e00d1c2d329acf7b5929614d5014d";
+      };
+    }
+    {
+      name = "ajv___ajv_6.12.6.tgz";
+      path = fetchurl {
+        name = "ajv___ajv_6.12.6.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz";
+        sha1 = "baf5a62e802b07d977034586f8c3baf5adf26df4";
+      };
+    }
+    {
+      name = "ansi_align___ansi_align_3.0.0.tgz";
+      path = fetchurl {
+        name = "ansi_align___ansi_align_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz";
+        sha1 = "b536b371cf687caaef236c18d3e21fe3797467cb";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_3.0.0.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz";
+        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_4.1.0.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz";
+        sha1 = "8b9f8f08cf1acb843756a839ca8c7e3168c51997";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_5.0.1.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz";
+        sha1 = "082cb2c89c9fe8659a311a53bd6a4dc5301db304";
+      };
+    }
+    {
+      name = "ansi_styles___ansi_styles_3.2.1.tgz";
+      path = fetchurl {
+        name = "ansi_styles___ansi_styles_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz";
+        sha1 = "41fbb20243e50b12be0f04b8dedbf07520ce841d";
+      };
+    }
+    {
+      name = "ansi_styles___ansi_styles_4.3.0.tgz";
+      path = fetchurl {
+        name = "ansi_styles___ansi_styles_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz";
+        sha1 = "edd803628ae71c04c85ae7a0906edad34b648937";
+      };
+    }
+    {
+      name = "app_builder_bin___app_builder_bin_3.5.13.tgz";
+      path = fetchurl {
+        name = "app_builder_bin___app_builder_bin_3.5.13.tgz";
+        url  = "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.13.tgz";
+        sha1 = "6dd7f4de34a4e408806f99b8c7d6ef1601305b7e";
+      };
+    }
+    {
+      name = "app_builder_lib___app_builder_lib_22.11.7.tgz";
+      path = fetchurl {
+        name = "app_builder_lib___app_builder_lib_22.11.7.tgz";
+        url  = "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.11.7.tgz";
+        sha1 = "c0ad1119ebfbf4189a8280ad693625f5e684dca6";
+      };
+    }
+    {
+      name = "arch___arch_2.2.0.tgz";
+      path = fetchurl {
+        name = "arch___arch_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz";
+        sha1 = "1bc47818f305764f23ab3306b0bfc086c5a29d11";
+      };
+    }
+    {
+      name = "argparse___argparse_2.0.1.tgz";
+      path = fetchurl {
+        name = "argparse___argparse_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz";
+        sha1 = "246f50f3ca78a3240f6c997e8a9bd1eac49e4b38";
+      };
+    }
+    {
+      name = "asar___asar_3.1.0.tgz";
+      path = fetchurl {
+        name = "asar___asar_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/asar/-/asar-3.1.0.tgz";
+        sha1 = "70b0509449fe3daccc63beb4d3c7d2e24d3c6473";
+      };
+    }
+    {
+      name = "assert_plus___assert_plus_1.0.0.tgz";
+      path = fetchurl {
+        name = "assert_plus___assert_plus_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz";
+        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+      };
+    }
+    {
+      name = "async_exit_hook___async_exit_hook_2.0.1.tgz";
+      path = fetchurl {
+        name = "async_exit_hook___async_exit_hook_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz";
+        sha1 = "8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3";
+      };
+    }
+    {
+      name = "async___async_0.9.2.tgz";
+      path = fetchurl {
+        name = "async___async_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz";
+        sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
+      };
+    }
+    {
+      name = "at_least_node___at_least_node_1.0.0.tgz";
+      path = fetchurl {
+        name = "at_least_node___at_least_node_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz";
+        sha1 = "602cd4b46e844ad4effc92a8011a3c46e0238dc2";
+      };
+    }
+    {
+      name = "axios___axios_0.21.4.tgz";
+      path = fetchurl {
+        name = "axios___axios_0.21.4.tgz";
+        url  = "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz";
+        sha1 = "c67b90dc0568e5c1cf2b0b858c43ba28e2eda575";
+      };
+    }
+    {
+      name = "balanced_match___balanced_match_1.0.2.tgz";
+      path = fetchurl {
+        name = "balanced_match___balanced_match_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz";
+        sha1 = "e83e3a7e3f300b34cb9d87f615fa0cbf357690ee";
+      };
+    }
+    {
+      name = "base64_js___base64_js_1.5.1.tgz";
+      path = fetchurl {
+        name = "base64_js___base64_js_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz";
+        sha1 = "1b1b440160a5bf7ad40b650f095963481903930a";
+      };
+    }
+    {
+      name = "bl___bl_4.1.0.tgz";
+      path = fetchurl {
+        name = "bl___bl_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz";
+        sha1 = "451535264182bec2fbbc83a62ab98cf11d9f7b3a";
+      };
+    }
+    {
+      name = "bluebird_lst___bluebird_lst_1.0.9.tgz";
+      path = fetchurl {
+        name = "bluebird_lst___bluebird_lst_1.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz";
+        sha1 = "a64a0e4365658b9ab5fe875eb9dfb694189bb41c";
+      };
+    }
+    {
+      name = "bluebird___bluebird_3.7.2.tgz";
+      path = fetchurl {
+        name = "bluebird___bluebird_3.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz";
+        sha1 = "9f229c15be272454ffa973ace0dbee79a1b0c36f";
+      };
+    }
+    {
+      name = "boolean___boolean_3.1.4.tgz";
+      path = fetchurl {
+        name = "boolean___boolean_3.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/boolean/-/boolean-3.1.4.tgz";
+        sha1 = "f51a2fb5838a99e06f9b6ec1edb674de67026435";
+      };
+    }
+    {
+      name = "bootstrap___bootstrap_5.1.1.tgz";
+      path = fetchurl {
+        name = "bootstrap___bootstrap_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.1.1.tgz";
+        sha1 = "9d6eed81e08feaccedf3adaca51fe4b73a2871df";
+      };
+    }
+    {
+      name = "boxen___boxen_5.1.2.tgz";
+      path = fetchurl {
+        name = "boxen___boxen_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz";
+        sha1 = "788cb686fc83c1f486dfa8a40c68fc2b831d2b50";
+      };
+    }
+    {
+      name = "brace_expansion___brace_expansion_1.1.11.tgz";
+      path = fetchurl {
+        name = "brace_expansion___brace_expansion_1.1.11.tgz";
+        url  = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz";
+        sha1 = "3c7fcbf529d87226f3d2f52b966ff5271eb441dd";
+      };
+    }
+    {
+      name = "buffer_crc32___buffer_crc32_0.2.13.tgz";
+      path = fetchurl {
+        name = "buffer_crc32___buffer_crc32_0.2.13.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz";
+        sha1 = "0d333e3f00eac50aa1454abd30ef8c2a5d9a7242";
+      };
+    }
+    {
+      name = "buffer_equal___buffer_equal_1.0.0.tgz";
+      path = fetchurl {
+        name = "buffer_equal___buffer_equal_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz";
+        sha1 = "59616b498304d556abd466966b22eeda3eca5fbe";
+      };
+    }
+    {
+      name = "buffer_from___buffer_from_1.1.2.tgz";
+      path = fetchurl {
+        name = "buffer_from___buffer_from_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz";
+        sha1 = "2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5";
+      };
+    }
+    {
+      name = "buffer___buffer_5.7.1.tgz";
+      path = fetchurl {
+        name = "buffer___buffer_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz";
+        sha1 = "ba62e7c13133053582197160851a8f648e99eed0";
+      };
+    }
+    {
+      name = "builder_util_runtime___builder_util_runtime_8.7.6.tgz";
+      path = fetchurl {
+        name = "builder_util_runtime___builder_util_runtime_8.7.6.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.6.tgz";
+        sha1 = "4b43c96db2bd494ced7694bcd7674934655e8324";
+      };
+    }
+    {
+      name = "builder_util_runtime___builder_util_runtime_8.7.7.tgz";
+      path = fetchurl {
+        name = "builder_util_runtime___builder_util_runtime_8.7.7.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.7.tgz";
+        sha1 = "6c83cc3abe7a7a5c8b4ec8878f68adc828c07f0d";
+      };
+    }
+    {
+      name = "builder_util___builder_util_22.11.7.tgz";
+      path = fetchurl {
+        name = "builder_util___builder_util_22.11.7.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util/-/builder-util-22.11.7.tgz";
+        sha1 = "ae9707afa6a31feafa13c274ac83b4fe28ef1467";
+      };
+    }
+    {
+      name = "cacheable_request___cacheable_request_6.1.0.tgz";
+      path = fetchurl {
+        name = "cacheable_request___cacheable_request_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz";
+        sha1 = "20ffb8bd162ba4be11e9567d823db651052ca912";
+      };
+    }
+    {
+      name = "camelcase___camelcase_6.2.0.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz";
+        sha1 = "924af881c9d525ac9d87f40d964e5cea982a1809";
+      };
+    }
+    {
+      name = "chalk___chalk_2.4.2.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_2.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz";
+        sha1 = "cd42541677a54333cf541a49108c1432b44c9424";
+      };
+    }
+    {
+      name = "chalk___chalk_4.1.2.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz";
+        sha1 = "aac4e2b7734a740867aeb16bf02aad556a1e7a01";
+      };
+    }
+    {
+      name = "charenc___charenc_0.0.2.tgz";
+      path = fetchurl {
+        name = "charenc___charenc_0.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz";
+        sha1 = "c0a1d2f3a7092e03774bfa83f14c0fc5790a8667";
+      };
+    }
+    {
+      name = "chownr___chownr_1.1.4.tgz";
+      path = fetchurl {
+        name = "chownr___chownr_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz";
+        sha1 = "6fc9d7b42d32a583596337666e7d08084da2cc6b";
+      };
+    }
+    {
+      name = "chromium_pickle_js___chromium_pickle_js_0.2.0.tgz";
+      path = fetchurl {
+        name = "chromium_pickle_js___chromium_pickle_js_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz";
+        sha1 = "04a106672c18b085ab774d983dfa3ea138f22205";
+      };
+    }
+    {
+      name = "ci_info___ci_info_2.0.0.tgz";
+      path = fetchurl {
+        name = "ci_info___ci_info_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz";
+        sha1 = "67a9e964be31a51e15e5010d58e6f12834002f46";
+      };
+    }
+    {
+      name = "ci_info___ci_info_3.2.0.tgz";
+      path = fetchurl {
+        name = "ci_info___ci_info_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz";
+        sha1 = "2876cb948a498797b5236f0095bc057d0dca38b6";
+      };
+    }
+    {
+      name = "cli_boxes___cli_boxes_2.2.1.tgz";
+      path = fetchurl {
+        name = "cli_boxes___cli_boxes_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz";
+        sha1 = "ddd5035d25094fce220e9cab40a45840a440318f";
+      };
+    }
+    {
+      name = "cli_truncate___cli_truncate_1.1.0.tgz";
+      path = fetchurl {
+        name = "cli_truncate___cli_truncate_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-1.1.0.tgz";
+        sha1 = "2b2dfd83c53cfd3572b87fc4d430a808afb04086";
+      };
+    }
+    {
+      name = "clipboardy___clipboardy_2.3.0.tgz";
+      path = fetchurl {
+        name = "clipboardy___clipboardy_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/clipboardy/-/clipboardy-2.3.0.tgz";
+        sha1 = "3c2903650c68e46a91b388985bc2774287dba290";
+      };
+    }
+    {
+      name = "cliui___cliui_7.0.4.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_7.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz";
+        sha1 = "a0265ee655476fc807aea9df3df8df7783808b4f";
+      };
+    }
+    {
+      name = "clone_response___clone_response_1.0.2.tgz";
+      path = fetchurl {
+        name = "clone_response___clone_response_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz";
+        sha1 = "d1dc973920314df67fbeb94223b4ee350239e96b";
+      };
+    }
+    {
+      name = "color_convert___color_convert_1.9.3.tgz";
+      path = fetchurl {
+        name = "color_convert___color_convert_1.9.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz";
+        sha1 = "bb71850690e1f136567de629d2d5471deda4c1e8";
+      };
+    }
+    {
+      name = "color_convert___color_convert_2.0.1.tgz";
+      path = fetchurl {
+        name = "color_convert___color_convert_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz";
+        sha1 = "72d3a68d598c9bdb3af2ad1e84f21d896abd4de3";
+      };
+    }
+    {
+      name = "color_name___color_name_1.1.3.tgz";
+      path = fetchurl {
+        name = "color_name___color_name_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz";
+        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
+      };
+    }
+    {
+      name = "color_name___color_name_1.1.4.tgz";
+      path = fetchurl {
+        name = "color_name___color_name_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz";
+        sha1 = "c2a09a87acbde69543de6f63fa3995c826c536a2";
+      };
+    }
+    {
+      name = "colors___colors_1.0.3.tgz";
+      path = fetchurl {
+        name = "colors___colors_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz";
+        sha1 = "0433f44d809680fdeb60ed260f1b0c262e82a40b";
+      };
+    }
+    {
+      name = "commander___commander_2.9.0.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz";
+        sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
+      };
+    }
+    {
+      name = "commander___commander_5.1.0.tgz";
+      path = fetchurl {
+        name = "commander___commander_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz";
+        sha1 = "46abbd1652f8e059bddaef99bbdcb2ad9cf179ae";
+      };
+    }
+    {
+      name = "concat_map___concat_map_0.0.1.tgz";
+      path = fetchurl {
+        name = "concat_map___concat_map_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz";
+        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+      };
+    }
+    {
+      name = "concat_stream___concat_stream_1.6.2.tgz";
+      path = fetchurl {
+        name = "concat_stream___concat_stream_1.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz";
+        sha1 = "904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34";
+      };
+    }
+    {
+      name = "config_chain___config_chain_1.1.13.tgz";
+      path = fetchurl {
+        name = "config_chain___config_chain_1.1.13.tgz";
+        url  = "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz";
+        sha1 = "fad0795aa6a6cdaff9ed1b68e9dff94372c232f4";
+      };
+    }
+    {
+      name = "configstore___configstore_5.0.1.tgz";
+      path = fetchurl {
+        name = "configstore___configstore_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz";
+        sha1 = "d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96";
+      };
+    }
+    {
+      name = "core_js___core_js_3.18.0.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_3.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.18.0.tgz";
+        sha1 = "9af3f4a6df9ba3428a3fb1b171f1503b3f40cc49";
+      };
+    }
+    {
+      name = "core_util_is___core_util_is_1.0.2.tgz";
+      path = fetchurl {
+        name = "core_util_is___core_util_is_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz";
+        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+      };
+    }
+    {
+      name = "core_util_is___core_util_is_1.0.3.tgz";
+      path = fetchurl {
+        name = "core_util_is___core_util_is_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz";
+        sha1 = "a6042d3634c2b27e9328f837b965fac83808db85";
+      };
+    }
+    {
+      name = "crc___crc_3.8.0.tgz";
+      path = fetchurl {
+        name = "crc___crc_3.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz";
+        sha1 = "ad60269c2c856f8c299e2c4cc0de4556914056c6";
+      };
+    }
+    {
+      name = "cross_spawn___cross_spawn_6.0.5.tgz";
+      path = fetchurl {
+        name = "cross_spawn___cross_spawn_6.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz";
+        sha1 = "4a5ec7c64dfae22c3a14124dbacdee846d80cbc4";
+      };
+    }
+    {
+      name = "cross_spawn___cross_spawn_7.0.3.tgz";
+      path = fetchurl {
+        name = "cross_spawn___cross_spawn_7.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz";
+        sha1 = "f73a85b9d5d41d045551c177e2882d4ac85728a6";
+      };
+    }
+    {
+      name = "crypt___crypt_0.0.2.tgz";
+      path = fetchurl {
+        name = "crypt___crypt_0.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz";
+        sha1 = "88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b";
+      };
+    }
+    {
+      name = "crypto_random_string___crypto_random_string_2.0.0.tgz";
+      path = fetchurl {
+        name = "crypto_random_string___crypto_random_string_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz";
+        sha1 = "ef2a7a966ec11083388369baa02ebead229b30d5";
+      };
+    }
+    {
+      name = "debug___debug_4.3.2.tgz";
+      path = fetchurl {
+        name = "debug___debug_4.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz";
+        sha1 = "f0a49c18ac8779e31d4a0c6029dfb76873c7428b";
+      };
+    }
+    {
+      name = "debug___debug_4.3.1.tgz";
+      path = fetchurl {
+        name = "debug___debug_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz";
+        sha1 = "f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee";
+      };
+    }
+    {
+      name = "debug___debug_2.6.9.tgz";
+      path = fetchurl {
+        name = "debug___debug_2.6.9.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz";
+        sha1 = "5d128515df134ff327e90a4c93f4e077a536341f";
+      };
+    }
+    {
+      name = "decompress_response___decompress_response_3.3.0.tgz";
+      path = fetchurl {
+        name = "decompress_response___decompress_response_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz";
+        sha1 = "80a4dd323748384bfa248083622aedec982adff3";
+      };
+    }
+    {
+      name = "deep_extend___deep_extend_0.6.0.tgz";
+      path = fetchurl {
+        name = "deep_extend___deep_extend_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz";
+        sha1 = "c4fa7c95404a17a9c3e8ca7e1537312b736330ac";
+      };
+    }
+    {
+      name = "defer_to_connect___defer_to_connect_1.1.3.tgz";
+      path = fetchurl {
+        name = "defer_to_connect___defer_to_connect_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz";
+        sha1 = "331ae050c08dcf789f8c83a7b81f0ed94f4ac591";
+      };
+    }
+    {
+      name = "define_properties___define_properties_1.1.3.tgz";
+      path = fetchurl {
+        name = "define_properties___define_properties_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz";
+        sha1 = "cf88da6cbee26fe6db7094f61d870cbd84cee9f1";
+      };
+    }
+    {
+      name = "detect_node___detect_node_2.1.0.tgz";
+      path = fetchurl {
+        name = "detect_node___detect_node_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz";
+        sha1 = "c9c70775a49c3d03bc2c06d9a73be550f978f8b1";
+      };
+    }
+    {
+      name = "devtools_protocol___devtools_protocol_0.0.901419.tgz";
+      path = fetchurl {
+        name = "devtools_protocol___devtools_protocol_0.0.901419.tgz";
+        url  = "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.901419.tgz";
+        sha1 = "79b5459c48fe7e1c5563c02bd72f8fec3e0cebcd";
+      };
+    }
+    {
+      name = "dir_compare___dir_compare_2.4.0.tgz";
+      path = fetchurl {
+        name = "dir_compare___dir_compare_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/dir-compare/-/dir-compare-2.4.0.tgz";
+        sha1 = "785c41dc5f645b34343a4eafc50b79bac7f11631";
+      };
+    }
+    {
+      name = "dmg_builder___dmg_builder_22.11.7.tgz";
+      path = fetchurl {
+        name = "dmg_builder___dmg_builder_22.11.7.tgz";
+        url  = "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.11.7.tgz";
+        sha1 = "5956008c18d40ee72c0ea01ffea9590dbf51df89";
+      };
+    }
+    {
+      name = "dmg_license___dmg_license_1.0.9.tgz";
+      path = fetchurl {
+        name = "dmg_license___dmg_license_1.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.9.tgz";
+        sha1 = "a2fb8d692af0e30b0730b5afc91ed9edc2d9cb4f";
+      };
+    }
+    {
+      name = "dot_prop___dot_prop_5.3.0.tgz";
+      path = fetchurl {
+        name = "dot_prop___dot_prop_5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz";
+        sha1 = "90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88";
+      };
+    }
+    {
+      name = "dotenv_expand___dotenv_expand_5.1.0.tgz";
+      path = fetchurl {
+        name = "dotenv_expand___dotenv_expand_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz";
+        sha1 = "3fbaf020bfd794884072ea26b1e9791d45a629f0";
+      };
+    }
+    {
+      name = "dotenv___dotenv_9.0.2.tgz";
+      path = fetchurl {
+        name = "dotenv___dotenv_9.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/dotenv/-/dotenv-9.0.2.tgz";
+        sha1 = "dacc20160935a37dea6364aa1bef819fb9b6ab05";
+      };
+    }
+    {
+      name = "duplexer3___duplexer3_0.1.4.tgz";
+      path = fetchurl {
+        name = "duplexer3___duplexer3_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz";
+        sha1 = "ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2";
+      };
+    }
+    {
+      name = "ejs___ejs_3.1.6.tgz";
+      path = fetchurl {
+        name = "ejs___ejs_3.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz";
+        sha1 = "5bfd0a0689743bb5268b3550cceeebbc1702822a";
+      };
+    }
+    {
+      name = "electron_builder___electron_builder_22.11.7.tgz";
+      path = fetchurl {
+        name = "electron_builder___electron_builder_22.11.7.tgz";
+        url  = "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.11.7.tgz";
+        sha1 = "cd97a0d9f6e6d388112e66b4376de431cca4d596";
+      };
+    }
+    {
+      name = "electron_publish___electron_publish_22.11.7.tgz";
+      path = fetchurl {
+        name = "electron_publish___electron_publish_22.11.7.tgz";
+        url  = "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.11.7.tgz";
+        sha1 = "4126cbb08ccf082a2aa7fef89ee629b3a4b8ae9a";
+      };
+    }
+    {
+      name = "electron___electron_15.0.0.tgz";
+      path = fetchurl {
+        name = "electron___electron_15.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/electron/-/electron-15.0.0.tgz";
+        sha1 = "b1b6244b1cffddf348c27c54b1310b3a3680246e";
+      };
+    }
+    {
+      name = "emoji_regex___emoji_regex_7.0.3.tgz";
+      path = fetchurl {
+        name = "emoji_regex___emoji_regex_7.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz";
+        sha1 = "933a04052860c85e83c122479c4748a8e4c72156";
+      };
+    }
+    {
+      name = "emoji_regex___emoji_regex_8.0.0.tgz";
+      path = fetchurl {
+        name = "emoji_regex___emoji_regex_8.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz";
+        sha1 = "e818fd69ce5ccfcb404594f842963bf53164cc37";
+      };
+    }
+    {
+      name = "encodeurl___encodeurl_1.0.2.tgz";
+      path = fetchurl {
+        name = "encodeurl___encodeurl_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz";
+        sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
+      };
+    }
+    {
+      name = "end_of_stream___end_of_stream_1.4.4.tgz";
+      path = fetchurl {
+        name = "end_of_stream___end_of_stream_1.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz";
+        sha1 = "5ae64a5f45057baf3626ec14da0ca5e4b2431eb0";
+      };
+    }
+    {
+      name = "env_paths___env_paths_2.2.1.tgz";
+      path = fetchurl {
+        name = "env_paths___env_paths_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz";
+        sha1 = "420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2";
+      };
+    }
+    {
+      name = "es6_error___es6_error_4.1.1.tgz";
+      path = fetchurl {
+        name = "es6_error___es6_error_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz";
+        sha1 = "9e3af407459deed47e9a91f9b885a84eb05c561d";
+      };
+    }
+    {
+      name = "escalade___escalade_3.1.1.tgz";
+      path = fetchurl {
+        name = "escalade___escalade_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz";
+        sha1 = "d8cfdc7000965c5a0174b4a82eaa5c0552742e40";
+      };
+    }
+    {
+      name = "escape_goat___escape_goat_2.1.1.tgz";
+      path = fetchurl {
+        name = "escape_goat___escape_goat_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz";
+        sha1 = "1b2dc77003676c457ec760b2dc68edb648188675";
+      };
+    }
+    {
+      name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
+      path = fetchurl {
+        name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+      };
+    }
+    {
+      name = "escape_string_regexp___escape_string_regexp_4.0.0.tgz";
+      path = fetchurl {
+        name = "escape_string_regexp___escape_string_regexp_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz";
+        sha1 = "14ba83a5d373e3d311e5afca29cf5bfad965bf34";
+      };
+    }
+    {
+      name = "execa___execa_1.0.0.tgz";
+      path = fetchurl {
+        name = "execa___execa_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz";
+        sha1 = "c6236a5bb4df6d6f15e88e7f017798216749ddd8";
+      };
+    }
+    {
+      name = "extract_zip___extract_zip_2.0.1.tgz";
+      path = fetchurl {
+        name = "extract_zip___extract_zip_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz";
+        sha1 = "663dca56fe46df890d5f131ef4a06d22bb8ba13a";
+      };
+    }
+    {
+      name = "extract_zip___extract_zip_1.7.0.tgz";
+      path = fetchurl {
+        name = "extract_zip___extract_zip_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz";
+        sha1 = "556cc3ae9df7f452c493a0cfb51cc30277940927";
+      };
+    }
+    {
+      name = "extsprintf___extsprintf_1.4.0.tgz";
+      path = fetchurl {
+        name = "extsprintf___extsprintf_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz";
+        sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f";
+      };
+    }
+    {
+      name = "fast_deep_equal___fast_deep_equal_3.1.3.tgz";
+      path = fetchurl {
+        name = "fast_deep_equal___fast_deep_equal_3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz";
+        sha1 = "3a7d56b559d6cbc3eb512325244e619a65c6c525";
+      };
+    }
+    {
+      name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz";
+      path = fetchurl {
+        name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
+        sha1 = "874bf69c6f404c2b5d99c481341399fd55892633";
+      };
+    }
+    {
+      name = "fd_slicer___fd_slicer_1.1.0.tgz";
+      path = fetchurl {
+        name = "fd_slicer___fd_slicer_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz";
+        sha1 = "25c7c89cb1f9077f8891bbe61d8f390eae256f1e";
+      };
+    }
+    {
+      name = "filelist___filelist_1.0.2.tgz";
+      path = fetchurl {
+        name = "filelist___filelist_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz";
+        sha1 = "80202f21462d4d1c2e214119b1807c1bc0380e5b";
+      };
+    }
+    {
+      name = "find_up___find_up_4.1.0.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz";
+        sha1 = "97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19";
+      };
+    }
+    {
+      name = "follow_redirects___follow_redirects_1.14.4.tgz";
+      path = fetchurl {
+        name = "follow_redirects___follow_redirects_1.14.4.tgz";
+        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.4.tgz";
+        sha1 = "838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379";
+      };
+    }
+    {
+      name = "font_awesome___font_awesome_4.7.0.tgz";
+      path = fetchurl {
+        name = "font_awesome___font_awesome_4.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz";
+        sha1 = "8fa8cf0411a1a31afd07b06d2902bb9fc815a133";
+      };
+    }
+    {
+      name = "fs_constants___fs_constants_1.0.0.tgz";
+      path = fetchurl {
+        name = "fs_constants___fs_constants_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz";
+        sha1 = "6be0de9be998ce16af8afc24497b9ee9b7ccd9ad";
+      };
+    }
+    {
+      name = "fs_extra___fs_extra_10.0.0.tgz";
+      path = fetchurl {
+        name = "fs_extra___fs_extra_10.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz";
+        sha1 = "9ff61b655dde53fb34a82df84bb214ce802e17c1";
+      };
+    }
+    {
+      name = "fs_extra___fs_extra_8.1.0.tgz";
+      path = fetchurl {
+        name = "fs_extra___fs_extra_8.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz";
+        sha1 = "49d43c45a88cd9677668cb7be1b46efdb8d2e1c0";
+      };
+    }
+    {
+      name = "fs_extra___fs_extra_9.1.0.tgz";
+      path = fetchurl {
+        name = "fs_extra___fs_extra_9.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz";
+        sha1 = "5954460c764a8da2094ba3554bf839e6b9a7c86d";
+      };
+    }
+    {
+      name = "fs.realpath___fs.realpath_1.0.0.tgz";
+      path = fetchurl {
+        name = "fs.realpath___fs.realpath_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz";
+        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+      };
+    }
+    {
+      name = "get_caller_file___get_caller_file_2.0.5.tgz";
+      path = fetchurl {
+        name = "get_caller_file___get_caller_file_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz";
+        sha1 = "4f94412a82db32f36e3b0b9741f8a97feb031f7e";
+      };
+    }
+    {
+      name = "get_stream___get_stream_4.1.0.tgz";
+      path = fetchurl {
+        name = "get_stream___get_stream_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz";
+        sha1 = "c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5";
+      };
+    }
+    {
+      name = "get_stream___get_stream_5.2.0.tgz";
+      path = fetchurl {
+        name = "get_stream___get_stream_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz";
+        sha1 = "4966a1795ee5ace65e706c4b7beb71257d6e22d3";
+      };
+    }
+    {
+      name = "glob___glob_7.1.7.tgz";
+      path = fetchurl {
+        name = "glob___glob_7.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz";
+        sha1 = "3b193e9233f01d42d0b3f78294bbeeb418f94a90";
+      };
+    }
+    {
+      name = "global_agent___global_agent_2.2.0.tgz";
+      path = fetchurl {
+        name = "global_agent___global_agent_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-agent/-/global-agent-2.2.0.tgz";
+        sha1 = "566331b0646e6bf79429a16877685c4a1fbf76dc";
+      };
+    }
+    {
+      name = "global_dirs___global_dirs_3.0.0.tgz";
+      path = fetchurl {
+        name = "global_dirs___global_dirs_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz";
+        sha1 = "70a76fe84ea315ab37b1f5576cbde7d48ef72686";
+      };
+    }
+    {
+      name = "global_tunnel_ng___global_tunnel_ng_2.7.1.tgz";
+      path = fetchurl {
+        name = "global_tunnel_ng___global_tunnel_ng_2.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz";
+        sha1 = "d03b5102dfde3a69914f5ee7d86761ca35d57d8f";
+      };
+    }
+    {
+      name = "globalthis___globalthis_1.0.2.tgz";
+      path = fetchurl {
+        name = "globalthis___globalthis_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.2.tgz";
+        sha1 = "2a235d34f4d8036219f7e34929b5de9e18166b8b";
+      };
+    }
+    {
+      name = "got___got_9.6.0.tgz";
+      path = fetchurl {
+        name = "got___got_9.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz";
+        sha1 = "edf45e7d67f99545705de1f7bbeeeb121765ed85";
+      };
+    }
+    {
+      name = "graceful_fs___graceful_fs_4.2.8.tgz";
+      path = fetchurl {
+        name = "graceful_fs___graceful_fs_4.2.8.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz";
+        sha1 = "e412b8d33f5e006593cbd3cee6df9f2cebbe802a";
+      };
+    }
+    {
+      name = "graceful_readlink___graceful_readlink_1.0.1.tgz";
+      path = fetchurl {
+        name = "graceful_readlink___graceful_readlink_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
+        sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
+      };
+    }
+    {
+      name = "has_flag___has_flag_3.0.0.tgz";
+      path = fetchurl {
+        name = "has_flag___has_flag_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz";
+        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+      };
+    }
+    {
+      name = "has_flag___has_flag_4.0.0.tgz";
+      path = fetchurl {
+        name = "has_flag___has_flag_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz";
+        sha1 = "944771fd9c81c81265c4d6941860da06bb59479b";
+      };
+    }
+    {
+      name = "has_yarn___has_yarn_2.1.0.tgz";
+      path = fetchurl {
+        name = "has_yarn___has_yarn_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz";
+        sha1 = "137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77";
+      };
+    }
+    {
+      name = "hosted_git_info___hosted_git_info_4.0.2.tgz";
+      path = fetchurl {
+        name = "hosted_git_info___hosted_git_info_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz";
+        sha1 = "5e425507eede4fea846b7262f0838456c4209961";
+      };
+    }
+    {
+      name = "http_cache_semantics___http_cache_semantics_4.1.0.tgz";
+      path = fetchurl {
+        name = "http_cache_semantics___http_cache_semantics_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz";
+        sha1 = "49e91c5cbf36c9b94bcfcd71c23d5249ec74e390";
+      };
+    }
+    {
+      name = "https_proxy_agent___https_proxy_agent_5.0.0.tgz";
+      path = fetchurl {
+        name = "https_proxy_agent___https_proxy_agent_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz";
+        sha1 = "e2a90542abb68a762e0a0850f6c9edadfd8506b2";
+      };
+    }
+    {
+      name = "iconv_corefoundation___iconv_corefoundation_1.1.6.tgz";
+      path = fetchurl {
+        name = "iconv_corefoundation___iconv_corefoundation_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.6.tgz";
+        sha1 = "27c135470237f6f8d13462fa1f5eaf250523c29a";
+      };
+    }
+    {
+      name = "iconv_lite___iconv_lite_0.6.3.tgz";
+      path = fetchurl {
+        name = "iconv_lite___iconv_lite_0.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz";
+        sha1 = "a52f80bf38da1952eb5c681790719871a1a72501";
+      };
+    }
+    {
+      name = "ieee754___ieee754_1.2.1.tgz";
+      path = fetchurl {
+        name = "ieee754___ieee754_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz";
+        sha1 = "8eb7a10a63fff25d15a57b001586d177d1b0d352";
+      };
+    }
+    {
+      name = "import_lazy___import_lazy_2.1.0.tgz";
+      path = fetchurl {
+        name = "import_lazy___import_lazy_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz";
+        sha1 = "05698e3d45c88e8d7e9d92cb0584e77f096f3e43";
+      };
+    }
+    {
+      name = "imurmurhash___imurmurhash_0.1.4.tgz";
+      path = fetchurl {
+        name = "imurmurhash___imurmurhash_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz";
+        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+      };
+    }
+    {
+      name = "inflight___inflight_1.0.6.tgz";
+      path = fetchurl {
+        name = "inflight___inflight_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz";
+        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.4.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz";
+        sha1 = "0fa2c64f932917c3433a0ded55363aae37416b7c";
+      };
+    }
+    {
+      name = "ini___ini_2.0.0.tgz";
+      path = fetchurl {
+        name = "ini___ini_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz";
+        sha1 = "e5fd556ecdd5726be978fa1001862eacb0a94bc5";
+      };
+    }
+    {
+      name = "ini___ini_1.3.8.tgz";
+      path = fetchurl {
+        name = "ini___ini_1.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz";
+        sha1 = "a29da425b48806f34767a4efce397269af28432c";
+      };
+    }
+    {
+      name = "is_buffer___is_buffer_1.1.6.tgz";
+      path = fetchurl {
+        name = "is_buffer___is_buffer_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz";
+        sha1 = "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be";
+      };
+    }
+    {
+      name = "is_ci___is_ci_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_ci___is_ci_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz";
+        sha1 = "6bc6334181810e04b5c22b3d589fdca55026404c";
+      };
+    }
+    {
+      name = "is_ci___is_ci_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_ci___is_ci_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz";
+        sha1 = "c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994";
+      };
+    }
+    {
+      name = "is_docker___is_docker_2.2.1.tgz";
+      path = fetchurl {
+        name = "is_docker___is_docker_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz";
+        sha1 = "33eeabe23cfe86f14bde4408a02c0cfb853acdaa";
+      };
+    }
+    {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
+        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
+      };
+    }
+    {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz";
+        sha1 = "f116f8064fe90b3f7844a38997c0b75051269f1d";
+      };
+    }
+    {
+      name = "is_installed_globally___is_installed_globally_0.4.0.tgz";
+      path = fetchurl {
+        name = "is_installed_globally___is_installed_globally_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz";
+        sha1 = "9a0fd407949c30f86eb6959ef1b7994ed0b7b520";
+      };
+    }
+    {
+      name = "is_npm___is_npm_5.0.0.tgz";
+      path = fetchurl {
+        name = "is_npm___is_npm_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz";
+        sha1 = "43e8d65cc56e1b67f8d47262cf667099193f45a8";
+      };
+    }
+    {
+      name = "is_obj___is_obj_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_obj___is_obj_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz";
+        sha1 = "473fb05d973705e3fd9620545018ca8e22ef4982";
+      };
+    }
+    {
+      name = "is_path_inside___is_path_inside_3.0.3.tgz";
+      path = fetchurl {
+        name = "is_path_inside___is_path_inside_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz";
+        sha1 = "d231362e53a07ff2b0e0ea7fed049161ffd16283";
+      };
+    }
+    {
+      name = "is_stream___is_stream_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_stream___is_stream_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz";
+        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+      };
+    }
+    {
+      name = "is_typedarray___is_typedarray_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_typedarray___is_typedarray_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz";
+        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+      };
+    }
+    {
+      name = "is_wsl___is_wsl_2.2.0.tgz";
+      path = fetchurl {
+        name = "is_wsl___is_wsl_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz";
+        sha1 = "74a4c76e77ca9fd3f932f290c17ea326cd157271";
+      };
+    }
+    {
+      name = "is_yarn_global___is_yarn_global_0.3.0.tgz";
+      path = fetchurl {
+        name = "is_yarn_global___is_yarn_global_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz";
+        sha1 = "d502d3382590ea3004893746754c89139973e232";
+      };
+    }
+    {
+      name = "isarray___isarray_1.0.0.tgz";
+      path = fetchurl {
+        name = "isarray___isarray_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+      };
+    }
+    {
+      name = "isbinaryfile___isbinaryfile_4.0.8.tgz";
+      path = fetchurl {
+        name = "isbinaryfile___isbinaryfile_4.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz";
+        sha1 = "5d34b94865bd4946633ecc78a026fc76c5b11fcf";
+      };
+    }
+    {
+      name = "isexe___isexe_2.0.0.tgz";
+      path = fetchurl {
+        name = "isexe___isexe_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz";
+        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+      };
+    }
+    {
+      name = "iso8601_duration___iso8601_duration_1.3.0.tgz";
+      path = fetchurl {
+        name = "iso8601_duration___iso8601_duration_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/iso8601-duration/-/iso8601-duration-1.3.0.tgz";
+        sha1 = "29d7b69e0574e4acdee50c5e5e09adab4137ba5a";
+      };
+    }
+    {
+      name = "jake___jake_10.8.2.tgz";
+      path = fetchurl {
+        name = "jake___jake_10.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz";
+        sha1 = "ebc9de8558160a66d82d0eadc6a2e58fbc500a7b";
+      };
+    }
+    {
+      name = "js_yaml___js_yaml_4.1.0.tgz";
+      path = fetchurl {
+        name = "js_yaml___js_yaml_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz";
+        sha1 = "c1fb65f8f5017901cdd2c951864ba18458a10602";
+      };
+    }
+    {
+      name = "json_buffer___json_buffer_3.0.0.tgz";
+      path = fetchurl {
+        name = "json_buffer___json_buffer_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz";
+        sha1 = "5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898";
+      };
+    }
+    {
+      name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
+      path = fetchurl {
+        name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
+        sha1 = "69f6a87d9513ab8bb8fe63bdb0979c448e684660";
+      };
+    }
+    {
+      name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
+      path = fetchurl {
+        name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+      };
+    }
+    {
+      name = "json5___json5_2.2.0.tgz";
+      path = fetchurl {
+        name = "json5___json5_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz";
+        sha1 = "2dfefe720c6ba525d9ebd909950f0515316c89a3";
+      };
+    }
+    {
+      name = "jsonfile___jsonfile_4.0.0.tgz";
+      path = fetchurl {
+        name = "jsonfile___jsonfile_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz";
+        sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
+      };
+    }
+    {
+      name = "jsonfile___jsonfile_6.1.0.tgz";
+      path = fetchurl {
+        name = "jsonfile___jsonfile_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz";
+        sha1 = "bc55b2634793c679ec6403094eb13698a6ec0aae";
+      };
+    }
+    {
+      name = "keyv___keyv_3.1.0.tgz";
+      path = fetchurl {
+        name = "keyv___keyv_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz";
+        sha1 = "ecc228486f69991e49e9476485a5be1e8fc5c4d9";
+      };
+    }
+    {
+      name = "latest_version___latest_version_5.1.0.tgz";
+      path = fetchurl {
+        name = "latest_version___latest_version_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz";
+        sha1 = "119dfe908fe38d15dfa43ecd13fa12ec8832face";
+      };
+    }
+    {
+      name = "lazy_val___lazy_val_1.0.5.tgz";
+      path = fetchurl {
+        name = "lazy_val___lazy_val_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.5.tgz";
+        sha1 = "6cf3b9f5bc31cee7ee3e369c0832b7583dcd923d";
+      };
+    }
+    {
+      name = "locate_path___locate_path_5.0.0.tgz";
+      path = fetchurl {
+        name = "locate_path___locate_path_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz";
+        sha1 = "1afba396afd676a6d42504d0a67a3a7eb9f62aa0";
+      };
+    }
+    {
+      name = "lodash___lodash_4.17.21.tgz";
+      path = fetchurl {
+        name = "lodash___lodash_4.17.21.tgz";
+        url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz";
+        sha1 = "679591c564c3bffaae8454cf0b3df370c3d6911c";
+      };
+    }
+    {
+      name = "lowercase_keys___lowercase_keys_1.0.1.tgz";
+      path = fetchurl {
+        name = "lowercase_keys___lowercase_keys_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz";
+        sha1 = "6f9e30b47084d971a7c820ff15a6c5167b74c26f";
+      };
+    }
+    {
+      name = "lowercase_keys___lowercase_keys_2.0.0.tgz";
+      path = fetchurl {
+        name = "lowercase_keys___lowercase_keys_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz";
+        sha1 = "2603e78b7b4b0006cbca2fbcc8a3202558ac9479";
+      };
+    }
+    {
+      name = "lru_cache___lru_cache_6.0.0.tgz";
+      path = fetchurl {
+        name = "lru_cache___lru_cache_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz";
+        sha1 = "6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94";
+      };
+    }
+    {
+      name = "make_dir___make_dir_3.1.0.tgz";
+      path = fetchurl {
+        name = "make_dir___make_dir_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz";
+        sha1 = "415e967046b3a7f1d185277d84aa58203726a13f";
+      };
+    }
+    {
+      name = "matcher___matcher_3.0.0.tgz";
+      path = fetchurl {
+        name = "matcher___matcher_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz";
+        sha1 = "bd9060f4c5b70aa8041ccc6f80368760994f30ca";
+      };
+    }
+    {
+      name = "md5___md5_2.3.0.tgz";
+      path = fetchurl {
+        name = "md5___md5_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz";
+        sha1 = "c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f";
+      };
+    }
+    {
+      name = "mime___mime_2.5.2.tgz";
+      path = fetchurl {
+        name = "mime___mime_2.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz";
+        sha1 = "6e3dc6cc2b9510643830e5f19d5cb753da5eeabe";
+      };
+    }
+    {
+      name = "mimic_response___mimic_response_1.0.1.tgz";
+      path = fetchurl {
+        name = "mimic_response___mimic_response_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz";
+        sha1 = "4923538878eef42063cb8a3e3b0798781487ab1b";
+      };
+    }
+    {
+      name = "minimatch___minimatch_3.0.4.tgz";
+      path = fetchurl {
+        name = "minimatch___minimatch_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz";
+        sha1 = "5166e286457f03306064be5497e8dbb0c3d32083";
+      };
+    }
+    {
+      name = "minimist___minimist_1.2.5.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_1.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz";
+        sha1 = "67d66014b66a6a8aaa0c083c5fd58df4e4e97602";
+      };
+    }
+    {
+      name = "mkdirp___mkdirp_0.5.5.tgz";
+      path = fetchurl {
+        name = "mkdirp___mkdirp_0.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz";
+        sha1 = "d91cefd62d1436ca0f41620e251288d420099def";
+      };
+    }
+    {
+      name = "ms___ms_2.0.0.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+      };
+    }
+    {
+      name = "ms___ms_2.1.2.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz";
+        sha1 = "d09d1f357b443f493382a8eb3ccd183872ae6009";
+      };
+    }
+    {
+      name = "nice_try___nice_try_1.0.5.tgz";
+      path = fetchurl {
+        name = "nice_try___nice_try_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz";
+        sha1 = "a3378a7696ce7d223e88fc9b764bd7ef1089e366";
+      };
+    }
+    {
+      name = "node_addon_api___node_addon_api_1.7.2.tgz";
+      path = fetchurl {
+        name = "node_addon_api___node_addon_api_1.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz";
+        sha1 = "3df30b95720b53c24e59948b49532b662444f54d";
+      };
+    }
+    {
+      name = "node_fetch___node_fetch_2.6.1.tgz";
+      path = fetchurl {
+        name = "node_fetch___node_fetch_2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz";
+        sha1 = "045bd323631f76ed2e2b55573394416b639a0052";
+      };
+    }
+    {
+      name = "normalize_url___normalize_url_4.5.1.tgz";
+      path = fetchurl {
+        name = "normalize_url___normalize_url_4.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz";
+        sha1 = "0dd90cf1288ee1d1313b87081c9a5932ee48518a";
+      };
+    }
+    {
+      name = "npm_conf___npm_conf_1.1.3.tgz";
+      path = fetchurl {
+        name = "npm_conf___npm_conf_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz";
+        sha1 = "256cc47bd0e218c259c4e9550bf413bc2192aff9";
+      };
+    }
+    {
+      name = "npm_run_path___npm_run_path_2.0.2.tgz";
+      path = fetchurl {
+        name = "npm_run_path___npm_run_path_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz";
+        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
+      };
+    }
+    {
+      name = "object_keys___object_keys_1.1.1.tgz";
+      path = fetchurl {
+        name = "object_keys___object_keys_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz";
+        sha1 = "1c47f272df277f3b1daf061677d9c82e2322c60e";
+      };
+    }
+    {
+      name = "once___once_1.4.0.tgz";
+      path = fetchurl {
+        name = "once___once_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz";
+        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+      };
+    }
+    {
+      name = "p_cancelable___p_cancelable_1.1.0.tgz";
+      path = fetchurl {
+        name = "p_cancelable___p_cancelable_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz";
+        sha1 = "d078d15a3af409220c886f1d9a0ca2e441ab26cc";
+      };
+    }
+    {
+      name = "p_finally___p_finally_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_finally___p_finally_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz";
+        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
+      };
+    }
+    {
+      name = "p_limit___p_limit_2.3.0.tgz";
+      path = fetchurl {
+        name = "p_limit___p_limit_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz";
+        sha1 = "3dd33c647a214fdfffd835933eb086da0dc21db1";
+      };
+    }
+    {
+      name = "p_locate___p_locate_4.1.0.tgz";
+      path = fetchurl {
+        name = "p_locate___p_locate_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz";
+        sha1 = "a3428bb7088b3a60292f66919278b7c297ad4f07";
+      };
+    }
+    {
+      name = "p_try___p_try_2.2.0.tgz";
+      path = fetchurl {
+        name = "p_try___p_try_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz";
+        sha1 = "cb2868540e313d61de58fafbe35ce9004d5540e6";
+      };
+    }
+    {
+      name = "package_json___package_json_6.5.0.tgz";
+      path = fetchurl {
+        name = "package_json___package_json_6.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz";
+        sha1 = "6feedaca35e75725876d0b0e64974697fed145b0";
+      };
+    }
+    {
+      name = "path_exists___path_exists_4.0.0.tgz";
+      path = fetchurl {
+        name = "path_exists___path_exists_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz";
+        sha1 = "513bdbe2d3b95d7762e8c1137efa195c6c61b5b3";
+      };
+    }
+    {
+      name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
+      path = fetchurl {
+        name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+      };
+    }
+    {
+      name = "path_key___path_key_2.0.1.tgz";
+      path = fetchurl {
+        name = "path_key___path_key_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz";
+        sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
+      };
+    }
+    {
+      name = "path_key___path_key_3.1.1.tgz";
+      path = fetchurl {
+        name = "path_key___path_key_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz";
+        sha1 = "581f6ade658cbba65a0d3380de7753295054f375";
+      };
+    }
+    {
+      name = "pend___pend_1.2.0.tgz";
+      path = fetchurl {
+        name = "pend___pend_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz";
+        sha1 = "7a57eb550a6783f9115331fcf4663d5c8e007a50";
+      };
+    }
+    {
+      name = "pify___pify_3.0.0.tgz";
+      path = fetchurl {
+        name = "pify___pify_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz";
+        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_4.2.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz";
+        sha1 = "f099133df7ede422e81d1d8448270eeb3e4261f3";
+      };
+    }
+    {
+      name = "plist___plist_3.0.4.tgz";
+      path = fetchurl {
+        name = "plist___plist_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz";
+        sha1 = "a62df837e3aed2bb3b735899d510c4f186019cbe";
+      };
+    }
+    {
+      name = "prepend_http___prepend_http_2.0.0.tgz";
+      path = fetchurl {
+        name = "prepend_http___prepend_http_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz";
+        sha1 = "e92434bfa5ea8c19f41cdfd401d741a3c819d897";
+      };
+    }
+    {
+      name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
+      path = fetchurl {
+        name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
+        sha1 = "7820d9b16120cc55ca9ae7792680ae7dba6d7fe2";
+      };
+    }
+    {
+      name = "progress___progress_2.0.1.tgz";
+      path = fetchurl {
+        name = "progress___progress_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/progress/-/progress-2.0.1.tgz";
+        sha1 = "c9242169342b1c29d275889c95734621b1952e31";
+      };
+    }
+    {
+      name = "progress___progress_2.0.3.tgz";
+      path = fetchurl {
+        name = "progress___progress_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz";
+        sha1 = "7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8";
+      };
+    }
+    {
+      name = "proto_list___proto_list_1.2.4.tgz";
+      path = fetchurl {
+        name = "proto_list___proto_list_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz";
+        sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
+      };
+    }
+    {
+      name = "proxy_from_env___proxy_from_env_1.1.0.tgz";
+      path = fetchurl {
+        name = "proxy_from_env___proxy_from_env_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz";
+        sha1 = "e102f16ca355424865755d2c9e8ea4f24d58c3e2";
+      };
+    }
+    {
+      name = "pump___pump_3.0.0.tgz";
+      path = fetchurl {
+        name = "pump___pump_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz";
+        sha1 = "b4a2116815bde2f4e1ea602354e8c75565107a64";
+      };
+    }
+    {
+      name = "punycode___punycode_2.1.1.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz";
+        sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec";
+      };
+    }
+    {
+      name = "pupa___pupa_2.1.1.tgz";
+      path = fetchurl {
+        name = "pupa___pupa_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz";
+        sha1 = "f5e8fd4afc2c5d97828faa523549ed8744a20d62";
+      };
+    }
+    {
+      name = "puppeteer___puppeteer_10.2.0.tgz";
+      path = fetchurl {
+        name = "puppeteer___puppeteer_10.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/puppeteer/-/puppeteer-10.2.0.tgz";
+        sha1 = "7d8d7fda91e19a7cfd56986e0275448e6351849e";
+      };
+    }
+    {
+      name = "rc___rc_1.2.8.tgz";
+      path = fetchurl {
+        name = "rc___rc_1.2.8.tgz";
+        url  = "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz";
+        sha1 = "cd924bf5200a075b83c188cd6b9e211b7fc0d3ed";
+      };
+    }
+    {
+      name = "read_config_file___read_config_file_6.2.0.tgz";
+      path = fetchurl {
+        name = "read_config_file___read_config_file_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.2.0.tgz";
+        sha1 = "71536072330bcd62ba814f91458b12add9fc7ade";
+      };
+    }
+    {
+      name = "readable_stream___readable_stream_2.3.7.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_2.3.7.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz";
+        sha1 = "1eca1cf711aef814c04f62252a36a62f6cb23b57";
+      };
+    }
+    {
+      name = "readable_stream___readable_stream_3.6.0.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_3.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz";
+        sha1 = "337bbda3adc0706bd3e024426a286d4b4b2c9198";
+      };
+    }
+    {
+      name = "registry_auth_token___registry_auth_token_4.2.1.tgz";
+      path = fetchurl {
+        name = "registry_auth_token___registry_auth_token_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz";
+        sha1 = "6d7b4006441918972ccd5fedcd41dc322c79b250";
+      };
+    }
+    {
+      name = "registry_url___registry_url_5.1.0.tgz";
+      path = fetchurl {
+        name = "registry_url___registry_url_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz";
+        sha1 = "e98334b50d5434b81136b44ec638d9c2009c5009";
+      };
+    }
+    {
+      name = "require_directory___require_directory_2.1.1.tgz";
+      path = fetchurl {
+        name = "require_directory___require_directory_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz";
+        sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
+      };
+    }
+    {
+      name = "responselike___responselike_1.0.2.tgz";
+      path = fetchurl {
+        name = "responselike___responselike_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz";
+        sha1 = "918720ef3b631c5642be068f15ade5a46f4ba1e7";
+      };
+    }
+    {
+      name = "rimraf___rimraf_3.0.2.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz";
+        sha1 = "f1a5402ba6220ad52cc1282bac1ae3aa49fd061a";
+      };
+    }
+    {
+      name = "roarr___roarr_2.15.4.tgz";
+      path = fetchurl {
+        name = "roarr___roarr_2.15.4.tgz";
+        url  = "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz";
+        sha1 = "f5fe795b7b838ccfe35dc608e0282b9eba2e7afd";
+      };
+    }
+    {
+      name = "safe_buffer___safe_buffer_5.1.2.tgz";
+      path = fetchurl {
+        name = "safe_buffer___safe_buffer_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz";
+        sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d";
+      };
+    }
+    {
+      name = "safe_buffer___safe_buffer_5.2.1.tgz";
+      path = fetchurl {
+        name = "safe_buffer___safe_buffer_5.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz";
+        sha1 = "1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6";
+      };
+    }
+    {
+      name = "safer_buffer___safer_buffer_2.1.2.tgz";
+      path = fetchurl {
+        name = "safer_buffer___safer_buffer_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz";
+        sha1 = "44fa161b0187b9549dd84bb91802f9bd8385cd6a";
+      };
+    }
+    {
+      name = "sanitize_filename___sanitize_filename_1.6.3.tgz";
+      path = fetchurl {
+        name = "sanitize_filename___sanitize_filename_1.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz";
+        sha1 = "755ebd752045931977e30b2025d340d7c9090378";
+      };
+    }
+    {
+      name = "sax___sax_1.2.4.tgz";
+      path = fetchurl {
+        name = "sax___sax_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz";
+        sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9";
+      };
+    }
+    {
+      name = "semver_compare___semver_compare_1.0.0.tgz";
+      path = fetchurl {
+        name = "semver_compare___semver_compare_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz";
+        sha1 = "0dee216a1c941ab37e9efb1788f6afc5ff5537fc";
+      };
+    }
+    {
+      name = "semver_diff___semver_diff_3.1.1.tgz";
+      path = fetchurl {
+        name = "semver_diff___semver_diff_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz";
+        sha1 = "05f77ce59f325e00e2706afd67bb506ddb1ca32b";
+      };
+    }
+    {
+      name = "semver___semver_5.7.1.tgz";
+      path = fetchurl {
+        name = "semver___semver_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz";
+        sha1 = "a954f931aeba508d307bbf069eff0c01c96116f7";
+      };
+    }
+    {
+      name = "semver___semver_6.3.0.tgz";
+      path = fetchurl {
+        name = "semver___semver_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz";
+        sha1 = "ee0a64c8af5e8ceea67687b133761e1becbd1d3d";
+      };
+    }
+    {
+      name = "semver___semver_7.3.5.tgz";
+      path = fetchurl {
+        name = "semver___semver_7.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz";
+        sha1 = "0b621c879348d8998e4b0e4be94b3f12e6018ef7";
+      };
+    }
+    {
+      name = "serialize_error___serialize_error_7.0.1.tgz";
+      path = fetchurl {
+        name = "serialize_error___serialize_error_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz";
+        sha1 = "f1360b0447f61ffb483ec4157c737fab7d778e18";
+      };
+    }
+    {
+      name = "shebang_command___shebang_command_1.2.0.tgz";
+      path = fetchurl {
+        name = "shebang_command___shebang_command_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz";
+        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
+      };
+    }
+    {
+      name = "shebang_command___shebang_command_2.0.0.tgz";
+      path = fetchurl {
+        name = "shebang_command___shebang_command_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz";
+        sha1 = "ccd0af4f8835fbdc265b82461aaf0c36663f34ea";
+      };
+    }
+    {
+      name = "shebang_regex___shebang_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "shebang_regex___shebang_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz";
+        sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
+      };
+    }
+    {
+      name = "shebang_regex___shebang_regex_3.0.0.tgz";
+      path = fetchurl {
+        name = "shebang_regex___shebang_regex_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz";
+        sha1 = "ae16f1644d873ecad843b0307b143362d4c42172";
+      };
+    }
+    {
+      name = "signal_exit___signal_exit_3.0.4.tgz";
+      path = fetchurl {
+        name = "signal_exit___signal_exit_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.4.tgz";
+        sha1 = "366a4684d175b9cab2081e3681fda3747b6c51d7";
+      };
+    }
+    {
+      name = "slice_ansi___slice_ansi_1.0.0.tgz";
+      path = fetchurl {
+        name = "slice_ansi___slice_ansi_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz";
+        sha1 = "044f1a49d8842ff307aad6b505ed178bd950134d";
+      };
+    }
+    {
+      name = "smart_buffer___smart_buffer_4.2.0.tgz";
+      path = fetchurl {
+        name = "smart_buffer___smart_buffer_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz";
+        sha1 = "6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae";
+      };
+    }
+    {
+      name = "source_map_support___source_map_support_0.5.20.tgz";
+      path = fetchurl {
+        name = "source_map_support___source_map_support_0.5.20.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz";
+        sha1 = "12166089f8f5e5e8c56926b377633392dd2cb6c9";
+      };
+    }
+    {
+      name = "source_map___source_map_0.6.1.tgz";
+      path = fetchurl {
+        name = "source_map___source_map_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz";
+        sha1 = "74722af32e9614e9c287a8d0bbde48b5e2f1a263";
+      };
+    }
+    {
+      name = "sprintf_js___sprintf_js_1.1.2.tgz";
+      path = fetchurl {
+        name = "sprintf_js___sprintf_js_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz";
+        sha1 = "da1765262bf8c0f571749f2ad6c26300207ae673";
+      };
+    }
+    {
+      name = "stat_mode___stat_mode_1.0.0.tgz";
+      path = fetchurl {
+        name = "stat_mode___stat_mode_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz";
+        sha1 = "68b55cb61ea639ff57136f36b216a291800d1465";
+      };
+    }
+    {
+      name = "string_width___string_width_2.1.1.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz";
+        sha1 = "ab93f27a8dc13d28cac815c462143a6d9012ae9e";
+      };
+    }
+    {
+      name = "string_width___string_width_3.1.0.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz";
+        sha1 = "22767be21b62af1081574306f69ac51b62203961";
+      };
+    }
+    {
+      name = "string_width___string_width_4.2.2.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz";
+        sha1 = "dafd4f9559a7585cfba529c6a0a4f73488ebd4c5";
+      };
+    }
+    {
+      name = "string_decoder___string_decoder_1.3.0.tgz";
+      path = fetchurl {
+        name = "string_decoder___string_decoder_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz";
+        sha1 = "42f114594a46cf1a8e30b0a84f56c78c3edac21e";
+      };
+    }
+    {
+      name = "string_decoder___string_decoder_1.1.1.tgz";
+      path = fetchurl {
+        name = "string_decoder___string_decoder_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz";
+        sha1 = "9cf1611ba62685d7030ae9e4ba34149c3af03fc8";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_4.0.0.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz";
+        sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_5.2.0.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz";
+        sha1 = "8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_6.0.0.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz";
+        sha1 = "0b1571dd7669ccd4f3e06e14ef1eed26225ae532";
+      };
+    }
+    {
+      name = "strip_eof___strip_eof_1.0.0.tgz";
+      path = fetchurl {
+        name = "strip_eof___strip_eof_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz";
+        sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
+      };
+    }
+    {
+      name = "strip_json_comments___strip_json_comments_2.0.1.tgz";
+      path = fetchurl {
+        name = "strip_json_comments___strip_json_comments_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz";
+        sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
+      };
+    }
+    {
+      name = "sumchecker___sumchecker_3.0.1.tgz";
+      path = fetchurl {
+        name = "sumchecker___sumchecker_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz";
+        sha1 = "6377e996795abb0b6d348e9b3e1dfb24345a8e42";
+      };
+    }
+    {
+      name = "supports_color___supports_color_5.5.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz";
+        sha1 = "e2e69a44ac8772f78a1ec0b35b689df6530efc8f";
+      };
+    }
+    {
+      name = "supports_color___supports_color_7.2.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz";
+        sha1 = "1b7dcdcb32b8138801b3e478ba6a51caa89648da";
+      };
+    }
+    {
+      name = "tar_fs___tar_fs_2.0.0.tgz";
+      path = fetchurl {
+        name = "tar_fs___tar_fs_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.0.0.tgz";
+        sha1 = "677700fc0c8b337a78bee3623fdc235f21d7afad";
+      };
+    }
+    {
+      name = "tar_stream___tar_stream_2.2.0.tgz";
+      path = fetchurl {
+        name = "tar_stream___tar_stream_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz";
+        sha1 = "acad84c284136b060dc3faa64474aa9aebd77287";
+      };
+    }
+    {
+      name = "temp_file___temp_file_3.4.0.tgz";
+      path = fetchurl {
+        name = "temp_file___temp_file_3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/temp-file/-/temp-file-3.4.0.tgz";
+        sha1 = "766ea28911c683996c248ef1a20eea04d51652c7";
+      };
+    }
+    {
+      name = "through___through_2.3.8.tgz";
+      path = fetchurl {
+        name = "through___through_2.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz";
+        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+      };
+    }
+    {
+      name = "tmp_promise___tmp_promise_3.0.2.tgz";
+      path = fetchurl {
+        name = "tmp_promise___tmp_promise_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.2.tgz";
+        sha1 = "6e933782abff8b00c3119d63589ca1fb9caaa62a";
+      };
+    }
+    {
+      name = "tmp___tmp_0.2.1.tgz";
+      path = fetchurl {
+        name = "tmp___tmp_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz";
+        sha1 = "8457fc3037dcf4719c251367a1af6500ee1ccf14";
+      };
+    }
+    {
+      name = "to_readable_stream___to_readable_stream_1.0.0.tgz";
+      path = fetchurl {
+        name = "to_readable_stream___to_readable_stream_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz";
+        sha1 = "ce0aa0c2f3df6adf852efb404a783e77c0475771";
+      };
+    }
+    {
+      name = "truncate_utf8_bytes___truncate_utf8_bytes_1.0.2.tgz";
+      path = fetchurl {
+        name = "truncate_utf8_bytes___truncate_utf8_bytes_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz";
+        sha1 = "405923909592d56f78a5818434b0b78489ca5f2b";
+      };
+    }
+    {
+      name = "tunnel___tunnel_0.0.6.tgz";
+      path = fetchurl {
+        name = "tunnel___tunnel_0.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz";
+        sha1 = "72f1314b34a5b192db012324df2cc587ca47f92c";
+      };
+    }
+    {
+      name = "type_fest___type_fest_0.13.1.tgz";
+      path = fetchurl {
+        name = "type_fest___type_fest_0.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz";
+        sha1 = "0172cb5bce80b0bd542ea348db50c7e21834d934";
+      };
+    }
+    {
+      name = "type_fest___type_fest_0.20.2.tgz";
+      path = fetchurl {
+        name = "type_fest___type_fest_0.20.2.tgz";
+        url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz";
+        sha1 = "1bf207f4b28f91583666cb5fbd327887301cd5f4";
+      };
+    }
+    {
+      name = "typedarray_to_buffer___typedarray_to_buffer_3.1.5.tgz";
+      path = fetchurl {
+        name = "typedarray_to_buffer___typedarray_to_buffer_3.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz";
+        sha1 = "a97ee7a9ff42691b9f783ff1bc5112fe3fca9080";
+      };
+    }
+    {
+      name = "typedarray___typedarray_0.0.6.tgz";
+      path = fetchurl {
+        name = "typedarray___typedarray_0.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz";
+        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+      };
+    }
+    {
+      name = "unbzip2_stream___unbzip2_stream_1.3.3.tgz";
+      path = fetchurl {
+        name = "unbzip2_stream___unbzip2_stream_1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz";
+        sha1 = "d156d205e670d8d8c393e1c02ebd506422873f6a";
+      };
+    }
+    {
+      name = "unique_string___unique_string_2.0.0.tgz";
+      path = fetchurl {
+        name = "unique_string___unique_string_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz";
+        sha1 = "39c6451f81afb2749de2b233e3f7c5e8843bd89d";
+      };
+    }
+    {
+      name = "universalify___universalify_0.1.2.tgz";
+      path = fetchurl {
+        name = "universalify___universalify_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz";
+        sha1 = "b646f69be3942dabcecc9d6639c80dc105efaa66";
+      };
+    }
+    {
+      name = "universalify___universalify_2.0.0.tgz";
+      path = fetchurl {
+        name = "universalify___universalify_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz";
+        sha1 = "75a4984efedc4b08975c5aeb73f530d02df25717";
+      };
+    }
+    {
+      name = "update_notifier___update_notifier_5.1.0.tgz";
+      path = fetchurl {
+        name = "update_notifier___update_notifier_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz";
+        sha1 = "4ab0d7c7f36a231dd7316cf7729313f0214d9ad9";
+      };
+    }
+    {
+      name = "uri_js___uri_js_4.4.1.tgz";
+      path = fetchurl {
+        name = "uri_js___uri_js_4.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz";
+        sha1 = "9b1a52595225859e55f669d928f88c6c57f2a77e";
+      };
+    }
+    {
+      name = "url_parse_lax___url_parse_lax_3.0.0.tgz";
+      path = fetchurl {
+        name = "url_parse_lax___url_parse_lax_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz";
+        sha1 = "16b5cafc07dbe3676c1b1999177823d6503acb0c";
+      };
+    }
+    {
+      name = "utf8_byte_length___utf8_byte_length_1.0.4.tgz";
+      path = fetchurl {
+        name = "utf8_byte_length___utf8_byte_length_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz";
+        sha1 = "f45f150c4c66eee968186505ab93fcbb8ad6bf61";
+      };
+    }
+    {
+      name = "util_deprecate___util_deprecate_1.0.2.tgz";
+      path = fetchurl {
+        name = "util_deprecate___util_deprecate_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz";
+        sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+      };
+    }
+    {
+      name = "verror___verror_1.10.0.tgz";
+      path = fetchurl {
+        name = "verror___verror_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz";
+        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+      };
+    }
+    {
+      name = "which___which_1.3.1.tgz";
+      path = fetchurl {
+        name = "which___which_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz";
+        sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a";
+      };
+    }
+    {
+      name = "which___which_2.0.2.tgz";
+      path = fetchurl {
+        name = "which___which_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz";
+        sha1 = "7c6a8dd0a636a0327e10b59c9286eee93f3f51b1";
+      };
+    }
+    {
+      name = "widest_line___widest_line_3.1.0.tgz";
+      path = fetchurl {
+        name = "widest_line___widest_line_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz";
+        sha1 = "8292333bbf66cb45ff0de1603b136b7ae1496eca";
+      };
+    }
+    {
+      name = "wrap_ansi___wrap_ansi_7.0.0.tgz";
+      path = fetchurl {
+        name = "wrap_ansi___wrap_ansi_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz";
+        sha1 = "67e145cff510a6a6984bdf1152911d69d2eb9e43";
+      };
+    }
+    {
+      name = "wrappy___wrappy_1.0.2.tgz";
+      path = fetchurl {
+        name = "wrappy___wrappy_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    }
+    {
+      name = "write_file_atomic___write_file_atomic_3.0.3.tgz";
+      path = fetchurl {
+        name = "write_file_atomic___write_file_atomic_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz";
+        sha1 = "56bd5c5a5c70481cd19c571bd39ab965a5de56e8";
+      };
+    }
+    {
+      name = "ws___ws_7.4.6.tgz";
+      path = fetchurl {
+        name = "ws___ws_7.4.6.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz";
+        sha1 = "5654ca8ecdeee47c33a9a4bf6d28e2be2980377c";
+      };
+    }
+    {
+      name = "xdg_basedir___xdg_basedir_4.0.0.tgz";
+      path = fetchurl {
+        name = "xdg_basedir___xdg_basedir_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz";
+        sha1 = "4bc8d9984403696225ef83a1573cbbcb4e79db13";
+      };
+    }
+    {
+      name = "xmlbuilder___xmlbuilder_15.1.1.tgz";
+      path = fetchurl {
+        name = "xmlbuilder___xmlbuilder_15.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz";
+        sha1 = "9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5";
+      };
+    }
+    {
+      name = "xmlbuilder___xmlbuilder_9.0.7.tgz";
+      path = fetchurl {
+        name = "xmlbuilder___xmlbuilder_9.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz";
+        sha1 = "132ee63d2ec5565c557e20f4c22df9aca686b10d";
+      };
+    }
+    {
+      name = "y18n___y18n_5.0.8.tgz";
+      path = fetchurl {
+        name = "y18n___y18n_5.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz";
+        sha1 = "7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55";
+      };
+    }
+    {
+      name = "yallist___yallist_4.0.0.tgz";
+      path = fetchurl {
+        name = "yallist___yallist_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz";
+        sha1 = "9bb92790d9c0effec63be73519e11a35019a3a72";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_20.2.9.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_20.2.9.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz";
+        sha1 = "2eb7dc3b0289718fc295f362753845c41a0c94ee";
+      };
+    }
+    {
+      name = "yargs___yargs_17.1.1.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_17.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-17.1.1.tgz";
+        sha1 = "c2a8091564bdb196f7c0a67c1d12e5b85b8067ba";
+      };
+    }
+    {
+      name = "yauzl___yauzl_2.10.0.tgz";
+      path = fetchurl {
+        name = "yauzl___yauzl_2.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz";
+        sha1 = "c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9";
+      };
+    }
+  ];
+}
diff --git a/nixpkgs/pkgs/tools/misc/sta/default.nix b/nixpkgs/pkgs/tools/misc/sta/default.nix
index 809287edcf62..6056fcfa49c3 100644
--- a/nixpkgs/pkgs/tools/misc/sta/default.nix
+++ b/nixpkgs/pkgs/tools/misc/sta/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation {
     maintainers = with maintainers; [ infinisil ];
     platforms = platforms.all;
     badPlatforms = platforms.darwin;
+    mainProgram = "sta";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/steampipe/default.nix b/nixpkgs/pkgs/tools/misc/steampipe/default.nix
new file mode 100644
index 000000000000..691351c89b08
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/steampipe/default.nix
@@ -0,0 +1,40 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+
+buildGoModule rec {
+  pname = "steampipe";
+  version = "0.8.5";
+
+  src = fetchFromGitHub {
+    owner = "turbot";
+    repo = "steampipe";
+    rev = "v${version}";
+    sha256 = "sha256-3vetSUJwCeaBzKj+635siskfcDPs/kkgCH954cg/REA=";
+  };
+
+  vendorSha256 = "sha256-TGDFNHWWbEy1cD7b2yPqAN7rRrLvL0ZX/R3BWGRWjjw=";
+
+  # tests are failing for no obvious reasons
+  doCheck = false;
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  ldflags = [
+    "-s"
+    "-w"
+  ];
+
+  postInstall = ''
+    INSTALL_DIR=$(mktemp -d)
+    installShellCompletion --cmd steampipe \
+      --bash <($out/bin/steampipe --install-dir $INSTALL_DIR completion bash) \
+      --fish <($out/bin/steampipe --install-dir $INSTALL_DIR completion fish) \
+      --zsh <($out/bin/steampipe --install-dir $INSTALL_DIR completion zsh)
+  '';
+
+  meta = with lib; {
+    homepage = "https://steampipe.io/";
+    description = "select * from cloud;";
+    license = licenses.agpl3;
+    maintainers = with maintainers; [ hardselius ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/synth/default.nix b/nixpkgs/pkgs/tools/misc/synth/default.nix
new file mode 100644
index 000000000000..0249491fbde6
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/synth/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, openssl
+, stdenv
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "synth";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "getsynth";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-i5X2HUOCgY2znH4rDzhFpsPXsFeM7GR4soAO/rFDjjo=";
+  };
+
+  cargoSha256 = "sha256-47i46Y6JjTGWC7mfMd2x2k8v0SY1o2UHdEU4rF0VrsY=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
+
+  # requires unstable rust features
+  RUSTC_BOOTSTRAP = 1;
+
+  meta = with lib; {
+    description = "A tool for generating realistic data using a declarative data model";
+    homepage = "https://github.com/getsynth/synth";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/tab-rs/default.nix b/nixpkgs/pkgs/tools/misc/tab-rs/default.nix
index 1782e327f8a6..3b463f22df07 100644
--- a/nixpkgs/pkgs/tools/misc/tab-rs/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tab-rs/default.nix
@@ -23,5 +23,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/austinjones/tab-rs";
     license = licenses.mit;
     maintainers = with maintainers; [ bbigras ];
+    mainProgram = "tab";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/time-decode/default.nix b/nixpkgs/pkgs/tools/misc/time-decode/default.nix
new file mode 100644
index 000000000000..6dbb694770c8
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/time-decode/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "time-decode";
+  version = "3.2.0";
+
+  src = fetchFromGitHub {
+    owner = "digitalsleuth";
+    repo = "time_decode";
+    rev = "v${version}";
+    sha256 = "1iwqdq1ail04hs8pkb6rxan4ng2jl2iar6pk72skj41xh4qhlyg6";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    colorama
+    python-dateutil
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "time_decode" ];
+
+  meta = with lib; {
+    description = "Timestamp and date decoder";
+    homepage = "https://github.com/digitalsleuth/time_decode";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/tio/default.nix b/nixpkgs/pkgs/tools/misc/tio/default.nix
index a25b821c7e3d..9b8e76f10c43 100644
--- a/nixpkgs/pkgs/tools/misc/tio/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tio/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchzip, autoreconfHook }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "tio";
   version = "1.32";
 
-  src = fetchzip {
-    url = "https://github.com/tio/tio/archive/v${version}.tar.gz";
-    sha256 = "0lwqdm73kshi9qs8pks1b4by6yb9jf3bbyw3bv52xmggnr5s1hcv";
+  src = fetchFromGitHub {
+    owner = "tio";
+    repo = "tio";
+    rev = "v${version}";
+    hash = "sha256-m8GgS7bv1S7KXoP7tYaTaXnjF1lBz4s0ThHqOU5tmFM=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/tools/misc/tlp/default.nix b/nixpkgs/pkgs/tools/misc/tlp/default.nix
index a615330a4a8f..84c927260c06 100644
--- a/nixpkgs/pkgs/tools/misc/tlp/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tlp/default.nix
@@ -13,6 +13,7 @@
 , makeWrapper
 , pciutils
 , perl
+, perlcritic
 , shellcheck
 , smartmontools
 , systemd
@@ -23,17 +24,20 @@
 , networkmanager
 }: stdenv.mkDerivation rec {
   pname = "tlp";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "linrunner";
     repo = "TLP";
     rev = version;
-    sha256 = "14fcnaz9pw534v4d8dddqq4wcvpf1kghr8zlrk62r5lrl46sp1p5";
+    sha256 = "sha256-Blwj4cqrrYXohnGyJYe+1NYifxqfS4DoVUHmxFf62i4=";
   };
 
   # XXX: See patch files for relevant explanations.
-  patches = [ ./patches/fix-makefile-sed.patch ./patches/tlp-sleep-service.patch ];
+  patches = [
+    ./patches/0001-makefile-correctly-sed-paths.patch
+    ./patches/0002-tlp-sleep.service-reintroduce.patch
+  ];
 
   buildInputs = [ perl ];
   nativeBuildInputs = [ makeWrapper gnused ];
@@ -52,8 +56,10 @@
     "TLP_WITH_ELOGIND=0"
     "TLP_WITH_SYSTEMD=1"
 
+    "TLP_BATD=/share/tlp/bat.d"
     "TLP_BIN=/bin"
     "TLP_CONFDEF=/share/tlp/defaults.conf"
+    "TLP_CONFREN=/share/tlp/rename.conf"
     "TLP_FLIB=/share/tlp/func.d"
     "TLP_MAN=/share/man"
     "TLP_META=/share/metainfo"
@@ -65,12 +71,11 @@
   installTargets = [ "install-tlp" "install-man" ]
   ++ lib.optionals enableRDW [ "install-rdw" "install-man-rdw" ];
 
-  # XXX: This is disabled because it's basically just noise since upstream
-  # itself does not seem to care about the zillion shellcheck errors.
-  doCheck = false;
-  checkInputs = [ checkbashisms shellcheck ];
+  doCheck = true;
+  checkInputs = [ checkbashisms perlcritic shellcheck ];
   checkTarget = [ "checkall" ];
 
+  # TODO: Consider using resholve here
   postInstall = let
     paths = lib.makeBinPath (
       [
@@ -107,12 +112,16 @@
         $out/etc/NetworkManager/dispatcher.d/*
         $out/lib/udev/tlp-*
         $out/sbin/*
+        $out/share/tlp/bat.d/*
         $out/share/tlp/func.d/*
         $out/share/tlp/tlp-func-base
       )
       for f in "''${fixup_bash[@]}"; do
         sed -i '2iexport PATH=${paths}:$PATH' "$f"
       done
+
+      rm -rf $out/var
+      rm -rf $out/share/metainfo
     '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/misc/tlp/patches/0001-makefile-correctly-sed-paths.patch b/nixpkgs/pkgs/tools/misc/tlp/patches/0001-makefile-correctly-sed-paths.patch
new file mode 100644
index 000000000000..be8afc0667fa
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/tlp/patches/0001-makefile-correctly-sed-paths.patch
@@ -0,0 +1,56 @@
+From 5c5d878bf49bae5920c330482217477819ba9bc2 Mon Sep 17 00:00:00 2001
+From: Bernardo Meurer <bernardo@meurer.org>
+Date: Fri, 15 Oct 2021 23:22:50 -0700
+Subject: [PATCH 1/2] makefile: correctly sed paths
+
+The default Makefile for tlp makes a mess with catenating `DESTDIR` to
+everything, but then not actualy using the catenated (_ prefixed)
+variables to sed it's `.in` files.
+
+This patch makes sure that it correctly sets the paths, taking `DESTDIR`
+in account where it makes sense (e.g. /bin where we want $out/bin) but
+not where it doesn't (/etc/tlp.conf should be just that).
+
+The reason DESTDIR is used at all, as opposed to the more appropriate
+PREFIX, is covered in the nix formula, and is (also) due to the Makefile
+being a bit "different."
+---
+ Makefile | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index e9bbab4..ab05720 100644
+--- a/Makefile
++++ b/Makefile
+@@ -51,19 +51,19 @@ _TPACPIBAT = $(DESTDIR)$(TPACPIBAT)
+ 
+ SED = sed \
+ 	-e "s|@TLPVER@|$(TLPVER)|g" \
+-	-e "s|@TLP_SBIN@|$(TLP_SBIN)|g" \
+-	-e "s|@TLP_TLIB@|$(TLP_TLIB)|g" \
+-	-e "s|@TLP_FLIB@|$(TLP_FLIB)|g" \
+-	-e "s|@TLP_ULIB@|$(TLP_ULIB)|g" \
+-	-e "s|@TLP_BATD@|$(TLP_BATD)|g" \
++	-e "s|@TLP_SBIN@|$(_SBIN)|g" \
++	-e "s|@TLP_TLIB@|$(_TLIB)|g" \
++	-e "s|@TLP_FLIB@|$(_FLIB)|g" \
++	-e "s|@TLP_ULIB@|$(_ULIB)|g" \
++	-e "s|@TLP_BATD@|$(_BATD)|g" \
+ 	-e "s|@TLP_CONFUSR@|$(TLP_CONFUSR)|g" \
+ 	-e "s|@TLP_CONFDIR@|$(TLP_CONFDIR)|g" \
+-	-e "s|@TLP_CONFDEF@|$(TLP_CONFDEF)|g" \
+-	-e "s|@TLP_CONFREN@|$(TLP_CONFREN)|g" \
+-	-e "s|@TLP_CONF@|$(TLP_CONF)|g" \
++	-e "s|@TLP_CONFDEF@|$(_CONFDEF)|g" \
++	-e "s|@TLP_CONFREN@|$(_CONFREN)|g" \
++	-e "s|@TLP_CONF@|$(_CONF)|g" \
+ 	-e "s|@TLP_RUN@|$(TLP_RUN)|g"   \
+ 	-e "s|@TLP_VAR@|$(TLP_VAR)|g"   \
+-	-e "s|@TPACPIBAT@|$(TPACPIBAT)|g"
++	-e "s|@TPACPIBAT@|$(_TPACPIBAT)|g"
+ 
+ INFILES = \
+ 	tlp \
+-- 
+2.33.0
+
diff --git a/nixpkgs/pkgs/tools/misc/tlp/patches/tlp-sleep-service.patch b/nixpkgs/pkgs/tools/misc/tlp/patches/0002-tlp-sleep.service-reintroduce.patch
index b37c7280e382..40d89e207dc4 100644
--- a/nixpkgs/pkgs/tools/misc/tlp/patches/tlp-sleep-service.patch
+++ b/nixpkgs/pkgs/tools/misc/tlp/patches/0002-tlp-sleep.service-reintroduce.patch
@@ -1,23 +1,29 @@
-commit ca94cd56210067e2a55c1f413bd7713f7d338f9f
-Author: Bernardo Meurer <meurerbernardo@gmail.com>
-Date:   Wed Feb 26 10:46:23 2020 -0800
+From a3506c9bc8929645b7b08859e47039b8cc830d22 Mon Sep 17 00:00:00 2001
+From: Bernardo Meurer <bernardo@meurer.org>
+Date: Fri, 15 Oct 2021 23:07:40 -0700
+Subject: [PATCH 2/2] tlp-sleep.service: reintroduce
 
-    tlp-sleep.service: reintroduce
-    
-    This patch reintroduces tlp-sleep as a systemd unit as opposed to a
-    systemd system-sleep hook script. This is due to the recommendation by
-    systemd itself to not use the hook scripts. As per the manual:
-    
-    > Note that scripts or binaries dropped in /usr/lib/systemd/system-sleep/
-    > are intended for local use only and should be considered hacks. If
-    > applications want to react to system suspend/hibernation and resume,
-    > they should rather use the Inhibitor interface[1].
+This patch reintroduces tlp-sleep as a systemd unit as opposed to a
+systemd system-sleep hook script. This is due to the recommendation by
+systemd itself to not use the hook scripts. As per the manual:
+
+> Note that scripts or binaries dropped in /usr/lib/systemd/system-sleep/
+> are intended for local use only and should be considered hacks. If
+> applications want to react to system suspend/hibernation and resume,
+> they should rather use the Inhibitor interface[1].
+---
+ Makefile             |  6 +++---
+ tlp-sleep            | 11 -----------
+ tlp-sleep.service.in | 19 +++++++++++++++++++
+ 3 files changed, 22 insertions(+), 14 deletions(-)
+ delete mode 100644 tlp-sleep
+ create mode 100644 tlp-sleep.service.in
 
 diff --git a/Makefile b/Makefile
-index 95122df..0e9230a 100644
+index ab05720..075b42f 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -70,6 +70,7 @@ INFILES = \
+@@ -76,6 +76,7 @@ INFILES = \
  	tlp.rules \
  	tlp-readconfs \
  	tlp-run-on \
@@ -25,7 +31,7 @@ index 95122df..0e9230a 100644
  	tlp.service \
  	tlp-stat \
  	tlp.upstart \
-@@ -99,7 +100,6 @@ SHFILES = \
+@@ -106,7 +107,6 @@ SHFILES = \
  	tlp-rdw-udev.in \
  	tlp-rf.in \
  	tlp-run-on.in \
@@ -33,7 +39,7 @@ index 95122df..0e9230a 100644
  	tlp-sleep.elogind \
  	tlp-stat.in \
  	tlp-usb-udev.in
-@@ -147,7 +147,7 @@ ifneq ($(TLP_NO_INIT),1)
+@@ -159,7 +159,7 @@ ifneq ($(TLP_NO_INIT),1)
  endif
  ifneq ($(TLP_WITH_SYSTEMD),0)
  	install -D -m 644 tlp.service $(_SYSD)/tlp.service
@@ -42,7 +48,7 @@ index 95122df..0e9230a 100644
  endif
  ifneq ($(TLP_WITH_ELOGIND),0)
  	install -D -m 755 tlp-sleep.elogind $(_ELOD)/49-tlp-sleep
-@@ -204,7 +204,7 @@ uninstall-tlp:
+@@ -216,7 +216,7 @@ uninstall-tlp:
  	rm $(_ULIB)/rules.d/85-tlp.rules
  	rm -f $(_SYSV)/tlp
  	rm -f $(_SYSD)/tlp.service
@@ -53,7 +59,7 @@ index 95122df..0e9230a 100644
  	rm -f $(_SHCPL)/bluetooth
 diff --git a/tlp-sleep b/tlp-sleep
 deleted file mode 100644
-index 3de85ce..0000000
+index e548d55..0000000
 --- a/tlp-sleep
 +++ /dev/null
 @@ -1,11 +0,0 @@
@@ -61,7 +67,7 @@ index 3de85ce..0000000
 -
 -# tlp - systemd suspend/resume hook
 -#
--# Copyright (c) 2020 Thomas Koch <linrunner at gmx.net> and others.
+-# Copyright (c) 2021 Thomas Koch <linrunner at gmx.net> and others.
 -# This software is licensed under the GPL v2 or later.
 -
 -case $1 in
@@ -70,13 +76,13 @@ index 3de85ce..0000000
 -esac
 diff --git a/tlp-sleep.service.in b/tlp-sleep.service.in
 new file mode 100644
-index 0000000..4ac17bd
+index 0000000..79c202c
 --- /dev/null
 +++ b/tlp-sleep.service.in
 @@ -0,0 +1,19 @@
 +# tlp - systemd suspend/resume service
 +#
-+# Copyright (c) 2020 Thomas Koch <linrunner at gmx.net> and others.
++# Copyright (c) 2021 Thomas Koch <linrunner at gmx.net> and others.
 +# This software is licensed under the GPL v2 or later.
 +
 +[Unit]
@@ -93,3 +99,6 @@ index 0000000..4ac17bd
 +
 +[Install]
 +WantedBy=sleep.target
+-- 
+2.33.0
+
diff --git a/nixpkgs/pkgs/tools/misc/tlp/patches/fix-makefile-sed.patch b/nixpkgs/pkgs/tools/misc/tlp/patches/fix-makefile-sed.patch
deleted file mode 100644
index 942c9a579f6f..000000000000
--- a/nixpkgs/pkgs/tools/misc/tlp/patches/fix-makefile-sed.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-commit c44347b3b813e209fff537b4d46d23430727a5e2
-Author: Bernardo Meurer <meurerbernardo@gmail.com>
-Date:   Tue Feb 25 21:27:39 2020 -0800
-
-    makefile: correctly sed paths
-    
-    The default Makefile for tlp makes a mess with catenating `DESTDIR` to
-    everything, but then not actualy using the catenated (_ prefixed)
-    variables to sed it's `.in` files.
-    
-    This patch makes sure that it correctly sets the paths, taking `DESTDIR`
-    in account where it makes sense (e.g. /bin where we want $out/bin) but
-    not where it doesn't (/etc/tlp.conf should be just that).
-    
-    The reason DESTDIR is used at all, as opposed to the more appropriate
-    PREFIX, is covered in the nix formula, and is (also) due to the Makefile
-    being a bit "different."
-
-diff --git a/Makefile b/Makefile
-index b5af74e..95122df 100644
---- a/Makefile
-+++ b/Makefile
-@@ -47,17 +47,17 @@ _TPACPIBAT = $(DESTDIR)$(TPACPIBAT)
- 
- SED = sed \
- 	-e "s|@TLPVER@|$(TLPVER)|g" \
--	-e "s|@TLP_SBIN@|$(TLP_SBIN)|g" \
--	-e "s|@TLP_TLIB@|$(TLP_TLIB)|g" \
--	-e "s|@TLP_FLIB@|$(TLP_FLIB)|g" \
--	-e "s|@TLP_ULIB@|$(TLP_ULIB)|g" \
-+	-e "s|@TLP_SBIN@|$(_SBIN)|g" \
-+	-e "s|@TLP_TLIB@|$(_TLIB)|g" \
-+	-e "s|@TLP_FLIB@|$(_FLIB)|g" \
-+	-e "s|@TLP_ULIB@|$(_ULIB)|g" \
- 	-e "s|@TLP_CONFUSR@|$(TLP_CONFUSR)|g" \
- 	-e "s|@TLP_CONFDIR@|$(TLP_CONFDIR)|g" \
--	-e "s|@TLP_CONFDEF@|$(TLP_CONFDEF)|g" \
-+	-e "s|@TLP_CONFDEF@|$(_CONFDEF)|g" \
- 	-e "s|@TLP_CONF@|$(TLP_CONF)|g" \
- 	-e "s|@TLP_RUN@|$(TLP_RUN)|g"   \
- 	-e "s|@TLP_VAR@|$(TLP_VAR)|g"   \
--	-e "s|@TPACPIBAT@|$(TPACPIBAT)|g"
-+	-e "s|@TPACPIBAT@|$(_TPACPIBAT)|g"
- 
- INFILES = \
- 	tlp \
diff --git a/nixpkgs/pkgs/tools/misc/tmpwatch/default.nix b/nixpkgs/pkgs/tools/misc/tmpwatch/default.nix
index 7389e0c4c593..9d9bb853f2f9 100644
--- a/nixpkgs/pkgs/tools/misc/tmpwatch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tmpwatch/default.nix
@@ -5,14 +5,14 @@ stdenv.mkDerivation rec {
   version = "2.11";
 
   src = fetchurl {
-    url = "https://fedorahosted.org/releases/t/m/tmpwatch/tmpwatch-${version}.tar.bz2";
+    url = "https://releases.pagure.org/${pname}/${pname}-${version}.tar.bz2";
     sha256 = "1m5859ngwx61l1i4s6fja2avf1hyv6w170by273w8nsin89825lk";
   };
 
   configureFlags = [ "--with-fuser=${psmisc}/bin/fuser" ];
 
   meta = with lib; {
-    homepage = "https://fedorahosted.org/tmpwatch/";
+    homepage = "https://pagure.io/tmpwatch";
     description = "Recursively searches through specified directories and removes files which have not been accessed in a specified period of time";
     license = licenses.gpl2;
     maintainers = with maintainers; [ vlstill ];
diff --git a/nixpkgs/pkgs/tools/misc/tremor-rs/default.nix b/nixpkgs/pkgs/tools/misc/tremor-rs/default.nix
index 5f6acfd9696f..c88fca0aebcb 100644
--- a/nixpkgs/pkgs/tools/misc/tremor-rs/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tremor-rs/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tremor";
-  version = "0.11.5";
+  version = "0.11.6";
 
   src = fetchFromGitHub {
     owner = "tremor-rs";
     repo = "tremor-runtime";
     rev = "v${version}";
-    sha256 = "sha256-fE0f0tCI2V+HqHZwn9cO+xs0o3o6w0nrJg9Et0zJMOE=";
+    sha256 = "1ldqa4q7q9afrbjh7adinav21zsh26pqqvrd6q9542r90mxnygmx";
   };
 
-  cargoHash = "sha256-dky9ejzMgKXlzpg+9bmkd7th+EHBpNmZJkgYt2pjuuI=";
+  cargoSha256 = "0ivxd5mhvcpzv9wf859vwyiq1s0bbd9vdk6fy6m81bn5ykihx7ar";
 
   nativeBuildInputs = [ cmake pkg-config installShellFiles ];
 
diff --git a/nixpkgs/pkgs/tools/misc/txt2man/default.nix b/nixpkgs/pkgs/tools/misc/txt2man/default.nix
index 27ff219a6e13..a6ebcb288216 100644
--- a/nixpkgs/pkgs/tools/misc/txt2man/default.nix
+++ b/nixpkgs/pkgs/tools/misc/txt2man/default.nix
@@ -1,27 +1,29 @@
-{ lib, stdenv, fetchurl, coreutils, gawk }:
+{ lib, stdenv, fetchFromGitHub, coreutils, gawk }:
 
 stdenv.mkDerivation rec {
   pname = "txt2man";
   version = "1.7.1";
 
-  src = fetchurl {
-    url = "https://github.com/mvertes/txt2man/archive/${pname}-${version}.tar.gz";
-    sha256 = "0ka3krmblsprv0v6h6wnm8lv08w30z0ynfnbwns6alks5gx1p6sd";
+  src = fetchFromGitHub {
+    owner = "mvertes";
+    repo = "txt2man";
+    rev = "${pname}-${version}";
+    hash = "sha256-Aqi5PNNaaM/tr9A/7vKeafYKYIs/kHbwHzE7+R/9r9s=";
   };
 
-  preConfigure = ''
-    makeFlags=prefix="$out"
-  '';
+  makeFlags = [
+    "prefix=${placeholder "out"}"
+  ];
 
-  patchPhase = ''
+  postPatch = ''
     for f in bookman src2man txt2man; do
-        substituteInPlace $f --replace "gawk" "${gawk}/bin/gawk"
-
-        substituteInPlace $f --replace "(date" "(${coreutils}/bin/date"
-        substituteInPlace $f --replace "=cat" "=${coreutils}/bin/cat"
-        substituteInPlace $f --replace "cat <<" "${coreutils}/bin/cat <<"
-        substituteInPlace $f --replace "expand" "${coreutils}/bin/expand"
-        substituteInPlace $f --replace "(uname" "(${coreutils}/bin/uname"
+      substituteInPlace $f \
+        --replace "gawk" "${gawk}/bin/gawk" \
+        --replace "(date" "(${coreutils}/bin/date" \
+        --replace "=cat" "=${coreutils}/bin/cat" \
+        --replace "cat <<" "${coreutils}/bin/cat <<" \
+        --replace "expand" "${coreutils}/bin/expand" \
+        --replace "(uname" "(${coreutils}/bin/uname"
     done
   '';
 
@@ -33,11 +35,11 @@ stdenv.mkDerivation rec {
     sh -c 'unset PATH; printf hello | ./txt2man'
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Convert flat ASCII text to man page format";
     homepage = "http://mvertes.free.fr/";
-    license = lib.licenses.gpl2;
-    platforms = with lib.platforms; linux ++ darwin;
-    maintainers = with lib.maintainers; [ bjornfor ];
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ bjornfor ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/viddy/default.nix b/nixpkgs/pkgs/tools/misc/viddy/default.nix
new file mode 100644
index 000000000000..1b9158df1ae3
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/viddy/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "viddy";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "sachaos";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "18ms4kfv332863vd8b7mmrz39y4b8gvhi6lx9x5385jfzd19w5wx";
+  };
+
+  vendorSha256 = "0789wq4d9cynyadvlwahs4586gc3p78gdpv5wf733lpv1h5rjbv3";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X"
+    "main.version=${version}"
+  ];
+
+  meta = with lib; {
+    description = "A modern watch command";
+    homepage = "https://github.com/sachaos/viddy";
+    license = licenses.mit;
+    maintainers = with maintainers; [ j-hui ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/vimv/default.nix b/nixpkgs/pkgs/tools/misc/vimv/default.nix
index a36c9548462d..46753688ec73 100644
--- a/nixpkgs/pkgs/tools/misc/vimv/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vimv/default.nix
@@ -22,6 +22,7 @@ stdenvNoCC.mkDerivation {
     description = "Batch-rename files using Vim";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [ maintainers.kmein ];
+    maintainers = with maintainers; [ kmein ];
+    mainProgram = "vimv";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/vsh/default.nix b/nixpkgs/pkgs/tools/misc/vsh/default.nix
index 416dd4bfcc13..78cf177b3dec 100644
--- a/nixpkgs/pkgs/tools/misc/vsh/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vsh/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vsh";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "fishi0x01";
     repo = "vsh";
     rev = "v${version}";
-    sha256 = "059zzsg94287sxlk5clz6in7jscqaq530c84xqgy537f6cq3vr2p";
+    sha256 = "0skd16j969mb2kgq503wskaw8clyhkw135ny2nsqv5j2zjpr71ap";
   };
 
   # vendor directory is part of repository
diff --git a/nixpkgs/pkgs/tools/misc/watchexec/default.nix b/nixpkgs/pkgs/tools/misc/watchexec/default.nix
index ce525dd98dd6..b9be5982f774 100644
--- a/nixpkgs/pkgs/tools/misc/watchexec/default.nix
+++ b/nixpkgs/pkgs/tools/misc/watchexec/default.nix
@@ -1,21 +1,21 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub, CoreServices, installShellFiles, libiconv }:
+{ lib, stdenv, rustPlatform, fetchFromGitHub, CoreServices, Foundation, installShellFiles, libiconv }:
 
 rustPlatform.buildRustPackage rec {
   pname = "watchexec";
-  version = "1.15.1";
+  version = "1.17.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = version;
-    sha256 = "1xznhfljvsvc0ykv5h1wg31n93v96lvhbxfhavxivq3b0xh5vxrw";
+    rev = "cli-v${version}";
+    sha256 = "13yqghdhakkwp607j84a1vbqgnqqn77a5mh27cr24352ik2vkrkq";
   };
 
-  cargoSha256 = "00dampnsnpzmchjcn0j5zslx17i0qgrv99gq772n0683m1l2lfq3";
+  cargoSha256 = "0grzfzxw705zs5qb2h7k0yws45m20ihhh4mnpmk3wargbxpn6gsh";
 
   nativeBuildInputs = [ installShellFiles ];
 
-  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices libiconv ];
+  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices Foundation libiconv ];
 
   postInstall = ''
     installManPage doc/watchexec.1
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "Executes commands in response to file modifications";
-    homepage = "https://github.com/watchexec/watchexec";
+    homepage = "https://watchexec.github.io/";
     license = with licenses; [ asl20 ];
     maintainers = [ maintainers.michalrus ];
   };
diff --git a/nixpkgs/pkgs/tools/misc/webcat/default.nix b/nixpkgs/pkgs/tools/misc/webcat/default.nix
new file mode 100644
index 000000000000..d67c02a40217
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/webcat/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildGoModule, fetchFromGitea, asciidoctor, installShellFiles }:
+
+buildGoModule rec {
+  pname = "webcat";
+  version = "unstable-2021-09-06";
+
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "rumpelsepp";
+    repo = "webcat";
+    rev = "57a65558f0affac0b2f8f4831c52964eb9ad5386";
+    sha256 = "15c62sjr15l5hwkvc4xarfn76341wi16pjv9qbr1agaz1vqgr6rd";
+  };
+
+  vendorSha256 = "1apnra58mqrazbq53f0qlqnyyhjdvvdz995yridxva0fxmwpwcjy";
+
+  nativeBuildInputs = [ asciidoctor installShellFiles ];
+
+  postInstall = ''
+    make -C man man
+    installManPage man/webcat.1
+  '';
+
+  meta = with lib; {
+    homepage = "https://rumpelsepp.org/blog/ssh-through-websocket/";
+    description = "The lightweight swiss army knife for websockets";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ montag451 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/xstow/default.nix b/nixpkgs/pkgs/tools/misc/xstow/default.nix
new file mode 100644
index 000000000000..a605dcf911b2
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/xstow/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, lib, fetchurl, ncurses }:
+stdenv.mkDerivation rec {
+  pname = "xstow";
+  version = "1.0.2";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/sourceforge/${pname}/${pname}-${version}.tar.bz2";
+    sha256 = "6f041f19a5d71667f6a9436d56f5a50646b6b8c055ef5ae0813dcecb35a3c6ef";
+  };
+
+  buildInputs = [
+    ncurses
+  ];
+
+  meta = with lib; {
+    description = "A replacement of GNU Stow written in C++";
+    homepage = "http://xstow.sourceforge.net";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ nzbr ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/xtitle/default.nix b/nixpkgs/pkgs/tools/misc/xtitle/default.nix
index 2820958443ed..e3454538bf84 100644
--- a/nixpkgs/pkgs/tools/misc/xtitle/default.nix
+++ b/nixpkgs/pkgs/tools/misc/xtitle/default.nix
@@ -1,24 +1,27 @@
-{ lib, stdenv, fetchurl, libxcb, xcbutil, xcbutilwm, git }:
+{ lib, stdenv, fetchFromGitHub, libxcb, xcbutil, xcbutilwm, git }:
 
 stdenv.mkDerivation rec {
-   pname = "xtitle";
-   version = "0.4.4";
+  pname = "xtitle";
+  version = "0.4.4";
 
-   src = fetchurl {
-     url = "https://github.com/baskerville/xtitle/archive/${version}.tar.gz";
-     sha256 = "0w490a6ki90si1ri48jzhma473a598l1b12j8dp4ckici41z9yy2";
-   };
+  src = fetchFromGitHub {
+    owner = "baskerville";
+    repo = "xtitle";
+    rev = version;
+    hash = "sha256-SVfM2vCCacgchXj0c0sPk3VR6DUI4R0ofFnxJSY4oDg=";
+  };
 
+  postPatch = ''
+    sed -i "s|/usr/local|$out|" Makefile
+  '';
 
-   buildInputs = [ libxcb git xcbutil xcbutilwm ];
+  buildInputs = [ libxcb git xcbutil xcbutilwm ];
 
-   prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
-
-   meta = {
-     description = "Outputs X window titles";
-     homepage = "https://github.com/baskerville/xtitle";
-     maintainers = [ lib.maintainers.meisternu ];
-     license = "Custom";
-     platforms = lib.platforms.linux;
-   };
+  meta = with lib; {
+    description = "Outputs X window titles";
+    homepage = "https://github.com/baskerville/xtitle";
+    maintainers = with maintainers; [ meisternu ];
+    license = "Custom";
+    platforms = platforms.linux;
+  };
 }
diff --git a/nixpkgs/pkgs/tools/misc/yle-dl/default.nix b/nixpkgs/pkgs/tools/misc/yle-dl/default.nix
index cb3beca97038..31d5712e5b33 100644
--- a/nixpkgs/pkgs/tools/misc/yle-dl/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yle-dl/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "yle-dl";
-  version = "20210808";
+  version = "20210917";
 
   src = fetchFromGitHub {
     owner = "aajanki";
     repo = "yle-dl";
     rev = version;
-    sha256 = "sha256-pHre4R0zVML1Stp0H4E3ee9Xbb3KNLgZFWOJPC5KTA8=";
+    sha256 = "sha256-l8Wv15DLWRvJ+I6KeTNbIjp+S5EgoqhLOWd0wEyXckk=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/tools/misc/yt-dlp/default.nix b/nixpkgs/pkgs/tools/misc/yt-dlp/default.nix
index 581e36ecd741..c5ae63527253 100644
--- a/nixpkgs/pkgs/tools/misc/yt-dlp/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yt-dlp/default.nix
@@ -5,7 +5,7 @@
 , rtmpdump
 , phantomjs2
 , atomicparsley
-, pycryptodome
+, pycryptodomex
 , websockets
 , mutagen
 , ffmpegSupport ? true
@@ -20,16 +20,16 @@ buildPythonPackage rec {
   # The websites yt-dlp deals with are a very moving target. That means that
   # downloads break constantly. Because of that, updates should always be backported
   # to the latest stable release.
-  version = "2021.9.25";
+  version = "2021.10.10";
 
   src = fetchPypi {
     inherit pname;
     version = builtins.replaceStrings [ ".0" ] [ "." ] version;
-    sha256 = "e7b8dd0ee9498abbd80eb38d9753696d6ca3d02f64980322ab3bf39ba1bc31ee";
+    sha256 = "sha256-zJYhHo5V67tI0uZgnA0JQlB+tUcbLOdOOPe5X41wpOc=";
   };
 
   propagatedBuildInputs = [ websockets mutagen ]
-    ++ lib.optional hlsEncryptedSupport pycryptodome;
+    ++ lib.optional hlsEncryptedSupport pycryptodomex;
 
   # Ensure these utilities are available in $PATH:
   # - ffmpeg: post-processing & transcoding support
diff --git a/nixpkgs/pkgs/tools/misc/zellij/default.nix b/nixpkgs/pkgs/tools/misc/zellij/default.nix
index 81400bcd38fd..7c56f43ca16f 100644
--- a/nixpkgs/pkgs/tools/misc/zellij/default.nix
+++ b/nixpkgs/pkgs/tools/misc/zellij/default.nix
@@ -10,20 +10,27 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zellij";
-  version = "0.17.0";
+  version = "0.18.1";
 
   src = fetchFromGitHub {
     owner = "zellij-org";
     repo = "zellij";
     rev = "v${version}";
-    sha256 = "sha256-ZV908Zrvx075TTbrYsw0JdQD+66XRfd7EW48lNZLNik=";
+    sha256 = "sha256-r9RZVmWKJJLiNSbSQPVJPR5koLR6DoAwlitTiQOc1fI=";
   };
 
-  cargoSha256 = "sha256-Wpg75RU1ANEnxgx28oy1kp4xt3HwIThNjHwmN8CRkjA=";
+  cargoSha256 = "sha256-xaC9wuT21SYH7H8/d4usDjHeojNZ2d/NkqMqNlQQ1n0=";
 
-  nativeBuildInputs = [ installShellFiles pkg-config ];
+  nativeBuildInputs = [
+    installShellFiles
+    pkg-config
+  ];
 
-  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ libiconv ];
+  buildInputs = [
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin [
+    libiconv
+  ];
 
   preCheck = ''
     HOME=$TMPDIR
diff --git a/nixpkgs/pkgs/tools/misc/zoxide/default.nix b/nixpkgs/pkgs/tools/misc/zoxide/default.nix
index c2eba8c01b46..5fa6e849ac1e 100644
--- a/nixpkgs/pkgs/tools/misc/zoxide/default.nix
+++ b/nixpkgs/pkgs/tools/misc/zoxide/default.nix
@@ -10,13 +10,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zoxide";
-  version = "0.7.5";
+  version = "0.7.7";
 
   src = fetchFromGitHub {
     owner = "ajeetdsouza";
     repo = "zoxide";
     rev = "v${version}";
-    sha256 = "sha256-DcfWNp9fELRzLfNAU2qGXfLDkSbWGrsfW/Wy0t2ISXU=";
+    sha256 = "18sm7smp0r7rmbq6ajl905947l5vni7hb4dfd0hhnrqjxwlkynds";
   };
 
   nativeBuildInputs = [ installShellFiles ];
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
       --replace '"fzf"' '"${fzf}/bin/fzf"'
   '';
 
-  cargoSha256 = "sha256-O2IPmb9LH0ct0O2kR581Hfxl1sdb8himfq5U733JwGk=";
+  cargoSha256 = "0km4bgdl03m5ri4wzy0fsvvwlifx99m9x2j599x58ryq6lx2kkyc";
 
   postInstall = ''
     installManPage man/*
diff --git a/nixpkgs/pkgs/tools/misc/zthrottle/default.nix b/nixpkgs/pkgs/tools/misc/zthrottle/default.nix
index 66209ead6fa7..2743dbf76bbb 100644
--- a/nixpkgs/pkgs/tools/misc/zthrottle/default.nix
+++ b/nixpkgs/pkgs/tools/misc/zthrottle/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     description = "A program that throttles a pipeline, only letting a line through at most every $1 seconds.";
     homepage = "https://github.com/anko/zthrottle";
     license = licenses.unlicense;
-    maintainers = [ maintainers.ronthecookie ];
+    maintainers = [ maintainers.ckie ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/amass/default.nix b/nixpkgs/pkgs/tools/networking/amass/default.nix
index 5d539cc56978..caecece80ae6 100644
--- a/nixpkgs/pkgs/tools/networking/amass/default.nix
+++ b/nixpkgs/pkgs/tools/networking/amass/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "amass";
-  version = "3.13.4";
+  version = "3.14.1";
 
   src = fetchFromGitHub {
     owner = "OWASP";
     repo = "Amass";
     rev = "v${version}";
-    sha256 = "0zlkr0r06w3y34nx174wyfwk69i2q0bcq88kfvb0j3d28fdh5p31";
+    sha256 = "sha256-AKvTnr1NeoTMBn5KNuqdR1z1P/pkQU9E1WrPQPhl8Yw=";
   };
 
-  vendorSha256 = "065n1vhj5003ay4pflp418w32s84jvza52lghj6cpcdzs0rwgc45";
+  vendorSha256 = "sha256-v+x0S47dEgRLr2Yv8t1GnFM/iQ9bKKanPhPJMI+mF7s=";
 
   outputs = [ "out" "wordlists" ];
 
diff --git a/nixpkgs/pkgs/tools/networking/bandwhich/default.nix b/nixpkgs/pkgs/tools/networking/bandwhich/default.nix
index ebb816b1887a..35d342beb1a9 100644
--- a/nixpkgs/pkgs/tools/networking/bandwhich/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bandwhich/default.nix
@@ -11,13 +11,21 @@ rustPlatform.buildRustPackage rec {
     sha256 = "014blvrv0kk4gzga86mbk7gd5dl1szajfi972da3lrfznck1w24n";
   };
 
-  cargoSha256 = "119szaighki565w28la6qg25s3cv8wviqin9f7f9w8x2rif3ipb3";
+  cargoSha256 = "sha256-Vrd5DIfhUSb3BONaUG8RypmVF+HWrlM0TodlWjOLa/c=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
   # 10 passed; 47 failed https://hydra.nixos.org/build/148943783/nixlog/1
   doCheck = !stdenv.isDarwin;
 
+  # FIXME: remove when the linked-hash-map dependency is bumped upstream
+  cargoPatches = [
+    (fetchpatch {
+      url = "https://github.com/imsnif/bandwhich/pull/222/commits/be06905de2c4fb91afc22d50bf3cfe5a1e8003f5.patch";
+      sha256 = "sha256-FyZ7jUXK7ebXq7q/lvRSe7YdPnpYWKZE3WrSKLMjJeA=";
+    })
+  ];
+
   meta = with lib; {
     description = "A CLI utility for displaying current network utilization";
     longDescription = ''
diff --git a/nixpkgs/pkgs/tools/networking/boundary/default.nix b/nixpkgs/pkgs/tools/networking/boundary/default.nix
index c55eeff8c101..4f7b76ad8c7a 100644
--- a/nixpkgs/pkgs/tools/networking/boundary/default.nix
+++ b/nixpkgs/pkgs/tools/networking/boundary/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "boundary";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src =
     let
@@ -14,9 +14,9 @@ stdenv.mkDerivation rec {
         x86_64-darwin = "darwin_amd64";
       };
       sha256 = selectSystem {
-        x86_64-linux = "sha256-E+AQhm2ddaDU8G0KuK0dC4wUU4YFELwO/q+8d2kpnV8=";
-        aarch64-linux = "sha256-RG4hazKsuUCYYBfDJ9OWghHlBNLEaxVOz5YGHP+ySbA=";
-        x86_64-darwin = "sha256-h0EjoEU+U3HQhmnPBKGijFJrkg9yPPP7zyWNbrn2e5Q=";
+        x86_64-linux = "sha256-qO74R6L2kTHXCNtka9SHT4lZo4Gr15w6K3e43+p2HW4=";
+        aarch64-linux = "sha256-apd16BuusNI5P2Qr8Hj95dRwoAk/ZEZa6TQi+0paIzs=";
+        x86_64-darwin = "sha256-LdCakVru1sbB88plsGrJiMDQl5HtH1GkCkcjmIVjeec=";
       };
     in
     fetchzip {
diff --git a/nixpkgs/pkgs/tools/networking/croc/default.nix b/nixpkgs/pkgs/tools/networking/croc/default.nix
index 9deb7d6c9409..8c9e1bcdf0f7 100644
--- a/nixpkgs/pkgs/tools/networking/croc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/croc/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "croc";
-  version = "9.3.0";
+  version = "9.4.2";
 
   src = fetchFromGitHub {
     owner = "schollz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-chSVAQXGtcAFs4GzqywjAUM9qng9j6j7KOrlQalxdOw=";
+    sha256 = "sha256-aB3jYQKyqfaQBcCbFbN8ZIfosyLy+bX6SJF+iiT2ELQ=";
   };
 
-  vendorSha256 = "sha256-z8xU1IH+xemx/kxE4crj90roF73QW5D9jFLpykH7meo=";
+  vendorSha256 = "sha256-bsggZ6e9a7tq0jgOpqIRgfj4FUu/krLWuLBZjaialO0=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/networking/davix/default.nix b/nixpkgs/pkgs/tools/networking/davix/default.nix
index d9f368455594..1cdb5677eecd 100644
--- a/nixpkgs/pkgs/tools/networking/davix/default.nix
+++ b/nixpkgs/pkgs/tools/networking/davix/default.nix
@@ -1,19 +1,67 @@
-{ lib, stdenv, fetchurl, cmake, pkg-config, openssl, libxml2, boost, python3, libuuid }:
+{ lib
+, stdenv
+, fetchurl
+, cmake
+, pkg-config
+, openssl
+, libxml2
+, boost
+, python3
+, libuuid
+, curl
+, gsoap
+, enableTools ? true
+  # Build the bundled libcurl
+  # and, if defaultToLibCurl,
+  # use instead of an external one
+, useEmbeddedLibcurl ? true
+  # Use libcurl instead of libneon
+  # Note that the libneon used is bundled in the project
+  # See https://github.com/cern-fts/davix/issues/23
+, defaultToLibcurl ? false
+, enableIpv6 ? true
+, enableTcpNodelay ? true
+  # Build davix_copy.so
+, enableThirdPartyCopy ? false
+}:
 
+let
+  boolToUpper = b: lib.toUpper (lib.boolToString b);
+in
 stdenv.mkDerivation rec {
-  version = "0.7.6";
+  version = "0.8.0";
   pname = "davix";
   nativeBuildInputs = [ cmake pkg-config python3 ];
-  buildInputs = [ openssl libxml2 boost libuuid ];
+  buildInputs = [
+    openssl
+    libxml2
+    boost
+    libuuid
+  ] ++ lib.optional (defaultToLibcurl && !useEmbeddedLibcurl) curl
+  ++ lib.optional (enableThirdPartyCopy) gsoap;
 
   # using the url below since the github release page states
   # "please ignore the GitHub-generated tarballs, as they are incomplete"
-  # https://github.com/cern-fts/davix/releases/tag/R_0_7_6
+  # https://github.com/cern-fts/davix/releases/tag/R_0_8_0
   src = fetchurl {
     url = "https://github.com/cern-fts/${pname}/releases/download/R_${lib.replaceStrings ["."] ["_"] version}/${pname}-${version}.tar.gz";
-    sha256 = "0wq66spnr616cns72f9dvr2xfvkdvfqqmc6d7dx29fpp57zzvrx2";
+    sha256 = "LxCNoECKg/tbnwxoFQ02C6cz5LOg/imNRbDTLSircSQ=";
   };
 
+  preConfigure = ''
+    find . -mindepth 1 -maxdepth 1 -type f -name "patch*.sh" -print0 | while IFS= read -r -d ''' file; do
+      patchShebangs "$file"
+    done
+  '';
+
+  cmakeFlags = [
+    "-DENABLE_TOOLS=${boolToUpper enableTools}"
+    "-DEMBEDDED_LIBCURL=${boolToUpper useEmbeddedLibcurl}"
+    "-DLIBCURL_BACKEND_BY_DEFAULT=${boolToUpper defaultToLibcurl}"
+    "-DENABLE_IPV6=${boolToUpper enableIpv6}"
+    "-DENABLE_TCP_NODELAY=${boolToUpper enableTcpNodelay}"
+    "-DENABLE_THIRD_PARTY_COPY=${boolToUpper enableThirdPartyCopy}"
+  ];
 
   meta = with lib; {
     description = "Toolkit for Http-based file management";
@@ -22,10 +70,10 @@ stdenv.mkDerivation rec {
     operations with Http based protocols (WebDav, Amazon S3, ...).
     Davix provides an API and a set of command line tools";
 
-    license     = licenses.lgpl2Plus;
-    homepage    = "http://dmc.web.cern.ch/projects/davix/home";
-    maintainers = [ maintainers.adev ];
-    platforms   = platforms.all;
+    license = licenses.lgpl2Plus;
+    homepage = "http://dmc.web.cern.ch/projects/davix/home";
+    changelog = "https://github.com/cern-fts/davix/blob/devel/RELEASE-NOTES.md";
+    maintainers = with maintainers; [ adev ];
+    platforms = platforms.all;
   };
 }
-
diff --git a/nixpkgs/pkgs/tools/networking/dhcp/default.nix b/nixpkgs/pkgs/tools/networking/dhcp/default.nix
index 2a722d17c01f..7df04ac0c895 100644
--- a/nixpkgs/pkgs/tools/networking/dhcp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dhcp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, file, nettools, iputils, iproute2, makeWrapper
+{ stdenv, fetchurl, fetchpatch, perl, file, nettools, iputils, iproute2, makeWrapper
 , coreutils, gnused, openldap ? null
 , buildPackages, lib
 }:
@@ -18,6 +18,12 @@ stdenv.mkDerivation rec {
       # patch, the hostname doesn't get set properly if the old
       # hostname (i.e. before reboot) is equal to the new hostname.
       ./set-hostname.patch
+
+      (fetchpatch {
+        # upstream build fix against -fno-common compilers like >=gcc-10
+        url = "https://gitlab.isc.org/isc-projects/dhcp/-/commit/6c7e61578b1b449272dbb40dd8b98d03dad8a57a.patch";
+        sha256 = "1g37ix0yf9zza8ri8bg438ygcjviniblfyb20y4gzc8lysy28m8b";
+      })
     ];
 
   nativeBuildInputs = [ perl makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/networking/dnstake/default.nix b/nixpkgs/pkgs/tools/networking/dnstake/default.nix
new file mode 100644
index 000000000000..d32cf0fedbbb
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/dnstake/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "dnstake";
+  version = "0.0.2";
+
+  src = fetchFromGitHub {
+    owner = "pwnesia";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0mjwnb0zyqnwk26f32v9vqxc9k6zcks9nn1595mf2hck5xwn86yk";
+  };
+
+  vendorSha256 = "1xhzalx1x8js449w1qs2qdwbnz2s8mmypz9maj7jzl5mqfyhlwlp";
+
+  meta = with lib; {
+    description = "Tool to check missing hosted DNS zones";
+    homepage = "https://github.com/pwnesia/dnstake";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/dnsviz/default.nix b/nixpkgs/pkgs/tools/networking/dnsviz/default.nix
index ba31aba8d6c2..aebf7e3cd14f 100644
--- a/nixpkgs/pkgs/tools/networking/dnsviz/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnsviz/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonApplication rec {
   pname = "dnsviz";
-  version = "0.9.3";
+  version = "0.9.4";
 
   src = fetchFromGitHub {
     owner = "dnsviz";
     repo = "dnsviz";
     rev = "v${version}";
-    sha256 = "sha256-QsTYpNaAJiIRUrr2JYjXWOKFihENhAccvmB/DRhX1PA=";
+    sha256 = "sha256-x6LdPVQFfsJIuKde1+LbFKz5bBEi+Mri9sVH0nGsbCU=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/tools/networking/flannel/plugin.nix b/nixpkgs/pkgs/tools/networking/flannel/plugin.nix
index 40d0fa9ecc55..51e29a31ddc5 100644
--- a/nixpkgs/pkgs/tools/networking/flannel/plugin.nix
+++ b/nixpkgs/pkgs/tools/networking/flannel/plugin.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cni-plugin-flannel";
-  version = "1.0";
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "flannel-io";
     repo = "cni-plugin";
     rev = "v${version}";
-    sha256 = "sha256-s2gibebXTqM/12nDHwc89geWxA6gZi9/if5VnUFoTDE=";
+    sha256 = "sha256-DZC6uJR6TIHdmu8kZcbM+RC7pdejqLCOep0v3PM8/QY=";
   };
 
   vendorSha256 = "sha256-TLAwE3pTnJYOi1AsOQfsG6t3xLKOah/7DvYjsqyltKs=";
diff --git a/nixpkgs/pkgs/tools/networking/getmail6/default.nix b/nixpkgs/pkgs/tools/networking/getmail6/default.nix
index dc36a7d124a4..045ead7569db 100644
--- a/nixpkgs/pkgs/tools/networking/getmail6/default.nix
+++ b/nixpkgs/pkgs/tools/networking/getmail6/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "getmail6";
-  version = "6.18.3";
+  version = "6.18.4";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8tBSi9QzWcVL09j6aa2yWFhLlqaI6DREX2PpKvHC3qU=";
+    sha256 = "1pxrwqpg8vnrrljigzzaq8g2g6nx55x7a8q032bp4wqyhc6jhpxq";
   };
 
   # needs a Docker setup
diff --git a/nixpkgs/pkgs/tools/networking/godns/default.nix b/nixpkgs/pkgs/tools/networking/godns/default.nix
new file mode 100644
index 000000000000..fb46a144ee7b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/godns/default.nix
@@ -0,0 +1,27 @@
+{ buildGoModule, fetchFromGitHub, lib }:
+
+buildGoModule rec {
+  pname = "godns";
+  version = "2.5";
+
+  src = fetchFromGitHub {
+    owner = "TimothyYe";
+    repo = "godns";
+    rev = "v${version}";
+    sha256 = "sha256-ia0FmV2KlFPh9gmKOqVxiStgmBbX9vUIc7KllpUt44Q=";
+  };
+
+  vendorSha256 = "sha256-FZLDaMrPEyoTGFmGBlpqPWsMuobqwkBaot5qjcRJe9w=";
+
+  # Some tests require internet access, broken in sandbox
+  doCheck = false;
+
+  ldflags = [ "-X main.Version=${version}" ];
+
+  meta = with lib; {
+    description = "A dynamic DNS client tool supports AliDNS, Cloudflare, Google Domains, DNSPod, HE.net & DuckDNS & DreamHost, etc";
+    homepage = "https://github.com/TimothyYe/godns";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ yinfeng ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/gvproxy/default.nix b/nixpkgs/pkgs/tools/networking/gvproxy/default.nix
index 662f909b6245..535e8d6bdfbf 100644
--- a/nixpkgs/pkgs/tools/networking/gvproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/gvproxy/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gvproxy";
-  version = "0.1.0";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "gvisor-tap-vsock";
     rev = "v${version}";
-    sha256 = "sha256-cXaX7A8Wgq/PEHnFrparZjOKdENX3pWWXYfrEuFLDx0=";
+    sha256 = "sha256-iRFjELJCgxPvqkhBvJqCFapQrHLL3uRpKsJ/DaXSKnw=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/tools/networking/httpie/default.nix b/nixpkgs/pkgs/tools/networking/httpie/default.nix
index a7ecabe8e627..8e289b7bab11 100644
--- a/nixpkgs/pkgs/tools/networking/httpie/default.nix
+++ b/nixpkgs/pkgs/tools/networking/httpie/default.nix
@@ -1,88 +1,70 @@
-{ lib, fetchFromGitHub, python3Packages, docutils }:
+{ lib
+, fetchFromGitHub
+, installShellFiles
+, python3Packages
+, pandoc
+}:
 
 python3Packages.buildPythonApplication rec {
   pname = "httpie";
-  version = "2.4.0";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "httpie";
     repo = "httpie";
     rev = version;
-    sha256 = "00lafjqg9nfnak0nhcr2l2hzzkwn2y6qv0wdkm6r6f69snizy3hf";
+    sha256 = "1y77dg27dn6bajwp3w6qvw1ls5wfhd1j1788l3fjhxg7j4qjki4g";
   };
 
-  patches = [
-    ./strip-venv.patch
+  nativeBuildInputs = [
+    installShellFiles
+    pandoc
   ];
 
-  outputs = [ "out" "doc" "man" ];
-
-  nativeBuildInputs = [ docutils ];
-
-  propagatedBuildInputs = with python3Packages; [ pygments requests requests-toolbelt setuptools ];
+  propagatedBuildInputs = with python3Packages; [
+    charset-normalizer
+    defusedxml
+    pygments
+    requests
+    requests-toolbelt
+    setuptools
+  ];
 
   checkInputs = with python3Packages; [
     mock
     pytest
     pytest-httpbin
     pytestCheckHook
+    responses
   ];
 
   postInstall = ''
     # install completions
-    install -Dm555 \
-      extras/httpie-completion.bash \
-      $out/share/bash-completion/completions/http.bash
-    install -Dm555 \
-      extras/httpie-completion.fish \
-      $out/share/fish/vendor_completions.d/http.fish
-
-    mkdir -p $man/share/man/man1
-
-    docdir=$doc/share/doc/httpie
-    mkdir -p $docdir/html
-
-    cp AUTHORS.rst CHANGELOG.rst CONTRIBUTING.rst $docdir
-
-    # helpfully, the readme has a `no-web` class to exclude
-    # the parts that are not relevant for offline docs
-
-    # this one build link was not marked however
-    sed -e 's/^|build|//g' -i README.rst
-
-    toHtml() {
-      rst2html5 \
-        --strip-elements-with-class=no-web \
-        --title=http \
-        --no-generator \
-        --no-datestamp \
-        --no-source-link \
-        "$1" \
-        "$2"
-    }
-
-    toHtml README.rst $docdir/html/index.html
-    toHtml CHANGELOG.rst $docdir/html/CHANGELOG.html
-    toHtml CONTRIBUTING.rst $docdir/html/CONTRIBUTING.html
-
-    rst2man \
-      --strip-elements-with-class=no-web \
-      --title=http \
-      --no-generator \
-      --no-datestamp \
-      --no-source-link \
-      README.rst \
-      $man/share/man/man1/http.1
+    installShellCompletion --bash \
+      --name http.bash extras/httpie-completion.bash
+    installShellCompletion --fish \
+      --name http.fish extras/httpie-completion.fish
+
+    # convert the docs/README.md file
+    pandoc --standalone -f markdown -t man docs/README.md -o docs/http.1
+    installManPage docs/http.1
   '';
 
-  # the tests call rst2pseudoxml.py from docutils
-  preCheck = ''
-    export PATH=${docutils}/bin:$PATH
-  '';
+  pytestFlagsArray = [
+    "httpie"
+    "tests"
+  ];
 
-  checkPhase = ''
-    py.test ./httpie ./tests --doctest-modules --verbose ./httpie ./tests -k 'not test_chunked and not test_verbose_chunked and not test_multipart_chunked and not test_request_body_from_file_by_path_chunked'
-  '';
+  disabledTests = [
+    "test_chunked"
+    "test_verbose_chunked"
+    "test_multipart_chunked"
+    "test_request_body_from_file_by_path_chunked"
+    # Part of doctest
+    "httpie.encoding.detect_encoding"
+  ];
+
+  pythonImportsCheck = [ "httpie" ];
 
   meta = with lib; {
     description = "A command line HTTP client whose goal is to make CLI human-friendly";
diff --git a/nixpkgs/pkgs/tools/networking/httplz/cargo-lock.patch b/nixpkgs/pkgs/tools/networking/httplz/cargo-lock.patch
deleted file mode 100644
index 293d65f7a238..000000000000
--- a/nixpkgs/pkgs/tools/networking/httplz/cargo-lock.patch
+++ /dev/null
@@ -1,1275 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-new file mode 100644
-index 0000000..722bfbd
---- /dev/null
-+++ b/Cargo.lock
-@@ -0,0 +1,1269 @@
-+# This file is automatically @generated by Cargo.
-+# It is not intended for manual editing.
-+[[package]]
-+name = "adler32"
-+version = "1.0.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2"
-+
-+[[package]]
-+name = "aho-corasick"
-+version = "0.7.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8716408b8bc624ed7f65d223ddb9ac2d044c0547b6fa4b0d554f3a9540496ada"
-+dependencies = [
-+ "memchr",
-+]
-+
-+[[package]]
-+name = "ansi_term"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
-+dependencies = [
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "antidote"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "34fde25430d87a9388dadbe6e34d7f72a462c8b43ac8d309b42b0a8505d7e2a5"
-+
-+[[package]]
-+name = "atty"
-+version = "0.2.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-+dependencies = [
-+ "hermit-abi",
-+ "libc",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "autocfg"
-+version = "0.1.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
-+
-+[[package]]
-+name = "autocfg"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
-+
-+[[package]]
-+name = "base64"
-+version = "0.9.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
-+dependencies = [
-+ "byteorder",
-+ "safemem",
-+]
-+
-+[[package]]
-+name = "base64"
-+version = "0.10.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
-+dependencies = [
-+ "byteorder",
-+]
-+
-+[[package]]
-+name = "bitflags"
-+version = "1.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-+
-+[[package]]
-+name = "bitstring"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3e54f7b7a46d7b183eb41e2d82965261fa8a1597c68b50aced268ee1fc70272d"
-+
-+[[package]]
-+name = "brotli-sys"
-+version = "0.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4445dea95f4c2b41cde57cc9fee236ae4dbae88d8fcbdb4750fc1bb5d86aaecd"
-+dependencies = [
-+ "cc",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "brotli2"
-+version = "0.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0cb036c3eade309815c15ddbacec5b22c4d1f3983a774ab2eac2e3e9ea85568e"
-+dependencies = [
-+ "brotli-sys",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "byteorder"
-+version = "1.3.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"
-+
-+[[package]]
-+name = "bzip2"
-+version = "0.3.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "42b7c3cbf0fa9c1b82308d57191728ca0256cb821220f4e2fd410a72ade26e3b"
-+dependencies = [
-+ "bzip2-sys",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "bzip2-sys"
-+version = "0.1.8+1.0.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "05305b41c5034ff0e93937ac64133d109b5a2660114ec45e9760bc6816d83038"
-+dependencies = [
-+ "cc",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "cc"
-+version = "1.0.52"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c3d87b23d6a92cd03af510a5ade527033f6aa6fa92161e2d5863a907d4c5e31d"
-+
-+[[package]]
-+name = "cfg-if"
-+version = "0.1.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-+
-+[[package]]
-+name = "cidr"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2da1cf0f275bb8dc1867a7f40cdb3b746951db73a183048e6e37fa89ed81bd01"
-+dependencies = [
-+ "bitstring",
-+]
-+
-+[[package]]
-+name = "clap"
-+version = "2.33.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
-+dependencies = [
-+ "ansi_term",
-+ "atty",
-+ "bitflags",
-+ "strsim",
-+ "textwrap",
-+ "unicode-width",
-+ "vec_map",
-+]
-+
-+[[package]]
-+name = "cloudabi"
-+version = "0.0.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-+dependencies = [
-+ "bitflags",
-+]
-+
-+[[package]]
-+name = "core-foundation"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
-+dependencies = [
-+ "core-foundation-sys",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "core-foundation-sys"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
-+
-+[[package]]
-+name = "crc32fast"
-+version = "1.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
-+dependencies = [
-+ "cfg-if",
-+]
-+
-+[[package]]
-+name = "ctrlc"
-+version = "3.1.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7a4ba686dff9fa4c1c9636ce1010b0cf98ceb421361b0bb3d6faeec43bd217a7"
-+dependencies = [
-+ "nix",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "dtoa"
-+version = "0.4.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4358a9e11b9a09cf52383b451b49a169e8d797b68aa02301ff586d70d9661ea3"
-+
-+[[package]]
-+name = "either"
-+version = "1.5.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
-+
-+[[package]]
-+name = "embed-resource"
-+version = "1.3.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1f6b0b4403da80c2fd32333937dd468292c001d778c587ae759b75432772715d"
-+dependencies = [
-+ "vswhom",
-+ "winreg",
-+]
-+
-+[[package]]
-+name = "flate2"
-+version = "1.0.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2cfff41391129e0a856d6d822600b8d71179d46879e310417eb9c762eb178b42"
-+dependencies = [
-+ "cfg-if",
-+ "crc32fast",
-+ "libc",
-+ "miniz_oxide",
-+]
-+
-+[[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 = "fuchsia-cprng"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-+
-+[[package]]
-+name = "gcc"
-+version = "0.3.55"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
-+
-+[[package]]
-+name = "getrandom"
-+version = "0.1.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb"
-+dependencies = [
-+ "cfg-if",
-+ "libc",
-+ "wasi",
-+]
-+
-+[[package]]
-+name = "hermit-abi"
-+version = "0.1.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8a0d737e0f947a1864e93d33fdef4af8445a00d1ed8dc0c8ddb73139ea6abf15"
-+dependencies = [
-+ "libc",
-+]
-+
-+[[package]]
-+name = "httparse"
-+version = "1.3.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
-+
-+[[package]]
-+name = "https"
-+version = "1.9.2"
-+dependencies = [
-+ "base64 0.10.1",
-+ "brotli2",
-+ "bzip2",
-+ "cc",
-+ "cidr",
-+ "clap",
-+ "ctrlc",
-+ "embed-resource",
-+ "flate2",
-+ "hyper-native-tls",
-+ "iron",
-+ "itertools",
-+ "lazy_static",
-+ "lazysort",
-+ "libc",
-+ "md6",
-+ "mime_guess",
-+ "os-str-generic",
-+ "percent-encoding 2.1.0",
-+ "rand 0.7.3",
-+ "regex",
-+ "rfsapi",
-+ "serde",
-+ "serde_json",
-+ "tabwriter",
-+ "time",
-+ "trivial_colours",
-+ "unicase 2.6.0",
-+ "walkdir",
-+ "winapi",
-+ "xml-rs",
-+]
-+
-+[[package]]
-+name = "hyper"
-+version = "0.10.16"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0a0652d9a2609a968c14be1a9ea00bf4b1d64e2e1f53a1b51b6fff3a6e829273"
-+dependencies = [
-+ "base64 0.9.3",
-+ "httparse",
-+ "language-tags",
-+ "log 0.3.9",
-+ "mime",
-+ "num_cpus",
-+ "time",
-+ "traitobject",
-+ "typeable",
-+ "unicase 1.4.2",
-+ "url",
-+]
-+
-+[[package]]
-+name = "hyper-native-tls"
-+version = "0.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6d375598f442742b0e66208ee12501391f1c7ac0bafb90b4fe53018f81f06068"
-+dependencies = [
-+ "antidote",
-+ "hyper",
-+ "native-tls",
-+]
-+
-+[[package]]
-+name = "idna"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
-+dependencies = [
-+ "matches",
-+ "unicode-bidi",
-+ "unicode-normalization",
-+]
-+
-+[[package]]
-+name = "iron"
-+version = "0.6.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c6d308ca2d884650a8bf9ed2ff4cb13fbb2207b71f64cda11dc9b892067295e8"
-+dependencies = [
-+ "hyper",
-+ "hyper-native-tls",
-+ "log 0.3.9",
-+ "mime_guess",
-+ "modifier",
-+ "num_cpus",
-+ "plugin",
-+ "typemap",
-+ "url",
-+]
-+
-+[[package]]
-+name = "itertools"
-+version = "0.8.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484"
-+dependencies = [
-+ "either",
-+]
-+
-+[[package]]
-+name = "itoa"
-+version = "0.3.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414de4db8c"
-+
-+[[package]]
-+name = "language-tags"
-+version = "0.2.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
-+
-+[[package]]
-+name = "lazy_static"
-+version = "1.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-+
-+[[package]]
-+name = "lazysort"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d0e22ff43b231e0e2f87d74984e53ebc73b90ae13397e041214fb07efc64168f"
-+
-+[[package]]
-+name = "libc"
-+version = "0.2.69"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "99e85c08494b21a9054e7fe1374a732aeadaff3980b6990b94bfd3a70f690005"
-+
-+[[package]]
-+name = "log"
-+version = "0.3.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
-+dependencies = [
-+ "log 0.4.8",
-+]
-+
-+[[package]]
-+name = "log"
-+version = "0.4.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
-+dependencies = [
-+ "cfg-if",
-+]
-+
-+[[package]]
-+name = "matches"
-+version = "0.1.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
-+
-+[[package]]
-+name = "md6"
-+version = "2.0.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "21baf112ff708069b0d0544843236583c9c18675cc1af78ba4ace0f60f63fb31"
-+dependencies = [
-+ "gcc",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "memchr"
-+version = "2.3.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400"
-+
-+[[package]]
-+name = "mime"
-+version = "0.2.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0"
-+dependencies = [
-+ "log 0.3.9",
-+]
-+
-+[[package]]
-+name = "mime_guess"
-+version = "1.8.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "216929a5ee4dd316b1702eedf5e74548c123d370f47841ceaac38ca154690ca3"
-+dependencies = [
-+ "mime",
-+ "phf",
-+ "phf_codegen",
-+ "unicase 1.4.2",
-+]
-+
-+[[package]]
-+name = "miniz_oxide"
-+version = "0.3.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "aa679ff6578b1cddee93d7e82e263b94a575e0bfced07284eb0c037c1d2416a5"
-+dependencies = [
-+ "adler32",
-+]
-+
-+[[package]]
-+name = "modifier"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "41f5c9112cb662acd3b204077e0de5bc66305fa8df65c8019d5adb10e9ab6e58"
-+
-+[[package]]
-+name = "native-tls"
-+version = "0.2.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2b0d88c06fe90d5ee94048ba40409ef1d9315d86f6f38c2efdaad4fb50c58b2d"
-+dependencies = [
-+ "lazy_static",
-+ "libc",
-+ "log 0.4.8",
-+ "openssl",
-+ "openssl-probe",
-+ "openssl-sys",
-+ "schannel",
-+ "security-framework",
-+ "security-framework-sys",
-+ "tempfile",
-+]
-+
-+[[package]]
-+name = "nix"
-+version = "0.17.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "50e4785f2c3b7589a0d0c1dd60285e1188adac4006e8abd6dd578e1567027363"
-+dependencies = [
-+ "bitflags",
-+ "cc",
-+ "cfg-if",
-+ "libc",
-+ "void",
-+]
-+
-+[[package]]
-+name = "num-traits"
-+version = "0.1.43"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
-+dependencies = [
-+ "num-traits 0.2.11",
-+]
-+
-+[[package]]
-+name = "num-traits"
-+version = "0.2.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096"
-+dependencies = [
-+ "autocfg 1.0.0",
-+]
-+
-+[[package]]
-+name = "num_cpus"
-+version = "1.13.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
-+dependencies = [
-+ "hermit-abi",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "openssl"
-+version = "0.10.29"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cee6d85f4cb4c4f59a6a85d5b68a233d280c82e29e822913b9c8b129fbf20bdd"
-+dependencies = [
-+ "bitflags",
-+ "cfg-if",
-+ "foreign-types",
-+ "lazy_static",
-+ "libc",
-+ "openssl-sys",
-+]
-+
-+[[package]]
-+name = "openssl-probe"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
-+
-+[[package]]
-+name = "openssl-sys"
-+version = "0.9.55"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7717097d810a0f2e2323f9e5d11e71608355e24828410b55b9d4f18aa5f9a5d8"
-+dependencies = [
-+ "autocfg 1.0.0",
-+ "cc",
-+ "libc",
-+ "pkg-config",
-+ "vcpkg",
-+]
-+
-+[[package]]
-+name = "os-str-generic"
-+version = "0.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "78f3d620827b89763f54b7f1da3029bd4e0ca7eb1ae61a5c4d3b0bc0dca5157e"
-+
-+[[package]]
-+name = "percent-encoding"
-+version = "1.0.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
-+
-+[[package]]
-+name = "percent-encoding"
-+version = "2.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
-+
-+[[package]]
-+name = "phf"
-+version = "0.7.24"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
-+dependencies = [
-+ "phf_shared",
-+]
-+
-+[[package]]
-+name = "phf_codegen"
-+version = "0.7.24"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e"
-+dependencies = [
-+ "phf_generator",
-+ "phf_shared",
-+]
-+
-+[[package]]
-+name = "phf_generator"
-+version = "0.7.24"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
-+dependencies = [
-+ "phf_shared",
-+ "rand 0.6.5",
-+]
-+
-+[[package]]
-+name = "phf_shared"
-+version = "0.7.24"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
-+dependencies = [
-+ "siphasher",
-+ "unicase 1.4.2",
-+]
-+
-+[[package]]
-+name = "pkg-config"
-+version = "0.3.17"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677"
-+
-+[[package]]
-+name = "plugin"
-+version = "0.2.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1a6a0dc3910bc8db877ffed8e457763b317cf880df4ae19109b9f77d277cf6e0"
-+dependencies = [
-+ "typemap",
-+]
-+
-+[[package]]
-+name = "ppv-lite86"
-+version = "0.2.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
-+
-+[[package]]
-+name = "quote"
-+version = "0.3.15"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
-+
-+[[package]]
-+name = "rand"
-+version = "0.6.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
-+dependencies = [
-+ "autocfg 0.1.7",
-+ "libc",
-+ "rand_chacha 0.1.1",
-+ "rand_core 0.4.2",
-+ "rand_hc 0.1.0",
-+ "rand_isaac",
-+ "rand_jitter",
-+ "rand_os",
-+ "rand_pcg",
-+ "rand_xorshift",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "rand"
-+version = "0.7.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-+dependencies = [
-+ "getrandom",
-+ "libc",
-+ "rand_chacha 0.2.2",
-+ "rand_core 0.5.1",
-+ "rand_hc 0.2.0",
-+]
-+
-+[[package]]
-+name = "rand_chacha"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
-+dependencies = [
-+ "autocfg 0.1.7",
-+ "rand_core 0.3.1",
-+]
-+
-+[[package]]
-+name = "rand_chacha"
-+version = "0.2.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-+dependencies = [
-+ "ppv-lite86",
-+ "rand_core 0.5.1",
-+]
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-+dependencies = [
-+ "rand_core 0.4.2",
-+]
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.4.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.5.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-+dependencies = [
-+ "getrandom",
-+]
-+
-+[[package]]
-+name = "rand_hc"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
-+dependencies = [
-+ "rand_core 0.3.1",
-+]
-+
-+[[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",
-+]
-+
-+[[package]]
-+name = "rand_isaac"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
-+dependencies = [
-+ "rand_core 0.3.1",
-+]
-+
-+[[package]]
-+name = "rand_jitter"
-+version = "0.1.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
-+dependencies = [
-+ "libc",
-+ "rand_core 0.4.2",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "rand_os"
-+version = "0.1.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
-+dependencies = [
-+ "cloudabi",
-+ "fuchsia-cprng",
-+ "libc",
-+ "rand_core 0.4.2",
-+ "rdrand",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "rand_pcg"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
-+dependencies = [
-+ "autocfg 0.1.7",
-+ "rand_core 0.4.2",
-+]
-+
-+[[package]]
-+name = "rand_xorshift"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
-+dependencies = [
-+ "rand_core 0.3.1",
-+]
-+
-+[[package]]
-+name = "rdrand"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-+dependencies = [
-+ "rand_core 0.3.1",
-+]
-+
-+[[package]]
-+name = "redox_syscall"
-+version = "0.1.56"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
-+
-+[[package]]
-+name = "regex"
-+version = "1.3.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a6020f034922e3194c711b82a627453881bc4682166cabb07134a10c26ba7692"
-+dependencies = [
-+ "aho-corasick",
-+ "memchr",
-+ "regex-syntax",
-+ "thread_local",
-+]
-+
-+[[package]]
-+name = "regex-syntax"
-+version = "0.6.17"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7fe5bd57d1d7414c6b5ed48563a2c855d995ff777729dcd91c369ec7fea395ae"
-+
-+[[package]]
-+name = "remove_dir_all"
-+version = "0.5.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
-+dependencies = [
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "rfsapi"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1b6fbc119d00459f80252adb96e554766d75de071ed5d3c49f46a000d137cd49"
-+dependencies = [
-+ "hyper",
-+ "mime",
-+ "serde",
-+ "serde_derive",
-+ "time",
-+]
-+
-+[[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"
-+checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
-+dependencies = [
-+ "winapi-util",
-+]
-+
-+[[package]]
-+name = "schannel"
-+version = "0.1.18"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "039c25b130bd8c1321ee2d7de7fde2659fa9c2744e4bb29711cfc852ea53cd19"
-+dependencies = [
-+ "lazy_static",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "security-framework"
-+version = "0.4.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3f331b9025654145cd425b9ded0caf8f5ae0df80d418b326e2dc1c3dc5eb0620"
-+dependencies = [
-+ "bitflags",
-+ "core-foundation",
-+ "core-foundation-sys",
-+ "libc",
-+ "security-framework-sys",
-+]
-+
-+[[package]]
-+name = "security-framework-sys"
-+version = "0.4.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "17bf11d99252f512695eb468de5516e5cf75455521e69dfe343f3b74e4748405"
-+dependencies = [
-+ "core-foundation-sys",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "serde"
-+version = "0.9.15"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "34b623917345a631dc9608d5194cc206b3fe6c3554cd1c75b937e55e285254af"
-+
-+[[package]]
-+name = "serde_codegen_internals"
-+version = "0.14.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bc888bd283bd2420b16ad0d860e35ad8acb21941180a83a189bb2046f9d00400"
-+dependencies = [
-+ "syn",
-+]
-+
-+[[package]]
-+name = "serde_derive"
-+version = "0.9.15"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "978fd866f4d4872084a81ccc35e275158351d3b9fe620074e7d7504b816b74ba"
-+dependencies = [
-+ "quote",
-+ "serde_codegen_internals",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "serde_json"
-+version = "0.9.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ad8bcf487be7d2e15d3d543f04312de991d631cfe1b43ea0ade69e6a8a5b16a1"
-+dependencies = [
-+ "dtoa",
-+ "itoa",
-+ "num-traits 0.1.43",
-+ "serde",
-+]
-+
-+[[package]]
-+name = "siphasher"
-+version = "0.2.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
-+
-+[[package]]
-+name = "smallvec"
-+version = "1.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c7cb5678e1615754284ec264d9bb5b4c27d2018577fd90ac0ceb578591ed5ee4"
-+
-+[[package]]
-+name = "strsim"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-+
-+[[package]]
-+name = "syn"
-+version = "0.11.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad"
-+dependencies = [
-+ "quote",
-+ "synom",
-+ "unicode-xid",
-+]
-+
-+[[package]]
-+name = "synom"
-+version = "0.11.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
-+dependencies = [
-+ "unicode-xid",
-+]
-+
-+[[package]]
-+name = "tabwriter"
-+version = "1.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "36205cfc997faadcc4b0b87aaef3fbedafe20d38d4959a7ca6ff803564051111"
-+dependencies = [
-+ "unicode-width",
-+]
-+
-+[[package]]
-+name = "tempfile"
-+version = "3.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
-+dependencies = [
-+ "cfg-if",
-+ "libc",
-+ "rand 0.7.3",
-+ "redox_syscall",
-+ "remove_dir_all",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "textwrap"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-+dependencies = [
-+ "unicode-width",
-+]
-+
-+[[package]]
-+name = "thread_local"
-+version = "1.0.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
-+dependencies = [
-+ "lazy_static",
-+]
-+
-+[[package]]
-+name = "time"
-+version = "0.1.43"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438"
-+dependencies = [
-+ "libc",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "traitobject"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079"
-+
-+[[package]]
-+name = "trivial_colours"
-+version = "0.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7153365ea16c5a0ce2eebc4da1b33339a6b21d90c49f670e82130639656bb458"
-+
-+[[package]]
-+name = "typeable"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887"
-+
-+[[package]]
-+name = "typemap"
-+version = "0.3.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "653be63c80a3296da5551e1bfd2cca35227e13cdd08c6668903ae2f4f77aa1f6"
-+dependencies = [
-+ "unsafe-any",
-+]
-+
-+[[package]]
-+name = "unicase"
-+version = "1.4.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
-+dependencies = [
-+ "version_check 0.1.5",
-+]
-+
-+[[package]]
-+name = "unicase"
-+version = "2.6.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
-+dependencies = [
-+ "version_check 0.9.1",
-+]
-+
-+[[package]]
-+name = "unicode-bidi"
-+version = "0.3.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
-+dependencies = [
-+ "matches",
-+]
-+
-+[[package]]
-+name = "unicode-normalization"
-+version = "0.1.12"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5479532badd04e128284890390c1e876ef7a993d0570b3597ae43dfa1d59afa4"
-+dependencies = [
-+ "smallvec",
-+]
-+
-+[[package]]
-+name = "unicode-width"
-+version = "0.1.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
-+
-+[[package]]
-+name = "unicode-xid"
-+version = "0.0.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
-+
-+[[package]]
-+name = "unsafe-any"
-+version = "0.4.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f30360d7979f5e9c6e6cea48af192ea8fab4afb3cf72597154b8f08935bc9c7f"
-+dependencies = [
-+ "traitobject",
-+]
-+
-+[[package]]
-+name = "url"
-+version = "1.7.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
-+dependencies = [
-+ "idna",
-+ "matches",
-+ "percent-encoding 1.0.1",
-+]
-+
-+[[package]]
-+name = "vcpkg"
-+version = "0.2.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168"
-+
-+[[package]]
-+name = "vec_map"
-+version = "0.8.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
-+
-+[[package]]
-+name = "version_check"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
-+
-+[[package]]
-+name = "version_check"
-+version = "0.9.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce"
-+
-+[[package]]
-+name = "void"
-+version = "1.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
-+
-+[[package]]
-+name = "vswhom"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b"
-+dependencies = [
-+ "libc",
-+ "vswhom-sys",
-+]
-+
-+[[package]]
-+name = "vswhom-sys"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fc2f5402d3d0e79a069714f7b48e3ecc60be7775a2c049cb839457457a239532"
-+dependencies = [
-+ "cc",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "walkdir"
-+version = "2.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d"
-+dependencies = [
-+ "same-file",
-+ "winapi",
-+ "winapi-util",
-+]
-+
-+[[package]]
-+name = "wasi"
-+version = "0.9.0+wasi-snapshot-preview1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-+
-+[[package]]
-+name = "winapi"
-+version = "0.3.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
-+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 = "winreg"
-+version = "0.6.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9"
-+dependencies = [
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "xml-rs"
-+version = "0.8.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2bb76e5c421bbbeb8924c60c030331b345555024d56261dae8f3e786ed817c23"
diff --git a/nixpkgs/pkgs/tools/networking/httplz/default.nix b/nixpkgs/pkgs/tools/networking/httplz/default.nix
index 2424018d8856..52654a49d65f 100644
--- a/nixpkgs/pkgs/tools/networking/httplz/default.nix
+++ b/nixpkgs/pkgs/tools/networking/httplz/default.nix
@@ -1,27 +1,46 @@
-{ stdenv, lib, fetchFromGitHub, makeWrapper, rustPlatform
-, openssl, pkg-config, darwin, libiconv }:
+{ lib
+, rustPlatform
+, fetchCrate
+, installShellFiles
+, makeWrapper
+, pkg-config
+, ronn
+, openssl
+, stdenv
+, libiconv
+, Security
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "httplz";
-  version = "1.9.2";
+  version = "1.12.1";
 
-  src = fetchFromGitHub {
-    owner = "thecoshman";
-    repo = "http";
-    rev = "v${version}";
-    sha256 = "154alxxclz78r29m656c8yahnzq0vd64s4sp19h0ca92dfw4s46y";
+  src = fetchCrate {
+    inherit version;
+    pname = "https";
+    sha256 = "sha256-vMhQHWzsZlqMVkEQHCZTB8T4ETTaf8iAS9QhgYdfcx0=";
   };
 
-  nativeBuildInputs = [ makeWrapper pkg-config ];
+  cargoSha256 = "sha256-9gnKVZ3HQs3kNj4i1cgC+Jl3dhjx7QRaHSih1HOB3nI=";
+
+  nativeBuildInputs = [
+    installShellFiles
+    makeWrapper
+    pkg-config
+    ronn
+  ];
+
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [
-    libiconv darwin.apple_sdk.frameworks.Security
+    libiconv
+    Security
   ];
 
-  cargoBuildFlags = [ "--bin httplz" ];
-  cargoPatches = [ ./cargo-lock.patch ];
-  cargoSha256 = "0r33vg9431jv32r03ryxb3rc4mp6h1kc00d3h1knssfvkwsh31yn";
+  cargoBuildFlags = [ "--bin" "httplz" ];
 
   postInstall = ''
+    sed -E 's/http(`| |\(|$)/httplz\1/g' http.md > httplz.1.ronn
+    RUBYOPT=-Eutf-8:utf-8 ronn --organization "http developers" -r httplz.1.ronn
+    installManPage httplz.1
     wrapProgram $out/bin/httplz \
       --prefix PATH : "${openssl}/bin"
   '';
@@ -30,6 +49,6 @@ rustPlatform.buildRustPackage rec {
     description = "A basic http server for hosting a folder fast and simply";
     homepage = "https://github.com/thecoshman/http";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ figsoda ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/hurl/default.nix b/nixpkgs/pkgs/tools/networking/hurl/default.nix
index 7caabc9d37cc..0843ba3a756a 100644
--- a/nixpkgs/pkgs/tools/networking/hurl/default.nix
+++ b/nixpkgs/pkgs/tools/networking/hurl/default.nix
@@ -1,9 +1,13 @@
 { lib
+, stdenv
 , rustPlatform
 , fetchFromGitHub
 , pkg-config
+, python3
+, installShellFiles
 , libxml2
 , openssl
+, curl
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -19,11 +23,15 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [
     pkg-config
+    python3
+    installShellFiles
   ];
 
   buildInputs = [
     libxml2
     openssl
+  ] ++ lib.optionals stdenv.isDarwin [
+    curl
   ];
 
   # Tests require network access to a test server
@@ -31,9 +39,16 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "sha256-tAg3xwmh7SjJsm9r5TnhXHIDLpUQpz3YDS6gWxFgps4=";
 
+  postInstall = ''
+    python ci/gen_manpage.py docs/hurl.md > hurl.1
+    python ci/gen_manpage.py docs/hurlfmt.md > hurlfmt.1
+    installManPage hurl.1 hurlfmt.1
+  '';
+
   meta = with lib; {
     description = "Command line tool that performs HTTP requests defined in a simple plain text format.";
     homepage = "https://hurl.dev/";
+    changelog = "https://github.com/Orange-OpenSource/hurl/raw/${version}/CHANGELOG.md";
     maintainers = with maintainers; [ eonpatapon ];
     license = licenses.asl20;
   };
diff --git a/nixpkgs/pkgs/tools/networking/kea/default.nix b/nixpkgs/pkgs/tools/networking/kea/default.nix
index 63afc04ad117..9bc3c1e8da3c 100644
--- a/nixpkgs/pkgs/tools/networking/kea/default.nix
+++ b/nixpkgs/pkgs/tools/networking/kea/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kea";
-  version = "1.9.11";
+  version = "2.0.0"; # only even minor versions are stable
 
   src = fetchurl {
     url = "https://ftp.isc.org/isc/${pname}/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-fSyJYsAshtEviybA67UzGCWK2iHJYJy5tJIZxxzTfyU=";
+    sha256 = "sha256-BYVODDhxtFLtrOGOzMarYYlA4CSfvnwjKjbQauWb9B0=";
   };
 
   patches = [ ./dont-create-var.patch ];
diff --git a/nixpkgs/pkgs/tools/networking/keepalived/default.nix b/nixpkgs/pkgs/tools/networking/keepalived/default.nix
index 48fe72d42967..22606ec78b69 100644
--- a/nixpkgs/pkgs/tools/networking/keepalived/default.nix
+++ b/nixpkgs/pkgs/tools/networking/keepalived/default.nix
@@ -1,25 +1,30 @@
 { lib, stdenv, fetchFromGitHub, nixosTests
-, libnfnetlink, libnl, net-snmp, openssl
-, pkg-config, autoreconfHook }:
+, file, libmnl, libnftnl, libnl
+, net-snmp, openssl, pkg-config
+, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "keepalived";
-  version = "2.2.2";
+  version = "2.2.4";
 
   src = fetchFromGitHub {
     owner = "acassen";
     repo = "keepalived";
     rev = "v${version}";
-    sha256 = "sha256-qugEEbOQ4bemzelIOaNFvo3piMZpKUZGjR+4XF8aLHw=";
+    sha256 = "sha256-WXKu+cabMmXNHiLwXrQqS8GQHIWYkee7vPddyGURWic=";
   };
 
   buildInputs = [
-    libnfnetlink
+    file
+    libmnl
+    libnftnl
     libnl
     net-snmp
     openssl
   ];
 
+  enableParallelBuilding = true;
+
   passthru.tests.keepalived = nixosTests.keepalived;
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
@@ -32,7 +37,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://keepalived.org";
     description = "Routing software written in C";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ligolo-ng/default.nix b/nixpkgs/pkgs/tools/networking/ligolo-ng/default.nix
new file mode 100644
index 000000000000..1f92fd0ce320
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/ligolo-ng/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "ligolo-ng";
+  version = "0.2";
+
+  src = fetchFromGitHub {
+    owner = "tnpitsecurity";
+    repo = "ligolo-ng";
+    rev = "v${version}";
+    sha256 = "sha256-VzK6WykC3UDlhhyu8LMRHgOMkdEssJuh1Aqp0rGx7F4=";
+  };
+
+  postConfigure = ''
+    export CGO_ENABLED=0
+  '';
+
+  ldflags = [ "-s" "-w" "-extldflags '-static'" ];
+
+  vendorSha256 = "sha256-ZRUy6gsl4Q2Sdm8Bfo4ANPdwcNQi5LNV6SbynpwfnOc=";
+
+  doCheck = false; # tests require network access
+
+  meta = with lib; {
+    homepage = "https://github.com/tnpitsecurity/ligolo-ng";
+    description = "A tunneling/pivoting tool that uses a TUN interface";
+    platforms = platforms.linux;
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ elohmeier ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/miniupnpc/default.nix b/nixpkgs/pkgs/tools/networking/miniupnpc/default.nix
index 9fe476906bc6..0182440a8eb7 100644
--- a/nixpkgs/pkgs/tools/networking/miniupnpc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/miniupnpc/default.nix
@@ -19,6 +19,8 @@ let
 
       makeFlags = [ "PREFIX=$(out)" "INSTALLPREFIX=$(out)" ];
 
+      postInstall = ''chmod +x "$out"/lib/libminiupnpc.so'';
+
       meta = with lib; {
         homepage = "http://miniupnp.free.fr/";
         description = "A client that implements the UPnP Internet Gateway Device (IGD) specification";
diff --git a/nixpkgs/pkgs/tools/networking/mole/default.nix b/nixpkgs/pkgs/tools/networking/mole/default.nix
new file mode 100644
index 000000000000..da452b1bfae8
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/mole/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "mole";
+  version = "2.0.0";
+
+  src = fetchFromGitHub {
+    owner = "davrodpin";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "11q48wfsr35xf2gmvh4biq4hlpba3fh6lrm3p9wni0rl1nxy40i7";
+  };
+
+  vendorSha256 = "1qm328ldkaifj1vsrz025vsa2wqzii9rky00b6wh8jf31f4ljbzv";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X=github.com/davrodpin/mole/cmd.version=${version}"
+  ];
+
+  meta = with lib; {
+    description = "CLI application to create SSH tunnels";
+    homepage = "https://github.com/davrodpin/mole";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/nbd/default.nix b/nixpkgs/pkgs/tools/networking/nbd/default.nix
index 3f3a9b2b7235..95c2f970999a 100644
--- a/nixpkgs/pkgs/tools/networking/nbd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nbd/default.nix
@@ -30,7 +30,6 @@ stdenv.mkDerivation rec {
     homepage = "http://nbd.sourceforge.net";
     description = "Map arbitrary files as block devices over the network";
     license = lib.licenses.gpl2;
-    maintainers = [ lib.maintainers.peti ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/networkmanager/openvpn/default.nix b/nixpkgs/pkgs/tools/networking/networkmanager/openvpn/default.nix
index 06df79e47052..ca5ec7abffa5 100644
--- a/nixpkgs/pkgs/tools/networking/networkmanager/openvpn/default.nix
+++ b/nixpkgs/pkgs/tools/networking/networkmanager/openvpn/default.nix
@@ -3,13 +3,13 @@
 
 let
   pname = "NetworkManager-openvpn";
-  version = "1.8.12";
+  version = "1.8.16";
 in stdenv.mkDerivation {
   name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "062kh4zj7jfbwy4zzcwpq2m457bzbpm3l18s0ysnw3mgia3siz8f";
+    sha256 = "iSDeCceuXx9SDIP4REVduPrsMUJzUCaP4t2VuGD5H7U=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/tools/networking/oha/default.nix b/nixpkgs/pkgs/tools/networking/oha/default.nix
index 185176440c1b..4f59810a7623 100644
--- a/nixpkgs/pkgs/tools/networking/oha/default.nix
+++ b/nixpkgs/pkgs/tools/networking/oha/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oha";
-  version = "0.4.6";
+  version = "0.4.7";
 
   src = fetchFromGitHub {
     owner = "hatoo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vx8ki0wi9xil2iksvxzh8mhx4c5ikkhdcnc8mcwqn14cvjkggja";
+    sha256 = "sha256-/gcNVTfLJKA5qzRgAqFSlSI618QBsJTxFE1doOKR7e8=";
   };
 
-  cargoSha256 = "1nx2lvbjflsjma5q9ck6vq499hf75w91i4h8wlzr83wqk37i7rhc";
+  cargoSha256 = "sha256-o5VKj69Wp7zLR3TS+wNA0D8nP6Cynlr4KtW4JSUm0VE=";
 
   nativeBuildInputs = lib.optional stdenv.isLinux pkg-config;
 
diff --git a/nixpkgs/pkgs/tools/networking/openssh/default.nix b/nixpkgs/pkgs/tools/networking/openssh/default.nix
index b57633b750f8..c8bc1f8a1dda 100644
--- a/nixpkgs/pkgs/tools/networking/openssh/default.nix
+++ b/nixpkgs/pkgs/tools/networking/openssh/default.nix
@@ -39,6 +39,7 @@ in
 
     extraMeta.knownVulnerabilities = [
       "CVE-2021-28041"
+      "CVE-2021-41617"
     ];
   };
 
@@ -69,6 +70,7 @@ in
 
     extraMeta.knownVulnerabilities = [
       "CVE-2021-28041"
+      "CVE-2021-41617"
     ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/packetdrill/default.nix b/nixpkgs/pkgs/tools/networking/packetdrill/default.nix
index 861e9c0383bb..b06e4558fbbf 100644
--- a/nixpkgs/pkgs/tools/networking/packetdrill/default.nix
+++ b/nixpkgs/pkgs/tools/networking/packetdrill/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, bison, flex, cmake, libpcap }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, bison, flex, cmake, libpcap }:
 stdenv.mkDerivation rec {
   pname = "packetdrill";
   version = "unstable-2020-08-22";
@@ -9,6 +9,16 @@ stdenv.mkDerivation rec {
     rev = "68a34fa73cf221e5f52d6fa4f203bcd93062be1b";
     sha256 = "0djkwb6l2959f44d98vwb092rghf0qmii8391vrpxqb99j6pv4h6";
   };
+  patches = [
+    # Upstream fix for -fno-common toolchains
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/google/packetdrill/commit/c08292838de81a71ee477d5bf9d95b1130a1292b.patch";
+      sha256 = "1irbar1zkydmgqb12r3xd80dwj2jfxnxayxpb4nmbma8xm7knb10";
+      stripLen = 3;
+    })
+  ];
+
   setSourceRoot = ''
     export sourceRoot=$(realpath */gtests/net/packetdrill)
   '';
diff --git a/nixpkgs/pkgs/tools/networking/pdsh/default.nix b/nixpkgs/pkgs/tools/networking/pdsh/default.nix
index d7ac9ad54e6f..531dfeeb4c45 100644
--- a/nixpkgs/pkgs/tools/networking/pdsh/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pdsh/default.nix
@@ -43,6 +43,5 @@ stdenv.mkDerivation rec {
     '';
 
     platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.peti ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/pmacct/default.nix b/nixpkgs/pkgs/tools/networking/pmacct/default.nix
index 9cb8c0b88f73..86f1af029df0 100644
--- a/nixpkgs/pkgs/tools/networking/pmacct/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pmacct/default.nix
@@ -1,55 +1,56 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , pkg-config
 , autoreconfHook
 , libtool
 , libpcap
-
+, libcdada
 # Optional Dependencies
-, zlib ? null
-, withJansson ? true, jansson ? null
-, withNflog ? true, libnetfilter_log ? null
-, withSQLite ? true, sqlite ? null
-, withPgSQL ? true, postgresql ? null
-, withMysql ? true, libmysqlclient ? null }:
-
-assert withJansson -> jansson != null;
-assert withNflog -> libnetfilter_log != null;
-assert withSQLite -> sqlite != null;
-assert withPgSQL -> postgresql != null;
-assert withMysql -> libmysqlclient != null;
-
-let inherit (lib) getDev optional optionalString; in
+, withJansson ? true, jansson
+, withNflog ? true, libnetfilter_log
+, withSQLite ? true, sqlite
+, withPgSQL ? true, postgresql
+, withMysql ? true, libmysqlclient, zlib
+, gnutlsSupport ? false, gnutls
+}:
 
 stdenv.mkDerivation rec {
-  version = "1.7.5";
+  version = "1.7.6";
   pname = "pmacct";
 
   src = fetchFromGitHub {
     owner = "pmacct";
-    repo = pname;
+    repo = "pmacct";
     rev = "v${version}";
-    sha256 = "17p5isrq5w58hvmzhc6akbd37ins3c95g0rvhhdm0v33khzxmran";
+    sha256 = "0x1i75hwz44siqvn4i58jgji0zwrqgn6ayv89s9m9nh3b423nsiv";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config libtool ];
-  buildInputs = [ libpcap ]
-    ++ optional withJansson jansson
-    ++ optional withNflog libnetfilter_log
-    ++ optional withSQLite sqlite
-    ++ optional withPgSQL postgresql
-    ++ optional withMysql [ libmysqlclient zlib ];
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+    libtool
+  ];
+  buildInputs = [
+    libcdada
+    libpcap
+  ] ++ lib.optional withJansson jansson
+  ++ lib.optional withNflog libnetfilter_log
+  ++ lib.optional withSQLite sqlite
+  ++ lib.optional withPgSQL postgresql
+  ++ lib.optionals withMysql [ libmysqlclient zlib ]
+  ++ lib.optional gnutlsSupport gnutls;
 
-  MYSQL_CONFIG =
-    optionalString withMysql "${getDev libmysqlclient}/bin/mysql_config";
+  MYSQL_CONFIG = lib.optionalString withMysql "${lib.getDev libmysqlclient}/bin/mysql_config";
 
   configureFlags = [
     "--with-pcap-includes=${libpcap}/include"
-  ] ++ optional withJansson "--enable-jansson"
-    ++ optional withNflog "--enable-nflog"
-    ++ optional withSQLite "--enable-sqlite3"
-    ++ optional withPgSQL "--enable-pgsql"
-    ++ optional withMysql "--enable-mysql";
+  ] ++ lib.optional withJansson "--enable-jansson"
+  ++ lib.optional withNflog "--enable-nflog"
+  ++ lib.optional withSQLite "--enable-sqlite3"
+  ++ lib.optional withPgSQL "--enable-pgsql"
+  ++ lib.optional withMysql "--enable-mysql"
+  ++ lib.optional gnutlsSupport "--enable-gnutls";
 
   meta = with lib; {
     description = "A small set of multi-purpose passive network monitoring tools";
diff --git a/nixpkgs/pkgs/tools/networking/privoxy/default.nix b/nixpkgs/pkgs/tools/networking/privoxy/default.nix
index 9fce8d7a5f41..9fc159d810c1 100644
--- a/nixpkgs/pkgs/tools/networking/privoxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/privoxy/default.nix
@@ -2,7 +2,7 @@
 , nixosTests
 , fetchurl, autoreconfHook
 , zlib, pcre, w3m, man
-, mbedtls, brotli
+, openssl, brotli
 }:
 
 stdenv.mkDerivation rec {
@@ -18,11 +18,11 @@ stdenv.mkDerivation rec {
   hardeningEnable = [ "pie" ];
 
   nativeBuildInputs = [ autoreconfHook w3m man ];
-  buildInputs = [ zlib pcre mbedtls brotli ];
+  buildInputs = [ zlib pcre openssl brotli ];
 
   makeFlags = [ "STRIP=" ];
   configureFlags = [
-    "--with-mbedtls"
+    "--with-openssl"
     "--with-brotli"
     "--enable-external-filters"
     "--enable-compression"
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     description = "Non-caching web proxy with advanced filtering capabilities";
     # When linked with mbedtls, the license becomes GPLv3 (or later), otherwise
     # GPLv2 (or later). See https://www.privoxy.org/user-manual/copyright.html
-    license = licenses.gpl3Plus;
+    license = licenses.gpl2Plus;
     platforms = platforms.all;
     maintainers = [ maintainers.phreedom ];
   };
diff --git a/nixpkgs/pkgs/tools/networking/rustcat/default.nix b/nixpkgs/pkgs/tools/networking/rustcat/default.nix
new file mode 100644
index 000000000000..a5dfd38a0e3d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/rustcat/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rustcat";
+  version = "2.0.0";
+
+  src = fetchFromGitHub {
+    owner = "robiot";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-aoeinz1XVJ+MNt8ndV/HnKLdwa7rXwxIZucCkZCnNaM=";
+  };
+
+  cargoSha256 = "sha256-cQxBM8m0sy9WKvKqyY/sNE3p4l2v9zdx80mReQEAoc8=";
+
+  buildInputs = lib.optional stdenv.isDarwin Security;
+
+  meta = with lib; {
+    description = "Port listener and reverse shell";
+    homepage = "https://github.com/robiot/rustcat";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/s3cmd/default.nix b/nixpkgs/pkgs/tools/networking/s3cmd/default.nix
index 888d6a05c67d..88af5a136251 100644
--- a/nixpkgs/pkgs/tools/networking/s3cmd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/s3cmd/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonApplication rec {
   pname = "s3cmd";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "s3tools";
     repo = "s3cmd";
     rev = "v${version}";
-    sha256 = "0p6mbgai7f0c12pkw4s7d649gj1f8hywj60pscxvj9jsna3iifhs";
+    sha256 = "0w4abif05mp52qybh4hjg6jbbj2caljq5xdhfiha3g0s5zsq46ri";
   };
 
   propagatedBuildInputs = [ python_magic python-dateutil ];
diff --git a/nixpkgs/pkgs/tools/networking/s6-dns/default.nix b/nixpkgs/pkgs/tools/networking/s6-dns/default.nix
index a4ebf5beef9b..0a7307b6293b 100644
--- a/nixpkgs/pkgs/tools/networking/s6-dns/default.nix
+++ b/nixpkgs/pkgs/tools/networking/s6-dns/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "s6-dns";
-  version = "2.3.5.1";
-  sha256 = "0qsgqwdr5ms337fc9f2b4aa5cr7myvbzndvgkgswnrdwszjm078c";
+  version = "2.3.5.2";
+  sha256 = "0nczzjprvp6wirzycgf5h32dlgx4r8grzkqhif27n3ii6f5g78yw";
 
   description = "A suite of DNS client programs and libraries for Unix systems";
 
diff --git a/nixpkgs/pkgs/tools/networking/s6-networking/default.nix b/nixpkgs/pkgs/tools/networking/s6-networking/default.nix
index e0c8eda9c749..42f7187fabed 100644
--- a/nixpkgs/pkgs/tools/networking/s6-networking/default.nix
+++ b/nixpkgs/pkgs/tools/networking/s6-networking/default.nix
@@ -19,8 +19,8 @@ assert sslSupportEnabled -> sslLibs ? ${sslSupport};
 
 buildPackage {
   pname = "s6-networking";
-  version = "2.4.1.1";
-  sha256 = "0m55ibx7k2wgrqbpci1n667ij0h925ajzggxalq2pj65kmwcmyx3";
+  version = "2.5.0.0";
+  sha256 = "1fn3g9gkwgmnxallhk82f5rly81pnkilj7n49g5fbfmaalsq96mh";
 
   description = "A suite of small networking utilities for Unix systems";
 
@@ -57,7 +57,6 @@ buildPackage {
   postInstall = ''
     # remove all s6 executables from build directory
     rm $(find -name "s6-*" -type f -mindepth 1 -maxdepth 1 -executable)
-    rm minidentd
     rm libs6net.* libstls.* libs6tls.* libsbearssl.*
 
     mv doc $doc/share/doc/s6-networking/html
diff --git a/nixpkgs/pkgs/tools/networking/ssh-key-confirmer/default.nix b/nixpkgs/pkgs/tools/networking/ssh-key-confirmer/default.nix
new file mode 100644
index 000000000000..c7a90aee5236
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/ssh-key-confirmer/default.nix
@@ -0,0 +1,24 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "ssh-key-confirmer";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    owner = "benjojo";
+    repo = "ssh-key-confirmer";
+    rev = "v${version}";
+    sha256 = "18whj9ds3rpjj5b71lbadi37ps99v13nnmkn3vq28x6cqfdy6w09";
+  };
+
+  vendorSha256 = "0v9yw6v8fj6dqgbkks4pnmvxx9b7jqdy7bn7ywddk396sbsxjiqa";
+
+  ldflags = [ "-s" "-w" ];
+
+  meta = with lib; {
+    description = "Test ssh login key acceptance without having the private key";
+    homepage = "https://github.com/benjojo/ssh-key-confirmer";
+    license = licenses.mit;
+    maintainers = with maintainers; [ oxzi ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/stevenblack-blocklist/default.nix b/nixpkgs/pkgs/tools/networking/stevenblack-blocklist/default.nix
index ddccc9ac6358..c6284d7c80b0 100644
--- a/nixpkgs/pkgs/tools/networking/stevenblack-blocklist/default.nix
+++ b/nixpkgs/pkgs/tools/networking/stevenblack-blocklist/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchFromGitHub }:
 
 let
-  version = "3.8.2";
+  version = "3.9.7";
 in
 fetchFromGitHub {
   name = "stevenblack-blocklist-${version}";
@@ -9,7 +9,7 @@ fetchFromGitHub {
   owner = "StevenBlack";
   repo = "hosts";
   rev = version;
-  sha256 = "sha256-rkyAF1/kPI34nZ57Hqg8QivK0YERZ54jZ1HQ5oXYgxc=";
+  sha256 = "sha256-AMeUY4aeyPIyirCLawLVjqDGB8z28q/Hm/UI+wGYZvY=";
 
   meta = with lib; {
     description = "Unified hosts file with base extensions";
diff --git a/nixpkgs/pkgs/tools/networking/strongswan/default.nix b/nixpkgs/pkgs/tools/networking/strongswan/default.nix
index ff69dbc75445..601446abb95c 100644
--- a/nixpkgs/pkgs/tools/networking/strongswan/default.nix
+++ b/nixpkgs/pkgs/tools/networking/strongswan/default.nix
@@ -46,6 +46,13 @@ stdenv.mkDerivation rec {
       url = "https://patch-diff.githubusercontent.com/raw/strongswan/strongswan/pull/150.patch";
       sha256 = "1irfxb99blb8v3hs0kmlhzkkwbmds1p0gq319z8lmacz36cgyj2c";
     })
+
+    # fix build with -fno-common tollchain
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://git.strongswan.org/?p=strongswan.git;a=patch;h=91c6387e69c09beaa9b9ca1e28471751a834fc24";
+      sha256 = "0jp9walxwffp5cl7q0hb80h3s2gdj1nn3n8bvnbmwgh2s6pi148f";
+    })
   ];
 
   postPatch = optionalString stdenv.isLinux ''
diff --git a/nixpkgs/pkgs/tools/networking/suckit/default.nix b/nixpkgs/pkgs/tools/networking/suckit/default.nix
new file mode 100644
index 000000000000..568e344065e4
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/suckit/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, openssl
+, stdenv
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "suckit";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "skallwar";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0wr03yvrqa9p6m127fl4hcf9057i11zld898qz4kbdyiynpi0166";
+  };
+
+  cargoSha256 = "sha256-6otIWAAf9pI4A8kxK3dyOVpkw+SJ3/YAvTahDSXMWNc=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
+
+  # requires internet access
+  checkFlags = [ "--skip=test_download_url" ];
+
+  meta = with lib; {
+    description = "Recursively visit and download a website's content to your disk";
+    homepage = "https://github.com/skallwar/suckit";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/swec/default.nix b/nixpkgs/pkgs/tools/networking/swec/default.nix
deleted file mode 100644
index 6751b1cf5eb8..000000000000
--- a/nixpkgs/pkgs/tools/networking/swec/default.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-{ fetchurl, lib, stdenv, makeWrapper, perlPackages }:
-
-stdenv.mkDerivation rec {
-  pname = "swec";
-  version = "0.4";
-
-  src = fetchurl {
-    url = "http://files.zerodogg.org/swec/swec-${version}.tar.bz2";
-    sha256 = "1m3971z4z1wr0paggprfz0n8ng8vsnkc9m6s3bdplgyz7qjk6jwx";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ perlPackages.perl perlPackages.LWP perlPackages.URI perlPackages.HTMLParser ];
-  checkInputs = [ perlPackages.HTTPServerSimple perlPackages.Parent ];
-
-  configurePhase = ''
-    for i in swec tests/{runTests,testServer}
-    do
-      sed -i "$i" -e's|/usr/bin/perl|${perlPackages.perl}/bin/perl|g'
-    done
-  '';
-
-  dontBuild = true;
-
-  installPhase = ''
-    make install prefix="$out"
-
-    mkdir -p "$out/share/swec-${version}"
-    cp -v default.sdf "$out/share/swec-${version}"
-    sed -i "$out/bin/swec" -e"s|realpath(\$0)|'$out/share/swec-${version}/swec'|g"
-
-    wrapProgram "$out/bin/swec" \
-      --prefix PERL5LIB : ${with perlPackages; makePerlPath [ LWP URI HTMLParser ]}
-  '';
-
-  doCheck = true;
-  checkPhase = "make test";
-
-  meta = {
-    homepage = "https://random.zerodogg.org/swec/";
-
-    description = "Simple Web Error Checker (SWEC)";
-
-    longDescription =
-      '' SWEC (Simple Web Error Checker) is a program that automates testing
-         of dynamic websites.  It parses each HTML file it finds for links,
-         and if those links are within the site specified (ie. local, not
-         external), it will check that page as well.  In this respect it
-         works a lot like a crawler, in that it'll click on any link it finds
-         (more notes about this later).
-
-         In addition to parsing and locating links, it will also parse the
-         pages looking for known errors and report those (such as Mason or
-         PHP errors), and will report if a page can not be read (by either
-         returning a 404, 500 or similar).
-
-         Since you may often want SWEC to be logged in on your site, you have
-         to be careful.  When logged in, SWEC will still click on all links
-         it finds, including things like 'join group' or 'delete account'
-         (though it has some magic trying to avoid the latter).  Therefore it
-         is highly recommended that when you run SWEC as a logged-in user on
-         a site, use a test server, not the live one.
-
-         Running SWEC on a live site without being logged in as a user is
-         perfectly fine, it won't do anything a normal crawler wouldn't do
-         (well, not exactly true, SWEC will ignore robots.txt).
-      '';
-
-    license = lib.licenses.gpl3Plus;
-
-    maintainers = [ ];
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/tools/networking/telepresence/default.nix b/nixpkgs/pkgs/tools/networking/telepresence/default.nix
index 5d1966114b78..090357fa6e61 100644
--- a/nixpkgs/pkgs/tools/networking/telepresence/default.nix
+++ b/nixpkgs/pkgs/tools/networking/telepresence/default.nix
@@ -3,32 +3,18 @@
 , iptables, bash }:
 
 let
-  sshuttle-telepresence =
-    let
-      sshuttleTelepresenceRev = "32226ff14d98d58ccad2a699e10cdfa5d86d6269";
-    in
-      lib.overrideDerivation sshuttle (p: {
-        src = fetchFromGitHub {
-          owner = "datawire";
-          repo = "sshuttle";
-          rev = sshuttleTelepresenceRev;
-          sha256 = "1lp5b0h9v59igf8wybjn42w6ajw08blhiqmjwp4r7qnvmvmyaxhh";
-        };
-
-        SETUPTOOLS_SCM_PRETEND_VERSION="${sshuttleTelepresenceRev}";
-
-        postPatch = "rm sshuttle/tests/client/test_methods_nat.py";
-        postInstall = "mv $out/bin/sshuttle $out/bin/sshuttle-telepresence";
-      });
+  sshuttle-telepresence = lib.overrideDerivation sshuttle (p: {
+    postInstall = "mv $out/bin/sshuttle $out/bin/sshuttle-telepresence";
+  });
 in pythonPackages.buildPythonPackage rec {
   pname = "telepresence";
-  version = "0.108";
+  version = "0.109";
 
   src = fetchFromGitHub {
     owner = "telepresenceio";
     repo = "telepresence";
     rev = version;
-    sha256 = "6V0sM0Z+2xNDgL0wIzJOdaUp2Ol4ejNTk9K/pllVa7g=";
+    sha256 = "1ccc8bzcdxp6rh6llk7grcnmyc05fq7dz5w0mifdzjv3a473hsky";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/networking/tnat64/default.nix b/nixpkgs/pkgs/tools/networking/tnat64/default.nix
index 9b1c2c3aec11..d22f2b98efd6 100644
--- a/nixpkgs/pkgs/tools/networking/tnat64/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tnat64/default.nix
@@ -2,20 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "tnat64";
-  version = "0.05";
+  version = "0.06";
 
   src = fetchFromGitHub {
     owner = "andrewshadura";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "07lmzidbrd3aahk2jvv93cic9gf36pwmgfd63gmy6hjkxf9a6fw9";
+    sha256 = "191j1fpr3bw6fk48npl99z7iq6m1g33f15xk5cay1gnk5f46i2j6";
   };
 
-  postPatch = ''
-    # Fix usage of deprecated sys_errlist
-    substituteInPlace tnat64.c --replace 'sys_errlist[errno]' 'strerror(errno)'
-  '';
-
   configureFlags = [ "--libdir=$(out)/lib" ];
   nativeBuildInputs = [ autoreconfHook ];
 
diff --git a/nixpkgs/pkgs/tools/networking/unbound/default.nix b/nixpkgs/pkgs/tools/networking/unbound/default.nix
index a24ac1f38888..393756a9b2ab 100644
--- a/nixpkgs/pkgs/tools/networking/unbound/default.nix
+++ b/nixpkgs/pkgs/tools/networking/unbound/default.nix
@@ -5,9 +5,13 @@
 , nettle
 , expat
 , libevent
+, libsodium
+, protobufc
+, hiredis
 , dns-root-data
 , pkg-config
 , makeWrapper
+, symlinkJoin
   #
   # By default unbound will not be built with systemd support. Unbound is a very
   # commmon dependency. The transitive dependency closure of systemd also
@@ -21,6 +25,11 @@
 , systemd ? null
   # optionally support DNS-over-HTTPS as a server
 , withDoH ? false
+, withECS ? false
+, withDNSCrypt ? false
+, withDNSTAP ? false
+, withTFO ? false
+, withRedis ? false
 , libnghttp2
 }:
 
@@ -57,8 +66,24 @@ stdenv.mkDerivation rec {
     "--enable-systemd"
   ] ++ lib.optionals withDoH [
     "--with-libnghttp2=${libnghttp2.dev}"
+  ] ++ lib.optionals withECS [
+    "--enable-subnet"
+  ] ++ lib.optionals withDNSCrypt [
+    "--enable-dnscrypt"
+    "--with-libsodium=${symlinkJoin { name = "libsodium-full"; paths = [ libsodium.dev libsodium.out ]; }}"
+  ] ++ lib.optionals withDNSTAP [
+    "--enable-dnstap"
+    "--with-protobuf-c=${protobufc}"
+  ] ++ lib.optionals withTFO [
+    "--enable-tfo-client"
+    "--enable-tfo-server"
+  ] ++ lib.optionals withRedis [
+    "--enable-cachedb"
+    "--with-libhiredis=${hiredis}"
   ];
 
+  PROTOC_C = if withDNSTAP then "${protobufc}/bin/protoc-c" else null;
+
   # Remove references to compile-time dependencies that are included in the configure flags
   postConfigure = let
     inherit (builtins) storeDir;
diff --git a/nixpkgs/pkgs/tools/networking/v2ray/default.nix b/nixpkgs/pkgs/tools/networking/v2ray/default.nix
index 719e1d9b44f3..b37b98d7efc6 100644
--- a/nixpkgs/pkgs/tools/networking/v2ray/default.nix
+++ b/nixpkgs/pkgs/tools/networking/v2ray/default.nix
@@ -3,22 +3,22 @@
 }:
 
 let
-  version = "4.42.1";
+  version = "4.43.0";
 
   src = fetchFromGitHub {
     owner = "v2fly";
     repo = "v2ray-core";
     rev = "v${version}";
-    sha256 = "19xkbkzv9bgj68kmvrxsdqzx40vlyvzl8nn2n19hwwmkrazqgf04";
+    sha256 = "sha256-kOTQQUbaRQBABopU0x36j8Qre+Ko0UecUDNN8dvFni8=";
   };
 
-  vendorSha256 = "sha256-N1DYV0zSzCepkRMbcQUHqjITvmGahYKNn1uhL+csMSc=";
+  vendorSha256 = "sha256-7zSIAKcMwtaTvokKuLJ8orqJc2jGuaw5FglEJadeZ9I=";
 
   assets = {
     # MIT licensed
     "geoip.dat" = let
-      geoipRev = "202109102251";
-      geoipSha256 = "0qh8yf0m6sna3z5i2plbgw61q08qcfcx0l1z5bmwxijagf1yb7fa";
+      geoipRev = "202109300030";
+      geoipSha256 = "1d2z3ljs0v9rd10cfj8cpiijz3ikkplsymr44f7y90g4dmniwqh0";
     in fetchurl {
       url = "https://github.com/v2fly/geoip/releases/download/${geoipRev}/geoip.dat";
       sha256 = geoipSha256;
@@ -26,8 +26,8 @@ let
 
     # MIT licensed
     "geosite.dat" = let
-      geositeRev = "20210910080130";
-      geositeSha256 = "0d6bzrs5mhca59j1w73kqw10jqkwic9ywm3jvszpd077qwh64dwn";
+      geositeRev = "20211001023210";
+      geositeSha256 = "02d55i1pdndwvmi4v42hnncjng517s0k06gr3yn5krnj2qfjli2w";
     in fetchurl {
       url = "https://github.com/v2fly/domain-list-community/releases/download/${geositeRev}/dlc.dat";
       sha256 = geositeSha256;
diff --git a/nixpkgs/pkgs/tools/networking/vopono/default.nix b/nixpkgs/pkgs/tools/networking/vopono/default.nix
new file mode 100644
index 000000000000..b90f405ec684
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/vopono/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, fetchCrate
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "vopono";
+  version = "0.8.6";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "0dsyav755mggnsybj7iwvdqbqzz0gfd3j9vh0hmg5b7pbffanzvy";
+  };
+
+  cargoHash = "sha256:187mi36dgr2f1klqclci175zqgyrm0b6awrcnav63vira7hqz076";
+
+  meta = with lib; {
+    description = "Run applications through VPN connections in network namespaces";
+    homepage = "https://github.com/jamesmcm/vopono";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/wget2/default.nix b/nixpkgs/pkgs/tools/networking/wget2/default.nix
index 3fd40f8a7bad..8b2c77cd0ea1 100644
--- a/nixpkgs/pkgs/tools/networking/wget2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wget2/default.nix
@@ -6,9 +6,7 @@
 , autoreconfHook
 , flex
 , gnulib
-, lzip
 , pkg-config
-, python3
 , texinfo
   # libraries
 , brotli
@@ -17,49 +15,71 @@
 , libhsts
 , libidn2
 , libpsl
-, xz
+, lzip
 , nghttp2
-, sslSupport ? true
 , openssl
 , pcre2
+, sslSupport ? true
+, xz
 , zlib
 , zstd
 }:
 
 stdenv.mkDerivation rec {
   pname = "wget2";
-  version = "1.99.2";
+  version = "2.0.0";
+
+  outputs = [ "out" "lib" "dev" ];
 
   src = fetchFromGitLab {
     owner = "gnuwget";
     repo = pname;
-    rev = version;
-    sha256 = "1gws8y3z8xzi46c48n7jb162mr3ar4c34s7yy8kjcs14yzq951qz";
+    rev = "v${version}";
+    sha256 = "07zs2x2k62836l0arzc333j96yjpwal1v4mr8j99x6qxgmmssrbj";
   };
 
   patches = [
     (fetchpatch {
-      name = "fix-autotools-2.70.patch";
-      url = "https://gitlab.com/gnuwget/wget2/-/commit/580af869093cfda6bc8a9d5901850354a16b3666.patch";
-      sha256 = "1x6wq4wxvvy6174d52qrhxkcgmv366f8smxyki49zb6rs4gqhskd";
+      name = "fix-bashism-in-configure-ac.patch";
+      url = "https://gitlab.com/gnuwget/wget2/-/commit/da9788f5d62b89ba796393d9bc496b1d8d7a7b30.patch";
+      sha256 = "0bn3vkgyknks7jzs5722s2c4qlx7k5lwfiyz204bi42v1m28s1a5";
     })
     (fetchpatch {
-      name = "update-potfiles-for-gnulib-2020-11-28.patch";
-      url = "https://gitlab.com/gnuwget/wget2/-/commit/368deb9fcca0c281f9c76333607cc878c3945ad0.patch";
-      sha256 = "1qsz8hbzbgg14wikxsbjjlq0cp3jw4pajbaz9wdn6ny617hdvi8y";
+      name = "fix-double-quotes-in-configure-ac.patch";
+      url = "https://gitlab.com/gnuwget/wget2/-/commit/574c8ae08dfd8949da039879d85899123d31ab1d.patch";
+      sha256 = "14rfmij5w3bvj0fnkkkrxg0lfw3vgwiyvbkal3nqhgb0mlhlmd47";
     })
   ];
 
   # wget2_noinstall contains forbidden reference to /build/
   postPatch = ''
     substituteInPlace src/Makefile.am \
-      --replace 'bin_PROGRAMS = wget2 wget2_noinstall' 'bin_PROGRAMS = wget2'
+      --replace "bin_PROGRAMS = wget2 wget2_noinstall" "bin_PROGRAMS = wget2"
   '';
 
-  nativeBuildInputs = [ autoreconfHook flex lzip pkg-config python3 texinfo ];
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    autoreconfHook
+    flex
+    lzip
+    pkg-config
+    texinfo
+  ];
 
-  buildInputs = [ brotli bzip2 gpgme libhsts libidn2 libpsl xz nghttp2 pcre2 zlib zstd ]
-    ++ lib.optional sslSupport openssl;
+  buildInputs = [
+    brotli
+    bzip2
+    gpgme
+    libhsts
+    libidn2
+    libpsl
+    nghttp2
+    pcre2
+    xz
+    zlib
+    zstd
+  ] ++ lib.optional sslSupport openssl;
 
   # TODO: include translation files
   autoreconfPhase = ''
@@ -69,20 +89,15 @@ stdenv.mkDerivation rec {
     cp -r ${gnulib} gnulib
     chmod -R u+w gnulib/{build-aux,lib}
 
-    # fix bashisms can be removed when https://gitlab.com/gnuwget/wget2/-/commit/c9499dcf2f58983d03e659e2a1a7f21225141edf is in the release
-    sed 's|==|=|g' -i configure.ac
-
     ./bootstrap --no-git --gnulib-srcdir=gnulib --skip-po
   '';
 
   configureFlags = [
-    "--disable-static"
+    (lib.enableFeature false "shared")
     # TODO: https://gitlab.com/gnuwget/wget2/-/issues/537
     (lib.withFeatureAs sslSupport "ssl" "openssl")
   ];
 
-  outputs = [ "out" "lib" "dev" ];
-
   meta = with lib; {
     description = "successor of GNU Wget, a file and recursive website downloader.";
     longDescription = ''
diff --git a/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix b/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix
index 874205f592bd..bb17691cbad4 100644
--- a/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix
+++ b/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix
@@ -13,14 +13,12 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-QQN8ePOQ7DT9KeuY4ohFuPtocuinh3Y3us6QMnCQ4gc=";
 
-  doCheck = false;
-
   # Change the default location of the management socket on Linux
   # systems so that the yggdrasil system service unit does not have to
   # be granted write permission to /run.
   patches = [ ./change-runtime-dir.patch ];
 
-  subPackages = [ "cmd/yggdrasil" "cmd/yggdrasilctl" ];
+  subPackages = [ "cmd/genkeys" "cmd/yggdrasil" "cmd/yggdrasilctl" ];
 
   ldflags = [
     "-X github.com/yggdrasil-network/yggdrasil-go/src/version.buildVersion=${version}"
diff --git a/nixpkgs/pkgs/tools/networking/ytcc/default.nix b/nixpkgs/pkgs/tools/networking/ytcc/default.nix
index 38bb5c06607d..1c83acc2a186 100644
--- a/nixpkgs/pkgs/tools/networking/ytcc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ytcc/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "ytcc";
-  version = "2.3.0";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "woefe";
     repo = "ytcc";
     rev = "v${version}";
-    sha256 = "1q0w3b7r93416s28qra608n0d7cjh95nwkzgg23z5hp5sq3w3izr";
+    sha256 = "1w2frcy51kwsvd486awhpl5kkm11zj1nw3nnv9337316gfs213nw";
   };
 
   nativeBuildInputs = [ gettext ];
diff --git a/nixpkgs/pkgs/tools/nix/nixdoc/default.nix b/nixpkgs/pkgs/tools/nix/nixdoc/default.nix
index ef5ddc528ab8..945809e7a767 100644
--- a/nixpkgs/pkgs/tools/nix/nixdoc/default.nix
+++ b/nixpkgs/pkgs/tools/nix/nixdoc/default.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "14d4dq06jdqazxvv7fq5872zy0capxyb0fdkp8qg06gxl1iw201s";
   };
 
-  buildInputs =  lib.optional stdenv.isDarwin [ darwin.Security ];
+  buildInputs =  lib.optionals stdenv.isDarwin [ darwin.Security ];
 
   cargoSha256 = "1nv6g8rmjjbwqmjkrpqncypqvx5c7xp2zlx5h6rw2j9d1wlys0v5";
 
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-license/add-Cargo.lock.patch b/nixpkgs/pkgs/tools/package-management/cargo-license/add-Cargo.lock.patch
deleted file mode 100644
index c6c4e3f62e1a..000000000000
--- a/nixpkgs/pkgs/tools/package-management/cargo-license/add-Cargo.lock.patch
+++ /dev/null
@@ -1,435 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-new file mode 100644
-index 0000000..20311b5
---- /dev/null
-+++ b/Cargo.lock
-@@ -0,0 +1,429 @@
-+# This file is automatically @generated by Cargo.
-+# It is not intended for manual editing.
-+[[package]]
-+name = "ansi_term"
-+version = "0.9.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "ansi_term"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "atty"
-+version = "0.2.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "backtrace"
-+version = "0.3.40"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "backtrace-sys"
-+version = "0.1.32"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "bitflags"
-+version = "1.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "bstr"
-+version = "0.2.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "byteorder"
-+version = "1.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "cargo-license"
-+version = "0.3.0"
-+dependencies = [
-+ "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cargo_metadata 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "getopts 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "structopt 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "cargo_metadata"
-+version = "0.9.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "cc"
-+version = "1.0.48"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "cfg-if"
-+version = "0.1.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "clap"
-+version = "2.33.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "csv"
-+version = "1.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "csv-core"
-+version = "0.1.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "failure"
-+version = "0.1.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "failure_derive"
-+version = "0.1.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "getopts"
-+version = "0.2.21"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "heck"
-+version = "0.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "itoa"
-+version = "0.4.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "lazy_static"
-+version = "1.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "libc"
-+version = "0.2.66"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "memchr"
-+version = "2.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "proc-macro-error"
-+version = "0.2.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "proc-macro2"
-+version = "1.0.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "quote"
-+version = "1.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "regex-automata"
-+version = "0.1.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rustc-demangle"
-+version = "0.1.16"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "ryu"
-+version = "1.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "semver"
-+version = "0.9.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "semver-parser"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "serde"
-+version = "1.0.104"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "serde_derive"
-+version = "1.0.104"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "serde_json"
-+version = "1.0.44"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "strsim"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "structopt"
-+version = "0.3.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "structopt-derive 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "structopt-derive"
-+version = "0.3.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro-error 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "syn"
-+version = "1.0.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "synstructure"
-+version = "0.12.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "textwrap"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "toml"
-+version = "0.4.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "unicode-segmentation"
-+version = "1.6.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "unicode-width"
-+version = "0.1.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "unicode-xid"
-+version = "0.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "vec_map"
-+version = "0.8.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "winapi"
-+version = "0.3.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "winapi-i686-pc-windows-gnu"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "winapi-x86_64-pc-windows-gnu"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[metadata]
-+"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
-+"checksum ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "23ac7c30002a5accbf7e8987d0632fa6de155b7c3d39d0067317a391e00a2ef6"
-+"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
-+"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
-+"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
-+"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-+"checksum bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8d6c2c5b58ab920a4f5aeaaca34b4488074e8cc7596af94e6f8c6ff247c60245"
-+"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
-+"checksum cargo_metadata 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "46e3374c604fb39d1a2f35ed5e4a4e30e60d01fab49446e08f1b3e9a90aef202"
-+"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
-+"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-+"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
-+"checksum csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37519ccdfd73a75821cac9319d4fce15a81b9fcf75f951df5b9988aa3a0af87d"
-+"checksum csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9b5cadb6b25c77aeff80ba701712494213f4a8418fcda2ee11b6560c3ad0bf4c"
-+"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
-+"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
-+"checksum getopts 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)" = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
-+"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
-+"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
-+"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-+"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
-+"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
-+"checksum proc-macro-error 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "aeccfe4d5d8ea175d5f0e4a2ad0637e0f4121d63bd99d356fb1f39ab2e7c6097"
-+"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
-+"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
-+"checksum regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "92b73c2a1770c255c240eaa4ee600df1704a38dc3feaa6e949e7fcd4f8dc09f9"
-+"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
-+"checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
-+"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
-+"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-+"checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
-+"checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
-+"checksum serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)" = "48c575e0cc52bdd09b47f330f646cf59afc586e9c4e3ccd6fc1f625b8ea1dad7"
-+"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-+"checksum structopt 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "30b3a3e93f5ad553c38b3301c8a0a0cec829a36783f6a0c467fc4bf553a5f5bf"
-+"checksum structopt-derive 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea692d40005b3ceba90a9fe7a78fa8d4b82b0ce627eebbffc329aab850f3410e"
-+"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238"
-+"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
-+"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-+"checksum toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f"
-+"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
-+"checksum unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
-+"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
-+"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
-+"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
-+"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-+"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-license/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-license/default.nix
index f5fcf37ac70b..6202e297b9a9 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-license/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-license/default.nix
@@ -1,19 +1,15 @@
-{ lib, rustPlatform, fetchFromGitHub }:
+{ lib, rustPlatform, fetchCrate }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-license";
-  version = "0.3.0";
+  version = "0.4.2";
 
-  src = fetchFromGitHub {
-    owner = "onur";
-    repo = "cargo-license";
-    rev = "v${version}";
-    sha256 = "05a2af84gjyfzhsln0afg16h02pr56jng4xlsg21hicyi1kxjwlf";
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "sha256-rAHw5B/rK0N8myTzTyv/IUq3o+toWO5HOSaHQko2lPI=";
   };
 
-  cargoPatches = [ ./add-Cargo.lock.patch ];
-
-  cargoSha256 = "1gda6m5g545fgx8ash96w408mxi5rb8hrv73c0xs0gx7hfyx5zcj";
+  cargoSha256 = "sha256-DkINY3j0x0fUynMX8+pxNFwKI/YGqEv1M2a55FuKBGY=";
 
   meta = with lib; {
     description = "Cargo subcommand to see license of dependencies";
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-update/0001-Generate-lockfile-for-cargo-update-v4.1.2.patch b/nixpkgs/pkgs/tools/package-management/cargo-update/0001-Generate-lockfile-for-cargo-update-v4.1.2.patch
deleted file mode 100644
index a261045e80c9..000000000000
--- a/nixpkgs/pkgs/tools/package-management/cargo-update/0001-Generate-lockfile-for-cargo-update-v4.1.2.patch
+++ /dev/null
@@ -1,647 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-new file mode 100644
-index 000000000..ada9574aa
---- /dev/null
-+++ b/Cargo.lock
-@@ -0,0 +1,641 @@
-+# This file is automatically @generated by Cargo.
-+# It is not intended for manual editing.
-+[[package]]
-+name = "aho-corasick"
-+version = "0.7.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b476ce7103678b0c6d3d395dbbae31d48ff910bd28be979ba5d48c6351131d0d"
-+dependencies = [
-+ "memchr",
-+]
-+
-+[[package]]
-+name = "ansi_term"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
-+dependencies = [
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "array_tool"
-+version = "1.0.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8f8cb5d814eb646a863c4f24978cff2880c4be96ad8cde2c0f0678732902e271"
-+
-+[[package]]
-+name = "arrayref"
-+version = "0.3.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
-+
-+[[package]]
-+name = "arrayvec"
-+version = "0.5.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
-+
-+[[package]]
-+name = "atty"
-+version = "0.2.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-+dependencies = [
-+ "hermit-abi",
-+ "libc",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "autocfg"
-+version = "1.0.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
-+
-+[[package]]
-+name = "base64"
-+version = "0.12.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff"
-+
-+[[package]]
-+name = "bitflags"
-+version = "1.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-+
-+[[package]]
-+name = "blake2b_simd"
-+version = "0.5.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a"
-+dependencies = [
-+ "arrayref",
-+ "arrayvec",
-+ "constant_time_eq",
-+]
-+
-+[[package]]
-+name = "cargo-update"
-+version = "4.1.2"
-+dependencies = [
-+ "array_tool",
-+ "clap",
-+ "dirs",
-+ "embed-resource",
-+ "git2",
-+ "hex",
-+ "json",
-+ "lazy_static",
-+ "lazysort",
-+ "regex",
-+ "semver",
-+ "serde",
-+ "serde_derive",
-+ "tabwriter",
-+ "toml",
-+ "unicode-normalization",
-+ "url",
-+]
-+
-+[[package]]
-+name = "cc"
-+version = "1.0.61"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ed67cbde08356238e75fc4656be4749481eeffb09e19f320a25237d5221c985d"
-+dependencies = [
-+ "jobserver",
-+]
-+
-+[[package]]
-+name = "cfg-if"
-+version = "0.1.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-+
-+[[package]]
-+name = "clap"
-+version = "2.33.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
-+dependencies = [
-+ "ansi_term",
-+ "atty",
-+ "bitflags",
-+ "strsim",
-+ "textwrap",
-+ "unicode-width",
-+ "vec_map",
-+]
-+
-+[[package]]
-+name = "constant_time_eq"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
-+
-+[[package]]
-+name = "crossbeam-utils"
-+version = "0.7.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
-+dependencies = [
-+ "autocfg",
-+ "cfg-if",
-+ "lazy_static",
-+]
-+
-+[[package]]
-+name = "dirs"
-+version = "2.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3"
-+dependencies = [
-+ "cfg-if",
-+ "dirs-sys",
-+]
-+
-+[[package]]
-+name = "dirs-sys"
-+version = "0.3.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8e93d7f5705de3e49895a2b5e0b8855a1c27f080192ae9c32a6432d50741a57a"
-+dependencies = [
-+ "libc",
-+ "redox_users",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "embed-resource"
-+version = "1.3.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1f6b0b4403da80c2fd32333937dd468292c001d778c587ae759b75432772715d"
-+dependencies = [
-+ "vswhom",
-+ "winreg",
-+]
-+
-+[[package]]
-+name = "getrandom"
-+version = "0.1.15"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fc587bc0ec293155d5bfa6b9891ec18a1e330c234f896ea47fbada4cadbe47e6"
-+dependencies = [
-+ "cfg-if",
-+ "libc",
-+ "wasi",
-+]
-+
-+[[package]]
-+name = "git2"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "77519ef7c5beee314d0804d4534f01e0f9e8d9acdee2b7a48627e590b27e0ec4"
-+dependencies = [
-+ "bitflags",
-+ "libc",
-+ "libgit2-sys",
-+ "log",
-+ "openssl-probe",
-+ "openssl-sys",
-+ "url",
-+]
-+
-+[[package]]
-+name = "hermit-abi"
-+version = "0.1.17"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5aca5565f760fb5b220e499d72710ed156fdb74e631659e99377d9ebfbd13ae8"
-+dependencies = [
-+ "libc",
-+]
-+
-+[[package]]
-+name = "hex"
-+version = "0.4.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "644f9158b2f133fd50f5fb3242878846d9eb792e445c893805ff0e3824006e35"
-+
-+[[package]]
-+name = "idna"
-+version = "0.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
-+dependencies = [
-+ "matches",
-+ "unicode-bidi",
-+ "unicode-normalization",
-+]
-+
-+[[package]]
-+name = "jobserver"
-+version = "0.1.21"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5c71313ebb9439f74b00d9d2dcec36440beaf57a6aa0623068441dd7cd81a7f2"
-+dependencies = [
-+ "libc",
-+]
-+
-+[[package]]
-+name = "json"
-+version = "0.11.15"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "92c245af8786f6ac35f95ca14feca9119e71339aaab41e878e7cdd655c97e9e5"
-+
-+[[package]]
-+name = "lazy_static"
-+version = "1.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-+
-+[[package]]
-+name = "lazysort"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d0e22ff43b231e0e2f87d74984e53ebc73b90ae13397e041214fb07efc64168f"
-+
-+[[package]]
-+name = "libc"
-+version = "0.2.79"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2448f6066e80e3bfc792e9c98bf705b4b0fc6e8ef5b43e5889aff0eaa9c58743"
-+
-+[[package]]
-+name = "libgit2-sys"
-+version = "0.10.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d9ec6bca50549d34a392611dde775123086acbd994e3fff64954777ce2dc2e51"
-+dependencies = [
-+ "cc",
-+ "libc",
-+ "libssh2-sys",
-+ "libz-sys",
-+ "openssl-sys",
-+ "pkg-config",
-+]
-+
-+[[package]]
-+name = "libssh2-sys"
-+version = "0.2.19"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ca46220853ba1c512fc82826d0834d87b06bcd3c2a42241b7de72f3d2fe17056"
-+dependencies = [
-+ "cc",
-+ "libc",
-+ "libz-sys",
-+ "openssl-sys",
-+ "pkg-config",
-+ "vcpkg",
-+]
-+
-+[[package]]
-+name = "libz-sys"
-+version = "1.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "602113192b08db8f38796c4e85c39e960c145965140e918018bcde1952429655"
-+dependencies = [
-+ "cc",
-+ "libc",
-+ "pkg-config",
-+ "vcpkg",
-+]
-+
-+[[package]]
-+name = "log"
-+version = "0.4.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"
-+dependencies = [
-+ "cfg-if",
-+]
-+
-+[[package]]
-+name = "matches"
-+version = "0.1.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
-+
-+[[package]]
-+name = "maybe-uninit"
-+version = "2.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
-+
-+[[package]]
-+name = "memchr"
-+version = "2.3.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400"
-+
-+[[package]]
-+name = "openssl-probe"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
-+
-+[[package]]
-+name = "openssl-src"
-+version = "111.12.0+1.1.1h"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "858a4132194f8570a7ee9eb8629e85b23cbc4565f2d4a162e87556e5956abf61"
-+dependencies = [
-+ "cc",
-+]
-+
-+[[package]]
-+name = "openssl-sys"
-+version = "0.9.58"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a842db4709b604f0fe5d1170ae3565899be2ad3d9cbc72dedc789ac0511f78de"
-+dependencies = [
-+ "autocfg",
-+ "cc",
-+ "libc",
-+ "openssl-src",
-+ "pkg-config",
-+ "vcpkg",
-+]
-+
-+[[package]]
-+name = "percent-encoding"
-+version = "2.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
-+
-+[[package]]
-+name = "pkg-config"
-+version = "0.3.19"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c"
-+
-+[[package]]
-+name = "proc-macro2"
-+version = "1.0.24"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
-+dependencies = [
-+ "unicode-xid",
-+]
-+
-+[[package]]
-+name = "quote"
-+version = "1.0.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
-+dependencies = [
-+ "proc-macro2",
-+]
-+
-+[[package]]
-+name = "redox_syscall"
-+version = "0.1.57"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
-+
-+[[package]]
-+name = "redox_users"
-+version = "0.3.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d"
-+dependencies = [
-+ "getrandom",
-+ "redox_syscall",
-+ "rust-argon2",
-+]
-+
-+[[package]]
-+name = "regex"
-+version = "1.4.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8963b85b8ce3074fecffde43b4b0dded83ce2f367dc8d363afc56679f3ee820b"
-+dependencies = [
-+ "aho-corasick",
-+ "memchr",
-+ "regex-syntax",
-+ "thread_local",
-+]
-+
-+[[package]]
-+name = "regex-syntax"
-+version = "0.6.20"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8cab7a364d15cde1e505267766a2d3c4e22a843e1a601f0fa7564c0f82ced11c"
-+
-+[[package]]
-+name = "rust-argon2"
-+version = "0.8.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9dab61250775933275e84053ac235621dfb739556d5c54a2f2e9313b7cf43a19"
-+dependencies = [
-+ "base64",
-+ "blake2b_simd",
-+ "constant_time_eq",
-+ "crossbeam-utils",
-+]
-+
-+[[package]]
-+name = "semver"
-+version = "0.9.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
-+dependencies = [
-+ "semver-parser",
-+ "serde",
-+]
-+
-+[[package]]
-+name = "semver-parser"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-+
-+[[package]]
-+name = "serde"
-+version = "1.0.116"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "96fe57af81d28386a513cbc6858332abc6117cfdb5999647c6444b8f43a370a5"
-+
-+[[package]]
-+name = "serde_derive"
-+version = "1.0.116"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f630a6370fd8e457873b4bd2ffdae75408bc291ba72be773772a4c2a065d9ae8"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "smallvec"
-+version = "0.6.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6"
-+dependencies = [
-+ "maybe-uninit",
-+]
-+
-+[[package]]
-+name = "strsim"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-+
-+[[package]]
-+name = "syn"
-+version = "1.0.44"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e03e57e4fcbfe7749842d53e24ccb9aa12b7252dbe5e91d2acad31834c8b8fdd"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "unicode-xid",
-+]
-+
-+[[package]]
-+name = "tabwriter"
-+version = "1.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "36205cfc997faadcc4b0b87aaef3fbedafe20d38d4959a7ca6ff803564051111"
-+dependencies = [
-+ "unicode-width",
-+]
-+
-+[[package]]
-+name = "textwrap"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-+dependencies = [
-+ "unicode-width",
-+]
-+
-+[[package]]
-+name = "thread_local"
-+version = "1.0.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
-+dependencies = [
-+ "lazy_static",
-+]
-+
-+[[package]]
-+name = "toml"
-+version = "0.5.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "75cf45bb0bef80604d001caaec0d09da99611b3c0fd39d3080468875cdb65645"
-+dependencies = [
-+ "serde",
-+]
-+
-+[[package]]
-+name = "unicode-bidi"
-+version = "0.3.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
-+dependencies = [
-+ "matches",
-+]
-+
-+[[package]]
-+name = "unicode-normalization"
-+version = "0.1.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "09c8070a9942f5e7cfccd93f490fdebd230ee3c3c9f107cb25bad5351ef671cf"
-+dependencies = [
-+ "smallvec",
-+]
-+
-+[[package]]
-+name = "unicode-width"
-+version = "0.1.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
-+
-+[[package]]
-+name = "unicode-xid"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
-+
-+[[package]]
-+name = "url"
-+version = "2.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "829d4a8476c35c9bf0bbce5a3b23f4106f79728039b726d292bb93bc106787cb"
-+dependencies = [
-+ "idna",
-+ "matches",
-+ "percent-encoding",
-+]
-+
-+[[package]]
-+name = "vcpkg"
-+version = "0.2.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6454029bf181f092ad1b853286f23e2c507d8e8194d01d92da4a55c274a5508c"
-+
-+[[package]]
-+name = "vec_map"
-+version = "0.8.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
-+
-+[[package]]
-+name = "vswhom"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b"
-+dependencies = [
-+ "libc",
-+ "vswhom-sys",
-+]
-+
-+[[package]]
-+name = "vswhom-sys"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fc2f5402d3d0e79a069714f7b48e3ecc60be7775a2c049cb839457457a239532"
-+dependencies = [
-+ "cc",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "wasi"
-+version = "0.9.0+wasi-snapshot-preview1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-+
-+[[package]]
-+name = "winapi"
-+version = "0.3.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-+dependencies = [
-+ "winapi-i686-pc-windows-gnu",
-+ "winapi-x86_64-pc-windows-gnu",
-+]
-+
-+[[package]]
-+name = "winapi-i686-pc-windows-gnu"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-+
-+[[package]]
-+name = "winapi-x86_64-pc-windows-gnu"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-+
-+[[package]]
-+name = "winreg"
-+version = "0.6.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9"
-+dependencies = [
-+ "winapi",
-+]
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-update/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-update/default.nix
index 425cef9353d9..f49a74615d12 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-update/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-update/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv
 , rustPlatform
-, fetchFromGitHub
+, fetchCrate
 , cmake
 , pkg-config
 , installShellFiles
@@ -15,17 +15,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-update";
-  version = "4.1.2";
+  version = "7.0.1";
 
-  src = fetchFromGitHub {
-    owner = "nabijaczleweli";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "0bpl4y5p0acn1clxgwn2sifx6ggpq9jqw5zrmva7asjf8p8dx3v5";
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "sha256-qUrQWXiK4Gb79Wtcj9nM/FFT/C+b3vAgm9JohvIY2NU=";
   };
 
-  cargoPatches = [ ./0001-Generate-lockfile-for-cargo-update-v4.1.2.patch ];
-  cargoSha256 = "1viqdl8zncxyyxsd8xhx1jxqh24g03nn6fyi0iwwba5vvmif1rak";
+  cargoSha256 = "sha256-jCaP6e/z9/gjKJfBKIq+dq7pWs5tWyct+JCnUFVVHBY=";
 
   nativeBuildInputs = [ cmake installShellFiles pkg-config ronn ];
 
diff --git a/nixpkgs/pkgs/tools/package-management/nix-eval-jobs/default.nix b/nixpkgs/pkgs/tools/package-management/nix-eval-jobs/default.nix
new file mode 100644
index 000000000000..0407ad4528de
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/nix-eval-jobs/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, boost
+, cmake
+, fetchFromGitHub
+, meson
+, ninja
+, nixUnstable
+, nlohmann_json
+, pkg-config
+, stdenv
+}:
+stdenv.mkDerivation rec {
+  pname = "nix-eval-jobs";
+  version = "0.0.1";
+  src = fetchFromGitHub {
+    owner = "nix-community";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-LTMW4356f8pvIyfYdOyZbF9yzU8MH9mryQgB4LrwZMI=";
+  };
+  buildInputs = [
+    boost
+    nixUnstable
+    nlohmann_json
+  ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    # nlohmann_json can be only discovered via cmake files
+    cmake
+  ];
+
+  meta = {
+    description = "Hydra's builtin hydra-eval-jobs as a standalone";
+    homepage = "https://github.com/nix-community/nix-eval-jobs";
+    license = lib.licenses.gpl3;
+    maintainers = with lib.maintainers; [ adisbladis mic92 ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/package-management/nix/default.nix b/nixpkgs/pkgs/tools/package-management/nix/default.nix
index fd85cd2e72ae..2302e14b1aaa 100644
--- a/nixpkgs/pkgs/tools/package-management/nix/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nix/default.nix
@@ -220,10 +220,10 @@ in rec {
 
   nixStable = callPackage common (rec {
     pname = "nix";
-    version = "2.3.15";
+    version = "2.3.16";
     src = fetchurl {
       url = "https://nixos.org/releases/nix/${pname}-${version}/${pname}-${version}.tar.xz";
-      sha256 = "sha256-N+MxClX94eUOfUMh0puRgNHp16+cjSEdtqZn5u5OtBA=";
+      sha256 = "sha256-fuaBtp8FtSVJLSAsO+3Nne4ZYLuBj2JpD2xEk7fCqrw=";
     };
 
     boehmgc = boehmgc_nix;
@@ -231,16 +231,32 @@ in rec {
     inherit storeDir stateDir confDir;
   });
 
+  nix_2_4 = callPackage common (rec {
+    pname = "nix";
+    version = "2.4pre-rc1";
+
+    src = fetchFromGitHub {
+      owner = "NixOS";
+      repo = "nix";
+      rev = version;
+      sha256 = "sha256-KOb8etMm5LksvT2l+CkvqzMO1bgmo9tJmyaNh0LvaR8=";
+    };
+
+    boehmgc = boehmgc_nixUnstable;
+
+    inherit storeDir stateDir confDir;
+  });
+
   nixUnstable = lib.lowPrio (callPackage common rec {
     pname = "nix";
-    version = "2.4${suffix}";
-    suffix = "pre20210922_${lib.substring 0 7 src.rev}";
+    version = "2.5${suffix}";
+    suffix = "pre20211007_${lib.substring 0 7 src.rev}";
 
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "nix";
-      rev = "bcd73ebf60bb9ba6cb09f8df4366d5474c16e4a4";
-      sha256 = "sha256-wRbz8c22tlRn2/va/yOoLJijdJn+JJqLRDPRlifaEEA=";
+      rev = "844dd901a7debe8b03ec93a7f717b6c4038dc572";
+      sha256 = "sha256-fe1B4lXkS6/UfpO0rJHwLC06zhOPrdSh4s9PmQ1JgPo=";
     };
 
     boehmgc = boehmgc_nixUnstable;
diff --git a/nixpkgs/pkgs/tools/security/agebox/default.nix b/nixpkgs/pkgs/tools/security/agebox/default.nix
index 060961f3a367..fcc63e6f772f 100644
--- a/nixpkgs/pkgs/tools/security/agebox/default.nix
+++ b/nixpkgs/pkgs/tools/security/agebox/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "agebox";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "slok";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1mg16xxvsbm5jxlkdjyi3nsvzj37858d9ksh1wsa9ycxj2qipgw2";
+    sha256 = "1gi6lj3dpckhsx6hdpdnr8rclqgfkbdmkzx966nlxyi52bjfzbsv";
   };
   vendorSha256 = "1gw83bd14ig18y8si3f94iivx2ir1vw4b5b95fp6r7qhfp0rgbih";
 
diff --git a/nixpkgs/pkgs/tools/security/apkleaks/default.nix b/nixpkgs/pkgs/tools/security/apkleaks/default.nix
new file mode 100644
index 000000000000..133601e4025f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/apkleaks/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, fetchFromGitHub
+, jadx
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "apkleaks";
+  version = "2.6.1";
+
+  disabled = python3.pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "dwisiswant0";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0ysciv643p8gkqw2wp7zy4n07hihdcyil8d20lj86cpgga71rd64";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    jadx
+    pyaxmlparser
+    setuptools
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "apkleaks" ];
+
+  meta = with lib; {
+    description = "Scanning APK file for URIs, endpoints and secrets";
+    homepage = "https://github.com/dwisiswant0/apkleaks";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/bitwarden/default.nix b/nixpkgs/pkgs/tools/security/bitwarden/default.nix
index e0bbad3486ca..7d7afa624931 100644
--- a/nixpkgs/pkgs/tools/security/bitwarden/default.nix
+++ b/nixpkgs/pkgs/tools/security/bitwarden/default.nix
@@ -17,11 +17,11 @@ let
   pname = "bitwarden";
 
   version = {
-    x86_64-linux = "1.27.1";
+    x86_64-linux = "1.28.1";
   }.${system} or "";
 
   sha256 = {
-    x86_64-linux = "sha256-CqyIARPHri018AOgI1rFJ9Td3K8OamXVgupAINME7BY=";
+    x86_64-linux = "sha256-vyEbISZDTN+CHqSEtElzfg4M4i+2RjUux5vzwJw8/dc=";
   }.${system} or "";
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/security/cameradar/default.nix b/nixpkgs/pkgs/tools/security/cameradar/default.nix
new file mode 100644
index 000000000000..569be38ee28a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/cameradar/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildGoModule
+, curl
+, fetchFromGitHub
+, pkg-config
+}:
+
+buildGoModule rec {
+  pname = "cameradar";
+  version = "5.0.1";
+
+  src = fetchFromGitHub {
+    owner = "Ullaakut";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "03nm03cqhq04ixw4rssfkgrin918pa0v7ai26v4h99gz7j8hs7ll";
+  };
+
+  vendorSha256 = "099np130dn51nb4lcyrrm46fihfipxrw0vpqs2jh5g4c6pnbk200";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    curl
+  ];
+
+  subPackages = [
+    "cmd/cameradar"
+  ];
+  # At least one test is outdated
+  #doCheck = false;
+
+  meta = with lib; {
+    description = "RTSP stream access tool";
+    homepage = "https://github.com/Ullaakut/cameradar";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/cariddi/default.nix b/nixpkgs/pkgs/tools/security/cariddi/default.nix
new file mode 100644
index 000000000000..655b55d8cc28
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/cariddi/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "cariddi";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "edoardottt";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0cwkycydwndda11m1jszbxchpqabrgspj17y2aj3y3m2x446h27z";
+  };
+
+  vendorSha256 = "0rmiya517i9s4l9nxzwly5vq8cqhhpq66rc7y4sapyaihx20ai3r";
+
+  meta = with lib; {
+    description = "Crawler for URLs and endpoints";
+    homepage = "https://github.com/edoardottt/cariddi";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/cdk-go/default.nix b/nixpkgs/pkgs/tools/security/cdk-go/default.nix
new file mode 100644
index 000000000000..465b987ec74f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/cdk-go/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "cdk-go";
+  version = "1.0.4";
+
+  src = fetchFromGitHub {
+    owner = "cdk-team";
+    repo = "CDK";
+    rev = "v${version}";
+    sha256 = "1zz9jaz5nlvs52nqlaisivrnz7lz8g48qii0n2s1783a5jpkk9ml";
+  };
+
+  vendorSha256 = "0sn709mbhfymwwfdqc5xpdz2lgimqx3xycfmq24vbfmlh8wqcs7l";
+
+  # At least one test is outdated
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Container penetration toolkit";
+    homepage = "https://github.com/cdk-team/CDK";
+    license = with licenses; [ gpl2Only ];
+    maintainers = with maintainers; [ fab ];
+    mainProgram = "cdk";
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/certgraph/default.nix b/nixpkgs/pkgs/tools/security/certgraph/default.nix
new file mode 100644
index 000000000000..f15ec8f89e03
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/certgraph/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "certgraph";
+  version = "20210224";
+
+  src = fetchFromGitHub {
+    owner = "lanrat";
+    repo = pname;
+    rev = version;
+    sha256 = "14l2bls25xwd8gnsmshc588br72rwz1s0gjnsnqksri4ksqkdqlz";
+  };
+
+  vendorSha256 = "1vih64z0zwmaflc0pwvnwyj5fhrc8qfp0kvrz73nnfpcrcan2693";
+
+  meta = with lib; {
+    description = "Intelligence tool to crawl the graph of certificate alternate names";
+    homepage = "https://github.com/lanrat/certgraph";
+    license = with licenses; [ gpl2Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/cve-bin-tool/default.nix b/nixpkgs/pkgs/tools/security/cve-bin-tool/default.nix
new file mode 100644
index 000000000000..fac922628752
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/cve-bin-tool/default.nix
@@ -0,0 +1,84 @@
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+, jsonschema
+, plotly
+, pytest
+, pytest-xdist
+, pytest-cov
+, pytest-asyncio
+, beautifulsoup4
+, pyyaml
+, isort
+, py
+, jinja2
+, rpmfile
+, reportlab
+, zstandard
+, rich
+, aiohttp
+, toml
+, distro
+  # aiohttp[speedups]
+, aiodns
+, brotlipy
+, cchardet
+, pillow
+, pytestCheckHook
+}:
+buildPythonApplication rec {
+  pname = "cve-bin-tool";
+  version = "2.2.1";
+
+  src = fetchFromGitHub {
+    owner = "intel";
+    repo = "cve-bin-tool";
+    rev = "v${version}";
+    sha256 = "087w7fsc4vd4sjz8ww6q71b108yhz94ydr76d99rhlmcqsq7fihs";
+  };
+
+  # Wants to open a sqlite database, access the internet, etc
+  doCheck = false;
+
+  propagatedBuildInputs = [
+    jsonschema
+    plotly
+    pytest
+    pytest-xdist
+    pytest-cov
+    pytest-asyncio
+    beautifulsoup4
+    pyyaml
+    isort
+    py
+    jinja2
+    rpmfile
+    reportlab
+    zstandard
+    rich
+    aiohttp
+    toml
+    distro
+    # aiohttp[speedups]
+    aiodns
+    brotlipy
+    cchardet
+    # needed by brotlipy
+    pillow
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "cve_bin_tool"
+  ];
+
+  meta = with lib; {
+    description = "CVE Binary Checker Tool";
+    homepage = "https://github.com/intel/cve-bin-tool";
+    license = licenses.gpl3Only;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/dalfox/default.nix b/nixpkgs/pkgs/tools/security/dalfox/default.nix
index 82a1f7e583a3..9303058b380a 100644
--- a/nixpkgs/pkgs/tools/security/dalfox/default.nix
+++ b/nixpkgs/pkgs/tools/security/dalfox/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "dalfox";
-  version = "2.4.9";
+  version = "2.5.2";
 
   src = fetchFromGitHub {
     owner = "hahwul";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1g0bafg3lgsqy8mjyzvvy9l1wp1rxqwpba3dkx6xisjkpbycxql8";
+    sha256 = "sha256-/tS9/VxH5r4CSmxZ7uZOgAMLRtmPs+bgPtvljOhLALc=";
   };
 
-  vendorSha256 = "1mw58zbihw2fzbpqwydfrrkcwqjkjqdzp37m4dijhx1pbzkv9gzl";
+  vendorSha256 = "sha256-AZbzcGqje2u9waH2NGWITXpax2GCFqbIEd4uNiDmcIY=";
 
   meta = with lib; {
     description = "Tool for analysing parameter and XSS scanning";
diff --git a/nixpkgs/pkgs/tools/security/dirmngr/default.nix b/nixpkgs/pkgs/tools/security/dirmngr/default.nix
index 3e45759c51d2..b7aeed2ace14 100644
--- a/nixpkgs/pkgs/tools/security/dirmngr/default.nix
+++ b/nixpkgs/pkgs/tools/security/dirmngr/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, libgpgerror, libgcrypt, libassuan, libksba, pth, openldap
+{ lib, stdenv, fetchurl, libgpg-error, libgcrypt, libassuan, libksba, pth, openldap
 , libiconv}:
 
 stdenv.mkDerivation rec {
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     url = "mirror://gnupg/dirmngr/dirmngr-${version}.tar.bz2";
     sha256 = "1zz6m87ca55nq5f59hzm6qs48d37h93il881y7d0rf2d6660na6j";
   };
-  buildInputs = [ libgpgerror libgcrypt libassuan libksba
+  buildInputs = [ libgpg-error libgcrypt libassuan libksba
                   pth openldap libiconv ];
 
   meta = {
diff --git a/nixpkgs/pkgs/tools/security/dismap/default.nix b/nixpkgs/pkgs/tools/security/dismap/default.nix
new file mode 100644
index 000000000000..c6dcd1051e56
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/dismap/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "dismap";
+  version = "0.2";
+
+  src = fetchFromGitHub {
+    owner = "zhzyker";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0d5r6n92ndlr48f4z6lxwrx7bdh5mmibdjcyab4j2h49lf37c1qd";
+  };
+
+  vendorSha256 = "00hwhc86rj806arvqfhfarmxs1drcdp91xkr12whqhsi9ddc254d";
+
+  meta = with lib; {
+    description = "Asset discovery and identification tools";
+    homepage = "https://github.com/zhzyker/dismap";
+    license = with licenses; [ gpl3Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/dnspeep/Cargo.lock b/nixpkgs/pkgs/tools/security/dnspeep/Cargo.lock
deleted file mode 100644
index 9039c430d4c8..000000000000
--- a/nixpkgs/pkgs/tools/security/dnspeep/Cargo.lock
+++ /dev/null
@@ -1,660 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-[[package]]
-name = "aho-corasick"
-version = "0.7.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "autocfg"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
-
-[[package]]
-name = "bitflags"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-
-[[package]]
-name = "byteorder"
-version = "1.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-
-[[package]]
-name = "bytes"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
-
-[[package]]
-name = "bytes"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040"
-
-[[package]]
-name = "cfg-if"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "chrono"
-version = "0.4.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
-dependencies = [
- "libc",
- "num-integer",
- "num-traits",
- "time",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "dns-message-parser"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e859c9ca137be3407a445a34eda3395aeef5aae12cd47d46a7fffba54460072"
-dependencies = [
- "bytes 1.0.1",
- "hex",
- "thiserror",
-]
-
-[[package]]
-name = "dnspeep"
-version = "0.1.2"
-dependencies = [
- "bytes 1.0.1",
- "chrono",
- "dns-message-parser",
- "etherparse",
- "eyre",
- "futures",
- "getopts",
- "hex",
- "libc",
- "pcap",
- "tokio",
-]
-
-[[package]]
-name = "etherparse"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fa20922281f9ee5ffcda45e80d56085829279f1270f79fbabc39809a4354807"
-dependencies = [
- "byteorder",
-]
-
-[[package]]
-name = "eyre"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "221239d1d5ea86bf5d6f91c9d6bc3646ffe471b08ff9b0f91c44f115ac969d2b"
-dependencies = [
- "indenter",
- "once_cell",
-]
-
-[[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "fuchsia-zircon"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
-dependencies = [
- "bitflags",
- "fuchsia-zircon-sys",
-]
-
-[[package]]
-name = "fuchsia-zircon-sys"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
-
-[[package]]
-name = "futures"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f55667319111d593ba876406af7c409c0ebb44dc4be6132a783ccf163ea14c1"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-executor",
- "futures-io",
- "futures-sink",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-channel"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c2dd2df839b57db9ab69c2c9d8f3e8c81984781937fe2807dc6dcf3b2ad2939"
-dependencies = [
- "futures-core",
- "futures-sink",
-]
-
-[[package]]
-name = "futures-core"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15496a72fabf0e62bdc3df11a59a3787429221dd0710ba8ef163d6f7a9112c94"
-
-[[package]]
-name = "futures-executor"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "891a4b7b96d84d5940084b2a37632dd65deeae662c114ceaa2c879629c9c0ad1"
-dependencies = [
- "futures-core",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-io"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71c2c65c57704c32f5241c1223167c2c3294fd34ac020c807ddbe6db287ba59"
-
-[[package]]
-name = "futures-macro"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea405816a5139fb39af82c2beb921d52143f556038378d6db21183a5c37fbfb7"
-dependencies = [
- "proc-macro-hack",
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "futures-sink"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85754d98985841b7d4f5e8e6fbfa4a4ac847916893ec511a2917ccd8525b8bb3"
-
-[[package]]
-name = "futures-task"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa189ef211c15ee602667a6fcfe1c1fd9e07d42250d2156382820fba33c9df80"
-
-[[package]]
-name = "futures-util"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1812c7ab8aedf8d6f2701a43e1243acdbcc2b36ab26e2ad421eb99ac963d96d1"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-io",
- "futures-macro",
- "futures-sink",
- "futures-task",
- "memchr",
- "pin-project-lite 0.2.6",
- "pin-utils",
- "proc-macro-hack",
- "proc-macro-nested",
- "slab",
-]
-
-[[package]]
-name = "getopts"
-version = "0.2.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
-dependencies = [
- "unicode-width",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.1.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hex"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
-
-[[package]]
-name = "indenter"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
-
-[[package]]
-name = "iovec"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "kernel32-sys"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
-dependencies = [
- "winapi 0.2.8",
- "winapi-build",
-]
-
-[[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.91"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8916b1f6ca17130ec6568feccee27c156ad12037880833a3b842a823236502e7"
-
-[[package]]
-name = "libloading"
-version = "0.6.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "351a32417a12d5f7e82c368a66781e307834dae04c6ce0cd4456d52989229883"
-dependencies = [
- "cfg-if 1.0.0",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "log"
-version = "0.4.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "memchr"
-version = "2.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
-
-[[package]]
-name = "mio"
-version = "0.6.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
-dependencies = [
- "cfg-if 0.1.10",
- "fuchsia-zircon",
- "fuchsia-zircon-sys",
- "iovec",
- "kernel32-sys",
- "libc",
- "log",
- "miow 0.2.2",
- "net2",
- "slab",
- "winapi 0.2.8",
-]
-
-[[package]]
-name = "mio-named-pipes"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656"
-dependencies = [
- "log",
- "mio",
- "miow 0.3.7",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "mio-uds"
-version = "0.6.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0"
-dependencies = [
- "iovec",
- "libc",
- "mio",
-]
-
-[[package]]
-name = "miow"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
-dependencies = [
- "kernel32-sys",
- "net2",
- "winapi 0.2.8",
- "ws2_32-sys",
-]
-
-[[package]]
-name = "miow"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
-dependencies = [
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "net2"
-version = "0.2.37"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae"
-dependencies = [
- "cfg-if 0.1.10",
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "num-integer"
-version = "0.1.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
-dependencies = [
- "autocfg",
- "num-traits",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "num_cpus"
-version = "1.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
-dependencies = [
- "hermit-abi",
- "libc",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
-
-[[package]]
-name = "pcap"
-version = "0.8.1"
-source = "git+https://github.com/jvns/pcap#ae2aa7f501ae5bb7069155cf7c5c700b7482681d"
-dependencies = [
- "futures",
- "libc",
- "libloading",
- "mio",
- "regex",
- "tokio",
- "widestring",
-]
-
-[[package]]
-name = "pin-project-lite"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905"
-
-[[package]]
-name = "pin-utils"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
-
-[[package]]
-name = "proc-macro-hack"
-version = "0.5.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
-
-[[package]]
-name = "proc-macro-nested"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
-dependencies = [
- "unicode-xid",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "regex"
-version = "1.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "957056ecddbeba1b26965114e191d2e8589ce74db242b6ea25fc4062427a5c19"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548"
-
-[[package]]
-name = "signal-hook-registry"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16f1d0fef1604ba8f7a073c7e701f213e056707210e9020af4528e0101ce11a6"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "slab"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
-
-[[package]]
-name = "syn"
-version = "1.0.65"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3a1d708c221c5a612956ef9f75b37e454e88d1f7b899fbd3a18d4252012d663"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-xid",
-]
-
-[[package]]
-name = "thiserror"
-version = "1.0.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0f4a65597094d4483ddaed134f409b2cb7c1beccf25201a9f73c719254fa98e"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "time"
-version = "0.1.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
-dependencies = [
- "libc",
- "wasi",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "tokio"
-version = "0.2.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092"
-dependencies = [
- "bytes 0.5.6",
- "fnv",
- "futures-core",
- "iovec",
- "lazy_static",
- "libc",
- "memchr",
- "mio",
- "mio-named-pipes",
- "mio-uds",
- "num_cpus",
- "pin-project-lite 0.1.12",
- "signal-hook-registry",
- "slab",
- "tokio-macros",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "tokio-macros"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e44da00bfc73a25f814cd8d7e57a68a5c31b74b3152a0a1d1f590c97ed06265a"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "unicode-width"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
-
-[[package]]
-name = "unicode-xid"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
-
-[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
-[[package]]
-name = "widestring"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7157704c2e12e3d2189c507b7482c52820a16dfa4465ba91add92f266667cadb"
-
-[[package]]
-name = "winapi"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-build"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "ws2_32-sys"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
-dependencies = [
- "winapi 0.2.8",
- "winapi-build",
-]
diff --git a/nixpkgs/pkgs/tools/security/dnspeep/default.nix b/nixpkgs/pkgs/tools/security/dnspeep/default.nix
index 534894813ca2..4af91f8070a2 100644
--- a/nixpkgs/pkgs/tools/security/dnspeep/default.nix
+++ b/nixpkgs/pkgs/tools/security/dnspeep/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, lib, libpcap, rustPlatform }:
+{ lib, rustPlatform, fetchFromGitHub, libpcap }:
 
 rustPlatform.buildRustPackage rec {
   pname = "dnspeep";
@@ -11,14 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "0lz22vlgi1alsq676q4nlzfzwnsrvziyqdnmdbn00rwqsvlb81q6";
   };
 
-  # dnspeep has git dependencies therefore doesn't work with `cargoSha256`
-  cargoLock = {
-    # update Cargo.lock every update
-    lockFile = ./Cargo.lock;
-    outputHashes = {
-      "pcap-0.8.1" = "1nnfyhlhcpbl4i6zmfa9rvnvr6ibg5khran1f5yhmr9yfhmhgakd";
-    };
-  };
+  cargoSha256 = "sha256-I1m+6M2tmmTZuXlZaecSslj6q2iCsMBq7k9vHiMd3WE=";
 
   LIBPCAP_LIBDIR = lib.makeLibraryPath [ libpcap ];
   LIBPCAP_VER = libpcap.version;
diff --git a/nixpkgs/pkgs/tools/security/exploitdb/default.nix b/nixpkgs/pkgs/tools/security/exploitdb/default.nix
index c2aafacee4f9..7d2793647d85 100644
--- a/nixpkgs/pkgs/tools/security/exploitdb/default.nix
+++ b/nixpkgs/pkgs/tools/security/exploitdb/default.nix
@@ -1,21 +1,23 @@
-{stdenv, lib, fetchFromGitHub }:
+{ stdenv, lib, fetchFromGitHub, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2021-09-25";
+  version = "2021-10-16";
 
   src = fetchFromGitHub {
     owner = "offensive-security";
     repo = pname;
     rev = version;
-    sha256 = "sha256-KjeldF3oBX4QLba7pTmvRwymxZ+x8HPfIKT7IevrOlU=";
+    sha256 = "sha256-kzMMcipE9AKOWka2yAuljwNG/g+8fF2rYehTtxdQY+k=";
   };
 
+  nativeBuildInputs = [ makeWrapper ];
+
   installPhase = ''
     runHook preInstall
-    mkdir -p $out/bin
-    cp --recursive ./* $out/bin
-    cp ./.searchsploit_rc $out/bin
+    mkdir -p $out/bin $out/share
+    cp --recursive . $out/share/exploitdb
+    makeWrapper $out/share/exploitdb/searchsploit $out/bin/searchsploit
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/tools/security/ghidra/default.nix b/nixpkgs/pkgs/tools/security/ghidra/default.nix
index 835f607206ff..3b3f5ed44e70 100644
--- a/nixpkgs/pkgs/tools/security/ghidra/default.nix
+++ b/nixpkgs/pkgs/tools/security/ghidra/default.nix
@@ -62,7 +62,9 @@ in stdenv.mkDerivation rec {
 
   postFixup = ''
     mkdir -p "$out/bin"
-    makeWrapper "${pkg_path}/ghidraRun" "$out/bin/ghidra" \
+    ln -s "${pkg_path}/ghidraRun" "$out/bin/ghidra"
+
+    wrapProgram "${pkg_path}/support/launch.sh" \
       --prefix PATH : ${lib.makeBinPath [ openjdk11 ]}
   '';
 
diff --git a/nixpkgs/pkgs/tools/security/ghost/default.nix b/nixpkgs/pkgs/tools/security/ghost/default.nix
new file mode 100644
index 000000000000..124caef45c20
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/ghost/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "ghost";
+  version = "8.0.0";
+
+  disabled = python3.pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "EntySec";
+    repo = "Ghost";
+    rev = version;
+    sha256 = "13p3inw7v55na8438awr692v9vb7zgf5ggxpha9r3m8vfm3sb4iz";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    adb-shell
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "ghost" ];
+
+  meta = with lib; {
+    description = "Android post-exploitation framework";
+    homepage = "https://github.com/EntySec/ghost";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix b/nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix
index c8accce7d40b..36a3c07faa80 100644
--- a/nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix
+++ b/nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, libgpgerror, libassuan, libgcrypt, pkcs11helper,
+{ lib, stdenv, fetchurl, libgpg-error, libassuan, libgcrypt, pkcs11helper,
   pkg-config, openssl }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkcs11helper pkg-config openssl ];
 
   configureFlags = [
-    "--with-libgpg-error-prefix=${libgpgerror.dev}"
+    "--with-libgpg-error-prefix=${libgpg-error.dev}"
     "--with-libassuan-prefix=${libassuan.dev}"
     "--with-libgcrypt-prefix=${libgcrypt.dev}"
   ];
diff --git a/nixpkgs/pkgs/tools/security/gnupg/22.nix b/nixpkgs/pkgs/tools/security/gnupg/22.nix
index 1030ce3e7910..83b04a9fe790 100644
--- a/nixpkgs/pkgs/tools/security/gnupg/22.nix
+++ b/nixpkgs/pkgs/tools/security/gnupg/22.nix
@@ -1,5 +1,5 @@
 { fetchurl, fetchpatch, lib, stdenv, pkg-config, libgcrypt, libassuan, libksba
-, libgpgerror, libiconv, npth, gettext, texinfo, buildPackages
+, libgpg-error, libiconv, npth, gettext, texinfo, buildPackages
 
 # Each of the dependencies below are optional.
 # Gnupg can be built without them at the cost of reduced functionality.
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
 
   pinentryBinaryPath = pinentry.binaryPath or "bin/pinentry";
   configureFlags = [
-    "--with-libgpg-error-prefix=${libgpgerror.dev}"
+    "--with-libgpg-error-prefix=${libgpg-error.dev}"
     "--with-libgcrypt-prefix=${libgcrypt.dev}"
     "--with-libassuan-prefix=${libassuan.dev}"
     "--with-ksba-prefix=${libksba.dev}"
@@ -91,7 +91,7 @@ stdenv.mkDerivation rec {
       frontend applications and libraries are available.  Version 2 of GnuPG
       also provides support for S/MIME.
     '';
-    maintainers = with maintainers; [ peti fpletz vrthra ];
+    maintainers = with maintainers; [ fpletz vrthra ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/go365/default.nix b/nixpkgs/pkgs/tools/security/go365/default.nix
new file mode 100644
index 000000000000..432dfb49da1e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/go365/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "go365";
+  version = "1.4";
+
+  src = fetchFromGitHub {
+    owner = "optiv";
+    repo = "Go365";
+    rev = version;
+    sha256 = "0dh89hf00fr62gjdw2lb1ncdxd26nvlsh2s0i6981bp8xfg2pk5r";
+  };
+
+  vendorSha256 = "0fx2966xfzmi8yszw1cq6ind3i2dvacdwfs029v3bq0n8bvbm3r2";
+
+  postInstall = ''
+    mv $out/bin/Go365 $out/bin/$pname
+  '';
+
+  meta = with lib; {
+    description = "Office 365 enumeration tool";
+    homepage = "https://github.com/optiv/Go365";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/gpg-tui/default.nix b/nixpkgs/pkgs/tools/security/gpg-tui/default.nix
index fb9bbcab212b..666056774c41 100644
--- a/nixpkgs/pkgs/tools/security/gpg-tui/default.nix
+++ b/nixpkgs/pkgs/tools/security/gpg-tui/default.nix
@@ -3,7 +3,7 @@
 , rustPlatform
 , fetchFromGitHub
 , gpgme
-, libgpgerror
+, libgpg-error
 , libxcb
 , libxkbcommon
 , python3
@@ -29,13 +29,13 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [
     gpgme # for gpgme-config
-    libgpgerror # for gpg-error-config
+    libgpg-error # for gpg-error-config
     python3
   ];
 
   buildInputs = [
     gpgme
-    libgpgerror
+    libgpg-error
     libxcb
     libxkbcommon
   ] ++ lib.optionals stdenv.isDarwin [
diff --git a/nixpkgs/pkgs/tools/security/grype/default.nix b/nixpkgs/pkgs/tools/security/grype/default.nix
index dde9da346efc..b4be43311f83 100644
--- a/nixpkgs/pkgs/tools/security/grype/default.nix
+++ b/nixpkgs/pkgs/tools/security/grype/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "grype";
-  version = "0.19.0";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xSjmwD0V4+LKfLwknQU8PAFOG3zpJ87ghHdA2c+nYQM=";
+    sha256 = "sha256-5TOfy7eapkvXwVC4TcSo3mWSAkLqBeVco7SG2H21lRo=";
   };
 
-  vendorSha256 = "sha256-mlsKB/WOiQ2Ud9C19rsQhVtJfblh0CGd8tDs+3SSfcg=";
+  vendorSha256 = "sha256-pgasbJdyTBIYIeaidKYFLy0LqmCTKE7IUkFqddJtcR0=";
 
   propagatedBuildInputs = [ docker ];
 
diff --git a/nixpkgs/pkgs/tools/security/httpx/default.nix b/nixpkgs/pkgs/tools/security/httpx/default.nix
index 08f4929bd240..07becc2c3488 100644
--- a/nixpkgs/pkgs/tools/security/httpx/default.nix
+++ b/nixpkgs/pkgs/tools/security/httpx/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "httpx";
-  version = "1.1.2";
+  version = "1.1.3";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "httpx";
     rev = "v${version}";
-    sha256 = "sha256-8PX1jUbS5qf5KqeZXv3oijtZCPo5LsabqHSA3rsd3tQ=";
+    sha256 = "sha256-sB/z7Z35SQt2D6YHgSJjXS/O9qbkqVrcl/OB+YhGhwQ=";
   };
 
-  vendorSha256 = "sha256-bkk/gXMLiZGHebrIeDsj3OyiEcH4hriI4TFNdoh3SBk=";
+  vendorSha256 = "sha256-/GC81ukWpC7h86noPv6zayS9fxWhJpWGXPM8u56F5c4=";
 
   meta = with lib; {
     description = "Fast and multi-purpose HTTP toolkit";
diff --git a/nixpkgs/pkgs/tools/security/ike-scan/default.nix b/nixpkgs/pkgs/tools/security/ike-scan/default.nix
index 5d54e36585d0..15d201fa3270 100644
--- a/nixpkgs/pkgs/tools/security/ike-scan/default.nix
+++ b/nixpkgs/pkgs/tools/security/ike-scan/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ike-scan";
-  version = "1.9.4";
+  version = "1.9.5";
 
   src = fetchFromGitHub {
     owner = "royhills";
     repo = pname;
     rev = version;
-    sha256 = "01a39bk9ma2lm59q320m9g11909if5gc3qynd8pzn6slqiq5r8kw";
+    sha256 = "sha256-mbfg8p3y4aKoXpmLuF9GXAMPEqV5CsvetwGCRDJ9UNY=";
   };
 
   nativeBuildInputs = [
@@ -33,11 +33,6 @@ stdenv.mkDerivation rec {
       url = "https://github.com/royhills/ike-scan/pull/15/commits/d864811de08dcddd65ac9b8d0f2acf5d7ddb9dea.patch";
       sha256 = "0wbrq89dl8js7cdivd0c45hckmflan33cpgc3qm5s3az6r4mjljm";
     })
-    (fetchpatch {
-      # Unknown vendor IDs,  https://github.com/royhills/ike-scan/pull/18, was merged but not released
-      url = "https://github.com/royhills/ike-scan/pull/18/commits/e065ddbe471880275dc7975e7da235e7a2097c22.patch";
-      sha256 = "13ly01c96nnd5yh7rxrhv636csm264m5xf2a1inprrzxkkri5sls";
-    })
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/security/ioccheck/default.nix b/nixpkgs/pkgs/tools/security/ioccheck/default.nix
new file mode 100644
index 000000000000..1ad7bfd85fe2
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/ioccheck/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "ioccheck";
+  version = "unstable-2021-09-29";
+  format = "pyproject";
+
+  disabled = python3.pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "ranguli";
+    repo = pname;
+    rev = "db02d921e2519b77523a200ca2d78417802463db";
+    sha256 = "0lgqypcd5lzb2yqd5lr02pba24m26ghly4immxgz13svi8f6vzm9";
+  };
+
+  nativeBuildInputs = with python3.pkgs; [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    backoff
+    click
+    emoji
+    jinja2
+    pyfiglet
+    ratelimit
+    requests
+    shodan
+    tabulate
+    termcolor
+    tweepy
+    vt-py
+  ];
+
+  checkInputs = with python3.pkgs; [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    # Can be removed with the next release
+    substituteInPlace pyproject.toml \
+      --replace '"hurry.filesize" = "^0.9"' ""
+  '';
+
+  pythonImportsCheck = [ "ioccheck" ];
+
+  meta = with lib; {
+    description = "Tool for researching IOCs";
+    homepage = "https://github.com/ranguli/ioccheck";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/knockpy/default.nix b/nixpkgs/pkgs/tools/security/knockpy/default.nix
index 8189145846b3..eedd436dc2df 100644
--- a/nixpkgs/pkgs/tools/security/knockpy/default.nix
+++ b/nixpkgs/pkgs/tools/security/knockpy/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "knockpy";
-  version = "5.1.0";
+  version = "5.2.0";
   disabled = python3.pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "guelfoweb";
     repo = "knock";
     rev = version;
-    sha256 = "sha256-4W6/omGPmQFuZ/2AVNgCs2q0ti/P8OY4o7b4/g9q+Rc=";
+    sha256 = "sha256-QPOIpgJt+09zRvSavRxuVEN+GGk4Z1CYCXti37YaO7o=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/tools/security/kubescape/default.nix b/nixpkgs/pkgs/tools/security/kubescape/default.nix
index 2bf6bb8cad66..612e14b52498 100644
--- a/nixpkgs/pkgs/tools/security/kubescape/default.nix
+++ b/nixpkgs/pkgs/tools/security/kubescape/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "kubescape";
-  version = "1.0.85";
+  version = "1.0.123";
 
   src = fetchFromGitHub {
     owner = "armosec";
     repo = pname;
     rev = "v${version}";
-    sha256 = "19r7dgr0y1k9qa4llxbgaf69j88vs9h2gx29bwbh6dq17q58sfdl";
+    sha256 = "sha256-mrpQXIcV1KxOLDhWAS9Og76k18jsey7vPAcbhGe+cN4=";
   };
 
-  vendorSha256 = "18mvv70g65pq1c7nn752j26d0vasx6cl2rqp5g1hg3cb61hjbn0n";
+  vendorSha256 = "sha256-4v/7JrSGZKOyLwU6U3+hc9P+kzxGGj4aXG/wXmNdo+M=";
 
   # One test is failing, disabling for now
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/security/masscan/default.nix b/nixpkgs/pkgs/tools/security/masscan/default.nix
index 891311ddaa03..46bae3c20c51 100644
--- a/nixpkgs/pkgs/tools/security/masscan/default.nix
+++ b/nixpkgs/pkgs/tools/security/masscan/default.nix
@@ -19,23 +19,29 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
-  makeFlags = [ "PREFIX=$(out)" "GITVER=${version}" "CC=${stdenv.cc.targetPrefix}cc" ];
+  makeFlags = [
+    "PREFIX=$(out)"
+    "GITVER=${version}"
+    "CC=${stdenv.cc.targetPrefix}cc"
+  ];
 
-  preInstall = ''
-    mkdir -p $out/bin
-  '';
+  enableParallelBuilding = true;
 
   postInstall = ''
-    installManPage doc/masscan.8
+    installManPage doc/masscan.?
+
+    install -Dm444 -t $out/etc/masscan            data/exclude.conf
+    install -Dm444 -t $out/share/doc/masscan      doc/*.{html,js,md}
+    install -Dm444 -t $out/share/licenses/masscan LICENSE
 
-    mkdir -p $out/share/{doc,licenses}/masscan
-    mkdir -p $out/etc/masscan
+    wrapProgram $out/bin/masscan \
+      --prefix LD_LIBRARY_PATH : "${libpcap}/lib"
+  '';
 
-    cp data/exclude.conf $out/etc/masscan
-    cp -t $out/share/doc/masscan doc/algorithm.js doc/howto-afl.md doc/bot.html
-    cp LICENSE $out/share/licenses/masscan/LICENSE
+  doInstallCheck = true;
 
-    wrapProgram $out/bin/masscan --prefix LD_LIBRARY_PATH : "${libpcap}/lib"
+  installCheckPhase = ''
+    $out/bin/masscan --selftest
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/security/metasploit/Gemfile b/nixpkgs/pkgs/tools/security/metasploit/Gemfile
index 5af7eca13872..1ea4f8b05191 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/Gemfile
+++ b/nixpkgs/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.0.56"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.1.10"
diff --git a/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock b/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock
index 6fd30d8d6a8c..1eaf6d48a38c 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,12 +1,12 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: d818269c546bd165c29652768cd2058fcb56c4fa
-  ref: refs/tags/6.0.56
+  revision: 822dd1ef2b1a1171d62803add58ee2afce30ea06
+  ref: refs/tags/6.1.10
   specs:
-    metasploit-framework (6.0.56)
-      actionpack (~> 5.2.2)
-      activerecord (~> 5.2.2)
-      activesupport (~> 5.2.2)
+    metasploit-framework (6.1.10)
+      actionpack (~> 6.0)
+      activerecord (~> 6.0)
+      activesupport (~> 6.0)
       aws-sdk-ec2
       aws-sdk-iam
       aws-sdk-s3
@@ -22,18 +22,18 @@ GIT
       faraday
       faye-websocket
       filesize
-      hrr_rb_ssh (= 0.3.0.pre2)
+      hrr_rb_ssh-ed25519
       http-cookie
       irb
       jsobfu
       json
       metasm
-      metasploit-concern (~> 3.0.0)
-      metasploit-credential (~> 4.0.0)
-      metasploit-model (~> 3.1.0)
-      metasploit-payloads (= 2.0.50)
-      metasploit_data_models (~> 4.1.0)
-      metasploit_payloads-mettle (= 1.0.10)
+      metasploit-concern
+      metasploit-credential
+      metasploit-model
+      metasploit-payloads (= 2.0.58)
+      metasploit_data_models
+      metasploit_payloads-mettle (= 1.0.13)
       mqtt
       msgpack
       nessus_rest
@@ -47,7 +47,7 @@ GIT
       openvas-omp
       packetfu
       patch_finder
-      pcaprub
+      pcaprub (= 0.12.4)
       pdf-reader
       pg
       puma
@@ -87,7 +87,9 @@ GIT
       tzinfo-data
       unix-crypt
       warden
+      win32api
       windows_error
+      winrm
       xdr
       xmlrpc
       zeitwerk
@@ -96,57 +98,56 @@ GEM
   remote: https://rubygems.org/
   specs:
     Ascii85 (1.1.0)
-    actionpack (5.2.6)
-      actionview (= 5.2.6)
-      activesupport (= 5.2.6)
-      rack (~> 2.0, >= 2.0.8)
+    actionpack (6.1.4.1)
+      actionview (= 6.1.4.1)
+      activesupport (= 6.1.4.1)
+      rack (~> 2.0, >= 2.0.9)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
-      rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    actionview (5.2.6)
-      activesupport (= 5.2.6)
+      rails-html-sanitizer (~> 1.0, >= 1.2.0)
+    actionview (6.1.4.1)
+      activesupport (= 6.1.4.1)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
-      rails-html-sanitizer (~> 1.0, >= 1.0.3)
-    activemodel (5.2.6)
-      activesupport (= 5.2.6)
-    activerecord (5.2.6)
-      activemodel (= 5.2.6)
-      activesupport (= 5.2.6)
-      arel (>= 9.0)
-    activesupport (5.2.6)
+      rails-html-sanitizer (~> 1.1, >= 1.2.0)
+    activemodel (6.1.4.1)
+      activesupport (= 6.1.4.1)
+    activerecord (6.1.4.1)
+      activemodel (= 6.1.4.1)
+      activesupport (= 6.1.4.1)
+    activesupport (6.1.4.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
-      i18n (>= 0.7, < 2)
-      minitest (~> 5.1)
-      tzinfo (~> 1.1)
+      i18n (>= 1.6, < 2)
+      minitest (>= 5.1)
+      tzinfo (~> 2.0)
+      zeitwerk (~> 2.3)
     addressable (2.8.0)
       public_suffix (>= 2.0.2, < 5.0)
     afm (0.2.2)
-    arel (9.0.0)
-    arel-helpers (2.12.0)
+    arel-helpers (2.12.1)
       activerecord (>= 3.1.0, < 7)
-    aws-eventstream (1.1.1)
-    aws-partitions (1.484.0)
-    aws-sdk-core (3.119.0)
+    aws-eventstream (1.2.0)
+    aws-partitions (1.516.0)
+    aws-sdk-core (3.121.1)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.239.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-ec2 (1.254.0)
-      aws-sdk-core (~> 3, >= 3.119.0)
+    aws-sdk-ec2 (1.270.0)
+      aws-sdk-core (~> 3, >= 3.120.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-iam (1.59.0)
-      aws-sdk-core (~> 3, >= 3.119.0)
+    aws-sdk-iam (1.61.0)
+      aws-sdk-core (~> 3, >= 3.120.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-kms (1.46.0)
-      aws-sdk-core (~> 3, >= 3.119.0)
+    aws-sdk-kms (1.49.0)
+      aws-sdk-core (~> 3, >= 3.120.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.98.0)
-      aws-sdk-core (~> 3, >= 3.119.0)
+    aws-sdk-s3 (1.103.0)
+      aws-sdk-core (~> 3, >= 3.120.0)
       aws-sdk-kms (~> 1)
-      aws-sigv4 (~> 1.1)
-    aws-sigv4 (1.2.4)
+      aws-sigv4 (~> 1.4)
+    aws-sigv4 (1.4.0)
       aws-eventstream (~> 1, >= 1.0.2)
     bcrypt (3.1.16)
     bcrypt_pbkdf (1.1.0)
@@ -156,7 +157,7 @@ GEM
     concurrent-ruby (1.0.5)
     cookiejar (0.3.3)
     crass (1.0.6)
-    daemons (1.4.0)
+    daemons (1.4.1)
     dnsruby (1.61.7)
       simpleidn (~> 0.1)
     domain_name (0.5.20190701)
@@ -172,9 +173,9 @@ GEM
       eventmachine (>= 1.0.0.beta.4)
     erubi (1.10.0)
     eventmachine (1.2.7)
-    faker (2.18.0)
+    faker (2.19.0)
       i18n (>= 1.6, < 2)
-    faraday (1.6.0)
+    faraday (1.8.0)
       faraday-em_http (~> 1.0)
       faraday-em_synchrony (~> 1.0)
       faraday-excon (~> 1.1)
@@ -196,13 +197,21 @@ GEM
     faye-websocket (0.11.1)
       eventmachine (>= 0.12.0)
       websocket-driver (>= 0.5.1)
+    ffi (1.15.4)
     filesize (0.2.0)
+    gssapi (1.3.1)
+      ffi (>= 1.0.1)
+    gyoku (1.3.1)
+      builder (>= 2.1.2)
     hashery (2.1.2)
-    hrr_rb_ssh (0.3.0.pre2)
+    hrr_rb_ssh (0.4.2)
+    hrr_rb_ssh-ed25519 (0.4.2)
       ed25519 (~> 1.2)
+      hrr_rb_ssh (>= 0.4)
     http-cookie (1.0.4)
       domain_name (~> 0.5)
-    http_parser.rb (0.7.0)
+    http_parser.rb (0.8.0)
+    httpclient (2.8.3)
     i18n (1.8.10)
       concurrent-ruby (~> 1.0)
     io-console (0.5.9)
@@ -211,46 +220,51 @@ GEM
     jmespath (1.4.0)
     jsobfu (0.4.2)
       rkelly-remix
-    json (2.5.1)
-    loofah (2.11.0)
+    json (2.6.0)
+    little-plugger (1.1.4)
+    logging (2.3.0)
+      little-plugger (~> 1.1)
+      multi_json (~> 1.14)
+    loofah (2.12.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     metasm (1.0.5)
-    metasploit-concern (3.0.2)
-      activemodel (~> 5.2.2)
-      activesupport (~> 5.2.2)
-      railties (~> 5.2.2)
-    metasploit-credential (4.0.5)
+    metasploit-concern (4.0.3)
+      activemodel (~> 6.0)
+      activesupport (~> 6.0)
+      railties (~> 6.0)
+    metasploit-credential (5.0.5)
       metasploit-concern
       metasploit-model
-      metasploit_data_models (>= 3.0.0)
+      metasploit_data_models (>= 5.0.0)
       net-ssh
       pg
       railties
       rex-socket
       rubyntlm
       rubyzip
-    metasploit-model (3.1.4)
-      activemodel (~> 5.2.2)
-      activesupport (~> 5.2.2)
-      railties (~> 5.2.2)
-    metasploit-payloads (2.0.50)
-    metasploit_data_models (4.1.4)
-      activerecord (~> 5.2.2)
-      activesupport (~> 5.2.2)
+    metasploit-model (4.0.3)
+      activemodel (~> 6.0)
+      activesupport (~> 6.0)
+      railties (~> 6.0)
+    metasploit-payloads (2.0.58)
+    metasploit_data_models (5.0.4)
+      activerecord (~> 6.0)
+      activesupport (~> 6.0)
       arel-helpers
       metasploit-concern
       metasploit-model (>= 3.1)
       pg
-      railties (~> 5.2.2)
+      railties (~> 6.0)
       recog (~> 2.0)
       webrick
-    metasploit_payloads-mettle (1.0.10)
+    metasploit_payloads-mettle (1.0.13)
     method_source (1.0.0)
     mini_portile2 (2.6.1)
     minitest (5.14.4)
     mqtt (0.5.0)
     msgpack (1.4.2)
+    multi_json (1.15.0)
     multipart-post (2.1.1)
     mustermann (1.1.1)
       ruby2_keywords (~> 0.0.1)
@@ -260,9 +274,10 @@ GEM
     network_interface (0.0.2)
     nexpose (7.3.0)
     nio4r (2.5.8)
-    nokogiri (1.12.2)
+    nokogiri (1.12.5)
       mini_portile2 (~> 2.6.1)
       racc (~> 1.4)
+    nori (2.6.0)
     octokit (4.21.0)
       faraday (>= 0.9)
       sawyer (~> 0.8.0, >= 0.5.3)
@@ -272,7 +287,7 @@ GEM
     packetfu (1.1.13)
       pcaprub
     patch_finder (1.0.2)
-    pcaprub (0.13.0)
+    pcaprub (0.12.4)
     pdf-reader (2.5.0)
       Ascii85 (~> 1.0)
       afm (~> 0.2.1)
@@ -281,7 +296,7 @@ GEM
       ttfunk
     pg (1.2.3)
     public_suffix (4.0.6)
-    puma (5.4.0)
+    puma (5.5.2)
       nio4r (~> 2.0)
     racc (1.5.2)
     rack (2.2.3)
@@ -292,14 +307,14 @@ GEM
     rails-dom-testing (2.0.3)
       activesupport (>= 4.2.0)
       nokogiri (>= 1.6)
-    rails-html-sanitizer (1.3.0)
+    rails-html-sanitizer (1.4.2)
       loofah (~> 2.3)
-    railties (5.2.6)
-      actionpack (= 5.2.6)
-      activesupport (= 5.2.6)
+    railties (6.1.4.1)
+      actionpack (= 6.1.4.1)
+      activesupport (= 6.1.4.1)
       method_source
-      rake (>= 0.8.7)
-      thor (>= 0.19.0, < 2.0)
+      rake (>= 0.13)
+      thor (~> 1.0)
     rake (13.0.6)
     rb-readline (0.5.5)
     recog (2.3.21)
@@ -309,18 +324,18 @@ GEM
       io-console (~> 0.5)
     rex-arch (0.1.14)
       rex-text
-    rex-bin_tools (0.1.7)
+    rex-bin_tools (0.1.8)
       metasm
       rex-arch
       rex-core
       rex-struct2
       rex-text
-    rex-core (0.1.17)
-    rex-encoder (0.1.5)
+    rex-core (0.1.18)
+    rex-encoder (0.1.6)
       metasm
       rex-arch
       rex-text
-    rex-exploitation (0.1.27)
+    rex-exploitation (0.1.28)
       jsobfu
       metasm
       rex-arch
@@ -334,25 +349,25 @@ GEM
       rex-arch
     rex-ole (0.1.7)
       rex-text
-    rex-powershell (0.1.92)
+    rex-powershell (0.1.93)
       rex-random_identifier
       rex-text
       ruby-rc4
-    rex-random_identifier (0.1.7)
+    rex-random_identifier (0.1.8)
       rex-text
     rex-registry (0.1.4)
     rex-rop_builder (0.1.4)
       metasm
       rex-core
       rex-text
-    rex-socket (0.1.32)
+    rex-socket (0.1.33)
       rex-core
     rex-sslscan (0.1.6)
       rex-core
       rex-socket
       rex-text
     rex-struct2 (0.1.3)
-    rex-text (0.2.35)
+    rex-text (0.2.37)
     rex-zip (0.1.4)
       rex-text
     rexml (3.2.5)
@@ -360,7 +375,7 @@ GEM
     ruby-macho (2.5.1)
     ruby-rc4 (0.1.5)
     ruby2_keywords (0.0.5)
-    ruby_smb (2.0.10)
+    ruby_smb (2.0.11)
       bindata
       openssl-ccm
       openssl-cmac
@@ -386,16 +401,15 @@ GEM
       eventmachine (~> 1.0, >= 1.0.4)
       rack (>= 1, < 3)
     thor (1.1.0)
-    thread_safe (0.3.6)
     tilt (2.0.10)
     ttfunk (1.7.0)
-    tzinfo (1.2.9)
-      thread_safe (~> 0.1)
-    tzinfo-data (1.2021.1)
+    tzinfo (2.0.4)
+      concurrent-ruby (~> 1.0)
+    tzinfo-data (1.2021.3)
       tzinfo (>= 1.0.0)
     unf (0.1.4)
       unf_ext
-    unf_ext (0.0.7.7)
+    unf_ext (0.0.8)
     unix-crypt (1.3.0)
     warden (1.2.9)
       rack (>= 2.0.9)
@@ -403,7 +417,17 @@ GEM
     websocket-driver (0.7.5)
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.5)
+    win32api (0.1.0)
     windows_error (0.1.2)
+    winrm (2.3.6)
+      builder (>= 2.1.2)
+      erubi (~> 1.8)
+      gssapi (~> 1.2)
+      gyoku (~> 1.0)
+      httpclient (~> 2.2, >= 2.2.0.2)
+      logging (>= 1.6.1, < 3.0)
+      nori (~> 2.0)
+      rubyntlm (~> 0.6.0, >= 0.6.3)
     xdr (3.0.2)
       activemodel (>= 4.2, < 7.0)
       activesupport (>= 4.2, < 7.0)
@@ -418,4 +442,4 @@ DEPENDENCIES
   metasploit-framework!
 
 BUNDLED WITH
-   2.2.20
+   2.2.24
diff --git a/nixpkgs/pkgs/tools/security/metasploit/default.nix b/nixpkgs/pkgs/tools/security/metasploit/default.nix
index ee1031959233..91b2bd60a318 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/default.nix
+++ b/nixpkgs/pkgs/tools/security/metasploit/default.nix
@@ -1,4 +1,10 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, ruby, bundlerEnv }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, makeWrapper
+, ruby
+, bundlerEnv
+}:
 
 let
   env = bundlerEnv {
@@ -8,13 +14,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.0.56";
+  version = "6.1.10";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-FQxxQ4Lsoktl/Ld+nvBNHCTsZ3PFDQ4GEMrh/CMZrZ0=";
+    sha256 = "sha256-VdnczTauHKYexXZs6U5F5v4DP8lJb8wCDy6yiPdEavI=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -34,6 +40,11 @@ in stdenv.mkDerivation rec {
       done
     )
 
+    makeWrapper ${env}/bin/bundle $out/bin/msf-pattern_create \
+      --add-flags "exec ${ruby}/bin/ruby $out/share/msf/tools/exploit/pattern_create.rb"
+
+    makeWrapper ${env}/bin/bundle $out/bin/msf-pattern_offset \
+      --add-flags "exec ${ruby}/bin/ruby $out/share/msf/tools/exploit/pattern_offset.rb"
   '';
 
   # run with: nix-shell maintainers/scripts/update.nix --argstr path metasploit
@@ -44,7 +55,7 @@ in stdenv.mkDerivation rec {
     homepage = "https://github.com/rapid7/metasploit-framework/wiki";
     platforms = platforms.unix;
     license = licenses.bsd3;
-    maintainers = [ maintainers.makefu ];
+    maintainers = with maintainers; [ fab makefu ];
     mainProgram = "msfconsole";
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/metasploit/gemset.nix b/nixpkgs/pkgs/tools/security/metasploit/gemset.nix
index 77b246888640..8ba307e2b5a0 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/gemset.nix
+++ b/nixpkgs/pkgs/tools/security/metasploit/gemset.nix
@@ -4,50 +4,50 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b2xl458f2ygnjbvv0hacc8bk9qxbx64m2g7vw6f9y7k8q85930y";
+      sha256 = "0xgysqnibjsy6kdz10x2xb3kwa6lssiqhh0zggrbgs31ypwhlpia";
       type = "gem";
     };
-    version = "5.2.6";
+    version = "6.1.4.1";
   };
   actionview = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06f8212kplqhap9jpi49dvqlhwkfxxxm9nh8al6qjvl7mfh9qbzg";
+      sha256 = "1yf4ic5kl324rs0raralpwx24s6hvvdzxfhinafylf8f3x7jj23z";
       type = "gem";
     };
-    version = "5.2.6";
+    version = "6.1.4.1";
   };
   activemodel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1r28kcnzr8dm6idirndd8pvbmg5c678ijxk845g84ykq1l69czs6";
+      sha256 = "16ixam4lni8b5lgx0whnax0imzh1dh10fy5r9pxs52n83yz5nbq3";
       type = "gem";
     };
-    version = "5.2.6";
+    version = "6.1.4.1";
   };
   activerecord = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05qqnichgxml6z3d1dpgjy2fi62dppnqxgg37hr9a35hwhn05fzc";
+      sha256 = "1ccgvlj767ybps3pxlaa4iw77n7wbriw2sr8754id3ngjfap08ja";
       type = "gem";
     };
-    version = "5.2.6";
+    version = "6.1.4.1";
   };
   activesupport = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vybx4cj42hr6m8cdwbrqq2idh98zms8c11kr399xjczhl9ywjbj";
+      sha256 = "19gx1jcq46x9d1pi1w8xq0bgvvfw239y4lalr8asm291gj3q3ds4";
       type = "gem";
     };
-    version = "5.2.6";
+    version = "6.1.4.1";
   };
   addressable = {
     groups = ["default"];
@@ -69,25 +69,15 @@
     };
     version = "0.2.2";
   };
-  arel = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0";
-      type = "gem";
-    };
-    version = "9.0.0";
-  };
   arel-helpers = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12wgkhajfsm3fgk43zf7xyxrx7q2kc4ggq459p1az6p0b9jscarx";
+      sha256 = "1733g96xxmmgjxambhnr98aj2yq401vgg0afyf46ayzgablij4cb";
       type = "gem";
     };
-    version = "2.12.0";
+    version = "2.12.1";
   };
   Ascii85 = {
     groups = ["default"];
@@ -104,80 +94,80 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jfki5ikfr8ln5cdgv4iv1643kax0bjpp29jh78chzy713274jh3";
+      sha256 = "1pyis1nvnbjxk12a43xvgj2gv0mvp4cnkc1gzw0v1018r61399gz";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.2.0";
   };
   aws-partitions = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "012hf08bmzmk2sjynrgzfg0ssa26fkvjm47ixjnmb9byrqmh3mwr";
+      sha256 = "1jx44f1hc41712k8fqmzrbpqs2j9yl0msdqcmmfp0pirkbqw6ri0";
       type = "gem";
     };
-    version = "1.484.0";
+    version = "1.516.0";
   };
   aws-sdk-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1azyn5hj41q1r9wcr0k12xb9j3v1v9ikyxnzjpizhsla44lg3270";
+      sha256 = "0njlpd4w008whz7bd7rrqs3k1m6xbm33hblzwh67pnk1frabv4q6";
       type = "gem";
     };
-    version = "3.119.0";
+    version = "3.121.1";
   };
   aws-sdk-ec2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i06ml61fr7qlxfbi98dg4lg40skjj5abfpz60jx7ml5dma13qma";
+      sha256 = "1m46n4fn505l0qqwamc5gk88h6aqvjqc7j0pkrcngxcgh5r7hcvf";
       type = "gem";
     };
-    version = "1.254.0";
+    version = "1.270.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16am0mpagfzi5n6gsnd4yyiwy8ni312b3kxswq0jvr3wh8ab0r5h";
+      sha256 = "1m5cc26kkh83f6c05y2a07nfz3dsdvkdf7jfrjkrhlkmdq9hha0m";
       type = "gem";
     };
-    version = "1.59.0";
+    version = "1.61.0";
   };
   aws-sdk-kms = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h70lz5pblw0sy82j6kv4q4d8h2rb1p6v650kaq8lh6iyjc6il9a";
+      sha256 = "15iar7b74lnvw1cafacp8vc63xy3zxa8zxmranfssa37mhk53byi";
       type = "gem";
     };
-    version = "1.46.0";
+    version = "1.49.0";
   };
   aws-sdk-s3 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0799n1j8cxcn79k5zhy8vcpbh4q8vyi1fxqqs20sxh7yhyhrybw9";
+      sha256 = "1xsa6nsdflwkm2wzmsr6kiy4am44f9f9459lbkrwxlcl166g05jq";
       type = "gem";
     };
-    version = "1.98.0";
+    version = "1.103.0";
   };
   aws-sigv4 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cb9hsg0x9v4yk6sxif8968sg646qphmsjaqy9z8p7y3my5bkrf0";
+      sha256 = "1wh1y79v0s4zgby2m79bnifk65hwf5pvk2yyrxzn2jkjjq8f8fqa";
       type = "gem";
     };
-    version = "1.2.4";
+    version = "1.4.0";
   };
   bcrypt = {
     groups = ["default"];
@@ -264,10 +254,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fki1aipqafqlg8xy25ykk0ql1dciy9kk6lcp5gzgkh9ccmaxzf3";
+      sha256 = "07cszb0zl8mqmwhc8a2yfg36vi6lbgrp4pa5bvmryrpcz9v6viwg";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.4.1";
   };
   dnsruby = {
     groups = ["default"];
@@ -344,20 +334,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hwir9b9zy0asy0vap7zfqv75lbws4a1pmh74lhqd2rndv32vfc5";
+      sha256 = "0hb9wfxyb4ss2vl2mrj1zgdk7dh4yaxghq22gbx62yxj5yb9w4zw";
       type = "gem";
     };
-    version = "2.18.0";
+    version = "2.19.0";
   };
   faraday = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xmi0yl9sniicvyh2k437dicvvzkryrc1ckr8dic84a98bbl32gy";
+      sha256 = "0afhlqgby2cizcwgh7h2sq5f77q01axjbdl25bsvfwsry9n7gyyi";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.8.0";
   };
   faraday-em_http = {
     groups = ["default"];
@@ -449,6 +439,16 @@
     };
     version = "0.11.1";
   };
+  ffi = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ssxcywmb3flxsjdg13is6k01807zgzasdhj4j48dm7ac59cmksn";
+      type = "gem";
+    };
+    version = "1.15.4";
+  };
   filesize = {
     groups = ["default"];
     platforms = [];
@@ -459,6 +459,26 @@
     };
     version = "0.2.0";
   };
+  gssapi = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1qdfhj12aq8v0y961v4xv96a1y2z80h3xhvzrs9vsfgf884g6765";
+      type = "gem";
+    };
+    version = "1.3.1";
+  };
+  gyoku = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1wn0sl14396g5lyvp8sjmcb1hw9rbyi89gxng91r7w4df4jwiidh";
+      type = "gem";
+    };
+    version = "1.3.1";
+  };
   hashery = {
     groups = ["default"];
     platforms = [];
@@ -474,10 +494,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "066dj9sw5p8aa54vqc1bw7a8nfpf5rggrjyxqw2ccyxp10964qkz";
+      sha256 = "1dr6mv98ll0crdn2wm2yy9ywh130iljcsvnnvs6639k19qbfk7qf";
       type = "gem";
     };
-    version = "0.3.0.pre2";
+    version = "0.4.2";
+  };
+  hrr_rb_ssh-ed25519 = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1mfsvjcjmm63fwjf3zqkmg3cf55vx34vmvix0wj0ba4h9dzjq7p8";
+      type = "gem";
+    };
+    version = "0.4.2";
   };
   http-cookie = {
     groups = ["default"];
@@ -494,10 +524,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xha614fi6l04wryqjj1xmpalzlmhb6lb9qmlh8mmliycdhvcshp";
+      sha256 = "1gj4fmls0mf52dlr928gaq0c0cb0m3aqa9kaa6l0ikl2zbqk42as";
       type = "gem";
     };
-    version = "0.7.0";
+    version = "0.8.0";
+  };
+  httpclient = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99";
+      type = "gem";
+    };
+    version = "2.8.3";
   };
   i18n = {
     groups = ["default"];
@@ -554,20 +594,40 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci";
+      sha256 = "0a7p95md8j8lbgxx9dzygysxmrg1s80895f46f1y47k9kq9q56ry";
       type = "gem";
     };
-    version = "2.5.1";
+    version = "2.6.0";
+  };
+  little-plugger = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym";
+      type = "gem";
+    };
+    version = "1.1.4";
+  };
+  logging = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0pkmhcxi8lp74bq5gz9lxrvaiv5w0745kk7s4bw2b1x07qqri0n9";
+      type = "gem";
+    };
+    version = "2.3.0";
   };
   loofah = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pwik3x5fa92g6hbv4imz3n46nlkzgj69pkgql22ppmcr36knk6m";
+      sha256 = "1nqcya57x2n58y1dify60i0dpla40n4yir928khp4nj5jrn9mgmw";
       type = "gem";
     };
-    version = "2.11.0";
+    version = "2.12.0";
   };
   metasm = {
     groups = ["default"];
@@ -584,72 +644,72 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zbcnhji80cyj19jkdp8wpi1msg9xfm0lacpm8ggm8fca56234zv";
+      sha256 = "0lmvwja6v7s12g0fq9mp2d3sgashl526apfjqk5fchqvnfqw4gsb";
       type = "gem";
     };
-    version = "3.0.2";
+    version = "4.0.3";
   };
   metasploit-credential = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wflb4r5mz2g29bzjpwc004h6vca9kd0z02v27wc378jgg6q0gna";
+      sha256 = "0a17zm8cq71rd8qilxai7s3dzb8n5lzvjfwyxk7slblfcgbsl9np";
       type = "gem";
     };
-    version = "4.0.5";
+    version = "5.0.5";
   };
   metasploit-framework = {
     groups = ["default"];
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "d818269c546bd165c29652768cd2058fcb56c4fa";
-      sha256 = "17dd34izrqfa2030w3f5fdkyq90w9pq9wzmpzijlp8pch91p230m";
+      rev = "822dd1ef2b1a1171d62803add58ee2afce30ea06";
+      sha256 = "1wka8kvqicif1w1cqvs9r4zh7zp68m7fjv3nqlgac75f6v6xrnam";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.0.56";
+    version = "6.1.10";
   };
   metasploit-model = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10ndgv4c30rq211f5lyngfcp87lxzgc9h8a7jx40wih43dj6faxq";
+      sha256 = "13zg6jw8vbspq95s4dpcbjxnjiacy21il7y8l2dq3rd04mickryy";
       type = "gem";
     };
-    version = "3.1.4";
+    version = "4.0.3";
   };
   metasploit-payloads = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wn6whvisps6fxd5fqbf6rr6znc3miqn8dwk3x8a6aycffphc75j";
+      sha256 = "05z0lqa2w6n1nqw3k2s0cxfbqa7bf1p199gccfahjyxjn9xzhcf7";
       type = "gem";
     };
-    version = "2.0.50";
+    version = "2.0.58";
   };
   metasploit_data_models = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gzfvfqs9mf50dcnirc1944a25920s1swjd9g97d1x340651xmmr";
+      sha256 = "12hnkrkgx89dskfr8ywpxk51y0nqnnj37qjz856f45z7ymx1nzip";
       type = "gem";
     };
-    version = "4.1.4";
+    version = "5.0.4";
   };
   metasploit_payloads-mettle = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12mm3bqcirbzn7337zg96w79i6in49z2gmg41cwjywi1p2iawk61";
+      sha256 = "108jm8nz4xs62k33w5frw15xadd17pbmwpczhvcpzh3bf54sihsr";
       type = "gem";
     };
-    version = "1.0.10";
+    version = "1.0.13";
   };
   method_source = {
     groups = ["default"];
@@ -701,6 +761,16 @@
     };
     version = "1.4.2";
   };
+  multi_json = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z";
+      type = "gem";
+    };
+    version = "1.15.0";
+  };
   multipart-post = {
     groups = ["default"];
     platforms = [];
@@ -782,14 +852,25 @@
     version = "2.5.8";
   };
   nokogiri = {
+    dependencies = ["mini_portile2" "racc"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b";
+      type = "gem";
+    };
+    version = "1.12.5";
+  };
+  nori = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1iav4jrklvm8938bxhby0khs36mdndhvwia4hc85zxcb0yl1k8ll";
+      sha256 = "066wc774a2zp4vrq3k7k8p0fhv30ymqmxma1jj7yg5735zls8agn";
       type = "gem";
     };
-    version = "1.12.2";
+    version = "2.6.0";
   };
   octokit = {
     groups = ["default"];
@@ -856,10 +937,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h4iarqdych6v4jm5s0ywkc01qspadz8sf6qn7pkqmszq4iqv67q";
+      sha256 = "0pl4lqy7308185pfv0197n8b4v20fhd0zb3wlpz284rk8ssclkvz";
       type = "gem";
     };
-    version = "0.13.0";
+    version = "0.12.4";
   };
   pdf-reader = {
     groups = ["default"];
@@ -896,10 +977,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bz9y1hxfyv73yb26nvs2kcw08gxi7nxkfc94j82hgx2sifcnv3x";
+      sha256 = "1xblxnrs0c5m326v7kgr32k4m00cl2ipcf5m0qvyisrw62vd5dbn";
       type = "gem";
     };
-    version = "5.4.0";
+    version = "5.5.2";
   };
   racc = {
     groups = ["default"];
@@ -956,20 +1037,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1icpqmxbppl4ynzmn6dx7wdil5hhq6fz707m9ya6d86c7ys8sd4f";
+      sha256 = "09qrfi3pgllxb08r024lln9k0qzxs57v0slsj8616xf9c0cwnwbk";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "1.4.2";
   };
   railties = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rs97fxv13hgpbmyhk8ag8qzgkh25css0797h90k9w1vg9djl84k";
+      sha256 = "1kwpm068cqys34p2g0j3l1g0cd5f3kxnsay5v7lmbd0sgarac0vy";
       type = "gem";
     };
-    version = "5.2.6";
+    version = "6.1.4.1";
   };
   rake = {
     groups = ["default"];
@@ -1036,40 +1117,40 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16w219ashxrgrgb5via9k45h7whrib77rmwy0f7akqf409pzjdp7";
+      sha256 = "0p5r2h0zaixdjhp9k0jq0vgsvbhifx2jh3p9pr2w80qda1hkgqgj";
       type = "gem";
     };
-    version = "0.1.7";
+    version = "0.1.8";
   };
   rex-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b0f9s18d2ax2k1xmwrvr97gxh8gfm79kfibv55fqmv846vgkkvk";
+      sha256 = "1i3rn2ndf9ijgjfn3c8rpblw8lnqynm2flmfmm6dbfhjyhhawnaz";
       type = "gem";
     };
-    version = "0.1.17";
+    version = "0.1.18";
   };
   rex-encoder = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lnrlii8d3r35927wp42bpdzh37dx3jqgdxk6lk5d6xvz6h14kp7";
+      sha256 = "15c2yqrvn3hxf6gn4cqrz2l65rdh68gbk2a7lwdq43nchfjnsnvg";
       type = "gem";
     };
-    version = "0.1.5";
+    version = "0.1.6";
   };
   rex-exploitation = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b10rcrw52nj2aswsn0kwv0s601rbn077k0r6n5lblip6fbrqz9i";
+      sha256 = "08v5nam0xp6f8qi3nyqzh97sz07hy59w82y213jz919mrgpb70vc";
       type = "gem";
     };
-    version = "0.1.27";
+    version = "0.1.28";
   };
   rex-java = {
     groups = ["default"];
@@ -1116,20 +1197,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02gpfw43r0pkzp7jj3n0lwn4lgbgkgadrn4p33x7b0xh1dalzgj1";
+      sha256 = "1qpf4na2c57bypyxna7pqll8ym643cydh347v5zvlxknripjhjyz";
       type = "gem";
     };
-    version = "0.1.92";
+    version = "0.1.93";
   };
   rex-random_identifier = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zaqndyy04c4fn021ibh05xim3wr7l2i71713amz6pvhgs2939r3";
+      sha256 = "1zy8zkkv530iqzsc7apx4hq9ij30h5628slkmc80aqzva9z0fm0d";
       type = "gem";
     };
-    version = "0.1.7";
+    version = "0.1.8";
   };
   rex-registry = {
     groups = ["default"];
@@ -1156,10 +1237,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03cvgmg0wswqcr70mhc6802vvgcg62f7vkbj0i7sskgy3cl9lryx";
+      sha256 = "1kl221lsf1dk62vsf6fsgcx54crav0wgqsb9rwjxl7gfd7kmyz04";
       type = "gem";
     };
-    version = "0.1.32";
+    version = "0.1.33";
   };
   rex-sslscan = {
     groups = ["default"];
@@ -1186,10 +1267,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0idgw5z813h5dp82n07g5ldpyfnk7mhvnzl87d9fpy6invixnnbq";
+      sha256 = "0xzym86blrah88qyi1m9f7pc53m6ssmr4d1znc8izbh90z38y51y";
       type = "gem";
     };
-    version = "0.2.35";
+    version = "0.2.37";
   };
   rex-zip = {
     groups = ["default"];
@@ -1256,10 +1337,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1h8p6ksfr9xhpj9p38b4mjj76zm4d0dg06hhp00ii9hh7vy6mryd";
+      sha256 = "06szny4dcbwlcq2fki1fbrghsbk2dgwy3zyl9y8zjkf334yjb57k";
       type = "gem";
     };
-    version = "2.0.10";
+    version = "2.0.11";
   };
   rubyntlm = {
     groups = ["default"];
@@ -1361,16 +1442,6 @@
     };
     version = "1.1.0";
   };
-  thread_safe = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
-      type = "gem";
-    };
-    version = "0.3.6";
-  };
   tilt = {
     groups = ["default"];
     platforms = [];
@@ -1396,20 +1467,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zwqqh6138s8b321fwvfbywxy00lw1azw4ql3zr0xh1aqxf8cnvj";
+      sha256 = "10qp5x7f9hvlc0psv9gsfbxg4a7s0485wsbq1kljkxq94in91l4z";
       type = "gem";
     };
-    version = "1.2.9";
+    version = "2.0.4";
   };
   tzinfo-data = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ik16lnsyr2739jzwl4r5sz8q639lqw8f9s68iszwhm2pcq8p4w2";
+      sha256 = "1f9wlg8p1p1wa86hcskiy58abbdysdqwr4pv2dmkhkfbi94f1lmr";
       type = "gem";
     };
-    version = "1.2021.1";
+    version = "1.2021.3";
   };
   unf = {
     groups = ["default"];
@@ -1426,10 +1497,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wc47r23h063l8ysws8sy24gzh74mks81cak3lkzlrw4qkqb3sg4";
+      sha256 = "0jmbimpnpjdzz8hlrppgl9spm99qh3qzbx0b81k3gkgwba8nk3yd";
       type = "gem";
     };
-    version = "0.0.7.7";
+    version = "0.0.8";
   };
   unix-crypt = {
     groups = ["default"];
@@ -1481,6 +1552,16 @@
     };
     version = "0.1.5";
   };
+  win32api = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1liryy0pz0gpw5sadbb9xwaflay272b8bwv4pclh6wkhldnh7wg7";
+      type = "gem";
+    };
+    version = "0.1.0";
+  };
   windows_error = {
     groups = ["default"];
     platforms = [];
@@ -1491,6 +1572,16 @@
     };
     version = "0.1.2";
   };
+  winrm = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nxf6a47d1xf1nvi7rbfbzjyyjhz0iakrnrsr2hj6y24a381sd8i";
+      type = "gem";
+    };
+    version = "2.3.6";
+  };
   xdr = {
     groups = ["default"];
     platforms = [];
diff --git a/nixpkgs/pkgs/tools/security/mongoaudit/default.nix b/nixpkgs/pkgs/tools/security/mongoaudit/default.nix
new file mode 100644
index 000000000000..4c15d1cfe948
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/mongoaudit/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "mongoaudit";
+  version = "0.1.1";
+
+  disabled = python3.pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "stampery";
+    repo = pname;
+    rev = version;
+    sha256 = "17k4vw5d3kr961axl49ywid4cf3n7zxvm885c4lv15w7s2al1425";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    pymongo
+    setuptools
+    urwid
+  ];
+
+  checkInputs = with python3.pkgs; [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "mongoaudit"
+  ];
+
+  meta = with lib; {
+    description = "MongoDB auditing and pentesting tool";
+    homepage = "https://github.com/stampery/mongoaudit";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/naabu/default.nix b/nixpkgs/pkgs/tools/security/naabu/default.nix
index da59867e1b62..83bb83e4e2c0 100644
--- a/nixpkgs/pkgs/tools/security/naabu/default.nix
+++ b/nixpkgs/pkgs/tools/security/naabu/default.nix
@@ -1,27 +1,31 @@
-{ buildGoModule
+{ lib
+, buildGoModule
 , fetchFromGitHub
-, lib
 , libpcap
 }:
 
 buildGoModule rec {
   pname = "naabu";
-  version = "2.0.4";
+  version = "2.0.5";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "naabu";
     rev = "v${version}";
-    sha256 = "sha256-t5Ij3UeH3z8obOH90cnmwcX9iC97sH7VIKvannSZ+MM=";
+    sha256 = "0kbpfb1ryfqy8a54ksm7zm8pqy8f4adh06jc1ccpdxks3k0rygid";
   };
 
-  vendorSha256 = "sha256-veOIt3hELk3smrGlTyldtdaz5uI4U8/2SeD0UNykB8A=";
+  vendorSha256 = "0kkkx8p0r04gg3pp0qy835afaxnqxjggnr7q7l6azdvg8qvgxfms";
 
-  buildInputs = [ libpcap ];
+  buildInputs = [
+    libpcap
+  ];
 
-  preBuild = ''
-    mv v2/* .
-  '';
+  modRoot = "./v2";
+
+  subPackages = [
+    "cmd/naabu/"
+  ];
 
   meta = with lib; {
     description = "Fast SYN/CONNECT port scanner";
diff --git a/nixpkgs/pkgs/tools/security/pinentry/default.nix b/nixpkgs/pkgs/tools/security/pinentry/default.nix
index 97426e0be80d..65abea4a112f 100644
--- a/nixpkgs/pkgs/tools/security/pinentry/default.nix
+++ b/nixpkgs/pkgs/tools/security/pinentry/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, mkDerivation, fetchpatch, stdenv, lib, pkg-config, autoreconfHook, wrapGAppsHook
-, libgpgerror, libassuan, qtbase, wrapQtAppsHook
+, libgpg-error, libassuan, qtbase, wrapQtAppsHook
 , ncurses, gtk2, gcr
 , libcap ? null, libsecret ? null
 , enabledFlavors ? [ "curses" "tty" "gtk2" "emacs" ]
@@ -52,7 +52,7 @@ pinentryMkDerivation rec {
 
   nativeBuildInputs = [ pkg-config autoreconfHook ]
     ++ concatMap(f: flavorInfo.${f}.nativeBuildInputs or []) enabledFlavors;
-  buildInputs = [ libgpgerror libassuan libcap libsecret ]
+  buildInputs = [ libgpg-error libassuan libcap libsecret ]
     ++ concatMap(f: flavorInfo.${f}.buildInputs or []) enabledFlavors;
 
   dontWrapGApps = true;
diff --git a/nixpkgs/pkgs/tools/security/quark-engine/default.nix b/nixpkgs/pkgs/tools/security/quark-engine/default.nix
new file mode 100644
index 000000000000..00e495f718d9
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/quark-engine/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, fetchFromGitHub
+, gitMinimal
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "quark-engine";
+  version = "21.10.2";
+
+  disabled = python3.pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0992wsy3plxpcqmq8cnnl0by1vkmkfb4lq2vb5rsj89wj900ci2n";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    androguard
+    click
+    colorama
+    gitMinimal
+    graphviz
+    pandas
+    plotly
+    prettytable
+    prompt-toolkit
+    rzpipe
+    tqdm
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "quark" ];
+
+  meta = with lib; {
+    description = "Android malware (analysis and scoring) system";
+    homepage = "https://quark-engine.readthedocs.io/";
+    license = with licenses; [ gpl3Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/quill/default.nix b/nixpkgs/pkgs/tools/security/quill/default.nix
index 9f5465901b17..9cf0f2f0c09c 100644
--- a/nixpkgs/pkgs/tools/security/quill/default.nix
+++ b/nixpkgs/pkgs/tools/security/quill/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "quill";
-  version = "0.2.5";
+  version = "0.2.7";
 
   src = fetchFromGitHub {
     owner = "dfinity";
     repo = "quill";
     rev = "v${version}";
-    sha256 = "sha256-lvINDtOG2mmz0ESxL11DQVZh3IcEiZYYMu5oN5Q9WKA=";
+    sha256 = "sha256-3OlsCRpxRDKlfC0sa9MlFCupyRbDuqJQzDb9SQob1O0=";
   };
 
   ic = fetchFromGitHub {
@@ -30,7 +30,7 @@ rustPlatform.buildRustPackage rec {
     export OPENSSL_LIB_DIR=${openssl.out}/lib
   '';
 
-  cargoSha256 = "sha256-F2RMfHVFqCq9cb+9bjPWaRcQWKYIwwffWCssoQ6sSdU=";
+  cargoSha256 = "sha256-YxuBABGaZ+ti31seEYR6bB+OMgrSvl1lZyu4bqdxPIk=";
 
   nativeBuildInputs = [ pkg-config protobuf ];
   buildInputs = [ openssl ]
diff --git a/nixpkgs/pkgs/tools/security/ripasso/cursive.nix b/nixpkgs/pkgs/tools/security/ripasso/cursive.nix
index 1a4b1de1b1fb..3126dd9fe57f 100644
--- a/nixpkgs/pkgs/tools/security/ripasso/cursive.nix
+++ b/nixpkgs/pkgs/tools/security/ripasso/cursive.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, rustPlatform, fetchFromGitHub, pkg-config, ncurses, python3, openssl, libgpgerror, gpgme, xorg, AppKit, Security, installShellFiles }:
+{ stdenv, lib, rustPlatform, fetchFromGitHub, pkg-config, ncurses, python3, openssl, libgpg-error, gpgme, xorg, AppKit, Security, installShellFiles }:
 
 with rustPlatform;
 buildRustPackage rec {
@@ -20,7 +20,7 @@ buildRustPackage rec {
 
   nativeBuildInputs = [ pkg-config gpgme python3 installShellFiles ];
   buildInputs = [
-    ncurses openssl libgpgerror gpgme xorg.libxcb
+    ncurses openssl libgpg-error gpgme xorg.libxcb
   ] ++ lib.optionals stdenv.isDarwin [ AppKit Security ];
 
   preCheck = ''
diff --git a/nixpkgs/pkgs/tools/security/scorecard/default.nix b/nixpkgs/pkgs/tools/security/scorecard/default.nix
index 5d8d9413ae99..0cc94c63c9f0 100644
--- a/nixpkgs/pkgs/tools/security/scorecard/default.nix
+++ b/nixpkgs/pkgs/tools/security/scorecard/default.nix
@@ -1,24 +1,46 @@
-{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+{ lib, buildGoModule, fetchFromGitHub, fetchgit, installShellFiles }:
 
 buildGoModule rec {
   pname = "scorecard";
-  version = "2.1.3";
+  version = "3.0.1";
 
   src = fetchFromGitHub {
     owner = "ossf";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-lTaFSQ3yyzQGdiKwev38iEpV+ELKg9f1rMYdbqVuiSs=";
-  };
-  vendorSha256 = "sha256-eFu954gwoL5z99cJGhSnvliAzwxv3JJxfjmBF+cx7Dg=";
+    sha256 = "sha256-19XDAgv9ARCZ7eNlWUPcsbGNyKA9vYFry8m6D3+vQP8=";
+    # populate values otherwise taken care of by goreleaser,
+    # unfortunately these require us to use git. By doing
+    # this in postFetch we can delete .git afterwards and
+    # maintain better reproducibility of the src.
+    leaveDotGit = true;
+    postFetch = ''
+      cd "$out"
 
-  subPackages = [ "." ];
+      commit="$(git rev-parse HEAD)"
+      source_date_epoch=$(git log --date=iso8601-strict -1 --pretty=%ct)
 
-  ldflags = [ "-s" "-w" "-X github.com/ossf/scorecard/v2/cmd.gitVersion=v${version}" ];
+      substituteInPlace "$out/pkg/scorecard_version.go" \
+        --replace 'gitCommit = "unknown"' "gitCommit = \"$commit\"" \
+        --replace 'buildDate = "unknown"' "buildDate = \"$source_date_epoch\""
+
+      find "$out" -name .git -print0 | xargs -0 rm -rf
+    '';
+  };
+  vendorSha256 = "sha256-ucF26pTEvG8tkzsyC9WNbvl8QCeetKBvBIcQL2NTfjo=";
 
   # Install completions post-install
   nativeBuildInputs = [ installShellFiles ];
 
+  subPackages = [ "." ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/ossf/scorecard/v${lib.versions.major version}/pkg.gitVersion=v${version}"
+    "-X github.com/ossf/scorecard/v${lib.versions.major version}/pkg.gitTreeState=clean"
+  ];
+
   preCheck = ''
     # Feed in all but the e2e tests for testing
     # This is because subPackages above limits what is built to just what we
diff --git a/nixpkgs/pkgs/tools/security/sheesy-cli/default.nix b/nixpkgs/pkgs/tools/security/sheesy-cli/default.nix
index 3929dbc8ad19..ea71be7c9534 100644
--- a/nixpkgs/pkgs/tools/security/sheesy-cli/default.nix
+++ b/nixpkgs/pkgs/tools/security/sheesy-cli/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, rustPlatform, fetchCrate, installShellFiles
-, libgpgerror, gpgme, gettext, openssl, Security
+, libgpg-error, gpgme, gettext, openssl, Security
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoBuildFlags = [ "--bin sy" "--features" "vault,extract,completions,substitute,process" ];
 
-  nativeBuildInputs = [ libgpgerror gpgme gettext installShellFiles ];
+  nativeBuildInputs = [ libgpg-error gpgme gettext installShellFiles ];
 
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/nixpkgs/pkgs/tools/security/shellz/default.nix b/nixpkgs/pkgs/tools/security/shellz/default.nix
new file mode 100644
index 000000000000..b34986b2f7fb
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/shellz/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "shellz";
+  version = "1.6.0";
+
+  src = fetchFromGitHub {
+    owner = "evilsocket";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1mhl1y0jkycyl1hgwxavxkm1f6kdx1sz3bvpmkr46sdijji06imi";
+  };
+
+  vendorSha256 = "14rd9xd7s5sfmxgv5p9ka8x12xcimv5hrq7hzy0d1c3ddf50rr7n";
+
+  ldflags = [
+    "-s"
+    "-w"
+  ];
+
+  meta = with lib; {
+    description = "Utility to manage your SSH, telnet, kubernetes, winrm, web or any custom shell";
+    homepage = "https://github.com/evilsocket/shellz";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/spyre/default.nix b/nixpkgs/pkgs/tools/security/spyre/default.nix
new file mode 100644
index 000000000000..112e0afd1455
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/spyre/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, pkg-config
+, yara
+}:
+
+buildGoModule rec {
+  pname = "spyre";
+  version = "1.2.1";
+
+  src = fetchFromGitHub {
+    owner = "spyre-project";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0iijvwcybp9z70jdh5mkaj7k3cw43r72wg3ayhnpyjmvgrwij43i";
+  };
+
+  vendorSha256 = "1mssfiph4a6jqp2qlrksvzinh0h8qpwdaxa5zx7fsydmqvk93w0g";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    yara
+  ];
+
+  meta = with lib; {
+    description = "YARA-based IOC scanner";
+    homepage = "https://github.com/spyre-project/spyre";
+    license = with licenses; [ lgpl3Plus ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/step-ca/default.nix b/nixpkgs/pkgs/tools/security/step-ca/default.nix
index 85501ff18e6e..f99e1fe74db8 100644
--- a/nixpkgs/pkgs/tools/security/step-ca/default.nix
+++ b/nixpkgs/pkgs/tools/security/step-ca/default.nix
@@ -11,16 +11,16 @@
 
 buildGoModule rec {
   pname = "step-ca";
-  version = "0.16.2";
+  version = "0.17.4";
 
   src = fetchFromGitHub {
     owner = "smallstep";
     repo = "certificates";
     rev = "v${version}";
-    sha256 = "sha256-JDoiz/BX8zB+qdwlGPUCa30R+pwWWtjEiXHP5LxdPAE=";
+    sha256 = "sha256-X4dOrd/wxtYLw3C4Lj88RV/J6CEkmsOeqtiVX/6VFHg=";
   };
 
-  vendorSha256 = "sha256-cFuLW0qkI/l/TvYwQZA2bLlWYjs1hdbQJ5jU7xiuFZI=";
+  vendorSha256 = "sha256-/8Glo+U8MS8Y8mKECgTAB7JWmp/rjMQhG4nZkNs+Zgs=";
 
   ldflags = [ "-buildid=" ];
 
diff --git a/nixpkgs/pkgs/tools/security/step-cli/default.nix b/nixpkgs/pkgs/tools/security/step-cli/default.nix
index c1d5e0ec5b2c..6908b54a2759 100644
--- a/nixpkgs/pkgs/tools/security/step-cli/default.nix
+++ b/nixpkgs/pkgs/tools/security/step-cli/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "step-cli";
-  version = "0.17.2";
+  version = "0.17.6";
 
   src = fetchFromGitHub {
     owner = "smallstep";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-w+1iL/Y1OKksIqGJvft734NmjLbxm2yebV/xjhzOubM=";
+    sha256 = "sha256-xkdn6e8He/yVvTubi88tVpU8I0XNEeJSzosbkCUZODk=";
   };
 
   ldflags = [
@@ -25,7 +25,7 @@ buildGoModule rec {
     rm command/certificate/remote_test.go
   '';
 
-  vendorSha256 = "sha256-71DH7/kU/nZqbsrRWkxa3JV3pevGjjOKDjn8gIWSDkE=";
+  vendorSha256 = "sha256-/aN3lXc3mPk3wIpNVjBXz35NlWNg8tob8q2oJ7Az2Bs=";
 
   meta = with lib; {
     description = "A zero trust swiss army knife for working with X509, OAuth, JWT, OATH OTP, etc";
diff --git a/nixpkgs/pkgs/tools/security/swtpm/default.nix b/nixpkgs/pkgs/tools/security/swtpm/default.nix
index daceff1486e3..fa2d774e1174 100644
--- a/nixpkgs/pkgs/tools/security/swtpm/default.nix
+++ b/nixpkgs/pkgs/tools/security/swtpm/default.nix
@@ -42,8 +42,21 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--with-cuse"
+    "--localstatedir=/var"
   ];
 
+  prePatch = ''
+    # Makefile tries to create the directory /var/lib/swtpm-localcafor, which fails
+    substituteInPlace samples/Makefile.am \
+        --replace 'install-data-local:' 'do-not-execute:'
+
+    # Use the correct path to the certtool binary
+    # instead of relying on it being in the environment
+    substituteInPlace samples/swtpm_localca.c --replace \
+        '# define CERTTOOL_NAME "certtool"' \
+        '# define CERTTOOL_NAME "${gnutls}/bin/certtool"'
+  '';
+
   enableParallelBuilding = true;
 
   outputs = [ "out" "man" ];
diff --git a/nixpkgs/pkgs/tools/security/tboot/default.nix b/nixpkgs/pkgs/tools/security/tboot/default.nix
index 9c5d44c6d607..86051c51dece 100644
--- a/nixpkgs/pkgs/tools/security/tboot/default.nix
+++ b/nixpkgs/pkgs/tools/security/tboot/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tboot";
-  version = "1.10.1";
+  version = "1.10.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/tboot/${pname}-${version}.tar.gz";
-    sha256 = "18bnkwnlk16cc20nysqfcjx006idi7jmmhahk8vk09w458bhaajg";
+    sha256 = "sha256-Lheco7ULg87lbC8qXkCWwG3R8jiPdQgznDkPBPy6sRE=";
   };
 
   buildInputs = [ openssl trousers zlib ];
diff --git a/nixpkgs/pkgs/tools/security/terrascan/default.nix b/nixpkgs/pkgs/tools/security/terrascan/default.nix
index eb5320d250fc..0308bc5d35bc 100644
--- a/nixpkgs/pkgs/tools/security/terrascan/default.nix
+++ b/nixpkgs/pkgs/tools/security/terrascan/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "terrascan";
-  version = "1.10.0";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "accurics";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-IF5BDe6XnOR7F/ajYBbMuFpIxUawgd/Oo2AthL5aeWE=";
+    sha256 = "sha256-vKKBbTculy/r1l3lHnHiBZLAwhw/61kDAsypa0o2VXQ=";
   };
 
-  vendorSha256 = "sha256-PZM8OWvjj8681/CWVE896f3vRHnkNeJj2w/aoOFZ9P0=";
+  vendorSha256 = "0vx406y3kj1qmgr1y9vg3rprwjpm5g8p9shmhq28gp7sxz3j82ry";
 
   # Tests want to download a vulnerable Terraform project
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/security/usbrip/default.nix b/nixpkgs/pkgs/tools/security/usbrip/default.nix
new file mode 100644
index 000000000000..aa09d759b8e4
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/usbrip/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "usbrip";
+  version = "unstable-2021-07-02";
+
+  disabled = python3.pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "snovvcrash";
+    repo = pname;
+    rev = "0f3701607ba13212ebefb4bbd9e68ec0e22d76ac";
+    sha256 = "1vws8ybhv7szpqvlbmv0hrkys2fhhaa5bj9dywv3q2y1xmljl0py";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    termcolor
+    terminaltables
+    tqdm
+  ];
+
+  postPatch = ''
+    # Remove install helpers which we don't need
+    substituteInPlace setup.py \
+      --replace "parse_requirements('requirements.txt')," "[]," \
+      --replace "resolve('wheel')" "" \
+      --replace "'install': LocalInstallCommand," ""
+  '';
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "usbrip" ];
+
+  meta = with lib; {
+    description = "Tool to track the history of USB events";
+    homepage = "https://github.com/snovvcrash/usbrip";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ fab ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/vault/default.nix b/nixpkgs/pkgs/tools/security/vault/default.nix
index 84bf06455aaa..1c8682e93bc0 100644
--- a/nixpkgs/pkgs/tools/security/vault/default.nix
+++ b/nixpkgs/pkgs/tools/security/vault/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "vault";
-  version = "1.8.2";
+  version = "1.8.4";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "sha256-SFzThZX9oYBM7OGjlvWq1by1mUOA4qc89TMEvCZU9I0=";
+    sha256 = "sha256-t/BQu6nq0FcmqTc/vo3bTUbVNDqzePqlOMFkl4pD598=";
   };
 
-  vendorSha256 = "sha256-Fhj1qWv4NN5oHxS5xZt2BnLBPTTcxKq47Q1kd+60xY4=";
+  vendorSha256 = "sha256-9eXDcuVm+N4nenotUtCvyp2qB5uPDwzGHk43Y4uTT14=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/tools/security/vault/vault-bin.nix b/nixpkgs/pkgs/tools/security/vault/vault-bin.nix
index 0540468df69d..b67d63938c95 100644
--- a/nixpkgs/pkgs/tools/security/vault/vault-bin.nix
+++ b/nixpkgs/pkgs/tools/security/vault/vault-bin.nix
@@ -1,26 +1,26 @@
 { lib, stdenv, fetchurl, unzip, makeWrapper, gawk, glibc }:
 
 let
-  version = "1.8.2";
+  version = "1.8.4";
 
   sources = let
     base = "https://releases.hashicorp.com/vault/${version}";
   in {
     x86_64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_amd64.zip";
-      sha256 = "sha256-10ck1swivx4cfFGQCbAXaAms9vHCDuVhB94Mq1TNhGM=";
+      sha256 = "sha256-zrCRnIScIWJ8ocrgYPNhtvuX3PBLF9HX0dyZU/zY4yk=";
     };
     i686-linux = fetchurl {
       url = "${base}/vault_${version}_linux_386.zip";
-      sha256 = "0v8l056xs88mjpcfpi9k8chv0zk7lf80gkj580z3d37h2yr2b1gg";
+      sha256 = "0sh9q29b0bi5ap6nvll0ykxd5vf4wliksj31cmm4gw5vp90irvl3";
     };
     x86_64-darwin = fetchurl {
       url = "${base}/vault_${version}_darwin_amd64.zip";
-      sha256 = "1xabbndnx85zbhbwid30q0jii41hmwwlqrxz4a0rllqshvmq4fg3";
+      sha256 = "09nhfdw20g46fnrn82my7a59pfa81dxncxhiswmha3cdy8n0p6wb";
     };
     aarch64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_arm64.zip";
-      sha256 = "00p2540bdhw46licab401vbwdyvp1hkngssx6nh99igj14sl60qa";
+      sha256 = "01ra0xrgivf01ff87p0gqmi1flnac9y02x7jpv5j6a9czr1sqw1j";
     };
   };
 
diff --git a/nixpkgs/pkgs/tools/security/vaultwarden/vault.nix b/nixpkgs/pkgs/tools/security/vaultwarden/vault.nix
index 00ebe0767f63..0d4070e47ab9 100644
--- a/nixpkgs/pkgs/tools/security/vaultwarden/vault.nix
+++ b/nixpkgs/pkgs/tools/security/vaultwarden/vault.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "vaultwarden-vault";
-  version = "2.21.1";
+  version = "2.22.3";
 
   src = fetchurl {
     url = "https://github.com/dani-garcia/bw_web_builds/releases/download/v${version}/bw_web_v${version}.tar.gz";
-    sha256 = "sha256-hKHOnQiVq2uSqJmhTWPJXaz2F6GO9/bMy7G9BkZ2puI=";
+    sha256 = "sha256-cPyh6Hyvqw6ygmOP+qiyhSNAwdryC4nowm8n2ULOJxs=";
   };
 
   buildCommand = ''
diff --git a/nixpkgs/pkgs/tools/security/volatility3/default.nix b/nixpkgs/pkgs/tools/security/volatility3/default.nix
new file mode 100644
index 000000000000..d6a99dd71072
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/volatility3/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "volatility3";
+  version = "1.0.1";
+
+  disabled = python3.pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "volatilityfoundation";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1k56izgkla9mrjrkp1saavajdx9x1wkqpwmbpvxv9rw5k80m5a4a";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    capstone
+    jsonschema
+    pefile
+    pycryptodome
+    yara-python
+  ];
+
+  preBuild = ''
+    export HOME=$(mktemp -d);
+  '';
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "volatility3" ];
+
+  meta = with lib; {
+    description = "Volatile memory extraction frameworks";
+    homepage = "https://www.volatilityfoundation.org/";
+    license = {
+      # Volatility Software License 1.0
+      free = false;
+      url = "https://www.volatilityfoundation.org/license/vsl-v1.0";
+    };
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/wpscan/Gemfile.lock b/nixpkgs/pkgs/tools/security/wpscan/Gemfile.lock
index 65e09d0aecfb..23e4a17ea8af 100644
--- a/nixpkgs/pkgs/tools/security/wpscan/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/security/wpscan/Gemfile.lock
@@ -1,19 +1,19 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (6.1.4)
+    activesupport (6.1.4.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
       tzinfo (~> 2.0)
       zeitwerk (~> 2.3)
-    addressable (2.7.0)
+    addressable (2.8.0)
       public_suffix (>= 2.0.2, < 5.0)
-    cms_scanner (0.13.5)
+    cms_scanner (0.13.6)
       ethon (~> 0.14.0)
       get_process_mem (~> 0.2.5)
-      nokogiri (~> 1.11.4)
-      opt_parse_validator (~> 1.9.4)
+      nokogiri (>= 1.11.4, < 1.13.0)
+      opt_parse_validator (~> 1.9.5)
       public_suffix (~> 4.0.3)
       ruby-progressbar (>= 1.10, < 1.12)
       sys-proctable (~> 1.2.2)
@@ -23,19 +23,17 @@ GEM
     concurrent-ruby (1.1.9)
     ethon (0.14.0)
       ffi (>= 1.15.0)
-    ffi (1.15.3)
+    ffi (1.15.4)
     get_process_mem (0.2.7)
       ffi (~> 1.0)
     i18n (1.8.10)
       concurrent-ruby (~> 1.0)
-    mini_portile2 (2.5.3)
     minitest (5.14.4)
-    nokogiri (1.11.7)
-      mini_portile2 (~> 2.5.0)
+    nokogiri (1.12.4-x86_64-linux)
       racc (~> 1.4)
-    opt_parse_validator (1.9.4)
+    opt_parse_validator (1.9.5)
       activesupport (>= 5.2, < 6.2.0)
-      addressable (>= 2.5, < 2.8)
+      addressable (>= 2.5, < 2.9)
     public_suffix (4.0.6)
     racc (1.5.2)
     ruby-progressbar (1.11.0)
@@ -46,18 +44,18 @@ GEM
     tzinfo (2.0.4)
       concurrent-ruby (~> 1.0)
     webrick (1.7.0)
-    wpscan (3.8.18)
-      cms_scanner (~> 0.13.5)
+    wpscan (3.8.19)
+      cms_scanner (~> 0.13.6)
     xmlrpc (0.3.2)
       webrick
     yajl-ruby (1.4.1)
     zeitwerk (2.4.2)
 
 PLATFORMS
-  ruby
+  x86_64-linux
 
 DEPENDENCIES
   wpscan
 
 BUNDLED WITH
-   2.1.4
+   2.2.24
diff --git a/nixpkgs/pkgs/tools/security/wpscan/default.nix b/nixpkgs/pkgs/tools/security/wpscan/default.nix
index 6a41611e67e0..965c48b304fe 100644
--- a/nixpkgs/pkgs/tools/security/wpscan/default.nix
+++ b/nixpkgs/pkgs/tools/security/wpscan/default.nix
@@ -1,11 +1,18 @@
-{ bundlerApp, lib, makeWrapper, curl }:
+{ lib
+, bundlerApp
+, makeWrapper
+, curl
+}:
 
 bundlerApp {
   pname = "wpscan";
   gemdir = ./.;
   exes = [ "wpscan" ];
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = [
+    makeWrapper
+  ];
+
   postBuild = ''
     wrapProgram "$out/bin/wpscan" \
       --prefix PATH : ${lib.makeBinPath [ curl ]}
diff --git a/nixpkgs/pkgs/tools/security/wpscan/gemset.nix b/nixpkgs/pkgs/tools/security/wpscan/gemset.nix
index 80b5ec290c00..d62c17bc94d2 100644
--- a/nixpkgs/pkgs/tools/security/wpscan/gemset.nix
+++ b/nixpkgs/pkgs/tools/security/wpscan/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kqgywy4cj3h5142dh7pl0xx5nybp25jn0ykk0znziivzks68xdk";
+      sha256 = "19gx1jcq46x9d1pi1w8xq0bgvvfw239y4lalr8asm291gj3q3ds4";
       type = "gem";
     };
-    version = "6.1.4";
+    version = "6.1.4.1";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
+      sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp";
       type = "gem";
     };
-    version = "2.7.0";
+    version = "2.8.0";
   };
   cms_scanner = {
     dependencies = ["ethon" "get_process_mem" "nokogiri" "opt_parse_validator" "public_suffix" "ruby-progressbar" "sys-proctable" "typhoeus" "xmlrpc" "yajl-ruby"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15qh28drxkyv294l1qcpsghfa875p71q0vkmmv5l6fbmpapmllrk";
+      sha256 = "1kpp3598xs79irb9g2wkcxjwlszj37sb7lp3xmvf6s5s40p0ccwf";
       type = "gem";
     };
-    version = "0.13.5";
+    version = "0.13.6";
   };
   concurrent-ruby = {
     groups = ["default"];
@@ -58,10 +58,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wgvaclp4h9y8zkrgz8p2hqkrgr4j7kz0366mik0970w532cbmcq";
+      sha256 = "0ssxcywmb3flxsjdg13is6k01807zgzasdhj4j48dm7ac59cmksn";
       type = "gem";
     };
-    version = "1.15.3";
+    version = "1.15.4";
   };
   get_process_mem = {
     dependencies = ["ffi"];
@@ -85,25 +85,25 @@
     };
     version = "1.8.10";
   };
-  mini_portile2 = {
+  minitest = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ad0mli9rc0f17zw4ibp24dbj1y39zkykijsjmnzl4gwpg5s0j6k";
+      sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl";
       type = "gem";
     };
-    version = "2.5.3";
+    version = "5.14.4";
   };
-  minitest = {
+  mini_portile2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl";
+      sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq";
       type = "gem";
     };
-    version = "5.14.4";
+    version = "2.6.1";
   };
   nokogiri = {
     dependencies = ["mini_portile2" "racc"];
@@ -111,10 +111,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vrn31385ix5k9b0yalnlzv360isv6dincbcvi8psllnwz4sjxj9";
+      sha256 = "1sad16idsxayhaaswc3bksii1ydiqyzikl7y0ng35cn7w4g1dv3z";
       type = "gem";
     };
-    version = "1.11.7";
+    version = "1.12.4";
   };
   opt_parse_validator = {
     dependencies = ["activesupport" "addressable"];
@@ -122,10 +122,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1n297vrxq7r1fsh0x8yf1nhgdawmcl0sq04l468gwrd4y754rjyx";
+      sha256 = "1jzmn3h9sr7bhjj1fdfvh4yzvqx7d3vsbwbqrf718dh427ifqs9c";
       type = "gem";
     };
-    version = "1.9.4";
+    version = "1.9.5";
   };
   public_suffix = {
     groups = ["default"];
@@ -206,10 +206,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01ig3fbxxm0gnvqkzmsc4zcipijprrw5xs84rnwp50w0crww842c";
+      sha256 = "0gv5ym8sxr9901z55d0dakc7af954rp2asnd1a68arjvfyj96sq3";
       type = "gem";
     };
-    version = "3.8.18";
+    version = "3.8.19";
   };
   xmlrpc = {
     dependencies = ["webrick"];
diff --git a/nixpkgs/pkgs/tools/system/auto-cpufreq/default.nix b/nixpkgs/pkgs/tools/system/auto-cpufreq/default.nix
index 427fe12267ec..b72ee7a6911f 100644
--- a/nixpkgs/pkgs/tools/system/auto-cpufreq/default.nix
+++ b/nixpkgs/pkgs/tools/system/auto-cpufreq/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "auto-cpufreq";
-  version = "1.6.9";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "AdnanHodzic";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1pri182cgbrhr0adq2784gpv6q8c8kjr0jsh8wpvd1wvfsbqywrm";
+    sha256 = "1r27ydv258c6pc82za0wq8q8fj0j3r50c8wxc6r7dwr6wx8q3asx";
   };
 
   propagatedBuildInputs = with python3Packages; [ click distro psutil ];
diff --git a/nixpkgs/pkgs/tools/system/battop/battery.patch b/nixpkgs/pkgs/tools/system/battop/battery.patch
deleted file mode 100644
index 218359d904fe..000000000000
--- a/nixpkgs/pkgs/tools/system/battop/battery.patch
+++ /dev/null
@@ -1,588 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-index 57ee609..d156cd2 100644
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -1,430 +1,429 @@
- # This file is automatically @generated by Cargo.
- # It is not intended for manual editing.
-+version = 3
-+
- [[package]]
- name = "autocfg"
- version = "0.1.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0e49efa51329a5fd37e7c79db4621af617cd4e3e5bc224939808d076077077bf"
- 
- [[package]]
- name = "battery"
--version = "0.7.4"
-+version = "0.7.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b4b624268937c0e0a3edb7c27843f9e547c320d730c610d3b8e6e8e95b2026e4"
- dependencies = [
-- "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-- "core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mach 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "nix 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "uom 0.23.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 1.0.0",
-+ "core-foundation",
-+ "lazycell",
-+ "libc",
-+ "mach",
-+ "nix",
-+ "num-traits",
-+ "uom",
-+ "winapi",
- ]
- 
- [[package]]
- name = "battop"
- version = "0.2.4"
- dependencies = [
-- "battery 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-- "stderrlog 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "structopt 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tui 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "battery",
-+ "humantime",
-+ "itertools",
-+ "log",
-+ "stderrlog",
-+ "structopt",
-+ "termion",
-+ "tui",
- ]
- 
- [[package]]
- name = "bitflags"
--version = "1.0.4"
-+version = "1.2.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
- 
- [[package]]
- name = "cassowary"
- version = "0.3.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53"
- 
- [[package]]
- name = "cc"
- version = "1.0.37"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d"
- 
- [[package]]
- name = "cfg-if"
- version = "0.1.9"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33"
-+
-+[[package]]
-+name = "cfg-if"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
- 
- [[package]]
- name = "chrono"
- version = "0.4.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878"
- dependencies = [
-- "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-integer",
-+ "num-traits",
-+ "time",
- ]
- 
- [[package]]
- name = "clap"
- version = "2.33.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
- dependencies = [
-- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags",
-+ "textwrap",
-+ "unicode-width",
- ]
- 
- [[package]]
- name = "core-foundation"
--version = "0.6.4"
-+version = "0.7.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
- dependencies = [
-- "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "core-foundation-sys",
-+ "libc",
- ]
- 
- [[package]]
- name = "core-foundation-sys"
--version = "0.6.2"
-+version = "0.7.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
- 
- [[package]]
- name = "either"
- version = "1.5.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b"
- 
- [[package]]
- name = "heck"
- version = "0.3.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
- dependencies = [
-- "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-segmentation",
- ]
- 
- [[package]]
- name = "humantime"
- version = "1.2.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3ca7e5f2e110db35f93b837c81797f3714500b81d517bf20c431b16d3ca4f114"
- dependencies = [
-- "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quick-error",
- ]
- 
- [[package]]
- name = "itertools"
- version = "0.8.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358"
- dependencies = [
-- "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "either",
- ]
- 
- [[package]]
- name = "lazy_static"
- version = "1.3.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
- 
- [[package]]
- name = "lazycell"
--version = "1.2.1"
-+version = "1.3.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
- 
- [[package]]
- name = "libc"
--version = "0.2.58"
-+version = "0.2.98"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790"
- 
- [[package]]
- name = "log"
- version = "0.4.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
- dependencies = [
-- "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.9",
- ]
- 
- [[package]]
- name = "mach"
--version = "0.2.3"
-+version = "0.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa"
- dependencies = [
-- "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
- ]
- 
- [[package]]
- name = "nix"
--version = "0.14.0"
-+version = "0.19.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b2ccba0cfe4fdf15982d1674c69b1fd80bad427d293849982668dfe454bd61f2"
- dependencies = [
-- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-- "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags",
-+ "cc",
-+ "cfg-if 1.0.0",
-+ "libc",
- ]
- 
- [[package]]
- name = "num-integer"
- version = "0.1.41"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
- dependencies = [
-- "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg",
-+ "num-traits",
- ]
- 
- [[package]]
- name = "num-traits"
- version = "0.2.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
- dependencies = [
-- "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg",
- ]
- 
- [[package]]
- name = "numtoa"
- version = "0.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"
- 
- [[package]]
- name = "proc-macro2"
- version = "0.4.30"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
- dependencies = [
-- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-xid",
- ]
- 
- [[package]]
- name = "quick-error"
- version = "1.2.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
- 
- [[package]]
- name = "quote"
- version = "0.6.12"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
- dependencies = [
-- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2",
- ]
- 
- [[package]]
- name = "redox_syscall"
- version = "0.1.54"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "12229c14a0f65c4f1cb046a3b52047cdd9da1f4b30f8a39c5063c8bae515e252"
- 
- [[package]]
- name = "redox_termios"
- version = "0.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
- dependencies = [
-- "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_syscall",
- ]
- 
- [[package]]
- name = "stderrlog"
- version = "0.4.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "61dc66b7ae72b65636dbf36326f9638fb3ba27871bb737a62e2c309b87d91b70"
- dependencies = [
-- "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-- "termcolor 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
-- "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "chrono",
-+ "log",
-+ "termcolor",
-+ "thread_local",
- ]
- 
- [[package]]
- name = "structopt"
- version = "0.2.17"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c767a8971f53d7324583085deee2e230903be09e52fb27df9af94c5cb2b43c31"
- dependencies = [
-- "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "structopt-derive 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "clap",
-+ "structopt-derive",
- ]
- 
- [[package]]
- name = "structopt-derive"
- version = "0.2.17"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c57a30c87454ced2186f62f940e981746e8cbbe026d52090c8c4352b636f8235"
- dependencies = [
-- "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "heck",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
- ]
- 
- [[package]]
- name = "syn"
- version = "0.15.34"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a1393e4a97a19c01e900df2aec855a29f71cf02c402e2f443b8d2747c25c5dbe"
- dependencies = [
-- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2",
-+ "quote",
-+ "unicode-xid",
- ]
- 
- [[package]]
- name = "termcolor"
- version = "0.3.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "adc4587ead41bf016f11af03e55a624c06568b5a19db4e90fde573d805074f83"
- dependencies = [
-- "wincolor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wincolor",
- ]
- 
- [[package]]
- name = "termion"
- version = "1.5.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dde0593aeb8d47accea5392b39350015b5eccb12c0d98044d856983d89548dea"
- dependencies = [
-- "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-- "numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
-- "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
-+ "numtoa",
-+ "redox_syscall",
-+ "redox_termios",
- ]
- 
- [[package]]
- name = "textwrap"
- version = "0.11.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
- dependencies = [
-- "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-width",
- ]
- 
- [[package]]
- name = "thread_local"
- version = "0.3.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
- dependencies = [
-- "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static",
- ]
- 
- [[package]]
- name = "time"
- version = "0.1.42"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
- dependencies = [
-- "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-- "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
-+ "redox_syscall",
-+ "winapi",
- ]
- 
- [[package]]
- name = "tui"
- version = "0.6.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8896d3a5cb81557cddef234cdeaa2a219d2af5fa9ccbb3cbdfbb52a576feb86f"
- dependencies = [
-- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cassowary 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-- "termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags",
-+ "cassowary",
-+ "either",
-+ "itertools",
-+ "log",
-+ "termion",
-+ "unicode-segmentation",
-+ "unicode-width",
- ]
- 
- [[package]]
- name = "typenum"
- version = "1.10.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"
- 
- [[package]]
- name = "unicode-segmentation"
- version = "1.3.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9"
- 
- [[package]]
- name = "unicode-width"
- version = "0.1.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
- 
- [[package]]
- name = "unicode-xid"
- version = "0.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
- 
- [[package]]
- name = "uom"
--version = "0.23.1"
-+version = "0.30.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e76503e636584f1e10b9b3b9498538279561adcef5412927ba00c2b32c4ce5ed"
- dependencies = [
-- "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits",
-+ "typenum",
- ]
- 
--[[package]]
--name = "void"
--version = "1.0.2"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--
- [[package]]
- name = "winapi"
- version = "0.3.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770"
- dependencies = [
-- "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi-i686-pc-windows-gnu",
-+ "winapi-x86_64-pc-windows-gnu",
- ]
- 
- [[package]]
- name = "winapi-i686-pc-windows-gnu"
- version = "0.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
- 
- [[package]]
- name = "winapi-x86_64-pc-windows-gnu"
- version = "0.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
- 
- [[package]]
- name = "wincolor"
- version = "0.1.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "eeb06499a3a4d44302791052df005d5232b927ed1a9658146d842165c4de7767"
- dependencies = [
-- "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi",
- ]
--
--[metadata]
--"checksum autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0e49efa51329a5fd37e7c79db4621af617cd4e3e5bc224939808d076077077bf"
--"checksum battery 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6d6fe5630049e900227cd89afce4c1204b88ec8e61a2581bb96fcce26f047b"
--"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
--"checksum cassowary 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53"
--"checksum cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)" = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d"
--"checksum cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33"
--"checksum chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878"
--"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
--"checksum core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d"
--"checksum core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b"
--"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b"
--"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
--"checksum humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ca7e5f2e110db35f93b837c81797f3714500b81d517bf20c431b16d3ca4f114"
--"checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358"
--"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
--"checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f"
--"checksum libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "6281b86796ba5e4366000be6e9e18bf35580adf9e63fbe2294aadb587613a319"
--"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
--"checksum mach 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "86dd2487cdfea56def77b88438a2c915fb45113c5319bfe7e14306ca4cd0b0e1"
--"checksum nix 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0d10caafde29a846a82ae0af70414e4643e072993441033b2c93217957e2f867"
--"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
--"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
--"checksum numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"
--"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
--"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
--"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
--"checksum redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)" = "12229c14a0f65c4f1cb046a3b52047cdd9da1f4b30f8a39c5063c8bae515e252"
--"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
--"checksum stderrlog 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "61dc66b7ae72b65636dbf36326f9638fb3ba27871bb737a62e2c309b87d91b70"
--"checksum structopt 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)" = "c767a8971f53d7324583085deee2e230903be09e52fb27df9af94c5cb2b43c31"
--"checksum structopt-derive 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)" = "c57a30c87454ced2186f62f940e981746e8cbbe026d52090c8c4352b636f8235"
--"checksum syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)" = "a1393e4a97a19c01e900df2aec855a29f71cf02c402e2f443b8d2747c25c5dbe"
--"checksum termcolor 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "adc4587ead41bf016f11af03e55a624c06568b5a19db4e90fde573d805074f83"
--"checksum termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dde0593aeb8d47accea5392b39350015b5eccb12c0d98044d856983d89548dea"
--"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
--"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
--"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
--"checksum tui 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8896d3a5cb81557cddef234cdeaa2a219d2af5fa9ccbb3cbdfbb52a576feb86f"
--"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"
--"checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9"
--"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
--"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
--"checksum uom 0.23.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3ef5bbe8385736e498dbb0033361f764ab43a435192513861447b9f7714b3fec"
--"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
--"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770"
--"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
--"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
--"checksum wincolor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb06499a3a4d44302791052df005d5232b927ed1a9658146d842165c4de7767"
-diff --git a/Cargo.toml b/Cargo.toml
-index 3d3df77..34b9bc5 100644
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -17,7 +17,7 @@ travis-ci = { repository = "svartalf/rust-battop", branch = "master" }
- maintenance = { status = "actively-developed" }
- 
- [dependencies]
--battery = "^0.7"
-+battery = "^0.7.7"
- structopt = { version = "0.2", default-features = false }
- log = "0.4.6"
- stderrlog = "0.4.1"
diff --git a/nixpkgs/pkgs/tools/system/battop/default.nix b/nixpkgs/pkgs/tools/system/battop/default.nix
deleted file mode 100644
index e28789b835ec..000000000000
--- a/nixpkgs/pkgs/tools/system/battop/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, fetchFromGitHub, rustPlatform }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "battop";
-  version = "0.2.4";
-
-  src = fetchFromGitHub {
-    owner = "svartalf";
-    repo = "rust-battop";
-    rev = "v${version}";
-    sha256 = "0p53jl3r2p1w9m2fvhzzrj8d9gwpzs22df5sbm7wwja4pxn7ay1w";
-  };
-
-  # https://github.com/svartalf/rust-battop/issues/11
-  cargoPatches = [ ./battery.patch ];
-
-  cargoSha256 = "0ipmnrn6lmf6rqzsqmaxzy9lblrxyrxzkji968356nxxmwzfbfvh";
-
-  meta = with lib; {
-    description = "is an interactive battery viewer";
-    homepage = "https://github.com/svartalf/rust-battop";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ hdhog ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/system/btop/default.nix b/nixpkgs/pkgs/tools/system/btop/default.nix
index 5425b6e5f5b7..99d1d0bfa970 100644
--- a/nixpkgs/pkgs/tools/system/btop/default.nix
+++ b/nixpkgs/pkgs/tools/system/btop/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "btop";
-  version = "1.0.5";
+  version = "1.0.16";
 
   src = fetchFromGitHub {
     owner = "aristocratos";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pa9i65ndx8LMTMRXyL2GXCauM6Q8gAb16zGOylQFwL0=";
+    sha256 = "sha256-navmEd77+LOvCpjPe6dReOYGO1wGRO3OGIv8mC05Kec=";
   };
 
   installFlags = [ "PREFIX=$(out)" ];
diff --git a/nixpkgs/pkgs/tools/system/freeipmi/default.nix b/nixpkgs/pkgs/tools/system/freeipmi/default.nix
index 77828ae823d4..9d2e66876239 100644
--- a/nixpkgs/pkgs/tools/system/freeipmi/default.nix
+++ b/nixpkgs/pkgs/tools/system/freeipmi/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, libgcrypt, readline, libgpgerror }:
+{ fetchurl, lib, stdenv, libgcrypt, readline, libgpg-error }:
 
 stdenv.mkDerivation rec {
   version = "1.6.8";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0w8af1i57szmxl9vfifwwyal7xh8aixz2l9487wvy6yckqk6m92a";
   };
 
-  buildInputs = [ libgcrypt readline libgpgerror ];
+  buildInputs = [ libgcrypt readline libgpg-error ];
 
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/tools/system/htop/default.nix b/nixpkgs/pkgs/tools/system/htop/default.nix
index 350c20ae101d..bc8dde743c8e 100644
--- a/nixpkgs/pkgs/tools/system/htop/default.nix
+++ b/nixpkgs/pkgs/tools/system/htop/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     ++ optional systemdSupport systemd
   ;
 
-  configureFlags = [ "--enable-unicode" ]
+  configureFlags = [ "--enable-unicode" "--sysconfdir=/etc" ]
     ++ optional sensorsSupport "--with-sensors"
   ;
 
diff --git a/nixpkgs/pkgs/tools/system/logrotate/default.nix b/nixpkgs/pkgs/tools/system/logrotate/default.nix
index 3d5dac7faa8c..72e6f5ec71be 100644
--- a/nixpkgs/pkgs/tools/system/logrotate/default.nix
+++ b/nixpkgs/pkgs/tools/system/logrotate/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ popt ] ++ lib.optionals aclSupport [ acl ];
 
   meta = with lib; {
-    homepage = "https://fedorahosted.org/releases/l/o/logrotate/";
+    homepage = "https://github.com/logrotate/logrotate";
     description = "Rotates and compresses system logs";
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.viric ];
diff --git a/nixpkgs/pkgs/tools/system/proot/default.nix b/nixpkgs/pkgs/tools/system/proot/default.nix
index daf543d7f754..cf5a845827f4 100644
--- a/nixpkgs/pkgs/tools/system/proot/default.nix
+++ b/nixpkgs/pkgs/tools/system/proot/default.nix
@@ -1,15 +1,20 @@
-{ lib, stdenv, fetchFromGitHub
-, talloc, docutils, swig, python, coreutils, enablePython ? true }:
-
-stdenv.mkDerivation {
+{ lib, stdenv, fetchFromGitHub, fetchpatch
+, talloc
+, pkg-config
+, libarchive
+, git
+, ncurses
+, docutils, swig, python3, coreutils, enablePython ? true }:
+
+stdenv.mkDerivation rec {
   pname = "proot";
-  version = "20190510";
+  version = "5.2.0";
 
   src = fetchFromGitHub {
     repo = "proot";
     owner = "proot-me";
-    rev = "803e54d8a1b3d513108d3fc413ba6f7c80220b74";
-    sha256 = "0gwzqm5wpscj3fchlv3qggf3zzn0v00s4crb5ciwljan1zrqadhy";
+    rev = "v${version}";
+    sha256 = "1ir3a7rp9rvpv9i8gjrkr383sqadgl7f9nflcrfg7q05bxapwiws";
   };
 
   postPatch = ''
@@ -19,8 +24,15 @@ stdenv.mkDerivation {
     sed -i /CROSS_COMPILE/d src/GNUmakefile
   '';
 
-  buildInputs = [ talloc ] ++ lib.optional enablePython python;
-  nativeBuildInputs = [ docutils ] ++ lib.optional enablePython swig;
+  buildInputs = [ ncurses libarchive talloc ] ++ lib.optional enablePython python3;
+  nativeBuildInputs = [ pkg-config docutils ] ++ lib.optional enablePython swig;
+  patches = [
+    # without this patch the package does not build with python>3.7
+    (fetchpatch {
+      url = "https://github.com/proot-me/proot/pull/285.patch";
+      sha256= "1vncq36pr4v0h63fijga6zrwlsb0vb4pj25zxf1ni15ndxv63pxj";
+    })
+  ];
 
   enableParallelBuilding = true;
 
@@ -36,6 +48,9 @@ stdenv.mkDerivation {
     install -Dm644 doc/proot/man.1 $out/share/man/man1/proot.1
   '';
 
+  # proot provides tests with `make -C test` however they do not run in the sandbox
+  doCheck = false;
+
   meta = with lib; {
     homepage = "https://proot-me.github.io";
     description = "User-space implementation of chroot, mount --bind and binfmt_misc";
diff --git a/nixpkgs/pkgs/tools/system/s6-rc/default.nix b/nixpkgs/pkgs/tools/system/s6-rc/default.nix
index 31b9c14257af..ab4ea7804942 100644
--- a/nixpkgs/pkgs/tools/system/s6-rc/default.nix
+++ b/nixpkgs/pkgs/tools/system/s6-rc/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "s6-rc";
-  version = "0.5.2.2";
-  sha256 = "12bzc483jpd16xmhfsfrib84daj1k3kwy5s5nc18ap60apa1r39a";
+  version = "0.5.2.3";
+  sha256 = "1xyaplwzvqnb53mg59a7jklakzwsiqivp6qggsry3sbaw4hf3d5j";
 
   description = "A service manager for s6-based systems";
   platforms = lib.platforms.unix;
diff --git a/nixpkgs/pkgs/tools/system/s6/default.nix b/nixpkgs/pkgs/tools/system/s6/default.nix
index e9d096a7ab0e..dc64afa6246f 100644
--- a/nixpkgs/pkgs/tools/system/s6/default.nix
+++ b/nixpkgs/pkgs/tools/system/s6/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "s6";
-  version = "2.10.0.3";
-  sha256 = "0mw7blp8dwr09z58m9mrxwmmvvpnjzq9klcf1vgm0hbha4qkf88x";
+  version = "2.11.0.0";
+  sha256 = "1a3lj0xfhn1w3a4ygqsxy8q4dr3n48hnwml4xzdpz3nrikhy8if5";
 
   description = "skarnet.org's small & secure supervision software suite";
 
@@ -34,6 +34,7 @@ buildPackage {
     # remove all s6 executables from build directory
     rm $(find -type f -mindepth 1 -maxdepth 1 -executable)
     rm libs6.*
+    rm ./libs6lockd.a.xyzzy
 
     mv doc $doc/share/doc/s6/html
     mv examples $doc/share/doc/s6/examples
diff --git a/nixpkgs/pkgs/tools/system/smartmontools/default.nix b/nixpkgs/pkgs/tools/system/smartmontools/default.nix
index 1658b4ea4df8..e72d7ff5e1c2 100644
--- a/nixpkgs/pkgs/tools/system/smartmontools/default.nix
+++ b/nixpkgs/pkgs/tools/system/smartmontools/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     description = "Tools for monitoring the health of hard drives";
     homepage = "https://www.smartmontools.org/";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ peti Frostman ];
+    maintainers = with maintainers; [ Frostman ];
     platforms = with platforms; linux ++ darwin;
     mainProgram = "smartctl";
   };
diff --git a/nixpkgs/pkgs/tools/system/stress-ng/default.nix b/nixpkgs/pkgs/tools/system/stress-ng/default.nix
index 6d748749a0c2..46a1fdfd8d3e 100644
--- a/nixpkgs/pkgs/tools/system/stress-ng/default.nix
+++ b/nixpkgs/pkgs/tools/system/stress-ng/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "stress-ng";
-  version = "0.13.01";
+  version = "0.13.03";
 
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-839znk0VNDNgpHmAtn3Isqa/PU0+9yfVXi3Zmgtk+eo=";
+    sha256 = "sha256-PmDWBeN42GqFkaMNblV77XCdgqWxlhY3gALNj/ADeos=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/system/tp-auto-kbbl/default.nix b/nixpkgs/pkgs/tools/system/tp-auto-kbbl/default.nix
new file mode 100644
index 000000000000..fa257fc2a361
--- /dev/null
+++ b/nixpkgs/pkgs/tools/system/tp-auto-kbbl/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, dbus
+, pkg-config
+, openssl
+, libevdev
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "tp-auto-kbbl";
+  version = "0.1.5";
+
+  src = fetchFromGitHub {
+    owner = "saibotd";
+    repo = pname;
+    rev = version;
+    sha256 = "0db9h15zyz2sq5r1qmq41288i54rhdl30qy08snpsh6sx2q4443y";
+  };
+
+  cargoSha256 = "0m1gcvshbd9cfb0v6f86kbcfjxb4p9cxynmxgi4nxkhaszfyf56c";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ dbus libevdev openssl ];
+
+  meta = with lib; {
+    description = "Auto toggle keyboard back-lighting on Thinkpads (and maybe other laptops) for Linux";
+    homepage = "https://github.com/saibotd/tp-auto-kbbl";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sebtm ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/system/tree/default.nix b/nixpkgs/pkgs/tools/system/tree/default.nix
index ab76de74762c..acf0813b3ac2 100644
--- a/nixpkgs/pkgs/tools/system/tree/default.nix
+++ b/nixpkgs/pkgs/tools/system/tree/default.nix
@@ -52,6 +52,5 @@ stdenv.mkDerivation rec {
     '';
 
     platforms = lib.platforms.all;
-    maintainers = [lib.maintainers.peti];
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/difftastic/default.nix b/nixpkgs/pkgs/tools/text/difftastic/default.nix
index 06bd7d0376b2..32644fdf28b2 100644
--- a/nixpkgs/pkgs/tools/text/difftastic/default.nix
+++ b/nixpkgs/pkgs/tools/text/difftastic/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "difftastic";
-  version = "0.9";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "wilfred";
     repo = pname;
     rev = version;
-    sha256 = "sha256-spncRJjROytGnIig6ujqHu0e/XBTN4dsJ3og4aIu+l8=";
+    sha256 = "12fcfwx56phs64yl94al2hkvss1km4n9wbrn2md7wfh1137jykbg";
   };
 
-  cargoSha256 = "sha256-2xGwS4wjLQ7zmfZ2gMdlUAkjPDF6SmUaiX2j1KYy0vo=";
+  cargoSha256 = "0xnlnkdvsd2l7acdrkz918cjkk36k01rvvm0c8hnpx5327v6nsa8";
 
   postPatch = ''
     pushd vendor
diff --git a/nixpkgs/pkgs/tools/text/fst/0001-cargo-lockfile.patch b/nixpkgs/pkgs/tools/text/fst/0001-cargo-lockfile.patch
deleted file mode 100644
index eb5ec5748553..000000000000
--- a/nixpkgs/pkgs/tools/text/fst/0001-cargo-lockfile.patch
+++ /dev/null
@@ -1,900 +0,0 @@
-From 99bfed6f7278ae9b5edfc42644e57eb0ae7669e1 Mon Sep 17 00:00:00 2001
-From: "Robert T. McGibbon" <rmcgibbo@gmail.com>
-Date: Wed, 22 Sep 2021 16:00:13 -0400
-Subject: [PATCH 1/1] Create cargo lock file for 0.4.7
-
----
- Cargo.lock | 881 +++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 881 insertions(+)
- create mode 100644 Cargo.lock
-
-diff --git a/Cargo.lock b/Cargo.lock
-new file mode 100644
-index 0000000..37e9c5f
---- /dev/null
-+++ b/Cargo.lock
-@@ -0,0 +1,881 @@
-+# This file is automatically @generated by Cargo.
-+# It is not intended for manual editing.
-+[[package]]
-+name = "anyhow"
-+version = "1.0.44"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1"
-+
-+[[package]]
-+name = "atty"
-+version = "0.2.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-+dependencies = [
-+ "hermit-abi",
-+ "libc",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "autocfg"
-+version = "1.0.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
-+
-+[[package]]
-+name = "bit-set"
-+version = "0.5.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6e11e16035ea35e4e5997b393eacbf6f63983188f7a2ad25bfb13465f5ad59de"
-+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 = "bitflags"
-+version = "1.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-+
-+[[package]]
-+name = "bstr"
-+version = "0.2.17"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
-+dependencies = [
-+ "lazy_static",
-+ "memchr",
-+ "regex-automata",
-+ "serde",
-+]
-+
-+[[package]]
-+name = "bumpalo"
-+version = "3.7.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d9df67f7bf9ef8498769f994239c45613ef0c5899415fb58e9add412d2c1a538"
-+
-+[[package]]
-+name = "cast"
-+version = "0.2.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4c24dab4283a142afa2fdca129b80ad2c6284e073930f964c3a1293c225ee39a"
-+dependencies = [
-+ "rustc_version",
-+]
-+
-+[[package]]
-+name = "cfg-if"
-+version = "0.1.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-+
-+[[package]]
-+name = "cfg-if"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-+
-+[[package]]
-+name = "clap"
-+version = "2.33.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
-+dependencies = [
-+ "bitflags",
-+ "textwrap",
-+ "unicode-width",
-+]
-+
-+[[package]]
-+name = "criterion"
-+version = "0.3.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1604dafd25fba2fe2d5895a9da139f8dc9b319a5fe5354ca137cbbce4e178d10"
-+dependencies = [
-+ "atty",
-+ "cast",
-+ "clap",
-+ "criterion-plot",
-+ "csv",
-+ "itertools",
-+ "lazy_static",
-+ "num-traits",
-+ "oorandom",
-+ "plotters",
-+ "rayon",
-+ "regex",
-+ "serde",
-+ "serde_cbor",
-+ "serde_derive",
-+ "serde_json",
-+ "tinytemplate",
-+ "walkdir",
-+]
-+
-+[[package]]
-+name = "criterion-plot"
-+version = "0.4.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d00996de9f2f7559f7f4dc286073197f83e92256a59ed395f9aac01fe717da57"
-+dependencies = [
-+ "cast",
-+ "itertools",
-+]
-+
-+[[package]]
-+name = "crossbeam-channel"
-+version = "0.4.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87"
-+dependencies = [
-+ "crossbeam-utils 0.7.2",
-+ "maybe-uninit",
-+]
-+
-+[[package]]
-+name = "crossbeam-channel"
-+version = "0.5.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4"
-+dependencies = [
-+ "cfg-if 1.0.0",
-+ "crossbeam-utils 0.8.5",
-+]
-+
-+[[package]]
-+name = "crossbeam-deque"
-+version = "0.8.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e"
-+dependencies = [
-+ "cfg-if 1.0.0",
-+ "crossbeam-epoch",
-+ "crossbeam-utils 0.8.5",
-+]
-+
-+[[package]]
-+name = "crossbeam-epoch"
-+version = "0.9.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd"
-+dependencies = [
-+ "cfg-if 1.0.0",
-+ "crossbeam-utils 0.8.5",
-+ "lazy_static",
-+ "memoffset",
-+ "scopeguard",
-+]
-+
-+[[package]]
-+name = "crossbeam-utils"
-+version = "0.7.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
-+dependencies = [
-+ "autocfg",
-+ "cfg-if 0.1.10",
-+ "lazy_static",
-+]
-+
-+[[package]]
-+name = "crossbeam-utils"
-+version = "0.8.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db"
-+dependencies = [
-+ "cfg-if 1.0.0",
-+ "lazy_static",
-+]
-+
-+[[package]]
-+name = "csv"
-+version = "1.1.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1"
-+dependencies = [
-+ "bstr",
-+ "csv-core",
-+ "itoa",
-+ "ryu",
-+ "serde",
-+]
-+
-+[[package]]
-+name = "csv-core"
-+version = "0.1.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"
-+dependencies = [
-+ "memchr",
-+]
-+
-+[[package]]
-+name = "doc-comment"
-+version = "0.3.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
-+
-+[[package]]
-+name = "either"
-+version = "1.6.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
-+
-+[[package]]
-+name = "fnv"
-+version = "1.0.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-+
-+[[package]]
-+name = "fst"
-+version = "0.4.7"
-+dependencies = [
-+ "doc-comment",
-+ "fnv",
-+ "memmap",
-+ "quickcheck",
-+ "rand 0.7.3",
-+ "utf8-ranges",
-+]
-+
-+[[package]]
-+name = "fst-bench"
-+version = "0.0.1"
-+dependencies = [
-+ "criterion",
-+ "fnv",
-+ "fst",
-+]
-+
-+[[package]]
-+name = "fst-bin"
-+version = "0.4.1"
-+dependencies = [
-+ "anyhow",
-+ "bit-set",
-+ "bstr",
-+ "clap",
-+ "crossbeam-channel 0.4.4",
-+ "csv",
-+ "fst",
-+ "memmap",
-+ "num_cpus",
-+ "regex-automata",
-+ "serde",
-+ "tempfile",
-+]
-+
-+[[package]]
-+name = "getrandom"
-+version = "0.1.16"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-+dependencies = [
-+ "cfg-if 1.0.0",
-+ "libc",
-+ "wasi 0.9.0+wasi-snapshot-preview1",
-+]
-+
-+[[package]]
-+name = "getrandom"
-+version = "0.2.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
-+dependencies = [
-+ "cfg-if 1.0.0",
-+ "libc",
-+ "wasi 0.10.2+wasi-snapshot-preview1",
-+]
-+
-+[[package]]
-+name = "half"
-+version = "1.7.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "62aca2aba2d62b4a7f5b33f3712cb1b0692779a56fb510499d5c0aa594daeaf3"
-+
-+[[package]]
-+name = "hermit-abi"
-+version = "0.1.19"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-+dependencies = [
-+ "libc",
-+]
-+
-+[[package]]
-+name = "itertools"
-+version = "0.10.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf"
-+dependencies = [
-+ "either",
-+]
-+
-+[[package]]
-+name = "itoa"
-+version = "0.4.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
-+
-+[[package]]
-+name = "js-sys"
-+version = "0.3.55"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84"
-+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.102"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a2a5ac8f984bfcf3a823267e5fde638acc3325f6496633a5da6bb6eb2171e103"
-+
-+[[package]]
-+name = "log"
-+version = "0.4.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
-+dependencies = [
-+ "cfg-if 1.0.0",
-+]
-+
-+[[package]]
-+name = "maybe-uninit"
-+version = "2.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
-+
-+[[package]]
-+name = "memchr"
-+version = "2.4.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
-+
-+[[package]]
-+name = "memmap"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b"
-+dependencies = [
-+ "libc",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "memoffset"
-+version = "0.6.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9"
-+dependencies = [
-+ "autocfg",
-+]
-+
-+[[package]]
-+name = "num-traits"
-+version = "0.2.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
-+dependencies = [
-+ "autocfg",
-+]
-+
-+[[package]]
-+name = "num_cpus"
-+version = "1.13.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
-+dependencies = [
-+ "hermit-abi",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "oorandom"
-+version = "11.1.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
-+
-+[[package]]
-+name = "plotters"
-+version = "0.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "32a3fd9ec30b9749ce28cd91f255d569591cdf937fe280c312143e3c4bad6f2a"
-+dependencies = [
-+ "num-traits",
-+ "plotters-backend",
-+ "plotters-svg",
-+ "wasm-bindgen",
-+ "web-sys",
-+]
-+
-+[[package]]
-+name = "plotters-backend"
-+version = "0.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d88417318da0eaf0fdcdb51a0ee6c3bed624333bff8f946733049380be67ac1c"
-+
-+[[package]]
-+name = "plotters-svg"
-+version = "0.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "521fa9638fa597e1dc53e9412a4f9cefb01187ee1f7413076f9e6749e2885ba9"
-+dependencies = [
-+ "plotters-backend",
-+]
-+
-+[[package]]
-+name = "ppv-lite86"
-+version = "0.2.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
-+
-+[[package]]
-+name = "proc-macro2"
-+version = "1.0.29"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d"
-+dependencies = [
-+ "unicode-xid",
-+]
-+
-+[[package]]
-+name = "quickcheck"
-+version = "0.9.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a44883e74aa97ad63db83c4bf8ca490f02b2fc02f92575e720c8551e843c945f"
-+dependencies = [
-+ "rand 0.7.3",
-+ "rand_core 0.5.1",
-+]
-+
-+[[package]]
-+name = "quote"
-+version = "1.0.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
-+dependencies = [
-+ "proc-macro2",
-+]
-+
-+[[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 0.2.0",
-+]
-+
-+[[package]]
-+name = "rand"
-+version = "0.8.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
-+dependencies = [
-+ "libc",
-+ "rand_chacha 0.3.1",
-+ "rand_core 0.6.3",
-+ "rand_hc 0.3.1",
-+]
-+
-+[[package]]
-+name = "rand_chacha"
-+version = "0.2.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-+dependencies = [
-+ "ppv-lite86",
-+ "rand_core 0.5.1",
-+]
-+
-+[[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 0.6.3",
-+]
-+
-+[[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",
-+]
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.6.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
-+dependencies = [
-+ "getrandom 0.2.3",
-+]
-+
-+[[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",
-+]
-+
-+[[package]]
-+name = "rand_hc"
-+version = "0.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7"
-+dependencies = [
-+ "rand_core 0.6.3",
-+]
-+
-+[[package]]
-+name = "rayon"
-+version = "1.5.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90"
-+dependencies = [
-+ "autocfg",
-+ "crossbeam-deque",
-+ "either",
-+ "rayon-core",
-+]
-+
-+[[package]]
-+name = "rayon-core"
-+version = "1.9.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e"
-+dependencies = [
-+ "crossbeam-channel 0.5.1",
-+ "crossbeam-deque",
-+ "crossbeam-utils 0.8.5",
-+ "lazy_static",
-+ "num_cpus",
-+]
-+
-+[[package]]
-+name = "redox_syscall"
-+version = "0.2.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff"
-+dependencies = [
-+ "bitflags",
-+]
-+
-+[[package]]
-+name = "regex"
-+version = "1.5.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
-+dependencies = [
-+ "regex-syntax",
-+]
-+
-+[[package]]
-+name = "regex-automata"
-+version = "0.1.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
-+dependencies = [
-+ "fst",
-+ "regex-syntax",
-+]
-+
-+[[package]]
-+name = "regex-syntax"
-+version = "0.6.25"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
-+
-+[[package]]
-+name = "remove_dir_all"
-+version = "0.5.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
-+dependencies = [
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "rustc_version"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
-+dependencies = [
-+ "semver",
-+]
-+
-+[[package]]
-+name = "ryu"
-+version = "1.0.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
-+
-+[[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 = "scopeguard"
-+version = "1.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-+
-+[[package]]
-+name = "semver"
-+version = "1.0.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012"
-+
-+[[package]]
-+name = "serde"
-+version = "1.0.130"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913"
-+dependencies = [
-+ "serde_derive",
-+]
-+
-+[[package]]
-+name = "serde_cbor"
-+version = "0.11.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5"
-+dependencies = [
-+ "half",
-+ "serde",
-+]
-+
-+[[package]]
-+name = "serde_derive"
-+version = "1.0.130"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "serde_json"
-+version = "1.0.68"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0f690853975602e1bfe1ccbf50504d67174e3bcf340f23b5ea9992e0587a52d8"
-+dependencies = [
-+ "itoa",
-+ "ryu",
-+ "serde",
-+]
-+
-+[[package]]
-+name = "syn"
-+version = "1.0.76"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c6f107db402c2c2055242dbf4d2af0e69197202e9faacbef9571bbe47f5a1b84"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "unicode-xid",
-+]
-+
-+[[package]]
-+name = "tempfile"
-+version = "3.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22"
-+dependencies = [
-+ "cfg-if 1.0.0",
-+ "libc",
-+ "rand 0.8.4",
-+ "redox_syscall",
-+ "remove_dir_all",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "textwrap"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-+dependencies = [
-+ "unicode-width",
-+]
-+
-+[[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 = "unicode-width"
-+version = "0.1.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
-+
-+[[package]]
-+name = "unicode-xid"
-+version = "0.2.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
-+
-+[[package]]
-+name = "utf8-ranges"
-+version = "1.0.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b4ae116fef2b7fea257ed6440d3cfcff7f190865f170cdad00bb6465bf18ecba"
-+
-+[[package]]
-+name = "walkdir"
-+version = "2.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
-+dependencies = [
-+ "same-file",
-+ "winapi",
-+ "winapi-util",
-+]
-+
-+[[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.10.2+wasi-snapshot-preview1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
-+
-+[[package]]
-+name = "wasm-bindgen"
-+version = "0.2.78"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce"
-+dependencies = [
-+ "cfg-if 1.0.0",
-+ "wasm-bindgen-macro",
-+]
-+
-+[[package]]
-+name = "wasm-bindgen-backend"
-+version = "0.2.78"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b"
-+dependencies = [
-+ "bumpalo",
-+ "lazy_static",
-+ "log",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+ "wasm-bindgen-shared",
-+]
-+
-+[[package]]
-+name = "wasm-bindgen-macro"
-+version = "0.2.78"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9"
-+dependencies = [
-+ "quote",
-+ "wasm-bindgen-macro-support",
-+]
-+
-+[[package]]
-+name = "wasm-bindgen-macro-support"
-+version = "0.2.78"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+ "wasm-bindgen-backend",
-+ "wasm-bindgen-shared",
-+]
-+
-+[[package]]
-+name = "wasm-bindgen-shared"
-+version = "0.2.78"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc"
-+
-+[[package]]
-+name = "web-sys"
-+version = "0.3.55"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb"
-+dependencies = [
-+ "js-sys",
-+ "wasm-bindgen",
-+]
-+
-+[[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"
--- 
-2.29.3
-
diff --git a/nixpkgs/pkgs/tools/text/fst/default.nix b/nixpkgs/pkgs/tools/text/fst/default.nix
index 1e3759c6a578..fbd81fbbdbd9 100644
--- a/nixpkgs/pkgs/tools/text/fst/default.nix
+++ b/nixpkgs/pkgs/tools/text/fst/default.nix
@@ -1,28 +1,21 @@
 { lib
-, stdenv
-, fetchFromGitHub
 , rustPlatform
+, fetchCrate
+, stdenv
 , libiconv
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "fst";
-  version = "0.4.7";
+  version = "0.4.2";
 
-  src = fetchFromGitHub {
-    owner = "BurntSushi";
-    repo = pname;
-    rev = version;
-    sha256 = "sha256-fXbX6idoGBtQiKM37C0z89OH/5H2PkZdwYLksXbbakE=";
+  src = fetchCrate {
+    inherit version;
+    crateName = "fst-bin";
+    sha256 = "sha256-m9JDVHy+o4RYLGkYnhOpTuLyJjXtOwwl2SQpzRuz1m0=";
   };
 
-  cargoPatches = [
-    # Add Cargo.lock lockfile, which upstream does not include
-    ./0001-cargo-lockfile.patch
-  ];
-
-  cargoBuildFlags = [ "--workspace" ];
-  cargoSha256 = "sha256-2gy4i4CwZP6LB5ea1LBSfeAV6bNnsvDbxw0Unur0Hm4=";
+  cargoSha256 = "sha256-RMjNk8tE7AYBYgys4IjCCfgPdDgwbYVmrWpWNBOf70E=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
diff --git a/nixpkgs/pkgs/tools/text/gnused/422.nix b/nixpkgs/pkgs/tools/text/gnused/422.nix
index 80aa9f654a6a..6b16f01f2fa1 100644
--- a/nixpkgs/pkgs/tools/text/gnused/422.nix
+++ b/nixpkgs/pkgs/tools/text/gnused/422.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation {
 
     platforms = lib.platforms.all;
     maintainers = [ ];
+    mainProgram = "sed";
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/gnused/default.nix b/nixpkgs/pkgs/tools/text/gnused/default.nix
index 23b2794bf13f..32f6f30cb1ac 100644
--- a/nixpkgs/pkgs/tools/text/gnused/default.nix
+++ b/nixpkgs/pkgs/tools/text/gnused/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
 
     platforms = lib.platforms.unix;
     maintainers = with lib.maintainers; [ mic92 ];
+    mainProgram = "sed";
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/hck/default.nix b/nixpkgs/pkgs/tools/text/hck/default.nix
index c17488bf67ac..00ab04a56c66 100644
--- a/nixpkgs/pkgs/tools/text/hck/default.nix
+++ b/nixpkgs/pkgs/tools/text/hck/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hck";
-  version = "0.6.5";
+  version = "0.6.6";
 
   src = fetchFromGitHub {
     owner = "sstadick";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+gBxZCBJmwe92DhfVorkfXsjpjkgm7JO/p/SHta9ly8=";
+    sha256 = "sha256-DUFJZEtJM5Sv41zJvSZ8KsNWFzlictM2T1wS7VxPL04=";
   };
 
-  cargoSha256 = "sha256-lAKMaUrXjplh5YhMZuLhTNDQBzDPHCfFrELHicwgi6U=";
+  cargoSha256 = "sha256-kubQL+p7J2koPDOje5wMxKDeCY4yi0kupfHsJCKYf44=";
 
   nativeBuildInputs = [ cmake ];
 
diff --git a/nixpkgs/pkgs/tools/text/highlight/default.nix b/nixpkgs/pkgs/tools/text/highlight/default.nix
index f44ddc9d0e91..82d5eab5086f 100644
--- a/nixpkgs/pkgs/tools/text/highlight/default.nix
+++ b/nixpkgs/pkgs/tools/text/highlight/default.nix
@@ -20,7 +20,12 @@ let
 
     buildInputs = [ getopt lua boost ];
 
-    prePatch = lib.optionalString stdenv.cc.isClang ''
+    prePatch = ''
+      substituteInPlace src/makefile \
+        --replace "shell pkg-config" "shell $PKG_CONFIG"
+      substituteInPlace makefile \
+        --replace 'gzip' 'gzip -n'
+    '' + lib.optionalString stdenv.cc.isClang ''
       substituteInPlace src/makefile \
           --replace 'CXX=g++' 'CXX=clang++'
     '';
diff --git a/nixpkgs/pkgs/tools/text/kakasi/default.nix b/nixpkgs/pkgs/tools/text/kakasi/default.nix
index d2cf1f701ee9..fa509f1b4a72 100644
--- a/nixpkgs/pkgs/tools/text/kakasi/default.nix
+++ b/nixpkgs/pkgs/tools/text/kakasi/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   pname = "kakasi";
   version = "2.3.6";
 
-  buildInputs = lib.optional stdenv.isDarwin [ libiconv ];
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
   meta = with lib; {
     description = "Kanji Kana Simple Inverter";
diff --git a/nixpkgs/pkgs/tools/text/mdbook-graphviz/default.nix b/nixpkgs/pkgs/tools/text/mdbook-graphviz/default.nix
new file mode 100644
index 000000000000..d8412605dcbe
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/mdbook-graphviz/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices, graphviz }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "mdbook-graphviz";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "dylanowen";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-wIgWaCjJrrajvUZbJjpx9P4urN2/eVo3+Za2NjTKWvM=";
+  };
+
+  cargoSha256 = "sha256-F8JuEk0ztB7jfcPNjU9vGsr3HLEJ2DmWGWxvdbLuyvQ=";
+
+  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
+
+  checkInputs = [ graphviz ];
+
+  meta = with lib; {
+    description = "A preprocessor for mdbook, rendering Graphviz graphs to HTML at build time.";
+    homepage = "https://github.com/dylanowen/mdbook-graphviz";
+    license = [ licenses.mpl20 ];
+    maintainers = with maintainers; [ lovesegfault ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/mdbook-katex/default.nix b/nixpkgs/pkgs/tools/text/mdbook-katex/default.nix
new file mode 100644
index 000000000000..a97e7ca89483
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/mdbook-katex/default.nix
@@ -0,0 +1,24 @@
+{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "mdbook-katex";
+  version = "0.2.10";
+
+  src = fetchFromGitHub {
+    owner = "lzanini";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-5PzXX7icRxcHpzjp3x/9ssn2o0444uHrzBn1Ds1DEPM=";
+  };
+
+  cargoSha256 = "sha256-tqdpIBlKiyYSWFPYTnzVeDML2GM+mukbOHS3sNYUgdc=";
+
+  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
+
+  meta = with lib; {
+    description = "A preprocessor for mdbook, rendering LaTeX equations to HTML at build time.";
+    homepage = "https://github.com/lzanini/${pname}";
+    license = [ licenses.mit ];
+    maintainers = with maintainers; [ lovesegfault ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/rpl/default.nix b/nixpkgs/pkgs/tools/text/rpl/default.nix
index 97a30211621c..1677e9c3f962 100644
--- a/nixpkgs/pkgs/tools/text/rpl/default.nix
+++ b/nixpkgs/pkgs/tools/text/rpl/default.nix
@@ -1,22 +1,37 @@
-{ lib, fetchFromGitHub, pythonPackages }:
+{ lib, fetchFromGitHub, python3Packages }:
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "rpl";
-  version = "1.5.7";
+  version = "1.10";
 
   # Tests not included in pip package.
   doCheck = false;
 
+
   src = fetchFromGitHub {
-    owner  = "kcoyner";
-    repo   = "rpl";
-    rev    = "v${version}";
-    sha256 = "1xhpgcmq91ivy9ijfyz5ilg51m7fz8ar2077r7gq246j8gbf8ggr";
+    owner = "rrthomas";
+    repo = "rpl";
+    rev = "4467bd46a7a798f738247a7f090c1505176bd597";
+    sha256 = "0yf3pc3fws4nnh4nd8d3jpglmsyi69d17qqgpcnkpqca5l4cd25w";
   };
 
+  patches = [
+    ./remove-argparse-manpage.diff # quickfix for ImportError: No module named build_manpages.build_manpages
+  ];
+
+  buildInputs = [
+    #python3Packages.argparse-manpage # TODO
+    python3Packages.chardet
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv rpl $out/bin
+  '';
+
   meta = with lib; {
     description = "Replace strings in files";
-    homepage    = "https://github.com/kcoyner/rpl";
+    homepage    = "https://github.com/rrthomas/rpl";
     license     = licenses.gpl2;
     maintainers = with maintainers; [ teto ];
   };
diff --git a/nixpkgs/pkgs/tools/text/rpl/remove-argparse-manpage.diff b/nixpkgs/pkgs/tools/text/rpl/remove-argparse-manpage.diff
new file mode 100644
index 000000000000..8d3297699682
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/rpl/remove-argparse-manpage.diff
@@ -0,0 +1,27 @@
+diff --git a/setup.cfg b/setup.cfg
+index 12e9198..38e5376 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -15,7 +15,6 @@ classifiers =
+ [options]
+ scripts = rpl
+ python_requires = >=3
+-setup_requires = argparse-manpage
+ install_requires = chardet
+ 
+ [options.extras_require]
+diff --git a/setup.py b/setup.py
+index 96cade6..879fc44 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1,9 +1,8 @@
+-from build_manpages.build_manpages import get_install_cmd
+ from setuptools import setup
+ from setuptools.command.install import install
+ 
+ setup(
+     cmdclass={
+-        'install': get_install_cmd(install),
++        'install': install,
+     }
+ )
diff --git a/nixpkgs/pkgs/tools/text/sad/default.nix b/nixpkgs/pkgs/tools/text/sad/default.nix
index 2b748d60d1fe..fcf75ed7a877 100644
--- a/nixpkgs/pkgs/tools/text/sad/default.nix
+++ b/nixpkgs/pkgs/tools/text/sad/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sad";
-  version = "0.4.14";
+  version = "0.4.17";
 
   src = fetchFromGitHub {
     owner = "ms-jpq";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03b6qxkn8sqv06gs4p6wg02arz0n9llc3z92zhfd5ipz8han83fd";
+    sha256 = "sha256-dclnsncql3TFOZ4z6SyIAWe4bgAFK3Us3xJ0AeX/wNA=";
   };
 
-  cargoSha256 = "13nkd4354siy8pr2032bxz2z5x8b378mccq6pnm71cpl9dl6w4ad";
+  cargoSha256 = "sha256-jej7JKSllBpb13Zq0WrcDPLdMtnjau8I0a4ghstHVqk=";
 
   meta = with lib; {
     description = "CLI tool to search and replace";
diff --git a/nixpkgs/pkgs/tools/text/shfmt/default.nix b/nixpkgs/pkgs/tools/text/shfmt/default.nix
index b7b344ab135a..faf813fb905b 100644
--- a/nixpkgs/pkgs/tools/text/shfmt/default.nix
+++ b/nixpkgs/pkgs/tools/text/shfmt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "shfmt";
-  version = "3.3.1";
+  version = "3.4.0";
 
   src = fetchFromGitHub {
     owner = "mvdan";
     repo = "sh";
     rev = "v${version}";
-    sha256 = "sha256-43v64TQS1xpmU9pyjSTgV03n7xYJR+JAfZVoK3vwbiY=";
+    sha256 = "sha256-Bxb4BlvAmJQhog3bZEGHJlrpXNqXpokkipBszPzRHSk=";
   };
 
-  vendorSha256 = "sha256-t1Zdn+NaHrKde6F5o86e+FmN3tH55YpZLuDhTv2lIf4=";
+  vendorSha256 = "sha256-ZYsQ+wE+G7xNrBN29npSxxPCz9+Wb/RsBzM5uwJkhO8=";
 
   subPackages = [ "cmd/shfmt" ];
 
diff --git a/nixpkgs/pkgs/tools/text/tidy-viewer/default.nix b/nixpkgs/pkgs/tools/text/tidy-viewer/default.nix
new file mode 100644
index 000000000000..4cb99ca26cea
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/tidy-viewer/default.nix
@@ -0,0 +1,29 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "tidy-viewer";
+  version = "0.0.22";
+
+  src = fetchFromGitHub {
+    owner = "alexhallam";
+    repo = "tv";
+    rev = version;
+    sha256 = "sha256-OuNpp9EKiU+fQSZZO7zpI36nCiZBXK6OznJGY4KMftU=";
+  };
+
+  cargoSha256 = "sha256-LRoNGDOrbCjmZJRe+EUKxkDJjC92bQRRwP48jqDp9PU=";
+
+  # this test parses command line arguments
+  # error: Found argument '--test-threads' which wasn't expected, or isn't valid in this context
+  checkFlags = [
+    "--skip=build_reader_can_create_reader_without_file_specified"
+  ];
+
+  meta = with lib; {
+    description = "A cross-platform CLI csv pretty printer that uses column styling to maximize viewer enjoyment";
+    homepage = "https://github.com/alexhallam/tv";
+    changelog = "https://github.com/alexhallam/tv/blob/${version}/CHANGELOG.md";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/vale/default.nix b/nixpkgs/pkgs/tools/text/vale/default.nix
index 25a98d299a75..fc350162845a 100644
--- a/nixpkgs/pkgs/tools/text/vale/default.nix
+++ b/nixpkgs/pkgs/tools/text/vale/default.nix
@@ -2,19 +2,19 @@
 
 buildGoModule rec {
   pname = "vale";
-  version = "2.10.6";
+  version = "2.11.2";
 
   subPackages = [ "cmd/vale" ];
   outputs = [ "out" "data" ];
 
   src = fetchFromGitHub {
-    owner  = "errata-ai";
-    repo   = "vale";
-    rev    = "v${version}";
-    sha256 = "sha256-exBrs/MQhfqCxAJrnxECdKnxvsK9LvXIqpnYkR5h7uA=";
+    owner = "errata-ai";
+    repo = "vale";
+    rev = "v${version}";
+    sha256 = "1g8k9723d1xmx918f60lpla52ly90rz6z0ffzwsb2rh62r3h80h5";
   };
 
-  vendorSha256 = "sha256-3rCrRA9OKG2/wUlVvkG9lynJZOYFVqMkUZpGpW89KZc=";
+  vendorSha256 = "0czxigagjbqdzzgmh1iw3q0d4sj6635384lnn1w5smws8nsqr9ia";
 
   postInstall = ''
     mkdir -p $data/share/vale
diff --git a/nixpkgs/pkgs/tools/text/wgetpaste/default.nix b/nixpkgs/pkgs/tools/text/wgetpaste/default.nix
index a3a7a8bd54ac..ce757401b360 100644
--- a/nixpkgs/pkgs/tools/text/wgetpaste/default.nix
+++ b/nixpkgs/pkgs/tools/text/wgetpaste/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, wget, bash }:
 
 stdenv.mkDerivation rec {
-  version = "2.30";
   pname = "wgetpaste";
+  version = "2.32";
 
   src = fetchurl {
-    url = "http://wgetpaste.zlin.dk/${pname}-${version}.tar.bz2";
-    sha256 = "14k5i6j6f34hcf9gdb9cnvfwscn0ys2dgd73ci421wj9zzqkbv73";
+    url = "https://github.com/zlin/wgetpaste/releases/download/${version}/wgetpaste-${version}.tar.xz";
+    sha256 = "04yv1hndxhrc5axwiw1yy0yrw1kli5fk4yj4267l7xdwqzxvl7b2";
   };
   # currently zsh-autocompletion support is not installed
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Command-line interface to various pastebins";
-    homepage = "http://wgetpaste.zlin.dk/";
+    homepage = "https://github.com/zlin/wgetpaste";
     license = lib.licenses.publicDomain;
     maintainers = with lib.maintainers; [ qknight domenkozar ];
     platforms = lib.platforms.all;
diff --git a/nixpkgs/pkgs/tools/typesetting/coq2html/default.nix b/nixpkgs/pkgs/tools/typesetting/coq2html/default.nix
new file mode 100644
index 000000000000..924eea3c0a86
--- /dev/null
+++ b/nixpkgs/pkgs/tools/typesetting/coq2html/default.nix
@@ -0,0 +1,36 @@
+{ lib, stdenv, fetchFromGitHub, ocaml }:
+
+stdenv.mkDerivation  rec {
+  pname = "coq2html";
+  version = "1.3";
+
+  src = fetchFromGitHub {
+    owner = "xavierleroy";
+    repo = "coq2html";
+    rev = "v${version}";
+    sha256 = "sha256:1ad825yifn518wk1c2y2ji10q3m468r8ajjgw2nzzy7d608nx7yq";
+  };
+
+  nativeBuildInputs = [ ocaml ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp coq2html $out/bin
+  '';
+
+  meta = with lib; {
+    description = "HTML documentation generator for Coq source files";
+    longDescription = ''
+      coq2html is an HTML documentation generator for Coq source files. It is
+      an alternative to the standard coqdoc documentation generator
+      distributed along with Coq. The major feature of coq2html is its ability
+      to fold proof scripts: in the generated HTML, proof scripts are
+      initially hidden, but can be revealed one by one by clicking on the
+      "Proof" keyword.
+    '';
+    homepage = "https://github.com/xavierleroy/coq2html";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ jwiegley siraben ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/typesetting/lowdown/default.nix b/nixpkgs/pkgs/tools/typesetting/lowdown/default.nix
index 6800e6bccd8f..32907ea3fb75 100644
--- a/nixpkgs/pkgs/tools/typesetting/lowdown/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/lowdown/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lowdown";
-  version = "0.8.6";
+  version = "0.9.2";
 
   outputs = [ "out" "lib" "dev" "man" ];
 
   src = fetchurl {
     url = "https://kristaps.bsd.lv/lowdown/snapshots/lowdown-${version}.tar.gz";
-    sha512 = "3lvy23zg0hpixrf06g8hh15h2c9wwa0wa95vh2hp924kdi2akqcp2i313chycx1cmmg379w4v80ha2726ala69zxzk42y6djc8vm3xd";
+    sha512 = "2dnjyx3q46n7v1wl46vfgs9rhb3kvhijsd3ydq6amdf6vlf4mf1zsiakd5iycdh0i799zq61yspsibc87mcrs8l289lnwl955avs068";
   };
 
   nativeBuildInputs = [ which ]
diff --git a/nixpkgs/pkgs/tools/typesetting/tectonic/default.nix b/nixpkgs/pkgs/tools/typesetting/tectonic/default.nix
index 9cbf9ac7e2f9..bfd0bfb64bf1 100644
--- a/nixpkgs/pkgs/tools/typesetting/tectonic/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tectonic/default.nix
@@ -13,17 +13,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tectonic";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "tectonic-typesetting";
     repo = "tectonic";
     rev = "tectonic@${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-CMvT9DouwERhDtBsLDesxN/QgEEfXLgtJaQLjq+SzOI=";
+    sha256 = "1x6pxzl2fxv0ldfdlgm5x2pcbkny8cf2b4gpk8yj8hhnn1ypim1w";
   };
 
-  cargoSha256 = "sha256-zGsb49yt6SRFfvNHZY+RpjihGpV9ziLsg9BII7WTX2Y=";
+  cargoSha256 = "0v5jc26icz83ssky85c8l92jcmglq9f2jbihfh4yqanpmwbpp5fl";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
diff --git a/nixpkgs/pkgs/tools/typesetting/xmlto/default.nix b/nixpkgs/pkgs/tools/typesetting/xmlto/default.nix
index 73007b137199..4b64c8e97783 100644
--- a/nixpkgs/pkgs/tools/typesetting/xmlto/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/xmlto/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     '';
 
     license = lib.licenses.gpl2Plus;
-    homepage = "https://fedorahosted.org/xmlto/";
+    homepage = "https://pagure.io/xmlto/";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/virtualization/extra-container/default.nix b/nixpkgs/pkgs/tools/virtualization/extra-container/default.nix
new file mode 100644
index 000000000000..ad0601a5243a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/virtualization/extra-container/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, lib, nixos-container, openssh, glibcLocales, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "extra-container";
+  version = "0.8";
+
+  src = fetchFromGitHub {
+    owner = "erikarvstedt";
+    repo = pname;
+    rev = version;
+    hash = "sha256-/AetqDPkz32JMdjbSdzZCBVmGbvzjeAb8Wv82iTgHFE=";
+  };
+
+  buildCommand = ''
+    install -D $src/extra-container $out/bin/extra-container
+    patchShebangs $out/bin
+    share=$out/share/extra-container
+    install $src/eval-config.nix -Dt $share
+
+    # Use existing PATH for systemctl and machinectl
+    scriptPath="export PATH=${lib.makeBinPath [ nixos-container openssh ]}:\$PATH"
+
+    sed -i \
+      -e "s|evalConfig=.*|evalConfig=$share/eval-config.nix|" \
+      -e "s|LOCALE_ARCHIVE=.*|LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive|" \
+      -e "2i$scriptPath" \
+      $out/bin/extra-container
+  '';
+
+  meta = with lib; {
+    description = "Run declarative containers without full system rebuilds";
+    homepage = https://github.com/erikarvstedt/extra-container;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.earvstedt ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/virtualization/linode-cli/update.sh b/nixpkgs/pkgs/tools/virtualization/linode-cli/update.sh
index 281d0e1df970..dd37e41c5373 100755
--- a/nixpkgs/pkgs/tools/virtualization/linode-cli/update.sh
+++ b/nixpkgs/pkgs/tools/virtualization/linode-cli/update.sh
@@ -1,7 +1,7 @@
 #!/usr/bin/env nix-shell
 #!nix-shell -i bash -p curl gnugrep gnused jq yq-go
 
-set -eu -o pipefail
+set -x -eu -o pipefail
 
 cd $(dirname "${BASH_SOURCE[0]}")
 
@@ -21,7 +21,7 @@ VERSION=$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \
 SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/linode/linode-cli/archive/refs/tags/${VERSION}.tar.gz)
 
 setKV () {
-  sed -i "s/$1 = \".*\"/$1 = \"$2\"/" default.nix
+    sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ./default.nix
 }
 
 setKV specVersion ${SPEC_VERSION}
diff --git a/nixpkgs/pkgs/tools/virtualization/mininet/default.nix b/nixpkgs/pkgs/tools/virtualization/mininet/default.nix
index 78ddc8e6dfd5..ccc79d36c8f6 100644
--- a/nixpkgs/pkgs/tools/virtualization/mininet/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/mininet/default.nix
@@ -1,15 +1,15 @@
 { stdenv, lib, fetchFromGitHub
 , which
-, python
+, python3
 , help2man
 }:
 
 let
-  pyEnv = python.withPackages(ps: [ ps.setuptools ]);
+  pyEnv = python3.withPackages(ps: [ ps.setuptools ]);
 in
 stdenv.mkDerivation rec {
   pname = "mininet";
-  version = "2.3.0d6";
+  version = "2.3.0";
 
   outputs = [ "out" "py" ];
 
@@ -17,14 +17,16 @@ stdenv.mkDerivation rec {
     owner = "mininet";
     repo = "mininet";
     rev = version;
-    sha256 = "0wc6gni9dxj9jjnw66a28jdvcfm8bxv1i776m5dh002bn5wjcl6x";
+    sha256 = "sha256-bCppmeB+zQMKTptnzhsXtl72XJXU3USo7cQgP1Z6SrY=";
   };
 
   buildFlags = [ "mnexec" ];
   makeFlags = [ "PREFIX=$(out)" ];
 
-  pythonPath = [ python.pkgs.setuptools ];
-  buildInputs = [ python which help2man ];
+  pythonPath = [ python3.pkgs.setuptools ];
+  nativeBuildInputs = [ help2man ];
+
+  propagatedBuildInputs = [ python3 which ];
 
   installTargets = [ "install-mnexec" "install-manpages" ];
 
@@ -40,7 +42,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Emulator for rapid prototyping of Software Defined Networks";
     license = {
-      fullName = "Mininet 2.3.0d6 License";
+      fullName = "Mininet 2.3.0 License";
     };
     platforms = platforms.linux;
     homepage = "https://github.com/mininet/mininet";
diff --git a/nixpkgs/pkgs/tools/wayland/sirula/default.nix b/nixpkgs/pkgs/tools/wayland/sirula/default.nix
index b58f37368f03..c95cbd00c5d5 100644
--- a/nixpkgs/pkgs/tools/wayland/sirula/default.nix
+++ b/nixpkgs/pkgs/tools/wayland/sirula/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sirula";
-  version = "unstable-2021-07-11";
+  version = "unstable-2021-10-12";
 
   src = fetchFromGitHub {
     owner = "DorianRudolph";
     repo = "sirula";
-    rev = "574725bc307fc704c42380cd0fa50b0b80c4764d";
-    sha256 = "1m58j1hymjw4l2z1jdfirw1vb3rblc1qffpvc2lqy99frfz0dlvp";
+    rev = "b300cabde03ec4d8c28ed84e318166b675fb4a77";
+    sha256 = "0pxdgjpqaf1bq1y1flafg0ksk8548rif6pfbw0lp31p655pq95c8";
   };
 
-  cargoSha256 = "0wk90p20qkbpr866h8cvdshr8cl2kmc3dh2zxws5mlsh3sx2ld4w";
+  cargoSha256 = "175rl09jmnj8pd5isyp2chnn66vdz1c16fgqhnjsxvbcasmn8vdj";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/tools/wayland/swaycwd/default.nix b/nixpkgs/pkgs/tools/wayland/swaycwd/default.nix
index 401144f74d2a..d8fec3fd15c6 100644
--- a/nixpkgs/pkgs/tools/wayland/swaycwd/default.nix
+++ b/nixpkgs/pkgs/tools/wayland/swaycwd/default.nix
@@ -1,36 +1,38 @@
-{ lib, nimPackages, fetchFromGitLab
+{ lib
+, nimPackages
+, fetchFromGitLab
 , enableShells ? [ "bash" "zsh" "fish" "sh" "posh" ]
 }:
+nimPackages.buildNimPackage rec{
 
-nimPackages.buildNimPackage {
-    name = "swaycwd";
-    version = "0.0.1";
+  name = "swaycwd";
+  version = "0.0.2";
 
-    src = fetchFromGitLab {
-      owner = "cab404";
-      repo = "swaycwd";
-      rev = "aca81695ec2102b9bca6f5bae364f69a8b9d399f";
-      hash = "sha256-MkyY3wWByQo0l0J28xKDfGtxfazVPRyZHCObl9Fszh4=";
-    };
+  src = fetchFromGitLab {
+    owner = "cab404";
+    repo = name;
+    rev = "v${version}";
+    hash = "sha256-OZWOPtOqcX+fVQCxWntrn98EzFu70WH55rfYCPDMSKk=";
+  };
 
-    preConfigure = ''
-      {
-        echo 'let enabledShells: seq[string] = @${builtins.toJSON enableShells}'
-        echo 'export enabledShells'
-      } > shells.nim
-      cat << EOF > swaycwd.nimble
-      srcDir = "."
-      bin = "swaycwd"
-      EOF
-    '';
+  preConfigure = ''
+    {
+      echo 'let enabledShells: seq[string] = @${builtins.toJSON enableShells}'
+      echo 'export enabledShells'
+    } > shells.nim
+    cat << EOF > swaycwd.nimble
+    srcDir = "."
+    bin = "swaycwd"
+    EOF
+  '';
 
-    nimFlags = [ "--opt:speed" ];
+  nimFlags = [ "--opt:speed" ];
 
-    meta = with lib; {
-      homepage = "https://gitlab.com/cab404/swaycwd";
-      description = "Returns cwd for shell in currently focused sway window, or home directory if cannot find shell";
-      maintainers = with maintainers; [ cab404 ];
-      platforms = platforms.linux;
-      license = licenses.gpl3Only;
-    };
+  meta = with lib; {
+    homepage = "https://gitlab.com/cab404/swaycwd";
+    description = "Returns cwd for shell in currently focused sway window, or home directory if cannot find shell";
+    maintainers = with maintainers; [ cab404 ];
+    platforms = platforms.linux;
+    license = licenses.gpl3Only;
+  };
 }
diff --git a/nixpkgs/pkgs/tools/wayland/swayr/default.nix b/nixpkgs/pkgs/tools/wayland/swayr/default.nix
index bb20222a9bef..195c0b1bf385 100644
--- a/nixpkgs/pkgs/tools/wayland/swayr/default.nix
+++ b/nixpkgs/pkgs/tools/wayland/swayr/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "swayr";
-  version = "0.6.2";
+  version = "0.7.0";
 
   src = fetchFromSourcehut {
     owner = "~tsdh";
     repo = "swayr";
     rev = "v${version}";
-    sha256 = "sha256-ZnZ9g8o1+VfhpDqxqtknNJ7dcyt5yuQcH3txxA3HICU=";
+    sha256 = "sha256-B19cHdoiCbxhvRGi3NzKPKneKgOI4+l8+Qg9/YVgUV8=";
   };
 
-  cargoSha256 = "sha256-0EhHFxbQi3Jgu13pXIjYYFYDEOQjwN5h+jE+22gJG0s=";
+  cargoSha256 = "sha256-iO64K+d/wEyY/tVztIG8zYSha5X0iTHV7IDVthMJQGA=";
 
   patches = [
     ./icon-paths.patch
diff --git a/nixpkgs/pkgs/tools/wayland/wshowkeys/default.nix b/nixpkgs/pkgs/tools/wayland/wshowkeys/default.nix
index 00dc1d74910d..32fb81fe1886 100644
--- a/nixpkgs/pkgs/tools/wayland/wshowkeys/default.nix
+++ b/nixpkgs/pkgs/tools/wayland/wshowkeys/default.nix
@@ -1,20 +1,17 @@
-{ lib, stdenv, fetchFromSourcehut
+{ lib, stdenv, fetchFromGitHub
 , meson, pkg-config, wayland-scanner, ninja
 , cairo, libinput, pango, wayland, wayland-protocols, libxkbcommon
 }:
 
-let
-  version = "2020-03-29";
-  commit = "6388a49e0f431d6d5fcbd152b8ae4fa8e87884ee";
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "wshowkeys-unstable";
-  inherit version;
+  version = "2021-08-01";
 
-  src = fetchFromSourcehut {
-    owner = "~sircmpwn";
+  src = fetchFromGitHub {
+    owner = "ammgws";
     repo = "wshowkeys";
-    rev = commit;
-    sha256 = "10kafdja5cwbypspwhvaxjz3hvf51vqjzbgdasl977193cvxgmbs";
+    rev = "e8bfc78f08ebdd1316daae59ecc77e62bba68b2b";
+    sha256 = "sha256-/HvNCQWsXOJZeCxHWmsLlbBDhBzF7XP/SPLdDiWMDC4=";
   };
 
   nativeBuildInputs = [ meson pkg-config wayland-scanner ninja ];
@@ -29,13 +26,11 @@ in stdenv.mkDerivation rec {
       permissions are dropped after startup. The NixOS module provides such a
       setuid binary (use "programs.wshowkeys.enable = true;").
     '';
-    homepage = "https://git.sr.ht/~sircmpwn/wshowkeys";
+    homepage = "https://github.com/ammgws/wshowkeys";
     license = with licenses; [ gpl3Only mit ];
     # Some portions of the code are taken from Sway which is MIT licensed.
     # TODO: gpl3Only or gpl3Plus (ask upstream)?
     platforms = platforms.unix;
     maintainers = with maintainers; [ primeos berbiche ];
-    broken = true; # Unmaintained and fails to run (Wayland protocol error)
-    # TODO (@primeos): Remove this package after the NixOS 21.11 branch-off
   };
 }