summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/arduino/arduino-cli/default.nix4
-rw-r--r--pkgs/development/compilers/chicken/5/chicken.nix17
-rw-r--r--pkgs/development/compilers/llvm/12/llvm/default.nix1
-rw-r--r--pkgs/development/compilers/openjdk/11.nix4
-rw-r--r--pkgs/development/compilers/smlnj/bootstrap.nix4
-rw-r--r--pkgs/development/compilers/smlnj/default.nix14
-rw-r--r--pkgs/development/compilers/vlang/default.nix17
-rw-r--r--pkgs/development/coq-modules/semantics/default.nix46
-rw-r--r--pkgs/development/interpreters/dhall/build-dhall-github-package.nix9
-rw-r--r--pkgs/development/interpreters/dhall/build-dhall-package.nix14
-rw-r--r--pkgs/development/interpreters/hy/builder.nix40
-rw-r--r--pkgs/development/interpreters/hy/default.nix50
-rw-r--r--pkgs/development/interpreters/php/7.4.nix49
-rw-r--r--pkgs/development/interpreters/php/8.0.nix48
-rw-r--r--pkgs/development/interpreters/php/generic.nix280
-rw-r--r--pkgs/development/libraries/SDL/default.nix5
-rw-r--r--pkgs/development/libraries/appstream/default.nix4
-rw-r--r--pkgs/development/libraries/boca/default.nix4
-rw-r--r--pkgs/development/libraries/intel-gmmlib/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kimageformats.nix11
-rw-r--r--pkgs/development/libraries/libaec/default.nix4
-rw-r--r--pkgs/development/libraries/libhandy/default.nix4
-rw-r--r--pkgs/development/libraries/libint/default.nix76
-rw-r--r--pkgs/development/libraries/libint/fix-paths.patch96
-rw-r--r--pkgs/development/libraries/libjxl/default.nix106
-rw-r--r--pkgs/development/libraries/libpg_query/default.nix4
-rw-r--r--pkgs/development/libraries/libstatgrab/default.nix10
-rw-r--r--pkgs/development/libraries/libtgvoip/default.nix25
-rw-r--r--pkgs/development/libraries/mauikit/default.nix2
-rw-r--r--pkgs/development/libraries/mimalloc/default.nix38
-rw-r--r--pkgs/development/libraries/openmpi/default.nix30
-rw-r--r--pkgs/development/libraries/science/astronomy/indilib/default.nix4
-rw-r--r--pkgs/development/libraries/science/astronomy/indilib/indi-full.nix4
-rw-r--r--pkgs/development/libraries/science/math/p4est-sc/default.nix62
-rw-r--r--pkgs/development/libraries/science/math/p4est/default.nix59
-rw-r--r--pkgs/development/libraries/science/math/p4est/p4est-metis.patch26
-rw-r--r--pkgs/development/libraries/smooth/default.nix4
-rw-r--r--pkgs/development/libraries/thrift/default.nix4
-rw-r--r--pkgs/development/libraries/virglrenderer/default.nix4
-rw-r--r--pkgs/development/libraries/volk/default.nix15
-rw-r--r--pkgs/development/libraries/wlroots/0.13.nix55
-rw-r--r--pkgs/development/node-packages/node-packages.nix1845
-rw-r--r--pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.x.nix (renamed from pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.1.x.nix)6
-rw-r--r--pkgs/development/ocaml-modules/ppx_deriving/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ppxlib/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/stringext/default.nix30
-rw-r--r--pkgs/development/ocaml-modules/torch/default.nix1
-rw-r--r--pkgs/development/perl-modules/strip-nondeterminism/default.nix3
-rw-r--r--pkgs/development/php-packages/event/default.nix4
-rw-r--r--pkgs/development/php-packages/igbinary/default.nix4
-rw-r--r--pkgs/development/php-packages/imagick/default.nix19
-rw-r--r--pkgs/development/php-packages/mongodb/default.nix14
-rw-r--r--pkgs/development/php-packages/php-cs-fixer/default.nix4
-rw-r--r--pkgs/development/php-packages/phpstan/default.nix4
-rw-r--r--pkgs/development/php-packages/protobuf/default.nix4
-rw-r--r--pkgs/development/php-packages/psalm/default.nix4
-rw-r--r--pkgs/development/python-modules/adafruit-platformdetect/default.nix4
-rw-r--r--pkgs/development/python-modules/adafruit-pureio/default.nix4
-rw-r--r--pkgs/development/python-modules/adblock/default.nix7
-rw-r--r--pkgs/development/python-modules/aiocoap/default.nix32
-rw-r--r--pkgs/development/python-modules/aiohomekit/default.nix4
-rw-r--r--pkgs/development/python-modules/aiomodernforms/default.nix43
-rw-r--r--pkgs/development/python-modules/aiomusiccast/default.nix43
-rw-r--r--pkgs/development/python-modules/aiosignal/default.nix4
-rw-r--r--pkgs/development/python-modules/alpha-vantage/default.nix49
-rw-r--r--pkgs/development/python-modules/async-dns/default.nix15
-rw-r--r--pkgs/development/python-modules/asyncstdlib/default.nix4
-rw-r--r--pkgs/development/python-modules/bizkaibus/default.nix35
-rw-r--r--pkgs/development/python-modules/debian-inspector/default.nix17
-rw-r--r--pkgs/development/python-modules/dtlssocket/default.nix34
-rw-r--r--pkgs/development/python-modules/enturclient/default.nix12
-rw-r--r--pkgs/development/python-modules/env-canada/default.nix55
-rw-r--r--pkgs/development/python-modules/extractcode/7z.nix5
-rw-r--r--pkgs/development/python-modules/extractcode/libarchive.nix4
-rw-r--r--pkgs/development/python-modules/fordpass/default.nix35
-rw-r--r--pkgs/development/python-modules/forecast-solar/default.nix35
-rw-r--r--pkgs/development/python-modules/geopandas/default.nix34
-rw-r--r--pkgs/development/python-modules/guppy3/default.nix4
-rw-r--r--pkgs/development/python-modules/hass-nabucasa/default.nix4
-rw-r--r--pkgs/development/python-modules/hikvision/default.nix35
-rw-r--r--pkgs/development/python-modules/hstspreload/default.nix4
-rw-r--r--pkgs/development/python-modules/lmnotify/default.nix30
-rw-r--r--pkgs/development/python-modules/maestral/default.nix4
-rw-r--r--pkgs/development/python-modules/malduck/default.nix6
-rw-r--r--pkgs/development/python-modules/matrix-nio/default.nix4
-rw-r--r--pkgs/development/python-modules/mcstatus/default.nix4
-rw-r--r--pkgs/development/python-modules/msal-extensions/default.nix8
-rw-r--r--pkgs/development/python-modules/netmap/default.nix43
-rw-r--r--pkgs/development/python-modules/netmap/nmap-path.patch17
-rw-r--r--pkgs/development/python-modules/ofxparse/default.nix14
-rwxr-xr-xpkgs/development/python-modules/osmnx/default.nix11
-rw-r--r--pkgs/development/python-modules/pefile/default.nix32
-rw-r--r--pkgs/development/python-modules/portalocker/default.nix27
-rw-r--r--pkgs/development/python-modules/pubnub/default.nix4
-rw-r--r--pkgs/development/python-modules/pyahocorasick/default.nix4
-rw-r--r--pkgs/development/python-modules/pycritty/default.nix32
-rw-r--r--pkgs/development/python-modules/pyfreedompro/default.nix34
-rw-r--r--pkgs/development/python-modules/pyfritzhome/default.nix6
-rw-r--r--pkgs/development/python-modules/pyhomepilot/default.nix35
-rw-r--r--pkgs/development/python-modules/pypdf3/default.nix36
-rw-r--r--pkgs/development/python-modules/pyqt-builder/default.nix5
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix108
-rw-r--r--pkgs/development/python-modules/pyqt/pyqt5-fix-dbus-mainloop-support.patch24
-rw-r--r--pkgs/development/python-modules/pyqtwebengine/default.nix66
-rw-r--r--pkgs/development/python-modules/pyrfxtrx/default.nix33
-rw-r--r--pkgs/development/python-modules/pyrituals/default.nix4
-rw-r--r--pkgs/development/python-modules/pystray/default.nix4
-rw-r--r--pkgs/development/python-modules/pysyncobj/default.nix4
-rw-r--r--pkgs/development/python-modules/pysyncthru/default.nix42
-rw-r--r--pkgs/development/python-modules/pytenable/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-cases/default.nix4
-rw-r--r--pkgs/development/python-modules/python-http-client/default.nix4
-rw-r--r--pkgs/development/python-modules/python-ipmi/default.nix41
-rw-r--r--pkgs/development/python-modules/python-izone/default.nix11
-rw-r--r--pkgs/development/python-modules/python-juicenet/default.nix33
-rw-r--r--pkgs/development/python-modules/python-songpal/default.nix68
-rw-r--r--pkgs/development/python-modules/pytibber/default.nix4
-rw-r--r--pkgs/development/python-modules/pytradfri/default.nix40
-rw-r--r--pkgs/development/python-modules/qscintilla-qt5/default.nix20
-rw-r--r--pkgs/development/python-modules/rasterio/default.nix9
-rw-r--r--pkgs/development/python-modules/requests-pkcs12/default.nix4
-rw-r--r--pkgs/development/python-modules/sip/4.x.nix2
-rw-r--r--pkgs/development/python-modules/sip/default.nix6
-rw-r--r--pkgs/development/python-modules/skidl/default.nix18
-rw-r--r--pkgs/development/python-modules/smart-meter-texas/default.nix43
-rw-r--r--pkgs/development/python-modules/smarthab/default.nix32
-rw-r--r--pkgs/development/python-modules/somfy-mylink-synergy/default.nix31
-rw-r--r--pkgs/development/python-modules/sonarr/default.nix41
-rw-r--r--pkgs/development/python-modules/srpenergy/default.nix40
-rw-r--r--pkgs/development/python-modules/starline/default.nix36
-rw-r--r--pkgs/development/python-modules/synologydsm-api/default.nix57
-rw-r--r--pkgs/development/python-modules/tern/0001-Replace-debut-with-debian-inspector.patch40
-rw-r--r--pkgs/development/python-modules/tern/default.nix9
-rw-r--r--pkgs/development/python-modules/total-connect-client/default.nix39
-rw-r--r--pkgs/development/python-modules/trezor/default.nix5
-rw-r--r--pkgs/development/python-modules/upb-lib/default.nix36
-rw-r--r--pkgs/development/python-modules/upcloud-api/default.nix37
-rw-r--r--pkgs/development/python-modules/yq/jq-path.patch14
-rw-r--r--pkgs/development/python-modules/zwave-js-server-python/default.nix4
-rw-r--r--pkgs/development/r-modules/default.nix1
-rw-r--r--pkgs/development/tools/analysis/cargo-tarpaulin/default.nix6
-rw-r--r--pkgs/development/tools/analysis/checkstyle/default.nix4
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix2
-rw-r--r--pkgs/development/tools/analysis/frama-c/default.nix12
-rw-r--r--pkgs/development/tools/analysis/smatch/default.nix25
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/bear/default.nix4
-rw-r--r--pkgs/development/tools/buildah/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix8
-rw-r--r--pkgs/development/tools/database/sqlfluff/default.nix4
-rw-r--r--pkgs/development/tools/efm-langserver/default.nix23
-rw-r--r--pkgs/development/tools/esbuild/default.nix4
-rw-r--r--pkgs/development/tools/flawfinder/default.nix20
-rw-r--r--pkgs/development/tools/ginkgo/default.nix4
-rw-r--r--pkgs/development/tools/go-minimock/default.nix6
-rw-r--r--pkgs/development/tools/just/default.nix8
-rw-r--r--pkgs/development/tools/kustomize/3.nix40
-rw-r--r--pkgs/development/tools/kustomize/kustomize-sops.nix4
-rw-r--r--pkgs/development/tools/mbed-cli/default.nix2
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/ocamlformat/generic.nix2
-rw-r--r--pkgs/development/tools/ocaml/utop/default.nix4
-rw-r--r--pkgs/development/tools/protoc-gen-go/default.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-flash/default.nix6
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix6
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/no-rust-1-53-features.patch52
-rw-r--r--pkgs/development/tools/skopeo/default.nix4
-rw-r--r--pkgs/development/tools/stylua/default.nix6
-rw-r--r--pkgs/development/tools/turbogit/default.nix12
-rw-r--r--pkgs/development/tools/unity3d/default.nix2
-rw-r--r--pkgs/development/web/deno/default.nix6
-rw-r--r--pkgs/development/web/protege-distribution/default.nix39
-rw-r--r--pkgs/development/web/protege-distribution/disable-console-log.patch28
-rw-r--r--pkgs/development/web/protege-distribution/static-path.patch16
174 files changed, 3527 insertions, 1957 deletions
diff --git a/pkgs/development/arduino/arduino-cli/default.nix b/pkgs/development/arduino/arduino-cli/default.nix
index 9629d90a345..84c39dba900 100644
--- a/pkgs/development/arduino/arduino-cli/default.nix
+++ b/pkgs/development/arduino/arduino-cli/default.nix
@@ -46,6 +46,10 @@ if stdenv.isLinux then
     extraInstallCommands = ''
       mv $out/bin/$name $out/bin/arduino-cli
     '';
+
+    targetPkgs = pkgs: with pkgs; [
+      zlib
+    ];
   }
 else
   pkg
diff --git a/pkgs/development/compilers/chicken/5/chicken.nix b/pkgs/development/compilers/chicken/5/chicken.nix
index 9f2554b7343..136140359f0 100644
--- a/pkgs/development/compilers/chicken/5/chicken.nix
+++ b/pkgs/development/compilers/chicken/5/chicken.nix
@@ -1,7 +1,6 @@
 { lib, stdenv, fetchurl, makeWrapper, darwin, bootstrap-chicken ? null }:
 
 let
-  version = "5.2.0";
   platform = with stdenv;
     if isDarwin then "macosx"
     else if isCygwin then "cygwin"
@@ -9,9 +8,9 @@ let
     else if isSunOS then "solaris"
     else "linux"; # Should be a sane default
 in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "chicken";
-  inherit version;
+  version = "5.2.0";
 
   binaryVersion = 11;
 
@@ -42,17 +41,21 @@ stdenv.mkDerivation {
     for f in $out/bin/*
     do
       wrapProgram $f \
-        --prefix PATH : ${stdenv.cc}/bin
+        --prefix PATH : ${lib.makeBinPath [ stdenv.cc ]}
     done
   '';
 
-  # TODO: Assert csi -R files -p '(pathname-file (repository-path))' == binaryVersion
+  doCheck = true;
+  postCheck = ''
+    ./csi -R chicken.pathname -R chicken.platform \
+       -p "(assert (equal? \"${toString binaryVersion}\" (pathname-file (car (repository-path)))))"
+  '';
 
   meta = {
-    homepage = "http://www.call-cc.org/";
+    homepage = "https://call-cc.org/";
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ corngood ];
-    platforms = lib.platforms.linux ++ lib.platforms.darwin; # Maybe other Unix
+    platforms = lib.platforms.unix;
     description = "A portable compiler for the Scheme programming language";
     longDescription = ''
       CHICKEN is a compiler for the Scheme programming language.
diff --git a/pkgs/development/compilers/llvm/12/llvm/default.nix b/pkgs/development/compilers/llvm/12/llvm/default.nix
index d2365745b98..8413f0f5745 100644
--- a/pkgs/development/compilers/llvm/12/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/12/llvm/default.nix
@@ -96,6 +96,7 @@ in stdenv.mkDerivation (rec {
     rm test/DebugInfo/X86/convert-debugloc.ll
     rm test/DebugInfo/X86/convert-inlined.ll
     rm test/DebugInfo/X86/convert-linked.ll
+    rm test/DebugInfo/X86/vla-multi.ll
     rm test/tools/dsymutil/X86/op-convert.test
   '' + optionalString (stdenv.hostPlatform.system == "armv6l-linux") ''
     # Seems to require certain floating point hardware (NEON?)
diff --git a/pkgs/development/compilers/openjdk/11.nix b/pkgs/development/compilers/openjdk/11.nix
index d7aaf2dcb55..bf85fd35335 100644
--- a/pkgs/development/compilers/openjdk/11.nix
+++ b/pkgs/development/compilers/openjdk/11.nix
@@ -11,7 +11,7 @@
 let
   major = "11";
   minor = "0";
-  update = "10";
+  update = "11";
   build = "9";
 
   openjdk = stdenv.mkDerivation rec {
@@ -22,7 +22,7 @@ let
       owner = "openjdk";
       repo = "jdk${major}u";
       rev = "jdk-${version}";
-      sha256 = "06pm3hpz4ggiqwvkgzxr39y9kga7vk4flakfznz5979bvgb926vw";
+      sha256 = "0jncsj424340xjfwv6sx5hy9sas80qa3ymkx0ng3by3z01y5rgfx";
     };
 
     nativeBuildInputs = [ pkg-config autoconf unzip ];
diff --git a/pkgs/development/compilers/smlnj/bootstrap.nix b/pkgs/development/compilers/smlnj/bootstrap.nix
index 91eb9fc8417..aacebd48e9e 100644
--- a/pkgs/development/compilers/smlnj/bootstrap.nix
+++ b/pkgs/development/compilers/smlnj/bootstrap.nix
@@ -1,3 +1,7 @@
+# This derivation should be redundant, now that regular smlnj works on Darwin,
+# and is preserved only for pre-existing direct usage. New use cases should
+# just use the regular smlnj derivation.
+
 { lib, stdenv, fetchurl, cpio, rsync, xar, makeWrapper }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/compilers/smlnj/default.nix b/pkgs/development/compilers/smlnj/default.nix
index 3e987e8ccda..d6d50f0303f 100644
--- a/pkgs/development/compilers/smlnj/default.nix
+++ b/pkgs/development/compilers/smlnj/default.nix
@@ -1,11 +1,9 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, Libsystem }:
 let
   version = "110.95";
   baseurl = "http://smlnj.cs.uchicago.edu/dist/working/${version}";
 
-  isArch64 = stdenv.system == "x86_64-linux";
-
-  arch = if isArch64
+  arch = if stdenv.is64bit
     then "64"
     else "32";
 
@@ -14,7 +12,7 @@ let
   boot64 = { url = "${baseurl}/boot.amd64-unix.tgz";
              sha256 = "1zn96a83kb6bn6228yfjsvb58m2qxw9k4j3qz0p9c8za479w4ch6"; };
 
-  bootBinary = if isArch64
+  bootBinary = if stdenv.is64bit
                then boot64
                else boot32;
 
@@ -53,6 +51,10 @@ in stdenv.mkDerivation {
     sed -i '/PATH=/d' config/_arch-n-opsys base/runtime/config/gen-posix-names.sh
     echo SRCARCHIVEURL="file:/$TMP" > config/srcarchiveurl
     patch --verbose config/_heap2exec ${./heap2exec.diff}
+  '' + lib.optionalString stdenv.isDarwin ''
+    # Locate standard headers like <unistd.h>
+    substituteInPlace base/runtime/config/gen-posix-names.sh \
+      --replace "\$SDK_PATH/usr" "${Libsystem}"
   '';
 
   unpackPhase = ''
@@ -83,7 +85,7 @@ in stdenv.mkDerivation {
     description = "Standard ML of New Jersey, a compiler";
     homepage    = "http://smlnj.org";
     license     = licenses.bsd3;
-    platforms   = [ "x86_64-linux" "i686-linux" ];
+    platforms   = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
     maintainers = with maintainers; [ thoughtpolice ];
   };
 }
diff --git a/pkgs/development/compilers/vlang/default.nix b/pkgs/development/compilers/vlang/default.nix
index f53d6d4c382..326fb9eff7d 100644
--- a/pkgs/development/compilers/vlang/default.nix
+++ b/pkgs/development/compilers/vlang/default.nix
@@ -4,13 +4,13 @@ assert stdenv.hostPlatform.isUnix -> upx != null;
 
 stdenv.mkDerivation rec {
   pname = "vlang";
-  version = "0.1.21";
+  version = "weekly.2021.25";
 
   src = fetchFromGitHub {
     owner = "vlang";
     repo = "v";
     rev = version;
-    sha256 = "0npd7a7nhd6r9mr99naib9scqk30209hz18nxif27284ckjbl4fk";
+    sha256 = "0y4a5rmpcdqina32d6azbmsbi3zqqfl413sicg72x6a1pm2vg33j";
   };
 
   # V compiler source translated to C for bootstrap.
@@ -18,18 +18,19 @@ stdenv.mkDerivation rec {
   vc = fetchFromGitHub {
     owner = "vlang";
     repo = "vc";
-    rev = "950a90b6acaebad1c6ddec5486fc54307e38a9cd";
-    sha256 = "1dh5l2m207rip1xj677hvbp067inw28n70ddz5wxzfpmaim63c0l";
+    rev = "3201d2dd2faadfa370da0bad2a749a664ad5ade3";
+    sha256 = "0xzkjdph5wfjr3qfkihgc27vsbbjh2l31rp8z2avq9hc531hwvrz";
   };
 
-  enableParallelBuilding = true;
   propagatedBuildInputs = [ glfw freetype openssl ]
     ++ lib.optional stdenv.hostPlatform.isUnix upx;
 
   buildPhase = ''
     runHook preBuild
     cc -std=gnu11 $CFLAGS -w -o v $vc/v.c -lm $LDFLAGS
-    ./v -prod -cflags `$CFLAGS` -o v compiler
+    # vlang seems to want to write to $HOME/.vmodules,
+    # so lets give it a writable HOME
+    HOME=$PWD ./v -prod self
     # Exclude thirdparty/vschannel as it is windows-specific.
     find thirdparty -path thirdparty/vschannel -prune -o -type f -name "*.c" -execdir cc -std=gnu11 $CFLAGS -w -c {} $LDFLAGS ';'
     runHook postBuild
@@ -39,8 +40,8 @@ stdenv.mkDerivation rec {
     runHook preInstall
     mkdir -p $out/{bin,lib,share}
     cp -r examples $out/share
-    cp -r {vlib,thirdparty} $out/lib
-    cp v $out/lib
+    cp -r {cmd,vlib,thirdparty} $out/lib
+    mv v $out/lib
     ln -s $out/lib/v $out/bin/v
     runHook postInstall
   '';
diff --git a/pkgs/development/coq-modules/semantics/default.nix b/pkgs/development/coq-modules/semantics/default.nix
new file mode 100644
index 00000000000..1fb01312e66
--- /dev/null
+++ b/pkgs/development/coq-modules/semantics/default.nix
@@ -0,0 +1,46 @@
+{ lib, mkCoqDerivation, coq, version ? null }:
+with lib;
+
+mkCoqDerivation rec {
+  pname = "semantics";
+  owner = "coq-community";
+  releaseRev = v: "v${v}";
+
+  release."8.13.0".sha256 = "sha256-8bDr/Ovl6s8BFaRcHeS5H33/K/pYdeKfSN+krVuKulQ=";
+  release."8.11.1".sha256 = "sha256-jTPgcXSNn1G2mMDC7ocFcmqs8svB7Yo1emXP15iuxiU=";
+  release."8.9.0".sha256 = "sha256-UBsvzlDEZsZsVkbUI0GbFEhpxnnLCiaqlqDyWVC5I6s=";
+  release."8.8.0".sha256 = "sha256-k2nQyNw9KT3wY7bGy8KGILF44sLxkBYqdFpzFE9fgyw=";
+  release."8.7.0".sha256 = "sha256-k2nQyNw9KT3wY7bGy8KGILF44sLxkBYqdFpzFE9fgyw=";
+  release."8.6.0".sha256 = "sha256-GltkGQ3tJqUPAbdDkqqvKLLhMOap50XvGaCkjshiNdY=";
+
+  inherit version;
+  defaultVersion = with versions; switch coq.coq-version [
+    { case = isGe "8.13"; out = "8.13.0"; }
+    { case = "8.11"; out = "8.11.1"; }
+    { case = "8.9"; out = "8.9.0"; }
+    { case = "8.8"; out = "8.8.0"; }
+    { case = "8.7"; out = "8.7.0"; }
+    { case = "8.6"; out = "8.6.0"; }
+  ] null;
+
+  mlPlugin = true;
+  extraBuildInputs = (with coq.ocamlPackages; [ num ocamlbuild ]);
+
+  postPatch = ''
+    for p in Make Makefile.coq.local
+    do
+      substituteInPlace $p --replace "-libs nums" "-use-ocamlfind -package num" || true
+    done
+  '';
+
+  meta = {
+    description = "A survey of programming language semantics styles in Coq";
+    longDescription = ''
+      A survey of semantics styles in Coq, from natural semantics through
+      structural operational, axiomatic, and denotational semantics, to
+      abstract interpretation
+    '';
+    maintainers = with maintainers; [ siraben ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/interpreters/dhall/build-dhall-github-package.nix b/pkgs/development/interpreters/dhall/build-dhall-github-package.nix
index 53adc5a9b12..8f9e4d83551 100644
--- a/pkgs/development/interpreters/dhall/build-dhall-github-package.nix
+++ b/pkgs/development/interpreters/dhall/build-dhall-github-package.nix
@@ -43,7 +43,7 @@ lib.makePackageOverridable
         "rev"
       ]);
 
-      prefix = lib.optionalString (directory != "") "${directory}/";
+      prefix = lib.optionalString (directory != "") "/${directory}";
 
     in
       buildDhallPackage
@@ -51,9 +51,12 @@ lib.makePackageOverridable
 
             name = versionedName;
 
-            code = "${src}/${prefix}${file}";
+            code = "${src}${prefix}/${file}";
           }
         // lib.optionalAttrs document
-          { documentationRoot = "${src}/${prefix}"; }
+          { documentationRoot = "${src}/${prefix}";
+
+            baseImportUrl = "https://raw.githubusercontent.com/${owner}/${repo}/${rev}${prefix}";
+          }
         )
   )
diff --git a/pkgs/development/interpreters/dhall/build-dhall-package.nix b/pkgs/development/interpreters/dhall/build-dhall-package.nix
index 9fc9a441215..86797e9f136 100644
--- a/pkgs/development/interpreters/dhall/build-dhall-package.nix
+++ b/pkgs/development/interpreters/dhall/build-dhall-package.nix
@@ -37,6 +37,12 @@
   #
   # If `null`, then no documentation is generated.
 , documentationRoot ? null
+
+  # Base URL prepended to paths copied to the clipboard
+  #
+  # This is used in conjunction with `documentationRoot`, and is unused if
+  # `documentationRoot` is `null`.
+, baseImportUrl ? null
 }:
 
 let
@@ -85,6 +91,12 @@ in
     ${lib.optionalString (documentationRoot != null) ''
     mkdir -p $out/${dataDhall}
 
-    XDG_DATA_HOME=$out/${data} ${dhall-docs}/bin/dhall-docs --input '${documentationRoot}' --package-name '${name}' --output-link $out/docs
+    XDG_DATA_HOME=$out/${data} ${dhall-docs}/bin/dhall-docs --output-link $out/docs ${lib.cli.toGNUCommandLineShell { } {
+      base-import-url = baseImportUrl;
+
+      input = documentationRoot;
+
+      package-name = name;
+    }}
     ''}
   ''
diff --git a/pkgs/development/interpreters/hy/builder.nix b/pkgs/development/interpreters/hy/builder.nix
new file mode 100644
index 00000000000..6757f859ac1
--- /dev/null
+++ b/pkgs/development/interpreters/hy/builder.nix
@@ -0,0 +1,40 @@
+{ lib
+, python3Packages
+, hyDefinedPythonPackages /* Packages like with python.withPackages */
+, ...
+}:
+python3Packages.buildPythonApplication rec {
+  pname = "hy";
+  version = "1.0a1";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-lCrbvbkeutSNmvvn/eHpTnJwPb5aEH7hWTXYSE+AJmU=";
+  };
+
+  checkInputs = with python3Packages; [ flake8 pytest ];
+
+  propagatedBuildInputs = with python3Packages; [
+    appdirs
+    astor
+    clint
+    colorama
+    fastentrypoints
+    funcparserlib
+    rply
+    pygments
+  ] ++ (hyDefinedPythonPackages python3Packages);
+
+  # Hy does not include tests in the source distribution from PyPI, so only test executable.
+  checkPhase = ''
+    $out/bin/hy --help > /dev/null
+  '';
+
+  meta = with lib; {
+    description = "A LISP dialect embedded in Python";
+    homepage = "https://hylang.org/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ nixy mazurel ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/interpreters/hy/default.nix b/pkgs/development/interpreters/hy/default.nix
index e39bf915cfc..f5d80c11d71 100644
--- a/pkgs/development/interpreters/hy/default.nix
+++ b/pkgs/development/interpreters/hy/default.nix
@@ -1,37 +1,15 @@
-{ lib, python3Packages }:
-
-python3Packages.buildPythonApplication rec {
-  pname = "hy";
-  version = "0.19.0";
-
-  src = python3Packages.fetchPypi {
-    inherit pname version;
-    sha256 = "05k05qmiiysiwdc05sxmanwhv1crfwbb3l8swxfisbzbvmv1snis";
-  };
-
-  checkInputs = with python3Packages; [ flake8 pytest ];
-
-  propagatedBuildInputs = with python3Packages; [
-    appdirs
-    astor
-    clint
-    colorama
-    fastentrypoints
-    funcparserlib
-    rply
-    pygments
-  ];
-
-  # Hy does not include tests in the source distribution from PyPI, so only test executable.
-  checkPhase = ''
-    $out/bin/hy --help > /dev/null
-  '';
-
-  meta = with lib; {
-    description = "A LISP dialect embedded in Python";
-    homepage = "http://hylang.org/";
-    license = licenses.mit;
-    maintainers = with maintainers; [ nixy ];
-    platforms = platforms.all;
-  };
+{ lib
+, callPackage
+, hyDefinedPythonPackages ? python-packages: [] /* Packages like with python.withPackages */
+}:
+let
+  withPackages = (
+    python-packages: callPackage ./builder.nix {
+      hyDefinedPythonPackages = python-packages;
+    }
+  );
+in
+(withPackages hyDefinedPythonPackages) // {
+  # Export withPackages function for hy customization
+  inherit withPackages;
 }
diff --git a/pkgs/development/interpreters/php/7.4.nix b/pkgs/development/interpreters/php/7.4.nix
index c4e566ee27c..7640e6bc646 100644
--- a/pkgs/development/interpreters/php/7.4.nix
+++ b/pkgs/development/interpreters/php/7.4.nix
@@ -6,10 +6,47 @@ let
     sha256 = "0d5ncz97y0271dsmz269wl4721vhq2fn6pmm9rxglc756p36pnha";
   });
 
-in base.withExtensions ({ all, ... }: with all; ([
-  bcmath calendar curl ctype dom exif fileinfo filter ftp gd
-  gettext gmp iconv intl json ldap mbstring mysqli mysqlnd opcache
-  openssl pcntl pdo pdo_mysql pdo_odbc pdo_pgsql pdo_sqlite pgsql
-  posix readline session simplexml sockets soap sodium sqlite3
-  tokenizer xmlreader xmlwriter zip zlib
+in
+base.withExtensions ({ all, ... }: with all; ([
+  bcmath
+  calendar
+  curl
+  ctype
+  dom
+  exif
+  fileinfo
+  filter
+  ftp
+  gd
+  gettext
+  gmp
+  iconv
+  intl
+  json
+  ldap
+  mbstring
+  mysqli
+  mysqlnd
+  opcache
+  openssl
+  pcntl
+  pdo
+  pdo_mysql
+  pdo_odbc
+  pdo_pgsql
+  pdo_sqlite
+  pgsql
+  posix
+  readline
+  session
+  simplexml
+  sockets
+  soap
+  sodium
+  sqlite3
+  tokenizer
+  xmlreader
+  xmlwriter
+  zip
+  zlib
 ] ++ lib.optionals (!stdenv.isDarwin) [ imap ]))
diff --git a/pkgs/development/interpreters/php/8.0.nix b/pkgs/development/interpreters/php/8.0.nix
index 90f7c3b796c..294f100dedd 100644
--- a/pkgs/development/interpreters/php/8.0.nix
+++ b/pkgs/development/interpreters/php/8.0.nix
@@ -6,10 +6,46 @@ let
     sha256 = "0yazcc9x66xg1gmi3rpgk891g6s3mm7aywcadqfqnx1mdz4z5ckj";
   });
 
-in base.withExtensions ({ all, ... }: with all; ([
-  bcmath calendar curl ctype dom exif fileinfo filter ftp gd
-  gettext gmp iconv intl ldap mbstring mysqli mysqlnd opcache
-  openssl pcntl pdo pdo_mysql pdo_odbc pdo_pgsql pdo_sqlite pgsql
-  posix readline session simplexml sockets soap sodium sqlite3
-  tokenizer xmlreader xmlwriter zip zlib
+in
+base.withExtensions ({ all, ... }: with all; ([
+  bcmath
+  calendar
+  curl
+  ctype
+  dom
+  exif
+  fileinfo
+  filter
+  ftp
+  gd
+  gettext
+  gmp
+  iconv
+  intl
+  ldap
+  mbstring
+  mysqli
+  mysqlnd
+  opcache
+  openssl
+  pcntl
+  pdo
+  pdo_mysql
+  pdo_odbc
+  pdo_pgsql
+  pdo_sqlite
+  pgsql
+  posix
+  readline
+  session
+  simplexml
+  sockets
+  soap
+  sodium
+  sqlite3
+  tokenizer
+  xmlreader
+  xmlwriter
+  zip
+  zlib
 ] ++ lib.optionals (!stdenv.isDarwin) [ imap ]))
diff --git a/pkgs/development/interpreters/php/generic.nix b/pkgs/development/interpreters/php/generic.nix
index d64349eaa93..f181db108a4 100644
--- a/pkgs/development/interpreters/php/generic.nix
+++ b/pkgs/development/interpreters/php/generic.nix
@@ -3,17 +3,36 @@
 
 let
   generic =
-    { callPackage, lib, stdenv, nixosTests, fetchurl, makeWrapper
-    , symlinkJoin, writeText, autoconf, automake, bison, flex, libtool
-    , pkg-config, re2c, apacheHttpd, libargon2, libxml2, pcre2
-    , systemd, system-sendmail, valgrind, xcbuild
+    { callPackage
+    , lib
+    , stdenv
+    , nixosTests
+    , fetchurl
+    , makeWrapper
+    , symlinkJoin
+    , writeText
+    , autoconf
+    , automake
+    , bison
+    , flex
+    , libtool
+    , pkg-config
+    , re2c
+    , apacheHttpd
+    , libargon2
+    , libxml2
+    , pcre2
+    , systemd
+    , system-sendmail
+    , valgrind
+    , xcbuild
 
     , version
     , sha256
-    , extraPatches ? []
-    , packageOverrides ? (final: prev: {})
+    , extraPatches ? [ ]
+    , packageOverrides ? (final: prev: { })
 
-    # Sapi flags
+      # Sapi flags
     , cgiSupport ? true
     , cliSupport ? true
     , fpmSupport ? true
@@ -21,7 +40,7 @@ let
     , pharSupport ? true
     , phpdbgSupport ? true
 
-    # Misc flags
+      # Misc flags
     , apxs2Support ? !stdenv.isDarwin
     , argon2Support ? true
     , cgotoSupport ? false
@@ -43,101 +62,103 @@ let
       # expected.
       mkBuildEnv = prevArgs: prevExtensionFunctions: lib.makeOverridable (
         { extensions ? ({ enabled, ... }: enabled), extraConfig ? "", ... }@innerArgs:
-          let
-            allArgs = args // prevArgs // innerArgs;
-            filteredArgs = builtins.removeAttrs allArgs [ "extensions" "extraConfig" ];
-            php = generic filteredArgs;
-
-            php-packages = (callPackage ../../../top-level/php-packages.nix {
-              phpPackage = phpWithExtensions;
-            }).overrideScope' packageOverrides;
-
-            allExtensionFunctions = prevExtensionFunctions ++ [ extensions ];
-            enabledExtensions =
-              builtins.foldl'
-                (enabled: f:
-                  f { inherit enabled; all = php-packages.extensions; })
-                []
-                allExtensionFunctions;
-
-            getExtName = ext: lib.removePrefix "php-" (builtins.parseDrvName ext.name).name;
-
-            # Recursively get a list of all internal dependencies
-            # for a list of extensions.
-            getDepsRecursively = extensions:
-              let
-                deps = lib.concatMap
-                         (ext: (ext.internalDeps or []) ++ (ext.peclDeps or []))
-                         extensions;
-              in
-                if ! (deps == []) then
-                  deps ++ (getDepsRecursively deps)
-                else
-                  deps;
-
-            # Generate extension load configuration snippets from the
-            # extension parameter. This is an attrset suitable for use
-            # with textClosureList, which is used to put the strings in
-            # the right order - if a plugin which is dependent on
-            # another plugin is placed before its dependency, it will
-            # fail to load.
-            extensionTexts =
-              lib.listToAttrs
-                (map (ext:
+        let
+          allArgs = args // prevArgs // innerArgs;
+          filteredArgs = builtins.removeAttrs allArgs [ "extensions" "extraConfig" ];
+          php = generic filteredArgs;
+
+          php-packages = (callPackage ../../../top-level/php-packages.nix {
+            phpPackage = phpWithExtensions;
+          }).overrideScope' packageOverrides;
+
+          allExtensionFunctions = prevExtensionFunctions ++ [ extensions ];
+          enabledExtensions =
+            builtins.foldl'
+              (enabled: f:
+                f { inherit enabled; all = php-packages.extensions; })
+              [ ]
+              allExtensionFunctions;
+
+          getExtName = ext: lib.removePrefix "php-" (builtins.parseDrvName ext.name).name;
+
+          # Recursively get a list of all internal dependencies
+          # for a list of extensions.
+          getDepsRecursively = extensions:
+            let
+              deps = lib.concatMap
+                (ext: (ext.internalDeps or [ ]) ++ (ext.peclDeps or [ ]))
+                extensions;
+            in
+            if ! (deps == [ ]) then
+              deps ++ (getDepsRecursively deps)
+            else
+              deps;
+
+          # Generate extension load configuration snippets from the
+          # extension parameter. This is an attrset suitable for use
+          # with textClosureList, which is used to put the strings in
+          # the right order - if a plugin which is dependent on
+          # another plugin is placed before its dependency, it will
+          # fail to load.
+          extensionTexts =
+            lib.listToAttrs
+              (map
+                (ext:
                   let
                     extName = getExtName ext;
-                    phpDeps = (ext.internalDeps or []) ++ (ext.peclDeps or []);
+                    phpDeps = (ext.internalDeps or [ ]) ++ (ext.peclDeps or [ ]);
                     type = "${lib.optionalString (ext.zendExtension or false) "zend_"}extension";
                   in
-                    lib.nameValuePair extName {
-                      text = "${type}=${ext}/lib/php/extensions/${extName}.so";
-                      deps = map getExtName phpDeps;
-                    })
-                  (enabledExtensions ++ (getDepsRecursively enabledExtensions)));
-
-            extNames = map getExtName enabledExtensions;
-            extraInit = writeText "php-extra-init-${version}.ini" ''
-              ${lib.concatStringsSep "\n"
-                (lib.textClosureList extensionTexts extNames)}
-              ${extraConfig}
-            '';
-
-            phpWithExtensions = symlinkJoin {
-              name = "php-with-extensions-${version}";
-              inherit (php) version;
-              nativeBuildInputs = [ makeWrapper ];
-              passthru = php.passthru // {
-                buildEnv = mkBuildEnv allArgs allExtensionFunctions;
-                withExtensions = mkWithExtensions allArgs allExtensionFunctions;
-                phpIni = "${phpWithExtensions}/lib/php.ini";
-                unwrapped = php;
-                # Select the right php tests for the php version
-                tests = nixosTests."php${lib.strings.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor php.version)}";
-                inherit (php-packages) extensions buildPecl;
-                packages = php-packages.tools;
-                meta = php.meta // {
-                  outputsToInstall = [ "out" ];
-                };
+                  lib.nameValuePair extName {
+                    text = "${type}=${ext}/lib/php/extensions/${extName}.so";
+                    deps = map getExtName phpDeps;
+                  })
+                (enabledExtensions ++ (getDepsRecursively enabledExtensions)));
+
+          extNames = map getExtName enabledExtensions;
+          extraInit = writeText "php-extra-init-${version}.ini" ''
+            ${lib.concatStringsSep "\n"
+              (lib.textClosureList extensionTexts extNames)}
+            ${extraConfig}
+          '';
+
+          phpWithExtensions = symlinkJoin {
+            name = "php-with-extensions-${version}";
+            inherit (php) version;
+            nativeBuildInputs = [ makeWrapper ];
+            passthru = php.passthru // {
+              buildEnv = mkBuildEnv allArgs allExtensionFunctions;
+              withExtensions = mkWithExtensions allArgs allExtensionFunctions;
+              phpIni = "${phpWithExtensions}/lib/php.ini";
+              unwrapped = php;
+              # Select the right php tests for the php version
+              tests = nixosTests."php${lib.strings.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor php.version)}";
+              inherit (php-packages) extensions buildPecl mkExtension;
+              packages = php-packages.tools;
+              meta = php.meta // {
+                outputsToInstall = [ "out" ];
               };
-              paths = [ php ];
-              postBuild = ''
-                ln -s ${extraInit} $out/lib/php.ini
-
-                if test -e $out/bin/php; then
-                  wrapProgram $out/bin/php --set PHP_INI_SCAN_DIR $out/lib
-                fi
-
-                if test -e $out/bin/php-fpm; then
-                  wrapProgram $out/bin/php-fpm --set PHP_INI_SCAN_DIR $out/lib
-                fi
-
-                if test -e $out/bin/phpdbg; then
-                  wrapProgram $out/bin/phpdbg --set PHP_INI_SCAN_DIR $out/lib
-                fi
-              '';
             };
-          in
-            phpWithExtensions);
+            paths = [ php ];
+            postBuild = ''
+              ln -s ${extraInit} $out/lib/php.ini
+
+              if test -e $out/bin/php; then
+                wrapProgram $out/bin/php --set PHP_INI_SCAN_DIR $out/lib
+              fi
+
+              if test -e $out/bin/php-fpm; then
+                wrapProgram $out/bin/php-fpm --set PHP_INI_SCAN_DIR $out/lib
+              fi
+
+              if test -e $out/bin/phpdbg; then
+                wrapProgram $out/bin/phpdbg --set PHP_INI_SCAN_DIR $out/lib
+              fi
+            '';
+          };
+        in
+        phpWithExtensions
+      );
 
       mkWithExtensions = prevArgs: prevExtensionFunctions: extensions:
         mkBuildEnv prevArgs prevExtensionFunctions { inherit extensions; };
@@ -182,13 +203,13 @@ let
         # Enable sapis
         ++ lib.optional (!cgiSupport) "--disable-cgi"
         ++ lib.optional (!cliSupport) "--disable-cli"
-        ++ lib.optional fpmSupport    "--enable-fpm"
+        ++ lib.optional fpmSupport "--enable-fpm"
         ++ lib.optional pearSupport [ "--with-pear" "--enable-xml" "--with-libxml" ]
         ++ lib.optionals (pearSupport && (lib.versionOlder version "7.4")) [
           "--enable-libxml"
           "--with-libxml-dir=${libxml2.dev}"
         ]
-        ++ lib.optional pharSupport   "--enable-phar"
+        ++ lib.optional pharSupport "--enable-phar"
         ++ lib.optional (!phpdbgSupport) "--disable-phpdbg"
 
 
@@ -211,33 +232,33 @@ let
       hardeningDisable = [ "bindnow" ];
 
       preConfigure =
-      # Don't record the configure flags since this causes unnecessary
-      # runtime dependencies
-      ''
-        for i in main/build-defs.h.in scripts/php-config.in; do
-          substituteInPlace $i \
-            --replace '@CONFIGURE_COMMAND@' '(omitted)' \
-            --replace '@CONFIGURE_OPTIONS@' "" \
-            --replace '@PHP_LDFLAGS@' ""
-        done
-
-        export EXTENSION_DIR=$out/lib/php/extensions
-      ''
-      # PKG_CONFIG need not be a relative path
-      + lib.optionalString (! lib.versionAtLeast version "7.4") ''
-        for i in $(find . -type f -name "*.m4"); do
-          substituteInPlace $i \
-            --replace 'test -x "$PKG_CONFIG"' 'type -P "$PKG_CONFIG" >/dev/null'
-        done
-      '' + ''
-        ./buildconf --copy --force
-
-        if test -f $src/genfiles; then
-          ./genfiles
-        fi
-      '' + lib.optionalString stdenv.isDarwin ''
-        substituteInPlace configure --replace "-lstdc++" "-lc++"
-      '';
+        # Don't record the configure flags since this causes unnecessary
+        # runtime dependencies
+        ''
+          for i in main/build-defs.h.in scripts/php-config.in; do
+            substituteInPlace $i \
+              --replace '@CONFIGURE_COMMAND@' '(omitted)' \
+              --replace '@CONFIGURE_OPTIONS@' "" \
+              --replace '@PHP_LDFLAGS@' ""
+          done
+
+          export EXTENSION_DIR=$out/lib/php/extensions
+        ''
+        # PKG_CONFIG need not be a relative path
+        + lib.optionalString (!lib.versionAtLeast version "7.4") ''
+          for i in $(find . -type f -name "*.m4"); do
+            substituteInPlace $i \
+              --replace 'test -x "$PKG_CONFIG"' 'type -P "$PKG_CONFIG" >/dev/null'
+          done
+        '' + ''
+          ./buildconf --copy --force
+
+          if test -f $src/genfiles; then
+            ./genfiles
+          fi
+        '' + lib.optionalString stdenv.isDarwin ''
+          substituteInPlace configure --replace "-lstdc++" "-lc++"
+        '';
 
       postInstall = ''
         test -d $out/etc || mkdir $out/etc
@@ -264,8 +285,8 @@ let
       outputs = [ "out" "dev" ];
 
       passthru = {
-        buildEnv = mkBuildEnv {} [];
-        withExtensions = mkWithExtensions {} [];
+        buildEnv = mkBuildEnv { } [ ];
+        withExtensions = mkWithExtensions { } [ ];
         inherit ztsSupport;
       };
 
@@ -278,4 +299,5 @@ let
         outputsToInstall = [ "out" "dev" ];
       };
     };
-in generic
+in
+generic
diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix
index bf76bc1e857..225cadac8c6 100644
--- a/pkgs/development/libraries/SDL/default.nix
+++ b/pkgs/development/libraries/SDL/default.nix
@@ -5,7 +5,7 @@
 , x11Support ? !stdenv.isCygwin && !stdenv.hostPlatform.isAndroid
 , libXext, libICE, libXrandr
 , pulseaudioSupport ? config.pulseaudio or stdenv.isLinux && !stdenv.hostPlatform.isAndroid, libpulseaudio
-, OpenGL, CoreAudio, CoreServices, AudioUnit, Kernel, Cocoa
+, OpenGL, GLUT, CoreAudio, CoreServices, AudioUnit, Kernel, Cocoa
 }:
 
 # NOTE: When editing this expression see if the same change applies to
@@ -16,7 +16,8 @@ with lib;
 let
   extraPropagatedBuildInputs = [ ]
     ++ optionals x11Support [ libXext libICE libXrandr ]
-    ++ optionals openglSupport [ libGL libGLU ]
+    ++ optionals (openglSupport && stdenv.isLinux) [ libGL libGLU ]
+    ++ optionals (openglSupport && stdenv.isDarwin) [ OpenGL GLUT ]
     ++ optional alsaSupport alsa-lib
     ++ optional pulseaudioSupport libpulseaudio
     ++ optional stdenv.isDarwin Cocoa;
diff --git a/pkgs/development/libraries/appstream/default.nix b/pkgs/development/libraries/appstream/default.nix
index 96c6b362398..c39ea78a775 100644
--- a/pkgs/development/libraries/appstream/default.nix
+++ b/pkgs/development/libraries/appstream/default.nix
@@ -26,7 +26,7 @@
 
 stdenv.mkDerivation rec {
   pname = "appstream";
-  version = "0.14.3";
+  version = "0.14.4";
 
   outputs = [ "out" "dev" ];
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     owner = "ximion";
     repo = "appstream";
     rev = "v${version}";
-    sha256 = "sha256-wCQR+4/F5lVqWHHcH/WS4irBGRivz3c1imasyLDIZIs=";
+    sha256 = "sha256-DJXCw50f+8c58bJw6xx0ECfkc9/KcWaeA+ne2zmTyhg=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/boca/default.nix b/pkgs/development/libraries/boca/default.nix
index 0f848e30240..ffbc99f79f7 100644
--- a/pkgs/development/libraries/boca/default.nix
+++ b/pkgs/development/libraries/boca/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "BoCA";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchFromGitHub {
     owner = "enzo1982";
     repo = "boca";
     rev = "v${version}";
-    sha256 = "sha256-SP/rVt/8VoeUprwJIIMSIBvoC1Zein3F7MR2tqc2vd0=";
+    sha256 = "sha256-ooLPpwTxG7QBAGhEGhta4T06ZDWlPysocHbb/Sq7Wyo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/intel-gmmlib/default.nix b/pkgs/development/libraries/intel-gmmlib/default.nix
index a56422c87e1..c0bb8ec9ab4 100644
--- a/pkgs/development/libraries/intel-gmmlib/default.nix
+++ b/pkgs/development/libraries/intel-gmmlib/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-gmmlib";
-  version = "21.1.3";
+  version = "21.2.1";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "gmmlib";
     rev    = "${pname}-${version}";
-    sha256 = "05vcr2rv6l38j7rv34mvcvzpgc2gjmvsb73wyprgdj71mcwrksyq";
+    sha256 = "1icnxq4sqhi11c82kg0hnavk3gvbwgw2fshc7a7nb6w1wdiibj5n";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/kde-frameworks/kimageformats.nix b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
index 505cfe05d28..4ad3ba74100 100644
--- a/pkgs/development/libraries/kde-frameworks/kimageformats.nix
+++ b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib,
+  mkDerivation, lib, fetchpatch,
   extra-cmake-modules,
   ilmbase, karchive, openexr, libavif, qtbase
 }:
@@ -8,6 +8,15 @@ let inherit (lib) getDev; in
 
 mkDerivation {
   name = "kimageformats";
+
+  patches = [
+    (fetchpatch { # included in kimageformats >= 5.83
+      name = "avif-0.9.2.diff";
+      url = "https://invent.kde.org/frameworks/kimageformats/-/commit/bf3f94da766d66a0470ab744dbe1ced4697b572d.diff";
+      sha256 = "18d67l5kj9sv88jdpi061k9rl3adzkx9l51ng7saylrkfddwc3ig";
+    })
+  ];
+
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ karchive openexr libavif qtbase ];
   outputs = [ "out" ]; # plugins only
diff --git a/pkgs/development/libraries/libaec/default.nix b/pkgs/development/libraries/libaec/default.nix
index 4c539860be7..aa146ca2413 100644
--- a/pkgs/development/libraries/libaec/default.nix
+++ b/pkgs/development/libraries/libaec/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "libaec";
-  version  = "1.0.4";
+  version  = "1.0.5";
 
   src = fetchFromGitLab {
     domain = "gitlab.dkrz.de";
     owner = "k202009";
     repo = "libaec";
     rev = "v${version}";
-    sha256 = "1rpma89i35ahbalaqz82y201syxni7jkf9892jlyyrhhrvlnm4l2";
+    sha256 = "sha256-Vi0fCd9V/EH+PcD+e6RZK2/isR1xGX25POhm1Xen5ak=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libhandy/default.nix b/pkgs/development/libraries/libhandy/default.nix
index 891bd04ea54..0d69a5b93e1 100644
--- a/pkgs/development/libraries/libhandy/default.nix
+++ b/pkgs/development/libraries/libhandy/default.nix
@@ -27,7 +27,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libhandy";
-  version = "1.2.2";
+  version = "1.2.3";
 
   outputs = [
     "out"
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-R//Shl0CvRyleVIt6t1+L5U2Lx8gJGL9XuriuBZosEg=";
+    sha256 = "sha256-kuxKWB7BtB3Qek6PqvXVKuN8q7fh+n+UTWyvvllrbWE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libint/default.nix b/pkgs/development/libraries/libint/default.nix
new file mode 100644
index 00000000000..330fe8eac26
--- /dev/null
+++ b/pkgs/development/libraries/libint/default.nix
@@ -0,0 +1,76 @@
+{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool
+, python3, perl, gmpxx, mpfr, boost, eigen, gfortran
+, enableFMA ? false
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libint2";
+  version = "2.6.0";
+
+  src = fetchFromGitHub {
+    owner = "evaleev";
+    repo = "libint";
+    rev = "v${version}";
+    sha256 = "0pbc2j928jyffhdp4x5bkw68mqmx610qqhnb223vdzr0n2yj5y19";
+  };
+
+  patches = [
+    ./fix-paths.patch
+  ];
+
+  nativeBuildInputs = [
+    autoconf
+    automake
+    libtool
+    gfortran
+    mpfr
+    python3
+    perl
+    gmpxx
+  ];
+
+  buildInputs = [ boost ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  configureFlags = [
+    "--enable-eri=2"
+    "--enable-eri3=2"
+    "--enable-eri2=2"
+    "--with-eri-max-am=7,5,4"
+    "--with-eri-opt-am=3"
+    "--with-eri3-max-am=7"
+    "--with-eri2-max-am=7"
+    "--with-g12-max-am=5"
+    "--with-g12-opt-am=3"
+    "--with-g12dkh-max-am=5"
+    "--with-g12dkh-opt-am=3"
+    "--enable-contracted-ints"
+    "--enable-shared"
+   ] ++ lib.optional enableFMA "--enable-fma";
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  postBuild = ''
+    # build the fortran interface file
+    cd export/fortran
+    make libint_f.o ENABLE_FORTRAN=yes
+    cd ../..
+  '';
+
+  postInstall = ''
+    cp export/fortran/libint_f.mod $out/include/
+  '';
+
+  meta = with lib; {
+    description = "Library for the evaluation of molecular integrals of many-body operators over Gaussian functions";
+    homepage = "https://github.com/evaleev/libint";
+    license = with licenses; [ lgpl3Only gpl3Only ];
+    maintainers = [ maintainers.markuskowa ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/libraries/libint/fix-paths.patch b/pkgs/development/libraries/libint/fix-paths.patch
new file mode 100644
index 00000000000..2cf178e81f3
--- /dev/null
+++ b/pkgs/development/libraries/libint/fix-paths.patch
@@ -0,0 +1,96 @@
+diff --git a/export/fortran/Makefile b/export/fortran/Makefile
+index 62d8711..a83edc7 100644
+--- a/export/fortran/Makefile
++++ b/export/fortran/Makefile
+@@ -1,12 +1,14 @@
+-TOPDIR = ..
+-SRCDIR = ..
++TOPDIR = ../..
++SRCDIR = ../..
+ 
+--include ../MakeSuffixRules
+--include ../MakeVars
+--include ../MakeVars.features
++-include ../../lib/MakeSuffixRules
++-include ../../src/bin/MakeVars
++-include ../../src/lib/libint/MakeVars.features
+ 
+-FCFLAGS := -I../include -I../include/libint2 -D__COMPILING_LIBINT2=1 $(FCFLAGS)
+-COMPUTE_LIB = -L../lib -lint2
++FCFLAGS := -I../../include -I../../include/libint2 -D__COMPILING_LIBINT2=1 $(FCFLAGS)
++COMPUTE_LIB = -L../../lib -lint2
++
++CXXCPP = cc -E -I../../include/libint2
+ 
+ .PHONY: clean distclean default make_test check_test
+ 
+@@ -28,7 +30,7 @@ libint2_types_f.h: $(TOPDIR)/include/libint2.h.i
+ 
+ fortran_example.o: libint_f.o
+ 
+-fortran_incldefs.h: $(TOPDIR)/include/libint2_types.h
++fortran_incldefs.h: $(TOPDIR)/include/libint2/libint2_types.h
+ 	grep '^#' $< | grep -v '#include' > $@
+ 
+ fortran_example: fortran_example.o libint_f.o
+diff --git a/src/bin/libint/Makefile b/src/bin/libint/Makefile
+index 406306c..bd8a695 100644
+--- a/src/bin/libint/Makefile
++++ b/src/bin/libint/Makefile
+@@ -59,7 +59,7 @@ test: $(TESTCXXOBJ) $(LIBTARGET)
+ 	$(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $^ $(SYSLIBS)
+ 
+ $(LIBTARGET): $(LIBOBJ)
+-	/bin/rm -f $@
++	rm -f $@
+ 	$(AR) $(ARFLAGS) $@ $(LIBOBJ)
+ 	$(RANLIB) $@
+ 
+@@ -102,7 +102,7 @@ ifneq ($(CXXDEPENDSUF),none)
+ %.d: %.cc
+ 	$(CXXDEPEND) $(CXXDEPENDFLAGS) -c $(CPPFLAGS) $(CXXFLAGS) $< > /dev/null
+ 	sed 's/^$*.o/$*.$(OBJSUF) $*.d/g' < $(*F).$(CXXDEPENDSUF) > $(@F)
+-	/bin/rm -f $(*F).$(CXXDEPENDSUF)
++	rm -f $(*F).$(CXXDEPENDSUF)
+ else
+ %.d: %.cc
+ 	$(CXXDEPEND) $(CXXDEPENDFLAGS) -c $(CPPFLAGS) $(CXXFLAGS) $< | sed 's/^$*.o/$*.$(OBJSUF) $*.d/g' > $(@F)
+diff --git a/tests/eri/Makefile b/tests/eri/Makefile
+index 6223e4f..05909dc 100644
+--- a/tests/eri/Makefile
++++ b/tests/eri/Makefile
+@@ -62,7 +62,7 @@ ifneq ($(CXXDEPENDSUF),none)
+ %.d: %.cc
+ 	$(CXXDEPEND) $(CXXDEPENDFLAGS) -c $(CPPFLAGS) $(CXXFLAGS) $< > /dev/null
+ 	sed 's/^$*.o/$*.$(OBJSUF) $*.d/g' < $(*F).$(CXXDEPENDSUF) > $(@F)
+-	/bin/rm -f $(*F).$(CXXDEPENDSUF)
++	rm -f $(*F).$(CXXDEPENDSUF)
+ else
+ %.d: %.cc
+ 	$(CXXDEPEND) $(CXXDEPENDFLAGS) -c $(CPPFLAGS) $(CXXFLAGS) $< | sed 's/^$*.o/$*.$(OBJSUF) $*.d/g' > $(@F)
+diff --git a/tests/hartree-fock/Makefile b/tests/hartree-fock/Makefile
+index aaebadc..4971472 100644
+--- a/tests/hartree-fock/Makefile
++++ b/tests/hartree-fock/Makefile
+@@ -95,7 +95,7 @@ ifneq ($(CXXDEPENDSUF),none)
+ %.d:: %.cc
+ 	$(CXXDEPEND) $(CXXDEPENDFLAGS) -c $(CPPFLAGS) $(CXXFLAGS) $< > /dev/null
+ 	sed 's/^$*.o/$*.$(OBJSUF) $*.d/g' < $(*F).$(CXXDEPENDSUF) > $(@F)
+-	/bin/rm -f $(*F).$(CXXDEPENDSUF)
++	rm -f $(*F).$(CXXDEPENDSUF)
+ else
+ %.d:: %.cc
+ 	$(CXXDEPEND) $(CXXDEPENDFLAGS) -c $(CPPFLAGS) $(CXXFLAGS) $< | sed 's/^$*.o/$*.$(OBJSUF) $*.d/g' > $(@F)
+diff --git a/tests/unit/Makefile b/tests/unit/Makefile
+index f2d9400..da9d82b 100644
+--- a/tests/unit/Makefile
++++ b/tests/unit/Makefile
+@@ -93,7 +93,7 @@ ifneq ($(CXXDEPENDSUF),none)
+ %.d:: %.cc
+ 	$(CXXDEPEND) $(CXXDEPENDFLAGS) -c $(CPPFLAGS) $(CXXGENFLAGS) $< > /dev/null
+ 	sed 's/^$*.o/$*.$(OBJSUF) $*.d/g' < $(*F).$(CXXDEPENDSUF) > $(@F)
+-	/bin/rm -f $(*F).$(CXXDEPENDSUF)
++	rm -f $(*F).$(CXXDEPENDSUF)
+ else
+ %.d:: %.cc
+ 	$(CXXDEPEND) $(CXXDEPENDFLAGS) -c $(CPPFLAGS) $(CXXGENFLAGS) $< | sed 's/^$*.o/$*.$(OBJSUF) $*.d/g' > $(@F)
diff --git a/pkgs/development/libraries/libjxl/default.nix b/pkgs/development/libraries/libjxl/default.nix
new file mode 100644
index 00000000000..d33b2bc3bb5
--- /dev/null
+++ b/pkgs/development/libraries/libjxl/default.nix
@@ -0,0 +1,106 @@
+{ stdenv, lib, fetchFromGitHub
+, asciidoc
+, brotli
+, cmake
+, graphviz
+, doxygen
+, giflib
+, gperftools
+, gtest
+, libjpeg
+, libpng
+, libwebp
+, openexr
+, pkg-config
+, python3
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libjxl";
+  version = "unstable-2021-06-22";
+
+  src = fetchFromGitHub {
+    owner = "libjxl";
+    repo = "libjxl";
+    rev = "409efe027d6a4a4446b84abe8d7b2fa40409257d";
+    sha256 = "1akb6yyp2h4h6mfcqd4bgr3ybcik5v5kdc1rxaqnyjs7fp2f6nvv";
+    # There are various submodules in `third_party/`.
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [
+    asciidoc # for docs
+    cmake
+    graphviz # for docs via doxygen component `dot`
+    doxygen # for docs
+    gtest
+    pkg-config
+    python3 # for docs
+  ];
+
+  # Functionality not currently provided by this package
+  # that the cmake build can apparently use:
+  #     OpenGL/GLUT (for Examples -> comparison with sjpeg)
+  #     viewer (see `cmakeFlags`)
+  #     plugins like for GDK and GIMP (see `cmakeFlags`)
+
+  # Vendored libraries:
+  # `libjxl` currently vendors many libraries as git submodules that they
+  # might patch often (e.g. test/gmock, see
+  # https://github.com/NixOS/nixpkgs/pull/103160#discussion_r519487734).
+  # When it has stabilised in the future, we may want to tell the build
+  # to use use nixpkgs system libraries.
+
+  # As of writing, libjxl does not point out all its dependencies
+  # conclusively in its README or otherwise; they can best be determined
+  # by checking the CMake output for "Could NOT find".
+  buildInputs = [
+    brotli
+    giflib
+    gperftools # provides `libtcmalloc`
+    libjpeg
+    libpng
+    libwebp
+    openexr
+    zlib
+  ];
+
+  cmakeFlags = [
+    # For C dependencies like brotli, which are dynamically linked,
+    # we want to use the system libraries, so that we don't have to care about
+    # installing their .so files generated by this build.
+    # The other C++ dependencies are statically linked in, so there
+    # using the vendorered ones is easier.
+    "-DJPEGXL_FORCE_SYSTEM_BROTLI=ON"
+
+    # TODO: Update this package to enable this (overridably via an option):
+    # Viewer tools for evaluation.
+    # "-DJPEGXL_ENABLE_VIEWERS=ON"
+
+    # TODO: Update this package to enable this (overridably via an option):
+    # Enable plugins, such as:
+    # * the `gdk-pixbuf` one, which allows applications like `eog` to load jpeg-xl files
+    # * the `gimp` one, which allows GIMP to load jpeg-xl files
+    # "-DJPEGXL_ENABLE_PLUGINS=ON"
+  ];
+
+  doCheck = true;
+
+  # The test driver runs a test `LibraryCLinkageTest` which without
+  # LD_LIBRARY_PATH setting errors with:
+  #     /build/source/build/tools/tests/libjxl_test: error while loading shared libraries: libjxl.so.0
+  # The required file is in the build directory (`$PWD`).
+  preCheck = ''
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/libjxl/libjxl";
+    description = "JPEG XL image format reference implementation.";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ nh2 ];
+    platforms = platforms.all;
+    broken = stdenv.hostPlatform.isAarch64; # `internal compiler error`, see https://github.com/NixOS/nixpkgs/pull/103160#issuecomment-866388610
+  };
+}
diff --git a/pkgs/development/libraries/libpg_query/default.nix b/pkgs/development/libraries/libpg_query/default.nix
index 711cfe14e15..98f657e293d 100644
--- a/pkgs/development/libraries/libpg_query/default.nix
+++ b/pkgs/development/libraries/libpg_query/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libpg_query";
-  version = "13-2.0.4";
+  version = "13-2.0.5";
 
   src = fetchFromGitHub {
     owner = "pganalyze";
     repo = "libpg_query";
     rev = version;
-    sha256 = "0d88fh613kh1izb6w288bfh7s3db4nz8cxyhmhq3lb7gl4axs2pv";
+    sha256 = "1jr95hrqmxdqvn1546x04hdhp1aq7dv7881rspar14ksz7f7382r";
   };
 
   nativeBuildInputs = [ which ];
diff --git a/pkgs/development/libraries/libstatgrab/default.nix b/pkgs/development/libraries/libstatgrab/default.nix
index 6d874fe2367..fe2717cfeb3 100644
--- a/pkgs/development/libraries/libstatgrab/default.nix
+++ b/pkgs/development/libraries/libstatgrab/default.nix
@@ -1,5 +1,8 @@
-{ lib, stdenv, fetchurl
-, IOKit ? null }:
+{ lib
+, stdenv
+, fetchurl
+, IOKit
+}:
 
 stdenv.mkDerivation rec {
   name = "libstatgrab-0.92";
@@ -9,11 +12,12 @@ stdenv.mkDerivation rec {
     sha256 = "15m1sl990l85ijf8pnc6hdfha6fqyiq74mijrzm3xz4zzxm91wav";
   };
 
-  buildInputs = [] ++ lib.optional stdenv.isDarwin IOKit;
+  buildInputs = lib.optional stdenv.isDarwin IOKit;
 
   meta = with lib; {
     homepage = "https://www.i-scream.org/libstatgrab/";
     description = "A library that provides cross platforms access to statistics about the running system";
+    maintainers = with maintainers; [ ];
     license = licenses.gpl2;
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/libtgvoip/default.nix b/pkgs/development/libraries/libtgvoip/default.nix
index dcf8990a879..8ffd0773127 100644
--- a/pkgs/development/libraries/libtgvoip/default.nix
+++ b/pkgs/development/libraries/libtgvoip/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, lib, fetchFromGitHub, pkg-config, autoreconfHook
+{ stdenv, lib, fetchFromGitHub, fetchpatch
+, pkg-config, autoreconfHook
 , openssl, libopus, alsa-lib, libpulseaudio
 }:
 
@@ -6,15 +7,31 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "libtgvoip";
-  version = "unstable-2020-03-02";
+  version = "unstable-2021-01-01";
 
   src = fetchFromGitHub {
     owner = "telegramdesktop";
     repo = "libtgvoip";
-    rev = "e422d2a80546a32ab7166a9b1058bacfc5daeefc";
-    sha256 = "0n6f7215k74039j0zmicjzhj6f45mq6fvkrwzyzibcrv87ib17fc";
+    rev = "13a5fcb16b04472d808ce122abd695dbf5d206cd";
+    sha256 = "12p6s7vxkf1gh1spdckkdxrx7bjzw881ds9bky7l5fw751cwb3xd";
   };
 
+  # To fix the build without external webrtc:
+  patches = [
+    (fetchpatch {
+      # Use methods from updated webrtc.
+      url = "https://github.com/telegramdesktop/libtgvoip/commit/13a5fcb16b04472d808ce122abd695dbf5d206cd.patch";
+      sha256 = "0wapqvml3yyv5dlp2q8iih5rfvfnkngll69krhnw5xsdjy22sp7r";
+      revert = true;
+    })
+    (fetchpatch {
+      # Allow working with external webrtc.
+      url = "https://github.com/telegramdesktop/libtgvoip/commit/6e82b6e45664c1f80b9039256c99bebc76d34672.patch";
+      sha256 = "0m87ixja70vnm80a9z4gxk0yl7n64y59smczxb88lxnj6kdgih7x";
+      revert = true;
+    })
+  ];
+
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/pkgs/development/libraries/mauikit/default.nix b/pkgs/development/libraries/mauikit/default.nix
index 22155a7a52a..3991ee5551f 100644
--- a/pkgs/development/libraries/mauikit/default.nix
+++ b/pkgs/development/libraries/mauikit/default.nix
@@ -39,6 +39,6 @@ mkDerivation rec {
     description = "Free and modular front-end framework for developing fast and compelling user experiences";
     license = licenses.lgpl2Plus;
     maintainers = with maintainers; [ dotlambda ];
-    broken = versionOlder qtbase.version "5.14.0";
+    broken = versionOlder qtbase.version "5.15.0";
   };
 }
diff --git a/pkgs/development/libraries/mimalloc/default.nix b/pkgs/development/libraries/mimalloc/default.nix
index 36abc9f3276..1e9e44e0997 100644
--- a/pkgs/development/libraries/mimalloc/default.nix
+++ b/pkgs/development/libraries/mimalloc/default.nix
@@ -7,42 +7,35 @@ let
 in
 stdenv.mkDerivation rec {
   pname   = "mimalloc";
-  version = "2.0.0";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner  = "microsoft";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "sha256-BMDCreY41CxJaPo9BdSRZlqh/YjtPC9aI/Zxt501e+0=";
+    sha256 = "sha256-n4FGld3bq6ZOSLTzXcVlucCGbQ5/eSFbijU0dfBD/T0=";
   };
 
   nativeBuildInputs = [ cmake ninja ];
-  cmakeFlags = lib.optional secureBuild [ "-DMI_SECURE=ON" ];
+  cmakeFlags = [ "-DMI_INSTALL_TOPLEVEL=ON" ] ++ lib.optional secureBuild [ "-DMI_SECURE=ON" ];
 
   postInstall = let
     rel = lib.versions.majorMinor version;
+    suffix = if stdenv.isLinux then "${soext}.${rel}" else ".${rel}${soext}";
   in ''
-    # first, install headers, that's easy
-    mkdir -p $dev
-    mv $out/lib/*/include $dev/include
+    # first, move headers and cmake files, that's easy
+    mkdir -p $dev/lib
+    mv $out/include $dev/include
+    mv $out/cmake $dev/lib/
 
-    # move .a and .o files into place
     find $out/lib
-    mv $out/lib/mimalloc-${rel}/libmimalloc*.a           $out/lib/libmimalloc.a
-    mv $out/lib/mimalloc-${rel}/mimalloc*.o              $out/lib/mimalloc.o
-
-  '' + (if secureBuild then ''
-    mv $out/lib/mimalloc-${rel}/libmimalloc-secure${soext}.${rel} $out/lib/libmimalloc-secure${soext}.${rel}
-    ln -sfv $out/lib/libmimalloc-secure${soext}.${rel} $out/lib/libmimalloc-secure${soext}
-    ln -sfv $out/lib/libmimalloc-secure${soext}.${rel} $out/lib/libmimalloc${soext}
-  '' else ''
-    mv $out/lib/mimalloc-${rel}/libmimalloc${soext}.${rel} $out/lib/libmimalloc${soext}.${rel}
-    ln -sfv $out/lib/libmimalloc${soext}.${rel} $out/lib/libmimalloc${soext}
-  '') + ''
-    # remote duplicate dir. FIXME: try to fix the .cmake file distribution
-    # so we can re-use it for dependencies...
-    rm -rf $out/lib/mimalloc-${rel}
-  '';
+  '' + (lib.optionalString secureBuild ''
+    # pretend we're normal mimalloc
+    ln -sfv $out/lib/libmimalloc-secure${suffix} $out/lib/libmimalloc${suffix}
+    ln -sfv $out/lib/libmimalloc-secure${suffix} $out/lib/libmimalloc${soext}
+    ln -sfv $out/lib/libmimalloc-secure.a $out/lib/libmimalloc.a
+    ln -sfv $out/lib/mimalloc-secure.o $out/lib/mimalloc.o
+  '');
 
   outputs = [ "out" "dev" ];
 
@@ -52,6 +45,5 @@ stdenv.mkDerivation rec {
     license     = licenses.bsd2;
     platforms   = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice ];
-    badPlatforms = platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix
index 2df08426368..35708c0ac01 100644
--- a/pkgs/development/libraries/openmpi/default.nix
+++ b/pkgs/development/libraries/openmpi/default.nix
@@ -13,20 +13,21 @@
 
 # Enable libfabric support (necessary for Omnipath networks) on x86_64 linux
 , fabricSupport ? stdenv.isLinux && stdenv.isx86_64
+
+# Enable Fortran support
+, fortranSupport ? true
 }:
 
 assert !cudaSupport || cudatoolkit != null;
 
 let
-  version = "4.1.1";
-
   cudatoolkit_joined = symlinkJoin {
     name = "${cudatoolkit.name}-unsplit";
     paths = [ cudatoolkit.out cudatoolkit.lib ];
   };
 in stdenv.mkDerivation rec {
   pname = "openmpi";
-  inherit version;
+  version = "4.1.1";
 
   src = with lib.versions; fetchurl {
     url = "https://www.open-mpi.org/software/ompi/v${major version}.${minor version}/downloads/${pname}-${version}.tar.bz2";
@@ -44,17 +45,19 @@ in stdenv.mkDerivation rec {
     find -name "Makefile.in" -exec sed -i "s/\`date\`/$ts/" \{} \;
   '';
 
-  buildInputs = with stdenv; [ gfortran zlib ]
-    ++ lib.optionals isLinux [ libnl numactl pmix ucx ]
+  buildInputs = [ zlib ]
+    ++ lib.optionals fortranSupport [ gfortran ]
+    ++ lib.optionals stdenv.isLinux [ libnl numactl pmix ucx ]
     ++ lib.optionals cudaSupport [ cudatoolkit ]
     ++ [ libevent hwloc ]
-    ++ lib.optional (isLinux || isFreeBSD) rdma-core
+    ++ lib.optional (stdenv.isLinux || stdenv.isFreeBSD) rdma-core
     ++ lib.optional fabricSupport [ libpsm2 libfabric ];
 
   nativeBuildInputs = [ perl ];
 
-  configureFlags = with stdenv; lib.optional (!cudaSupport) "--disable-mca-dso"
-    ++ lib.optionals isLinux  [
+  configureFlags = lib.optional (!cudaSupport) "--disable-mca-dso"
+    ++ lib.optional (!fortranSupport) "--disable-mpi-fortran"
+    ++ lib.optionals stdenv.isLinux  [
       "--with-libnl=${libnl.dev}"
       "--with-pmix=${pmix}"
       "--with-pmix-libdir=${pmix}/lib"
@@ -70,6 +73,16 @@ in stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # disable stackprotector on aarch64-darwin for now
+  # https://github.com/NixOS/nixpkgs/issues/127608
+  #
+  # build error:
+  #
+  # /private/tmp/nix-build-openmpi-4.1.1.drv-0/ccg7QqR8.s:13:15: error: index must be an integer in range [-256, 255].
+  #         ldr     x2, [x2, ___stack_chk_guard];momd
+  #
+  hardeningDisable = lib.optionals (stdenv.isAarch64 && stdenv.isDarwin) [ "stackprotector" ];
+
   postInstall = ''
     rm -f $out/lib/*.la
    '';
@@ -86,6 +99,7 @@ in stdenv.mkDerivation rec {
 
     sed -i 's:compiler=.*:compiler=${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}c++:' \
        $out/share/openmpi/mpic++-wrapper-data.txt
+  '' + lib.optionalString fortranSupport ''
 
     sed -i 's:compiler=.*:compiler=${gfortran}/bin/${gfortran.targetPrefix}gfortran:'  \
        $out/share/openmpi/mpifort-wrapper-data.txt
diff --git a/pkgs/development/libraries/science/astronomy/indilib/default.nix b/pkgs/development/libraries/science/astronomy/indilib/default.nix
index 7a9a5a80700..eb0f34db26f 100644
--- a/pkgs/development/libraries/science/astronomy/indilib/default.nix
+++ b/pkgs/development/libraries/science/astronomy/indilib/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "indilib";
-  version = "1.9.0";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
     owner = "indilib";
     repo = "indi";
     rev = "v${version}";
-    sha256 = "sha256-YdVBzhz+Gim27/Js5MhEJNukoXp5eK9/dZ+JQVyls0M=";
+    sha256 = "sha256-qXGTHyXhJrApexQL31fba0ZvnHEyTsY3Tb7aB4GpGn4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/science/astronomy/indilib/indi-full.nix b/pkgs/development/libraries/science/astronomy/indilib/indi-full.nix
index 50aa9fb8b4a..4ac9a122fd2 100644
--- a/pkgs/development/libraries/science/astronomy/indilib/indi-full.nix
+++ b/pkgs/development/libraries/science/astronomy/indilib/indi-full.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, callPackage, fetchFromGitHub, indilib }:
 
 let
-  indi-version = "1.9.0";
+  indi-version = "1.9.1";
   indi-3rdparty-src = fetchFromGitHub {
     owner = "indilib";
     repo = "indi-3rdparty";
     rev = "v${indi-version}";
-    sha256 = "sha256-5VR1MN52a0ZtaHYw4lD6LWmnvc1oHlfE5GLGbfBKvqE=";
+    sha256 = "sha256-F0O4WUYdUL6IjJyON/XJp78v4n5rj0unm1xTzEsEH0k=";
   };
   indi-firmware = callPackage ./indi-firmware.nix {
     version = indi-version;
diff --git a/pkgs/development/libraries/science/math/p4est-sc/default.nix b/pkgs/development/libraries/science/math/p4est-sc/default.nix
new file mode 100644
index 00000000000..222380e15b2
--- /dev/null
+++ b/pkgs/development/libraries/science/math/p4est-sc/default.nix
@@ -0,0 +1,62 @@
+{ lib, stdenv, fetchFromGitHub
+, autoreconfHook, pkg-config
+, p4est-sc-debugEnable ? true, p4est-sc-mpiSupport ? true
+, mpi, openmpi, openssh, zlib
+}:
+
+let
+  dbg = if debugEnable then "-dbg" else "";
+  debugEnable = p4est-sc-debugEnable;
+  mpiSupport = p4est-sc-mpiSupport;
+in
+stdenv.mkDerivation {
+  pname = "p4est-sc${dbg}";
+  version = "unstable-2021-06-14";
+
+  # fetch an untagged snapshot of the prev3-develop branch
+  src = fetchFromGitHub {
+    owner = "cburstedde";
+    repo = "libsc";
+    rev = "1ae814e3fb1cc5456652e0d77550386842cb9bfb";
+    sha256 = "14vm0b162jh8399pgpsikbwq4z5lkrw9vfzy3drqykw09n6nc53z";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  propagatedBuildInputs = [ zlib ]
+    ++ lib.optional mpiSupport mpi
+    ++ lib.optional (mpiSupport && mpi == openmpi) openssh
+  ;
+  inherit debugEnable mpiSupport;
+
+  postPatch = ''
+    echo "dist_scaclocal_DATA += config/sc_v4l2.m4" >> Makefile.am
+  '';
+  preConfigure = ''
+    echo "2.8.0" > .tarball-version
+    ${if mpiSupport then "unset CC" else ""}
+  '';
+
+  configureFlags = lib.optional debugEnable "--enable-debug"
+    ++ lib.optional mpiSupport "--enable-mpi"
+  ;
+
+  makeFlags = [ "V=0" ];
+
+  dontDisableStatic = true;
+  enableParallelBuilding = true;
+  doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
+
+  meta = {
+    branch = "prev3-develop";
+    description = "Support for parallel scientific applications";
+    longDescription = ''
+      The SC library provides support for parallel scientific applications.
+      Its main purpose is to support the p4est software library, hence
+      this package is called p4est-sc, but it works standalone, too.
+    '';
+    homepage = "https://www.p4est.org/";
+    downloadPage = "https://github.com/cburstedde/libsc.git";
+    license = lib.licenses.lgpl21Plus;
+    maintainers = [ lib.maintainers.cburstedde ];
+  };
+}
diff --git a/pkgs/development/libraries/science/math/p4est/default.nix b/pkgs/development/libraries/science/math/p4est/default.nix
new file mode 100644
index 00000000000..99c4b0be3f3
--- /dev/null
+++ b/pkgs/development/libraries/science/math/p4est/default.nix
@@ -0,0 +1,59 @@
+{ lib, stdenv, fetchFromGitHub
+, autoreconfHook, pkg-config
+, p4est-withMetis ? true, metis
+, p4est-sc
+}:
+
+let
+  inherit (p4est-sc) debugEnable mpiSupport;
+  dbg = if debugEnable then "-dbg" else "";
+  withMetis = p4est-withMetis;
+in
+stdenv.mkDerivation {
+  pname = "p4est${dbg}";
+  version = "unstable-2021-06-22";
+
+  # fetch an untagged snapshot of the prev3-develop branch
+  src = fetchFromGitHub {
+    owner = "cburstedde";
+    repo = "p4est";
+    rev = "7423ac5f2b2b64490a7a92e5ddcbd251053c4dee";
+    sha256 = "0vffnf48rzw6d0as4c3x1f31b4kapmdzr1hfj5rz5ngah72gqrph";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  propagatedBuildInputs = [ p4est-sc ];
+  buildInputs = lib.optional withMetis metis;
+  inherit debugEnable mpiSupport withMetis;
+
+  patches = [ ./p4est-metis.patch ];
+  postPatch = ''
+    sed -i -e "s:\(^\s*ACLOCAL_AMFLAGS.*\)\s@P4EST_SC_AMFLAGS@\s*$:\1 -I ${p4est-sc}/share/aclocal:" Makefile.am
+  '';
+  preConfigure = ''
+    echo "2.8.0" > .tarball-version
+    ${if mpiSupport then "unset CC" else ""}
+  '';
+
+  configureFlags = [ "--with-sc=${p4est-sc}" ]
+    ++ lib.optional withMetis "--with-metis"
+    ++ lib.optional debugEnable "--enable-debug"
+    ++ lib.optional mpiSupport "--enable-mpi"
+  ;
+
+  inherit (p4est-sc) makeFlags dontDisableStatic enableParallelBuilding doCheck;
+
+  meta = {
+    branch = "prev3-develop";
+    description = "Parallel AMR on Forests of Octrees";
+    longDescription = ''
+      The p4est software library provides algorithms for parallel AMR.
+      AMR refers to Adaptive Mesh Refinement, a technique in scientific
+      computing to cover the domain of a simulation with an adaptive mesh.
+    '';
+    homepage = "https://www.p4est.org/";
+    downloadPage = "https://github.com/cburstedde/p4est.git";
+    license = lib.licenses.gpl2Plus;
+    maintainers = [ lib.maintainers.cburstedde ];
+  };
+}
diff --git a/pkgs/development/libraries/science/math/p4est/p4est-metis.patch b/pkgs/development/libraries/science/math/p4est/p4est-metis.patch
new file mode 100644
index 00000000000..46b8dc8af08
--- /dev/null
+++ b/pkgs/development/libraries/science/math/p4est/p4est-metis.patch
@@ -0,0 +1,26 @@
+diff --git a/src/p4est_connectivity.c b/src/p4est_connectivity.c
+index 95339136..c93528f2 100644
+--- a/src/p4est_connectivity.c
++++ b/src/p4est_connectivity.c
+@@ -3715,6 +3715,7 @@ p4est_connectivity_reorder_newid (sc_MPI_Comm comm, int k,
+                                   sc_array_t * newid)
+ {
+   const int           n = (int) conn->num_trees;
++  int                 metis_n;
+   int                *xadj;
+   int                *adjncy;
+   int                *part;
+@@ -3862,10 +3863,12 @@ p4est_connectivity_reorder_newid (sc_MPI_Comm comm, int k,
+ 
+     P4EST_GLOBAL_INFO ("Entering metis\n");
+     /* now call metis */
++    metis_n = n;
+     P4EST_EXECUTE_ASSERT_INT
+-      (METIS_PartGraphRecursive (&n, &ncon, xadj, adjncy, NULL, NULL,
++      (METIS_PartGraphRecursive (&metis_n, &ncon, xadj, adjncy, NULL, NULL,
+                                  NULL, &k, NULL, NULL, NULL, &volume, part),
+        METIS_OK);
++    P4EST_ASSERT (metis_n == n);
+     P4EST_GLOBAL_INFO ("Done metis\n");
+ 
+     P4EST_GLOBAL_STATISTICSF ("metis volume %d\n", volume);
diff --git a/pkgs/development/libraries/smooth/default.nix b/pkgs/development/libraries/smooth/default.nix
index f8686238211..8e55c8f4128 100644
--- a/pkgs/development/libraries/smooth/default.nix
+++ b/pkgs/development/libraries/smooth/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "smooth";
-  version = "0.9.6";
+  version = "0.9.8";
 
   src = fetchFromGitHub {
     owner = "enzo1982";
     repo = "smooth";
     rev = "v${version}";
-    sha256 = "05j5gk6kz2089x8bcq2l0kjspfiiymxn69jcxl4dh9lw96blbadr";
+    sha256 = "sha256-4092Od/wCWe4br80Ry6mr8GpUIUeeF6sk3unELdfQJU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/thrift/default.nix b/pkgs/development/libraries/thrift/default.nix
index 04d9280e7b3..a34fc36484d 100644
--- a/pkgs/development/libraries/thrift/default.nix
+++ b/pkgs/development/libraries/thrift/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "thrift";
-  version = "0.14.1";
+  version = "0.14.2";
 
   src = fetchurl {
     url = "https://archive.apache.org/dist/thrift/${version}/${pname}-${version}.tar.gz";
-    sha256 = "198c855mjy5byqfb941hiyq2j37baz63f0wcfy4vp8y8v4f5xnhk";
+    sha256 = "sha256-QZG/wLdJDiDMafn03G6ZH7thLUVRqp7vHb9/TEfOVU0=";
   };
 
   # Workaround to make the python wrapper not drop this package:
diff --git a/pkgs/development/libraries/virglrenderer/default.nix b/pkgs/development/libraries/virglrenderer/default.nix
index 38688d90246..4c4af6b2c1f 100644
--- a/pkgs/development/libraries/virglrenderer/default.nix
+++ b/pkgs/development/libraries/virglrenderer/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "virglrenderer";
-  version = "0.8.2";
+  version = "0.9.1";
 
   src = fetchurl {
     url = "https://gitlab.freedesktop.org/virgl/virglrenderer/-/archive/virglrenderer-${version}/virglrenderer-virglrenderer-${version}.tar.bz2";
-    sha256 = "07vfzg99wq92yg2phza9jc0zvps34yy9gc8v4hibqchdl77fmspx";
+    sha256 = "1h76a1ylhh4niq33sa5knx033sr4k2816vibh4m58j54y7qc6346";
   };
 
   buildInputs = [ libGLU epoxy libX11 libdrm mesa ];
diff --git a/pkgs/development/libraries/volk/default.nix b/pkgs/development/libraries/volk/default.nix
index 574a90d2272..40ae88bf71b 100644
--- a/pkgs/development/libraries/volk/default.nix
+++ b/pkgs/development/libraries/volk/default.nix
@@ -1,9 +1,7 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
 , cmake
-, cppunit
 , python3
 , enableModTool ? true
 , removeReferencesTo
@@ -11,25 +9,18 @@
 
 stdenv.mkDerivation rec {
   pname = "volk";
-  version = "2.4.1";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "gnuradio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "fuHJ+p5VN4ThdbQFbzB08VCuy/Zo7m/I1Gs5EQGPeNY=";
+    sha256 = "XvX6emv30bSB29EFm6aC+j8NGOxWqHCNv0Hxtdrq/jc=";
     fetchSubmodules = true;
   };
 
-  patches = [
-    # Fixes a failing test: https://github.com/gnuradio/volk/pull/434
-    (fetchpatch {
-      url = "https://github.com/gnuradio/volk/pull/434/commits/bce8531b6f1a3c5abe946ed6674b283d54258281.patch";
-      sha256 = "OLW9uF6iL47z63kjvYqwsWtkINav8Xhs+Htqg6Kr4uI=";
-    })
-  ];
   cmakeFlags = lib.optionals (!enableModTool) [ "-DENABLE_MODTOOL=OFF" ];
-  postInstall = ''
+  postInstall = lib.optionalString (!stdenv.isDarwin) ''
     ${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc} $(readlink -f $out/lib/libvolk.so)
   '';
 
diff --git a/pkgs/development/libraries/wlroots/0.13.nix b/pkgs/development/libraries/wlroots/0.13.nix
deleted file mode 100644
index f2343e73c58..00000000000
--- a/pkgs/development/libraries/wlroots/0.13.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wayland-scanner
-, libGL, wayland, wayland-protocols, libinput, libxkbcommon, pixman
-, xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa
-, libpng, ffmpeg, libuuid, xcbutilrenderutil, xwayland
-}:
-
-stdenv.mkDerivation rec {
-  pname = "wlroots";
-  version = "0.13.0";
-
-  src = fetchFromGitHub {
-    owner = "swaywm";
-    repo = "wlroots";
-    rev = version;
-    sha256 = "01plhbnsp5yg18arz0v8fr0pr9l4w4pdzwkg9px486qdvb3s1vgy";
-  };
-
-  # $out for the library and $examples for the example programs (in examples):
-  outputs = [ "out" "examples" ];
-
-  nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
-
-  buildInputs = [
-    libGL wayland wayland-protocols libinput libxkbcommon pixman
-    xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa
-    libpng ffmpeg libuuid xcbutilrenderutil xwayland
-  ];
-
-  mesonFlags = [ "-Dlogind-provider=systemd" "-Dlibseat=disabled" ];
-
-  postFixup = ''
-    # Install ALL example programs to $examples:
-    # screencopy dmabuf-capture input-inhibitor layer-shell idle-inhibit idle
-    # screenshot output-layout multi-pointer rotation tablet touch pointer
-    # simple
-    mkdir -p $examples/bin
-    cd ./examples
-    for binary in $(find . -executable -type f -printf '%P\n' | grep -vE '\.so'); do
-      cp "$binary" "$examples/bin/wlroots-$binary"
-    done
-  '';
-
-  meta = with lib; {
-    description = "A modular Wayland compositor library";
-    longDescription = ''
-      Pluggable, composable, unopinionated modules for building a Wayland
-      compositor; or about 50,000 lines of code you were going to write anyway.
-    '';
-    inherit (src.meta) homepage;
-    changelog = "https://github.com/swaywm/wlroots/releases/tag/${version}";
-    license     = licenses.mit;
-    platforms   = platforms.linux;
-    maintainers = with maintainers; [ primeos synthetica ];
-  };
-}
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index 92a931bd4bb..27ca53ba6ad 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -49,13 +49,13 @@ let
         sha512 = "o/xdK8b4P0t/xpCARgWXAeaiWeh9jeua6bP1jrcbfN39+Z4zC4x2jg4NysHNhz6spRG8dJFH3kJIUoIbs0Ckww==";
       };
     };
-    "@angular-devkit/architect-0.1200.5" = {
+    "@angular-devkit/architect-0.1201.0" = {
       name = "_at_angular-devkit_slash_architect";
       packageName = "@angular-devkit/architect";
-      version = "0.1200.5";
+      version = "0.1201.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1200.5.tgz";
-        sha512 = "222VZ4OeaDK3vON8V5m+w15SRWfUs5uOb4H9ij/H9/6tyHD83uWfCDoOGg+ax4wJVdWEFJIS+Vn4ijGcZCq9WQ==";
+        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1201.0.tgz";
+        sha512 = "tqIhGccWjI32xmLs0UIr2umET18Le+r5PxCf30ueOE5pv1q7XKD06EzGx9J05B1aUgDFb3LP/ArlKel5JnD+3g==";
       };
     };
     "@angular-devkit/core-11.2.4" = {
@@ -76,13 +76,13 @@ let
         sha512 = "3dA0Z6sIIxCDjZS/DucgmIKti7EZ/LgHoHgCO72Q50H5ZXbUSNBz5wGl5hVq2+gzrnFgU/0u40MIs6eptk30ZA==";
       };
     };
-    "@angular-devkit/core-12.0.5" = {
+    "@angular-devkit/core-12.1.0" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "12.0.5";
+      version = "12.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-12.0.5.tgz";
-        sha512 = "zVSQV+8/vjUjsUKGlj8Kf5LioA6AXJTGI0yhHW9q1dFX4dPpbW63k0R1UoIB2wJ0F/AbYVgpnPGPe9BBm2fvZA==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-12.1.0.tgz";
+        sha512 = "y6q/hn9/j6LwNgDzTBXe5pTXouU7nuc3KZFq3JwfTdo4yTIxN1Rdv9+zfzDkzEcYtyFoqLqqskQFme/DqdbEZw==";
       };
     };
     "@angular-devkit/schematics-11.2.4" = {
@@ -103,13 +103,13 @@ let
         sha512 = "bhi2+5xtVAjtr3bsXKT8pnoBamQrArd/Y20ueA4Od7cd38YT97nzTA1wyHBFG0vWd0HMyg42ZS0aycNBuOebaA==";
       };
     };
-    "@angular-devkit/schematics-12.0.5" = {
+    "@angular-devkit/schematics-12.1.0" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "12.0.5";
+      version = "12.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.0.5.tgz";
-        sha512 = "iW3XuDHScr3TXuunlEjF5O01zBpwpLgfr1oEny8PvseFGDlHK4Nj8zNIoIn3Yg936aiFO4GJAC/UXsT8g5vKxQ==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.1.0.tgz";
+        sha512 = "KlE1fnvqWItt9dYCaQ89b9WoqFvOK64kemCLGGx49CllQ3con1lwXW2iauzT/29UoK1rSzvTVMvTJcDQOJ7isQ==";
       };
     };
     "@angular-devkit/schematics-cli-0.1102.6" = {
@@ -1552,13 +1552,13 @@ let
         sha512 = "GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==";
       };
     };
-    "@bugsnag/browser-7.10.1" = {
+    "@bugsnag/browser-7.10.4" = {
       name = "_at_bugsnag_slash_browser";
       packageName = "@bugsnag/browser";
-      version = "7.10.1";
+      version = "7.10.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@bugsnag/browser/-/browser-7.10.1.tgz";
-        sha512 = "Yxm/DheT/NHX2PhadBDuafuHBhP547Iav6Y9jf+skBBSi1n0ZYkGhtVxh8ZWLgqz5W8MsJ0HFiLBqcg/mulSvQ==";
+        url = "https://registry.npmjs.org/@bugsnag/browser/-/browser-7.10.4.tgz";
+        sha512 = "1lPhUBIHUCxCyOfMHCfM+rt2cpV49LEeodFBPx8D8+7LJNmxX0JwfQ0OB+7Lv8JNRcnAI3j6Uq6OOTVakhaxBw==";
       };
     };
     "@bugsnag/core-7.10.0" = {
@@ -1579,13 +1579,13 @@ let
         sha512 = "LOt8aaBI+KvOQGneBtpuCz3YqzyEAehd1f3nC5yr9TIYW1+IzYKa2xWS4EiMz5pPOnRPHkyyS5t/wmSmN51Gjg==";
       };
     };
-    "@bugsnag/js-7.10.1" = {
+    "@bugsnag/js-7.10.4" = {
       name = "_at_bugsnag_slash_js";
       packageName = "@bugsnag/js";
-      version = "7.10.1";
+      version = "7.10.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@bugsnag/js/-/js-7.10.1.tgz";
-        sha512 = "1/MK/Bw2ViFx1hMG2TOX8MOq/LzT2VRd0VswknF4LYsZSgzohkRzz/hi6P2TSlLeapRs+bkDC6u2RCq4zYvyiA==";
+        url = "https://registry.npmjs.org/@bugsnag/js/-/js-7.10.4.tgz";
+        sha512 = "XnH3JlG9w1elhmMsByIsQ6JODYdoDlJ75QwvkPjkdybikEm8Zw+OK16JKyxY2scD4RSNbzYMWnbNZvCiFgcDPA==";
       };
     };
     "@bugsnag/node-7.10.1" = {
@@ -2047,22 +2047,22 @@ let
         sha512 = "Ydf4LidRB/EBI+YrB+cVLqIseiRfjUI/AeHBgjGMtq3GroraDu81OV7zqophRgupngoL3iS3JUMDMnxO7g39qA==";
       };
     };
-    "@expo/config-4.0.4" = {
+    "@expo/config-5.0.2" = {
       name = "_at_expo_slash_config";
       packageName = "@expo/config";
-      version = "4.0.4";
+      version = "5.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/config/-/config-4.0.4.tgz";
-        sha512 = "O3xRlwMCidOgk1WHIy6eOjh2yp0h/kgBDRNKqPe21+YDiOufyTGGNvbWgHwoax8goa1iMg443WQO7GhvaH286g==";
+        url = "https://registry.npmjs.org/@expo/config/-/config-5.0.2.tgz";
+        sha512 = "NJd2iQDIWNn6vVv4NEeUMrRPFtV27loaR9w1I0d+lhbfrfIqY7JxI7OgDS8udwjBi0iWnO+BUb0l4C5SmfHuhA==";
       };
     };
-    "@expo/config-plugins-2.0.4" = {
+    "@expo/config-plugins-3.0.2" = {
       name = "_at_expo_slash_config-plugins";
       packageName = "@expo/config-plugins";
-      version = "2.0.4";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-2.0.4.tgz";
-        sha512 = "JGt/X2tFr7H8KBQrKfbGo9hmCubQraMxq5sj3bqDdKmDOLcE1a/EDCP9g0U4GHsa425J8VDIkQUHYz3h3ndEXQ==";
+        url = "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-3.0.2.tgz";
+        sha512 = "bS7t9JbPBK1lCcMo2mp7QSDq2a4xsc8E6sEYVwD+YS5RKx7nxEtSYohnFWlKthm624dHCaVzqEbKxhIGO3M3Uw==";
       };
     };
     "@expo/config-types-41.0.0" = {
@@ -2074,31 +2074,22 @@ let
         sha512 = "Ax0pHuY5OQaSrzplOkT9DdpdmNzaVDnq9VySb4Ujq7UJ4U4jriLy8u93W98zunOXpcu0iiKubPsqD6lCiq0pig==";
       };
     };
-    "@expo/configure-splash-screen-0.4.0" = {
-      name = "_at_expo_slash_configure-splash-screen";
-      packageName = "@expo/configure-splash-screen";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/configure-splash-screen/-/configure-splash-screen-0.4.0.tgz";
-        sha512 = "IDPnr2/DW1tYpDHqedFYNCDzRTf9HYinWFQ7fOelNZLuOCMoErLbSStA5zfkv46o69AgcCpteqgKHSoxsIBz5g==";
-      };
-    };
-    "@expo/dev-server-0.1.74" = {
+    "@expo/dev-server-0.1.77" = {
       name = "_at_expo_slash_dev-server";
       packageName = "@expo/dev-server";
-      version = "0.1.74";
+      version = "0.1.77";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.1.74.tgz";
-        sha512 = "b0yHZH0HB28plFf2/d53ZP91QNANy5Sz9fDYfWfMznHTg1tx6xkjBNu6WiVtlDqBq4UBdbXqSu5AIZWAziss2Q==";
+        url = "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.1.77.tgz";
+        sha512 = "gOnJ3YAVVMsi+lZY39O9KRCVRCPs61dhONJ0OLuOdtt8N5/VG+CTKNiyls1k5jAxsAzeOPzZsPqRNMTKvnxsOg==";
       };
     };
-    "@expo/dev-tools-0.13.104" = {
+    "@expo/dev-tools-0.13.107" = {
       name = "_at_expo_slash_dev-tools";
       packageName = "@expo/dev-tools";
-      version = "0.13.104";
+      version = "0.13.107";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/dev-tools/-/dev-tools-0.13.104.tgz";
-        sha512 = "q0ozFDgMzfjJIpVyp3awA3L2jQ+t+suhfrJvKk58uYiCiVAicQYaqoxMj7jVgRdd45WJwPcUSA6lAbFx1PMkmQ==";
+        url = "https://registry.npmjs.org/@expo/dev-tools/-/dev-tools-0.13.107.tgz";
+        sha512 = "F60wit5+MiXzFPZ1R2rQuM0wC4vdesKtUrV8ipQyGdEkjogZ2mdq7OJbxofnzslkyAGImWfyKRJhqMflRBD/9w==";
       };
     };
     "@expo/devcert-1.0.0" = {
@@ -2128,13 +2119,13 @@ let
         sha512 = "vrgGyPEXBoFI5NY70IegusCSoSVIFV3T3ry4tjJg1MFQKTUlR7E0r+8g8XR6qC705rc2PawaZQjqXMAVtV6s2A==";
       };
     };
-    "@expo/metro-config-0.1.74" = {
+    "@expo/metro-config-0.1.77" = {
       name = "_at_expo_slash_metro-config";
       packageName = "@expo/metro-config";
-      version = "0.1.74";
+      version = "0.1.77";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.1.74.tgz";
-        sha512 = "1FzFJCXhdEMzDivZ+AKxrNBsgSRNPwQqz++KwN1ooeL9oPgxXWOQtStMB0Y2N2FSaHtLe/94D4EmzNWFGyz15A==";
+        url = "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.1.77.tgz";
+        sha512 = "PGxcxkN1AJjzn82Fb3zBxbG0kI6V6BrYVhICPL3jenreKQYaHN0+/owkAwX+8MxKqaJqJR6outw8I+Gypp4ZcQ==";
       };
     };
     "@expo/osascript-2.0.28" = {
@@ -2164,13 +2155,13 @@ let
         sha512 = "zGPSq9OrCn7lWvwLLHLpHUUq2E40KptUFXn53xyZXPViI0k9lbApcR9KlonQZ95C+ELsf0BQ3gRficwK92Ivcw==";
       };
     };
-    "@expo/prebuild-config-1.0.5" = {
+    "@expo/prebuild-config-2.0.2" = {
       name = "_at_expo_slash_prebuild-config";
       packageName = "@expo/prebuild-config";
-      version = "1.0.5";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-1.0.5.tgz";
-        sha512 = "tBVB3n70t/jWqOZOxo85WsIp9gJ/hZT8aii72S7BLarXa0oPmAy+TmPD19IR4U6+TcrR0B2Qwr/6mVNnZhuBtg==";
+        url = "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-2.0.2.tgz";
+        sha512 = "wyAPiu1tnUghDoE5cUbjD92rF/rtyNqrfdwmcn56q8EG7MKuO47CxFrkhAL0EBVplPhSdzZ3zPFOtWzYK7E+6Q==";
       };
     };
     "@expo/results-1.0.0" = {
@@ -2209,22 +2200,22 @@ let
         sha512 = "LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew==";
       };
     };
-    "@expo/webpack-config-0.12.78" = {
+    "@expo/webpack-config-0.12.81" = {
       name = "_at_expo_slash_webpack-config";
       packageName = "@expo/webpack-config";
-      version = "0.12.78";
+      version = "0.12.81";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.12.78.tgz";
-        sha512 = "oYR9fTuO2qWkZOHhA20NPpG0P+C4EBSsWT3RavHSREFPWSNqQB6BYnTIAFmK29QaVcY370qvqfBo+p7vCaRQ4w==";
+        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.12.81.tgz";
+        sha512 = "hsWI3EwYcwsG2E1VKlkaQwiLofgH6g7qNRpnoncnvbVEsfHhvA5+aI8/CMiUO+sHh6RPJWgux12O89TXS/DeBg==";
       };
     };
-    "@expo/xcpretty-3.1.3" = {
+    "@expo/xcpretty-3.1.4" = {
       name = "_at_expo_slash_xcpretty";
       packageName = "@expo/xcpretty";
-      version = "3.1.3";
+      version = "3.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-3.1.3.tgz";
-        sha512 = "Kgp2eXR8LB/m7UxOwL1fi6JzRv6DGT+rXfrtyUR3J9L0O66KDKem3A9NWACnihn/1RiL8Xb5ryb0vBUFYYeieg==";
+        url = "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-3.1.4.tgz";
+        sha512 = "zjZo89YkDW/C2wh10wAkAHYrdXwLdiMbKrGmADLJvz25yp7QpXgDR8KOaa1FUU/vYqmHZ6lshjrMMJpJWEqTRw==";
       };
     };
     "@fast-csv/format-4.3.5" = {
@@ -2344,13 +2335,13 @@ let
         sha512 = "d4VSA86eL/AFTe5xtyZX+ePUjE8dIFu2T8zmdeNBSa5/kNgXPCx/o/wbFNHAGLJdGnk1vddRuMESD9HbOC8irw==";
       };
     };
-    "@google-cloud/pubsub-2.14.0" = {
+    "@google-cloud/pubsub-2.15.1" = {
       name = "_at_google-cloud_slash_pubsub";
       packageName = "@google-cloud/pubsub";
-      version = "2.14.0";
+      version = "2.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-2.14.0.tgz";
-        sha512 = "pP8pwQ9d+p5KNmccEuwM4W9MM8Z9NP+Zzu3P9ewo/z+obK8mEvh5suC2at60MUWaDQOneTcUICpL6DXLRx957A==";
+        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-2.15.1.tgz";
+        sha512 = "avBYmN1n9BsY8RzntkEP3SG1gSfEm0iOoUwoWjtrmWAk+6QZw0C093HJCGClteo+EwIQDhgyn2cXc5QInegSeg==";
       };
     };
     "@graphql-cli/common-4.1.0" = {
@@ -2497,13 +2488,13 @@ let
         sha512 = "UXepkOKCATJrhHGsxt+CGfpZy9zUn1q9mop5kfcXq1fBkTePxVNPOdnISlCbJFlCtld+pSLGyZCzr9/zVprFKA==";
       };
     };
-    "@grpc/grpc-js-1.3.3" = {
+    "@grpc/grpc-js-1.3.4" = {
       name = "_at_grpc_slash_grpc-js";
       packageName = "@grpc/grpc-js";
-      version = "1.3.3";
+      version = "1.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.3.tgz";
-        sha512 = "KkKZrX3fVTBYCtUk8I+Y4xWaauEEOIR1mIGoPFUK8C+a9TTub5dmjowJpFGz0dqYj//wJcgVR9fqpoNhSYFfHQ==";
+        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.4.tgz";
+        sha512 = "AxtZcm0mArQhY9z8T3TynCYVEaSKxNCa9mVhVwBCUnsuUEe8Zn94bPYYKVQSLt+hJJ1y0ukr3mUvtWfcATL/IQ==";
       };
     };
     "@grpc/proto-loader-0.5.6" = {
@@ -2524,6 +2515,15 @@ let
         sha512 = "q2Qle60Ht2OQBCp9S5hv1JbI4uBBq6/mqSevFNK3ZEgRDBCAkWqZPUhD/K9gXOHrHKluliHiVq2L9sw1mVyAIg==";
       };
     };
+    "@grpc/proto-loader-0.6.3" = {
+      name = "_at_grpc_slash_proto-loader";
+      packageName = "@grpc/proto-loader";
+      version = "0.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.3.tgz";
+        sha512 = "AtMWwb7kY8DdtwIQh2hC4YFM1MzZ22lMA+gjbnCYDgICt14vX2tCa59bDrEjFyOI4LvORjpvT/UhHUdKvsX8og==";
+      };
+    };
     "@gulp-sourcemaps/identity-map-1.0.2" = {
       name = "_at_gulp-sourcemaps_slash_identity-map";
       packageName = "@gulp-sourcemaps/identity-map";
@@ -3091,31 +3091,31 @@ let
         sha512 = "EjPkDQOzV/oZfbolEUgFT6SE++PtCccVBvjuACkttyCfl0P2jnpR49SwstyVLc2u8AwBAZEHHAw9lPYaMjtbXQ==";
       };
     };
-    "@joplin/fork-htmlparser2-4.1.27" = {
+    "@joplin/fork-htmlparser2-4.1.28" = {
       name = "_at_joplin_slash_fork-htmlparser2";
       packageName = "@joplin/fork-htmlparser2";
-      version = "4.1.27";
+      version = "4.1.28";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/fork-htmlparser2/-/fork-htmlparser2-4.1.27.tgz";
-        sha512 = "4rR2spWO9eLWGoGXS0ulxzarl/tNq3bIcqTKLu3Qh6C5putae7A01gJssg1BtO+0hLADuzfQK7FWb4W6Z6fymA==";
+        url = "https://registry.npmjs.org/@joplin/fork-htmlparser2/-/fork-htmlparser2-4.1.28.tgz";
+        sha512 = "aY8o+hi42Rn0BCcjI33nXC/tHwm1mYoAMrqnEfNVQ1ZDGJbbKVnYWADf6o5tGMR+Klkn9lbbR9tn+U8hKHbFhA==";
       };
     };
-    "@joplin/fork-sax-1.2.31" = {
+    "@joplin/fork-sax-1.2.32" = {
       name = "_at_joplin_slash_fork-sax";
       packageName = "@joplin/fork-sax";
-      version = "1.2.31";
+      version = "1.2.32";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/fork-sax/-/fork-sax-1.2.31.tgz";
-        sha512 = "EIRijEi10yuCSoSkGjvOes0yljEGBWjLf38NnIbadfByWUNPkdlSL+yEq9b8bc2WupAxmJiNA4tfi1i8Th2xDQ==";
+        url = "https://registry.npmjs.org/@joplin/fork-sax/-/fork-sax-1.2.32.tgz";
+        sha512 = "N6Nk2qdsmCM31zIYjyIEH2hTSFd9rZv6tcvN9bjsuxTQ97WW74d6fI8+ReBWz2cFs7joXxaPay0iNwwDDXV0Kg==";
       };
     };
-    "@joplin/lib-2.0.3" = {
+    "@joplin/lib-2.1.1" = {
       name = "_at_joplin_slash_lib";
       packageName = "@joplin/lib";
-      version = "2.0.3";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/lib/-/lib-2.0.3.tgz";
-        sha512 = "0LYqc8JY75TMFwapYcj0aJrCSVjBsXH15520fZehy1iheh5yQO6YV3MMqLHwpa4/CofCT4SlOs3pd6LIbSyh1w==";
+        url = "https://registry.npmjs.org/@joplin/lib/-/lib-2.1.1.tgz";
+        sha512 = "mePMxOEC7+T7gTRuIO3ZWxkyDhAhuoNNGi3wsf4g633TcYD0SEX9peokCdjAnQC5l4BjrqxmgY1qTmk2sx+9TA==";
       };
     };
     "@joplin/renderer-1.8.2" = {
@@ -3127,31 +3127,31 @@ let
         sha512 = "Khl2DoM1aFEy15RX9JaMaYinjoNEYQHOgQqzMHq4wuWr+QuAQaX8/SofTe1FU2rS4SJrkObPA+XPavhVSAxpOQ==";
       };
     };
-    "@joplin/renderer-2.0.3" = {
+    "@joplin/renderer-2.1.1" = {
       name = "_at_joplin_slash_renderer";
       packageName = "@joplin/renderer";
-      version = "2.0.3";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/renderer/-/renderer-2.0.3.tgz";
-        sha512 = "FKXFR212wjStu2wRJ7pe5KyCm4uwiXrrSd9g8Vp38FuQu8Db6J5MNiqno/EcwvibshCxn0cE/odEM7ld/Aukng==";
+        url = "https://registry.npmjs.org/@joplin/renderer/-/renderer-2.1.1.tgz";
+        sha512 = "XxmquKGZxlrjUorx924ogAACc39p22pzWp06DJX/eElU2kLZ/s+RC0EXAFj503EuDj/dd2voV+Tciz0wfCPc0Q==";
       };
     };
-    "@joplin/turndown-4.0.49" = {
+    "@joplin/turndown-4.0.50" = {
       name = "_at_joplin_slash_turndown";
       packageName = "@joplin/turndown";
-      version = "4.0.49";
+      version = "4.0.50";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/turndown/-/turndown-4.0.49.tgz";
-        sha512 = "TIGJLjSDwy2j00+XGxTi7GaoqPOmDqmfhVsTCZK7C7JDfYzFQWzMixmEKSJkw3rWnFHA5q4omGeIWZP6DAkoGA==";
+        url = "https://registry.npmjs.org/@joplin/turndown/-/turndown-4.0.50.tgz";
+        sha512 = "oqMCmkudn3OUxkI68mbBy5AWqnmgWBlIL9lz3XSoq3iYJZdXYCDyYUA0Wb64eRHf6muUN8V23WdeVjc02dsbEQ==";
       };
     };
-    "@joplin/turndown-plugin-gfm-1.0.31" = {
+    "@joplin/turndown-plugin-gfm-1.0.32" = {
       name = "_at_joplin_slash_turndown-plugin-gfm";
       packageName = "@joplin/turndown-plugin-gfm";
-      version = "1.0.31";
+      version = "1.0.32";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/turndown-plugin-gfm/-/turndown-plugin-gfm-1.0.31.tgz";
-        sha512 = "6PqxgmOIJ8CUR/aFno88JM2a0QTlFtz50ofTz8/hhD4jDD8qQ8DROy6yexCeZle4Gj45yLt8/WhmOlu32FkO/w==";
+        url = "https://registry.npmjs.org/@joplin/turndown-plugin-gfm/-/turndown-plugin-gfm-1.0.32.tgz";
+        sha512 = "5jodAeZz90xt4p5FSvnRi4V1NyiPS0L9O7WufG8lN55sacZ9pkXUvELex4PQ7kiHvmOv67x4XcvTjfqX/mnKnA==";
       };
     };
     "@josephg/resolvable-1.0.1" = {
@@ -3802,13 +3802,13 @@ let
         sha512 = "W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==";
       };
     };
-    "@microsoft/load-themed-styles-1.10.185" = {
+    "@microsoft/load-themed-styles-1.10.186" = {
       name = "_at_microsoft_slash_load-themed-styles";
       packageName = "@microsoft/load-themed-styles";
-      version = "1.10.185";
+      version = "1.10.186";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.185.tgz";
-        sha512 = "IyjxBy64JnmlOPjI0F/J+JoeQu/gDCoqLQ4zEmWgd2EDCg2Sd03CrkwqR40q1B5QzC2bUbP3KwnFhoaTS4pBsA==";
+        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.186.tgz";
+        sha512 = "1EmEk1+ms0637dejhkMpSnWvAkZa+L85qUmsQClK+ClAlp4jmWbolWJIirmCpcUbTwkr1I/O6SAFiqKkVkhB5A==";
       };
     };
     "@mitmaro/errors-1.0.0" = {
@@ -3883,13 +3883,13 @@ let
         sha512 = "b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==";
       };
     };
-    "@netlify/build-12.7.2" = {
+    "@netlify/build-12.11.0" = {
       name = "_at_netlify_slash_build";
       packageName = "@netlify/build";
-      version = "12.7.2";
+      version = "12.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/build/-/build-12.7.2.tgz";
-        sha512 = "AQCtlVBQFEpcQzglzAiXqfaXAss/+ufBhfuc6BuWM24ze+dD+ywyUb9IHfe6ceHdHZIKhfST6AYWT7my39NGmg==";
+        url = "https://registry.npmjs.org/@netlify/build/-/build-12.11.0.tgz";
+        sha512 = "kPY8qLpcAKOrjkgxil+c/C2Ivt0Vobklez+WFEQ5pQBYCPyjtw5kTAHABb8USc+CBaE4CWL1kehcvdbSJiO6Kg==";
       };
     };
     "@netlify/cache-utils-1.0.7" = {
@@ -3901,22 +3901,13 @@ let
         sha512 = "yrdrnQkzg/qMovoFYwQ24UVt/OyHtP+t0KpQFd7eBl6gnuuGGgxFocaFFv6eKpMVwzHTsOwx/y9B/FcC3/6cfA==";
       };
     };
-    "@netlify/config-7.7.1" = {
-      name = "_at_netlify_slash_config";
-      packageName = "@netlify/config";
-      version = "7.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/config/-/config-7.7.1.tgz";
-        sha512 = "ReVy0Dqcvubldo9ZzmI6jCwUqFwDdq9v4enQu/uM6B2UVueKSgombKO8r0BlyNtLlKbbCOlaG7Gpbu0KsBvsPw==";
-      };
-    };
-    "@netlify/config-8.0.0" = {
+    "@netlify/config-9.1.0" = {
       name = "_at_netlify_slash_config";
       packageName = "@netlify/config";
-      version = "8.0.0";
+      version = "9.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/config/-/config-8.0.0.tgz";
-        sha512 = "zEgClyq8RZ79FPJHEK3xIPnXOPbji0N5ucPpk17lFyccPeKTsEG2cfEJ94vP2T809AUHa90cRvZVg8j7UtpR4A==";
+        url = "https://registry.npmjs.org/@netlify/config/-/config-9.1.0.tgz";
+        sha512 = "XP3z4bm/D5KsZZB85lzgciJp6v2tF3jxJaeuq7hB7bEfVaHqGJfHesalhrqEXjB9lATD63UR6h7YmzRq2DmIpQ==";
       };
     };
     "@netlify/esbuild-0.13.6" = {
@@ -3928,22 +3919,22 @@ let
         sha512 = "tiKmDcHM2riSVN79c0mJY/67EBDafXQAMitHuLiCDAMdtz3kfv+NqdVG5krgf5lWR8Uf8AeZrUW5Q9RP25REvw==";
       };
     };
-    "@netlify/framework-info-5.3.0" = {
+    "@netlify/framework-info-5.4.0" = {
       name = "_at_netlify_slash_framework-info";
       packageName = "@netlify/framework-info";
-      version = "5.3.0";
+      version = "5.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-5.3.0.tgz";
-        sha512 = "9pgfafCGv2pt2l82JfPxst3QasuA40DFF0QdLm/3NNdSje8Ro3/i4rUATMCisaGJcScrAYljRlMFOhT4vFVlDg==";
+        url = "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-5.4.0.tgz";
+        sha512 = "eelZCGCm0F3wUClqSfKqeYXHn/hHyHzm+QhMBr3iBVcOQI7uujfwXjq5mS1gD3quJHF3jGrJ3QgzPa9X5v5Fwg==";
       };
     };
-    "@netlify/functions-utils-1.3.46" = {
+    "@netlify/functions-utils-1.3.47" = {
       name = "_at_netlify_slash_functions-utils";
       packageName = "@netlify/functions-utils";
-      version = "1.3.46";
+      version = "1.3.47";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-1.3.46.tgz";
-        sha512 = "BXJxaj4fQ//zYUdRO9Mib35hOinRVBIjAWgD2YiW4fJv98Adcr33LMbPxxTnc/zP3Oh6c56YAUIBh5FA3VIe5g==";
+        url = "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-1.3.47.tgz";
+        sha512 = "lJoa3aIuyBiPNo7XawtGQRTDFCmO9wSpoVDhO+e6t2YoCoCFXlJxZulZdalJ+JnRphlEMKHCMA3jeaVhVjjHuQ==";
       };
     };
     "@netlify/git-utils-1.0.11" = {
@@ -4009,15 +4000,6 @@ let
         sha512 = "627ZNqfc4mdhU5mYDpcKUbmx8RoAUu8ZQiW/RIt5s7uDhruba3bK776Ygzog5b14hYWthT41/bf+9wQ+O9NFWw==";
       };
     };
-    "@netlify/zip-it-and-ship-it-4.5.1" = {
-      name = "_at_netlify_slash_zip-it-and-ship-it";
-      packageName = "@netlify/zip-it-and-ship-it";
-      version = "4.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-4.5.1.tgz";
-        sha512 = "zU2ztAEwLxIL7oy1nl0NXZC9Mbzb2QVkdjztZcpY76Ne5q0hBYpBv85SJFgrz75QMSC5C/eeQxs8iUYpmdZH4Q==";
-      };
-    };
     "@node-red/editor-api-1.3.5" = {
       name = "_at_node-red_slash_editor-api";
       packageName = "@node-red/editor-api";
@@ -4108,13 +4090,13 @@ let
         sha512 = "BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA==";
       };
     };
-    "@npmcli/arborist-2.6.3" = {
+    "@npmcli/arborist-2.6.4" = {
       name = "_at_npmcli_slash_arborist";
       packageName = "@npmcli/arborist";
-      version = "2.6.3";
+      version = "2.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/arborist/-/arborist-2.6.3.tgz";
-        sha512 = "R8U2dZ8+jeE7go+qNU4Mt6aiXyBu3mM75iRIugNCA4P0OWlsLOpuDPPhsaRcOVbtXheOGZXrqe36qP1g+M68KQ==";
+        url = "https://registry.npmjs.org/@npmcli/arborist/-/arborist-2.6.4.tgz";
+        sha512 = "A/pDQ/VZpdxaqsQS5XOWrhrPuC+ER7HLq+4ZkEmnO2yo/USFCWEsiUPYKhfY+sWXK3pgKjN7B7CEFmAnSoAt3g==";
       };
     };
     "@npmcli/ci-detect-1.3.0" = {
@@ -4189,6 +4171,15 @@ let
         sha512 = "yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg==";
       };
     };
+    "@npmcli/package-json-1.0.1" = {
+      name = "_at_npmcli_slash_package-json";
+      packageName = "@npmcli/package-json";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@npmcli/package-json/-/package-json-1.0.1.tgz";
+        sha512 = "y6jnu76E9C23osz8gEMBayZmaZ69vFOIk8vR1FJL/wbEJ54+9aVG9rLTjQKSXfgYZEr50nw1txBBFfBZZe+bYg==";
+      };
+    };
     "@npmcli/promise-spawn-1.3.2" = {
       name = "_at_npmcli_slash_promise-spawn";
       packageName = "@npmcli/promise-spawn";
@@ -4297,13 +4288,13 @@ let
         sha512 = "G440PCuMi/OT8b71aWkR+kCWikngGtyRjOR24sPMDbpUFV4+B3r51fz1fcqeUiiEOYqUpr0Uy/sneUe1O/NfBg==";
       };
     };
-    "@oclif/plugin-plugins-1.10.0" = {
+    "@oclif/plugin-plugins-1.10.1" = {
       name = "_at_oclif_slash_plugin-plugins";
       packageName = "@oclif/plugin-plugins";
-      version = "1.10.0";
+      version = "1.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/plugin-plugins/-/plugin-plugins-1.10.0.tgz";
-        sha512 = "lfHNiuuCrCUtH9A912T/ztxRA9lS1lCZm+gcmVWksIJG/gwKH/fMn+GdLTbRzU2k6ojtMhBblYk1RWKxUEJuzA==";
+        url = "https://registry.npmjs.org/@oclif/plugin-plugins/-/plugin-plugins-1.10.1.tgz";
+        sha512 = "JDUA3NtOa4OlH8ofUBXQMTFlpEkSmeE9BxoQTD6+BeUvMgqFuZThENucRvCD00sywhCmDngmIYN59gKcXpGJeQ==";
       };
     };
     "@oclif/screen-1.0.4" = {
@@ -4360,13 +4351,13 @@ let
         sha512 = "SWTdXsVheRmlotWNjKzPOb6Js6tjSqA2a8z9+glDJng0Aqjzti8MEWOtuT8ZSu6wHnci7LZNuarE87+WJBG4vg==";
       };
     };
-    "@octokit/openapi-types-7.3.2" = {
+    "@octokit/openapi-types-7.3.5" = {
       name = "_at_octokit_slash_openapi-types";
       packageName = "@octokit/openapi-types";
-      version = "7.3.2";
+      version = "7.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-7.3.2.tgz";
-        sha512 = "oJhK/yhl9Gt430OrZOzAl2wJqR0No9445vmZ9Ey8GjUZUpwuu/vmEFP0TDhDXdpGDoxD6/EIFHJEcY8nHXpDTA==";
+        url = "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-7.3.5.tgz";
+        sha512 = "6bm5lzGDOeSnWHM5W8OZ86RD2KpchynU+/Qlm5hNEFjfLDhwfAY2lSe68YRUEYFGlxSHe0HmakyhvmtWoD3Zog==";
       };
     };
     "@octokit/plugin-enterprise-rest-6.0.1" = {
@@ -4396,13 +4387,13 @@ let
         sha512 = "mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==";
       };
     };
-    "@octokit/plugin-rest-endpoint-methods-5.3.1" = {
+    "@octokit/plugin-rest-endpoint-methods-5.3.4" = {
       name = "_at_octokit_slash_plugin-rest-endpoint-methods";
       packageName = "@octokit/plugin-rest-endpoint-methods";
-      version = "5.3.1";
+      version = "5.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.3.1.tgz";
-        sha512 = "3B2iguGmkh6bQQaVOtCsS0gixrz8Lg0v4JuXPqBcFqLKuJtxAUf3K88RxMEf/naDOI73spD+goJ/o7Ie7Cvdjg==";
+        url = "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.3.4.tgz";
+        sha512 = "2Y2q/FYCsW5tcwIqgnLOgzZXEb3I1VoSQGyHs/Zki/Ufs5H+uT0maPVHatLKw90LQbqK7ON8NpL3Y8IyzG6pNA==";
       };
     };
     "@octokit/request-5.6.0" = {
@@ -4423,22 +4414,22 @@ let
         sha512 = "1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==";
       };
     };
-    "@octokit/rest-18.6.0" = {
+    "@octokit/rest-18.6.3" = {
       name = "_at_octokit_slash_rest";
       packageName = "@octokit/rest";
-      version = "18.6.0";
+      version = "18.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/rest/-/rest-18.6.0.tgz";
-        sha512 = "MdHuXHDJM7e5sUBe3K9tt7th0cs4csKU5Bb52LRi2oHAeIMrMZ4XqaTrEv660HoUPoM1iDlnj27Ab/Nh3MtwlA==";
+        url = "https://registry.npmjs.org/@octokit/rest/-/rest-18.6.3.tgz";
+        sha512 = "BeV2P48RR3MVPhSBq6KXXHMVHEJg5vnFBkFN1GKPXBohXTp+eb0gJq+5iYgkjbOMG6biNvkKllPDWJchpQHHiA==";
       };
     };
-    "@octokit/types-6.16.4" = {
+    "@octokit/types-6.16.7" = {
       name = "_at_octokit_slash_types";
       packageName = "@octokit/types";
-      version = "6.16.4";
+      version = "6.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/types/-/types-6.16.4.tgz";
-        sha512 = "UxhWCdSzloULfUyamfOg4dJxV9B+XjgrIZscI0VCbp4eNrjmorGEw+4qdwcpTsu6DIrm9tQsFQS2pK5QkqQ04A==";
+        url = "https://registry.npmjs.org/@octokit/types/-/types-6.16.7.tgz";
+        sha512 = "OuQELiwIKeDySgNID52vm33wDRc2aaX8lKYgAw9Hmw939ITow1HspT8/AH3M3jgGFUMDmHlMNBNEmH7xV7ggXQ==";
       };
     };
     "@open-policy-agent/opa-wasm-1.2.0" = {
@@ -4477,22 +4468,22 @@ let
         sha512 = "PffXX2AL8Sh0VHQ52jJC4u3T0H6wDK6N/4bg7xh4ngMYOIi13aR1kzVvX1sVDBgfGwDOkMbl4c54Xm3tlPx/+A==";
       };
     };
-    "@opentelemetry/api-0.20.0" = {
+    "@opentelemetry/api-1.0.1" = {
       name = "_at_opentelemetry_slash_api";
       packageName = "@opentelemetry/api";
-      version = "0.20.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@opentelemetry/api/-/api-0.20.0.tgz";
-        sha512 = "n06MtDYEc2H07S/NTvGMlxF2Ijp0YbNrI/rBgLcxpEh3hxOkPZA12gxlUoZkBHWCZYau2j3b/uL+QFpiQKOjSw==";
+        url = "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.1.tgz";
+        sha512 = "H5Djcc2txGAINgf3TNaq4yFofYSIK3722PM89S/3R8FuI/eqi1UscajlXk7EBkG9s2pxss/q6SHlpturaavXaw==";
       };
     };
-    "@opentelemetry/semantic-conventions-0.20.0" = {
+    "@opentelemetry/semantic-conventions-0.22.0" = {
       name = "_at_opentelemetry_slash_semantic-conventions";
       packageName = "@opentelemetry/semantic-conventions";
-      version = "0.20.0";
+      version = "0.22.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-0.20.0.tgz";
-        sha512 = "x40C3vQMttFlnNEfhFwO49jHrY6AoWnntL35TCem3LINr/aw1W0hGhdKY/zweC64CBJEyiHumaae480rqF8eOA==";
+        url = "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-0.22.0.tgz";
+        sha512 = "t4fKikazahwNKmwD+CE/icHyuZldWvNMupJhjxdk9T/KxHFx3zCGjHT3MKavwYP6abzgAAm5WwzD1oHlmj7dyg==";
       };
     };
     "@ot-builder/bin-composite-types-1.0.9" = {
@@ -5152,13 +5143,13 @@ let
         sha512 = "c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==";
       };
     };
-    "@schematics/angular-12.0.5" = {
+    "@schematics/angular-12.1.0" = {
       name = "_at_schematics_slash_angular";
       packageName = "@schematics/angular";
-      version = "12.0.5";
+      version = "12.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/angular/-/angular-12.0.5.tgz";
-        sha512 = "gMT66T33az+uGLDSc7UkJVg+vloPeTpQNgWddBVGnW/Lkl1tGaWUxyqUJAp8AvusPNU+NCP+ZFB3qUm+pc7tCg==";
+        url = "https://registry.npmjs.org/@schematics/angular/-/angular-12.1.0.tgz";
+        sha512 = "BUCBiW+DQsOofSs4TE26M2OhlS0g9Mdyd0xWF4FD2Ab3xwQgkV1gogZgCl9dZtNfiimYebdM9LOeHqYWmvqCdw==";
       };
     };
     "@schematics/schematics-0.1102.6" = {
@@ -5512,13 +5503,13 @@ let
         sha512 = "E/Pfdze/WFfxwyuTFcfhQN1SwyUsc43yuCoW63RVBCaxTD6OzhVD2Pvc/Sy7BjiWUfmelzyKkIBpoow8zZX7Zg==";
       };
     };
-    "@snyk/fix-1.642.0" = {
+    "@snyk/fix-1.649.0" = {
       name = "_at_snyk_slash_fix";
       packageName = "@snyk/fix";
-      version = "1.642.0";
+      version = "1.649.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/fix/-/fix-1.642.0.tgz";
-        sha512 = "wA1hjH/eH0y/4/psauKFkK8pO29NSv1uEfheckvkoBB8BVrj3zDDBJhrxx2RRH2395XZxk977GLU9oTgUwSzlw==";
+        url = "https://registry.npmjs.org/@snyk/fix/-/fix-1.649.0.tgz";
+        sha512 = "yYm6f8UmRPeQglDde8mDZU6ymQTyvlKcgJfG2dWjA0nQTbIo+aSqLGB9A5JyqVcJCEbwJrylNcPbYaxE9udnFg==";
       };
     };
     "@snyk/fix-pipenv-pipfile-0.5.4" = {
@@ -6070,13 +6061,13 @@ let
         sha512 = "NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==";
       };
     };
-    "@types/babel__traverse-7.11.1" = {
+    "@types/babel__traverse-7.14.0" = {
       name = "_at_types_slash_babel__traverse";
       packageName = "@types/babel__traverse";
-      version = "7.11.1";
+      version = "7.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.1.tgz";
-        sha512 = "Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==";
+        url = "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.0.tgz";
+        sha512 = "IilJZ1hJBUZwMOVDNTdflOOLzJB/ZtljYVa7k3gEZN/jqIJIPkWHC6dvbX+DD2CwZDHB9wAKzZPzzqMIkW37/w==";
       };
     };
     "@types/babylon-6.16.5" = {
@@ -6376,13 +6367,13 @@ let
         sha512 = "wLhcKh3PMlyA2cNAB9sjM1BntnhPMiM0JOBwPBqttjHev2428MLEB4AYVN+d8s2iyCVZac+o41Pflm/ZH5vLXQ==";
       };
     };
-    "@types/express-serve-static-core-4.17.21" = {
+    "@types/express-serve-static-core-4.17.22" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
-      version = "4.17.21";
+      version = "4.17.22";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.21.tgz";
-        sha512 = "gwCiEZqW6f7EoR8TTEfalyEhb1zA5jQJnRngr97+3pzMaO1RKoI1w2bw07TK72renMUVWcWS5mLI6rk1NqN0nA==";
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.22.tgz";
+        sha512 = "WdqmrUsRS4ootGha6tVwk/IVHM1iorU8tGehftQD2NWiPniw/sm7xdJOIlXLwqdInL9wBw/p7oO8vaYEF3NDmA==";
       };
     };
     "@types/fancy-log-1.3.0" = {
@@ -6889,6 +6880,15 @@ let
         sha512 = "zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA==";
       };
     };
+    "@types/node-15.12.5" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "15.12.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-15.12.5.tgz";
+        sha512 = "se3yX7UHv5Bscf8f1ERKvQOD6sTyycH3hdaoozvaLxgUiY5lIGEeH37AD0G0Qi9kPqihPn0HOfd2yaIEN9VwEg==";
+      };
+    };
     "@types/node-15.6.1" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
@@ -7582,13 +7582,13 @@ let
         sha512 = "sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==";
       };
     };
-    "@unicode/unicode-13.0.0-1.0.6" = {
+    "@unicode/unicode-13.0.0-1.1.0" = {
       name = "_at_unicode_slash_unicode-13.0.0";
       packageName = "@unicode/unicode-13.0.0";
-      version = "1.0.6";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@unicode/unicode-13.0.0/-/unicode-13.0.0-1.0.6.tgz";
-        sha512 = "ywSlML1wdeBSGH12b6PkblGtjzsQNMZ7+JlJj+eoPj0VuCeg52hcUTeVWfd4GmISU+zOQHWjNC6c0xmsIuVy8Q==";
+        url = "https://registry.npmjs.org/@unicode/unicode-13.0.0/-/unicode-13.0.0-1.1.0.tgz";
+        sha512 = "iOVqHDBzYSb4EOLBirZM9qNur+J7hAb6YyzGlUoAFx2ubb3Qidc+VhAuRQAxnOOWEqMcIZpnVnJ/OkTxbNmgEA==";
       };
     };
     "@uphold/request-logger-2.0.0" = {
@@ -8518,13 +8518,13 @@ let
         sha512 = "nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==";
       };
     };
-    "acorn-8.4.0" = {
+    "acorn-8.4.1" = {
       name = "acorn";
       packageName = "acorn";
-      version = "8.4.0";
+      version = "8.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-8.4.0.tgz";
-        sha512 = "ULr0LDaEqQrMFGyQ3bhJkLsbtrQ8QibAseGZeaSUiT/6zb9IvIkomWHJIvgvwad+hinRAgsI51JcWk2yvwyL+w==";
+        url = "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz";
+        sha512 = "asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==";
       };
     };
     "acorn-globals-1.0.9" = {
@@ -8869,15 +8869,6 @@ let
         sha512 = "LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==";
       };
     };
-    "ajv-8.2.0" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "8.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-8.2.0.tgz";
-        sha512 = "WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA==";
-      };
-    };
     "ajv-8.6.0" = {
       name = "ajv";
       packageName = "ajv";
@@ -8896,15 +8887,6 @@ let
         sha512 = "DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==";
       };
     };
-    "ajv-formats-2.0.2" = {
-      name = "ajv-formats";
-      packageName = "ajv-formats";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.0.2.tgz";
-        sha512 = "Brah4Uo5/U8v76c6euTwtjVFFaVishwnJrQBYpev1JRh4vjA1F4HY3UzQez41YUCszUCXKagG8v6eVRBHV1gkw==";
-      };
-    };
     "ajv-formats-2.1.0" = {
       name = "ajv-formats";
       packageName = "ajv-formats";
@@ -9400,22 +9382,22 @@ let
         sha1 = "d8a3f26615379398a1b53ca6cc1a666a0fbfe150";
       };
     };
-    "apache-crypt-1.2.4" = {
+    "apache-crypt-1.2.5" = {
       name = "apache-crypt";
       packageName = "apache-crypt";
-      version = "1.2.4";
+      version = "1.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.4.tgz";
-        sha512 = "Icze5ny5W5uv3xgMgl8U+iGmRCC0iIDrb2PVPuRBtL3Zy1Y5TMewXP1Vtc4r5X9eNNBEk7KYPu0Qby9m/PmcHg==";
+        url = "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.5.tgz";
+        sha512 = "ICnYQH+DFVmw+S4Q0QY2XRXD8Ne8ewh8HgbuFH4K7022zCxgHM0Hz1xkRnUlEfAXNbwp1Cnhbedu60USIfDxvg==";
       };
     };
-    "apache-md5-1.1.5" = {
+    "apache-md5-1.1.7" = {
       name = "apache-md5";
       packageName = "apache-md5";
-      version = "1.1.5";
+      version = "1.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apache-md5/-/apache-md5-1.1.5.tgz";
-        sha512 = "sbLEIMQrkV7RkIruqTPXxeCMkAAycv4yzTkBzRgOR1BrR5UB7qZtupqxkersTJSf0HZ3sbaNRrNV80TnnM7cUw==";
+        url = "https://registry.npmjs.org/apache-md5/-/apache-md5-1.1.7.tgz";
+        sha512 = "JtHjzZmJxtzfTSjsCyHgPR155HBe5WGyUyHTaEkfy46qhwCFKx1Epm6nAxgUG3WfUZP1dWhGqj9Z2NOBeZ+uBw==";
       };
     };
     "apollo-cache-control-0.14.0" = {
@@ -10858,13 +10840,13 @@ let
         sha512 = "tbMZ/Y2rRo6R6TTBODJXTiil+MXaoT6Qzotws3yvI1IWGpYxKo7N/3L06XB8ul8tCG0TigxIOY70SMICM70Ppg==";
       };
     };
-    "aws-sdk-2.932.0" = {
+    "aws-sdk-2.935.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.932.0";
+      version = "2.935.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.932.0.tgz";
-        sha512 = "U6MWUtFD0npWa+ReVEgm0fCIM0fMOYahFp14GLv8fC+BWOTvh5Iwt/gF8NrLomx42bBjA1Abaw6yhmiaSJDQHQ==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.935.0.tgz";
+        sha512 = "OeoqkZ0fXPC1xjumoFQmPccASXmGBBNBsI3l9vs/NCQk3WyBfiYh07H6RO5owtCmp0a8hAjKSZAHjnRe2JlmEA==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -14296,13 +14278,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001239" = {
+    "caniuse-lite-1.0.30001240" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001239";
+      version = "1.0.30001240";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001239.tgz";
-        sha512 = "cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001240.tgz";
+        sha512 = "nb8mDzfMdxBDN7ZKx8chWafAdBp5DAAlpWvNyUGe5tcDWd838zpzDN3Rah9cjCqhfOKkrvx40G2SDtP0qiWX/w==";
       };
     };
     "canvas-2.8.0" = {
@@ -14836,15 +14818,6 @@ let
         sha512 = "0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==";
       };
     };
-    "cheerio-1.0.0-rc.5" = {
-      name = "cheerio";
-      packageName = "cheerio";
-      version = "1.0.0-rc.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.5.tgz";
-        sha512 = "yoqps/VCaZgN4pfXtenwHROTp8NG6/Hlt4Jpz2FEP0ZJQ+ZUkVDd0hAPDNKhj3nakpfPt/CNs57yEtxD1bXQiw==";
-      };
-    };
     "cheerio-select-1.5.0" = {
       name = "cheerio-select";
       packageName = "cheerio-select";
@@ -14854,15 +14827,6 @@ let
         sha512 = "qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==";
       };
     };
-    "cheerio-select-tmp-0.1.1" = {
-      name = "cheerio-select-tmp";
-      packageName = "cheerio-select-tmp";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cheerio-select-tmp/-/cheerio-select-tmp-0.1.1.tgz";
-        sha512 = "YYs5JvbpU19VYJyj+F7oYrIE2BOll1/hRU7rEy/5+v9BzkSo3bK81iAeeQEMI92vRIxz677m72UmJUiVwwgjfQ==";
-      };
-    };
     "child-process-1.0.2" = {
       name = "child-process";
       packageName = "child-process";
@@ -15223,13 +15187,13 @@ let
         sha512 = "VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==";
       };
     };
-    "clean-css-5.1.2" = {
+    "clean-css-5.1.3" = {
       name = "clean-css";
       packageName = "clean-css";
-      version = "5.1.2";
+      version = "5.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clean-css/-/clean-css-5.1.2.tgz";
-        sha512 = "QcaGg9OuMo+0Ds933yLOY+gHPWbxhxqF0HDexmToPf8pczvmvZGYzd+QqWp9/mkucAOKViI+dSFOqoZIvXbeBw==";
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-5.1.3.tgz";
+        sha512 = "qGXzUCDpLwAlPx0kYeU4QXjzQIcIYZbJjD4FNm7NnSjoP0hYMVZhHOpUYJ6AwfkMX2cceLRq54MeCgHy/va1cA==";
       };
     };
     "clean-deep-3.4.0" = {
@@ -15547,15 +15511,6 @@ let
         sha512 = "0tOHJNMF9+4R3qcbBL+4IxLErpaYSYvzs10aXuECDbZdJOuJHdagJMAqvLdeaUQTI/o2uSCDRpet6ywDiKOAYw==";
       };
     };
-    "clipboard-2.0.8" = {
-      name = "clipboard";
-      packageName = "clipboard";
-      version = "2.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clipboard/-/clipboard-2.0.8.tgz";
-        sha512 = "Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ==";
-      };
-    };
     "clipboardy-1.2.3" = {
       name = "clipboardy";
       packageName = "clipboardy";
@@ -16483,6 +16438,15 @@ let
         sha512 = "QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==";
       };
     };
+    "commander-8.0.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-8.0.0.tgz";
+        sha512 = "Xvf85aAtu6v22+E5hfVoLHqyul/jyxh91zvqk/ioJTQuJR7Z78n7H558vMPKanPSRgIEeZemT92I2g9Y8LPbSQ==";
+      };
+    };
     "commandpost-1.4.0" = {
       name = "commandpost";
       packageName = "commandpost";
@@ -16996,13 +16960,13 @@ let
         sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
       };
     };
-    "constructs-3.3.87" = {
+    "constructs-3.3.92" = {
       name = "constructs";
       packageName = "constructs";
-      version = "3.3.87";
+      version = "3.3.92";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.87.tgz";
-        sha512 = "/SQrY1RP9KQsSyyVeyBTSMIiC5yOJO635YVqPH6XBsS5MMkBHd4gsPOX4FkpkDLMC1shAoK0FSTLatgxFiS4+A==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.92.tgz";
+        sha512 = "fy4mwH1yyNZe+fykEsVeBYhBI2GNYBoJoRS3St8Scl/RcoFUj1inHvxMDrcRHm78K0kZ/U1oZ5gzuMHBnQxWlQ==";
       };
     };
     "consume-http-header-1.0.0" = {
@@ -18023,15 +17987,6 @@ let
         sha512 = "DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==";
       };
     };
-    "css-b64-images-0.2.5" = {
-      name = "css-b64-images";
-      packageName = "css-b64-images";
-      version = "0.2.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-b64-images/-/css-b64-images-0.2.5.tgz";
-        sha1 = "42005d83204b2b4a5d93b6b1a5644133b5927a02";
-      };
-    };
     "css-color-keywords-1.0.0" = {
       name = "css-color-keywords";
       packageName = "css-color-keywords";
@@ -18140,15 +18095,6 @@ let
         sha512 = "Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==";
       };
     };
-    "css-select-3.1.2" = {
-      name = "css-select";
-      packageName = "css-select";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-select/-/css-select-3.1.2.tgz";
-        sha512 = "qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA==";
-      };
-    };
     "css-select-4.1.3" = {
       name = "css-select";
       packageName = "css-select";
@@ -18230,15 +18176,6 @@ let
         sha512 = "ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==";
       };
     };
-    "css-what-4.0.0" = {
-      name = "css-what";
-      packageName = "css-what";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-what/-/css-what-4.0.0.tgz";
-        sha512 = "teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==";
-      };
-    };
     "css-what-5.0.1" = {
       name = "css-what";
       packageName = "css-what";
@@ -19580,13 +19517,13 @@ let
         sha1 = "d171a87933252807eb3cb61dc1c1445d078df2d9";
       };
     };
-    "decimal.js-10.3.0" = {
+    "decimal.js-10.3.1" = {
       name = "decimal.js";
       packageName = "decimal.js";
-      version = "10.3.0";
+      version = "10.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.0.tgz";
-        sha512 = "MrQRs2gyD//7NeHi9TtsfClkf+cFAewDz+PZHR8ILKglLmBMyVX3ymQ+oeznE3tjrS7beTN+6JXb2C3JDHm7ug==";
+        url = "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz";
+        sha512 = "V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==";
       };
     };
     "decimal.js-7.5.1" = {
@@ -20102,15 +20039,6 @@ let
         sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
       };
     };
-    "delegate-3.2.0" = {
-      name = "delegate";
-      packageName = "delegate";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz";
-        sha512 = "IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==";
-      };
-    };
     "delegates-1.0.0" = {
       name = "delegates";
       packageName = "delegates";
@@ -20435,15 +20363,6 @@ let
         sha512 = "y/Ev98AleGvl43YKTNcA2Q+lyFmsmCfTTNWy4cjEJxoLkbobcXtRS0Kvx06daCgr2GdtlwLfNzL553BkktfJoA==";
       };
     };
-    "devtools-protocol-0.0.854822" = {
-      name = "devtools-protocol";
-      packageName = "devtools-protocol";
-      version = "0.0.854822";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.854822.tgz";
-        sha512 = "xd4D8kHQtB0KtWW0c9xBZD5LVtm9chkMOfs/3Yn01RhT/sFIsVtzTtypfKoFfWBaL+7xCYLxjOLkhwPXaX/Kcg==";
-      };
-    };
     "devtools-protocol-0.0.883894" = {
       name = "devtools-protocol";
       packageName = "devtools-protocol";
@@ -20984,15 +20903,6 @@ let
         sha512 = "2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==";
       };
     };
-    "dom-serializer-1.2.0" = {
-      name = "dom-serializer";
-      packageName = "dom-serializer";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz";
-        sha512 = "n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==";
-      };
-    };
     "dom-serializer-1.3.2" = {
       name = "dom-serializer";
       packageName = "dom-serializer";
@@ -21650,13 +21560,13 @@ let
         sha512 = "1sQ1DRtQGpglFhc3urD4olMJzt/wxlbnAAsf+WY2xHf5c50ZovivZvCXSpVgTOP9f4TzOMvelWyspyfhxQKHzQ==";
       };
     };
-    "electron-to-chromium-1.3.755" = {
+    "electron-to-chromium-1.3.759" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.3.755";
+      version = "1.3.759";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.755.tgz";
-        sha512 = "BJ1s/kuUuOeo1bF/EM2E4yqW9te0Hpof3wgwBx40AWJE18zsD1Tqo0kr7ijnOc+lRsrlrqKPauJAHqaxOItoUA==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.759.tgz";
+        sha512 = "nM76xH0t2FBH5iMEZDVc3S/qbdKjGH7TThezxC8k1Q7w7WHvIAyJh8lAe2UamGfdRqBTjHfPDn82LJ0ksCiB9g==";
       };
     };
     "electrum-client-git://github.com/janoside/electrum-client" = {
@@ -22741,13 +22651,13 @@ let
         sha512 = "Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==";
       };
     };
-    "eslint-plugin-vue-7.11.1" = {
+    "eslint-plugin-vue-7.12.1" = {
       name = "eslint-plugin-vue";
       packageName = "eslint-plugin-vue";
-      version = "7.11.1";
+      version = "7.12.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.11.1.tgz";
-        sha512 = "lbw3vkEAGqYjqd1HpPFWHXtYaS8mILTJ5KOpJfRxO3Fo7o0wCf1zD7vSOasbm6nTA9xIgvZQ4VcyGIzQXxznHw==";
+        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.12.1.tgz";
+        sha512 = "xHf/wCt88qmzqQerjaSteUFGASj7fPreglKD4ijnvoKRkoSJ3/H3kuJE8QFFtc+2wjw6hRDs834HH7vpuTJQzg==";
       };
     };
     "eslint-scope-3.7.3" = {
@@ -23614,13 +23524,13 @@ let
         sha1 = "a793d3ac0cad4c6ab571e9968fbbab6cb2532929";
       };
     };
-    "expo-pwa-0.0.84" = {
+    "expo-pwa-0.0.87" = {
       name = "expo-pwa";
       packageName = "expo-pwa";
-      version = "0.0.84";
+      version = "0.0.87";
       src = fetchurl {
-        url = "https://registry.npmjs.org/expo-pwa/-/expo-pwa-0.0.84.tgz";
-        sha512 = "esZ6a5ObdnWn8h9METs3WuUbGEq16vh4wq1jwSK81oBJKIxijd5M0JbqDqhOsT4rIjuH8ZfQKsl0C1AtLIAfgQ==";
+        url = "https://registry.npmjs.org/expo-pwa/-/expo-pwa-0.0.87.tgz";
+        sha512 = "ijNE0hKcOcCTU4Ve0AC69VLCe2d3xLcyU38oCXm2s/r/kuzMvs6bb1ecIrwWUt6Y7JpAPFYGemzxInDW5zcXQg==";
       };
     };
     "express-2.5.11" = {
@@ -24154,13 +24064,13 @@ let
         sha512 = "g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==";
       };
     };
-    "fast-glob-3.2.5" = {
+    "fast-glob-3.2.6" = {
       name = "fast-glob";
       packageName = "fast-glob";
-      version = "3.2.5";
+      version = "3.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz";
-        sha512 = "2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==";
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.6.tgz";
+        sha512 = "GnLuqj/pvQ7pX8/L4J84nijv6sAnlwvSDpMkJi9i7nPmPxGtRPkBSStfvDW5l6nMdX9VWe+pkKWFTgD+vF2QSQ==";
       };
     };
     "fast-json-parse-1.0.3" = {
@@ -25189,13 +25099,13 @@ let
         sha512 = "jlbUu0XkbpXeXhan5xyTqVK1jmEKNxE8hpzznI3TThHTr76GiFwK0iRzhDo4KNy+S9h/KxHaqVhTP86vA6wHCg==";
       };
     };
-    "flow-parser-0.153.0" = {
+    "flow-parser-0.154.0" = {
       name = "flow-parser";
       packageName = "flow-parser";
-      version = "0.153.0";
+      version = "0.154.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.153.0.tgz";
-        sha512 = "qa7UODgbofQyruRWqNQ+KM5hO37CenByxhNfAztiwjBsPhWZ5AFh5g+gtLpTWPlzG7X66QdjBB9DuHNUBcaF+Q==";
+        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.154.0.tgz";
+        sha512 = "cH9xY/ljOgmqG1n7PU1jffiHhRggoloauwOrOlCWBEX4Y+ml6GA8g//tCVKU+6PO4BXoPF22TFHkS5E1bN3JOQ==";
       };
     };
     "fluent-ffmpeg-2.1.2" = {
@@ -27278,15 +27188,6 @@ let
         sha512 = "otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==";
       };
     };
-    "good-listener-1.2.2" = {
-      name = "good-listener";
-      packageName = "good-listener";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz";
-        sha1 = "d53b30cdf9313dffb7dc9a0d477096aa6d145c50";
-      };
-    };
     "google-auth-library-6.1.6" = {
       name = "google-auth-library";
       packageName = "google-auth-library";
@@ -27314,13 +27215,13 @@ let
         sha512 = "Vric7QFWxzHFxITZ10bmlG1H/5rhODb7hJuWyKWMD8GflpQzRmbMVqkFp3fKvN+U9tPwZItGVhkiOR+84PX3ew==";
       };
     };
-    "google-gax-2.16.0" = {
+    "google-gax-2.17.0" = {
       name = "google-gax";
       packageName = "google-gax";
-      version = "2.16.0";
+      version = "2.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/google-gax/-/google-gax-2.16.0.tgz";
-        sha512 = "IwHxHs9gEbvQ0Ne12taqDjJT9cpoLqM7tJamvctIGmkyqnQrdnbDJTGK2Rf85piMYGzmOuPKas9TkhCaoTVIJA==";
+        url = "https://registry.npmjs.org/google-gax/-/google-gax-2.17.0.tgz";
+        sha512 = "Ze/Oq0atVNKyKvDzQFU8B82V9w36GELQruXGsiY1jnySbieZ9vS75v98V/Z10PktmSVqis4sQ+FwK2gkgwIiiw==";
       };
     };
     "google-p12-pem-3.1.0" = {
@@ -27584,13 +27485,13 @@ let
         sha512 = "95yD/tKi24q8xYa7Q9rhQN16AYj5wPbrb8tmHGM3WRc9EBmWrG/0kkMl+tQG8wcEuE9ibR4zyOM31p5Sdr2v4g==";
       };
     };
-    "graphql-tag-2.12.4" = {
+    "graphql-tag-2.12.5" = {
       name = "graphql-tag";
       packageName = "graphql-tag";
-      version = "2.12.4";
+      version = "2.12.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.4.tgz";
-        sha512 = "VV1U4O+9x99EkNpNmCUV5RZwq6MnK4+pGbRYWG+lA/m3uo7TSqJF81OkcOP148gFP6fzdl7JWYBrwWVTS9jXww==";
+        url = "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.5.tgz";
+        sha512 = "5xNhP4063d16Pz3HBtKprutsPrmHZi5IdUGOWRxA2B6VF7BIRGOHZ5WQvDmJXZuPcBg7rYwaFxvQYjqkSdR3TQ==";
       };
     };
     "graphql-tools-3.0.0" = {
@@ -28781,15 +28682,6 @@ let
         sha512 = "LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==";
       };
     };
-    "html-minifier-4.0.0" = {
-      name = "html-minifier";
-      packageName = "html-minifier";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz";
-        sha512 = "aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==";
-      };
-    };
     "html-minifier-terser-5.1.1" = {
       name = "html-minifier-terser";
       packageName = "html-minifier-terser";
@@ -30087,15 +29979,6 @@ let
         sha512 = "JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==";
       };
     };
-    "inquirer-8.0.0" = {
-      name = "inquirer";
-      packageName = "inquirer";
-      version = "8.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer/-/inquirer-8.0.0.tgz";
-        sha512 = "ON8pEJPPCdyjxj+cxsYRe6XfCJepTxANdNnTebsTuQgXpRyZRRT9t4dJwjRubgmvn20CLSEnozRUayXyM9VTXA==";
-      };
-    };
     "inquirer-8.1.1" = {
       name = "inquirer";
       packageName = "inquirer";
@@ -32805,13 +32688,13 @@ let
         sha512 = "ChFg5qhvxCaM2bspCqizs48yMtsm5YLHjBoNZLCkbXyc3yMM5l8pnn787B5ww5TI3+tKxKYWkbiKf356kQ1OgQ==";
       };
     };
-    "jsii-srcmak-0.1.290" = {
+    "jsii-srcmak-0.1.295" = {
       name = "jsii-srcmak";
       packageName = "jsii-srcmak";
-      version = "0.1.290";
+      version = "0.1.295";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.290.tgz";
-        sha512 = "kKyb2kUBCbecbQRx467QGHUCcuCvD2gXzMNYACMgxbKLakRq3qZ3CMb8Pc8/7mnlbgU9e3suh49t8E3D6Q0yhw==";
+        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.295.tgz";
+        sha512 = "xqi5ItFZktdHGzc2XsgNhHsz7egFoFxMpnT0r3ZIbdS6CI1GgBChLEnwxlrE1D6L7c4O4CUImczWgA8b63adPA==";
       };
     };
     "json-bigint-0.2.3" = {
@@ -33111,13 +32994,13 @@ let
         sha512 = "0/4Lv6IenJV0qj2oBdgPIAmFiKKnh8qh7bmLFJ+/ZZHLjSeiL3fKKGX3UryvKPbxFbhV+JcYo9KUC19GJ/Z/4A==";
       };
     };
-    "json2jsii-0.1.257" = {
+    "json2jsii-0.1.262" = {
       name = "json2jsii";
       packageName = "json2jsii";
-      version = "0.1.257";
+      version = "0.1.262";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.1.257.tgz";
-        sha512 = "MMMMK6Oa9U3FtISKuOow6iwd/nJqk9i9C1HkkOO7AyBaD0IDhvgss3cRj37a390AVMnJKeQGWPm8whRsno/N+Q==";
+        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.1.262.tgz";
+        sha512 = "EuPkRDhoG5nH95KzXeDrD6ZExFQp6wwRHsz/h1+hrcRBMX5xusEx0kJoYx7R65i7WNavIw/zdJzVVPwhEl+qHw==";
       };
     };
     "json3-3.2.6" = {
@@ -34651,13 +34534,13 @@ let
         sha512 = "ETaASkbv5v2gcrob/xonsjy0deKSxIHfKOTfOXQicxhZed02plQ2oAUx/K3yxIhRnm7YS45Z/gYQLxUqHkI4ow==";
       };
     };
-    "ln-telegram-3.2.5" = {
+    "ln-telegram-3.2.6" = {
       name = "ln-telegram";
       packageName = "ln-telegram";
-      version = "3.2.5";
+      version = "3.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-telegram/-/ln-telegram-3.2.5.tgz";
-        sha512 = "odHaSJDF1asxW74D4JaoLIGkVqX5KMBDk310sPoM0LJ5Fqljjc2K/Mo+zW+NQtIyaEcFrQTH207jZy2sb4niUQ==";
+        url = "https://registry.npmjs.org/ln-telegram/-/ln-telegram-3.2.6.tgz";
+        sha512 = "8Cd/f5v8tz6v7Tu9AMss3Gn71njnfMK9FC8+wBz+LoYLwI1VRj5yS4koWf7dVXD8qsA4DU4TnqZRrGbdSODWyQ==";
       };
     };
     "load-bmfont-1.4.1" = {
@@ -36694,6 +36577,15 @@ let
         sha512 = "zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==";
       };
     };
+    "luxon-1.27.0" = {
+      name = "luxon";
+      packageName = "luxon";
+      version = "1.27.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/luxon/-/luxon-1.27.0.tgz";
+        sha512 = "VKsFsPggTA0DvnxtJdiExAucKdAnwbCCNlMM5ENvHlxubqWd0xhZcdb4XgZ7QFNhaRhilXCFxHuoObP5BNA4PA==";
+      };
+    };
     "lzma-native-6.0.1" = {
       name = "lzma-native";
       packageName = "lzma-native";
@@ -37279,13 +37171,13 @@ let
         sha512 = "c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==";
       };
     };
-    "marked-2.1.2" = {
+    "marked-2.1.3" = {
       name = "marked";
       packageName = "marked";
-      version = "2.1.2";
+      version = "2.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/marked/-/marked-2.1.2.tgz";
-        sha512 = "ueJhIvklJJw04qxQbGIAu63EXwwOCYc7yKMBjgagTM4rjC5QtWyqSNgW7jCosV1/Km/1TUfs5qEpAqcGG0Mo5g==";
+        url = "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz";
+        sha512 = "/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==";
       };
     };
     "marked-terminal-3.3.0" = {
@@ -38098,13 +37990,13 @@ let
         sha1 = "f8a064760d37e7978ad5f9f6d3c119a494f57081";
       };
     };
-    "mermaid-8.10.2" = {
+    "mermaid-8.11.0" = {
       name = "mermaid";
       packageName = "mermaid";
-      version = "8.10.2";
+      version = "8.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mermaid/-/mermaid-8.10.2.tgz";
-        sha512 = "Za5MrbAOMbEsyY4ONgGjfYz06sbwF1iNGRzp1sQqpOtvXxjxGu/J1jRJ8QyE9kD/D9zj1/KlRrYegWEvA7eZ5Q==";
+        url = "https://registry.npmjs.org/mermaid/-/mermaid-8.11.0.tgz";
+        sha512 = "c/SprR4mJ2Pj7A+3mEvva7XrhEkXQJUal7fIyOkMhOhsPX2u5gQjjm5CEhHQ6WdGsqP+yiR+Fcgnd1i8mpFK8w==";
       };
     };
     "meros-1.1.4" = {
@@ -38701,15 +38593,6 @@ let
         sha512 = "LfHUYIA047rrqIZEn0gwbqbzarU5bmZ8yZ9SizeoiPwVq5cemE3foJTJZ3pCktUq/IPkKNGghFHJk1O8149mOA==";
       };
     };
-    "minify-4.1.3" = {
-      name = "minify";
-      packageName = "minify";
-      version = "4.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minify/-/minify-4.1.3.tgz";
-        sha512 = "ykuscavxivSmVpcCzsXmsVTukWYLUUtPhHj0w2ILvHDGqC+hsuTCihBn9+PJBd58JNvWTNg9132J9nrrI2anzA==";
-      };
-    };
     "minilog-3.1.0" = {
       name = "minilog";
       packageName = "minilog";
@@ -40349,15 +40232,6 @@ let
         sha512 = "Gd1aexpJ3RrOzkssdE8ipS67PuppOAkJNhRqQPp2in2XnJKPm5kvYonYMNVadasSFlNdmVCk9nELV3TnbAfklw==";
       };
     };
-    "netlify-redirect-parser-7.0.0" = {
-      name = "netlify-redirect-parser";
-      packageName = "netlify-redirect-parser";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/netlify-redirect-parser/-/netlify-redirect-parser-7.0.0.tgz";
-        sha512 = "O+4b18XZG1Y8Jaki02T58xRFoEAXIH4qxMSlhQXd8qP5WPIicwcQKylC4fdoA2+puQzGkXvEY9Yc5jn8Zpb2pQ==";
-      };
-    };
     "netlify-redirect-parser-8.0.0" = {
       name = "netlify-redirect-parser";
       packageName = "netlify-redirect-parser";
@@ -41349,6 +41223,15 @@ let
         sha512 = "U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==";
       };
     };
+    "normalize-url-4.5.0" = {
+      name = "normalize-url";
+      packageName = "normalize-url";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz";
+        sha512 = "2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==";
+      };
+    };
     "normalize-url-4.5.1" = {
       name = "normalize-url";
       packageName = "normalize-url";
@@ -41475,15 +41358,6 @@ let
         sha512 = "xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==";
       };
     };
-    "npm-package-arg-8.1.2" = {
-      name = "npm-package-arg";
-      packageName = "npm-package-arg";
-      version = "8.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.2.tgz";
-        sha512 = "6Eem455JsSMJY6Kpd3EyWE+n5hC+g9bSyHr9K9U2zqZb7+02+hObQ2c0+8iDk/mNF+8r1MhY44WypKJAkySIYA==";
-      };
-    };
     "npm-package-arg-8.1.5" = {
       name = "npm-package-arg";
       packageName = "npm-package-arg";
@@ -41547,15 +41421,6 @@ let
         sha512 = "Qs6P6nnopig+Y8gbzpeN/dkt+n7IyVd8f45NTMotGk6Qo7GfBmzwYx6jRLoOOgKiMnaQfYxsuyQlD8Mc3guBhg==";
       };
     };
-    "npm-registry-fetch-10.1.2" = {
-      name = "npm-registry-fetch";
-      packageName = "npm-registry-fetch";
-      version = "10.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-10.1.2.tgz";
-        sha512 = "KsM/TdPmntqgBFlfsbkOLkkE9ovZo7VpVcd+/eTdYszCrgy5zFl5JzWm+OxavFaEWlbkirpkou+ZYI00RmOBFA==";
-      };
-    };
     "npm-registry-fetch-11.0.0" = {
       name = "npm-registry-fetch";
       packageName = "npm-registry-fetch";
@@ -42430,15 +42295,6 @@ let
         sha512 = "MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==";
       };
     };
-    "open-8.0.2" = {
-      name = "open";
-      packageName = "open";
-      version = "8.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/open/-/open-8.0.2.tgz";
-        sha512 = "NV5QmWJrTaNBLHABJyrb+nd5dXI5zfea/suWawBhkHzAbVhLLiJdrqMgxMypGK9Eznp2Ltoh7SAVkQ3XAucX7Q==";
-      };
-    };
     "open-8.1.0" = {
       name = "open";
       packageName = "open";
@@ -42691,13 +42547,13 @@ let
         sha512 = "ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==";
       };
     };
-    "openid-2.0.8" = {
+    "openid-2.0.9" = {
       name = "openid";
       packageName = "openid";
-      version = "2.0.8";
+      version = "2.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openid/-/openid-2.0.8.tgz";
-        sha512 = "ljI4GE6p4RYn9dLftlXw6TvlA+untAkoWBRpj4qIB4AJQWcDZ2lOVOJQ2tq346ok38mtGDBYRBvp3Q+AsuCBnQ==";
+        url = "https://registry.npmjs.org/openid/-/openid-2.0.9.tgz";
+        sha512 = "LzsGBHUDU2FjW/aHjB99GXxuyEPVkFyU4Ub/df3K0hYGxD1qvYu7atPORLXddCufVkcZBpgbYxdLVG8uiY0fCA==";
       };
     };
     "openpgp-4.10.10" = {
@@ -43591,15 +43447,6 @@ let
         sha512 = "LUL4NK7sz01jdSUdCu3z1LyphCiFdQaFouaEDsAWmJpzS0lbeNfvZoX4bi1Tm1ilzheK5VAoD96QskDCZQr+jA==";
       };
     };
-    "pacote-11.3.2" = {
-      name = "pacote";
-      packageName = "pacote";
-      version = "11.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pacote/-/pacote-11.3.2.tgz";
-        sha512 = "lMO7V9aMhyE5gfaSFxKfW3OTdXuFBNQJfuNuet3NPzWWhOYIW90t85vHcHLDjdhgmfAdAHyh9q1HAap96ea0XA==";
-      };
-    };
     "pacote-11.3.4" = {
       name = "pacote";
       packageName = "pacote";
@@ -44023,13 +43870,13 @@ let
         sha1 = "32d4b6afde631420e5f415919a222b774b575707";
       };
     };
-    "parse-url-5.0.3" = {
+    "parse-url-5.0.6" = {
       name = "parse-url";
       packageName = "parse-url";
-      version = "5.0.3";
+      version = "5.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parse-url/-/parse-url-5.0.3.tgz";
-        sha512 = "nrLCVMJpqo12X8uUJT4GJPd5AFaTOrGx/QpJy3HNcVtq0AZSstVIsnxS5fqNPuoqMUs3MyfBoOP6Zvu2Arok5A==";
+        url = "https://registry.npmjs.org/parse-url/-/parse-url-5.0.6.tgz";
+        sha512 = "nZp+U7NFVTsBXTh6oGxdwvd7ncz3hJCl74q0lC0pLc3ypXJMKFUpfUEAd4r1x8zVVF5UHFik+CBNOQKN0ayByA==";
       };
     };
     "parse5-1.5.1" = {
@@ -46157,13 +46004,13 @@ let
         sha512 = "kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==";
       };
     };
-    "prettier-2.3.1" = {
+    "prettier-2.3.2" = {
       name = "prettier";
       packageName = "prettier";
-      version = "2.3.1";
+      version = "2.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz";
-        sha512 = "p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==";
+        url = "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz";
+        sha512 = "lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==";
       };
     };
     "prettier-bytes-1.0.4" = {
@@ -46400,13 +46247,13 @@ let
         sha512 = "dG2w7WtovUa4SiYTdWn9H8Bd4JNdei2djtkP/Bk9fXq81j5Q15ZPHYSwhUVvBRbp5zMkGtu0Yk62HuMcly0pRw==";
       };
     };
-    "prismjs-1.23.0" = {
+    "prismjs-1.24.0" = {
       name = "prismjs";
       packageName = "prismjs";
-      version = "1.23.0";
+      version = "1.24.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prismjs/-/prismjs-1.23.0.tgz";
-        sha512 = "c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA==";
+        url = "https://registry.npmjs.org/prismjs/-/prismjs-1.24.0.tgz";
+        sha512 = "SqV5GRsNqnzCL8k5dfAjCNhUrF3pR0A9lTDSCUZeh/LIshheXJEaP0hwLz2t4XHivd2J/v2HR+gRnigzeKe3cQ==";
       };
     };
     "private-0.1.8" = {
@@ -47894,15 +47741,6 @@ let
         sha512 = "AxHvCb9IWmmP3gMW+epxdj92Gglii+6Z4sb+W+zc2hTTu10HF0yg6hGXot5O74uYkVqG3lfDRLfnRpi6WOwi5A==";
       };
     };
-    "puppeteer-8.0.0" = {
-      name = "puppeteer";
-      packageName = "puppeteer";
-      version = "8.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-8.0.0.tgz";
-        sha512 = "D0RzSWlepeWkxPPdK3xhTcefj8rjah1791GE82Pdjsri49sy11ci/JQsAO8K2NRukqvwEtcI+ImP5F4ZiMvtIQ==";
-      };
-    };
     "purgecss-2.3.0" = {
       name = "purgecss";
       packageName = "purgecss";
@@ -47948,13 +47786,13 @@ let
         sha1 = "15931d3cd967ade52206f523aa7331aef7d43af7";
       };
     };
-    "pyright-1.1.151" = {
+    "pyright-1.1.153" = {
       name = "pyright";
       packageName = "pyright";
-      version = "1.1.151";
+      version = "1.1.153";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.151.tgz";
-        sha512 = "R/Zr6VqXghuFLm7y3a8HoCrA+mfy+Zp+mp6P8gFZeJO9Rl1kQLJhfc/y4QKSQHZWxXOBGo+AFDi/rWLZfNBEgQ==";
+        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.153.tgz";
+        sha512 = "t5Y9IojL2Sifm1Q04BEBJDLP86rF4RpXma28HEP/EXJRHyyNxu8css77HC+tZqJXXXZVtAjaJxJSAEwq5afGjg==";
       };
     };
     "q-0.9.7" = {
@@ -50594,13 +50432,13 @@ let
         sha1 = "6f697e50a0e4ddc8c8f7fb547a9b60dead43678d";
       };
     };
-    "retry-request-4.1.3" = {
+    "retry-request-4.2.0" = {
       name = "retry-request";
       packageName = "retry-request";
-      version = "4.1.3";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/retry-request/-/retry-request-4.1.3.tgz";
-        sha512 = "QnRZUpuPNgX0+D1xVxul6DbJ9slvo4Rm6iV/dn63e048MvGbUZiKySVt6Tenp04JqmchxjiLltGerOJys7kJYQ==";
+        url = "https://registry.npmjs.org/retry-request/-/retry-request-4.2.0.tgz";
+        sha512 = "rIwHm2pipUX7MFTpscNr9CNfOsW3gzcosqUOvS7MbuURgdDeIzNVjA/sNgs4BTt0g3L748hB7Q/Yt6StRFHD4w==";
       };
     };
     "reusify-1.0.4" = {
@@ -50801,13 +50639,13 @@ let
         sha512 = "/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==";
       };
     };
-    "rollup-2.52.2" = {
+    "rollup-2.52.3" = {
       name = "rollup";
       packageName = "rollup";
-      version = "2.52.2";
+      version = "2.52.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rollup/-/rollup-2.52.2.tgz";
-        sha512 = "4RlFC3k2BIHlUsJ9mGd8OO+9Lm2eDF5P7+6DNQOp5sx+7N/1tFM01kELfbxlMX3MxT6owvLB1ln4S3QvvQlbUA==";
+        url = "https://registry.npmjs.org/rollup/-/rollup-2.52.3.tgz";
+        sha512 = "QF3Sju8Kl2z0osI4unyOLyUudyhOMK6G0AeqJWgfiyigqLAlnNrfBcDWDx+f1cqn+JU2iIYVkDrgQ6/KtwEfrg==";
       };
     };
     "rollup-plugin-babel-4.4.0" = {
@@ -51503,15 +51341,6 @@ let
         sha512 = "e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==";
       };
     };
-    "select-1.1.2" = {
-      name = "select";
-      packageName = "select";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/select/-/select-1.1.2.tgz";
-        sha1 = "0e7350acdec80b1108528786ec1d4418d11b396d";
-      };
-    };
     "select-hose-2.0.0" = {
       name = "select-hose";
       packageName = "select-hose";
@@ -51863,6 +51692,15 @@ let
         sha512 = "SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==";
       };
     };
+    "serialize-javascript-6.0.0" = {
+      name = "serialize-javascript";
+      packageName = "serialize-javascript";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz";
+        sha512 = "Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==";
+      };
+    };
     "serialize-to-js-3.1.1" = {
       name = "serialize-to-js";
       packageName = "serialize-to-js";
@@ -52997,13 +52835,13 @@ let
         sha512 = "Bmtr7QdRL2b3Js+mPDmvXbkprOpzO8aUFXqR0nJKAOlUVQqZ84yiuT0n/mssEiJJ0vP+k0kZvTeiTwgio4KZRg==";
       };
     };
-    "snyk-sbt-plugin-2.11.0" = {
+    "snyk-sbt-plugin-2.11.1" = {
       name = "snyk-sbt-plugin";
       packageName = "snyk-sbt-plugin";
-      version = "2.11.0";
+      version = "2.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-sbt-plugin/-/snyk-sbt-plugin-2.11.0.tgz";
-        sha512 = "wUqHLAa3MzV6sVO+05MnV+lwc+T6o87FZZaY+43tQPytBI2Wq23O3j4POREM4fa2iFfiQJoEYD6c7xmhiEUsSA==";
+        url = "https://registry.npmjs.org/snyk-sbt-plugin/-/snyk-sbt-plugin-2.11.1.tgz";
+        sha512 = "WKSV4MivovUHqdD2EYrkCuESjVLSbtsKpNnHeDCRIvv/GZ7YkvDsDqRLBUzDl6SvhGzaCv9rwEVUl+ZwJITL1w==";
       };
     };
     "snyk-tree-1.0.0" = {
@@ -53924,13 +53762,13 @@ let
         sha512 = "VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==";
       };
     };
-    "sprintf-kit-2.0.0" = {
+    "sprintf-kit-2.0.1" = {
       name = "sprintf-kit";
       packageName = "sprintf-kit";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sprintf-kit/-/sprintf-kit-2.0.0.tgz";
-        sha512 = "/0d2YTn8ZFVpIPAU230S9ZLF8WDkSSRWvh/UOLM7zzvkCchum1TtouRgyV8OfgOaYilSGU4lSSqzwBXJVlAwUw==";
+        url = "https://registry.npmjs.org/sprintf-kit/-/sprintf-kit-2.0.1.tgz";
+        sha512 = "2PNlcs3j5JflQKcg4wpdqpZ+AjhQJ2OZEo34NXDtlB0tIPG84xaaXhpA8XFacFiwjKA4m49UOYG83y3hbMn/gQ==";
       };
     };
     "sqlite3-5.0.0" = {
@@ -54041,13 +53879,13 @@ let
         sha512 = "pJAFizB6OcuJLX4RJJuU9HWyPwM2CqLi/vs08lhVIR3TGxacxpavvK5LzbxT+Y3iWkBchOTKS5hHCigA5aaung==";
       };
     };
-    "ssb-db2-2.1.3" = {
+    "ssb-db2-2.1.4" = {
       name = "ssb-db2";
       packageName = "ssb-db2";
-      version = "2.1.3";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-db2/-/ssb-db2-2.1.3.tgz";
-        sha512 = "neA96dzAzxuH5/btqtbZ3h3RoWVdAT4b8rJrK/oZPfaOHMkQHL75IBuviTqkgfXoMqx1exegt4AI4bVroCJPmg==";
+        url = "https://registry.npmjs.org/ssb-db2/-/ssb-db2-2.1.4.tgz";
+        sha512 = "r70wOz0taaIgpFX/I1DbzT1mucfLSHMmXfNMaenmLcrV6vDZFyFvZVyQTn26xgv7JwDkrdD9B/1Y85AH0qjYow==";
       };
     };
     "ssb-ebt-5.6.7" = {
@@ -54320,13 +54158,13 @@ let
         sha512 = "zZ/Q1M+9ZWlrchgh4QauD/MEUFa6eC6H6FYq6T8Of/y82JqsQBLwN6YlzbO09evE7Rx6x0oliXDCnQSjwGwQRA==";
       };
     };
-    "sscaff-1.2.10" = {
+    "sscaff-1.2.15" = {
       name = "sscaff";
       packageName = "sscaff";
-      version = "1.2.10";
+      version = "1.2.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.10.tgz";
-        sha512 = "okh9hLxPkZl22XpK+4rLOnR3SHG2hEI92KKevDI8e6wZPIP5Dgsxx8RQUogdm3/a87kgyoWaCoOABekYIeXx9g==";
+        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.15.tgz";
+        sha512 = "yGGLgLcLpd/wCs01BGWZwkT9s5qsvpUXm2+DQ0aBGCCPvA/eJbC7aNCL3eips1R3z/XJ9R7azWvi7VhCMeg/Dg==";
       };
     };
     "ssh-config-1.1.6" = {
@@ -56111,13 +55949,13 @@ let
         sha512 = "xk5CMbwoQVI53rTq9o/iMojAqXP5NT4/+TMeTP4uXWDIH18pB9AXgO5Olqt0RXuf3jH032DA4DS4qzem6XdXAw==";
       };
     };
-    "swagger-ui-dist-3.50.0" = {
+    "swagger-ui-dist-3.51.0" = {
       name = "swagger-ui-dist";
       packageName = "swagger-ui-dist";
-      version = "3.50.0";
+      version = "3.51.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.50.0.tgz";
-        sha512 = "BklniOBPlvZ6M9oGkhUwOf5HvxhkHBIycXN3ndju8WlLmi1xfMSdOA2AR6pNswlwURzsZUe1rh80aUyjnpD+Zw==";
+        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.51.0.tgz";
+        sha512 = "DX8RuAyXBjd2J4mjCLLUaodbtZ2z6dF05l6IF3hO++erXM+CR3QVX9TqYX3374hW5BOeLrr7gujoSdY8jIvI2A==";
       };
     };
     "swagger2openapi-7.0.7" = {
@@ -56796,13 +56634,13 @@ let
         sha512 = "EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==";
       };
     };
-    "terser-5.7.0" = {
+    "terser-5.7.1" = {
       name = "terser";
       packageName = "terser";
-      version = "5.7.0";
+      version = "5.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz";
-        sha512 = "HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==";
+        url = "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz";
+        sha512 = "b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==";
       };
     };
     "terser-webpack-plugin-1.4.5" = {
@@ -56832,13 +56670,13 @@ let
         sha512 = "3qAQpykRTD5DReLu5/cwpsg7EZFzP3Q0Hp2XUWJUw2mpq2jfgOKTZr8IZKKnNieRVVo1UauROTdhbQJZveGKtQ==";
       };
     };
-    "terser-webpack-plugin-5.1.3" = {
+    "terser-webpack-plugin-5.1.4" = {
       name = "terser-webpack-plugin";
       packageName = "terser-webpack-plugin";
-      version = "5.1.3";
+      version = "5.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.3.tgz";
-        sha512 = "cxGbMqr6+A2hrIB5ehFIF+F/iST5ZOxvOmy9zih9ySbP1C2oEWQSOUS+2SNBTjzx5xLKO4xnod9eywdfq1Nb9A==";
+        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz";
+        sha512 = "C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==";
       };
     };
     "test-exclude-6.0.0" = {
@@ -58083,15 +57921,6 @@ let
         sha1 = "405923909592d56f78a5818434b0b78489ca5f2b";
       };
     };
-    "try-catch-2.0.1" = {
-      name = "try-catch";
-      packageName = "try-catch";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/try-catch/-/try-catch-2.0.1.tgz";
-        sha512 = "LsOrmObN/2WdM+y2xG+t16vhYrQsnV8wftXIcIOWZhQcBJvKGYuamJGwnU98A7Jxs2oZNkJztXlphEOoA0DWqg==";
-      };
-    };
     "try-resolve-1.0.1" = {
       name = "try-resolve";
       packageName = "try-resolve";
@@ -58101,15 +57930,6 @@ let
         sha1 = "cfde6fabd72d63e5797cfaab873abbe8e700e912";
       };
     };
-    "try-to-catch-1.1.1" = {
-      name = "try-to-catch";
-      packageName = "try-to-catch";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/try-to-catch/-/try-to-catch-1.1.1.tgz";
-        sha512 = "ikUlS+/BcImLhNYyIgZcEmq4byc31QpC+46/6Jm5ECWkVFhf8SM2Fp/0pMVXPX6vk45SMCwrP4Taxucne8I0VA==";
-      };
-    };
     "tryer-1.0.1" = {
       name = "tryer";
       packageName = "tryer";
@@ -58884,22 +58704,22 @@ let
         sha1 = "29c5733148057bb4e1f75df35b7a9cb72e6a59dd";
       };
     };
-    "uglify-js-3.13.3" = {
+    "uglify-js-3.13.10" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.13.3";
+      version = "3.13.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.3.tgz";
-        sha512 = "otIc7O9LyxpUcQoXzj2hL4LPWKklO6LJWoJUzNa8A17Xgi4fOeDC8FBDOLHnC/Slo1CQgsZMcM6as0M76BZaig==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.10.tgz";
+        sha512 = "57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg==";
       };
     };
-    "uglify-js-3.13.9" = {
+    "uglify-js-3.13.3" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.13.9";
+      version = "3.13.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.9.tgz";
-        sha512 = "wZbyTQ1w6Y7fHdt8sJnHfSIuWeDgk6B5rCb4E/AM6QNNPbOMIZph21PW5dRB3h7Df0GszN+t7RuUH6sWK5bF0g==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.3.tgz";
+        sha512 = "otIc7O9LyxpUcQoXzj2hL4LPWKklO6LJWoJUzNa8A17Xgi4fOeDC8FBDOLHnC/Slo1CQgsZMcM6as0M76BZaig==";
       };
     };
     "uglify-js-3.4.10" = {
@@ -62512,13 +62332,13 @@ let
         sha512 = "OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==";
       };
     };
-    "webtorrent-1.0.1" = {
+    "webtorrent-1.0.2" = {
       name = "webtorrent";
       packageName = "webtorrent";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.0.1.tgz";
-        sha512 = "A0l8T7iRJ+Cc/TUQqPAX/7hemrEEfIimaRiEYMTPAs1TM99Yd5tfKe00jTkjmI6a0nqx7d7+r5GgXSO/uFs7GA==";
+        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.0.2.tgz";
+        sha512 = "uv9fq5md/98JyeDDyziy1H28Wc/idO80AKv+9pQ4XK0WNNjdE3FMtCKfrvU2VNS1PdAOrA6sFuUq2x0mV7k7WQ==";
       };
     };
     "well-known-symbols-2.0.0" = {
@@ -62575,13 +62395,13 @@ let
         sha512 = "WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==";
       };
     };
-    "whatwg-url-8.6.0" = {
+    "whatwg-url-8.7.0" = {
       name = "whatwg-url";
       packageName = "whatwg-url";
-      version = "8.6.0";
+      version = "8.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.6.0.tgz";
-        sha512 = "os0KkeeqUOl7ccdDT1qqUcS4KH4tcBTSKK5Nl5WKb2lyxInIZ/CpjkqKa1Ss12mjfdcRX9mHmPPs7/SxG1Hbdw==";
+        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz";
+        sha512 = "gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==";
       };
     };
     "whatwg-url-compat-0.6.5" = {
@@ -63547,13 +63367,13 @@ let
         sha512 = "N1XQngeqMBoj9wM4ZFadVV2MymImeiFfYD+fJrNlcVcOHsJFFQe7n3b+aBoTPwARuq2HQxukfzVpQmAk1gN4sQ==";
       };
     };
-    "xdl-59.0.44" = {
+    "xdl-59.0.47" = {
       name = "xdl";
       packageName = "xdl";
-      version = "59.0.44";
+      version = "59.0.47";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xdl/-/xdl-59.0.44.tgz";
-        sha512 = "p9zwI5w0juiKdq5v0tIYojyqpomhMWg7C3W1tILSE48aPdkNgOlatSgAPJ9qbjBha6berKYtdOnpnfyEYOAtWQ==";
+        url = "https://registry.npmjs.org/xdl/-/xdl-59.0.47.tgz";
+        sha512 = "y6oA1/0RAOQ0pVl2nxRE40r/YUCPGcg+JS9mEiKDYZo6U8bIYhWx/X1gdBwvzzDOjfDZV34ls0fyTgLjeq0Xvg==";
       };
     };
     "xenvar-0.5.1" = {
@@ -63953,13 +63773,13 @@ let
         sha512 = "2t7FahYnGJys6DpHLhajusId7R0Pm2yTmuL0GV9+mV0ZlaLSnb2toBmppATfg5sWIhZQGlsTLoecSzya+l4EAQ==";
       };
     };
-    "xstate-4.20.0" = {
+    "xstate-4.20.1" = {
       name = "xstate";
       packageName = "xstate";
-      version = "4.20.0";
+      version = "4.20.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xstate/-/xstate-4.20.0.tgz";
-        sha512 = "u5Ou1CMo/oWApasmv1TYTHgj38k69DJdTqQdBBwt+/ooNhPJQiSIKTB3Y3HvX0h5tulwfSo6xAwZgBgjRsK3LA==";
+        url = "https://registry.npmjs.org/xstate/-/xstate-4.20.1.tgz";
+        sha512 = "oLqFEYKUG3Y4t3Pg5tb7ZXz2kZcrRA1inrEVfzDVf1JoBb+KGpKlNaLzxF5bE7swo0xcc8H+B/gdPb1feyO1gg==";
       };
     };
     "xstream-11.14.0" = {
@@ -64616,30 +64436,30 @@ in
   "@angular/cli" = nodeEnv.buildNodePackage {
     name = "_at_angular_slash_cli";
     packageName = "@angular/cli";
-    version = "12.0.5";
+    version = "12.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@angular/cli/-/cli-12.0.5.tgz";
-      sha512 = "MdgJ9DY3bWYsMFr9Xa+60gtVaYErhAE8ULGnUyI8zLMhWqrV1ZpJJ1WfP8pMQYx4HaKJIgx7wd8az7ZXAcF8hg==";
+      url = "https://registry.npmjs.org/@angular/cli/-/cli-12.1.0.tgz";
+      sha512 = "3xvweF9oiR1X9KlXIFPGQtylctqPi9t7SjI/8M2z/qRP4GkMu2CiScNysWFMdJsNsrRvLGQdtAbJFBWfW1vmkA==";
     };
     dependencies = [
-      sources."@angular-devkit/architect-0.1200.5"
-      sources."@angular-devkit/core-12.0.5"
-      sources."@angular-devkit/schematics-12.0.5"
+      sources."@angular-devkit/architect-0.1201.0"
+      sources."@angular-devkit/core-12.1.0"
+      sources."@angular-devkit/schematics-12.1.0"
       sources."@npmcli/git-2.1.0"
       sources."@npmcli/installed-package-contents-1.0.7"
       sources."@npmcli/move-file-1.1.2"
       sources."@npmcli/node-gyp-1.0.2"
       sources."@npmcli/promise-spawn-1.3.2"
       sources."@npmcli/run-script-1.8.5"
-      sources."@schematics/angular-12.0.5"
+      sources."@schematics/angular-12.1.0"
       sources."@tootallnate/once-1.1.2"
       sources."@yarnpkg/lockfile-1.1.0"
       sources."abbrev-1.1.1"
       sources."agent-base-6.0.2"
       sources."agentkeepalive-4.1.4"
       sources."aggregate-error-3.1.0"
-      sources."ajv-8.2.0"
-      sources."ajv-formats-2.0.2"
+      sources."ajv-8.6.0"
+      sources."ajv-formats-2.1.0"
       sources."ansi-colors-4.1.1"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.0"
@@ -64745,7 +64565,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      sources."inquirer-8.0.0"
+      sources."inquirer-8.1.1"
       sources."ip-1.1.5"
       sources."is-core-module-2.4.0"
       sources."is-docker-2.2.1"
@@ -64770,7 +64590,7 @@ in
       sources."log-symbols-4.1.0"
       sources."lru-cache-6.0.0"
       sources."magic-string-0.25.7"
-      sources."make-fetch-happen-8.0.14"
+      sources."make-fetch-happen-9.0.3"
       sources."mime-db-1.48.0"
       sources."mime-types-2.1.31"
       sources."mimic-fn-2.1.0"
@@ -64786,26 +64606,27 @@ in
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
+      sources."negotiator-0.6.2"
       sources."node-gyp-7.1.2"
       sources."nopt-5.0.0"
       sources."npm-bundled-1.1.2"
       sources."npm-install-checks-4.0.0"
       sources."npm-normalize-package-bin-1.0.1"
-      sources."npm-package-arg-8.1.2"
+      sources."npm-package-arg-8.1.5"
       sources."npm-packlist-2.2.2"
       sources."npm-pick-manifest-6.1.1"
-      sources."npm-registry-fetch-10.1.2"
+      sources."npm-registry-fetch-11.0.0"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
-      sources."open-8.0.2"
-      sources."ora-5.4.0"
+      sources."open-8.2.1"
+      sources."ora-5.4.1"
       sources."os-tmpdir-1.0.2"
       sources."p-map-4.0.0"
-      sources."pacote-11.3.2"
+      sources."pacote-11.3.4"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.7"
       sources."performance-now-2.1.0"
@@ -65200,7 +65021,7 @@ in
         ];
       })
       sources."to-utf8-0.0.1"
-      sources."uglify-js-3.13.9"
+      sources."uglify-js-3.13.10"
       sources."unc-path-regex-0.1.2"
       sources."unique-stream-2.3.1"
       sources."universalify-0.1.2"
@@ -65447,7 +65268,7 @@ in
       sources."@types/estree-0.0.46"
       sources."@types/json-schema-7.0.7"
       sources."@types/json5-0.0.29"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/parse-json-4.0.0"
       sources."@webassemblyjs/ast-1.11.0"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.0"
@@ -65466,7 +65287,7 @@ in
       sources."@webassemblyjs/wast-printer-1.11.0"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.4.0"
+      sources."acorn-8.4.1"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
       sources."ansi-colors-4.1.1"
@@ -65485,7 +65306,7 @@ in
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.1"
       sources."callsites-3.1.0"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001240"
       sources."chalk-3.0.0"
       sources."chardet-0.7.0"
       sources."chokidar-3.5.1"
@@ -65505,7 +65326,7 @@ in
       sources."cross-spawn-7.0.3"
       sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.759"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       (sources."enhanced-resolve-5.8.2" // {
@@ -65645,7 +65466,7 @@ in
       sources."safer-buffer-2.1.2"
       sources."schema-utils-2.7.0"
       sources."semver-7.3.5"
-      sources."serialize-javascript-5.0.1"
+      sources."serialize-javascript-6.0.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."shelljs-0.8.4"
@@ -65671,12 +65492,12 @@ in
       sources."supports-color-7.2.0"
       sources."symbol-observable-3.0.0"
       sources."tapable-1.1.3"
-      (sources."terser-5.7.0" // {
+      (sources."terser-5.7.1" // {
         dependencies = [
           sources."commander-2.20.3"
         ];
       })
-      (sources."terser-webpack-plugin-5.1.3" // {
+      (sources."terser-webpack-plugin-5.1.4" // {
         dependencies = [
           sources."schema-utils-3.0.0"
           sources."source-map-0.6.1"
@@ -65891,7 +65712,7 @@ in
       sources."@types/cors-2.8.10"
       sources."@types/ejs-2.7.0"
       sources."@types/express-4.17.12"
-      sources."@types/express-serve-static-core-4.17.21"
+      sources."@types/express-serve-static-core-4.17.22"
       sources."@types/fs-capacitor-2.0.0"
       sources."@types/glob-7.1.3"
       sources."@types/http-assert-1.5.1"
@@ -65910,7 +65731,7 @@ in
       sources."@types/long-4.0.1"
       sources."@types/mime-1.3.2"
       sources."@types/minimatch-3.0.4"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/qs-6.9.6"
       sources."@types/range-parser-1.2.3"
@@ -66053,7 +65874,7 @@ in
       sources."call-bind-1.0.2"
       sources."call-me-maybe-1.0.1"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001240"
       sources."caseless-0.12.0"
       sources."caw-2.0.1"
       sources."chalk-2.4.2"
@@ -66080,7 +65901,6 @@ in
       sources."cli-cursor-2.1.0"
       sources."cli-spinners-2.6.0"
       sources."cli-width-3.0.0"
-      sources."clipboard-2.0.8"
       sources."cliui-7.0.4"
       sources."clone-1.0.4"
       sources."clone-deep-4.0.1"
@@ -66166,7 +65986,6 @@ in
       sources."define-properties-1.1.3"
       sources."define-property-2.0.2"
       sources."delayed-stream-1.0.0"
-      sources."delegate-3.2.0"
       sources."depd-1.1.2"
       sources."deprecated-decorator-0.1.6"
       sources."destroy-1.0.4"
@@ -66183,7 +66002,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.759"
       sources."emoji-regex-7.0.3"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
@@ -66266,7 +66085,7 @@ in
       })
       sources."find-up-3.0.0"
       sources."fkill-6.2.0"
-      sources."flow-parser-0.153.0"
+      sources."flow-parser-0.154.0"
       sources."for-each-0.3.3"
       sources."for-in-1.0.2"
       sources."forever-agent-0.6.1"
@@ -66308,7 +66127,6 @@ in
           sources."slash-2.0.0"
         ];
       })
-      sources."good-listener-1.2.2"
       (sources."got-8.3.2" // {
         dependencies = [
           sources."get-stream-3.0.0"
@@ -66319,7 +66137,7 @@ in
       sources."graphql-14.7.0"
       sources."graphql-extensions-0.15.0"
       sources."graphql-subscriptions-1.2.1"
-      (sources."graphql-tag-2.12.4" // {
+      (sources."graphql-tag-2.12.5" // {
         dependencies = [
           sources."tslib-2.3.0"
         ];
@@ -66608,7 +66426,7 @@ in
       })
       sources."posix-character-classes-0.1.1"
       sources."prepend-http-2.0.0"
-      sources."prismjs-1.23.0"
+      sources."prismjs-1.24.0"
       sources."private-0.1.8"
       sources."process-exists-3.1.0"
       sources."process-nextick-args-2.0.1"
@@ -66680,7 +66498,6 @@ in
       sources."sax-1.2.4"
       sources."sec-1.0.0"
       sources."seek-bzip-1.0.6"
-      sources."select-1.1.2"
       sources."semver-6.3.0"
       (sources."send-0.17.1" // {
         dependencies = [
@@ -66834,7 +66651,6 @@ in
       sources."through-2.3.8"
       sources."through2-2.0.5"
       sources."timed-out-4.0.1"
-      sources."tiny-emitter-2.1.0"
       sources."tmp-0.0.33"
       sources."to-buffer-1.1.1"
       sources."to-fast-properties-2.0.0"
@@ -66899,7 +66715,7 @@ in
           sources."array-union-2.1.0"
           sources."braces-3.0.2"
           sources."dir-glob-3.0.1"
-          sources."fast-glob-3.2.5"
+          sources."fast-glob-3.2.6"
           sources."fill-range-7.0.1"
           sources."glob-parent-5.1.2"
           sources."globby-11.0.4"
@@ -67196,7 +67012,7 @@ in
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."browserslist-4.16.6"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001240"
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -67207,7 +67023,7 @@ in
       sources."convert-source-map-1.8.0"
       sources."debug-4.3.2"
       sources."ejs-3.1.6"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.759"
       sources."ensure-posix-path-1.1.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
@@ -67301,7 +67117,7 @@ in
     dependencies = [
       sources."@types/glob-7.1.3"
       sources."@types/minimatch-3.0.4"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."chromium-pickle-js-0.2.0"
@@ -67329,25 +67145,21 @@ in
   aws-azure-login = nodeEnv.buildNodePackage {
     name = "aws-azure-login";
     packageName = "aws-azure-login";
-    version = "3.3.0";
+    version = "3.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/aws-azure-login/-/aws-azure-login-3.3.0.tgz";
-      sha512 = "gwcHKwovQOpVY4F87M46ppqop2/KXgvJGFqZDZvtGALvFihP1olhna5lnJk/Gbl5topHZj8oXefNoWhj/L19aA==";
+      url = "https://registry.npmjs.org/aws-azure-login/-/aws-azure-login-3.4.0.tgz";
+      sha512 = "7PXkWdq+3NL7hUmLOV1yoO6OnVNcT54UVtC6WT1gE9C9dYGG0bEL9nsZz8qiV75hvX1E6fABjw1/Q7KaXgvHfg==";
     };
     dependencies = [
       sources."@tootallnate/once-1.1.2"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/yauzl-2.9.1"
       sources."agent-base-6.0.2"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-4.3.0"
-      (sources."ast-types-0.13.4" // {
-        dependencies = [
-          sources."tslib-2.3.0"
-        ];
-      })
-      (sources."aws-sdk-2.932.0" // {
+      sources."ast-types-0.13.4"
+      (sources."aws-sdk-2.935.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -67357,8 +67169,6 @@ in
       (sources."bl-4.1.0" // {
         dependencies = [
           sources."buffer-5.7.1"
-          sources."readable-stream-3.6.0"
-          sources."string_decoder-1.3.0"
         ];
       })
       sources."bluebird-3.7.2"
@@ -67369,31 +67179,34 @@ in
       sources."bytes-3.1.0"
       sources."chalk-4.1.1"
       sources."chardet-0.7.0"
-      sources."cheerio-1.0.0-rc.5"
-      sources."cheerio-select-tmp-0.1.1"
+      sources."cheerio-1.0.0-rc.10"
+      sources."cheerio-select-1.5.0"
       sources."chownr-1.1.4"
       sources."cli-cursor-3.1.0"
+      sources."cli-spinners-2.6.0"
       sources."cli-width-3.0.0"
+      sources."clone-1.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."commander-6.2.1"
+      sources."commander-8.0.0"
       sources."concat-map-0.0.1"
       sources."core-util-is-1.0.2"
-      sources."css-select-3.1.2"
-      sources."css-what-4.0.0"
+      sources."css-select-4.1.3"
+      sources."css-what-5.0.1"
       sources."data-uri-to-buffer-3.0.1"
       sources."debug-4.3.2"
       sources."deep-is-0.1.3"
+      sources."defaults-1.0.3"
       sources."degenerator-2.2.0"
       sources."depd-1.1.2"
-      sources."devtools-protocol-0.0.854822"
-      sources."dom-serializer-1.2.0"
+      sources."devtools-protocol-0.0.883894"
+      sources."dom-serializer-1.3.2"
       sources."domelementtype-2.2.0"
       sources."domhandler-4.2.0"
       sources."domutils-2.7.0"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
-      sources."entities-2.1.0"
+      sources."entities-2.2.0"
       sources."escape-string-regexp-1.0.5"
       sources."escodegen-1.14.3"
       sources."esprima-4.0.1"
@@ -67410,7 +67223,13 @@ in
       sources."fs-constants-1.0.0"
       sources."fs-extra-8.1.0"
       sources."fs.realpath-1.0.0"
-      sources."ftp-0.3.10"
+      (sources."ftp-0.3.10" // {
+        dependencies = [
+          sources."isarray-0.0.1"
+          sources."readable-stream-1.1.14"
+          sources."string_decoder-0.10.31"
+        ];
+      })
       sources."get-stream-5.2.0"
       sources."get-uri-3.0.2"
       sources."glob-7.1.7"
@@ -67425,20 +67244,23 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      sources."inquirer-7.3.3"
+      sources."inquirer-8.1.1"
       sources."ip-1.1.5"
       sources."is-fullwidth-code-point-3.0.0"
+      sources."is-interactive-1.0.0"
+      sources."is-unicode-supported-0.1.0"
       sources."isarray-1.0.0"
       sources."jmespath-0.15.0"
       sources."jsonfile-4.0.0"
       sources."levn-0.3.0"
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
+      sources."log-symbols-4.1.0"
       sources."lru-cache-5.1.1"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
+      sources."minimist-1.2.5"
       sources."mkdirp-1.0.4"
-      sources."mkdirp-classic-0.5.3"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       sources."netmask-2.0.2"
@@ -67447,6 +67269,7 @@ in
       sources."once-1.4.0"
       sources."onetime-5.1.2"
       sources."optionator-0.8.3"
+      sources."ora-5.4.1"
       sources."os-tmpdir-1.0.2"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
@@ -67460,23 +67283,27 @@ in
       sources."pend-1.2.0"
       sources."pkg-dir-4.2.0"
       sources."prelude-ls-1.1.2"
-      sources."progress-2.0.3"
+      sources."progress-2.0.1"
       sources."proxy-agent-4.0.1"
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
       sources."punycode-1.3.2"
-      sources."puppeteer-8.0.0"
-      sources."querystring-0.2.0"
-      sources."raw-body-2.4.1"
-      (sources."readable-stream-1.1.14" // {
+      (sources."puppeteer-10.0.0" // {
         dependencies = [
-          sources."isarray-0.0.1"
+          sources."debug-4.3.1"
         ];
       })
+      sources."querystring-0.2.0"
+      sources."raw-body-2.4.1"
+      sources."readable-stream-3.6.0"
       sources."restore-cursor-3.1.0"
       sources."rimraf-3.0.2"
       sources."run-async-2.4.1"
-      sources."rxjs-6.6.7"
+      (sources."rxjs-6.6.7" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.1"
@@ -67488,23 +67315,22 @@ in
       sources."source-map-0.6.1"
       sources."statuses-1.5.0"
       sources."string-width-4.2.2"
-      sources."string_decoder-0.10.31"
+      sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.0"
       sources."supports-color-7.2.0"
-      sources."tar-fs-2.1.1"
-      (sources."tar-stream-2.2.0" // {
+      (sources."tar-fs-2.0.0" // {
         dependencies = [
-          sources."readable-stream-3.6.0"
-          sources."string_decoder-1.3.0"
+          sources."mkdirp-0.5.5"
         ];
       })
+      sources."tar-stream-2.2.0"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."toidentifier-1.0.0"
-      sources."tslib-1.14.1"
+      sources."tslib-2.3.0"
       sources."type-check-0.3.2"
       sources."type-fest-0.21.3"
-      (sources."unbzip2-stream-1.4.3" // {
+      (sources."unbzip2-stream-1.3.3" // {
         dependencies = [
           sources."buffer-5.7.1"
         ];
@@ -67514,9 +67340,10 @@ in
       sources."url-0.10.3"
       sources."util-deprecate-1.0.2"
       sources."uuid-8.3.2"
+      sources."wcwidth-1.0.1"
       sources."word-wrap-1.2.3"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.0"
+      sources."ws-7.4.6"
       sources."xml2js-0.4.19"
       sources."xmlbuilder-9.0.7"
       sources."xregexp-2.0.0"
@@ -67536,10 +67363,10 @@ in
   balanceofsatoshis = nodeEnv.buildNodePackage {
     name = "balanceofsatoshis";
     packageName = "balanceofsatoshis";
-    version = "10.1.0";
+    version = "10.4.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-10.1.0.tgz";
-      sha512 = "ZKHOfZkyXhevLUbQMijz6PEGBZuBdeUS6oqdqrmeYlOB2xZPC/KxCPmKTD7igbq7eD2E/XixtzpHub8bQnxRIg==";
+      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-10.4.1.tgz";
+      sha512 = "IuMSykvEN1aMW0E+BvNo1CoTfcO1+EPB59D8NVKkNuoafb+dZbIvk1f9T6UfPEwzlOHdXLOsjmQ5AkBKumwo/A==";
     };
     dependencies = [
       sources."@alexbosworth/html2unicode-1.1.5"
@@ -67552,7 +67379,7 @@ in
       sources."@cto.af/textdecoder-0.0.0"
       (sources."@grpc/grpc-js-1.3.2" // {
         dependencies = [
-          sources."@types/node-15.12.4"
+          sources."@types/node-15.12.5"
         ];
       })
       sources."@grpc/proto-loader-0.6.2"
@@ -67575,7 +67402,7 @@ in
       sources."@types/caseless-0.12.2"
       sources."@types/connect-3.4.34"
       sources."@types/express-4.17.12"
-      sources."@types/express-serve-static-core-4.17.21"
+      sources."@types/express-serve-static-core-4.17.22"
       sources."@types/long-4.0.1"
       sources."@types/mime-1.3.2"
       sources."@types/node-10.12.18"
@@ -67964,13 +67791,7 @@ in
           sources."psbt-1.1.8"
         ];
       })
-      (sources."ln-telegram-3.2.5" // {
-        dependencies = [
-          sources."bn.js-5.2.0"
-          sources."goldengate-10.0.6"
-          sources."ln-service-51.8.2"
-        ];
-      })
+      sources."ln-telegram-3.2.6"
       sources."lodash-4.17.21"
       sources."lodash.camelcase-4.3.0"
       sources."lodash.clonedeep-4.5.0"
@@ -67991,6 +67812,7 @@ in
       sources."long-4.0.0"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
+      sources."luxon-1.27.0"
       (sources."macaroon-3.0.4" // {
         dependencies = [
           sources."tweetnacl-1.0.3"
@@ -68070,7 +67892,7 @@ in
       sources."process-nextick-args-2.0.1"
       (sources."protobufjs-6.11.2" // {
         dependencies = [
-          sources."@types/node-15.12.4"
+          sources."@types/node-15.12.5"
         ];
       })
       sources."proxy-addr-2.0.7"
@@ -68904,7 +68726,7 @@ in
           sources."map-obj-1.0.1"
         ];
       })
-      sources."decimal.js-10.3.0"
+      sources."decimal.js-10.3.1"
       sources."delayed-stream-1.0.0"
       sources."denque-1.5.0"
       sources."depd-1.1.2"
@@ -69247,7 +69069,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."addr-to-ip-port-1.5.1"
       sources."airplay-js-0.2.16"
       sources."ajv-6.12.6"
@@ -69309,7 +69131,7 @@ in
       sources."co-3.1.0"
       sources."codepage-1.4.0"
       sources."combined-stream-1.0.8"
-      sources."commander-7.2.0"
+      sources."commander-8.0.0"
       sources."compact2string-1.4.1"
       sources."concat-map-0.0.1"
       (sources."concat-stream-2.0.0" // {
@@ -69681,7 +69503,7 @@ in
       sources."color-name-1.1.4"
       sources."colors-1.4.0"
       sources."commonmark-0.29.3"
-      sources."constructs-3.3.87"
+      sources."constructs-3.3.92"
       sources."date-format-3.0.0"
       sources."debug-4.3.2"
       sources."decamelize-5.0.0"
@@ -69754,13 +69576,13 @@ in
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.290" // {
+      (sources."jsii-srcmak-0.1.295" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
       })
       sources."json-schema-0.3.0"
-      sources."json2jsii-0.1.257"
+      sources."json2jsii-0.1.262"
       sources."jsonfile-6.1.0"
       sources."jsonschema-1.4.0"
       sources."locate-path-5.0.0"
@@ -69796,7 +69618,7 @@ in
       sources."snake-case-3.0.4"
       sources."sort-json-2.0.0"
       sources."spdx-license-list-6.4.0"
-      sources."sscaff-1.2.10"
+      sources."sscaff-1.2.15"
       (sources."streamroller-2.2.4" // {
         dependencies = [
           sources."date-format-2.1.0"
@@ -69911,7 +69733,7 @@ in
       sources."commonmark-0.29.3"
       sources."compress-commons-4.1.1"
       sources."concat-map-0.0.1"
-      sources."constructs-3.3.87"
+      sources."constructs-3.3.92"
       sources."convert-to-spaces-1.0.2"
       sources."core-util-is-1.0.2"
       sources."crc-32-1.2.0"
@@ -70030,7 +69852,7 @@ in
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.290" // {
+      (sources."jsii-srcmak-0.1.295" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -70113,7 +69935,7 @@ in
       sources."slice-ansi-3.0.0"
       sources."sort-json-2.0.0"
       sources."spdx-license-list-6.4.0"
-      sources."sscaff-1.2.10"
+      sources."sscaff-1.2.15"
       sources."stack-utils-2.0.3"
       sources."stream-buffers-3.0.2"
       (sources."streamroller-2.2.4" // {
@@ -70191,7 +70013,7 @@ in
     dependencies = [
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."clean-css-5.1.2"
+      sources."clean-css-5.1.3"
       sources."commander-7.2.0"
       sources."concat-map-0.0.1"
       sources."fs.realpath-1.0.0"
@@ -70926,10 +70748,10 @@ in
   coc-prettier = nodeEnv.buildNodePackage {
     name = "coc-prettier";
     packageName = "coc-prettier";
-    version = "1.1.23";
+    version = "1.1.24";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-prettier/-/coc-prettier-1.1.23.tgz";
-      sha512 = "9tjbN4O13DXlrNaZWtXozthLSW0LE+YjmBZf4LDdrpbfmzqLDvncDtOtqcRCd9LStoLPY7pv2o4Tucb2IrHjMw==";
+      url = "https://registry.npmjs.org/coc-prettier/-/coc-prettier-1.1.24.tgz";
+      sha512 = "nVsvnTFI02RBEs+O7geMsVdhoDQDW/b7GQN9GJRiLbyPS7LTArKf1G6dkX6gQgLBR5lOYQWiuw54iIyMgqc29Q==";
     };
     dependencies = [
       sources."@babel/code-frame-7.12.11"
@@ -71010,7 +70832,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-2.1.1"
       sources."camelcase-keys-2.1.0"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001240"
       sources."capture-stack-trace-1.0.1"
       sources."ccount-1.1.0"
       (sources."chalk-4.1.1" // {
@@ -71108,7 +70930,7 @@ in
       sources."domutils-1.7.0"
       sources."dot-prop-5.3.0"
       sources."duplexer3-0.1.4"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.759"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."enquirer-2.3.6"
@@ -71564,7 +71386,7 @@ in
       sources."prelude-ls-1.2.1"
       sources."prepend-http-1.0.4"
       sources."preserve-0.2.0"
-      sources."prettier-2.3.1"
+      sources."prettier-2.3.2"
       sources."prettier-eslint-12.0.0"
       (sources."prettier-stylelint-0.4.2" // {
         dependencies = [
@@ -71907,13 +71729,13 @@ in
   coc-pyright = nodeEnv.buildNodePackage {
     name = "coc-pyright";
     packageName = "coc-pyright";
-    version = "1.1.150";
+    version = "1.1.152";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.150.tgz";
-      sha512 = "+dWSYM9AfBsYeOclQNmuHcw9aKWwL6XICmPm64N9peWE+oXqMOAShaH5xO+JV+r88R0wTN/LJaEwGHlkxJD2XA==";
+      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.152.tgz";
+      sha512 = "drJV17TbLxAqfl1oXfab66CW51TxDbbppmP9yM4+NnpDRn/ESYwY0Uf9wp2EzfkfLhoavUTbrB9o/z14FuuScw==";
     };
     dependencies = [
-      sources."pyright-1.1.151"
+      sources."pyright-1.1.153"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -71987,10 +71809,10 @@ in
   coc-rust-analyzer = nodeEnv.buildNodePackage {
     name = "coc-rust-analyzer";
     packageName = "coc-rust-analyzer";
-    version = "0.46.2";
+    version = "0.46.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.46.2.tgz";
-      sha512 = "uEFyQAaWQ60qY2q74jXn8Wk73QMekHVSRKuBP178uVV/xAhyd24psr+pNrdZxXVZGBRwuRLgHFd+N5YhikOBMw==";
+      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.46.3.tgz";
+      sha512 = "eaHTqrFLwtTgjOMSiVIc3Z4I575LZ0xzY6rvrMEKmxWiRHB8c26LzrhKN8dbK+An6XxryUceijBMrfz4dsiOVw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -72119,7 +71941,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001240"
       (sources."chalk-4.1.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -72157,7 +71979,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.759"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -72167,7 +71989,7 @@ in
       sources."extend-3.0.2"
       sources."fast-deep-equal-3.1.3"
       sources."fast-diff-1.2.0"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fastest-levenshtein-1.0.12"
       sources."fastq-1.11.0"
       sources."file-entry-cache-6.0.1"
@@ -72601,7 +72423,7 @@ in
       sources."enquirer-2.3.6"
       sources."escape-string-regexp-4.0.0"
       sources."eslint-7.29.0"
-      sources."eslint-plugin-vue-7.11.1"
+      sources."eslint-plugin-vue-7.12.1"
       sources."eslint-scope-5.1.1"
       (sources."eslint-utils-2.1.0" // {
         dependencies = [
@@ -72673,7 +72495,7 @@ in
       sources."path-key-3.1.1"
       sources."path-parse-1.0.7"
       sources."prelude-ls-1.2.1"
-      sources."prettier-2.3.1"
+      sources."prettier-2.3.2"
       sources."progress-2.0.3"
       sources."punycode-2.1.1"
       sources."regexpp-3.2.0"
@@ -73191,7 +73013,7 @@ in
       })
       sources."extsprintf-1.4.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-parse-1.0.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.11.0"
@@ -73619,7 +73441,7 @@ in
       sources."@types/glob-7.1.3"
       sources."@types/minimatch-3.0.4"
       sources."@types/minimist-1.2.1"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/normalize-package-data-2.4.0"
       sources."aggregate-error-3.1.0"
       sources."ansi-styles-3.2.1"
@@ -73990,7 +73812,7 @@ in
       sources."@cycle/run-3.4.0"
       sources."@cycle/time-0.10.1"
       sources."@types/cookiejar-2.1.2"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
@@ -74985,7 +74807,7 @@ in
       sources."crypto-random-string-2.0.0"
       sources."del-6.0.0"
       sources."dir-glob-3.0.1"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fastq-1.11.0"
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
@@ -75304,7 +75126,7 @@ in
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/keyv-3.1.1"
       sources."@types/minimatch-3.0.4"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/responselike-1.0.0"
       sources."@types/yauzl-2.9.1"
       sources."abbrev-1.1.1"
@@ -75936,7 +75758,7 @@ in
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/keyv-3.1.1"
       sources."@types/minimist-1.2.1"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/responselike-1.0.0"
       sources."@types/yoga-layout-1.9.2"
@@ -75971,7 +75793,7 @@ in
           sources."quick-lru-4.0.1"
         ];
       })
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001240"
       sources."chalk-2.4.2"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
@@ -76008,7 +75830,7 @@ in
       })
       sources."defer-to-connect-2.0.1"
       sources."dot-prop-5.3.0"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.759"
       sources."emoji-regex-8.0.0"
       sources."emojilib-2.4.0"
       sources."end-of-stream-1.4.4"
@@ -76283,7 +76105,7 @@ in
           sources."normalize-path-2.1.1"
         ];
       })
-      sources."@microsoft/load-themed-styles-1.10.185"
+      sources."@microsoft/load-themed-styles-1.10.186"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.7"
@@ -76301,7 +76123,7 @@ in
       sources."@types/connect-3.4.34"
       sources."@types/engine.io-3.1.5"
       sources."@types/express-4.17.8"
-      sources."@types/express-serve-static-core-4.17.21"
+      sources."@types/express-serve-static-core-4.17.22"
       sources."@types/fancy-log-1.3.0"
       sources."@types/glob-7.1.3"
       sources."@types/hls.js-0.13.1"
@@ -76816,7 +76638,7 @@ in
       sources."extsprintf-1.3.0"
       sources."fancy-log-1.3.3"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-1.1.4"
       sources."fastq-1.11.0"
@@ -77722,7 +77544,7 @@ in
           sources."yallist-3.1.1"
         ];
       })
-      (sources."terser-5.7.0" // {
+      (sources."terser-5.7.1" // {
         dependencies = [
           sources."source-map-0.7.3"
         ];
@@ -78292,10 +78114,10 @@ in
   expo-cli = nodeEnv.buildNodePackage {
     name = "expo-cli";
     packageName = "expo-cli";
-    version = "4.6.0";
+    version = "4.7.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-4.6.0.tgz";
-      sha512 = "hvsfWKLsPG8oUMTEAVcGxp3JR/28H2KkZP2TW6iXqCv4EXwOYydnr1WjnYLZgN+wDRtoyGhYn7GFra5tXZJhrA==";
+      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-4.7.2.tgz";
+      sha512 = "svwjCPWCk7KMwGBxYIwSm65ypkTIBvjdfR/v7El3365krTPY6sf5to6hY3+NKWUA9m5IZoUn3LUfpTIOyZIuUQ==";
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
@@ -78431,16 +78253,10 @@ in
       sources."@babel/types-7.14.5"
       sources."@expo/apple-utils-0.0.0-alpha.20"
       sources."@expo/bunyan-4.0.0"
-      sources."@expo/config-4.0.4"
-      sources."@expo/config-plugins-2.0.4"
+      sources."@expo/config-5.0.2"
+      sources."@expo/config-plugins-3.0.2"
       sources."@expo/config-types-41.0.0"
-      (sources."@expo/configure-splash-screen-0.4.0" // {
-        dependencies = [
-          sources."commander-5.1.0"
-          sources."pngjs-5.0.0"
-        ];
-      })
-      (sources."@expo/dev-server-0.1.74" // {
+      (sources."@expo/dev-server-0.1.77" // {
         dependencies = [
           sources."body-parser-1.19.0"
           sources."bytes-3.1.0"
@@ -78457,7 +78273,7 @@ in
           sources."temp-dir-2.0.0"
         ];
       })
-      sources."@expo/dev-tools-0.13.104"
+      sources."@expo/dev-tools-0.13.107"
       (sources."@expo/devcert-1.0.0" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -78477,7 +78293,7 @@ in
           sources."json5-1.0.1"
         ];
       })
-      sources."@expo/metro-config-0.1.74"
+      sources."@expo/metro-config-0.1.77"
       sources."@expo/osascript-2.0.28"
       (sources."@expo/package-manager-0.0.43" // {
         dependencies = [
@@ -78491,7 +78307,7 @@ in
           sources."xmlbuilder-14.0.0"
         ];
       })
-      sources."@expo/prebuild-config-1.0.5"
+      sources."@expo/prebuild-config-2.0.2"
       sources."@expo/results-1.0.0"
       (sources."@expo/schemer-1.3.29" // {
         dependencies = [
@@ -78502,13 +78318,13 @@ in
       })
       sources."@expo/simple-spinner-1.0.2"
       sources."@expo/spawn-async-1.5.0"
-      (sources."@expo/webpack-config-0.12.78" // {
+      (sources."@expo/webpack-config-0.12.81" // {
         dependencies = [
           sources."@babel/runtime-7.9.0"
           sources."react-refresh-0.8.3"
         ];
       })
-      (sources."@expo/xcpretty-3.1.3" // {
+      (sources."@expo/xcpretty-3.1.4" // {
         dependencies = [
           sources."@babel/code-frame-7.10.4"
           sources."js-yaml-4.1.0"
@@ -78846,7 +78662,7 @@ in
       })
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001240"
       sources."caseless-0.12.0"
       (sources."chalk-4.1.1" // {
         dependencies = [
@@ -79114,7 +78930,7 @@ in
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.759"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -79141,11 +78957,7 @@ in
       sources."eol-0.9.1"
       sources."err-code-2.0.3"
       sources."errno-0.1.8"
-      (sources."error-ex-1.3.2" // {
-        dependencies = [
-          sources."is-arrayish-0.2.1"
-        ];
-      })
+      sources."error-ex-1.3.2"
       sources."error-stack-parser-2.0.6"
       sources."errorhandler-1.5.1"
       sources."es-abstract-1.18.3"
@@ -79195,7 +79007,7 @@ in
           sources."ms-2.0.0"
         ];
       })
-      (sources."expo-pwa-0.0.84" // {
+      (sources."expo-pwa-0.0.87" // {
         dependencies = [
           sources."commander-2.20.0"
         ];
@@ -79220,7 +79032,7 @@ in
       })
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.11.0"
       sources."faye-websocket-0.10.0"
@@ -79423,7 +79235,7 @@ in
       sources."is-absolute-url-2.1.0"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-arguments-1.1.0"
-      sources."is-arrayish-0.3.2"
+      sources."is-arrayish-0.2.1"
       sources."is-bigint-1.0.2"
       sources."is-binary-path-2.1.0"
       sources."is-boolean-object-1.1.1"
@@ -80237,7 +80049,11 @@ in
       sources."shell-quote-1.7.2"
       sources."signal-exit-3.0.3"
       sources."simple-plist-1.1.1"
-      sources."simple-swizzle-0.2.2"
+      (sources."simple-swizzle-0.2.2" // {
+        dependencies = [
+          sources."is-arrayish-0.3.2"
+        ];
+      })
       sources."sisteransi-1.0.5"
       sources."slash-3.0.0"
       (sources."slugid-1.1.0" // {
@@ -80747,7 +80563,7 @@ in
           sources."uuid-7.0.3"
         ];
       })
-      (sources."xdl-59.0.44" // {
+      (sources."xdl-59.0.47" // {
         dependencies = [
           sources."chownr-1.1.4"
           sources."fs-minipass-1.2.7"
@@ -80760,7 +80576,6 @@ in
         ];
       })
       sources."xhr-2.6.0"
-      sources."xml-js-1.6.11"
       sources."xml-parse-from-string-1.0.1"
       (sources."xml2js-0.4.23" // {
         dependencies = [
@@ -81242,7 +81057,7 @@ in
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
       sources."fast-diff-1.2.0"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fastq-1.11.0"
@@ -81442,7 +81257,7 @@ in
       sources."posix-character-classes-0.1.1"
       sources."prelude-ls-1.1.2"
       sources."prepend-http-2.0.0"
-      sources."prettier-2.3.1"
+      sources."prettier-2.3.2"
       sources."prettier-linter-helpers-1.0.0"
       sources."process-nextick-args-2.0.1"
       sources."psl-1.8.0"
@@ -81622,21 +81437,21 @@ in
       sources."@google-cloud/precise-date-2.0.3"
       sources."@google-cloud/projectify-2.1.0"
       sources."@google-cloud/promisify-2.0.3"
-      (sources."@google-cloud/pubsub-2.14.0" // {
+      (sources."@google-cloud/pubsub-2.15.1" // {
         dependencies = [
           sources."google-auth-library-7.1.2"
         ];
       })
-      sources."@grpc/grpc-js-1.3.3"
-      sources."@grpc/proto-loader-0.6.2"
+      sources."@grpc/grpc-js-1.3.4"
+      sources."@grpc/proto-loader-0.6.3"
       sources."@jsdevtools/ono-7.1.3"
       (sources."@npmcli/move-file-1.1.2" // {
         dependencies = [
           sources."mkdirp-1.0.4"
         ];
       })
-      sources."@opentelemetry/api-0.20.0"
-      sources."@opentelemetry/semantic-conventions-0.20.0"
+      sources."@opentelemetry/api-1.0.1"
+      sources."@opentelemetry/semantic-conventions-0.22.0"
       sources."@protobufjs/aspromise-1.1.2"
       sources."@protobufjs/base64-1.1.2"
       sources."@protobufjs/codegen-2.0.4"
@@ -81656,7 +81471,7 @@ in
       sources."@types/json-schema-7.0.7"
       sources."@types/long-4.0.1"
       sources."@types/minimatch-3.0.4"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."JSONStream-1.3.5"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
@@ -82008,7 +81823,7 @@ in
       sources."glob-slasher-1.0.1"
       sources."global-dirs-2.1.0"
       sources."google-auth-library-6.1.6"
-      (sources."google-gax-2.16.0" // {
+      (sources."google-gax-2.17.0" // {
         dependencies = [
           sources."google-auth-library-7.1.2"
         ];
@@ -82308,7 +82123,7 @@ in
       sources."responselike-1.0.2"
       sources."restore-cursor-2.0.0"
       sources."retry-0.12.0"
-      sources."retry-request-4.1.3"
+      sources."retry-request-4.2.0"
       sources."rimraf-3.0.2"
       (sources."router-1.3.5" // {
         dependencies = [
@@ -82765,7 +82580,7 @@ in
     dependencies = [
       sources."@types/atob-2.1.2"
       sources."@types/inquirer-6.5.0"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/through-0.0.30"
       sources."ajv-6.12.6"
       sources."ansi-escapes-4.3.2"
@@ -83551,7 +83366,7 @@ in
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-1.1.2"
       sources."@types/json-patch-0.0.30"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/node-fetch-2.5.10"
       sources."@types/readable-stream-2.3.10"
       sources."@types/unist-2.0.3"
@@ -83559,7 +83374,7 @@ in
       sources."@types/yargs-parser-20.2.0"
       sources."@types/yoga-layout-1.9.2"
       sources."accepts-1.3.7"
-      sources."acorn-8.4.0"
+      sources."acorn-8.4.1"
       sources."acorn-jsx-5.3.1"
       sources."address-1.1.2"
       (sources."ansi-align-3.0.0" // {
@@ -83613,13 +83428,12 @@ in
         dependencies = [
           sources."get-stream-5.2.0"
           sources."lowercase-keys-2.0.0"
-          sources."normalize-url-4.5.1"
         ];
       })
       sources."call-bind-1.0.2"
       sources."camel-case-4.1.2"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001240"
       sources."ccount-1.1.0"
       (sources."chalk-4.1.1" // {
         dependencies = [
@@ -83715,7 +83529,7 @@ in
       sources."dotenv-8.6.0"
       sources."duplexer3-0.1.4"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.759"
       sources."emoji-regex-7.0.3"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
@@ -83964,7 +83778,7 @@ in
       sources."node-object-hash-2.3.7"
       sources."node-releases-1.1.73"
       sources."normalize-path-3.0.0"
-      sources."normalize-url-6.1.0"
+      sources."normalize-url-4.5.0"
       sources."npm-run-path-2.0.2"
       sources."nth-check-2.0.0"
       sources."object-assign-4.1.1"
@@ -83988,7 +83802,7 @@ in
       })
       sources."parse-entities-2.0.0"
       sources."parse-path-4.0.3"
-      sources."parse-url-5.0.3"
+      sources."parse-url-5.0.6"
       sources."parseurl-1.3.3"
       sources."pascal-case-3.1.2"
       sources."path-exists-4.0.0"
@@ -84000,7 +83814,7 @@ in
       sources."picomatch-2.3.0"
       sources."pkg-dir-4.2.0"
       sources."prepend-http-2.0.0"
-      sources."prettier-2.3.1"
+      sources."prettier-2.3.2"
       sources."pretty-error-2.1.2"
       (sources."pretty-format-25.5.0" // {
         dependencies = [
@@ -84195,7 +84009,7 @@ in
       sources."write-file-atomic-3.0.3"
       sources."ws-7.5.0"
       sources."xdg-basedir-4.0.0"
-      sources."xstate-4.20.0"
+      sources."xstate-4.20.1"
       sources."xtend-4.0.2"
       sources."y18n-4.0.3"
       sources."yallist-4.0.0"
@@ -84942,7 +84756,7 @@ in
       sources."@nodelib/fs.walk-1.2.7"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/parse-json-4.0.0"
       sources."@types/websocket-1.0.2"
       sources."abort-controller-3.0.0"
@@ -85055,7 +84869,7 @@ in
       sources."extract-files-9.0.0"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-safe-stringify-2.0.7"
       sources."fastq-1.11.0"
@@ -85660,7 +85474,7 @@ in
       sources."lodash-4.17.21"
       sources."lodash.toarray-4.4.0"
       sources."map-canvas-0.1.5"
-      sources."marked-2.1.2"
+      sources."marked-2.1.3"
       (sources."marked-terminal-4.1.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -86583,7 +86397,7 @@ in
       sources."param-case-2.1.1"
       sources."relateurl-0.2.7"
       sources."source-map-0.6.1"
-      sources."uglify-js-3.13.9"
+      sources."uglify-js-3.13.10"
       sources."upper-case-1.1.3"
     ];
     buildInputs = globalBuildInputs;
@@ -87248,21 +87062,18 @@ in
       sources."arch-2.2.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."clipboard-2.0.8"
       sources."clipboardy-2.3.0"
       sources."clone-1.0.4"
       sources."concat-map-0.0.1"
       sources."cross-spawn-6.0.5"
       sources."decimal.js-7.5.1"
       sources."defaults-1.0.3"
-      sources."delegate-3.2.0"
       sources."end-of-stream-1.4.4"
       sources."execa-1.0.0"
       sources."fs-extra-0.24.0"
       sources."fs.realpath-1.0.0"
       sources."get-stream-4.1.0"
       sources."glob-7.1.7"
-      sources."good-listener-1.2.2"
       sources."graceful-fs-4.2.6"
       sources."historic-readline-1.0.8"
       sources."inflight-1.0.6"
@@ -87284,16 +87095,14 @@ in
       sources."p-finally-1.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
-      sources."prismjs-1.23.0"
+      sources."prismjs-1.24.0"
       sources."pump-3.0.0"
       sources."rimraf-2.7.1"
-      sources."select-1.1.2"
       sources."semver-5.7.1"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.3"
       sources."strip-eof-1.0.0"
-      sources."tiny-emitter-2.1.0"
       sources."wcwidth-1.0.1"
       sources."which-1.3.1"
       sources."wrappy-1.0.2"
@@ -87691,7 +87500,7 @@ in
       sources."@ot-builder/trace-1.0.9"
       sources."@ot-builder/var-store-1.0.9"
       sources."@ot-builder/variance-1.0.9"
-      sources."@unicode/unicode-13.0.0-1.0.6"
+      sources."@unicode/unicode-13.0.0-1.1.0"
       sources."aglfn-1.0.2"
       sources."amdefine-1.0.1"
       sources."ansi-regex-5.0.0"
@@ -88002,17 +87811,17 @@ in
   joplin = nodeEnv.buildNodePackage {
     name = "joplin";
     packageName = "joplin";
-    version = "2.0.1";
+    version = "2.1.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/joplin/-/joplin-2.0.1.tgz";
-      sha512 = "NFjW9O1SZp6zN8RUjQA8DGTuoAljN1zKNUpDcEX7uY3hG/V4nqZtZVF0wzZ3EN/UWkx/lIP2FohRv4cUtdrO+A==";
+      url = "https://registry.npmjs.org/joplin/-/joplin-2.1.2.tgz";
+      sha512 = "8xDS/I9zMH0wHuZGZ0xENBn/Ml4gHk2WLMDfShN7L2VNRK/9xowunf2c/fAwI0eNXn/aw2QcMrcgqj37uZ0gbw==";
     };
     dependencies = [
       sources."@braintree/sanitize-url-3.1.0"
       sources."@cronvel/get-pixels-3.4.0"
-      sources."@joplin/fork-htmlparser2-4.1.27"
-      sources."@joplin/fork-sax-1.2.31"
-      (sources."@joplin/lib-2.0.3" // {
+      sources."@joplin/fork-htmlparser2-4.1.28"
+      sources."@joplin/fork-sax-1.2.32"
+      (sources."@joplin/lib-2.1.1" // {
         dependencies = [
           (sources."@joplin/renderer-1.8.2" // {
             dependencies = [
@@ -88022,18 +87831,18 @@ in
           })
         ];
       })
-      (sources."@joplin/renderer-2.0.3" // {
+      (sources."@joplin/renderer-2.1.1" // {
         dependencies = [
           sources."fs-extra-8.1.0"
           sources."uslug-git+https://github.com/laurent22/uslug.git#emoji-support"
         ];
       })
-      (sources."@joplin/turndown-4.0.49" // {
+      (sources."@joplin/turndown-4.0.50" // {
         dependencies = [
           sources."css-2.2.4"
         ];
       })
-      sources."@joplin/turndown-plugin-gfm-1.0.31"
+      sources."@joplin/turndown-plugin-gfm-1.0.32"
       sources."abab-2.0.5"
       sources."abbrev-1.1.1"
       sources."acorn-7.4.1"
@@ -88073,7 +87882,7 @@ in
       sources."async-mutex-0.1.4"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.932.0" // {
+      (sources."aws-sdk-2.935.0" // {
         dependencies = [
           sources."sax-1.2.1"
           sources."uuid-3.3.2"
@@ -88100,7 +87909,6 @@ in
       sources."braces-3.0.2"
       sources."browser-process-hrtime-1.0.0"
       sources."buffer-4.9.2"
-      sources."buffer-from-1.1.1"
       sources."builtin-modules-3.2.0"
       sources."camel-case-3.0.0"
       sources."camelcase-4.1.0"
@@ -88133,7 +87941,6 @@ in
           sources."source-map-resolve-0.6.0"
         ];
       })
-      sources."css-b64-images-0.2.5"
       sources."cssom-0.4.4"
       (sources."cssstyle-2.3.0" // {
         dependencies = [
@@ -88181,7 +87988,7 @@ in
       sources."dagre-d3-0.6.4"
       sources."dashdash-1.14.1"
       sources."data-urls-1.1.0"
-      sources."debug-4.3.2"
+      sources."debug-3.2.7"
       sources."decode-uri-component-0.2.0"
       sources."decompress-response-4.2.1"
       sources."deep-extend-0.6.0"
@@ -88280,11 +88087,6 @@ in
       (sources."html-minifier-3.5.21" // {
         dependencies = [
           sources."commander-2.17.1"
-          (sources."uglify-js-3.4.10" // {
-            dependencies = [
-              sources."commander-2.19.0"
-            ];
-          })
         ];
       })
       sources."http-errors-1.8.0"
@@ -88417,16 +88219,10 @@ in
       sources."md5-2.3.0"
       sources."md5-file-4.0.0"
       sources."mdurl-1.0.1"
-      sources."mermaid-8.10.2"
+      sources."mermaid-8.11.0"
       sources."mime-db-1.48.0"
       sources."mime-types-2.1.31"
       sources."mimic-response-2.1.0"
-      (sources."minify-4.1.3" // {
-        dependencies = [
-          sources."commander-2.20.3"
-          sources."html-minifier-4.0.0"
-        ];
-      })
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       (sources."minipass-2.9.0" // {
@@ -88439,18 +88235,14 @@ in
       sources."mkdirp-classic-0.5.3"
       sources."moment-2.29.1"
       sources."moment-mini-2.24.0"
-      sources."ms-2.1.2"
+      sources."ms-2.1.3"
       sources."multiparty-4.2.2"
       sources."mustache-4.2.0"
       sources."nanoid-3.1.23"
       sources."napi-build-utils-1.0.2"
       sources."ndarray-1.0.19"
       sources."ndarray-pack-1.2.1"
-      (sources."needle-2.6.0" // {
-        dependencies = [
-          sources."debug-3.2.7"
-        ];
-      })
+      sources."needle-2.6.0"
       sources."nextgen-events-1.5.2"
       sources."no-case-2.3.2"
       (sources."node-abi-2.30.0" // {
@@ -88596,7 +88388,6 @@ in
       })
       sources."source-map-0.6.1"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-support-0.5.19"
       sources."source-map-url-0.4.1"
       sources."split-skip-0.0.2"
       sources."sprintf-js-1.1.2"
@@ -88653,11 +88444,6 @@ in
         ];
       })
       sources."terminal-kit-1.49.3"
-      (sources."terser-4.8.0" // {
-        dependencies = [
-          sources."commander-2.20.3"
-        ];
-      })
       (sources."tkwidgets-0.5.26" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -88674,14 +88460,16 @@ in
       sources."tough-cookie-3.0.1"
       sources."tr46-1.0.1"
       sources."tree-kit-0.6.2"
-      sources."try-catch-2.0.1"
-      sources."try-to-catch-1.1.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
       sources."typical-2.6.1"
       sources."uc.micro-1.0.6"
-      sources."uglify-js-3.13.9"
+      (sources."uglify-js-3.4.10" // {
+        dependencies = [
+          sources."commander-2.19.0"
+        ];
+      })
       sources."uglifycss-0.0.29"
       sources."uid-safe-2.1.5"
       sources."unc-path-regex-0.1.2"
@@ -88824,7 +88612,7 @@ in
       sources."lodash-4.17.21"
       sources."markdown-it-10.0.0"
       sources."markdown-it-anchor-5.3.0"
-      sources."marked-2.1.2"
+      sources."marked-2.1.3"
       sources."mdurl-1.0.1"
       sources."mkdirp-1.0.4"
       sources."requizzle-0.2.3"
@@ -89385,7 +89173,7 @@ in
       sources."external-editor-3.1.0"
       sources."extract-stack-2.0.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.11.0"
       (sources."figures-3.2.0" // {
@@ -89556,7 +89344,7 @@ in
       sources."@types/component-emitter-1.2.10"
       sources."@types/cookie-0.4.0"
       sources."@types/cors-2.8.10"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."accepts-1.3.7"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-4.3.0"
@@ -89887,7 +89675,7 @@ in
       sources."path-parse-1.0.7"
       sources."path-platform-0.11.15"
       sources."pbkdf2-3.1.2"
-      sources."prettier-2.3.1"
+      sources."prettier-2.3.2"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
       (sources."public-encrypt-4.0.3" // {
@@ -90699,19 +90487,19 @@ in
         ];
       })
       sources."@octokit/graphql-4.6.4"
-      sources."@octokit/openapi-types-7.3.2"
+      sources."@octokit/openapi-types-7.3.5"
       sources."@octokit/plugin-enterprise-rest-6.0.1"
       sources."@octokit/plugin-paginate-rest-2.13.5"
       sources."@octokit/plugin-request-log-1.0.4"
-      sources."@octokit/plugin-rest-endpoint-methods-5.3.1"
+      sources."@octokit/plugin-rest-endpoint-methods-5.3.4"
       (sources."@octokit/request-5.6.0" // {
         dependencies = [
           sources."is-plain-object-5.0.0"
         ];
       })
       sources."@octokit/request-error-2.1.0"
-      sources."@octokit/rest-18.6.0"
-      sources."@octokit/types-6.16.4"
+      sources."@octokit/rest-18.6.3"
+      sources."@octokit/types-6.16.7"
       sources."@tootallnate/once-1.1.2"
       sources."@types/minimatch-3.0.4"
       sources."@types/minimist-1.2.1"
@@ -90860,7 +90648,7 @@ in
       })
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.11.0"
       sources."figures-3.2.0"
@@ -91101,7 +90889,7 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."normalize-url-6.1.0"
+      sources."normalize-url-4.5.0"
       sources."npm-bundled-1.1.2"
       sources."npm-install-checks-4.0.0"
       (sources."npm-lifecycle-3.1.5" // {
@@ -91160,7 +90948,7 @@ in
           sources."qs-6.10.1"
         ];
       })
-      sources."parse-url-5.0.3"
+      sources."parse-url-5.0.6"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
@@ -91291,7 +91079,7 @@ in
       sources."type-fest-0.4.1"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
-      sources."uglify-js-3.13.9"
+      sources."uglify-js-3.13.10"
       sources."uid-number-0.0.6"
       sources."umask-1.1.0"
       sources."unbox-primitive-1.0.1"
@@ -91309,7 +91097,7 @@ in
       sources."verror-1.10.0"
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-6.1.0"
-      sources."whatwg-url-8.6.0"
+      sources."whatwg-url-8.7.0"
       sources."which-2.0.2"
       sources."which-boxed-primitive-1.0.2"
       (sources."wide-align-1.1.3" // {
@@ -91439,8 +91227,8 @@ in
           sources."normalize-path-2.1.1"
         ];
       })
-      sources."apache-crypt-1.2.4"
-      sources."apache-md5-1.1.5"
+      sources."apache-crypt-1.2.5"
+      sources."apache-md5-1.1.7"
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
       sources."arr-union-3.1.0"
@@ -92378,14 +92166,14 @@ in
       sources."@types/babel__core-7.1.14"
       sources."@types/babel__generator-7.6.2"
       sources."@types/babel__template-7.4.0"
-      sources."@types/babel__traverse-7.11.1"
+      sources."@types/babel__traverse-7.14.0"
       sources."@types/estree-0.0.48"
       sources."@types/graceful-fs-4.1.5"
       sources."@types/istanbul-lib-coverage-2.0.3"
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-1.1.2"
       sources."@types/json-schema-7.0.7"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/resolve-0.0.8"
       sources."@types/yargs-15.0.13"
@@ -92558,7 +92346,7 @@ in
       sources."cached-path-relative-1.0.2"
       sources."call-bind-1.0.2"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001240"
       sources."capture-exit-2.0.0"
       sources."caseless-0.12.0"
       (sources."chalk-3.0.0" // {
@@ -92682,7 +92470,7 @@ in
       sources."duplexer2-0.1.4"
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.759"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -93537,7 +93325,7 @@ in
       sources."link-check-4.5.4"
       sources."lodash-4.17.21"
       sources."markdown-link-extractor-1.3.0"
-      sources."marked-2.1.2"
+      sources."marked-2.1.3"
       sources."mime-db-1.48.0"
       sources."mime-types-2.1.31"
       sources."ms-2.1.3"
@@ -93572,10 +93360,10 @@ in
   mastodon-bot = nodeEnv.buildNodePackage {
     name = "mastodon-bot";
     packageName = "mastodon-bot";
-    version = "1.12.1-20210623060235";
+    version = "1.12.1-20210625203706";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mastodon-bot/-/mastodon-bot-1.12.1-20210623060235.tgz";
-      sha512 = "eXao5YnfoIQ4hqVmzCN2HT6GXfgYuReCPNlDz54Yn8YtUxwdhQZ9KnQo9t0ex4Bl6rrAZ0Po8GuVIzTVn22o4Q==";
+      url = "https://registry.npmjs.org/mastodon-bot/-/mastodon-bot-1.12.1-20210625203706.tgz";
+      sha512 = "WRIp5LGsTxBO0zGm2KjaxLZCVsUX1Lv15hu96W0vx2sKflGAgiHUSf3RFxQFaNhII1hdglnyuwulmOu/0/gHNA==";
     };
     dependencies = [
       sources."acorn-5.7.4"
@@ -93923,14 +93711,14 @@ in
   "@mermaid-js/mermaid-cli" = nodeEnv.buildNodePackage {
     name = "_at_mermaid-js_slash_mermaid-cli";
     packageName = "@mermaid-js/mermaid-cli";
-    version = "8.10.2";
+    version = "8.11.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-8.10.2.tgz";
-      sha512 = "aoGVAZC/goUc6iWYef5aRjCwITojjWvlEj+qPHCEbAGisR4md3fi3+3iDD3ra+zhagfXJZ1Qyo5+3lVkJPaC6Q==";
+      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-8.11.0.tgz";
+      sha512 = "UyYOnVhvKcfh9e2S4QnK53uRa2hvdgQVo3ZT+FcaP56ZeBDNWKB3IZI/sNzAbxqJBEuRpW6HxoEzHCleis1dFw==";
     };
     dependencies = [
       sources."@braintree/sanitize-url-3.1.0"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/yauzl-2.9.1"
       sources."agent-base-6.0.2"
       sources."ansi-styles-4.3.0"
@@ -93940,16 +93728,12 @@ in
       sources."brace-expansion-1.1.11"
       sources."buffer-5.7.1"
       sources."buffer-crc32-0.2.13"
-      sources."buffer-from-1.1.1"
-      sources."camel-case-3.0.0"
       sources."chalk-4.1.1"
       sources."chownr-1.1.4"
-      sources."clean-css-4.2.3"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."commander-7.2.0"
+      sources."commander-8.0.0"
       sources."concat-map-0.0.1"
-      sources."css-b64-images-0.2.5"
       sources."d3-5.16.0"
       sources."d3-array-1.2.4"
       sources."d3-axis-1.0.12"
@@ -94002,11 +93786,6 @@ in
       sources."graphlib-2.1.8"
       sources."has-flag-4.0.0"
       sources."he-1.2.0"
-      (sources."html-minifier-4.0.0" // {
-        dependencies = [
-          sources."commander-2.20.3"
-        ];
-      })
       sources."https-proxy-agent-5.0.0"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
@@ -94015,21 +93794,17 @@ in
       sources."khroma-1.4.1"
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
-      sources."lower-case-1.1.4"
-      sources."mermaid-8.10.2"
-      sources."minify-4.1.3"
+      sources."mermaid-8.11.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."moment-mini-2.24.0"
       sources."ms-2.1.2"
-      sources."no-case-2.3.2"
       sources."node-fetch-2.6.1"
       sources."once-1.4.0"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
-      sources."param-case-2.1.1"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."pend-1.2.0"
@@ -94039,29 +93814,17 @@ in
       sources."pump-3.0.0"
       sources."puppeteer-10.0.0"
       sources."readable-stream-3.6.0"
-      sources."relateurl-0.2.7"
       sources."rimraf-3.0.2"
       sources."rw-1.3.3"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
-      sources."source-map-0.6.1"
-      sources."source-map-support-0.5.19"
       sources."string_decoder-1.3.0"
       sources."stylis-3.5.4"
       sources."supports-color-7.2.0"
       sources."tar-fs-2.0.0"
       sources."tar-stream-2.2.0"
-      (sources."terser-4.8.0" // {
-        dependencies = [
-          sources."commander-2.20.3"
-        ];
-      })
       sources."through-2.3.8"
-      sources."try-catch-2.0.1"
-      sources."try-to-catch-1.1.1"
-      sources."uglify-js-3.13.9"
       sources."unbzip2-stream-1.3.3"
-      sources."upper-case-1.1.3"
       sources."util-deprecate-1.0.2"
       sources."wrappy-1.0.2"
       sources."ws-7.4.6"
@@ -94093,7 +93856,7 @@ in
       sources."@fluentui/react-focus-7.17.6"
       sources."@fluentui/react-window-provider-1.0.2"
       sources."@fluentui/theme-1.7.4"
-      sources."@microsoft/load-themed-styles-1.10.185"
+      sources."@microsoft/load-themed-styles-1.10.186"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@uifabric/foundation-7.9.26"
@@ -94320,7 +94083,7 @@ in
       sources."strip-json-comments-2.0.1"
       sources."supports-color-2.0.0"
       sources."swagger-schema-official-2.0.0-bab6bed"
-      sources."swagger-ui-dist-3.50.0"
+      sources."swagger-ui-dist-3.51.0"
       sources."tail-2.2.3"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
@@ -94606,10 +94369,10 @@ in
   netlify-cli = nodeEnv.buildNodePackage {
     name = "netlify-cli";
     packageName = "netlify-cli";
-    version = "3.38.7";
+    version = "3.39.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/netlify-cli/-/netlify-cli-3.38.7.tgz";
-      sha512 = "q95l1GhUbv1VgePfCHuNREvmGO7dN9H+kSw5esaxNITa/+67xXP4PA2dzJaylTXciEF3NdIhTdXCC9j/CUs4EQ==";
+      url = "https://registry.npmjs.org/netlify-cli/-/netlify-cli-3.39.0.tgz";
+      sha512 = "XYkFp1WuWTcO7Q3LbY79ilobfCNWoL6UEYq2vhCHHKNLICSPxZtkzjDvNP628eGVzxe0L+D+Z9ce3sLdFiitMw==";
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
@@ -94734,37 +94497,23 @@ in
       sources."@babel/template-7.14.5"
       sources."@babel/traverse-7.14.7"
       sources."@babel/types-7.14.5"
-      sources."@bugsnag/browser-7.10.1"
+      sources."@bugsnag/browser-7.10.4"
       sources."@bugsnag/core-7.10.0"
       sources."@bugsnag/cuid-3.0.0"
-      sources."@bugsnag/js-7.10.1"
+      sources."@bugsnag/js-7.10.4"
       sources."@bugsnag/node-7.10.1"
       sources."@bugsnag/safe-json-stringify-6.0.0"
       sources."@dabh/diagnostics-2.0.2"
       sources."@jest/types-24.9.0"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
-      (sources."@netlify/build-12.7.2" // {
+      (sources."@netlify/build-12.11.0" // {
         dependencies = [
-          sources."@netlify/config-7.7.1"
-          (sources."@netlify/zip-it-and-ship-it-4.4.2" // {
-            dependencies = [
-              sources."find-up-5.0.0"
-              sources."locate-path-6.0.0"
-              sources."p-locate-5.0.0"
-              sources."pkg-dir-5.0.0"
-              sources."semver-7.3.5"
-              sources."yargs-16.2.0"
-            ];
-          })
           sources."ansi-styles-4.3.0"
           sources."chalk-3.0.0"
-          sources."cp-file-9.1.0"
           sources."dot-prop-5.3.0"
           sources."execa-3.4.0"
-          sources."find-up-4.1.0"
           sources."is-plain-obj-2.1.0"
           sources."locate-path-5.0.0"
-          sources."netlify-redirect-parser-7.0.0"
           sources."resolve-2.0.0-next.3"
           sources."semver-6.3.0"
           sources."update-notifier-4.1.3"
@@ -94778,7 +94527,7 @@ in
           sources."slash-3.0.0"
         ];
       })
-      (sources."@netlify/config-8.0.0" // {
+      (sources."@netlify/config-9.1.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-3.0.0"
@@ -94790,20 +94539,13 @@ in
         ];
       })
       sources."@netlify/esbuild-0.13.6"
-      (sources."@netlify/framework-info-5.3.0" // {
+      (sources."@netlify/framework-info-5.4.0" // {
         dependencies = [
+          sources."p-limit-3.1.0"
           sources."p-locate-5.0.0"
         ];
       })
-      (sources."@netlify/functions-utils-1.3.46" // {
-        dependencies = [
-          sources."@netlify/zip-it-and-ship-it-4.4.2"
-          sources."cp-file-9.1.0"
-          sources."pkg-dir-5.0.0"
-          sources."resolve-2.0.0-next.3"
-          sources."yargs-16.2.0"
-        ];
-      })
+      sources."@netlify/functions-utils-1.3.47"
       (sources."@netlify/git-utils-1.0.11" // {
         dependencies = [
           sources."braces-3.0.2"
@@ -94818,7 +94560,6 @@ in
       (sources."@netlify/plugin-edge-handlers-1.11.19" // {
         dependencies = [
           sources."@types/node-14.17.4"
-          sources."typescript-4.3.4"
         ];
       })
       sources."@netlify/plugins-list-2.18.0"
@@ -94828,12 +94569,15 @@ in
           sources."execa-3.4.0"
         ];
       })
-      (sources."@netlify/zip-it-and-ship-it-4.5.1" // {
+      (sources."@netlify/zip-it-and-ship-it-4.4.2" // {
         dependencies = [
+          sources."cliui-7.0.4"
           sources."cp-file-9.1.0"
           sources."pkg-dir-5.0.0"
           sources."resolve-2.0.0-next.3"
+          sources."y18n-5.0.8"
           sources."yargs-16.2.0"
+          sources."yargs-parser-20.2.9"
         ];
       })
       (sources."@nodelib/fs.scandir-2.1.5" // {
@@ -94872,7 +94616,7 @@ in
           sources."array-union-2.1.0"
           sources."braces-3.0.2"
           sources."dir-glob-3.0.1"
-          sources."fast-glob-3.2.5"
+          sources."fast-glob-3.2.6"
           sources."fill-range-7.0.1"
           sources."glob-parent-5.1.2"
           sources."globby-11.0.4"
@@ -94931,7 +94675,7 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      (sources."@oclif/plugin-plugins-1.10.0" // {
+      (sources."@oclif/plugin-plugins-1.10.1" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -94948,18 +94692,18 @@ in
         ];
       })
       sources."@octokit/graphql-4.6.4"
-      sources."@octokit/openapi-types-7.3.2"
+      sources."@octokit/openapi-types-7.3.5"
       sources."@octokit/plugin-paginate-rest-2.13.5"
       sources."@octokit/plugin-request-log-1.0.4"
-      sources."@octokit/plugin-rest-endpoint-methods-5.3.1"
+      sources."@octokit/plugin-rest-endpoint-methods-5.3.4"
       (sources."@octokit/request-5.6.0" // {
         dependencies = [
           sources."is-plain-object-5.0.0"
         ];
       })
       sources."@octokit/request-error-2.1.0"
-      sources."@octokit/rest-18.6.0"
-      sources."@octokit/types-6.16.4"
+      sources."@octokit/rest-18.6.3"
+      sources."@octokit/types-6.16.7"
       sources."@rollup/plugin-babel-5.3.0"
       (sources."@rollup/plugin-commonjs-18.1.0" // {
         dependencies = [
@@ -94996,7 +94740,7 @@ in
       sources."@types/istanbul-reports-1.1.2"
       sources."@types/keyv-3.1.1"
       sources."@types/minimatch-3.0.4"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/node-fetch-2.5.10"
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/resolve-1.17.1"
@@ -95011,7 +94755,7 @@ in
           sources."array-union-2.1.0"
           sources."braces-3.0.2"
           sources."dir-glob-3.0.1"
-          sources."fast-glob-3.2.5"
+          sources."fast-glob-3.2.6"
           sources."fill-range-7.0.1"
           sources."glob-parent-5.1.2"
           sources."globby-11.0.4"
@@ -95025,7 +94769,6 @@ in
       sources."@typescript-eslint/visitor-keys-4.28.0"
       sources."@ungap/from-entries-0.2.1"
       sources."accepts-1.3.7"
-      sources."acorn-8.4.0"
       sources."agent-base-6.0.2"
       sources."aggregate-error-3.1.0"
       sources."ajv-8.6.0"
@@ -95085,7 +94828,7 @@ in
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.932.0" // {
+      (sources."aws-sdk-2.935.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -95161,7 +94904,7 @@ in
       sources."call-me-maybe-1.0.1"
       sources."callsite-1.0.0"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001240"
       sources."cardinal-2.1.1"
       (sources."chalk-4.1.1" // {
         dependencies = [
@@ -95229,7 +94972,12 @@ in
         ];
       })
       sources."cli-width-2.2.1"
-      sources."cliui-7.0.4"
+      (sources."cliui-6.0.0" // {
+        dependencies = [
+          sources."ansi-styles-4.3.0"
+          sources."wrap-ansi-6.2.0"
+        ];
+      })
       sources."clone-1.0.4"
       sources."clone-response-1.0.2"
       sources."code-point-at-1.1.0"
@@ -95362,7 +95110,7 @@ in
           sources."array-union-2.1.0"
           sources."braces-3.0.2"
           sources."dir-glob-3.0.1"
-          sources."fast-glob-3.2.5"
+          sources."fast-glob-3.2.6"
           sources."fill-range-7.0.1"
           sources."glob-parent-5.1.2"
           sources."globby-11.0.4"
@@ -95385,7 +95133,11 @@ in
       sources."detective-sass-3.0.1"
       sources."detective-scss-2.0.1"
       sources."detective-stylus-1.0.0"
-      sources."detective-typescript-7.0.0"
+      (sources."detective-typescript-7.0.0" // {
+        dependencies = [
+          sources."typescript-3.9.10"
+        ];
+      })
       (sources."dir-glob-2.2.2" // {
         dependencies = [
           sources."path-type-3.0.0"
@@ -95423,7 +95175,7 @@ in
       })
       sources."duplexer3-0.1.4"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.759"
       sources."elegant-spinner-1.0.1"
       sources."elf-cam-0.1.1"
       sources."emoji-regex-8.0.0"
@@ -95613,7 +95365,7 @@ in
           sources."array-union-2.1.0"
           sources."braces-3.0.2"
           sources."dir-glob-3.0.1"
-          sources."fast-glob-3.2.5"
+          sources."fast-glob-3.2.6"
           sources."fill-range-7.0.1"
           sources."glob-parent-5.1.2"
           sources."ignore-5.1.8"
@@ -95858,6 +95610,7 @@ in
       })
       (sources."locate-path-6.0.0" // {
         dependencies = [
+          sources."p-limit-3.1.0"
           sources."p-locate-5.0.0"
         ];
       })
@@ -96092,12 +95845,8 @@ in
       })
       sources."p-finally-2.0.1"
       sources."p-is-promise-1.1.0"
-      sources."p-limit-3.1.0"
-      (sources."p-locate-4.1.0" // {
-        dependencies = [
-          sources."p-limit-2.3.0"
-        ];
-      })
+      sources."p-limit-2.3.0"
+      sources."p-locate-4.1.0"
       sources."p-map-4.0.0"
       sources."p-reduce-2.1.0"
       (sources."p-timeout-2.0.1" // {
@@ -96247,7 +95996,7 @@ in
       sources."ret-0.1.15"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
-      sources."rollup-2.52.2"
+      sources."rollup-2.52.3"
       (sources."rollup-plugin-inject-3.0.2" // {
         dependencies = [
           sources."estree-walker-0.6.1"
@@ -96433,7 +96182,7 @@ in
         ];
       })
       sources."term-size-2.2.1"
-      (sources."terser-5.7.0" // {
+      (sources."terser-5.7.1" // {
         dependencies = [
           sources."source-map-0.7.3"
         ];
@@ -96475,7 +96224,7 @@ in
       sources."type-fest-0.21.3"
       sources."type-is-1.6.18"
       sources."typedarray-to-buffer-3.1.5"
-      sources."typescript-3.9.10"
+      sources."typescript-4.3.4"
       sources."uid-safe-2.1.5"
       sources."unbzip2-stream-1.4.3"
       sources."unicode-canonical-property-names-ecmascript-1.0.4"
@@ -96579,20 +96328,15 @@ in
       sources."xml2js-0.4.19"
       sources."xmlbuilder-9.0.7"
       sources."xtend-4.0.2"
-      sources."y18n-5.0.8"
+      sources."y18n-4.0.3"
       sources."yallist-4.0.0"
       (sources."yargs-15.4.1" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."cliui-6.0.0"
           sources."find-up-4.1.0"
           sources."locate-path-5.0.0"
-          sources."wrap-ansi-6.2.0"
-          sources."y18n-4.0.3"
-          sources."yargs-parser-18.1.3"
         ];
       })
-      sources."yargs-parser-20.2.9"
+      sources."yargs-parser-18.1.3"
       sources."yarn-1.22.10"
       sources."yauzl-2.10.0"
       sources."yocto-queue-0.1.0"
@@ -98019,7 +97763,7 @@ in
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/keyv-3.1.1"
       sources."@types/minimist-1.2.1"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/parse-json-4.0.0"
       sources."@types/responselike-1.0.0"
@@ -98114,7 +97858,7 @@ in
       sources."escape-string-regexp-4.0.0"
       sources."execa-5.1.1"
       sources."external-editor-3.1.0"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fastq-1.11.0"
       (sources."figures-3.2.0" // {
         dependencies = [
@@ -98523,10 +98267,10 @@ in
   npm = nodeEnv.buildNodePackage {
     name = "npm";
     packageName = "npm";
-    version = "7.18.1";
+    version = "7.19.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-7.18.1.tgz";
-      sha512 = "fu7rMtc4ZaDnFlZsiLhqwWWs6KixOcBGiBLoJH+AbuaznwtT8mYQnq5nGNN14Jib+E9OjkjNRgg+X45Ia9xtKQ==";
+      url = "https://registry.npmjs.org/npm/-/npm-7.19.0.tgz";
+      sha512 = "bak/ZycWS8kalVFJ2m1JEo2pgvSwEDA9FMGthGnufAKciu4X4kpJMDZKe8VZKNaA/cXehd9XI7QdSZXmZauR8Q==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -98646,7 +98390,7 @@ in
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.11.0"
       sources."figgy-pudding-3.5.2"
@@ -99370,7 +99114,7 @@ in
       sources."caller-path-2.0.0"
       sources."callsites-2.0.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001240"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
@@ -99508,7 +99252,7 @@ in
       sources."duplexer2-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.759"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -99616,7 +99360,7 @@ in
           sources."posthtml-0.15.2"
           sources."posthtml-parser-0.7.2"
           sources."source-map-0.7.3"
-          sources."terser-5.7.0"
+          sources."terser-5.7.1"
         ];
       })
       (sources."htmlparser2-6.1.0" // {
@@ -100379,7 +100123,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-is-1.6.18"
-      sources."uglify-js-3.13.9"
+      sources."uglify-js-3.13.10"
       sources."unix-dgram-2.0.4"
       sources."unpipe-1.0.0"
       sources."uri-js-4.4.1"
@@ -101397,10 +101141,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "6.9.0";
+    version = "6.9.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-6.9.0.tgz";
-      sha512 = "PYB3AujuDut50PAe7m8jAggruh0D8/Zm+nO2QprVfG1Xug1zAOsMMJEc+wjvEC9irFwT20Qu4qvr+lEiXyK1HA==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-6.9.1.tgz";
+      sha512 = "2qlbvmHB+ULAoTCMpJ75oADYoVQnsxD1ipCemdDJA2KW4auGwoTUzyowVYEiAe4DIDOqw3axhHVkNAo7P6goZA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -101469,7 +101213,7 @@ in
       sources."dir-glob-3.0.1"
       sources."emoji-regex-8.0.0"
       sources."escalade-3.1.1"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fastq-1.11.0"
       sources."fill-range-7.0.1"
       sources."fs-extra-9.1.0"
@@ -101536,10 +101280,10 @@ in
   prettier = nodeEnv.buildNodePackage {
     name = "prettier";
     packageName = "prettier";
-    version = "2.3.1";
+    version = "2.3.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz";
-      sha512 = "p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==";
+      url = "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz";
+      sha512 = "lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -101922,10 +101666,10 @@ in
   pyright = nodeEnv.buildNodePackage {
     name = "pyright";
     packageName = "pyright";
-    version = "1.1.151";
+    version = "1.1.153";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.151.tgz";
-      sha512 = "R/Zr6VqXghuFLm7y3a8HoCrA+mfy+Zp+mp6P8gFZeJO9Rl1kQLJhfc/y4QKSQHZWxXOBGo+AFDi/rWLZfNBEgQ==";
+      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.153.tgz";
+      sha512 = "t5Y9IojL2Sifm1Q04BEBJDLP86rF4RpXma28HEP/EXJRHyyNxu8css77HC+tZqJXXXZVtAjaJxJSAEwq5afGjg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -102408,7 +102152,7 @@ in
       sources."@types/glob-7.1.3"
       sources."@types/json-schema-7.0.7"
       sources."@types/minimatch-3.0.4"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/parse-json-4.0.0"
       sources."@types/q-1.5.4"
       sources."@webassemblyjs/ast-1.9.0"
@@ -102596,7 +102340,7 @@ in
       sources."camel-case-3.0.0"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001240"
       sources."case-sensitive-paths-webpack-plugin-2.4.0"
       sources."caw-2.0.1"
       (sources."chalk-2.4.2" // {
@@ -102825,7 +102569,7 @@ in
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.759"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -104082,7 +103826,7 @@ in
       sources."@mozilla/readability-0.4.1"
       sources."@tootallnate/once-1.1.2"
       sources."abab-2.0.5"
-      sources."acorn-8.4.0"
+      sources."acorn-8.4.1"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -104106,7 +103850,7 @@ in
       })
       sources."data-urls-2.0.0"
       sources."debug-4.3.2"
-      sources."decimal.js-10.3.0"
+      sources."decimal.js-10.3.1"
       sources."deep-is-0.1.3"
       sources."delayed-stream-1.0.0"
       (sources."domexception-2.0.1" // {
@@ -104158,7 +103902,7 @@ in
       sources."webidl-conversions-6.1.0"
       sources."whatwg-encoding-1.0.5"
       sources."whatwg-mimetype-2.3.0"
-      sources."whatwg-url-8.6.0"
+      sources."whatwg-url-8.7.0"
       sources."word-wrap-1.2.3"
       sources."wrap-ansi-7.0.0"
       sources."ws-7.5.0"
@@ -104219,7 +103963,7 @@ in
       })
       sources."@redocly/react-dropdown-aria-2.0.12"
       sources."@types/json-schema-7.0.7"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
       sources."anymatch-3.1.2"
@@ -104267,7 +104011,6 @@ in
       sources."chokidar-3.5.2"
       sources."cipher-base-1.0.4"
       sources."classnames-2.3.1"
-      sources."clipboard-2.0.8"
       sources."cliui-7.0.4"
       sources."clsx-1.1.1"
       sources."color-convert-1.9.3"
@@ -104289,7 +104032,6 @@ in
       sources."css-to-react-native-3.0.0"
       sources."debug-4.3.2"
       sources."decko-1.2.0"
-      sources."delegate-3.2.0"
       sources."des.js-1.0.1"
       (sources."diffie-hellman-5.0.3" // {
         dependencies = [
@@ -104321,7 +104063,6 @@ in
       sources."get-caller-file-2.0.5"
       sources."glob-parent-5.1.2"
       sources."globals-11.12.0"
-      sources."good-listener-1.2.2"
       sources."handlebars-4.7.7"
       sources."has-flag-3.0.0"
       (sources."hash-base-3.1.0" // {
@@ -104397,7 +104138,7 @@ in
       sources."picomatch-2.3.0"
       sources."polished-4.1.3"
       sources."postcss-value-parser-4.1.0"
-      sources."prismjs-1.23.0"
+      sources."prismjs-1.24.0"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
       sources."prop-types-15.7.2"
@@ -104436,7 +104177,6 @@ in
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."scheduler-0.20.2"
-      sources."select-1.1.2"
       sources."setimmediate-1.0.5"
       sources."sha.js-2.4.11"
       sources."shallowequal-1.1.0"
@@ -104459,12 +104199,11 @@ in
       sources."supports-color-5.5.0"
       sources."swagger2openapi-7.0.7"
       sources."timers-browserify-2.0.12"
-      sources."tiny-emitter-2.1.0"
       sources."to-arraybuffer-1.0.1"
       sources."to-fast-properties-2.0.0"
       sources."to-regex-range-5.0.1"
       sources."tty-browserify-0.0.0"
-      sources."uglify-js-3.13.9"
+      sources."uglify-js-3.13.10"
       (sources."uri-js-4.4.1" // {
         dependencies = [
           sources."punycode-2.1.1"
@@ -104700,10 +104439,10 @@ in
   rollup = nodeEnv.buildNodePackage {
     name = "rollup";
     packageName = "rollup";
-    version = "2.52.2";
+    version = "2.52.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/rollup/-/rollup-2.52.2.tgz";
-      sha512 = "4RlFC3k2BIHlUsJ9mGd8OO+9Lm2eDF5P7+6DNQOp5sx+7N/1tFM01kELfbxlMX3MxT6owvLB1ln4S3QvvQlbUA==";
+      url = "https://registry.npmjs.org/rollup/-/rollup-2.52.3.tgz";
+      sha512 = "QF3Sju8Kl2z0osI4unyOLyUudyhOMK6G0AeqJWgfiyigqLAlnNrfBcDWDx+f1cqn+JU2iIYVkDrgQ6/KtwEfrg==";
     };
     dependencies = [
       sources."fsevents-2.3.2"
@@ -104878,7 +104617,7 @@ in
       sources."estree-walker-2.0.2"
       sources."esutils-2.0.3"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fastq-1.11.0"
@@ -105027,7 +104766,7 @@ in
       sources."resolve-from-4.0.0"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
-      sources."rollup-2.52.2"
+      sources."rollup-2.52.3"
       sources."run-parallel-1.2.0"
       sources."safe-buffer-5.2.1"
       sources."semver-7.3.5"
@@ -105142,19 +104881,12 @@ in
       sha1 = "c8fa1fffb8258ce68adf75df73f90fbb6f23d198";
     };
     dependencies = [
-      sources."ajv-6.12.6"
-      sources."asn1-0.2.4"
-      sources."assert-plus-1.0.0"
-      sources."asynckit-0.4.0"
       sources."aws-sdk-1.18.0"
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.11.0"
-      sources."bcrypt-pbkdf-1.0.2"
+      sources."axios-0.21.1"
       sources."buffer-crc32-0.2.1"
       sources."bytes-0.2.1"
-      sources."caseless-0.12.0"
+      sources."call-bind-1.0.2"
       sources."coffee-script-1.6.3"
-      sources."combined-stream-1.0.8"
       sources."commander-2.0.0"
       (sources."connect-2.11.0" // {
         dependencies = [
@@ -105166,10 +104898,7 @@ in
       sources."core-util-is-1.0.2"
       sources."crc-0.2.0"
       sources."crypto-0.0.3"
-      sources."dashdash-1.14.1"
       sources."debug-4.3.2"
-      sources."delayed-stream-1.0.0"
-      sources."ecc-jsbn-0.1.2"
       sources."events.node-0.4.9"
       (sources."everyauth-0.4.5" // {
         dependencies = [
@@ -105188,33 +104917,19 @@ in
           sources."commander-1.3.2"
         ];
       })
-      sources."extend-3.0.2"
-      sources."extsprintf-1.3.0"
-      sources."fast-deep-equal-3.1.3"
-      sources."fast-json-stable-stringify-2.1.0"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.3.3"
+      sources."follow-redirects-1.14.1"
       sources."formidable-1.0.11"
       sources."fresh-0.2.0"
-      sources."getpass-0.1.7"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.5"
+      sources."function-bind-1.1.1"
+      sources."get-intrinsic-1.1.1"
+      sources."has-1.0.3"
+      sources."has-symbols-1.0.2"
       sources."http-auth-2.0.7"
-      sources."http-signature-1.2.0"
       sources."inherits-2.0.4"
-      sources."is-typedarray-1.0.0"
       sources."isarray-0.0.1"
-      sources."isstream-0.1.2"
-      sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
-      sources."json-schema-traverse-0.4.1"
-      sources."json-stringify-safe-5.0.1"
-      sources."jsprim-1.4.1"
       sources."keypress-0.1.0"
       sources."methods-0.1.0"
       sources."mime-1.2.11"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
       sources."mkdirp-0.3.5"
       sources."ms-2.1.2"
       sources."multiparty-2.2.0"
@@ -105223,38 +104938,26 @@ in
       sources."node-uuid-1.4.1"
       sources."node-wsfederation-0.1.1"
       sources."oauth-https://github.com/ciaranj/node-oauth/tarball/master"
-      sources."oauth-sign-0.9.0"
-      (sources."openid-2.0.8" // {
+      sources."object-inspect-1.10.3"
+      (sources."openid-2.0.9" // {
         dependencies = [
-          sources."qs-6.5.2"
-          sources."request-2.88.2"
+          sources."qs-6.10.1"
         ];
       })
       sources."pause-0.0.1"
-      sources."performance-now-2.1.0"
-      sources."psl-1.8.0"
-      sources."punycode-2.1.1"
       sources."qs-0.6.5"
       sources."range-parser-0.0.4"
       sources."raw-body-0.0.3"
       sources."readable-stream-1.1.14"
       sources."request-2.9.203"
-      sources."safe-buffer-5.2.1"
-      sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
       sources."send-0.1.4"
-      sources."sshpk-1.16.1"
+      sources."side-channel-1.0.4"
       sources."stream-counter-0.2.0"
       sources."string-1.6.1"
       sources."string_decoder-0.10.31"
-      sources."tough-cookie-2.5.0"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
       sources."uid2-0.0.3"
-      sources."uri-js-4.4.1"
       sources."util-0.4.9"
-      sources."uuid-3.4.0"
-      sources."verror-1.10.0"
       sources."xml2js-0.2.4"
       sources."xmlbuilder-0.4.2"
     ];
@@ -105441,10 +105144,10 @@ in
   serverless = nodeEnv.buildNodePackage {
     name = "serverless";
     packageName = "serverless";
-    version = "2.48.0";
+    version = "2.48.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serverless/-/serverless-2.48.0.tgz";
-      sha512 = "1CGCKr+7226psdyuGYFC54khCMUUBlLt2QPEAZtY00ZHMy8yOxvjMXAdfHAVnCdo+YH419MW3jFJhGuwVUsDyw==";
+      url = "https://registry.npmjs.org/serverless/-/serverless-2.48.1.tgz";
+      sha512 = "G61WEeJwDWsmsXW3jBzYnnNOJzw3ysqL5/3b0UHy1Zi8RhpkzzI9J7poteJHVmDchw9Ru5tczIKYq2dCfufxsA==";
     };
     dependencies = [
       sources."2-thenable-1.0.0"
@@ -105546,7 +105249,7 @@ in
       sources."@types/keyv-3.1.1"
       sources."@types/lodash-4.14.170"
       sources."@types/long-4.0.1"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/readable-stream-2.3.10"
       sources."@types/request-2.48.5"
       sources."@types/request-promise-native-1.0.17"
@@ -105608,7 +105311,7 @@ in
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
-      (sources."aws-sdk-2.932.0" // {
+      (sources."aws-sdk-2.935.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -105821,7 +105524,7 @@ in
       sources."external-editor-3.1.0"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-safe-stringify-2.0.7"
       sources."fastest-levenshtein-1.0.12"
@@ -106168,7 +105871,7 @@ in
       sources."sort-keys-length-1.0.1"
       sources."split2-3.2.2"
       sources."sprintf-js-1.0.3"
-      sources."sprintf-kit-2.0.0"
+      sources."sprintf-kit-2.0.1"
       sources."sshpk-1.16.1"
       sources."stack-trace-0.0.10"
       sources."stealthy-require-1.1.1"
@@ -106954,10 +106657,10 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.642.0";
+    version = "1.649.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.642.0.tgz";
-      sha512 = "rrEZuPD1olFg8+MoNAHXeS+HuPQE/RpL4R2Yhizg/NIzYd/PC2peNx0jOOywqqqRseQY8Vhyr19KIrriFEIFJg==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.649.0.tgz";
+      sha512 = "KIJYCxfuxUwaZhmtSQyOxv2Ya5ZX/r7FTqXujpCWV4X/Cx354GYFSxSX1uvi0AQk8GVO6xkzKKVNn14CtpnHiw==";
     };
     dependencies = [
       sources."@arcanis/slice-ansi-1.0.2"
@@ -106981,7 +106684,7 @@ in
       })
       sources."@snyk/docker-registry-v2-client-2.2.2"
       sources."@snyk/fast-glob-3.2.6-patch"
-      (sources."@snyk/fix-1.642.0" // {
+      (sources."@snyk/fix-1.649.0" // {
         dependencies = [
           sources."chalk-4.1.1"
           sources."strip-ansi-6.0.0"
@@ -107217,7 +106920,11 @@ in
       })
       sources."execa-1.0.0"
       sources."external-editor-3.1.0"
-      sources."fast-glob-3.2.5"
+      (sources."fast-glob-3.2.6" // {
+        dependencies = [
+          sources."micromatch-4.0.4"
+        ];
+      })
       sources."fastq-1.11.0"
       sources."figures-3.2.0"
       sources."fill-range-7.0.1"
@@ -107572,7 +107279,7 @@ in
           sources."yallist-2.1.2"
         ];
       })
-      (sources."snyk-sbt-plugin-2.11.0" // {
+      (sources."snyk-sbt-plugin-2.11.1" // {
         dependencies = [
           sources."tmp-0.1.0"
         ];
@@ -107704,7 +107411,7 @@ in
       sources."@types/component-emitter-1.2.10"
       sources."@types/cookie-0.4.0"
       sources."@types/cors-2.8.10"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."accepts-1.3.7"
       sources."base64-arraybuffer-0.1.4"
       sources."base64id-2.0.0"
@@ -108441,7 +108148,7 @@ in
       sources."polyraf-1.1.0"
       sources."posix-character-classes-0.1.1"
       sources."preserve-0.2.0"
-      sources."prettier-2.3.1"
+      sources."prettier-2.3.2"
       (sources."pretty-quick-3.1.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -108704,7 +108411,7 @@ in
       sources."ssb-client-4.9.0"
       sources."ssb-config-3.4.5"
       sources."ssb-db-19.2.0"
-      (sources."ssb-db2-2.1.3" // {
+      (sources."ssb-db2-2.1.4" // {
         dependencies = [
           sources."abstract-leveldown-6.2.3"
           (sources."flumecodec-0.0.1" // {
@@ -108970,13 +108677,14 @@ in
       sources."async-1.5.2"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      (sources."aws-sdk-2.932.0" // {
+      (sources."aws-sdk-2.935.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
       })
       sources."aws-sign2-0.6.0"
       sources."aws4-1.11.0"
+      sources."axios-0.21.1"
       sources."babel-runtime-6.26.0"
       sources."babel-types-6.26.0"
       sources."babylon-6.18.0"
@@ -109359,7 +109067,11 @@ in
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
-      sources."openid-2.0.8"
+      (sources."openid-2.0.9" // {
+        dependencies = [
+          sources."qs-6.10.1"
+        ];
+      })
       sources."options-0.0.6"
       sources."optjs-3.2.2"
       sources."os-locale-3.1.0"
@@ -109803,7 +109515,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001240"
       (sources."chalk-4.1.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -109841,7 +109553,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.759"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -109850,7 +109562,7 @@ in
       sources."execall-2.0.0"
       sources."extend-3.0.2"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fastest-levenshtein-1.0.12"
       sources."fastq-1.11.0"
       sources."file-entry-cache-6.0.1"
@@ -110083,7 +109795,7 @@ in
       sources."@emmetio/abbreviation-2.2.2"
       sources."@emmetio/css-abbreviation-2.1.4"
       sources."@emmetio/scanner-1.0.0"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/pug-2.0.4"
       sources."@types/sass-1.16.0"
       sources."anymatch-3.1.2"
@@ -110159,10 +109871,10 @@ in
   svgo = nodeEnv.buildNodePackage {
     name = "svgo";
     packageName = "svgo";
-    version = "2.3.0";
+    version = "2.3.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svgo/-/svgo-2.3.0.tgz";
-      sha512 = "fz4IKjNO6HDPgIQxu4IxwtubtbSfGEAJUq/IXyTPIkGhWck/faiiwfkvsB8LnBkKLvSoyNNIY6d13lZprJMc9Q==";
+      url = "https://registry.npmjs.org/svgo/-/svgo-2.3.1.tgz";
+      sha512 = "riDDIQgXpEnn0BEl9Gvhh1LNLIyiusSpt64IR8upJu7MwxnzetmF/Y57pXQD2NMX2lVyMRzXt5f2M5rO4wG7Dw==";
     };
     dependencies = [
       sources."@trysound/sax-0.1.1"
@@ -110172,9 +109884,9 @@ in
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."commander-7.2.0"
-      sources."css-select-3.1.2"
+      sources."css-select-4.1.3"
       sources."css-tree-1.1.3"
-      sources."css-what-4.0.0"
+      sources."css-what-5.0.1"
       sources."csso-4.2.0"
       sources."dom-serializer-1.3.2"
       sources."domelementtype-2.2.0"
@@ -110777,7 +110489,7 @@ in
       sources."truncate-utf8-bytes-1.0.2"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      sources."uglify-js-3.13.9"
+      sources."uglify-js-3.13.10"
       sources."undefsafe-2.0.3"
       (sources."union-value-1.0.1" // {
         dependencies = [
@@ -111407,7 +111119,7 @@ in
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/parse5-5.0.3"
       sources."@types/unist-2.0.3"
-      sources."acorn-8.4.0"
+      sources."acorn-8.4.1"
       sources."acorn-jsx-5.3.1"
       sources."alex-9.1.0"
       (sources."ansi-align-3.0.0" // {
@@ -112207,7 +111919,7 @@ in
       sources."@types/debug-4.1.5"
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/keyv-3.1.1"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -113126,10 +112838,10 @@ in
   uglify-js = nodeEnv.buildNodePackage {
     name = "uglify-js";
     packageName = "uglify-js";
-    version = "3.13.9";
+    version = "3.13.10";
     src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.9.tgz";
-      sha512 = "wZbyTQ1w6Y7fHdt8sJnHfSIuWeDgk6B5rCb4E/AM6QNNPbOMIZph21PW5dRB3h7Df0GszN+t7RuUH6sWK5bF0g==";
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.10.tgz";
+      sha512 = "57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -113742,7 +113454,7 @@ in
       sources."enquirer-2.3.6"
       sources."escape-string-regexp-4.0.0"
       sources."eslint-7.29.0"
-      sources."eslint-plugin-vue-7.11.1"
+      sources."eslint-plugin-vue-7.12.1"
       sources."eslint-scope-5.1.1"
       (sources."eslint-utils-2.1.0" // {
         dependencies = [
@@ -113814,7 +113526,7 @@ in
       sources."path-key-3.1.1"
       sources."path-parse-1.0.7"
       sources."prelude-ls-1.2.1"
-      sources."prettier-2.3.1"
+      sources."prettier-2.3.2"
       sources."progress-2.0.3"
       sources."punycode-2.1.1"
       sources."regexpp-3.2.0"
@@ -114076,7 +113788,7 @@ in
       sources."@webpack-cli/serve-1.5.1"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.4.0"
+      sources."acorn-8.4.1"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
       sources."ansi-colors-4.1.1"
@@ -114097,7 +113809,7 @@ in
       sources."buffer-from-1.1.1"
       sources."call-bind-1.0.2"
       sources."camelcase-6.2.0"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001240"
       (sources."chalk-4.1.1" // {
         dependencies = [
           sources."supports-color-7.2.0"
@@ -114137,7 +113849,7 @@ in
       sources."domelementtype-2.2.0"
       sources."domhandler-4.2.0"
       sources."domutils-2.7.0"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.759"
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
       sources."enhanced-resolve-5.8.2"
@@ -114303,13 +114015,17 @@ in
       sources."strip-json-comments-3.1.1"
       sources."supports-color-8.1.1"
       sources."tapable-2.2.0"
-      (sources."terser-5.7.0" // {
+      (sources."terser-5.7.1" // {
         dependencies = [
           sources."commander-2.20.3"
           sources."source-map-0.7.3"
         ];
       })
-      sources."terser-webpack-plugin-5.1.3"
+      (sources."terser-webpack-plugin-5.1.4" // {
+        dependencies = [
+          sources."serialize-javascript-6.0.0"
+        ];
+      })
       sources."tmp-0.0.29"
       sources."to-regex-range-5.0.1"
       (sources."ts-loader-8.3.0" // {
@@ -114641,7 +114357,7 @@ in
       sources."tslib-1.14.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."uglify-js-3.13.9"
+      sources."uglify-js-3.13.10"
       sources."uid-0.0.2"
       sources."unbzip2-stream-1.4.3"
       sources."unyield-0.0.1"
@@ -114700,7 +114416,7 @@ in
       sources."@starptech/rehype-webparser-0.10.0"
       sources."@starptech/webparser-0.10.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/unist-2.0.3"
       sources."@types/vfile-3.0.2"
       sources."@types/vfile-message-2.0.0"
@@ -115625,7 +115341,7 @@ in
       sources."@types/raf-3.4.0"
       sources."abab-2.0.5"
       sources."abbrev-1.1.1"
-      sources."acorn-8.4.0"
+      sources."acorn-8.4.1"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -115681,7 +115397,7 @@ in
       })
       sources."data-urls-2.0.0"
       sources."debug-4.3.2"
-      sources."decimal.js-10.3.0"
+      sources."decimal.js-10.3.1"
       sources."decompress-response-4.2.1"
       sources."deep-is-0.1.3"
       sources."delayed-stream-1.0.0"
@@ -115795,7 +115511,7 @@ in
       sources."webidl-conversions-6.1.0"
       sources."whatwg-encoding-1.0.5"
       sources."whatwg-mimetype-2.3.0"
-      sources."whatwg-url-8.6.0"
+      sources."whatwg-url-8.7.0"
       sources."wide-align-1.1.3"
       sources."word-wrap-1.2.3"
       (sources."wrap-ansi-7.0.0" // {
@@ -115868,7 +115584,7 @@ in
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/minimatch-3.0.4"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/yauzl-2.9.1"
       sources."acorn-7.4.1"
       sources."acorn-jsx-5.3.1"
@@ -116431,7 +116147,7 @@ in
       sources."@types/eslint-scope-3.7.0"
       sources."@types/estree-0.0.47"
       sources."@types/json-schema-7.0.7"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@webassemblyjs/ast-1.11.0"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.0"
       sources."@webassemblyjs/helper-api-error-1.11.0"
@@ -116449,16 +116165,16 @@ in
       sources."@webassemblyjs/wast-printer-1.11.0"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.4.0"
+      sources."acorn-8.4.1"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
       sources."browserslist-4.16.6"
       sources."buffer-from-1.1.1"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001240"
       sources."chrome-trace-event-1.0.3"
       sources."colorette-1.2.2"
       sources."commander-2.20.3"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.759"
       sources."enhanced-resolve-5.8.2"
       sources."es-module-lexer-0.6.0"
       sources."escalade-3.1.1"
@@ -116489,18 +116205,18 @@ in
       sources."randombytes-2.1.0"
       sources."safe-buffer-5.2.1"
       sources."schema-utils-3.0.0"
-      sources."serialize-javascript-5.0.1"
+      sources."serialize-javascript-6.0.0"
       sources."source-list-map-2.0.1"
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.19"
       sources."supports-color-8.1.1"
       sources."tapable-2.2.0"
-      (sources."terser-5.7.0" // {
+      (sources."terser-5.7.1" // {
         dependencies = [
           sources."source-map-0.7.3"
         ];
       })
-      sources."terser-webpack-plugin-5.1.3"
+      sources."terser-webpack-plugin-5.1.4"
       sources."uri-js-4.4.1"
       sources."watchpack-2.2.0"
       sources."webpack-sources-2.3.0"
@@ -116596,7 +116312,7 @@ in
     dependencies = [
       sources."@types/glob-7.1.3"
       sources."@types/minimatch-3.0.4"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."accepts-1.3.7"
       sources."ajv-6.12.6"
       sources."ajv-errors-1.0.1"
@@ -117169,10 +116885,10 @@ in
   copy-webpack-plugin = nodeEnv.buildNodePackage {
     name = "copy-webpack-plugin";
     packageName = "copy-webpack-plugin";
-    version = "9.0.0";
+    version = "9.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.0.tgz";
-      sha512 = "k8UB2jLIb1Jip2nZbCz83T/XfhfjX6mB1yLJNYKrpYi7FQimfOoFv/0//iT6HV1K8FwUB5yUbCcnpLebJXJTug==";
+      url = "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz";
+      sha512 = "14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
@@ -117185,7 +116901,7 @@ in
       sources."braces-3.0.2"
       sources."dir-glob-3.0.1"
       sources."fast-deep-equal-3.1.3"
-      (sources."fast-glob-3.2.5" // {
+      (sources."fast-glob-3.2.6" // {
         dependencies = [
           sources."glob-parent-5.1.2"
         ];
@@ -117213,7 +116929,7 @@ in
       sources."run-parallel-1.2.0"
       sources."safe-buffer-5.2.1"
       sources."schema-utils-3.0.0"
-      sources."serialize-javascript-5.0.1"
+      sources."serialize-javascript-6.0.0"
       sources."slash-3.0.0"
       sources."to-regex-range-5.0.1"
       sources."uri-js-4.4.1"
@@ -117249,7 +116965,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."addr-to-ip-port-1.5.1"
       sources."airplay-js-0.3.0"
       sources."balanced-match-1.0.2"
@@ -117527,7 +117243,7 @@ in
       sources."utp-native-2.5.1"
       sources."videostream-3.2.2"
       sources."vlc-command-1.2.0"
-      (sources."webtorrent-1.0.1" // {
+      (sources."webtorrent-1.0.2" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."decompress-response-6.0.0"
@@ -117678,7 +117394,7 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.7"
-      (sources."@npmcli/arborist-2.6.3" // {
+      (sources."@npmcli/arborist-2.6.4" // {
         dependencies = [
           sources."semver-7.3.5"
         ];
@@ -117704,13 +117420,14 @@ in
       })
       sources."@npmcli/name-from-folder-1.0.1"
       sources."@npmcli/node-gyp-1.0.2"
+      sources."@npmcli/package-json-1.0.1"
       sources."@npmcli/promise-spawn-1.3.2"
       sources."@npmcli/run-script-1.8.5"
       sources."@sindresorhus/is-0.7.0"
       sources."@tootallnate/once-1.1.2"
       sources."@types/expect-1.20.4"
       sources."@types/minimatch-3.0.4"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/vinyl-2.0.4"
       sources."abbrev-1.1.1"
       (sources."agent-base-6.0.2" // {
@@ -117889,7 +117606,7 @@ in
       sources."external-editor-3.1.0"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.11.0"
       sources."figures-2.0.0"
@@ -118606,7 +118323,7 @@ in
       sha512 = "omgqRVve+5dqbFrogFSjJXLUCUr4xHF2Gan+Njn/z4fumhIj3tMTFEA9iV+HgiobZ5Mgl5N96z4S4fwhaas4Pw==";
     };
     dependencies = [
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.12.5"
       sources."@types/node-fetch-2.5.10"
       sources."ansi-styles-4.3.0"
       sources."asynckit-0.4.0"
diff --git a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.1.x.nix b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.x.nix
index ca88fe32416..dab537df221 100644
--- a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.1.x.nix
+++ b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.x.nix
@@ -2,15 +2,15 @@
 
 buildDunePackage rec {
    pname = "ocaml-migrate-parsetree";
-   version = "2.1.0";
+   version = "2.2.0";
 
    useDune2 = true;
 
-   minimumOCamlVersion = "4.02";
+   minimalOCamlVersion = "4.02";
 
    src = fetchurl {
      url = "https://github.com/ocaml-ppx/${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
-     sha256 = "07x7lm45kny0mi0fjvzw51445brm0dgy099cw0gpyly0wj77hyrq";
+     sha256 = "188v3z09bg4gyv80c138fa3a3j2w54w5gc4r1ajw7klr70yqz9mj";
    };
 
    meta = {
diff --git a/pkgs/development/ocaml-modules/ppx_deriving/default.nix b/pkgs/development/ocaml-modules/ppx_deriving/default.nix
index 7d415bd894e..5563e611346 100644
--- a/pkgs/development/ocaml-modules/ppx_deriving/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_deriving/default.nix
@@ -7,7 +7,7 @@
 , result
 , ounit
 , ocaml-migrate-parsetree
-, ocaml-migrate-parsetree-2-1
+, ocaml-migrate-parsetree-2
 }:
 
 let params =
@@ -40,7 +40,7 @@ buildDunePackage rec {
   buildInputs = [ ppxlib cppo ];
   propagatedBuildInputs = [
     (if params.useOMP2
-    then ocaml-migrate-parsetree-2-1
+    then ocaml-migrate-parsetree-2
     else ocaml-migrate-parsetree)
     ppx_derivers
     result
diff --git a/pkgs/development/ocaml-modules/ppxlib/default.nix b/pkgs/development/ocaml-modules/ppxlib/default.nix
index c92992197d2..c4591927e07 100644
--- a/pkgs/development/ocaml-modules/ppxlib/default.nix
+++ b/pkgs/development/ocaml-modules/ppxlib/default.nix
@@ -2,9 +2,9 @@
 , version ?
   if lib.versionAtLeast ocaml.version "4.07"
   then if lib.versionAtLeast ocaml.version "4.08"
-  then "0.22.0" else "0.15.0" else "0.13.0"
+  then "0.22.2" else "0.15.0" else "0.13.0"
 , ocaml-compiler-libs, ocaml-migrate-parsetree, ppx_derivers, stdio
-, stdlib-shims, ocaml-migrate-parsetree-2-1
+, stdlib-shims, ocaml-migrate-parsetree-2
 }:
 
 let param = {
@@ -34,6 +34,10 @@ let param = {
     sha256 = "0kf7lgcwygf6zlx7rwddqpqvasa6v7xiq0bqal8vxlib6lpg074q";
     min_version = "4.07";
   };
+  "0.22.2" = {
+    sha256 = "0fysjqcpv281n52wl3h0dy2lzf9d61wdzk90ldv3p63a4i3mr1j2";
+    min_version = "4.07";
+  };
 }."${version}"; in
 
 if param ? max_version && lib.versionAtLeast ocaml.version param.max_version
@@ -57,7 +61,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [
     ocaml-compiler-libs
     (if param.useOMP2 or true
-     then ocaml-migrate-parsetree-2-1
+     then ocaml-migrate-parsetree-2
      else ocaml-migrate-parsetree)
     ppx_derivers
     stdio
diff --git a/pkgs/development/ocaml-modules/stringext/default.nix b/pkgs/development/ocaml-modules/stringext/default.nix
index ae797815aed..8aaf36baa8b 100644
--- a/pkgs/development/ocaml-modules/stringext/default.nix
+++ b/pkgs/development/ocaml-modules/stringext/default.nix
@@ -1,32 +1,24 @@
-{ stdenv, lib, fetchzip, ocaml, findlib, ocamlbuild, ounit, qcheck
+{ lib, fetchurl, ocaml, buildDunePackage, ounit, qtest
 # Optionally enable tests; test script use OCaml-4.01+ features
-, doCheck ? lib.versionAtLeast (lib.getVersion ocaml) "4.01"
+, doCheck ? lib.versionAtLeast ocaml.version "4.04"
 }:
 
-let version = "1.4.3"; in
+let version = "1.6.0"; in
 
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-stringext-${version}";
-
-  src = fetchzip {
-    url = "https://github.com/rgrinberg/stringext/archive/v${version}.tar.gz";
-    sha256 = "121k79vjazvsd254yg391fp4spsd1p32amccrahd0g6hjhf5w6sl";
+buildDunePackage {
+  pname = "stringext";
+  version = version;
+  useDune2 = true;
+  src = fetchurl {
+    url = "https://github.com/rgrinberg/stringext/releases/download/${version}/stringext-${version}.tbz";
+    sha256 = "1sh6nafi3i9773j5mlwwz3kxfzdjzsfqj2qibxhigawy5vazahfv";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ounit qcheck ];
-
-  configurePhase = "ocaml setup.ml -configure --prefix $out"
-  + lib.optionalString doCheck " --enable-tests";
-  buildPhase = "ocaml setup.ml -build";
+  checkInputs = [ ounit qtest ];
   inherit doCheck;
-  checkPhase = "ocaml setup.ml -test";
-  installPhase = "ocaml setup.ml -install";
-
-  createFindlibDestdir = true;
 
   meta = {
     homepage = "https://github.com/rgrinberg/stringext";
-    platforms = ocaml.meta.platforms or [];
     description = "Extra string functions for OCaml";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ vbgl ];
diff --git a/pkgs/development/ocaml-modules/torch/default.nix b/pkgs/development/ocaml-modules/torch/default.nix
index 5f59b4ae056..4126e330486 100644
--- a/pkgs/development/ocaml-modules/torch/default.nix
+++ b/pkgs/development/ocaml-modules/torch/default.nix
@@ -56,5 +56,6 @@ buildDunePackage rec {
     description = "Ocaml bindings to Pytorch";
     maintainers = [ maintainers.bcdarwin ];
     license = licenses.asl20;
+    broken = true;
   };
 }
diff --git a/pkgs/development/perl-modules/strip-nondeterminism/default.nix b/pkgs/development/perl-modules/strip-nondeterminism/default.nix
index 20463ed2425..bdbd1a81643 100644
--- a/pkgs/development/perl-modules/strip-nondeterminism/default.nix
+++ b/pkgs/development/perl-modules/strip-nondeterminism/default.nix
@@ -18,7 +18,8 @@ buildPerlPackage rec {
   doCheck = false;
 
   nativeBuildInputs = lib.optionals stdenv.isDarwin [ shortenPerlShebang ];
-  buildInputs = [ ArchiveZip ArchiveCpio file ];
+  buildInputs = [ ArchiveZip ArchiveCpio ];
+  propagatedNativeBuildInputs = [ file ];
 
   perlPostHook = ''
     # we don’t need the debhelper script
diff --git a/pkgs/development/php-packages/event/default.nix b/pkgs/development/php-packages/event/default.nix
index 727543e6ee6..ed23bcc4b0b 100644
--- a/pkgs/development/php-packages/event/default.nix
+++ b/pkgs/development/php-packages/event/default.nix
@@ -2,8 +2,8 @@
 buildPecl {
   pname = "event";
 
-  version = "3.0.4";
-  sha256 = "13yb3zvlx43cncawymiwbqyz8gzpq1g03vd0xjlw9vz75b4mwn1x";
+  version = "3.0.5";
+  sha256 = "0q5a83mcl97cyry5rd85j5xsjvflnki6s5cm56igjm0szxvgj39c";
 
   configureFlags = [
     "--with-event-libevent-dir=${libevent.dev}"
diff --git a/pkgs/development/php-packages/igbinary/default.nix b/pkgs/development/php-packages/igbinary/default.nix
index caedac9acdf..258b0debbae 100644
--- a/pkgs/development/php-packages/igbinary/default.nix
+++ b/pkgs/development/php-packages/igbinary/default.nix
@@ -3,8 +3,8 @@
 buildPecl {
   pname = "igbinary";
 
-  version = "3.2.2";
-  sha256 = "0321pb0298fa67qwj5nhhabkjiaxna5mag15ljyrqzpivimvny92";
+  version = "3.2.3";
+  sha256 = "1ffaqhckkk1qr5dk1fl7f8dm2w4lj4gqrgazzmc67acsdmp7z5f0";
 
   configureFlags = [ "--enable-igbinary" ];
   makeFlags = [ "phpincludedir=$(dev)/include" ];
diff --git a/pkgs/development/php-packages/imagick/default.nix b/pkgs/development/php-packages/imagick/default.nix
index 1af4f1a23b4..7da324b2e1a 100644
--- a/pkgs/development/php-packages/imagick/default.nix
+++ b/pkgs/development/php-packages/imagick/default.nix
@@ -1,23 +1,10 @@
-{ buildPecl, fetchpatch, lib, imagemagick, pkg-config, pcre2 }:
+{ buildPecl, lib, imagemagick, pkg-config, pcre2 }:
 
 buildPecl {
   pname = "imagick";
 
-  version = "3.4.4";
-  sha256 = "0xvhaqny1v796ywx83w7jyjyd0nrxkxf34w9zi8qc8aw8qbammcd";
-
-  patches = [
-    # Fix compatibility with PHP 8.
-    (fetchpatch {
-      url = "https://github.com/Imagick/imagick/pull/336.patch";
-      sha256 = "nuRdh02qaMx0s/5OzlfWjyYgZG1zgrYnAjsZ/UVIrUM=";
-    })
-    # Fix detection of ImageMagick 7.
-    (fetchpatch {
-      url = "https://github.com/Imagick/imagick/commit/09551fbf38c16cdaf4ade7c08744501cd82d2747.patch";
-      sha256 = "qUeQHP08kKOzuQdEpR8RSZ18Yhi0U9z24KwQcAx1UVg=";
-    })
-  ];
+  version = "3.5.0";
+  sha256 = "0afjyll6rr79am6d1p041bl4dj44hp9z4gzmlhrkvkdsdz1vfpbr";
 
   configureFlags = [ "--with-imagick=${imagemagick.dev}" ];
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/php-packages/mongodb/default.nix b/pkgs/development/php-packages/mongodb/default.nix
index bec701a7fc5..b65862750e7 100644
--- a/pkgs/development/php-packages/mongodb/default.nix
+++ b/pkgs/development/php-packages/mongodb/default.nix
@@ -1,5 +1,15 @@
-{ stdenv, buildPecl, lib, pcre2, pkg-config, cyrus_sasl, icu64
-, openssl, snappy, zlib, darwin }:
+{ stdenv
+, buildPecl
+, lib
+, pcre2
+, pkg-config
+, cyrus_sasl
+, icu64
+, openssl
+, snappy
+, zlib
+, darwin
+}:
 
 buildPecl {
   pname = "mongodb";
diff --git a/pkgs/development/php-packages/php-cs-fixer/default.nix b/pkgs/development/php-packages/php-cs-fixer/default.nix
index c2e6a1292c7..0c76ff56a60 100644
--- a/pkgs/development/php-packages/php-cs-fixer/default.nix
+++ b/pkgs/development/php-packages/php-cs-fixer/default.nix
@@ -1,14 +1,14 @@
 { mkDerivation, fetchurl, makeWrapper, lib, php }:
 let
   pname = "php-cs-fixer";
-  version = "2.18.4";
+  version = "3.0.0";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar";
-    sha256 = "sha256-ZgnWv7Xd+0XgZ/IPdjVpAEraNNJq2KHB3aUUIG1SirU=";
+    sha256 = "141rkcr0wbsqnc4s5vg4bk4dmxwigwxa3j0vi5c42b5k1lq3sgwr";
   };
 
   phases = [ "installPhase" ];
diff --git a/pkgs/development/php-packages/phpstan/default.nix b/pkgs/development/php-packages/phpstan/default.nix
index 902529806a3..048ae71ff29 100644
--- a/pkgs/development/php-packages/phpstan/default.nix
+++ b/pkgs/development/php-packages/phpstan/default.nix
@@ -1,14 +1,14 @@
 { mkDerivation, fetchurl, makeWrapper, lib, php }:
 let
   pname = "phpstan";
-  version = "0.12.82";
+  version = "0.12.90";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
-    sha256 = "sha256-fX7YK4z6xUhSJ2jTCy7bRK13TxXSn/qo7E5DeZlv2Nw=";
+    sha256 = "0f8858w9b421s3dfz8a56g0mik4zyi1lp88lijw4zs2d94dcdl9s";
   };
 
   phases = [ "installPhase" ];
diff --git a/pkgs/development/php-packages/protobuf/default.nix b/pkgs/development/php-packages/protobuf/default.nix
index 11db92e92e0..87007b1ea12 100644
--- a/pkgs/development/php-packages/protobuf/default.nix
+++ b/pkgs/development/php-packages/protobuf/default.nix
@@ -3,8 +3,8 @@
 buildPecl {
   pname = "protobuf";
 
-  version = "3.17.2";
-  sha256 = "0i4npj4sl8ihkzxc6m3vv3nlqk952z9bfwnrk90a9yakw5gfhlz5";
+  version = "3.17.3";
+  sha256 = "05nn6ps271vwrbr9w08lyyzsszabnqhz1x0vbblg0q8y2xrmb6dl";
 
   buildInputs = [ pcre2 ];
 
diff --git a/pkgs/development/php-packages/psalm/default.nix b/pkgs/development/php-packages/psalm/default.nix
index 01160fc35fe..b5c5550806f 100644
--- a/pkgs/development/php-packages/psalm/default.nix
+++ b/pkgs/development/php-packages/psalm/default.nix
@@ -1,14 +1,14 @@
 { mkDerivation, fetchurl, makeWrapper, lib, php }:
 let
   pname = "psalm";
-  version = "4.6.1";
+  version = "4.7.3";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/vimeo/psalm/releases/download/${version}/psalm.phar";
-    sha256 = "sha256-YFeTSIfZ2u1KmpoKV5I7pMMvCk3u5ILktsunvoDnBsg=";
+    sha256 = "0d8gxkpm4rc00a8br5wzjpglkwx95kr15s4z3cvxyf6iik1j5r47";
   };
 
   phases = [ "installPhase" ];
diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
index adb72d0cd03..11413059533 100644
--- a/pkgs/development/python-modules/adafruit-platformdetect/default.nix
+++ b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "adafruit-platformdetect";
-  version = "3.14.0";
+  version = "3.14.2";
 
   src = fetchPypi {
     pname = "Adafruit-PlatformDetect";
     inherit version;
-    sha256 = "1v33546cflsbm6k8mhmi1r5c8fqjlirvzmf62a604xns8wrxb88h";
+    sha256 = "sha256-SFqSTNKZMETRf9RxSD6skzAVpxepmW+JG/gqZgFX06A=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/adafruit-pureio/default.nix b/pkgs/development/python-modules/adafruit-pureio/default.nix
index 36bafb0f7a0..d3712ba46c2 100644
--- a/pkgs/development/python-modules/adafruit-pureio/default.nix
+++ b/pkgs/development/python-modules/adafruit-pureio/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "Adafruit-PureIO";
-  version = "1.1.8";
+  version = "1.1.9";
 
   src = fetchPypi {
     pname = "Adafruit_PureIO";
     inherit version;
-    sha256 = "1mfa6sfz7qwgajz3lqw0s69ivvwbwvblwkjzbrwdrxjbma4jaw66";
+    sha256 = "0yd8hw676s7plq75gac4z0ilfcfydjkk3wv76bc73xy70zxj5brc";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/adblock/default.nix b/pkgs/development/python-modules/adblock/default.nix
index 186e2e9e443..2763684c0d4 100644
--- a/pkgs/development/python-modules/adblock/default.nix
+++ b/pkgs/development/python-modules/adblock/default.nix
@@ -12,12 +12,11 @@
 , Security
 , pytestCheckHook
 , toml
-, python
 }:
 
 buildPythonPackage rec {
   pname = "adblock";
-  version = "0.4.4";
+  version = "0.5.0";
   disabled = isPy27;
 
   # Pypi only has binary releases
@@ -25,13 +24,13 @@ buildPythonPackage rec {
     owner = "ArniDagur";
     repo = "python-adblock";
     rev = version;
-    sha256 = "sha256-zNQ8zEpTLzyU5AnFBNpOGDJ02Ogu2+xl85LA+ia7Si4=";
+    sha256 = "sha256-JjmMfL24778T6LCuElXsD7cJxQ+RkqbNEnEqwoN24WE=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-ajVZ0xPxC31hM1gQr3DC1HWdpIYBCSmqm0z2cflcClg=";
+    hash = "sha256-w+/W4T3ukRHNpCPjhlHZLPn6sgCpz4QHVD8VW+Rw5BI=";
   };
 
   format = "pyproject";
diff --git a/pkgs/development/python-modules/aiocoap/default.nix b/pkgs/development/python-modules/aiocoap/default.nix
index dd74a21bf9b..e169b886f88 100644
--- a/pkgs/development/python-modules/aiocoap/default.nix
+++ b/pkgs/development/python-modules/aiocoap/default.nix
@@ -1,24 +1,42 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, python
+, pytestCheckHook
+, pygments
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "aiocoap";
-  version = "0.4b3";
+  version = "0.4.1";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "chrysn";
     repo = pname;
     rev = version;
-    sha256 = "1zjg475xgvi19rqg7jmfgy5nfabq50aph0231p9jba211ps7cmxw";
+    sha256 = "0k7ii2l3n139f8712ja6w3z73xiwlfsjgdc4k5c514ni2w6w2yjc";
   };
 
-  checkPhase = ''
-    ${python.interpreter} -m aiocoap.cli.defaults
-    ${python.interpreter} -m unittest discover -v
-  '';
+  propagatedBuildInputs = [
+    pygments
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    # Don't test the plugins
+    "tests/test_tls.py"
+    "tests/test_reverseproxy.py"
+    "tests/test_oscore_plugtest.py"
+  ];
+
+  disabledTests = [
+    # Communication is not properly mocked
+    "test_uri_parser"
+  ];
 
   pythonImportsCheck = [ "aiocoap" ];
 
diff --git a/pkgs/development/python-modules/aiohomekit/default.nix b/pkgs/development/python-modules/aiohomekit/default.nix
index a94cdf865b0..f1c018989c2 100644
--- a/pkgs/development/python-modules/aiohomekit/default.nix
+++ b/pkgs/development/python-modules/aiohomekit/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "aiohomekit";
-  version = "0.2.67";
+  version = "0.3.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "Jc2k";
     repo = pname;
     rev = version;
-    sha256 = "04421p0dq7xh7rhx8ip177g2b91lhlc2yziqxbs9yxd1qyzwiqj1";
+    sha256 = "sha256-chRUQyCDXW4of0XBdmKuQEzUE3Gt4A2uGlPNy+oEoco=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aiomodernforms/default.nix b/pkgs/development/python-modules/aiomodernforms/default.nix
new file mode 100644
index 00000000000..ef3f86ad331
--- /dev/null
+++ b/pkgs/development/python-modules/aiomodernforms/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, aiohttp
+, backoff
+, yarl
+, aresponses
+, pytest-asyncio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "aiomodernforms";
+  version = "0.1.8";
+
+  src = fetchFromGitHub {
+    owner = "wonderslug";
+    repo = "aiomodernforms";
+    rev = "v${version}";
+    sha256 = "sha256-Vx51WBjjNPIfLlwMnAuwHnGNljhnjKkU0tWB9M9rjsw=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    backoff
+    yarl
+  ];
+
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "aiomodernforms" ];
+
+  meta = with lib; {
+    description = "Asynchronous Python client for Modern Forms fans";
+    homepage = "https://github.com/wonderslug/aiomodernforms";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiomusiccast/default.nix b/pkgs/development/python-modules/aiomusiccast/default.nix
new file mode 100644
index 00000000000..921bfbac646
--- /dev/null
+++ b/pkgs/development/python-modules/aiomusiccast/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, poetry-core
+, aiohttp
+}:
+
+buildPythonPackage rec {
+  pname = "aiomusiccast";
+  version = "0.8.0";
+
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "vigonotion";
+    repo = "aiomusiccast";
+    rev = version;
+    sha256 = "1x55w2vhb5mgvlg19cs887xd7fg0cwnp6hb34vajp80q4yff9xk5";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # upstream has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "aiomusiccast" ];
+
+  meta = with lib; {
+    description = "Companion library for musiccast devices intended for the Home Assistant integration";
+    homepage = "https://github.com/vigonotion/aiomusiccast";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiosignal/default.nix b/pkgs/development/python-modules/aiosignal/default.nix
index 9b9ef3b12ae..9d919becd43 100644
--- a/pkgs/development/python-modules/aiosignal/default.nix
+++ b/pkgs/development/python-modules/aiosignal/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "aiosignal";
-  version = "1.1.1";
+  version = "1.1.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "aio-libs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0a9md2dy83qwg2an57nqrzp9nb7krq27y9zz0f7qxcrv0xd42djy";
+    sha256 = "1gyvisccx25py85wwwlljai5qa20jvwyvacgrgkk1h18dkc262fw";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/alpha-vantage/default.nix b/pkgs/development/python-modules/alpha-vantage/default.nix
new file mode 100644
index 00000000000..7a67f9d6b0d
--- /dev/null
+++ b/pkgs/development/python-modules/alpha-vantage/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, aiohttp
+, aioresponses
+, buildPythonPackage
+, fetchFromGitHub
+, pandas
+, pytestCheckHook
+, requests
+, requests-mock
+}:
+
+buildPythonPackage rec {
+  pname = "alpha-vantage";
+  version = "2.3.1";
+
+  src = fetchFromGitHub {
+    owner = "RomelTorres";
+    repo = "alpha_vantage";
+    rev = version;
+    sha256 = "0cyw6zw7c7r076rmhnmg905ihwb9r7g511n6gdlph06v74pdls8d";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    requests
+  ];
+
+  checkInputs = [
+    aioresponses
+    requests-mock
+    pandas
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    # Tests require network access
+    "test_alpha_vantage/test_integration_alphavantage.py"
+    "test_alpha_vantage/test_integration_alphavantage_async.py"
+  ];
+
+  pythonImportsCheck = [ "alpha_vantage" ];
+
+  meta = with lib; {
+    description = "Python module for the Alpha Vantage API";
+    homepage = "https://github.com/RomelTorres/alpha_vantage";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/async-dns/default.nix b/pkgs/development/python-modules/async-dns/default.nix
index fdf240f5ba9..3067269aac9 100644
--- a/pkgs/development/python-modules/async-dns/default.nix
+++ b/pkgs/development/python-modules/async-dns/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , poetry-core
 , python
 , pythonOlder
@@ -9,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "async-dns";
-  version = "1.1.9";
+  version = "1.1.10";
   disabled = pythonOlder "3.6";
   format = "pyproject";
 
@@ -17,23 +16,13 @@ buildPythonPackage rec {
     owner = "gera2ld";
     repo = "async_dns";
     rev = "v${version}";
-    sha256 = "1z8j0s3dwcyavarhx41q75k1cmfzmwiqdh4svv3v15np26cywyag";
+    sha256 = "1yxmdlf2n66kp2mprsd4bvfsf63l4c4cfkjm2rm063pmlifz2fvj";
   };
 
   nativeBuildInputs = [
     poetry-core
   ];
 
-  patches = [
-    # Switch to poetry-core, https://github.com/gera2ld/async_dns/pull/22
-    # Can be remove for async-dns>1.1.9
-    (fetchpatch {
-      name = "switch-to-poetry-core.patch";
-      url = "https://github.com/gera2ld/async_dns/commit/25fee497aae3bde0ddf9f8804d249a27edbe607e.patch";
-      sha256 = "0w4zlppnp1a2q1wasc95ymqx3djswl32y5nw6fvz3nn8jg4gc743";
-    })
-  ];
-
   checkPhase = ''
     export HOME=$TMPDIR
     # Test needs network access
diff --git a/pkgs/development/python-modules/asyncstdlib/default.nix b/pkgs/development/python-modules/asyncstdlib/default.nix
index 63e096bdc0f..dc68584d668 100644
--- a/pkgs/development/python-modules/asyncstdlib/default.nix
+++ b/pkgs/development/python-modules/asyncstdlib/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "asyncstdlib";
-  version = "3.9.1";
+  version = "3.9.2";
   disabled = pythonOlder "3.7";
   format = "flit";
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "maxfischer2781";
     repo = pname;
     rev = "v${version}";
-    sha256 = "13ranr7zi61w52vfrxwkf32bbhk88j0r5c5z2x2h5vw268001lk2";
+    sha256 = "04z0x2n4a7503h6xf853p7if218magi98x397648wb21l4gh3zwv";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bizkaibus/default.nix b/pkgs/development/python-modules/bizkaibus/default.nix
new file mode 100644
index 00000000000..7de8f2ca223
--- /dev/null
+++ b/pkgs/development/python-modules/bizkaibus/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, requests
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "bizkaibus";
+  version = "0.1.4";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "UgaitzEtxebarria";
+    repo = "BizkaibusRTPI";
+    rev = version;
+    sha256 = "1v7k9fclndb4x9npzhzj68kbrc3lb3wr6cwal2x46ib207593ckr";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "bizkaibus" ];
+
+  meta = with lib; {
+    description = "Python module to get information about Bizkaibus buses";
+    homepage = "https://github.com/UgaitzEtxebarria/BizkaibusRTPI";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/debian-inspector/default.nix b/pkgs/development/python-modules/debian-inspector/default.nix
index 8064a35ffee..e19694bcf9c 100644
--- a/pkgs/development/python-modules/debian-inspector/default.nix
+++ b/pkgs/development/python-modules/debian-inspector/default.nix
@@ -2,30 +2,25 @@
 , buildPythonPackage
 , fetchPypi
 , pythonAtLeast
-, fetchpatch
 , chardet
 , attrs
 , commoncode
 , pytestCheckHook
+, setuptools-scm
 }:
+
 buildPythonPackage rec {
   pname = "debian-inspector";
-  version = "0.9.10";
+  version = "21.5.25";
 
   src = fetchPypi {
     pname = "debian_inspector";
     inherit version;
-    sha256 = "fd29a02b925a4de0d7bb00c29bb05f19715a304bc10ef7b9ad06a93893dc3a8c";
+    sha256 = "1d3xaqw00kav85nk29qm2yqb73bkyqf185fs1q0vgd7bnap9wqaw";
   };
 
-  patches = lib.optionals (pythonAtLeast "3.9") [
-    # https://github.com/nexB/debian-inspector/pull/15
-    # fixes tests on Python 3.9
-    (fetchpatch {
-      name = "drop-encoding-argument.patch";
-      url = "https://github.com/nexB/debian-inspector/commit/ff991cdb788671ca9b81f1602b70a439248fd1aa.patch";
-      sha256 = "bm3k7vb9+Rm6+YicQEeDOOUVut8xpDaNavG+t2oLZkI=";
-    })
+  nativeBuildInputs = [
+    setuptools-scm
   ];
 
   dontConfigure = true;
diff --git a/pkgs/development/python-modules/dtlssocket/default.nix b/pkgs/development/python-modules/dtlssocket/default.nix
new file mode 100644
index 00000000000..28eae55ef9a
--- /dev/null
+++ b/pkgs/development/python-modules/dtlssocket/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, autoconf
+, cython
+}:
+
+buildPythonPackage rec {
+  pname = "dtlssocket";
+  version = "0.1.12";
+
+  src = fetchPypi {
+    pname = "DTLSSocket";
+    inherit version;
+    sha256 = "909a8f52f1890ec9e92fd46ef609daa8875c2a1c262c0b61200e73c6c2dd5099";
+  };
+
+  nativeBuildInputs = [
+    autoconf
+    cython
+  ];
+
+  # no tests on PyPI, no tags on GitLab
+  doCheck = false;
+
+  pythonImportsCheck = [ "DTLSSocket" ];
+
+  meta = with lib; {
+    description = "Cython wrapper for tinydtls with a Socket like interface";
+    homepage = "https://git.fslab.de/jkonra2m/tinydtls-cython";
+    license = licenses.epl10;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/enturclient/default.nix b/pkgs/development/python-modules/enturclient/default.nix
index 8ac474b6e5f..f98b38396ef 100644
--- a/pkgs/development/python-modules/enturclient/default.nix
+++ b/pkgs/development/python-modules/enturclient/default.nix
@@ -3,21 +3,27 @@
 , async-timeout
 , buildPythonPackage
 , fetchFromGitHub
+, poetry-core
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "enturclient";
-  version = "0.2.1";
-  disabled = pythonOlder "3.7";
+  version = "0.2.2";
+  disabled = pythonOlder "3.8";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "hfurubotten";
     repo = pname;
     rev = "v${version}";
-    sha256 = "158xzv9c2drjgrdhfqm0xzx2d34v45gr5rnjfsi94scffvprgwrg";
+    sha256 = "1kl44ch8p31pr70yv6na2m0w40frackdwzph9rpb05sc83va701i";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     async-timeout
diff --git a/pkgs/development/python-modules/env-canada/default.nix b/pkgs/development/python-modules/env-canada/default.nix
new file mode 100644
index 00000000000..3beb01e3b13
--- /dev/null
+++ b/pkgs/development/python-modules/env-canada/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, geopy
+, imageio
+, pillow
+, pytestCheckHook
+, python-dateutil
+}:
+
+buildPythonPackage rec {
+  pname = "env-canada";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "michaeldavie";
+    repo = "env_canada";
+    rev = "v${version}";
+    sha256 = "0y4yjzmg6ns7a13j1cxqvrff4fd6k97cpc1xjwqrwp7gq49rzhy7";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    geopy
+    imageio
+    pillow
+    python-dateutil
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Tests require network access
+    "test_get_aqhi_regions"
+    "test_update"
+    "test_get_hydro_sites"
+    "test_echydro"
+    "test_get_dimensions"
+    "test_get_latest_frame"
+    "test_get_loop"
+    "test_get_ec_sites"
+  ];
+
+  pythonImportsCheck = [ "env_canada" ];
+
+  meta = with lib; {
+    description = "Python library to get Environment Canada weather data";
+    homepage = "https://github.com/michaeldavie/env_canada";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/extractcode/7z.nix b/pkgs/development/python-modules/extractcode/7z.nix
index e3318b426ec..be6fcde55c2 100644
--- a/pkgs/development/python-modules/extractcode/7z.nix
+++ b/pkgs/development/python-modules/extractcode/7z.nix
@@ -4,15 +4,16 @@
 , plugincode
 , p7zip
 }:
+
 buildPythonPackage rec {
   pname = "extractcode-7z";
-  version = "21.4.4";
+  version = "21.5.31";
 
   src = fetchFromGitHub {
     owner = "nexB";
     repo = "scancode-plugins";
     rev = "v${version}";
-    sha256 = "xnUGDMS34iMVMGo/nZwRarGzzbj3X4Rt+YHvvKpmy6A=";
+    sha256 = "02qinla281fc6pmg5xzsrmqnf9js76f2qcbf98zq7m2dkn70as4w";
   };
 
   sourceRoot = "source/builtins/extractcode_7z-linux";
diff --git a/pkgs/development/python-modules/extractcode/libarchive.nix b/pkgs/development/python-modules/extractcode/libarchive.nix
index 8e89c3d6a8e..2cff60f3d81 100644
--- a/pkgs/development/python-modules/extractcode/libarchive.nix
+++ b/pkgs/development/python-modules/extractcode/libarchive.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "extractcode-libarchive";
-  version = "21.4.4";
+  version = "21.5.31";
 
   src = fetchFromGitHub {
     owner = "nexB";
     repo = "scancode-plugins";
     rev = "v${version}";
-    sha256 = "xnUGDMS34iMVMGo/nZwRarGzzbj3X4Rt+YHvvKpmy6A=";
+    sha256 = "02qinla281fc6pmg5xzsrmqnf9js76f2qcbf98zq7m2dkn70as4w";
   };
 
   sourceRoot = "source/builtins/extractcode_libarchive-linux";
diff --git a/pkgs/development/python-modules/fordpass/default.nix b/pkgs/development/python-modules/fordpass/default.nix
new file mode 100644
index 00000000000..d3120e7bb6f
--- /dev/null
+++ b/pkgs/development/python-modules/fordpass/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, requests
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "fordpass";
+  version = "0.0.4";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "clarkd";
+    repo = "fordpass-python";
+    rev = version;
+    sha256 = "0i1dlswxc2bv1smc5d4r1adbxbl7sgr1swh2cjfajp73vs43xa0m";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "fordpass" ];
+
+  meta = with lib; {
+    description = "Python module for the FordPass API";
+    homepage = "https://github.com/clarkd/fordpass-python";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/forecast-solar/default.nix b/pkgs/development/python-modules/forecast-solar/default.nix
new file mode 100644
index 00000000000..91b9ce3da00
--- /dev/null
+++ b/pkgs/development/python-modules/forecast-solar/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, aiodns
+, aiohttp
+}:
+
+buildPythonPackage rec {
+  pname = "forecast-solar";
+  version = "1.3.1";
+
+  src = fetchFromGitHub {
+    owner = "home-assistant-libs";
+    repo = "forecast_solar";
+    rev = version;
+    sha256 = "1kqzr1ypvdjw0zvac4spb6xdd2qpms9h8nr6vf0w9qx756ir0f95";
+  };
+
+  propagatedBuildInputs = [
+    aiodns
+    aiohttp
+  ];
+
+  # no unit tests implemented
+  doCheck = false;
+
+  pythonImportsCheck = [ "forecast_solar" ];
+
+  meta = with lib; {
+    description = "Asynchronous Python client for getting forecast solar information";
+    homepage = "https://github.com/home-assistant-libs/forecast_solar";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/geopandas/default.nix b/pkgs/development/python-modules/geopandas/default.nix
index 70963a85d41..7bd45a2b46e 100644
--- a/pkgs/development/python-modules/geopandas/default.nix
+++ b/pkgs/development/python-modules/geopandas/default.nix
@@ -1,45 +1,33 @@
-{ lib, stdenv, buildPythonPackage, fetchFromGitHub, isPy27
-, pandas, shapely, fiona, descartes, pyproj
-, pytestCheckHook, Rtree, fetchpatch }:
+{ lib, stdenv, buildPythonPackage, fetchFromGitHub, pythonOlder
+, pandas, shapely, fiona, pyproj
+, pytestCheckHook, Rtree }:
 
 buildPythonPackage rec {
   pname = "geopandas";
-  version = "0.8.1";
-  disabled = isPy27;
+  version = "0.9.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "geopandas";
     repo = "geopandas";
     rev = "v${version}";
-    sha256 = "0618p0s0biisxk2s0h43hkc3bs1nwjk84rxbfyd6brfvs9yx4vq7";
+    sha256 = "sha256-58X562OkRzZ4UTNMTwXW4U5czoa5tbSMBCcE90DqbaE=";
   };
 
-  patches = [
-    # Fix for test test_numerical_operations: https://github.com/geopandas/geopandas/issues/1541
-    (fetchpatch {
-      url = "https://github.com/geopandas/geopandas/pull/1544/commits/6ce868a33a2f483b071089d51e178030fa4414d0.patch";
-      sha256 = "1sjgxrqgbhz5krx51hrv230ywszcdl6z8q3bj6830kfad8n8b5dq";
-    })
-    # Fix GeoJSON for Fiona>=1.8.16 (Sep. 7, 2020).
-    # https://github.com/geopandas/geopandas/issues/1606
-    # Will be included in next upstream release after 0.8.1
-    (fetchpatch {
-      url = "https://github.com/geopandas/geopandas/commit/72427d3d8c128039bfce1d54a76c0b652887b276.patch";
-      sha256 = "1726mrpddgmba0ngff73a5bsb6ywpsg63a2pdd2grp9339bgvi4a";
-    })
-  ];
-
   propagatedBuildInputs = [
     pandas
     shapely
     fiona
-    descartes
     pyproj
   ];
 
   doCheck = !stdenv.isDarwin;
   checkInputs = [ pytestCheckHook Rtree ];
-  disabledTests = [ "web" ];
+  disabledTests = [
+    # requires network access
+    "test_read_file_remote_geojson_url"
+    "test_read_file_remote_zipfile_url"
+  ];
   pytestFlagsArray = [ "geopandas" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/guppy3/default.nix b/pkgs/development/python-modules/guppy3/default.nix
index 578f979914c..b9db312d871 100644
--- a/pkgs/development/python-modules/guppy3/default.nix
+++ b/pkgs/development/python-modules/guppy3/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "guppy3";
-  version = "3.1.0";
+  version = "3.1.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "zhuyifei1999";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0yjsn8najbic4f50nj6jzhzrhj1bw6918w0gihdkzhqynwgqi64m";
+    sha256 = "14iwah1i4dcn74zjj9sq3av1yh9q5nvgqwccnn71blp7gxcnxnvh";
   };
 
   propagatedBuildInputs = [ tkinter ];
diff --git a/pkgs/development/python-modules/hass-nabucasa/default.nix b/pkgs/development/python-modules/hass-nabucasa/default.nix
index f69f140017e..201337ef771 100644
--- a/pkgs/development/python-modules/hass-nabucasa/default.nix
+++ b/pkgs/development/python-modules/hass-nabucasa/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "hass-nabucasa";
-  version = "0.43.1";
+  version = "0.44.0";
 
   src = fetchFromGitHub {
     owner = "nabucasa";
     repo = pname;
     rev = version;
-    sha256 = "sha256-eQdbAQRKqnJGxnSTkk3gld9TX9MpP3J8LFNYH6peVIY=";
+    sha256 = "sha256-cfKuqkIgmbo7/kUIpJFbckyQ0uDrxXmdsI7qORX0PWc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hikvision/default.nix b/pkgs/development/python-modules/hikvision/default.nix
new file mode 100644
index 00000000000..274157c9616
--- /dev/null
+++ b/pkgs/development/python-modules/hikvision/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "hikvision";
+  version = "2.0.4";
+
+  src = fetchFromGitHub {
+    owner = "fbradyirl";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1l0zvir4hf1pcwwcmrhkspbdljzmi4lknxar5bkipdanpsm588mn";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "hikvision.api" ];
+
+  meta = with lib; {
+    description = "Python module for interacting with Hikvision IP Cameras";
+    homepage = "https://github.com/fbradyirl/hikvision";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/hstspreload/default.nix b/pkgs/development/python-modules/hstspreload/default.nix
index 7d509d31b2b..e6a3837522e 100644
--- a/pkgs/development/python-modules/hstspreload/default.nix
+++ b/pkgs/development/python-modules/hstspreload/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "hstspreload";
-  version = "2021.6.21";
+  version = "2021.6.28";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "sethmlarson";
     repo = pname;
     rev = version;
-    sha256 = "sha256-mo3DqEiuieCSM5d3Z+tKvtmazlh53pgsM4bkawSvuSM=";
+    sha256 = "sha256-SZGyn79R3+IwtoZ+khgFnl0WosRoCcKNk8efGxbOugc=";
   };
 
   # tests require network connection
diff --git a/pkgs/development/python-modules/lmnotify/default.nix b/pkgs/development/python-modules/lmnotify/default.nix
new file mode 100644
index 00000000000..340e8386a0e
--- /dev/null
+++ b/pkgs/development/python-modules/lmnotify/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, oauthlib
+, requests
+, requests_oauthlib
+}:
+
+buildPythonPackage rec {
+  pname = "lmnotify";
+  version = "0.0.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1l0h4yab7ix8psf65iygc1wy5xwq3v2rwwjixvd8rwk46d2477dx";
+  };
+
+  propagatedBuildInputs = [ oauthlib requests requests_oauthlib ];
+
+  doCheck = false; # no tests exist
+
+  pythonImportsCheck = [ "lmnotify" ];
+
+  meta = with lib; {
+    description = "Python package for sending notifications to LaMetric Time";
+    homepage = "https://github.com/keans/lmnotify";
+    maintainers = with maintainers; [ rhoriguchi ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/maestral/default.nix b/pkgs/development/python-modules/maestral/default.nix
index 86794cba4d1..d974038e7b0 100644
--- a/pkgs/development/python-modules/maestral/default.nix
+++ b/pkgs/development/python-modules/maestral/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "maestral";
-  version = "1.4.4";
+  version = "1.4.5";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "SamSchott";
     repo = "maestral";
     rev = "v${version}";
-    sha256 = "03scg4y13jbi8n454hc4vq8p02isbhppqx0zhbady639p7l3ggfg";
+    sha256 = "sha256-kyOBF+qsl/+9u0P+EmfxbuJNGMqPSLCWJUlcZMyKJH4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/malduck/default.nix b/pkgs/development/python-modules/malduck/default.nix
index a9a8419a04d..1b757a144cc 100644
--- a/pkgs/development/python-modules/malduck/default.nix
+++ b/pkgs/development/python-modules/malduck/default.nix
@@ -35,8 +35,14 @@ buildPythonPackage rec {
     yara-python
   ];
 
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "pefile==2019.4.18" "pefile"
+  '';
+
   # Project has no tests. They will come with the next release
   doCheck = false;
+
   pythonImportsCheck = [ "malduck" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/matrix-nio/default.nix b/pkgs/development/python-modules/matrix-nio/default.nix
index 4fad524bfa7..d16260dd57e 100644
--- a/pkgs/development/python-modules/matrix-nio/default.nix
+++ b/pkgs/development/python-modules/matrix-nio/default.nix
@@ -28,14 +28,14 @@
 
 buildPythonPackage rec {
   pname = "matrix-nio";
-  version = "0.18.1";
+  version = "0.18.3";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "poljar";
     repo = "matrix-nio";
     rev = version;
-    sha256 = "QHNirglqSxGMmbST96LUp9MHoGj0yAwLoTRlsbMqwaM=";
+    sha256 = "1sjdqzlk8vgv0748ayhnadw1bip3i4bfga4knb94cfkd3s4rgb39";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/mcstatus/default.nix b/pkgs/development/python-modules/mcstatus/default.nix
index 43906cd95aa..895485cd72c 100644
--- a/pkgs/development/python-modules/mcstatus/default.nix
+++ b/pkgs/development/python-modules/mcstatus/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "mcstatus";
-  version = "6.1.0";
+  version = "6.1.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "Dinnerbone";
     repo = pname;
     rev = "v${version}";
-    sha256 = "068dc2ilw1kkvw394vqhqgkia5smnvzaca5zbdd2xyl3nch3rk4x";
+    sha256 = "sha256-RSxysVIP/niQh8WRSk6Z9TSz/W97PkPYIR0NXIZfAbQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/msal-extensions/default.nix b/pkgs/development/python-modules/msal-extensions/default.nix
index 82ef6fc77f0..a673d96893f 100644
--- a/pkgs/development/python-modules/msal-extensions/default.nix
+++ b/pkgs/development/python-modules/msal-extensions/default.nix
@@ -25,12 +25,18 @@ buildPythonPackage rec {
     pathlib2
   ];
 
+  # upstream doesn't update this requirement probably because they use pip
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "portalocker~=1.0" "portalocker"
+  '';
+
   # No tests found
   doCheck = false;
 
   meta = with lib; {
     description = "The Microsoft Authentication Library Extensions (MSAL-Extensions) for Python";
-    homepage = "https://github.com/AzureAD/microsoft-authentication-library-for-python";
+    homepage = "https://github.com/AzureAD/microsoft-authentication-extensions-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [
       kamadorueda
diff --git a/pkgs/development/python-modules/netmap/default.nix b/pkgs/development/python-modules/netmap/default.nix
new file mode 100644
index 00000000000..01259921607
--- /dev/null
+++ b/pkgs/development/python-modules/netmap/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, substituteAll
+, nmap
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "netmap";
+  version = "0.7.0.2";
+
+  src = fetchFromGitHub {
+    owner = "home-assistant-libs";
+    repo = "python-nmap";
+    rev = version;
+    sha256 = "1a44zz9zsxy48ahlpjjrddpyfi7cnfknicfcp35hi588qm430mag";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./nmap-path.patch;
+      nmap = "${lib.getBin nmap}/bin/nmap";
+    })
+  ];
+
+  # upstream tests require sudo
+  # make sure nmap is found instead
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} -c 'import nmap; nmap.PortScanner()'
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [ "nmap" ];
+
+  meta = with lib; {
+    description = "Python class to use nmap and access scan results from python3";
+    homepage = "https://github.com/home-assistant-libs/python-nmap";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/netmap/nmap-path.patch b/pkgs/development/python-modules/netmap/nmap-path.patch
new file mode 100644
index 00000000000..99f9cb43a94
--- /dev/null
+++ b/pkgs/development/python-modules/netmap/nmap-path.patch
@@ -0,0 +1,17 @@
+diff --git a/nmap/nmap.py b/nmap/nmap.py
+index 91c460d..8c5ff0a 100755
+--- a/nmap/nmap.py
++++ b/nmap/nmap.py
+@@ -77,11 +77,7 @@ class PortScanner(object):
+     def __init__(
+         self,
+         nmap_search_path=(
+-            "nmap",
+-            "/usr/bin/nmap",
+-            "/usr/local/bin/nmap",
+-            "/sw/bin/nmap",
+-            "/opt/local/bin/nmap",
++            "@nmap@",
+         ),
+     ):
+         """
diff --git a/pkgs/development/python-modules/ofxparse/default.nix b/pkgs/development/python-modules/ofxparse/default.nix
index 33d027f1bee..a364c7393ba 100644
--- a/pkgs/development/python-modules/ofxparse/default.nix
+++ b/pkgs/development/python-modules/ofxparse/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
+, fetchPypi
 , six
 , beautifulsoup4
 , lxml
@@ -8,15 +8,11 @@
 
 buildPythonPackage rec {
   pname = "ofxparse";
-  version = "unstable-2020-02-05";
+  version = "0.21";
 
-  # The newer changes haven't been released yet and ledger-autosync
-  # depends on them:
-  src = fetchFromGitHub {
-    owner = "jseutter";
-    repo = "ofxparse";
-    rev = "3236cfd96434feb6bc79a8b66f3400f18e2ad3c4";
-    sha256 = "1rkp174102q7hwjrg3na0qnfd612xb3r360b9blkbprjhzxy7gr7";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "19y4sp5l9jqiqzzlbqdfiab42qx7d84n4xm4s7jfq397666vcyh5";
   };
 
   propagatedBuildInputs = [ six beautifulsoup4 lxml ];
diff --git a/pkgs/development/python-modules/osmnx/default.nix b/pkgs/development/python-modules/osmnx/default.nix
index a55d26d83c2..4cc0ce80d4d 100755
--- a/pkgs/development/python-modules/osmnx/default.nix
+++ b/pkgs/development/python-modules/osmnx/default.nix
@@ -1,18 +1,19 @@
-{ lib, buildPythonPackage, fetchFromGitHub, geopandas, descartes, matplotlib, networkx, numpy
-, pandas, requests, Rtree, shapely, folium, scikit-learn, scipy}:
+{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, geopandas, matplotlib, networkx, numpy
+, pandas, requests, Rtree, shapely, folium, scikit-learn, scipy, gdal, rasterio}:
 
 buildPythonPackage rec {
   pname = "osmnx";
-  version = "0.9";
+  version = "1.1.1";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner  = "gboeing";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "1k3y5kl4k93vxaxyanc040x44s2fyyc3m1ndy2j3kg0037z8ad4z";
+    sha256 = "0dkv3fnlq23d7d30lhdf4a313lxy3a5qfldidvszs1z9n16ycnwb";
   };
 
-  propagatedBuildInputs = [ geopandas descartes matplotlib networkx numpy pandas requests Rtree shapely folium scikit-learn scipy ];
+  propagatedBuildInputs = [ geopandas matplotlib networkx numpy pandas requests Rtree shapely folium scikit-learn scipy gdal rasterio ];
 
   # requires network
   doCheck = false;
diff --git a/pkgs/development/python-modules/pefile/default.nix b/pkgs/development/python-modules/pefile/default.nix
index 92a0d064f49..5cd514c871f 100644
--- a/pkgs/development/python-modules/pefile/default.nix
+++ b/pkgs/development/python-modules/pefile/default.nix
@@ -1,24 +1,34 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , future
-, fetchPypi
-, lib
+, fetchFromGitHub
+, setuptools-scm
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pefile";
-  version = "2019.4.18";
+  version = "2021.5.24";
+  disabled = pythonOlder "3.6";
 
-  propagatedBuildInputs = [ future ];
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "a5d6e8305c6b210849b47a6174ddf9c452b2888340b8177874b862ba6c207645";
+  src = fetchFromGitHub {
+    owner = "erocarrera";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0qdy88dvy29ixsyfqdcvf3w6rz09vpimk0568i09v1ayhs52p62k";
   };
 
-  # Test data encrypted.
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    future
+  ];
+
+  # Test data encrypted
   doCheck = false;
 
-  # Verify import still works.
   pythonImportsCheck = [ "pefile" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/portalocker/default.nix b/pkgs/development/python-modules/portalocker/default.nix
index d79f6201b6f..7b4fc177bc1 100644
--- a/pkgs/development/python-modules/portalocker/default.nix
+++ b/pkgs/development/python-modules/portalocker/default.nix
@@ -1,34 +1,27 @@
-{ lib, buildPythonPackage, fetchPypi, fetchpatch
-, sphinx
-, pytest
+{ lib, buildPythonPackage, fetchPypi
+, pytestCheckHook
 , pytestcov
 , pytest-flake8
+, pytest-mypy
+, redis
 }:
 
 buildPythonPackage rec {
-  version = "1.7.0";
+  version = "2.3.0";
   pname = "portalocker";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1p32v16va780mjjdbyp3v702aqg5s618khlila7bdyynis1n84q9";
+    sha256 = "0k08c0qg21mwz3iqbd20ab22nq705q7cal4a1qr8qnd6ga03v4af";
   };
 
-  patches = [
-    # remove pytest-flakes from test dependencies
-    # merged into master, remove > 1.7.0 release
-    (fetchpatch {
-      url = "https://github.com/WoLpH/portalocker/commit/42e4c0a16bbc987c7e33b5cbc7676a63a164ceb5.patch";
-      sha256 = "01mlr41nhh7mh3qhqy5fhp3br4nps745iy4ns9fjcnm5xhabg5rr";
-      excludes = [ "pytest.ini" ];
-    })
+  propagatedBuildInputs = [
+    redis
   ];
 
   checkInputs = [
-    sphinx
-    pytest
-    pytestcov
-    pytest-flake8
+    pytestCheckHook
+    pytest-mypy
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pubnub/default.nix b/pkgs/development/python-modules/pubnub/default.nix
index 89dd4d1cbf0..478782b488c 100644
--- a/pkgs/development/python-modules/pubnub/default.nix
+++ b/pkgs/development/python-modules/pubnub/default.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "pubnub";
-  version = "5.1.3";
+  version = "5.1.4";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "python";
     rev = "v${version}";
-    sha256 = "0mpw2wzbpb60lnrsnw8mc88mxxhslpnc5nvkjyc3v2dbqs5cnmy5";
+    sha256 = "sha256-aDmmF3T5v6NX3kut7cydEJNRw4mkrGt4X0+WOm/ZCVo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyahocorasick/default.nix b/pkgs/development/python-modules/pyahocorasick/default.nix
index 9ef89c6e920..87d1d0c9fc0 100644
--- a/pkgs/development/python-modules/pyahocorasick/default.nix
+++ b/pkgs/development/python-modules/pyahocorasick/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "pyahocorasick";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "WojciechMula";
     repo = pname;
     rev = version;
-    sha256 = "0plm9x2gziayjsl7flsgn1z8qx88c9vqm4fs1wq7dv7fr188liik";
+    sha256 = "13x3718if28l50474xrz1b9709kvnvdg3nzm6y8bh7mc9a4zyss5";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/pycritty/default.nix b/pkgs/development/python-modules/pycritty/default.nix
new file mode 100644
index 00000000000..3e5f2429025
--- /dev/null
+++ b/pkgs/development/python-modules/pycritty/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder, pyyaml }:
+
+buildPythonPackage rec {
+  pname = "pycritty";
+  version = "0.3.5";
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1lrmd4a1ps3h9z0pndfjfrd2qa7v3abd6np75fd2q2ffsqv7ar6x";
+  };
+
+  postPatch = ''
+    # remove custom install
+    substituteInPlace setup.py \
+      --replace "'install': PostInstallHook," ""
+  '';
+
+  propagatedBuildInputs = [ pyyaml ];
+
+  # The package does not include any tests to run
+  doCheck = false;
+
+  pythonImportsCheck = [ "pycritty" ];
+
+  meta = with lib; {
+    description = "A CLI tool for changing your alacritty configuration on the fly";
+    homepage = "https://github.com/antoniosarosi/pycritty";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jperras ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyfreedompro/default.nix b/pkgs/development/python-modules/pyfreedompro/default.nix
new file mode 100644
index 00000000000..f5fd102ed7f
--- /dev/null
+++ b/pkgs/development/python-modules/pyfreedompro/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, aiohttp
+}:
+
+buildPythonPackage rec {
+  pname = "pyfreedompro";
+  version = "1.1.0";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "92812070a0c74761fa0c8cac98ddbe0bca781c8de80e2b08dbd04492e831c172";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # upstream has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "aiohttp" ];
+
+  meta = with lib; {
+    description = "Python library for Freedompro API";
+    homepage = "https://github.com/stefano055415/pyfreedompro";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyfritzhome/default.nix b/pkgs/development/python-modules/pyfritzhome/default.nix
index 7c0982d490b..0bfda48269e 100644
--- a/pkgs/development/python-modules/pyfritzhome/default.nix
+++ b/pkgs/development/python-modules/pyfritzhome/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pyfritzhome";
-  version = "0.6.1";
+  version = "0.6.2";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "hthiery";
     repo = "python-fritzhome";
     rev = version;
-    sha256 = "sha256-CEoXb7D/8Iksw4aJYNqANkmfhd0yxIIuabaTdWI3RNc=";
+    sha256 = "1hwxq9w5qmiky8gpp623nabmydr3yv6hvgzk24fdbmkglfp6ja1v";
   };
 
   propagatedBuildInputs = [ requests ];
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   ];
 
   checkPhase = ''
-    nosetests --with-coverage
+    nosetests
   '';
 
   pythonImportsCheck = [ "pyfritzhome" ];
diff --git a/pkgs/development/python-modules/pyhomepilot/default.nix b/pkgs/development/python-modules/pyhomepilot/default.nix
new file mode 100644
index 00000000000..12c395ff954
--- /dev/null
+++ b/pkgs/development/python-modules/pyhomepilot/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pyhomepilot";
+  version = "0.0.3";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "nico0302";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "00gmqx8cwsd15iccnlr8ypgqrdg6nw9ha518cfk7pyp8vhw1ziwy";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "pyhomepilot" ];
+
+  meta = with lib; {
+    description = "Python module to communicate with the Rademacher HomePilot API";
+    homepage = "https://github.com/nico0302/pyhomepilot";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pypdf3/default.nix b/pkgs/development/python-modules/pypdf3/default.nix
new file mode 100644
index 00000000000..4970c0d527b
--- /dev/null
+++ b/pkgs/development/python-modules/pypdf3/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, glibcLocales
+, python
+, tqdm
+}:
+
+buildPythonPackage rec {
+  pname = "pypdf3";
+  version = "1.0.5";
+
+  src = fetchPypi {
+    pname = "PyPDF3";
+    inherit version;
+    sha256 = "sha256-DGKpR4p3z8tw4gKi5Hmj09svysD3Hkn4NklhgROmEAU=";
+  };
+
+  LC_ALL = "en_US.UTF-8";
+  buildInputs = [ glibcLocales ];
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest tests/*.py
+  '';
+
+  propagatedBuildInputs = [
+    tqdm
+  ];
+
+  meta = with lib; {
+    description = "A Pure-Python library built as a PDF toolkit";
+    homepage = "https://github.com/sfneal/PyPDF3";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ambroisie ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyqt-builder/default.nix b/pkgs/development/python-modules/pyqt-builder/default.nix
index d371fd7bcee..d116ed275dc 100644
--- a/pkgs/development/python-modules/pyqt-builder/default.nix
+++ b/pkgs/development/python-modules/pyqt-builder/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "pyqt-builder";
-  version = "1.6.0";
+  version = "1.10.1";
 
   src = fetchPypi {
     pname = "PyQt-builder";
     inherit version;
-    sha256 = "0g51yak53zzjs4gpq65i01cmpz7w8cjny9wfyxlgr2vi0wag107v";
+    sha256 = "05vyckg4pq95s3b23drhd24sjwzic1k36nwckxz5jc83mixhqywn";
   };
 
   propagatedBuildInputs = [ packaging sip ];
@@ -21,5 +21,6 @@ buildPythonPackage rec {
     description = "PEP 517 compliant build system for PyQt";
     homepage = "https://pypi.org/project/PyQt-builder/";
     license = licenses.gpl3Only;
+    maintainers = with maintainers; [ eduardosm ];
   };
 }
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
index 2671b27a630..ae737ca2e63 100644
--- a/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -1,65 +1,52 @@
-{ lib, pythonPackages, pkg-config
+{ lib
+, buildPythonPackage
+, isPy27
+, fetchPypi
+, pkg-config
 , dbus
-, qmake, lndir
-, qtbase
-, qtsvg
-, qtdeclarative
-, qtwebchannel
-, withConnectivity ? false, qtconnectivity
-, withMultimedia ? false, qtmultimedia
-, withWebKit ? false, qtwebkit
-, withWebSockets ? false, qtwebsockets
+, lndir
+, python
+, dbus-python
+, sip
+, pyqt-builder
+, libsForQt5
+, withConnectivity ? false
+, withMultimedia ? false
+, withWebKit ? false
+, withWebSockets ? false
 }:
 
 let
-
-  inherit (pythonPackages) buildPythonPackage python isPy3k dbus-python enum34;
-
-  sip = if isPy3k then
-    pythonPackages.sip
-  else
-    (pythonPackages.sip_4.override { sip-module = "PyQt5.sip"; }).overridePythonAttrs(oldAttrs: {
-      # If we install sip in another folder, then we need to create a __init__.py as well
-      # if we want to be able to import it with Python 2.
-      # Python 3 could rely on it being an implicit namespace package, however,
-      # PyQt5 we made an explicit namespace package so sip should be as well.
-      postInstall = ''
-        cat << EOF > $out/${python.sitePackages}/PyQt5/__init__.py
-        from pkgutil import extend_path
-        __path__ = extend_path(__path__, __name__)
-        EOF
-      '';
-    });
-
   pyqt5_sip = buildPythonPackage rec {
     pname = "PyQt5_sip";
-    version = "12.8.1";
+    version = "12.9.0";
 
-    src = pythonPackages.fetchPypi {
+    src = fetchPypi {
       inherit pname version;
-      sha256 = "30e944db9abee9cc757aea16906d4198129558533eb7fadbe48c5da2bd18e0bd";
+      sha256 = "0cmfxb7igahxy74qkq199l6zdxrr75bnxris42fww3ibgjflir6k";
     };
 
     # There is no test code and the check phase fails with:
     # > error: could not create 'PyQt5/sip.cpython-38-x86_64-linux-gnu.so': No such file or directory
     doCheck = false;
   };
-
 in buildPythonPackage rec {
   pname = "PyQt5";
-  version = "5.15.2";
-  format = "other";
+  version = "5.15.4";
+  format = "pyproject";
 
-  src = pythonPackages.fetchPypi {
+  disabled = isPy27;
+
+  src = fetchPypi {
     inherit pname version;
-    sha256 = "1z74295i69cha52llsqffzhb5zz7qnbjc64h8qg21l91jgf0harp";
+    sha256 = "1gp5jz71nmg58zsm1h4vzhcphf36rbz37qgsfnzal76i1mz5js9a";
   };
 
   outputs = [ "out" "dev" ];
 
   dontWrapQtApps = true;
 
-  nativeBuildInputs = [
+  nativeBuildInputs = with libsForQt5; [
     pkg-config
     qmake
     lndir
@@ -75,11 +62,12 @@ in buildPythonPackage rec {
     ++ lib.optional withWebSockets qtwebsockets
   ;
 
-  buildInputs = [
+  buildInputs = with libsForQt5; [
     dbus
     qtbase
     qtsvg
     qtdeclarative
+    pyqt-builder
   ]
     ++ lib.optional withConnectivity qtconnectivity
     ++ lib.optional withWebKit qtwebkit
@@ -88,10 +76,11 @@ in buildPythonPackage rec {
 
   propagatedBuildInputs = [
     dbus-python
-  ] ++ (if isPy3k then [ pyqt5_sip ] else [ sip enum34 ]);
+    pyqt5_sip
+  ];
 
   patches = [
-    # Fix some wrong assumptions by ./configure.py
+    # Fix some wrong assumptions by ./project.py
     # TODO: figure out how to send this upstream
     ./pyqt5-fix-dbus-mainloop-support.patch
   ];
@@ -103,36 +92,7 @@ in buildPythonPackage rec {
     WebSocketsEnabled = withWebSockets;
   };
 
-  configurePhase = ''
-    runHook preConfigure
-
-    export PYTHONPATH=$PYTHONPATH:$out/${python.sitePackages}
-
-    ${python.executable} configure.py  -w \
-      --confirm-license \
-      --dbus-moduledir=$out/${python.sitePackages}/dbus/mainloop \
-      --no-qml-plugin \
-      --bindir=$out/bin \
-      --destdir=$out/${python.sitePackages} \
-      --stubsdir=$out/${python.sitePackages}/PyQt5 \
-      --sipdir=$out/share/sip/PyQt5 \
-      --designer-plugindir=$out/plugins/designer
-
-    runHook postConfigure
-  '';
-
-  postInstall = lib.optionalString (!isPy3k) ''
-    ln -s ${sip}/${python.sitePackages}/PyQt5/sip.* $out/${python.sitePackages}/PyQt5/
-    for i in $out/bin/*; do
-      wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH"
-    done
-
-    # Let's make it a namespace package
-    cat << EOF > $out/${python.sitePackages}/PyQt5/__init__.py
-    from pkgutil import extend_path
-    __path__ = extend_path(__path__, __name__)
-    EOF
-  '';
+  dontConfigure = true;
 
   # Checked using pythonImportsCheck
   doCheck = false;
@@ -150,12 +110,10 @@ in buildPythonPackage rec {
     ++ lib.optional withConnectivity "PyQt5.QtConnectivity"
   ;
 
-  enableParallelBuilding = true;
-
   meta = with lib; {
     description = "Python bindings for Qt5";
-    homepage    = "http://www.riverbankcomputing.co.uk";
-    license     = licenses.gpl3;
+    homepage    = "https://riverbankcomputing.com/";
+    license     = licenses.gpl3Only;
     platforms   = platforms.mesaPlatforms;
     maintainers = with maintainers; [ sander ];
   };
diff --git a/pkgs/development/python-modules/pyqt/pyqt5-fix-dbus-mainloop-support.patch b/pkgs/development/python-modules/pyqt/pyqt5-fix-dbus-mainloop-support.patch
index faa36fa1913..2f559dcfe6a 100644
--- a/pkgs/development/python-modules/pyqt/pyqt5-fix-dbus-mainloop-support.patch
+++ b/pkgs/development/python-modules/pyqt/pyqt5-fix-dbus-mainloop-support.patch
@@ -21,7 +21,7 @@ so I have decided to solve this with an extra configure flag.
  1 file changed, 11 insertions(+), 2 deletions(-)
 
 diff --git a/configure.py b/configure.py
-index a3450ca3..440d90a2 100644
+index c6663e4..65e7da7 100644
 --- a/configure.py
 +++ b/configure.py
 @@ -905,6 +905,9 @@ class TargetConfiguration:
@@ -34,7 +34,7 @@ index a3450ca3..440d90a2 100644
          if opts.pyuicinterpreter is not None:
              self.pyuic_interpreter = opts.pyuicinterpreter
  
-@@ -1184,6 +1187,11 @@ def create_optparser(target_config):
+@@ -1191,6 +1194,11 @@ def create_optparser(target_config):
              metavar="DIR",
              help="the directory containing the dbus/dbus-python.h header is "
              "DIR [default: supplied by pkg-config]")
@@ -46,7 +46,7 @@ index a3450ca3..440d90a2 100644
      p.add_option_group(g)
  
      # Installation.
-@@ -2149,7 +2157,7 @@ def check_dbus(target_config, verbose):
+@@ -2277,7 +2285,7 @@ def check_dbus(target_config, verbose):
  
      inform("Checking to see if the dbus support module should be built...")
  
@@ -55,7 +55,7 @@ index a3450ca3..440d90a2 100644
  
      if verbose:
          sys.stdout.write(cmd + "\n")
-@@ -2178,7 +2186,8 @@ def check_dbus(target_config, verbose):
+@@ -2307,7 +2315,8 @@ def check_dbus(target_config, verbose):
          inform("The Python dbus module doesn't seem to be installed.")
          return
  
@@ -65,6 +65,16 @@ index a3450ca3..440d90a2 100644
  
      # Try and find dbus-python.h.  We don't use pkg-config because it is broken
      # for dbus-python (at least for versions up to and including v0.81.0).
--- 
-2.18.0
-
+diff --git a/project.py b/project.py
+index fe9fbce..9ae1ca1 100644
+--- a/project.py
++++ b/project.py
+@@ -261,7 +261,7 @@ del find_qt
+         dbus_lib_dirs = []
+         dbus_libs = []
+ 
+-        args = ['pkg-config', '--cflags-only-I', '--libs dbus-1']
++        args = ['pkg-config', '--cflags-only-I', '--libs dbus-1', 'dbus-python']
+ 
+         for line in self.read_command_pipe(args, fatal=False):
+             for flag in line.strip().split():
diff --git a/pkgs/development/python-modules/pyqtwebengine/default.nix b/pkgs/development/python-modules/pyqtwebengine/default.nix
index ce25bc04a13..f59694876cc 100644
--- a/pkgs/development/python-modules/pyqtwebengine/default.nix
+++ b/pkgs/development/python-modules/pyqtwebengine/default.nix
@@ -4,25 +4,23 @@
 }:
 
 let
-
-  inherit (pythonPackages) buildPythonPackage python isPy3k pyqt5 enum34;
-  inherit (pyqt5) sip;
-  # source: https://www.riverbankcomputing.com/pipermail/pyqt/2020-June/042985.html
-  patches = lib.optional (lib.hasPrefix "5.14" pyqt5.version)
-    [ ./fix-build-with-qt-514.patch ]
-  ;
-
+  inherit (pythonPackages) buildPythonPackage python isPy27 pyqt5 enum34 sip pyqt-builder;
 in buildPythonPackage rec {
   pname = "PyQtWebEngine";
   version = "5.15.4";
-  format = "other";
+  format = "pyproject";
+
+  disabled = isPy27;
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
     sha256 = "06fc35hzg346a9c86dk7vzm1fakkgzn5l52jfq3bix3587sjip6f";
   };
 
-  inherit patches;
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "[tool.sip.project]" "[tool.sip.project]''\nsip-include-dirs = [\"${pyqt5}/${python.sitePackages}/PyQt5/bindings\"]"
+  '';
 
   outputs = [ "out" "dev" ];
 
@@ -33,6 +31,7 @@ in buildPythonPackage rec {
     qtbase
     qtsvg
     qtwebengine
+    pyqt-builder
   ];
 
   buildInputs = [
@@ -42,49 +41,20 @@ in buildPythonPackage rec {
     qtwebengine
   ];
 
-  propagatedBuildInputs = [ pyqt5 ]
-    ++ lib.optional (!isPy3k) enum34;
+  propagatedBuildInputs = [ pyqt5 ];
 
   dontWrapQtApps = true;
 
-  configurePhase = ''
-    runHook preConfigure
-
-    mkdir -p "$out/share/sip/PyQt5"
-
-    # FIXME: Without --no-dist-info, I get
-    #     unable to create /nix/store/yv4pzx3lxk3lscq0pw3hqzs7k4x76xsm-python3-3.7.2/lib/python3.7/site-packages/PyQtWebEngine-5.12.dist-info
-    ${python.executable} configure.py -w \
-      --destdir="$out/${python.sitePackages}/PyQt5" \
-      --no-dist-info \
-      --apidir="$out/api/${python.libPrefix}" \
-      --sipdir="$out/share/sip/PyQt5" \
-      --pyqt-sipdir="${pyqt5}/share/sip/PyQt5" \
-      --stubsdir="$out/${python.sitePackages}/PyQt5"
+  # Avoid running qmake, which is in nativeBuildInputs
+  dontConfigure = true;
 
-    runHook postConfigure
-  '';
-
-  postInstall = ''
-    # Let's make it a namespace package
-    cat << EOF > $out/${python.sitePackages}/PyQt5/__init__.py
-    from pkgutil import extend_path
-    __path__ = extend_path(__path__, __name__)
-    EOF
-  '';
+  # Checked using pythonImportsCheck
+  doCheck = false;
 
-  installCheckPhase = let
-    modules = [
-      "PyQt5.QtWebEngine"
-      "PyQt5.QtWebEngineWidgets"
-    ];
-    imports = lib.concatMapStrings (module: "import ${module};") modules;
-  in ''
-    echo "Checking whether modules can be imported..."
-    PYTHONPATH=$PYTHONPATH:$out/${python.sitePackages} ${python.interpreter} -c "${imports}"
-  '';
-
-  doCheck = true;
+  pythonImportsCheck = [
+    "PyQt5.QtWebEngine"
+    "PyQt5.QtWebEngineWidgets"
+  ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/python-modules/pyrfxtrx/default.nix b/pkgs/development/python-modules/pyrfxtrx/default.nix
new file mode 100644
index 00000000000..6b63ac8f9fe
--- /dev/null
+++ b/pkgs/development/python-modules/pyrfxtrx/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pyserial
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pyrfxtrx";
+  version = "0.27.0";
+
+  src = fetchFromGitHub {
+    owner = "Danielhiversen";
+    repo = "pyRFXtrx";
+    rev = version;
+    sha256 = "0nzgy56b2v3bnn9idlb67qkzj4cj5j9v1436ri1y305fqwjy48nm";
+  };
+
+  propagatedBuildInputs = [
+    pyserial
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Library to communicate with the RFXtrx family of devices";
+    homepage = "https://github.com/Danielhiversen/pyRFXtrx";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyrituals/default.nix b/pkgs/development/python-modules/pyrituals/default.nix
index f9f556dba52..d9c8759798d 100644
--- a/pkgs/development/python-modules/pyrituals/default.nix
+++ b/pkgs/development/python-modules/pyrituals/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pyrituals";
-  version = "0.0.3";
+  version = "0.0.4";
   format = "pyproject";
   disabled = pythonOlder "3.8";
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "milanmeu";
     repo = pname;
     rev = version;
-    sha256 = "sha256-oAxQRGP6GxiidnGshSJZEh2RD3XsZ/7kFGwcqaYaBnM=";
+    sha256 = "sha256-XJoSKGGwLoHMWxPGfXHeLg8VlIH1/j0ktzWe/pjd//0=";
   };
 
   propagatedBuildInputs = [ aiohttp ];
diff --git a/pkgs/development/python-modules/pystray/default.nix b/pkgs/development/python-modules/pystray/default.nix
index 45bc2a55e59..0bba9f98855 100644
--- a/pkgs/development/python-modules/pystray/default.nix
+++ b/pkgs/development/python-modules/pystray/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "pystray";
-  version = "0.17.3";
+  version = "0.17.4";
 
   src = fetchFromGitHub {
     owner = "moses-palmer";
     repo = "pystray";
     rev = "v${version}";
-    sha256 = "sha256-da2ZkehyXrxW5LdMR3K5AEQhiCpx8ygn6eswTC8fsRo=";
+    sha256 = "sha256-Rg2bbFTXLc1hXdShUmFxPcJtlcyWhspcjZtJYDSQ6vQ=";
   };
 
   nativeBuildInputs = [ sphinx ];
diff --git a/pkgs/development/python-modules/pysyncobj/default.nix b/pkgs/development/python-modules/pysyncobj/default.nix
index bca2d47320e..3afdacd1803 100644
--- a/pkgs/development/python-modules/pysyncobj/default.nix
+++ b/pkgs/development/python-modules/pysyncobj/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "pysyncobj";
-  version = "0.3.7";
+  version = "0.3.8";
 
   src = fetchFromGitHub {
     owner = "bakwc";
     repo = "PySyncObj";
     rev = version;
-    sha256 = "0i7gjapaggkfvys4rgd4krpmh6mxwpzv30ngiwb6ddgp8jx0nzxk";
+    sha256 = "sha256-T7ecy5/1eF0pYaOv74SBEp6V6Z23E2b9lo5Q/gig3Cw=";
   };
 
   # Tests require network features
diff --git a/pkgs/development/python-modules/pysyncthru/default.nix b/pkgs/development/python-modules/pysyncthru/default.nix
new file mode 100644
index 00000000000..d3fed5dc4b5
--- /dev/null
+++ b/pkgs/development/python-modules/pysyncthru/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, isPy27
+, buildPythonPackage
+, fetchPypi
+, aiohttp
+, demjson
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "pysyncthru";
+  version = "0.7.3";
+
+  disabled = isPy27;
+
+  src = fetchPypi {
+    pname = "PySyncThru";
+    inherit version;
+    sha256 = "13564018a7de4fe013e195e19d7bae92aa224e0f3a32373576682722d3dbee52";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    demjson
+  ];
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest
+  '';
+
+  # no tests on PyPI, no tags on GitHub
+  doCheck = false;
+
+  pythonImportsCheck = [ "pysyncthru" ];
+
+  meta = with lib; {
+    description = "Automated JSON API based communication with Samsung SyncThru Web Service";
+    homepage = "https://github.com/nielstron/pysyncthru";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytenable/default.nix b/pkgs/development/python-modules/pytenable/default.nix
index 2482e423096..5b0dfb29be2 100644
--- a/pkgs/development/python-modules/pytenable/default.nix
+++ b/pkgs/development/python-modules/pytenable/default.nix
@@ -17,13 +17,13 @@
 
 buildPythonPackage rec {
   pname = "pytenable";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "tenable";
     repo = "pyTenable";
     rev = version;
-    sha256 = "sha256-APwBC1fL5JtYL5E/pabQpwGD1OtFMNPeWi/b9+hbhBE=";
+    sha256 = "sha256-9qkNQ3+yDplPHIXDwlghpJP1f+UoDYObWpPhl6UVtHU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytest-cases/default.nix b/pkgs/development/python-modules/pytest-cases/default.nix
index 018ca0c46de..9bee3808c5a 100644
--- a/pkgs/development/python-modules/pytest-cases/default.nix
+++ b/pkgs/development/python-modules/pytest-cases/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "pytest-cases";
-  version = "3.6.1";
+  version = "3.6.2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2009845554d3169dca99a7397d9904e5dbb58726c7417e8c308dda86f8966311";
+    sha256 = "1hipm73s97dx37la57aif1x7myidirfslr1k6apvwyc2929y2lsk";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/python-http-client/default.nix b/pkgs/development/python-modules/python-http-client/default.nix
index f4b19ba379e..8eece2ed4fe 100644
--- a/pkgs/development/python-modules/python-http-client/default.nix
+++ b/pkgs/development/python-modules/python-http-client/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "python_http_client";
-  version = "3.3.1";
+  version = "3.3.2";
 
   src = fetchFromGitHub {
     owner = "sendgrid";
     repo = "python-http-client";
     rev = version;
-    sha256 = "0mbcg0vb9v41v7hbvycrxx5wyrf3ysvfgxkix8hn8c4x5l2lmidc";
+    sha256 = "0z7nvfq9wdcprwh88xn9p3vm15gb3ijdc8pxn0a133ini9hxxlpx";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/python-ipmi/default.nix b/pkgs/development/python-modules/python-ipmi/default.nix
new file mode 100644
index 00000000000..7f8b8fe58a7
--- /dev/null
+++ b/pkgs/development/python-modules/python-ipmi/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, future
+, mock
+, nose
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "python-ipmi";
+  version = "0.5.1";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "kontron";
+    repo = pname;
+    rev = version;
+    sha256 = "0rcix3q845zsmfj5857kq1r5b8m7m3sad34i23k65m0p58clwdqm";
+  };
+
+  propagatedBuildInputs = [
+    future
+  ];
+
+  checkInputs = [
+    mock
+    nose
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pyipmi" ];
+
+  meta = with lib; {
+    description = "Python IPMI Library";
+    homepage = "https://github.com/kontron/python-ipmi";
+    license = with licenses; [ lgpl2Plus ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-izone/default.nix b/pkgs/development/python-modules/python-izone/default.nix
index 5033ef3e2cf..4bd1f988d45 100644
--- a/pkgs/development/python-modules/python-izone/default.nix
+++ b/pkgs/development/python-modules/python-izone/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "python-izone";
-  version = "1.1.5";
+  version = "1.1.6";
 
   disabled = pythonOlder "3.5";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "Swamp-Ig";
     repo = "pizone";
     rev = "v${version}";
-    sha256 = "0ilvawlhyg5p08ri26zbcvgysrfsmza23scy4ijrx3jbc3669r2c";
+    sha256 = "sha256-zgE1ccEPSa9nX0SEMN02VEGfnHexk/+jCJe7ugUL5UA=";
   };
 
   propagatedBuildInputs = [
@@ -33,13 +33,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTests = [
-    # attempt network connection
-    "test_fail_on_connect"
-    "test_connection_lost"
-    "test_ip_addr_change"
-  ];
-
   pythonImportsCheck = [ "pizone" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/python-juicenet/default.nix b/pkgs/development/python-modules/python-juicenet/default.nix
new file mode 100644
index 00000000000..1547c891461
--- /dev/null
+++ b/pkgs/development/python-modules/python-juicenet/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, aiohttp
+}:
+
+buildPythonPackage rec {
+  pname = "python-juicenet";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner = "jesserockz";
+    repo = "python-juicenet";
+    rev = "v${version}";
+    sha256 = "04547pj51ds31yhyc7ng47v9giz16h2s3wgb6szc8ivhb5rclqz2";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # no tests implemented
+  doCheck = false;
+
+  pythonImportsCheck = [ "pyjuicenet" ];
+
+  meta = with lib; {
+    description = "Read and control Juicenet/Juicepoint/Juicebox based EVSE devices";
+    homepage = "https://github.com/jesserockz/python-juicenet";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-songpal/default.nix b/pkgs/development/python-modules/python-songpal/default.nix
new file mode 100644
index 00000000000..180e5b3d833
--- /dev/null
+++ b/pkgs/development/python-modules/python-songpal/default.nix
@@ -0,0 +1,68 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, fetchpatch
+, poetry-core
+, aiohttp
+, async-upnp-client
+, attrs
+, click
+, importlib-metadata
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "python-songpal";
+  version = "0.13";
+
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "rytilahti";
+    repo = "python-songpal";
+    rev = version;
+    sha256 = "124w6vfn992845k09bjv352havk8pg590b135m37h1x1m7fmbpwa";
+  };
+
+  patches = [
+    # https://github.com/rytilahti/python-songpal/pull/90
+    (fetchpatch {
+      name = "switch-to-poetry-core.patch";
+      url = "https://github.com/rytilahti/python-songpal/commit/56b634790d94b2f9788d5af3d5cedff47f1e42c2.patch";
+      sha256 = "0yc0mrb91ywk77nd4mxvyc0p2kjz2w1p395755a32ls30zw2bs27";
+    })
+  ];
+
+  postPatch = ''
+    # https://github.com/rytilahti/python-songpal/issues/91
+    substituteInPlace pyproject.toml \
+      --replace 'click = "^7"' 'click = "*"'
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    async-upnp-client
+    attrs
+    click
+    importlib-metadata
+  ];
+
+  # no tests implemented
+  doCheck = false;
+
+  pythonImportsCheck = [ "songpal" ];
+
+  meta = with lib; {
+    description = "Python library for interfacing with Sony's Songpal devices";
+    homepage = "https://github.com/rytilahti/python-songpal";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytibber/default.nix b/pkgs/development/python-modules/pytibber/default.nix
index a8814b1e783..e036197a1ec 100644
--- a/pkgs/development/python-modules/pytibber/default.nix
+++ b/pkgs/development/python-modules/pytibber/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pytibber";
-  version = "0.17.1";
+  version = "0.19.0";
 
   disabled = pythonOlder "3.7";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "pyTibber";
     rev = version;
-    sha256 = "1zda9cvg6hy0n7sr2z71lkyl93n1gnzxrvf56lhz13pcsffshhdk";
+    sha256 = "sha256-9xKt6OspdM7zWbVzjtvDPYuGyIW3K6ioASt53LOgdvk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytradfri/default.nix b/pkgs/development/python-modules/pytradfri/default.nix
new file mode 100644
index 00000000000..e06a7e68135
--- /dev/null
+++ b/pkgs/development/python-modules/pytradfri/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, aiocoap
+, dtlssocket
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pytradfri";
+  version = "7.0.6";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "home-assistant-libs";
+    repo = "pytradfri";
+    rev = version;
+    sha256 = "0ckh2waz3xpz51pmigg1q336igqvvkl2pzncszvblkwv38a0rj3a";
+  };
+
+  propagatedBuildInputs = [
+    aiocoap
+    dtlssocket
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pytradfri" ];
+
+  meta = with lib; {
+    description = "Python package to communicate with the IKEA Trådfri ZigBee Gateway";
+    homepage = "https://github.com/home-assistant-libs/pytradfri";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/qscintilla-qt5/default.nix b/pkgs/development/python-modules/qscintilla-qt5/default.nix
index 05c12c1c62a..70ee4308913 100644
--- a/pkgs/development/python-modules/qscintilla-qt5/default.nix
+++ b/pkgs/development/python-modules/qscintilla-qt5/default.nix
@@ -3,13 +3,17 @@
 , qscintilla
 , qtbase
 }:
-with pythonPackages;
-buildPythonPackage {
+
+let
+  inherit (pythonPackages) buildPythonPackage isPy3k python sip_4 pyqt5;
+in buildPythonPackage rec {
   pname = "qscintilla";
   version = qscintilla.version;
   src = qscintilla.src;
   format = "other";
 
+  disabled = !isPy3k;
+
   nativeBuildInputs = [ sip_4 qtbase ];
   buildInputs = [ qscintilla ];
   propagatedBuildInputs = [ pyqt5 ];
@@ -38,11 +42,21 @@ buildPythonPackage {
       --qsci-incdir=${qscintilla}/include \
       --qsci-featuresdir=${qscintilla}/mkspecs/features \
       --qsci-libdir=${qscintilla}/lib \
-      --pyqt-sipdir=${pyqt5}/share/sip/PyQt5 \
+      --pyqt-sipdir=${pyqt5}/${python.sitePackages}/PyQt5/bindings \
       --qsci-sipdir=$out/share/sip/PyQt5 \
       --sip-incdir=${sip_4}/include
   '';
 
+  postInstall = ''
+    # Needed by pythonImportsCheck to find the module
+    export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH"
+  '';
+
+  # Checked using pythonImportsCheck
+  doCheck = false;
+
+  pythonImportsCheck = [ "PyQt5.Qsci" ];
+
   meta = with lib; {
     description = "A Python binding to QScintilla, Qt based text editing control";
     license = licenses.lgpl21Plus;
diff --git a/pkgs/development/python-modules/rasterio/default.nix b/pkgs/development/python-modules/rasterio/default.nix
index 236970a5d34..85d5d5d0b7d 100644
--- a/pkgs/development/python-modules/rasterio/default.nix
+++ b/pkgs/development/python-modules/rasterio/default.nix
@@ -2,23 +2,24 @@
 , cython, setuptools
 , numpy, affine, attrs, cligj, click-plugins, snuggs, gdal
 , pytest, pytestcov, packaging, hypothesis, boto3, mock
+, certifi, shapely
 }:
 
 buildPythonPackage rec {
   pname = "rasterio";
-  version = "1.1.5";
+  version = "1.2.6";
 
   # Pypi doesn't ship the tests, so we fetch directly from GitHub
   src = fetchFromGitHub {
     owner = "mapbox";
     repo = "rasterio";
     rev = version;
-    sha256 = "168b6hmx026jsvhnq6s5k0qfhzda02mmx1alax6wqk16mk63mqcz";
+    sha256 = "sha256-rf2qdUhbS4Z2+mvlN1RzZvlgTgjqiBoQzry4z5QLSUc=";
   };
 
-  checkInputs = [ boto3 pytest pytestcov packaging hypothesis ] ++ lib.optional (!isPy3k) mock;
+  checkInputs = [ boto3 pytest pytestcov packaging hypothesis shapely ] ++ lib.optional (!isPy3k) mock;
   nativeBuildInputs = [ cython gdal ];
-  propagatedBuildInputs = [ gdal numpy attrs affine cligj click-plugins snuggs setuptools ];
+  propagatedBuildInputs = [ certifi gdal numpy attrs affine cligj click-plugins snuggs setuptools ];
 
   meta = with lib; {
     description = "Python package to read and write geospatial raster data";
diff --git a/pkgs/development/python-modules/requests-pkcs12/default.nix b/pkgs/development/python-modules/requests-pkcs12/default.nix
index c58e8a926c8..29d7b85f9e6 100644
--- a/pkgs/development/python-modules/requests-pkcs12/default.nix
+++ b/pkgs/development/python-modules/requests-pkcs12/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "requests-pkcs12";
-  version = "1.9";
+  version = "1.10";
 
   src = fetchFromGitHub {
     owner = "m-click";
     repo = "requests_pkcs12";
     rev = version;
-    sha256 = "09nm3c6v911d1vwwi0f7mzapbkq7rnsl7026pb13j6ma8pkxznms";
+    sha256 = "sha256-HIUCzHxOsbk1OmcxkRK9GQ+SZ6Uf1xDylOe2pUYz3Hk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sip/4.x.nix b/pkgs/development/python-modules/sip/4.x.nix
index 5334d119634..5f6a3a5f82f 100644
--- a/pkgs/development/python-modules/sip/4.x.nix
+++ b/pkgs/development/python-modules/sip/4.x.nix
@@ -36,7 +36,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Creates C++ bindings for Python modules";
-    homepage    = "http://www.riverbankcomputing.co.uk/";
+    homepage    = "https://riverbankcomputing.com/";
     license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ lovek323 sander ];
     platforms   = platforms.all;
diff --git a/pkgs/development/python-modules/sip/default.nix b/pkgs/development/python-modules/sip/default.nix
index c15589b77bc..b3945696b7e 100644
--- a/pkgs/development/python-modules/sip/default.nix
+++ b/pkgs/development/python-modules/sip/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "sip";
-  version = "5.5.0";
+  version = "6.1.1";
 
   src = fetchPypi {
     pname = "sip";
     inherit version;
-    sha256 = "1idaivamp1jvbbai9yzv471c62xbqxhaawccvskaizihkd0lq0jx";
+    sha256 = "083ykzg7zbvrfrg3ram2vx93zrmhpm817kf9bkhw8r6pzkr5mljj";
   };
 
   propagatedBuildInputs = [ packaging toml ];
@@ -33,7 +33,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Creates C++ bindings for Python modules";
-    homepage    = "http://www.riverbankcomputing.co.uk/";
+    homepage    = "https://riverbankcomputing.com/";
     license     = licenses.gpl3Only;
     maintainers = with maintainers; [ eduardosm ];
   };
diff --git a/pkgs/development/python-modules/skidl/default.nix b/pkgs/development/python-modules/skidl/default.nix
index 3d2007732e8..3b4f42c1fee 100644
--- a/pkgs/development/python-modules/skidl/default.nix
+++ b/pkgs/development/python-modules/skidl/default.nix
@@ -1,36 +1,28 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, requests
 , future
 , kinparse
-, enum34
 , pyspice
 , graphviz
-, pillow
-, cffi
 }:
 
 buildPythonPackage rec {
   pname = "skidl";
-  version = "unstable-2020-09-15";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "xesscorp";
     repo = "skidl";
-    rev = "551bdb92a50c0894b0802c0a89b4cb62a5b4038f";
-    sha256 = "1g65cyxpkqshgsggav2q3f76rbj5pzh7sacyhmhzvfz4zfarkcxk";
+    rev = version;
+    sha256 = "1m0hllvmr5nkl4zy8yyzfgw9zmbrrzd5pw87ahd2mq68fjpcaqq5";
   };
 
   propagatedBuildInputs = [
-    requests
     future
     kinparse
-    enum34
     pyspice
     graphviz
-    pillow
-    cffi
   ];
 
   # Checks require availability of the kicad symbol libraries.
@@ -38,8 +30,8 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "skidl" ];
 
   meta = with lib; {
-    description = "SKiDL is a module that extends Python with the ability to design electronic circuits";
-    homepage = "https://xesscorp.github.io/skidl/docs/_site/";
+    description = "Module that extends Python with the ability to design electronic circuits";
+    homepage = "https://xess.com/skidl/docs/_site/";
     license = licenses.mit;
     maintainers = with maintainers; [ matthuszagh ];
   };
diff --git a/pkgs/development/python-modules/smart-meter-texas/default.nix b/pkgs/development/python-modules/smart-meter-texas/default.nix
new file mode 100644
index 00000000000..abdcd7317bc
--- /dev/null
+++ b/pkgs/development/python-modules/smart-meter-texas/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, aiohttp
+, python-dateutil
+, tenacity
+}:
+
+buildPythonPackage rec {
+  pname = "smart-meter-texas";
+  version = "0.4.3";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "grahamwetzler";
+    repo = "smart-meter-texas";
+    rev = "v${version}";
+    sha256 = "09n03wbyjh1b1gsiibf17fg86x7k1i1r1kpp94p7w1lcdbmn8v5c";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pytest-runner" ""
+  '';
+
+  propagatedBuildInputs = [
+    aiohttp
+    python-dateutil
+    tenacity
+  ];
+
+  # no tests implemented
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Connect to and retrieve data from the unofficial Smart Meter Texas API";
+    homepage = "https://github.com/grahamwetzler/smart-meter-texas";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/smarthab/default.nix b/pkgs/development/python-modules/smarthab/default.nix
new file mode 100644
index 00000000000..f26e294b938
--- /dev/null
+++ b/pkgs/development/python-modules/smarthab/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, aiohttp
+}:
+
+buildPythonPackage rec {
+  pname = "smarthab";
+  version = "0.21";
+
+  src = fetchPypi {
+    pname = "SmartHab";
+    inherit version;
+    sha256 = "bf929455a2f7cc1e275b331de73d983587138a8d9179574988ba05fa152d3ccf";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # no tests on PyPI, no tags on GitLab
+  doCheck = false;
+
+  pythonImportsCheck = [ "pysmarthab" ];
+
+  meta = with lib; {
+    description = "Control devices in a SmartHab-powered home";
+    homepage = "https://gitlab.com/outadoc/python-smarthab";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/somfy-mylink-synergy/default.nix b/pkgs/development/python-modules/somfy-mylink-synergy/default.nix
new file mode 100644
index 00000000000..b0fa5948c0d
--- /dev/null
+++ b/pkgs/development/python-modules/somfy-mylink-synergy/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "somfy-mylink-synergy";
+  version = "1.0.6";
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "bendews";
+    repo = "somfy-mylink-synergy";
+    rev = "v${version}";
+    sha256 = "1aa178b5lxdzfa4z7sjw6ky39dkfazp7dqs9dq78z2zay2sqgmgr";
+  };
+
+  # no tests implemented
+  doCheck = false;
+
+  pythonImportsCheck = [ "somfy_mylink_synergy" ];
+
+  meta = with lib; {
+    description = "Python API to utilise the Somfy Synergy JsonRPC API";
+    homepage = "https://github.com/bendews/somfy-mylink-synergy";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/sonarr/default.nix b/pkgs/development/python-modules/sonarr/default.nix
new file mode 100644
index 00000000000..9f73522def4
--- /dev/null
+++ b/pkgs/development/python-modules/sonarr/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, aiohttp
+, yarl
+, aresponses
+, pytest-asyncio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "sonarr";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "ctalkington";
+    repo = "python-sonarr";
+    rev = version;
+    sha256 = "0gi34951qhzzrq59hj93mnkid8cvvknlamkhir6ya9mb23fr7bya";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    yarl
+  ];
+
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "sonarr" ];
+
+  meta = with lib; {
+    description = "Asynchronous Python client for the Sonarr API";
+    homepage = "https://github.com/ctalkington/python-sonarr";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/srpenergy/default.nix b/pkgs/development/python-modules/srpenergy/default.nix
new file mode 100644
index 00000000000..140062edf1f
--- /dev/null
+++ b/pkgs/development/python-modules/srpenergy/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, python-dateutil
+, requests
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "srpenergy";
+  version = "1.3.2";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "lamoreauxlab";
+    repo = "srpenergy-api-client-python";
+    rev = version;
+    sha256 = "03kldjk90mrnzf2hpd7xky0lpph853mjxc34kfa2m5mbpbpkxz9c";
+  };
+
+  propagatedBuildInputs = [
+    python-dateutil
+    requests
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "srpenergy.client" ];
+
+  meta = with lib; {
+    description = "Unofficial Python module for interacting with Srp Energy data";
+    homepage = "https://github.com/lamoreauxlab/srpenergy-api-client-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/starline/default.nix b/pkgs/development/python-modules/starline/default.nix
new file mode 100644
index 00000000000..4f4ad545f2d
--- /dev/null
+++ b/pkgs/development/python-modules/starline/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, aiohttp
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "starline";
+  version = "0.1.5";
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1753f5fcd2a6976aed775afb03f8392159f040c673917cc0c634510d95c13cb9";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    requests
+  ];
+
+  # no tests implemented
+  doCheck = false;
+
+  pythonImportsCheck = [ "starline" ];
+
+  meta = with lib; {
+    description = "Unofficial python library for StarLine API";
+    homepage = "https://github.com/Anonym-tsk/starline";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/synologydsm-api/default.nix b/pkgs/development/python-modules/synologydsm-api/default.nix
new file mode 100644
index 00000000000..71bd1114429
--- /dev/null
+++ b/pkgs/development/python-modules/synologydsm-api/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, fetchpatch
+, poetry-core
+, requests
+, urllib3
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "synologydsm-api";
+  version = "1.0.2";
+
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "hacf-fr";
+    repo = "synologydsm-api";
+    rev = "v${version}";
+    sha256 = "0gyahf1x6i6j9pslh1y3pyh3si5jvxb06r1w761b9gsxyk14y1si";
+  };
+
+  patches = [
+    # https://github.com/hacf-fr/synologydsm-api/pull/84
+    (fetchpatch {
+      name = "switch-to-poetry-core.patch";
+      url = "https://github.com/hacf-fr/synologydsm-api/commit/f1ea2be927388bdff6d43d09027b82a854635e34.patch";
+      sha256 = "120pdgp2i4ds6y3rf9j372f9zdcf4y8rsgl1xjbkgdhkp76bkkgr";
+    })
+  ];
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    requests
+    urllib3
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "synology_dsm" ];
+
+  meta = with lib; {
+    description = "Python API for communication with Synology DSM";
+    homepage = "https://github.com/hacf-fr/synologydsm-api";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/tern/0001-Replace-debut-with-debian-inspector.patch b/pkgs/development/python-modules/tern/0001-Replace-debut-with-debian-inspector.patch
deleted file mode 100644
index c9cb8b4a528..00000000000
--- a/pkgs/development/python-modules/tern/0001-Replace-debut-with-debian-inspector.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From d944d8fa6cb6d1667f3e4c4e0cff4c4b2a7c0a30 Mon Sep 17 00:00:00 2001
-From: Cole Helbling <cole.e.helbling@outlook.com>
-Date: Fri, 7 May 2021 11:00:46 -0700
-Subject: [PATCH] Replace `debut` with `debian-inspector`
-
----
- requirements.in        | 2 +-
- tern/analyze/common.py | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/requirements.in b/requirements.in
-index edd90ab..5135841 100644
---- a/requirements.in
-+++ b/requirements.in
-@@ -12,6 +12,6 @@ requests
- stevedore
- pbr
- dockerfile-parse
--debut
-+debian-inspector
- regex
- GitPython
-diff --git a/tern/analyze/common.py b/tern/analyze/common.py
-index 6962404..0f5e77d 100644
---- a/tern/analyze/common.py
-+++ b/tern/analyze/common.py
-@@ -19,8 +19,8 @@ from tern.utils import cache
- from tern.utils import constants
- from tern.utils import general
- from tern.utils import rootfs
--from debut import debcon
--from debut import copyright as debut_copyright
-+from debian_inspector import debcon
-+from debian_inspector import copyright as debut_copyright
- 
- # global logger
- logger = logging.getLogger(constants.logger_name)
--- 
-2.31.1
-
diff --git a/pkgs/development/python-modules/tern/default.nix b/pkgs/development/python-modules/tern/default.nix
index e00e06561f0..0468ee6f84b 100644
--- a/pkgs/development/python-modules/tern/default.nix
+++ b/pkgs/development/python-modules/tern/default.nix
@@ -13,6 +13,7 @@
 , prettytable
 , idna
 }:
+
 buildPythonPackage rec {
   pname = "tern";
   version = "2.6.1";
@@ -22,14 +23,6 @@ buildPythonPackage rec {
     sha256 = "749c18ef493ebe3ac28624b2b26c6e38f77de2afd6a6579d2c92393d8fbdbd46";
   };
 
-  patches = [
-    # debut was renamed to debian-inspector
-    # https://github.com/tern-tools/tern/pull/962
-    # NOTE: Has to be in-tree because the upstream patch doesn't apply cleanly
-    # to the PyPi source.
-    ./0001-Replace-debut-with-debian-inspector.patch
-  ];
-
   preBuild = ''
     cp requirements.{in,txt}
   '';
diff --git a/pkgs/development/python-modules/total-connect-client/default.nix b/pkgs/development/python-modules/total-connect-client/default.nix
new file mode 100644
index 00000000000..1347ecab3e2
--- /dev/null
+++ b/pkgs/development/python-modules/total-connect-client/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, zeep
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "total-connect-client";
+  version = "0.58";
+
+  src = fetchFromGitHub {
+    owner = "craigjmidwinter";
+    repo = "total-connect-client";
+    rev = version;
+    sha256 = "1dqmgvgvwjh235wghygan2jnfvmn9vz789in2as3asig9cifix9z";
+  };
+
+  propagatedBuildInputs = [
+    zeep
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    export PYTHONPATH="total_connect_client:$PYTHONPATH"
+  '';
+
+  pythonImportsCheck = [ "total_connect_client" ];
+
+  meta = with lib; {
+    description = "Interact with Total Connect 2 alarm systems";
+    homepage = "https://github.com/craigjmidwinter/total-connect-client";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/trezor/default.nix b/pkgs/development/python-modules/trezor/default.nix
index bb85ca6b6f3..546989ef349 100644
--- a/pkgs/development/python-modules/trezor/default.nix
+++ b/pkgs/development/python-modules/trezor/default.nix
@@ -33,6 +33,11 @@ buildPythonPackage rec {
     sha256 = "0r0j0y0ii62ppawc8qqjyaq0fkmmb0zk1xb3f9navxp556w2dljv";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'click>=7,<8' 'click>=7,<9'
+  '';
+
   nativeBuildInputs = [ installShellFiles ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/upb-lib/default.nix b/pkgs/development/python-modules/upb-lib/default.nix
new file mode 100644
index 00000000000..356a290241e
--- /dev/null
+++ b/pkgs/development/python-modules/upb-lib/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, pyserial-asyncio
+, pytz
+}:
+
+buildPythonPackage rec {
+  pname = "upb-lib";
+  version = "0.4.12";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e668055d9c389aefd09203afb96a950a320095f225ef0a1aa611e592db92a71b";
+  };
+
+  propagatedBuildInputs = [
+    pyserial-asyncio
+    pytz
+  ];
+
+  # no tests on PyPI, no tags on GitHub
+  doCheck = false;
+
+  pythonImportsCheck = [ "upb_lib" ];
+
+  meta = with lib; {
+    description = "Library for interacting with UPB PIM";
+    homepage = "https://github.com/gwww/upb-lib";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/upcloud-api/default.nix b/pkgs/development/python-modules/upcloud-api/default.nix
new file mode 100644
index 00000000000..e70a49be5a8
--- /dev/null
+++ b/pkgs/development/python-modules/upcloud-api/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, pytestCheckHook
+, responses
+}:
+
+buildPythonPackage rec {
+  pname = "upcloud-api";
+  version = "2.0.0";
+
+  src = fetchFromGitHub {
+    owner = "UpCloudLtd";
+    repo = "upcloud-python-api";
+    rev = "v${version}";
+    sha256 = "1kkgrn97pw4k49ys97hjrvh2j8y2p2r9970v9csgrk5wci4562wm";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    responses
+  ];
+
+  pythonImportsCheck = [ "upcloud_api" ];
+
+  meta = with lib; {
+    description = "UpCloud API Client";
+    homepage = "https://github.com/UpCloudLtd/upcloud-python-api";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/yq/jq-path.patch b/pkgs/development/python-modules/yq/jq-path.patch
index 784a28feaf1..ed98ec86aa5 100644
--- a/pkgs/development/python-modules/yq/jq-path.patch
+++ b/pkgs/development/python-modules/yq/jq-path.patch
@@ -1,26 +1,26 @@
 diff --git a/test/test.py b/test/test.py
-index a81f41b..9e80f04 100755
+index f25dced..cd308c8 100755
 --- a/test/test.py
 +++ b/test/test.py
-@@ -112,7 +112,7 @@ class TestYq(unittest.TestCase):
+@@ -105,7 +105,7 @@ class TestYq(unittest.TestCase):
                  tf2.seek(0)
                  self.assertEqual(self.run_yq("", ["-y", arg, tf.name, self.fd_path(tf2)]), '1\n...\n')
- 
+
 -    @unittest.skipIf(subprocess.check_output(["jq", "--version"]) < b"jq-1.6", "Test options introduced in jq 1.6")
 +    @unittest.skipIf(subprocess.check_output(["@jq@", "--version"]) < b"jq-1.6", "Test options introduced in jq 1.6")
      def test_jq16_arg_passthrough(self):
          self.assertEqual(self.run_yq("{}", ["--indentless", "-y", ".a=$ARGS.positional", "--args", "a", "b"]),
                           "a:\n- a\n- b\n")
 diff --git a/yq/__init__.py b/yq/__init__.py
-index afeb42c..a0d7970 100755
+index 91212d0..ee5a799 100755
 --- a/yq/__init__.py
 +++ b/yq/__init__.py
 @@ -146,7 +146,7 @@ def yq(input_streams=None, output_stream=None, input_format="yaml", output_forma
- 
      try:
-         # Note: universal_newlines is just a way to induce subprocess to make stdin a text buffer and encode it for us
+         # Notes: universal_newlines is just a way to induce subprocess to make stdin a text buffer and encode it for us;
+         # close_fds must be false for command substitution to work (yq . t.yml --slurpfile t <(yq . t.yml))
 -        jq = subprocess.Popen(["jq"] + list(jq_args),
 +        jq = subprocess.Popen(["@jq@"] + list(jq_args),
                                stdin=subprocess.PIPE,
                                stdout=subprocess.PIPE if converting_output else None,
-                               universal_newlines=True)
+                               close_fds=False,
diff --git a/pkgs/development/python-modules/zwave-js-server-python/default.nix b/pkgs/development/python-modules/zwave-js-server-python/default.nix
index 2976c5e24ba..778f9c448ed 100644
--- a/pkgs/development/python-modules/zwave-js-server-python/default.nix
+++ b/pkgs/development/python-modules/zwave-js-server-python/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "zwave-js-server-python";
-  version = "0.26.1";
+  version = "0.27.0";
   disabled = pythonOlder "3.8";
 
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = version;
-    sha256 = "1rh6wim5hr9lygvgria7lr6x61sdyrv3drrrirgv9p9gl3rxcj6m";
+    sha256 = "sha256-ClZ9B20NphN5XewqEtHpUMNHuuVxs1RJBcxWi6TzT1Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index c4fb1f25304..6e04e60bfb5 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -345,6 +345,7 @@ let
     stsm = [ pkgs.gsl_1 ];
     stringi = [ pkgs.icu.dev ];
     survSNP = [ pkgs.gsl_1 ];
+    svglite = [ pkgs.libpng.dev ];
     sysfonts = [ pkgs.zlib pkgs.libpng pkgs.freetype.dev ];
     systemfonts = [ pkgs.fontconfig.dev pkgs.freetype.dev ];
     TAQMNGR = [ pkgs.zlib.dev ];
diff --git a/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix b/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
index 66f2db28068..ebbfa619fed 100644
--- a/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
+++ b/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-tarpaulin";
-  version = "0.17.0";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "xd009642";
     repo = "tarpaulin";
     rev = version;
-    sha256 = "1z104cd3wg718x1d89znppx4h6f0c6icgmpcllyrd0d19lb71a2b";
+    sha256 = "sha256-j5VLxtu8Xg1fwDYWYJXGFUkfpgauG/5NauSniSZ7G2w=";
   };
 
   nativeBuildInputs = [
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   ];
   buildInputs = [ openssl ];
 
-  cargoSha256 = "1hpi9aifn3g19yqkb58lphyw8cbsqllhg5dzbqx15hcfvrb7ip4k";
+  cargoSha256 = "sha256-1lFGczzcN4QPsIpEVQiSmNS7L+9rlSfxi+gopt2E7Ec=";
   #checkFlags = [ "--test-threads" "1" ];
   doCheck = false;
 
diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix
index 11c2178b698..4c735de89de 100644
--- a/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "8.43";
+  version = "8.44";
   pname = "checkstyle";
 
   src = fetchurl {
     url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar";
-    sha256 = "sha256-jb864Kr5Hx/e2OIRYPLJGkRIsxT/cebLnOGGy1YtJY8=";
+    sha256 = "sha256-tXTU5A4mKQ0DDWCE3VUXB3fbanHyFNSIcTMJ3NRlj6A=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index ab0696f14ed..599908b4931 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     install -Dm644 resources/shell/bash-completion $out/share/bash-completion/completions/flow
   '';
 
-  buildInputs = (with ocamlPackages; [ ocaml findlib ocamlbuild ocaml-migrate-parsetree-2-1 dtoa core_kernel sedlex_2 ocaml_lwt lwt_log lwt_ppx ppx_deriving ppx_gen_rec ppx_tools_versioned visitors wtf8 ])
+  buildInputs = (with ocamlPackages; [ ocaml findlib ocamlbuild ocaml-migrate-parsetree-2 dtoa core_kernel sedlex_2 ocaml_lwt lwt_log lwt_ppx ppx_deriving ppx_gen_rec ppx_tools_versioned visitors wtf8 ])
     ++ lib.optionals stdenv.isDarwin [ CoreServices ];
 
   meta = with lib; {
diff --git a/pkgs/development/tools/analysis/frama-c/default.nix b/pkgs/development/tools/analysis/frama-c/default.nix
index 1079974ae62..ab82aed8e5e 100644
--- a/pkgs/development/tools/analysis/frama-c/default.nix
+++ b/pkgs/development/tools/analysis/frama-c/default.nix
@@ -17,6 +17,12 @@ let
     ocamlgraph
     stdlib-shims
     why3
+    re
+    seq
+    sexplib
+    sexplib0
+    parsexp
+    base
     yojson
     zarith
   ];
@@ -25,12 +31,12 @@ in
 
 stdenv.mkDerivation rec {
   pname = "frama-c";
-  version = "22.0";
-  slang   = "Titanium";
+  version = "23.0-rc1";
+  slang   = "Vanadium";
 
   src = fetchurl {
     url    = "http://frama-c.com/download/frama-c-${version}-${slang}.tar.gz";
-    sha256 = "1mq1fijka95ydrla486yr4w6wdl9l7vmp512s1q00b0p6lmfwmkh";
+    sha256 = "1z9f9a217bav3vfc99kq57d5rza6j7hr91ndviwkgcaib6wc5hcv";
   };
 
   preConfigure = lib.optionalString stdenv.cc.isClang "configureFlagsArray=(\"--with-cpp=clang -E -C\")";
diff --git a/pkgs/development/tools/analysis/smatch/default.nix b/pkgs/development/tools/analysis/smatch/default.nix
index 4330ec3d742..2780c8552fc 100644
--- a/pkgs/development/tools/analysis/smatch/default.nix
+++ b/pkgs/development/tools/analysis/smatch/default.nix
@@ -1,14 +1,12 @@
 { lib, stdenv, fetchgit, sqlite, pkg-config, perl
 , buildllvmsparse ? true
 , buildc2xml ? true
-, llvm ? null, libxml2 ? null
+, llvm, libxml2
 }:
 
-assert buildllvmsparse -> llvm != null;
-assert buildc2xml -> libxml2 != null;
-
 stdenv.mkDerivation {
-  name = "smatch-20120924";
+  pname = "smatch";
+  version = "20120924";
 
   src = fetchgit {
     url = "git://repo.or.cz/smatch.git";
@@ -17,19 +15,20 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [sqlite perl]
+  buildInputs = [ sqlite perl ]
    ++ lib.optional buildllvmsparse llvm
    ++ lib.optional buildc2xml libxml2;
 
-  preBuild =
-    '' sed -i Makefile \
-           -e "s|^PREFIX=.*|PREFIX = $out|g"
-    '';
+  preBuild = ''
+    sed -i Makefile \
+      -e "s|^PREFIX=.*|PREFIX = $out|g"
+  '';
 
-  meta = {
+  meta = with lib; {
     description = "A semantic analysis tool for C";
     homepage = "http://smatch.sourceforge.net/";
-    license = lib.licenses.free; /* OSL, see http://www.opensource.org */
-    platforms = lib.platforms.linux;
+    maintainers = with maintainers; [];
+    license = licenses.free; /* OSL, see http://www.opensource.org */
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix b/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
index cbc2ceb21ab..314a1a8b057 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "bazel-remote";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "buchgr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-GpbweI/grJNIRg/7lFd4tMhr9E2SPX+YUrzPJs0Gsik=";
+    sha256 = "sha256-tPjjYudUI+LlmdnEvHh+kUpAbmhiNPYhjf8fMglrzIM=";
   };
 
-  vendorSha256 = "sha256-dXBGWTgUaVJCwf2LB1QdmSPP3BlKqZ28HUnq1oervNg=";
+  vendorSha256 = "sha256-JNVzy4WbpwH9ZfO78AHQM8pak/ZVQqapxxs9QraMhDo=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/build-managers/bear/default.nix b/pkgs/development/tools/build-managers/bear/default.nix
index a94ca34d036..42fa584a893 100644
--- a/pkgs/development/tools/build-managers/bear/default.nix
+++ b/pkgs/development/tools/build-managers/bear/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bear";
-  version = "3.0.12";
+  version = "3.0.13";
 
   src = fetchFromGitHub {
     owner = "rizsotto";
     repo = pname;
     rev = version;
-    sha256 = "0nalvmkl9iwbs4wbsacryrwr46vk3x6jzqj9v5wfyf6aim3s1szs";
+    sha256 = "sha256-oMrTH3GjxiLBKX0i3ZuV+bNqpA7PkoAQAb/08Q/uELs=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index e3828eb7f14..ba6f0bf652e 100644
--- a/pkgs/development/tools/buildah/default.nix
+++ b/pkgs/development/tools/buildah/default.nix
@@ -14,13 +14,13 @@
 
 buildGoModule rec {
   pname = "buildah";
-  version = "1.21.1";
+  version = "1.21.2";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "buildah";
     rev = "v${version}";
-    sha256 = "sha256-Wes52lTcv3Jb6gJeUS6fmf4Nee3qEcc3SibaTFvQ8sQ=";
+    sha256 = "sha256-9AYFC10AYbt/qHj5hfuLRxUwibizKk4n9rgtd5RBEQg=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index d154adbdc1b..e89c784df74 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl }:
 
 let
-  version = "14.0.0";
+  version = "14.0.1";
   # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
   docker_x86_64 = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/binaries/gitlab-runner-helper/gitlab-runner-helper.x86_64";
-    sha256 = "156dm6kg154fyn3axgw7kcpq9xz8mxdyhch8snp0vxzh941sc74w";
+    sha256 = "1i1fddsz7cr0kg4bxqisx29cwyd07zqfbpmh5mhvi5zqy0gfmcn8";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/binaries/gitlab-runner-helper/gitlab-runner-helper.arm";
-    sha256 = "0cnjbcc3bdiahff3iyxwppj9gwaj7r7x80hk2cv2q4hkdpsji655";
+    sha256 = "1d2ywc3cikffiwpql2kp5zg21vjinz51f76c6wdn0v35wl705fz4";
   };
 in
 buildGoPackage rec {
@@ -30,7 +30,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "14g78m5h5d02k04lc07jc8yp7sqmfkjif589rb8wkb9jmbh7glmi";
+    sha256 = "1prvmppq5w897bd9ch5z0h6h8mndy6myv8al24cr0bjc27c6wyn7";
   };
 
   patches = [ ./fix-shell-path.patch ];
diff --git a/pkgs/development/tools/database/sqlfluff/default.nix b/pkgs/development/tools/database/sqlfluff/default.nix
index 01f4941c8e4..12e5c8c14ab 100644
--- a/pkgs/development/tools/database/sqlfluff/default.nix
+++ b/pkgs/development/tools/database/sqlfluff/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sqlfluff";
-  version = "0.6.0a2";
+  version = "0.6.0";
   disabled = python3.pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "13hzr0jialzi2nlvqwvff3w0h6jikqvcg0p2p4irwlisg4db8w7w";
+    sha256 = "sha256-RW3+NpKZns3Jo1b3GfTymUE74pVoJi9f0zi4j4mUGiY=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/efm-langserver/default.nix b/pkgs/development/tools/efm-langserver/default.nix
new file mode 100644
index 00000000000..f42ae929af1
--- /dev/null
+++ b/pkgs/development/tools/efm-langserver/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "efm-langserver";
+  version = "0.0.31";
+
+  src = fetchFromGitHub {
+    owner = "mattn";
+    repo = "efm-langserver";
+    rev = "v${version}";
+    sha256 = "sha256-4NdD+WwvlqfJdPqXTz9LUyriJyLPppi8jH6dxYupe6A=";
+  };
+
+  vendorSha256 = "sha256-tca+1SRrFyvU8ttHmfMFiGXd1A8rQSEWm1Mc2qp0EfI=";
+  subPackages = [ "." ];
+
+  meta = with lib; {
+    description = "General purpose Language Server";
+    maintainers = with maintainers; [ Philipp-M ];
+    homepage = "https://github.com/mattn/efm-langserver";
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index 22a6a59cc1b..309845df80a 100644
--- a/pkgs/development/tools/esbuild/default.nix
+++ b/pkgs/development/tools/esbuild/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "esbuild";
-  version = "0.12.9";
+  version = "0.12.12";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    sha256 = "sha256-MqwgdhgWIfYE0wO7fWQuC72tEwCVgL7qUbJlJ3APf4E=";
+    sha256 = "sha256-4Ooadv8r6GUBiayiv4WKVurUeRPIv6LPlMhieH4VL8o=";
   };
 
   vendorSha256 = "sha256-2ABWPqhK2Cf4ipQH7XvRrd+ZscJhYPc3SV2cGT0apdg=";
diff --git a/pkgs/development/tools/flawfinder/default.nix b/pkgs/development/tools/flawfinder/default.nix
index 554ca92b8c0..36209c5d5aa 100644
--- a/pkgs/development/tools/flawfinder/default.nix
+++ b/pkgs/development/tools/flawfinder/default.nix
@@ -1,30 +1,22 @@
 { lib
-, stdenv
 , fetchurl
 , installShellFiles
 , python3
 }:
 
-stdenv.mkDerivation rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "flawfinder";
-  version = "2.0.15";
+  version = "2.0.18";
 
   src = fetchurl {
     url = "https://dwheeler.com/flawfinder/flawfinder-${version}.tar.gz";
-    sha256 = "01j4szy8gwvikrfzfayfayjnc1za0jxsnxp5fsa6d06kn69wyr8a";
+    sha256 = "1hk2y13fd2a5gf42a1hk45hw6pbls715wi9k1yh3c3wyhvbyylba";
   };
 
-  nativeBuildInputs = [ installShellFiles ];
+  # Project is using a combination of bash/Python for the tests
+  doCheck = false;
 
-  buildInputs = [ python3 ];
-
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/bin
-    cp ${pname} $out/bin
-    installManPage flawfinder.1
-    runHook postInstall
-  '';
+  pythonImportsCheck = [ "flawfinder" ];
 
   meta = with lib; {
     description = "Tool to examines C/C++ source code for security flaws";
diff --git a/pkgs/development/tools/ginkgo/default.nix b/pkgs/development/tools/ginkgo/default.nix
index 0f54d7ca53e..4bc550165c2 100644
--- a/pkgs/development/tools/ginkgo/default.nix
+++ b/pkgs/development/tools/ginkgo/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ginkgo";
-  version = "1.16.3";
+  version = "1.16.4";
 
   src = fetchFromGitHub {
     owner = "onsi";
     repo = "ginkgo";
     rev = "v${version}";
-    sha256 = "sha256-MDxDDZaNgjZz98lAoIIpWbIg7Cr/6kohSh+WL/1Ljyo=";
+    sha256 = "sha256-p9kam1pRP0Am02o7vM+VzeAht+Qtn4DZ12NM8TaA/2Y=";
   };
   vendorSha256 = "sha256-tS8YCGVOsfQp02vY6brmE3pxi70GG9DYcp1JDkcVG9Y=";
   doCheck = false;
diff --git a/pkgs/development/tools/go-minimock/default.nix b/pkgs/development/tools/go-minimock/default.nix
index 3131fc59b41..60f53e1e253 100644
--- a/pkgs/development/tools/go-minimock/default.nix
+++ b/pkgs/development/tools/go-minimock/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "go-minimock";
-  version = "3.0.8";
+  version = "3.0.9";
 
   src = fetchFromGitHub {
     owner = "gojuno";
     repo = "minimock";
     rev = "v${version}";
-    sha256 = "0r0krbwvx5w1z0yv2qqi92irbsfhkvwvaigy350cvcz9gmcppj4h";
+    sha256 = "sha256-l+ngvmTb9yVgQYT+OeaVd0zz/xNZeXWrjMpVkMpbQIw=";
   };
 
   buildFlagsArray = [
     "-ldflags=-s -w -X main.version=${version}"
   ];
 
-  vendorSha256 = "1macwm6hybjinwnx62v146yxydcn5k5r587nxwkf4ffy76s2m3jc";
+  vendorSha256 = "sha256-hn222ifKRYbASAHBJyMTCDwhykf2Jg9IqIUlK/GabJA=";
 
   doCheck = true;
 
diff --git a/pkgs/development/tools/just/default.nix b/pkgs/development/tools/just/default.nix
index e1ae8a5a0e7..8a8d4201451 100644
--- a/pkgs/development/tools/just/default.nix
+++ b/pkgs/development/tools/just/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "just";
-  version = "0.9.5";
+  version = "0.9.6";
 
   src = fetchFromGitHub {
     owner = "casey";
     repo = pname;
     rev = version;
-    sha256 = "sha256-fDbnOfT2BTCLF2knUf3ccDnuA0mhM+gkbja7xgmWoaY=";
+    sha256 = "sha256-FWJ7fSJysT5LVFio49nbN0T0b+zWwiV7NvEJlojbNKs=";
   };
 
-  cargoSha256 = "sha256-mBrFw5d0LXTKj7Nm8XmT5hsq/d/x84U/Gp02+lay2OY=";
+  cargoSha256 = "sha256-/VmCuHPURQTyeIumMaWVrFu18ZgVR0klpc/bO1f1w4o=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
@@ -52,7 +52,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     homepage = "https://github.com/casey/just";
-    changelog = "https://github.com/casey/just/blob/v${version}/CHANGELOG.md";
+    changelog = "https://github.com/casey/just/blob/${version}/CHANGELOG.md";
     description = "A handy way to save and run project-specific commands";
     license = licenses.cc0;
     maintainers = with maintainers; [ xrelkd jk ];
diff --git a/pkgs/development/tools/kustomize/3.nix b/pkgs/development/tools/kustomize/3.nix
new file mode 100644
index 00000000000..aa99256faa8
--- /dev/null
+++ b/pkgs/development/tools/kustomize/3.nix
@@ -0,0 +1,40 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kustomize_3";
+  version = "3.10.0";
+  # rev is the commit of the tag, mainly for kustomize version command output
+  rev = "602ad8aa98e2e17f6c9119e027a09757e63c8bec";
+
+  ldflags = let t = "sigs.k8s.io/kustomize/api/provenance"; in [
+    "-s -w"
+    "-X ${t}.version=${version}"
+    "-X ${t}.gitCommit=${rev}"
+  ];
+
+  src = fetchFromGitHub {
+    owner = "kubernetes-sigs";
+    repo = "kustomize";
+    rev = "kustomize/v${version}";
+    sha256 = "sha256-ESIykbAKXdv8zM9be0zEJ71rBAzZby0aTg25NlCsIOM=";
+  };
+
+  doCheck = true;
+
+  # avoid finding test and development commands
+  sourceRoot = "source/kustomize";
+
+  vendorSha256 = "sha256-xLeetcmzvpILLLMhMx7oahWLxguFjG3qbYpeeWpFUlw=";
+
+  meta = with lib; {
+    description = "Customization of kubernetes YAML configurations";
+    longDescription = ''
+      kustomize lets you customize raw, template-free YAML files for
+      multiple purposes, leaving the original YAML untouched and usable
+      as is.
+    '';
+    homepage = "https://github.com/kubernetes-sigs/kustomize";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ carlosdagos vdemeester zaninime Chili-Man saschagrunert ];
+  };
+}
diff --git a/pkgs/development/tools/kustomize/kustomize-sops.nix b/pkgs/development/tools/kustomize/kustomize-sops.nix
index 9c71af56213..bea8a33a43d 100644
--- a/pkgs/development/tools/kustomize/kustomize-sops.nix
+++ b/pkgs/development/tools/kustomize/kustomize-sops.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kustomize-sops";
-  version = "2.5.6";
+  version = "2.5.7";
 
   src = fetchFromGitHub {
     owner = "viaduct-ai";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-UEtWEOuekFbMUJFWYdXfzbCWCz4I7vVdb9UBQbMXF/A=";
+    sha256 = "sha256-CtVFCpj6YZUAjeyRAPOkbd30Js1PSmzapB12SwKZisc=";
   };
 
   vendorSha256 = "sha256-kNJkSivSj8LMeXobKazLy9MCTtWzrBn99GmvaH+qIUU=";
diff --git a/pkgs/development/tools/mbed-cli/default.nix b/pkgs/development/tools/mbed-cli/default.nix
index 127fa1bef86..12e7d191547 100644
--- a/pkgs/development/tools/mbed-cli/default.nix
+++ b/pkgs/development/tools/mbed-cli/default.nix
@@ -28,7 +28,7 @@ buildPythonApplication rec {
     homepage = "https://github.com/ARMmbed/mbed-cli";
     description = "Arm Mbed Command Line Interface";
     license = licenses.asl20;
-    maintainers = with maintainers; [ rvolosatovs ];
+    maintainers = with maintainers; [ ];
   };
 }
 
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 8042655a859..a4233886a85 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -70,7 +70,7 @@ stdenv.mkDerivation {
        # indeed GHC will refuse to compile with a binutils suffering from it. See
        # this comment for more information:
        # https://gitlab.haskell.org/ghc/ghc/issues/4210#note_78333
-       lib.optional stdenv.targetPlatform.isAarch32 ./R_ARM_COPY.patch;
+       lib.optional (stdenv.targetPlatform.isAarch32 && stdenv.hostPlatform.system != stdenv.targetPlatform.system) ./R_ARM_COPY.patch;
 
   outputs = [ "out" "info" "man" ];
 
diff --git a/pkgs/development/tools/ocaml/ocamlformat/generic.nix b/pkgs/development/tools/ocaml/ocamlformat/generic.nix
index 6f3ce218713..536fcd4acb1 100644
--- a/pkgs/development/tools/ocaml/ocamlformat/generic.nix
+++ b/pkgs/development/tools/ocaml/ocamlformat/generic.nix
@@ -83,7 +83,7 @@ buildDunePackage {
       ocaml-version
       # Changed since 0.16.0:
       (ppxlib.override { version = "0.22.0"; })
-      ocaml-migrate-parsetree-2-1
+      ocaml-migrate-parsetree-2
     ]
     else if lib.versionAtLeast version "0.15.1"
     then [
diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix
index 53dd4e9827f..361f64046ce 100644
--- a/pkgs/development/tools/ocaml/utop/default.nix
+++ b/pkgs/development/tools/ocaml/utop/default.nix
@@ -8,13 +8,13 @@ else
 
 buildDunePackage rec {
   pname = "utop";
-  version = "2.7.0";
+  version = "2.8.0";
 
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/ocaml-community/utop/releases/download/${version}/utop-${version}.tbz";
-    sha256 = "sha256-4GisU98mfDzA8vabvCBEBPA2LMTmRyofxUfjJqY8P90=";
+    sha256 = "0mi571ifjzq4wcjarn8q1b7yl8nxjm1jfx3afac224lqwn6bhb2d";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/protoc-gen-go/default.nix b/pkgs/development/tools/protoc-gen-go/default.nix
index 9f94e3c78f3..79f97ddd745 100644
--- a/pkgs/development/tools/protoc-gen-go/default.nix
+++ b/pkgs/development/tools/protoc-gen-go/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "protoc-gen-go";
-  version = "1.26.0";
+  version = "1.27.1";
 
   src = fetchFromGitHub {
     owner = "protocolbuffers";
     repo = "protobuf-go";
     rev = "v${version}";
-    sha256 = "sha256-n2LHI8DXQFFWhTPOFCegBgwi/0tFvRE226AZfRW8Bnc=";
+    sha256 = "sha256-wkUvMsoJP38KMD5b3Fz65R1cnpeTtDcVqgE7tNlZXys=";
   };
 
   vendorSha256 = "sha256-yb8l4ooZwqfvenlxDRg95rqiL+hmsn0weS/dPv/oD2Y=";
diff --git a/pkgs/development/tools/rust/cargo-flash/default.nix b/pkgs/development/tools/rust/cargo-flash/default.nix
index a2679b53c4b..fe9f6c9dff6 100644
--- a/pkgs/development/tools/rust/cargo-flash/default.nix
+++ b/pkgs/development/tools/rust/cargo-flash/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-flash";
-  version = "0.10.1";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "probe-rs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-aQ5647woODs/A4fcxSsQoQHL6YQ0TpfQFegtXETqlHk=";
+    sha256 = "sha256-yTtnRdDy3wGBe0SlO0165uooWu6ZMhUQw3hdDUK1e8A=";
   };
 
-  cargoSha256 = "sha256-P7xyg9I1MhmiKlyAI9cvABcYKNxB6TSvTgMsMk5KxAQ=";
+  cargoSha256 = "sha256-f5vUMdyz3vDh2yE0pMKZiknsqTAKkuvTCtlgb6/gaLc=";
 
   nativeBuildInputs = [ pkg-config rustfmt ];
   buildInputs = [ libusb1 openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index 07b00deb9c3..b3c75d9747e 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -7,14 +7,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2021-06-21";
-  cargoSha256 = "sha256-OpfcxBeNwXSD830Sz3o07kgIdXTbZNNVGpaPeCIGGV8=";
+  version = "2021-06-28";
+  cargoSha256 = "sha256-Xpo/VK/w6BVbHUc+m/70AE0Cag8D3fT+wosOA8Lzz2A=";
 
   src = fetchFromGitHub {
     owner = "rust-analyzer";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-nL5lSvxpOS+fw4iH/Gnl/DI86T9tUtguOy+wLGRkoeY=";
+    sha256 = "sha256-aWLqcCSeKRmCsETu4ri+SPQ5iB6nqaYELj0Qt3zW9/E=";
   };
 
   patches = [
diff --git a/pkgs/development/tools/rust/rust-analyzer/no-rust-1-53-features.patch b/pkgs/development/tools/rust/rust-analyzer/no-rust-1-53-features.patch
index 9fa54e8a903..864dc749b27 100644
--- a/pkgs/development/tools/rust/rust-analyzer/no-rust-1-53-features.patch
+++ b/pkgs/development/tools/rust/rust-analyzer/no-rust-1-53-features.patch
@@ -34,7 +34,7 @@ index 43162797e..613266e07 100644
                  Some(TypeNs::TypeAliasId((*alias).into()))
              }
 diff --git a/crates/hir_def/src/item_tree/pretty.rs b/crates/hir_def/src/item_tree/pretty.rs
-index e63bc8232..b1e1b70d0 100644
+index 8b12e5a67..d03c11377 100644
 --- a/crates/hir_def/src/item_tree/pretty.rs
 +++ b/crates/hir_def/src/item_tree/pretty.rs
 @@ -63,7 +63,7 @@ impl<'a> Printer<'a> {
@@ -56,7 +56,7 @@ index e63bc8232..b1e1b70d0 100644
          }
      }
 diff --git a/crates/hir_def/src/nameres/collector.rs b/crates/hir_def/src/nameres/collector.rs
-index 927a7b6e8..fc2c50fb8 100644
+index 634e02205..250eb1c3e 100644
 --- a/crates/hir_def/src/nameres/collector.rs
 +++ b/crates/hir_def/src/nameres/collector.rs
 @@ -1260,7 +1260,7 @@ impl DefCollector<'_> {
@@ -69,7 +69,7 @@ index 927a7b6e8..fc2c50fb8 100644
                              continue;
                          }
 diff --git a/crates/hir_def/src/resolver.rs b/crates/hir_def/src/resolver.rs
-index 49c573087..5edd93a2a 100644
+index a11439c3b..1841fe989 100644
 --- a/crates/hir_def/src/resolver.rs
 +++ b/crates/hir_def/src/resolver.rs
 @@ -605,7 +605,8 @@ fn to_value_ns(per_ns: PerNs) -> Option<ValueNs> {
@@ -362,7 +362,7 @@ index ffa8bd182..93d3760bf 100644
  
  fn compute_ws(left: SyntaxKind, right: SyntaxKind) -> &'static str {
 diff --git a/crates/ide/src/references.rs b/crates/ide/src/references.rs
-index 5808562a7..945c9b9e1 100644
+index 2d3a0f598..7a7654b6c 100644
 --- a/crates/ide/src/references.rs
 +++ b/crates/ide/src/references.rs
 @@ -79,7 +79,8 @@ pub(crate) fn find_all_refs(
@@ -376,10 +376,10 @@ index 5808562a7..945c9b9e1 100644
                      it.retain(|reference| {
                          reference.name.as_name_ref().map_or(false, is_lit_name_ref)
 diff --git a/crates/ide/src/syntax_highlighting.rs b/crates/ide/src/syntax_highlighting.rs
-index d44a1b45f..e186b82b7 100644
+index 5259d86d2..365d0c4de 100644
 --- a/crates/ide/src/syntax_highlighting.rs
 +++ b/crates/ide/src/syntax_highlighting.rs
-@@ -294,7 +294,7 @@ fn traverse(
+@@ -295,7 +295,7 @@ fn traverse(
                  Some(parent) => {
                      // We only care Name and Name_ref
                      match (token.kind(), parent.kind()) {
@@ -388,7 +388,7 @@ index d44a1b45f..e186b82b7 100644
                          _ => token.into(),
                      }
                  }
-@@ -310,7 +310,7 @@ fn traverse(
+@@ -311,7 +311,7 @@ fn traverse(
                  Some(parent) => {
                      // We only care Name and Name_ref
                      match (token.kind(), parent.kind()) {
@@ -398,10 +398,10 @@ index d44a1b45f..e186b82b7 100644
                      }
                  }
 diff --git a/crates/ide_assists/src/handlers/extract_function.rs b/crates/ide_assists/src/handlers/extract_function.rs
-index ac7f0959b..9b78cf4b1 100644
+index 870d4f665..454de2645 100644
 --- a/crates/ide_assists/src/handlers/extract_function.rs
 +++ b/crates/ide_assists/src/handlers/extract_function.rs
-@@ -1384,7 +1384,7 @@ fn fix_param_usages(ctx: &AssistContext, params: &[Param], syntax: &SyntaxNode)
+@@ -1398,7 +1398,7 @@ fn fix_param_usages(ctx: &AssistContext, params: &[Param], syntax: &SyntaxNode)
      for (param, usages) in usages_for_param {
          for usage in usages {
              match usage.syntax().ancestors().skip(1).find_map(ast::Expr::cast) {
@@ -429,7 +429,7 @@ index 841537c77..d9d9124b6 100644
          }
          (None, ExpectedResult::NotApplicable) => (),
 diff --git a/crates/ide_completion/src/completions/qualified_path.rs b/crates/ide_completion/src/completions/qualified_path.rs
-index f5dbd203b..88f4d940d 100644
+index 1b8997ecf..aaaef27d2 100644
 --- a/crates/ide_completion/src/completions/qualified_path.rs
 +++ b/crates/ide_completion/src/completions/qualified_path.rs
 @@ -65,11 +65,9 @@ pub(crate) fn complete_qualified_path(acc: &mut Completions, ctx: &CompletionCon
@@ -465,10 +465,19 @@ index f5dbd203b..88f4d940d 100644
                  add_enum_variants(acc, ctx, e);
              }
 diff --git a/crates/ide_completion/src/completions/unqualified_path.rs b/crates/ide_completion/src/completions/unqualified_path.rs
-index 81c4fb305..8ea5a2d5b 100644
+index 5abd6ee37..5e6a2e661 100644
 --- a/crates/ide_completion/src/completions/unqualified_path.rs
 +++ b/crates/ide_completion/src/completions/unqualified_path.rs
-@@ -74,11 +74,9 @@ pub(crate) fn complete_unqualified_path(acc: &mut Completions, ctx: &CompletionC
+@@ -40,7 +40,7 @@ pub(crate) fn complete_unqualified_path(acc: &mut Completions, ctx: &CompletionC
+         ctx.scope.process_all_names(&mut |name, res| {
+             let add_resolution = match res {
+                 ScopeDef::MacroDef(mac) => mac.is_fn_like(),
+-                ScopeDef::ModuleDef(hir::ModuleDef::Trait(_) | hir::ModuleDef::Module(_)) => true,
++                ScopeDef::ModuleDef(hir::ModuleDef::Trait(_)) | ScopeDef::ModuleDef(hir::ModuleDef::Module(_)) => true,
+                 _ => false,
+             };
+             if add_resolution {
+@@ -88,11 +88,9 @@ pub(crate) fn complete_unqualified_path(acc: &mut Completions, ctx: &CompletionC
              // Don't suggest attribute macros and derives.
              ScopeDef::MacroDef(mac) => mac.is_fn_like(),
              // no values in type places
@@ -484,7 +493,7 @@ index 81c4fb305..8ea5a2d5b 100644
              // unless its a constant in a generic arg list position
              ScopeDef::ModuleDef(hir::ModuleDef::Const(_))
 diff --git a/crates/ide_completion/src/context.rs b/crates/ide_completion/src/context.rs
-index 7b76600df..09eb953fd 100644
+index f0da98739..ea1e110da 100644
 --- a/crates/ide_completion/src/context.rs
 +++ b/crates/ide_completion/src/context.rs
 @@ -242,23 +242,24 @@ impl<'a> CompletionContext<'a> {
@@ -518,7 +527,7 @@ index 7b76600df..09eb953fd 100644
              _ => None,
          }
      }
-@@ -282,7 +283,7 @@ impl<'a> CompletionContext<'a> {
+@@ -282,28 +283,28 @@ impl<'a> CompletionContext<'a> {
      pub(crate) fn expects_ident_pat_or_ref_expr(&self) -> bool {
          matches!(
              self.completion_location,
@@ -527,7 +536,14 @@ index 7b76600df..09eb953fd 100644
          )
      }
  
-@@ -293,14 +294,14 @@ impl<'a> CompletionContext<'a> {
+     pub(crate) fn expect_field(&self) -> bool {
+         matches!(
+             self.completion_location,
+-            Some(ImmediateLocation::RecordField | ImmediateLocation::TupleField)
++            Some(ImmediateLocation::RecordField) | Some(ImmediateLocation::TupleField)
+         )
+     }
+ 
      pub(crate) fn in_use_tree(&self) -> bool {
          matches!(
              self.completion_location,
@@ -544,7 +560,7 @@ index 7b76600df..09eb953fd 100644
          )
      }
  
-@@ -321,16 +322,14 @@ impl<'a> CompletionContext<'a> {
+@@ -324,16 +325,14 @@ impl<'a> CompletionContext<'a> {
              || self.previous_token_is(T![unsafe])
              || matches!(
                  self.prev_sibling,
@@ -566,7 +582,7 @@ index 7b76600df..09eb953fd 100644
              )
      }
  
-@@ -704,8 +703,8 @@ fn path_or_use_tree_qualifier(path: &ast::Path) -> Option<(ast::Path, bool)> {
+@@ -707,8 +706,8 @@ fn path_or_use_tree_qualifier(path: &ast::Path) -> Option<(ast::Path, bool)> {
  
  fn has_ref(token: &SyntaxToken) -> bool {
      let mut token = token.clone();
@@ -591,7 +607,7 @@ index 33d3a5ee1..749dfc665 100644
                  ctx.completion_location,
                  Some(ImmediateLocation::MethodCall { has_parens: true, .. })
 diff --git a/crates/mbe/src/expander/matcher.rs b/crates/mbe/src/expander/matcher.rs
-index b4f2fe9a4..c2a9a38c9 100644
+index 0d694b1a7..5c4680d19 100644
 --- a/crates/mbe/src/expander/matcher.rs
 +++ b/crates/mbe/src/expander/matcher.rs
 @@ -804,17 +804,33 @@ impl<'a> TtIter<'a> {
diff --git a/pkgs/development/tools/skopeo/default.nix b/pkgs/development/tools/skopeo/default.nix
index 2af1d5e2a07..ed704b0639a 100644
--- a/pkgs/development/tools/skopeo/default.nix
+++ b/pkgs/development/tools/skopeo/default.nix
@@ -14,13 +14,13 @@
 
 buildGoModule rec {
   pname = "skopeo";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "containers";
     repo = "skopeo";
-    sha256 = "sha256-ZHEujkl+GUk5WjgDWdbJwOIKuOqJnIpGnvD1SsrHuhI=";
+    sha256 = "sha256-ARNsNt5xpXn4ifnnRdmkhJAJq98ri3+oAF+Uov+byI0=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/development/tools/stylua/default.nix b/pkgs/development/tools/stylua/default.nix
index 48250297e49..7394b402cfe 100644
--- a/pkgs/development/tools/stylua/default.nix
+++ b/pkgs/development/tools/stylua/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "stylua";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "johnnymorganz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0idx4664p9ggv8p2pwgpch42li9ksiilszpwva19y4fa5xrmcyr2";
+    sha256 = "1xpl3nxiln6hxxjd9nx99h4qijjym3afxm5nalw40p152h8zgig4";
   };
 
-  cargoSha256 = "1hc7zvrfiiijk4wr6i5jk6k32nz0lf64gqin3n8b8x5pp9d8fcfk";
+  cargoSha256 = "012zv1myackwk0x73l6ri7zzrzwdkd970hh4p30b590bmsam6sb9";
 
   cargoBuildFlags = lib.optionals lua52Support [ "--features" "lua52" ]
     ++ lib.optionals luauSupport [ "--features" "luau" ];
diff --git a/pkgs/development/tools/turbogit/default.nix b/pkgs/development/tools/turbogit/default.nix
index 68bd1068354..7d3e88f6cb4 100644
--- a/pkgs/development/tools/turbogit/default.nix
+++ b/pkgs/development/tools/turbogit/default.nix
@@ -1,20 +1,21 @@
-{ fetchFromGitHub, buildGoModule, lib, installShellFiles }:
+{ fetchFromGitHub, buildGoModule, lib, installShellFiles, libgit2, pkg-config }:
 buildGoModule rec {
   pname = "turbogit";
-  version = "1.2.0";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "b4nst";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-alVgXnsoC2nmUe6i/l0ttUjoXpKLHr0n/7p6WbIIGBU=";
+    sha256 = "sha256-UIPI1r6BnfD5ukk5yGg3VJHMyaMp30MXhJfOkoNT6vs=";
   };
 
-  vendorSha256 = "sha256-6fxbxpROYiNw5SYdQAIdy5NfqzOcFfAlJ+vTQyFtink=";
+  vendorSha256 = "sha256-SX0VPENcfw8ysL+dDGPSJ/FNdyecjENx4+UHXdu71O8=";
 
   subPackages = [ "." ];
 
-  nativeBuildInputs = [ installShellFiles ];
+  buildInputs = [ libgit2 ];
+  nativeBuildInputs = [ installShellFiles pkg-config ];
   postInstall = ''
     # Move turbogit binary to tug
     ln -s $out/bin/turbogit $out/bin/tug
@@ -37,6 +38,7 @@ buildGoModule rec {
     '';
     homepage = "https://b4nst.github.io/turbogit";
     license = licenses.mit;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = [ maintainers.yusdacra ];
   };
 }
diff --git a/pkgs/development/tools/unity3d/default.nix b/pkgs/development/tools/unity3d/default.nix
index 9333864c69b..5470c45b138 100644
--- a/pkgs/development/tools/unity3d/default.nix
+++ b/pkgs/development/tools/unity3d/default.nix
@@ -30,7 +30,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://beta.unity3d.com/download/6e9a27477296/LinuxEditorInstaller/Unity.tar.xz";
-    sha1 = "083imikkrgha5w9sihjvv1m74naxm5yv";
+    sha256 = "10gppnqacs1qzahj077nkcgbfz2lryd0dxnfcmvyc64xpxnj9nlk";
   };
 
   nosuidLib = ./unity-nosuid.c;
diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index 85f7c294e9d..b469a49eb72 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -17,15 +17,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.11.2";
+  version = "1.11.3";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/dy+jAm9TioDF8rZtLNFlKcu7ASzvvoVq4dun4gkiCA=";
+    sha256 = "sha256-Ru75eyyyaaFDD71AzDE5kgLsiB7thjqrJvvnA/PdvrA=";
   };
-  cargoSha256 = "sha256-AUNDwbiGHiA+GADnLo/CmKAMhv68BPnvXsZaWacDJ2Y=";
+  cargoSha256 = "sha256-8UnsmIDdFEKp4diJ6Cr/fsbPKlw7wGHmGjXu5oqh2HI=";
 
   # Install completions post-install
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/development/web/protege-distribution/default.nix b/pkgs/development/web/protege-distribution/default.nix
index 49d28cb17ee..3b885e65151 100644
--- a/pkgs/development/web/protege-distribution/default.nix
+++ b/pkgs/development/web/protege-distribution/default.nix
@@ -1,4 +1,8 @@
-{ lib, stdenv, fetchurl, unzip, jre8, copyDesktopItems, makeDesktopItem }:
+{ lib, stdenv, fetchurl, unzip, jre8
+, copyDesktopItems
+, makeDesktopItem
+, iconConvTools
+}:
 
 stdenv.mkDerivation rec {
   pname = "protege-distribution";
@@ -9,23 +13,21 @@ stdenv.mkDerivation rec {
     sha256 = "092x22wyisdnhccx817mqq15sxqdfc7iz4whr4mbvzrd9di6ipjq";
   };
 
-  nativeBuildInputs = [ unzip copyDesktopItems ];
+  nativeBuildInputs = [ unzip copyDesktopItems iconConvTools ];
 
-  postPatch = ''
-    # Delete all those commands meant to change directory to the source directory
-    sed -i -e '3,9d' run.sh
-
-    # Change directory to where the application is stored to avoid heavy patching
-    # of searchpaths
-    sed -i -e "2a\
-    cd $out/protege" run.sh
+  patches = [
+    # Replace logic for searching the install directory with a static cd into $out
+    ./static-path.patch
+    # Disable console logging, maintaining only file-based logging
+    ./disable-console-log.patch
+  ];
 
-    # Set the correct Java executable (Protege is a JRE 8 application)
+  postPatch = ''
+    # Resolve @out@ (introduced by "static-path.patch") to $out, and set the
+    # correct Java executable (Protege is a JRE 8 application)
     substituteInPlace run.sh \
-      --replace "java -X" "exec ${jre8.outPath}/bin/java -X" \
-
-    # Silence console logs, since these are not shown in graphical environments
-    sed -i -e '4,8d;21d' conf/logback.xml
+      --subst-var-by out $out \
+      --replace "java -X" "exec ${jre8.outPath}/bin/java -X"
   '';
 
   dontConfigure = true;
@@ -42,8 +44,8 @@ stdenv.mkDerivation rec {
     # Move launch script into /bin, giving it a recognizable name
     install -D run.sh $out/bin/run-protege
 
-    # Copy icon to where it can be found
-    install -D app/Protege.ico $out/share/icons/hicolor/128x128/apps/protege.ico
+    # Generate and copy icons to where they can be found
+    icoFileToHiColorTheme app/Protege.ico protege $out
 
     # Move everything else under protege/
     mkdir $out/protege
@@ -56,8 +58,9 @@ stdenv.mkDerivation rec {
     (makeDesktopItem {
       name = "Protege";
       desktopName = "Protege Desktop";
-      icon = "protege.ico";
+      icon = "protege";
       comment = "OWL2 ontology editor";
+      categories = "Development";
       exec = "run-protege";
     })
   ];
diff --git a/pkgs/development/web/protege-distribution/disable-console-log.patch b/pkgs/development/web/protege-distribution/disable-console-log.patch
new file mode 100644
index 00000000000..edd6277ffa3
--- /dev/null
+++ b/pkgs/development/web/protege-distribution/disable-console-log.patch
@@ -0,0 +1,28 @@
+--- a/conf/logback.xml	2021-06-25 00:49:10.446416341 +0900
++++ b/conf/logback.xml	2021-06-25 00:50:32.889120465 +0900
+@@ -1,13 +1,6 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <configuration scan="true" scanPeriod="10 seconds">
+ 
+-    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
+-        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+-            <Pattern>%highlight(%msg) %n</Pattern>
+-        </encoder>
+-    </appender>
+-
+-
+     <appender name="files" class="ch.qos.logback.core.FileAppender">
+         <file>${user.home}/.Protege/logs/protege.log</file>
+         <append>true</append>
+@@ -18,9 +11,8 @@
+ 
+ 
+     <root level="info">
+-        <appender-ref ref="stdout" />
+         <appender-ref ref="files"/>
+     </root>
+ 
+ 
+-</configuration>
+\ No newline at end of file
++</configuration>
diff --git a/pkgs/development/web/protege-distribution/static-path.patch b/pkgs/development/web/protege-distribution/static-path.patch
new file mode 100644
index 00000000000..66762f70ca9
--- /dev/null
+++ b/pkgs/development/web/protege-distribution/static-path.patch
@@ -0,0 +1,16 @@
+--- a/run.sh	2021-06-24 22:30:20.764897745 +0900
++++ b/run.sh	2021-06-24 22:29:47.211210142 +0900
+@@ -1,12 +1,6 @@
+ #!/usr/bin/env bash
+ 
+-SOURCE="${BASH_SOURCE[0]}"
+-while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
+-  DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
+-  SOURCE="$(readlink "$SOURCE")"
+-  [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
+-done
+-cd "$( cd -P "$( dirname "$SOURCE" )" && pwd )"
++cd @out@/protege
+ 
+ java -Xmx500M -Xms200M \
+      -Xss16M \