about 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/beam-modules/elixir_ls.nix2
-rw-r--r--pkgs/development/beam-modules/hex/default.nix4
-rw-r--r--pkgs/development/compilers/gcc/8/default.nix1
-rw-r--r--pkgs/development/compilers/gcc/9/default.nix1
-rw-r--r--pkgs/development/compilers/llvm/12/bintools/default.nix (renamed from pkgs/development/compilers/llvm/12/bintools.nix)0
-rw-r--r--pkgs/development/compilers/llvm/12/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/12/libcxx/default.nix (renamed from pkgs/development/compilers/llvm/12/libc++/default.nix)2
-rw-r--r--pkgs/development/compilers/llvm/12/libcxxabi/default.nix (renamed from pkgs/development/compilers/llvm/12/libc++abi/default.nix)2
-rw-r--r--pkgs/development/compilers/llvm/12/libcxxabi/libcxxabi-wasm.patch (renamed from pkgs/development/compilers/llvm/12/libc++abi/libcxxabi-wasm.patch)0
-rw-r--r--pkgs/development/compilers/llvm/12/openmp/default.nix (renamed from pkgs/development/compilers/llvm/12/openmp.nix)0
-rw-r--r--pkgs/development/compilers/mrustc/bootstrap.nix153
-rw-r--r--pkgs/development/compilers/mrustc/default.nix53
-rw-r--r--pkgs/development/compilers/mrustc/minicargo.nix39
-rw-r--r--pkgs/development/compilers/mrustc/patches/0001-use-shared-llvm.patch12
-rw-r--r--pkgs/development/compilers/mrustc/patches/0002-dont-build-llvm.patch14
-rw-r--r--pkgs/development/compilers/mrustc/patches/0003-echo-newlines.patch13
-rw-r--r--pkgs/development/compilers/mrustc/patches/0004-increase-parallelism.patch28
-rw-r--r--pkgs/development/compilers/openjdk/jre.nix33
-rw-r--r--pkgs/development/coq-modules/QuickChick/default.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix11
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml122
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix34
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix2154
-rw-r--r--pkgs/development/interpreters/clojure/babashka.nix10
-rw-r--r--pkgs/development/libraries/ace/default.nix15
-rw-r--r--pkgs/development/libraries/afflib/default.nix5
-rw-r--r--pkgs/development/libraries/agda/agda-categories/default.nix4
-rw-r--r--pkgs/development/libraries/agda/functional-linear-algebra/default.nix4
-rw-r--r--pkgs/development/libraries/agda/standard-library/default.nix4
-rw-r--r--pkgs/development/libraries/alembic/default.nix4
-rw-r--r--pkgs/development/libraries/attr/default.nix10
-rw-r--r--pkgs/development/libraries/eigen/2.0.nix11
-rw-r--r--pkgs/development/libraries/eigen/default.nix15
-rw-r--r--pkgs/development/libraries/freeimage/default.nix4
-rw-r--r--pkgs/development/libraries/intel-gmmlib/default.nix4
-rw-r--r--pkgs/development/libraries/jasper/default.nix4
-rw-r--r--pkgs/development/libraries/libnbd/default.nix4
-rw-r--r--pkgs/development/libraries/libraspberrypi/default.nix2
-rw-r--r--pkgs/development/libraries/libspectrum/default.nix3
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/default.nix1
-rw-r--r--pkgs/development/libraries/libxc/default.nix5
-rw-r--r--pkgs/development/libraries/libxlsxwriter/default.nix46
-rw-r--r--pkgs/development/libraries/lief/default.nix64
-rw-r--r--pkgs/development/libraries/lmdbxx/default.nix6
-rw-r--r--pkgs/development/libraries/mtxclient/default.nix4
-rw-r--r--pkgs/development/libraries/opencascade-occt/default.nix4
-rw-r--r--pkgs/development/libraries/opencv/4.x.nix214
-rw-r--r--pkgs/development/libraries/opencv/cmake-don-t-use-OpenCVFindOpenEXR.patch34
-rw-r--r--pkgs/development/libraries/pupnp/default.nix6
-rw-r--r--pkgs/development/libraries/rapidjson/default.nix9
-rw-r--r--pkgs/development/libraries/sqlcipher/default.nix4
-rw-r--r--pkgs/development/libraries/sqlitecpp/default.nix31
-rw-r--r--pkgs/development/libraries/vapoursynth/default.nix4
-rw-r--r--pkgs/development/mobile/gomobile/default.nix61
-rw-r--r--pkgs/development/mobile/gomobile/resolve-nix-android-sdk.patch15
-rw-r--r--pkgs/development/node-packages/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/irmin/ppx.nix4
-rw-r--r--pkgs/development/ocaml-modules/labltk/default.nix54
-rw-r--r--pkgs/development/ocaml-modules/mirage-crypto/default.nix8
-rw-r--r--pkgs/development/php-packages/composer/default.nix4
-rw-r--r--pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--pkgs/development/python-modules/angr/default.nix5
-rw-r--r--pkgs/development/python-modules/angrop/default.nix37
-rw-r--r--pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--pkgs/development/python-modules/banal/default.nix27
-rw-r--r--pkgs/development/python-modules/bitarray/default.nix11
-rw-r--r--pkgs/development/python-modules/brother/default.nix4
-rw-r--r--pkgs/development/python-modules/capstone/default.nix6
-rw-r--r--pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--pkgs/development/python-modules/cle/default.nix6
-rw-r--r--pkgs/development/python-modules/commoncode/default.nix55
-rw-r--r--pkgs/development/python-modules/css-html-js-minify/default.nix26
-rw-r--r--pkgs/development/python-modules/cxxfilt/default.nix33
-rw-r--r--pkgs/development/python-modules/dask-glm/default.nix2
-rw-r--r--pkgs/development/python-modules/dask-ml/default.nix2
-rw-r--r--pkgs/development/python-modules/dask/default.nix18
-rw-r--r--pkgs/development/python-modules/debian-inspector/default.nix53
-rw-r--r--pkgs/development/python-modules/debut/default.nix38
-rw-r--r--pkgs/development/python-modules/deezer-python/default.nix47
-rw-r--r--pkgs/development/python-modules/dparse/default.nix27
-rw-r--r--pkgs/development/python-modules/dsmr-parser/default.nix41
-rw-r--r--pkgs/development/python-modules/extractcode/7z.nix48
-rw-r--r--pkgs/development/python-modules/extractcode/default.nix60
-rw-r--r--pkgs/development/python-modules/extractcode/libarchive.nix62
-rw-r--r--pkgs/development/python-modules/faadelays/default.nix4
-rw-r--r--pkgs/development/python-modules/fingerprints/default.nix42
-rw-r--r--pkgs/development/python-modules/fsspec/default.nix24
-rw-r--r--pkgs/development/python-modules/fusepy/default.nix5
-rw-r--r--pkgs/development/python-modules/gcsfs/default.nix37
-rw-r--r--pkgs/development/python-modules/gemfileparser/default.nix29
-rw-r--r--pkgs/development/python-modules/google-auth-oauthlib/default.nix3
-rw-r--r--pkgs/development/python-modules/google-auth/default.nix11
-rw-r--r--pkgs/development/python-modules/hachoir/default.nix35
-rw-r--r--pkgs/development/python-modules/httplib2/default.nix9
-rw-r--r--pkgs/development/python-modules/hyperion-py/default.nix52
-rw-r--r--pkgs/development/python-modules/imap-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/intbitset/default.nix44
-rw-r--r--pkgs/development/python-modules/intbitset/remove-impure-tuning.patch24
-rw-r--r--pkgs/development/python-modules/kaitaistruct/default.nix33
-rw-r--r--pkgs/development/python-modules/karton-dashboard/default.nix43
-rw-r--r--pkgs/development/python-modules/liblzfse/default.nix34
-rw-r--r--pkgs/development/python-modules/multimethod/default.nix31
-rw-r--r--pkgs/development/python-modules/nclib/default.nix27
-rw-r--r--pkgs/development/python-modules/normality/default.nix42
-rw-r--r--pkgs/development/python-modules/omnilogic/default.nix6
-rw-r--r--pkgs/development/python-modules/ondilo/default.nix38
-rw-r--r--pkgs/development/python-modules/openerz-api/default.nix39
-rw-r--r--pkgs/development/python-modules/pg8000/default.nix11
-rw-r--r--pkgs/development/python-modules/plugincode/default.nix47
-rw-r--r--pkgs/development/python-modules/plugnplay/default.nix27
-rw-r--r--pkgs/development/python-modules/ppdeep/default.nix25
-rw-r--r--pkgs/development/python-modules/pycuda/default.nix12
-rw-r--r--pkgs/development/python-modules/pydroid-ipcam/default.nix36
-rw-r--r--pkgs/development/python-modules/pyimpfuzzy/default.nix37
-rw-r--r--pkgs/development/python-modules/pymaven-patch/default.nix44
-rw-r--r--pkgs/development/python-modules/pymavlink/default.nix13
-rw-r--r--pkgs/development/python-modules/pymdstat/default.nix30
-rw-r--r--pkgs/development/python-modules/pysmart-smartx/default.nix36
-rw-r--r--pkgs/development/python-modules/pysonos/default.nix4
-rw-r--r--pkgs/development/python-modules/python-picnic-api/default.nix34
-rw-r--r--pkgs/development/python-modules/python-registry/default.nix34
-rw-r--r--pkgs/development/python-modules/pytube/default.nix4
-rw-r--r--pkgs/development/python-modules/pyturbojpeg/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvex/default.nix9
-rw-r--r--pkgs/development/python-modules/qiling/default.nix45
-rw-r--r--pkgs/development/python-modules/requirements-parser/default.nix33
-rw-r--r--pkgs/development/python-modules/rokuecp/default.nix41
-rw-r--r--pkgs/development/python-modules/sagemaker/default.nix4
-rw-r--r--pkgs/development/python-modules/saneyaml/default.nix41
-rw-r--r--pkgs/development/python-modules/scancode-toolkit/default.nix122
-rw-r--r--pkgs/development/python-modules/sendgrid/default.nix4
-rw-r--r--pkgs/development/python-modules/slack-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/slackclient/default.nix2
-rw-r--r--pkgs/development/python-modules/snapcast/default.nix23
-rw-r--r--pkgs/development/python-modules/sparklines/default.nix31
-rw-r--r--pkgs/development/python-modules/spdx-tools/default.nix54
-rw-r--r--pkgs/development/python-modules/sphinx-material/default.nix41
-rw-r--r--pkgs/development/python-modules/sphinx-serve/default.nix25
-rw-r--r--pkgs/development/python-modules/survey/default.nix7
-rw-r--r--pkgs/development/python-modules/tailer/default.nix32
-rw-r--r--pkgs/development/python-modules/telfhash/default.nix49
-rw-r--r--pkgs/development/python-modules/tensorflow/bin.nix17
-rw-r--r--pkgs/development/python-modules/tern/default.nix59
-rw-r--r--pkgs/development/python-modules/tqdm/default.nix17
-rw-r--r--pkgs/development/python-modules/twitterapi/default.nix4
-rw-r--r--pkgs/development/python-modules/typecode/default.nix53
-rw-r--r--pkgs/development/python-modules/typecode/libmagic.nix51
-rw-r--r--pkgs/development/python-modules/unify/default.nix30
-rw-r--r--pkgs/development/python-modules/untokenize/default.nix24
-rw-r--r--pkgs/development/python-modules/urlpy/default.nix44
-rw-r--r--pkgs/development/python-modules/viv-utils/default.nix49
-rw-r--r--pkgs/development/python-modules/vivisect/default.nix46
-rw-r--r--pkgs/development/python-modules/watchdog/default.nix21
-rw-r--r--pkgs/development/python-modules/whois/default.nix5
-rw-r--r--pkgs/development/python-modules/woodblock/default.nix36
-rw-r--r--pkgs/development/python-modules/xknx/default.nix4
-rw-r--r--pkgs/development/python-modules/yeelight/default.nix4
-rw-r--r--pkgs/development/python-modules/ytmusicapi/default.nix4
-rw-r--r--pkgs/development/python-modules/zwave-js-server-python/default.nix40
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix62
-rwxr-xr-xpkgs/development/tools/analysis/radare2/update.py121
-rw-r--r--pkgs/development/tools/azcopy/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/buck/default.nix17
-rw-r--r--pkgs/development/tools/build-managers/tup/default.nix17
-rw-r--r--pkgs/development/tools/clj-kondo/default.nix12
-rw-r--r--pkgs/development/tools/cloud-nuke/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rw-r--r--pkgs/development/tools/dockle/default.nix6
-rw-r--r--pkgs/development/tools/esbuild/default.nix22
-rw-r--r--pkgs/development/tools/gotestsum/default.nix4
-rw-r--r--pkgs/development/tools/just/default.nix3
-rw-r--r--pkgs/development/tools/metals/default.nix4
-rw-r--r--pkgs/development/tools/parsing/antlr/3.5.nix9
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/default.nix31
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fennel.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ocaml.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-verilog.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-yaml.json8
-rw-r--r--pkgs/development/tools/protoc-gen-twirp_php/default.nix10
-rw-r--r--pkgs/development/tools/purescript/spago/spago.nix41
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix19
-rw-r--r--pkgs/development/tools/tabnine/default.nix9
-rw-r--r--pkgs/development/tools/vala-language-server/default.nix4
-rw-r--r--pkgs/development/tools/zls/default.nix32
-rw-r--r--pkgs/development/web/deno/default.nix9
204 files changed, 4768 insertions, 1937 deletions
diff --git a/pkgs/development/beam-modules/elixir_ls.nix b/pkgs/development/beam-modules/elixir_ls.nix
index 916a150c1f9dc..b61db92584d13 100644
--- a/pkgs/development/beam-modules/elixir_ls.nix
+++ b/pkgs/development/beam-modules/elixir_ls.nix
@@ -9,7 +9,7 @@ mixRelease rec {
   src = fetchFromGitHub {
     owner = "elixir-lsp";
     repo = "elixir-ls";
-    rev = "v{version}";
+    rev = "v${version}";
     sha256 = "0d0hqc35hfjkpm88vz21mnm2a9rxiqfrdi83whhhh6d2ba216b7s";
     fetchSubmodules = true;
   };
diff --git a/pkgs/development/beam-modules/hex/default.nix b/pkgs/development/beam-modules/hex/default.nix
index 794b9e5cf2229..836740a793314 100644
--- a/pkgs/development/beam-modules/hex/default.nix
+++ b/pkgs/development/beam-modules/hex/default.nix
@@ -8,13 +8,13 @@ let
 
   pkg = self: stdenv.mkDerivation rec {
     pname = "hex";
-    version = "0.20.5";
+    version = "0.21.2";
 
     src = fetchFromGitHub {
       owner = "hexpm";
       repo = "hex";
       rev = "v${version}";
-      sha256 = "1wz6n4qrmsb4kkww6lrdbs99xzwp4dyjjmr8m4drcwn3sd2k9ba6";
+      sha256 = "18vwrc5b7pyi3nifmx5hd5wbz8fy3h6sfvkmskjg5acmz66fys0g";
     };
 
     setupHook = writeText "setupHook.sh" ''
diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix
index 6ecf462d54d9a..4edc034720c49 100644
--- a/pkgs/development/compilers/gcc/8/default.nix
+++ b/pkgs/development/compilers/gcc/8/default.nix
@@ -55,6 +55,7 @@ let majorVersion = "8";
 
     patches =
          optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
+      ++ optional targetPlatform.isNetBSD ../libstdc++-netbsd-ctypes.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
       /* ++ optional (hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied
         url = "https://git.busybox.net/buildroot/plain/package/gcc/${version}/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02";
diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix
index 7f35f5c7bb996..ca92a8f484503 100644
--- a/pkgs/development/compilers/gcc/9/default.nix
+++ b/pkgs/development/compilers/gcc/9/default.nix
@@ -70,6 +70,7 @@ let majorVersion = "9";
       # This patch can most likely be removed by a post 9.3.0-release.
       [ ./avoid-cycling-subreg-reloads.patch ]
       ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
+      ++ optional targetPlatform.isNetBSD ../libstdc++-netbsd-ctypes.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
       /* ++ optional (hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied
         url = "https://git.busybox.net/buildroot/plain/package/gcc/${version}/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02";
diff --git a/pkgs/development/compilers/llvm/12/bintools.nix b/pkgs/development/compilers/llvm/12/bintools/default.nix
index 53f7941e33699..53f7941e33699 100644
--- a/pkgs/development/compilers/llvm/12/bintools.nix
+++ b/pkgs/development/compilers/llvm/12/bintools/default.nix
diff --git a/pkgs/development/compilers/llvm/12/default.nix b/pkgs/development/compilers/llvm/12/default.nix
index 00922ed96e2ca..a6d68d2e2a441 100644
--- a/pkgs/development/compilers/llvm/12/default.nix
+++ b/pkgs/development/compilers/llvm/12/default.nix
@@ -108,7 +108,7 @@ let
     # doesn’t support like LLVM. Probably we should move to some other
     # file.
 
-    bintools = callPackage ./bintools.nix {};
+    bintools = callPackage ./bintools {};
 
     lldClang = wrapCCWith rec {
       cc = tools.clang-unwrapped;
@@ -192,18 +192,18 @@ let
 
     libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang;
 
-    libcxx = callPackage ./libc++ ({ inherit llvm_meta; } //
+    libcxx = callPackage ./libcxx ({ inherit llvm_meta; } //
       (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
         stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx;
       }));
 
-    libcxxabi = callPackage ./libc++abi ({ inherit llvm_meta; } //
+    libcxxabi = callPackage ./libcxxabi ({ inherit llvm_meta; } //
       (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
         stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx;
         libunwind = libraries.libunwind;
       }));
 
-    openmp = callPackage ./openmp.nix { inherit llvm_meta; };
+    openmp = callPackage ./openmp { inherit llvm_meta; };
 
     libunwind = callPackage ./libunwind ({ inherit llvm_meta; } //
       (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
diff --git a/pkgs/development/compilers/llvm/12/libc++/default.nix b/pkgs/development/compilers/llvm/12/libcxx/default.nix
index d85d890879ecc..7b3b26b959e46 100644
--- a/pkgs/development/compilers/llvm/12/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/12/libcxx/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation {
-  pname = "libc++";
+  pname = "libcxx";
   inherit version;
 
   src = fetch "libcxx" "1wf3ww29xkx7prs7pdwicy5qqfapib26110jgmkjrbka9z57bjvx";
diff --git a/pkgs/development/compilers/llvm/12/libc++abi/default.nix b/pkgs/development/compilers/llvm/12/libcxxabi/default.nix
index 22ec211a3b05b..dab6c583e889a 100644
--- a/pkgs/development/compilers/llvm/12/libc++abi/default.nix
+++ b/pkgs/development/compilers/llvm/12/libcxxabi/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation {
-  pname = "libc++abi";
+  pname = "libcxxabi";
   inherit version;
 
   src = fetch "libcxxabi" "1cbmzspwjlr8f6sp73pw6ivf4dpg6rpc61by0q1m2zca2k6yif3a";
diff --git a/pkgs/development/compilers/llvm/12/libc++abi/libcxxabi-wasm.patch b/pkgs/development/compilers/llvm/12/libcxxabi/libcxxabi-wasm.patch
index 4ebfe46aa813d..4ebfe46aa813d 100644
--- a/pkgs/development/compilers/llvm/12/libc++abi/libcxxabi-wasm.patch
+++ b/pkgs/development/compilers/llvm/12/libcxxabi/libcxxabi-wasm.patch
diff --git a/pkgs/development/compilers/llvm/12/openmp.nix b/pkgs/development/compilers/llvm/12/openmp/default.nix
index c107258dd189b..c107258dd189b 100644
--- a/pkgs/development/compilers/llvm/12/openmp.nix
+++ b/pkgs/development/compilers/llvm/12/openmp/default.nix
diff --git a/pkgs/development/compilers/mrustc/bootstrap.nix b/pkgs/development/compilers/mrustc/bootstrap.nix
new file mode 100644
index 0000000000000..35e7daaf21031
--- /dev/null
+++ b/pkgs/development/compilers/mrustc/bootstrap.nix
@@ -0,0 +1,153 @@
+{ lib, stdenv
+, fetchurl
+, mrustc
+, mrustc-minicargo
+, rust
+, llvm_7
+, llvmPackages_7
+, libffi
+, cmake
+, python3
+, zlib
+, libxml2
+, openssl
+, pkg-config
+, curl
+, which
+, time
+}:
+
+let
+  rustcVersion = "1.29.0";
+  rustcSrc = fetchurl {
+    url = "https://static.rust-lang.org/dist/rustc-${rustcVersion}-src.tar.gz";
+    sha256 = "1sb15znckj8pc8q3g7cq03pijnida6cg64yqmgiayxkzskzk9sx4";
+  };
+  rustcDir = "rustc-${rustcVersion}-src";
+in
+
+stdenv.mkDerivation rec {
+  pname = "mrustc-bootstrap";
+  version = "${mrustc.version}_${rustcVersion}";
+
+  inherit (mrustc) src;
+  postUnpack = "tar -xf ${rustcSrc} -C source/";
+
+  # the rust build system complains that nix alters the checksums
+  dontFixLibtool = true;
+
+  patches = [
+    ./patches/0001-use-shared-llvm.patch
+    ./patches/0002-dont-build-llvm.patch
+    ./patches/0003-echo-newlines.patch
+    ./patches/0004-increase-parallelism.patch
+  ];
+
+  postPatch = ''
+    echo "applying patch ./rustc-${rustcVersion}-src.patch"
+    patch -p0 -d ${rustcDir}/ < rustc-${rustcVersion}-src.patch
+
+    for p in ${lib.concatStringsSep " " llvmPackages_7.compiler-rt.patches}; do
+      echo "applying patch $p"
+      patch -p1 -d ${rustcDir}/src/libcompiler_builtins/compiler-rt < $p
+    done
+  '';
+
+  # rustc unfortunately needs cmake to compile llvm-rt but doesn't
+  # use it for the normal build. This disables cmake in Nix.
+  dontUseCmakeConfigure = true;
+
+  strictDeps = true;
+  nativeBuildInputs = [
+    cmake
+    mrustc
+    mrustc-minicargo
+    pkg-config
+    python3
+    time
+    which
+  ];
+  buildInputs = [
+    # for rustc
+    llvm_7 libffi zlib libxml2
+    # for cargo
+    openssl curl
+  ];
+
+  makeFlags = [
+    # Use shared mrustc/minicargo/llvm instead of rebuilding them
+    "MRUSTC=${mrustc}/bin/mrustc"
+    "MINICARGO=${mrustc-minicargo}/bin/minicargo"
+    "LLVM_CONFIG=${llvm_7}/bin/llvm-config"
+    "RUSTC_TARGET=${rust.toRustTarget stdenv.targetPlatform}"
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    local flagsArray=(
+      PARLEVEL=$NIX_BUILD_CORES
+      ${toString makeFlags}
+    )
+
+    echo minicargo.mk: libs
+    make -f minicargo.mk "''${flagsArray[@]}" LIBS
+
+    echo minicargo.mk: deps
+    mkdir -p output/cargo-build
+    # minicargo has concurrency issues when running these; let's build them
+    # without parallelism
+    for crate in regex regex-0.2.11 curl-sys
+    do
+      echo "building $crate"
+      minicargo ${rustcDir}/src/vendor/$crate \
+        --vendor-dir ${rustcDir}/src/vendor \
+        --output-dir output/cargo-build -L output/
+    done
+
+    echo minicargo.mk: rustc
+    make -f minicargo.mk "''${flagsArray[@]}" output/rustc
+
+    echo minicargo.mk: cargo
+    make -f minicargo.mk "''${flagsArray[@]}" output/cargo
+
+    echo run_rustc
+    make -C run_rustc "''${flagsArray[@]}"
+
+    unset flagsArray
+
+    runHook postBuild
+  '';
+
+  doCheck = true;
+  checkPhase = ''
+    runHook preCheck
+    run_rustc/output/prefix/bin/hello_world | grep "hello, world"
+    runHook postCheck
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin/ $out/lib/
+    cp run_rustc/output/prefix/bin/cargo $out/bin/cargo
+    cp run_rustc/output/prefix/bin/rustc_binary $out/bin/rustc
+
+    cp -r run_rustc/output/prefix/lib/* $out/lib/
+    cp $out/lib/rustlib/${rust.toRustTarget stdenv.targetPlatform}/lib/*.so $out/lib/
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    inherit (src.meta) homepage;
+    description = "A minimal build of Rust";
+    longDescription = ''
+      A minimal build of Rust, built from source using mrustc.
+      This is useful for bootstrapping the main Rust compiler without
+      an initial binary toolchain download.
+    '';
+    maintainers = with maintainers; [ progval r-burns ];
+    license = with licenses; [ mit asl20 ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
+
diff --git a/pkgs/development/compilers/mrustc/default.nix b/pkgs/development/compilers/mrustc/default.nix
new file mode 100644
index 0000000000000..4c813d88b7657
--- /dev/null
+++ b/pkgs/development/compilers/mrustc/default.nix
@@ -0,0 +1,53 @@
+{ lib, stdenv
+, fetchFromGitHub
+, zlib
+}:
+
+let
+  version = "0.9";
+  tag = "v${version}";
+  rev = "15773561e40ca5c8cffe0a618c544b6cfdc5ad7e";
+in
+
+stdenv.mkDerivation rec {
+  pname = "mrustc";
+  inherit version;
+
+  # Always update minicargo.nix and bootstrap.nix in lockstep with this
+  src = fetchFromGitHub {
+    owner = "thepowersgang";
+    repo = "mrustc";
+    rev = tag;
+    sha256 = "194ny7vsks5ygiw7d8yxjmp1qwigd71ilchis6xjl6bb2sj97rd2";
+  };
+
+  postPatch = ''
+    sed -i 's/\$(shell git show --pretty=%H -s)/${rev}/' Makefile
+    sed -i 's/\$(shell git symbolic-ref -q --short HEAD || git describe --tags --exact-match)/${tag}/' Makefile
+    sed -i 's/\$(shell git diff-index --quiet HEAD; echo $$?)/0/' Makefile
+  '';
+
+  strictDeps = true;
+  buildInputs = [ zlib ];
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp bin/mrustc $out/bin
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Mutabah's Rust Compiler";
+    longDescription = ''
+      In-progress alternative rust compiler, written in C++.
+      Capable of building a fully-working copy of rustc,
+      but not yet suitable for everyday use.
+    '';
+    inherit (src.meta) homepage;
+    license = licenses.mit;
+    maintainers = with maintainers; [ progval r-burns ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/compilers/mrustc/minicargo.nix b/pkgs/development/compilers/mrustc/minicargo.nix
new file mode 100644
index 0000000000000..8505e5b8d7cfd
--- /dev/null
+++ b/pkgs/development/compilers/mrustc/minicargo.nix
@@ -0,0 +1,39 @@
+{ lib, stdenv
+, makeWrapper
+, mrustc
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mrustc-minicargo";
+  inherit (mrustc) src version;
+
+  strictDeps = true;
+  nativeBuildInputs = [ makeWrapper ];
+
+  enableParallelBuilding = true;
+  makefile = "minicargo.mk";
+  makeFlags = [ "tools/bin/minicargo" ];
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp tools/bin/minicargo $out/bin
+
+    # without it, minicargo defaults to "<minicargo_path>/../../bin/mrustc"
+    wrapProgram "$out/bin/minicargo" --set MRUSTC_PATH ${mrustc}/bin/mrustc
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A minimalist builder for Rust";
+    longDescription = ''
+      A minimalist builder for Rust, similar to Cargo but written in C++.
+      Designed to work with mrustc to build Rust projects
+      (like the Rust compiler itself).
+    '';
+    inherit (src.meta) homepage;
+    license = licenses.mit;
+    maintainers = with maintainers; [ progval r-burns ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/compilers/mrustc/patches/0001-use-shared-llvm.patch b/pkgs/development/compilers/mrustc/patches/0001-use-shared-llvm.patch
new file mode 100644
index 0000000000000..e8c57ae25410e
--- /dev/null
+++ b/pkgs/development/compilers/mrustc/patches/0001-use-shared-llvm.patch
@@ -0,0 +1,12 @@
+--- a/rustc-1.29.0-src/src/librustc_llvm/lib.rs
+--- b/rustc-1.29.0-src/src/librustc_llvm/lib.rs
+@@ -23,6 +23,9 @@
+ #![feature(link_args)]
+ #![feature(static_nobundle)]
+ 
++// https://github.com/rust-lang/rust/issues/34486
++#[link(name = "ffi")] extern {}
++
+ // See librustc_cratesio_shim/Cargo.toml for a comment explaining this.
+ #[allow(unused_extern_crates)]
+ extern crate rustc_cratesio_shim;
diff --git a/pkgs/development/compilers/mrustc/patches/0002-dont-build-llvm.patch b/pkgs/development/compilers/mrustc/patches/0002-dont-build-llvm.patch
new file mode 100644
index 0000000000000..7ae8d191d87c9
--- /dev/null
+++ b/pkgs/development/compilers/mrustc/patches/0002-dont-build-llvm.patch
@@ -0,0 +1,14 @@
+--- a/minicargo.mk
++++ b/minicargo.mk
+@@ -116,11 +116,6 @@
+ LLVM_CMAKE_OPTS += CMAKE_BUILD_TYPE=RelWithDebInfo
+ 
+ 
+-$(LLVM_CONFIG): $(RUSTCSRC)build/Makefile
+-	$Vcd $(RUSTCSRC)build && $(MAKE)
+-$(RUSTCSRC)build/Makefile: $(RUSTCSRC)src/llvm/CMakeLists.txt
+-	@mkdir -p $(RUSTCSRC)build
+-	$Vcd $(RUSTCSRC)build && cmake $(addprefix -D , $(LLVM_CMAKE_OPTS)) ../src/llvm
+ 
+ 
+ #
diff --git a/pkgs/development/compilers/mrustc/patches/0003-echo-newlines.patch b/pkgs/development/compilers/mrustc/patches/0003-echo-newlines.patch
new file mode 100644
index 0000000000000..f4a4acca85787
--- /dev/null
+++ b/pkgs/development/compilers/mrustc/patches/0003-echo-newlines.patch
@@ -0,0 +1,13 @@
+--- a/run_rustc/Makefile
++++ b/run_rustc/Makefile
+@@ -103,7 +103,9 @@
+ else
+ 	cp $(OUTDIR)build-rustc/release/rustc_binary $(BINDIR)rustc_binary
+ endif
+-	echo '#!/bin/sh\nd=$$(dirname $$0)\nLD_LIBRARY_PATH="$(abspath $(LIBDIR))" $$d/rustc_binary $$@' >$@
++	echo '#!$(shell which bash)' > $@
++	echo 'd=$$(dirname $$0)' >> $@
++	echo 'LD_LIBRARY_PATH="$(abspath $(LIBDIR))" $$d/rustc_binary $$@' >> $@
+ 	chmod +x $@
+ 
+ $(BINDIR)hello_world: $(RUST_SRC)test/run-pass/hello.rs $(LIBDIR)libstd.rlib $(BINDIR)rustc
diff --git a/pkgs/development/compilers/mrustc/patches/0004-increase-parallelism.patch b/pkgs/development/compilers/mrustc/patches/0004-increase-parallelism.patch
new file mode 100644
index 0000000000000..ce1fec5726273
--- /dev/null
+++ b/pkgs/development/compilers/mrustc/patches/0004-increase-parallelism.patch
@@ -0,0 +1,28 @@
+--- a/run_rustc/Makefile
++++ b/run_rustc/Makefile
+@@ -79,14 +79,14 @@
+ 	@mkdir -p $(OUTDIR)build-std
+ 	@mkdir -p $(LIBDIR)
+ 	@echo [CARGO] $(RUST_SRC)libstd/Cargo.toml
+-	$VCARGO_TARGET_DIR=$(OUTDIR)build-std RUSTC=$(BINDIR_S)rustc $(CARGO_ENV) $(BINDIR)cargo build --manifest-path $(RUST_SRC)libstd/Cargo.toml  -j 1 --release --features panic-unwind
++	$VCARGO_TARGET_DIR=$(OUTDIR)build-std RUSTC=$(BINDIR_S)rustc $(CARGO_ENV) $(BINDIR)cargo build --manifest-path $(RUST_SRC)libstd/Cargo.toml  -j $(NIX_BUILD_CORES) --release --features panic-unwind
+ 	$Vcp --remove-destination $(OUTDIR)build-std/release/deps/*.rlib $(LIBDIR)
+ 	$Vcp --remove-destination $(OUTDIR)build-std/release/deps/*.so $(LIBDIR)
+ # libtest
+ $(LIBDIR)libtest.rlib: $(BINDIR)rustc_m $(LIBDIR)libstd.rlib $(CARGO_HOME)config
+ 	@mkdir -p $(OUTDIR)build-test
+ 	@echo [CARGO] $(RUST_SRC)libtest/Cargo.toml
+-	$VCARGO_TARGET_DIR=$(OUTDIR)build-test RUSTC=$(BINDIR)rustc_m $(CARGO_ENV) $(BINDIR)cargo build --manifest-path $(RUST_SRC)libtest/Cargo.toml  -j 1 --release
++	$VCARGO_TARGET_DIR=$(OUTDIR)build-test RUSTC=$(BINDIR)rustc_m $(CARGO_ENV) $(BINDIR)cargo build --manifest-path $(RUST_SRC)libtest/Cargo.toml  -j $(NIX_BUILD_CORES) --release
+ 	@mkdir -p $(LIBDIR)
+ 	$Vcp --remove-destination $(OUTDIR)build-test/release/deps/*.rlib $(LIBDIR)
+ 	$Vcp --remove-destination $(OUTDIR)build-test/release/deps/*.so $(LIBDIR)
+@@ -95,7 +95,7 @@
+ $(BINDIR)rustc: $(BINDIR)rustc_m $(BINDIR)cargo $(CARGO_HOME)config $(LIBDIR)libtest.rlib
+ 	@mkdir -p $(PREFIX)tmp
+ 	@echo [CARGO] $(RUST_SRC)rustc/Cargo.toml
+-	$V$(RUSTC_ENV_VARS) TMPDIR=$(abspath $(PREFIX)tmp) CARGO_TARGET_DIR=$(OUTDIR)build-rustc RUSTC=$(BINDIR)rustc_m RUSTC_ERROR_METADATA_DST=$(abspath $(PREFIX)) $(CARGO_ENV) $(BINDIR)cargo build --manifest-path $(RUST_SRC)rustc/Cargo.toml --release -j 1
++	$V$(RUSTC_ENV_VARS) TMPDIR=$(abspath $(PREFIX)tmp) CARGO_TARGET_DIR=$(OUTDIR)build-rustc RUSTC=$(BINDIR)rustc_m RUSTC_ERROR_METADATA_DST=$(abspath $(PREFIX)) $(CARGO_ENV) $(BINDIR)cargo build --manifest-path $(RUST_SRC)rustc/Cargo.toml --release -j $(NIX_BUILD_CORES)
+ 	cp $(OUTDIR)build-rustc/release/deps/*.so $(LIBDIR)
+ 	cp $(OUTDIR)build-rustc/release/deps/*.rlib $(LIBDIR)
+ ifeq ($(RUSTC_VERSION),1.19.0)
diff --git a/pkgs/development/compilers/openjdk/jre.nix b/pkgs/development/compilers/openjdk/jre.nix
index 817cdf9c26a97..436bd0468c52d 100644
--- a/pkgs/development/compilers/openjdk/jre.nix
+++ b/pkgs/development/compilers/openjdk/jre.nix
@@ -1,19 +1,34 @@
-{ jdk
-, runCommand
-, patchelf
+{ stdenv
+, jdk
 , lib
 , modules ? [ "java.base" ]
 }:
 
 let
-  jre = runCommand "${jdk.name}-jre" {
-    nativeBuildInputs = [ patchelf ];
+  jre = stdenv.mkDerivation {
+    name = "${jdk.name}-minimal-jre";
+    version = jdk.version;
+
     buildInputs = [ jdk ];
+
+    dontUnpack = true;
+
+    # Strip more heavily than the default '-S', since if you're
+    # using this derivation you probably care about this.
+    stripDebugFlags = [ "--strip-unneeded" ];
+
+    buildPhase = ''
+      runHook preBuild
+
+      jlink --module-path ${jdk}/lib/openjdk/jmods --add-modules ${lib.concatStringsSep "," modules} --output $out
+
+      runHook postBuild
+    '';
+
+    dontInstall = true;
+
     passthru = {
       home = "${jre}";
     };
-  }   ''
-      jlink --module-path ${jdk}/lib/openjdk/jmods --add-modules ${lib.concatStringsSep "," modules} --output $out
-      patchelf --shrink-rpath $out/bin/* $out/lib/jexec $out/lib/jspawnhelper $out/lib/*.so $out/lib/*/*.so
-  '';
+  };
 in jre
diff --git a/pkgs/development/coq-modules/QuickChick/default.nix b/pkgs/development/coq-modules/QuickChick/default.nix
index 32ef1ad633cfa..6490391eb6363 100644
--- a/pkgs/development/coq-modules/QuickChick/default.nix
+++ b/pkgs/development/coq-modules/QuickChick/default.nix
@@ -5,6 +5,7 @@ mkCoqDerivation {
   pname = "QuickChick";
   owner = "QuickChick";
   defaultVersion = with versions; switch [ coq.coq-version ssreflect.version ] [
+      { cases = [ "8.13" pred.true  ]; out = "1.5.0"; }
       { cases = [ "8.12" pred.true  ]; out = "1.4.0"; }
       { cases = [ "8.11" pred.true  ]; out = "1.3.2"; }
       { cases = [ "8.10" pred.true  ]; out = "1.2.1"; }
@@ -14,6 +15,7 @@ mkCoqDerivation {
       { cases = [ "8.6"  pred.true  ];  out = "20171102"; }
       { cases = [ "8.5"  pred.true  ];  out = "20170512"; }
     ] null;
+  release."1.5.0".sha256    = "1lq8x86vd3vqqh2yq6hvyagpnhfq5wmk5pg2z0xq7b7dcw7hyfkw";
   release."1.4.0".sha256    = "068p48pm5yxjc3yv8qwzp25bp9kddvxj81l31mjkyx3sdrsw3kyc";
   release."1.3.2".sha256    = "0lciwaqv288dh2f13xk2x0lrn6zyrkqy6g4yy927wwzag2gklfrs";
   release."1.2.1".sha256    = "17vz88xjzxh3q7hs6hnndw61r3hdfawxp5awqpgfaxx4w6ni8z46";
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index f313d65508d67..552e35b9c362d 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -85,7 +85,6 @@ self: super: {
   kademlia = dontCheck super.kademlia;
 
   # Tests require older versions of tasty.
-  cborg = (doJailbreak super.cborg).override { base16-bytestring = self.base16-bytestring_0_1_1_7; };
   hzk = dontCheck super.hzk;
   resolv = doJailbreak super.resolv;
   tdigest = doJailbreak super.tdigest;
@@ -326,6 +325,7 @@ self: super: {
   optional = dontCheck super.optional;
   orgmode-parse = dontCheck super.orgmode-parse;
   os-release = dontCheck super.os-release;
+  parameterized = dontCheck super.parameterized; # https://github.com/louispan/parameterized/issues/2
   persistent-redis = dontCheck super.persistent-redis;
   pipes-extra = dontCheck super.pipes-extra;
   pipes-websockets = dontCheck super.pipes-websockets;
@@ -1529,7 +1529,7 @@ self: super: {
 
   # 2020-12-05: http-client is fixed on too old version
   essence-of-live-coding-warp = doJailbreak (super.essence-of-live-coding-warp.override {
-    http-client = self.http-client_0_7_7;
+    http-client = self.http-client_0_7_8;
   });
 
   # 2020-12-06: Restrictive upper bounds w.r.t. pandoc-types (https://github.com/owickstrom/pandoc-include-code/issues/27)
@@ -1780,4 +1780,11 @@ self: super: {
   # https://github.com/hasufell/lzma-static/issues/1
   lzma-static = doJailbreak super.lzma-static;
 
+  # Fix haddock errors: https://github.com/koalaman/shellcheck/issues/2216
+  ShellCheck = appendPatch super.ShellCheck (pkgs.fetchpatch {
+    url = "https://github.com/koalaman/shellcheck/commit/9e60b3ea841bcaf48780bfcfc2e44aa6563a62de.patch";
+    sha256 = "1vmg8mmmnph34x7y0mhkcd5nzky8f1rh10pird750xbkp9zlk099";
+    excludes = ["test/buildtest"];
+  });
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index f1b953553b810..3bf834c16daf0 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -101,7 +101,7 @@ default-package-overrides:
   - gi-secret < 0.0.13
   - gi-vte < 2.91.28
 
-  # Stackage Nightly 2021-04-06
+  # Stackage Nightly 2021-04-15
   - abstract-deque ==0.3
   - abstract-par ==0.3.3
   - AC-Angle ==1.0
@@ -139,7 +139,7 @@ default-package-overrides:
   - alex-meta ==0.3.0.13
   - alg ==0.2.13.1
   - algebraic-graphs ==0.5
-  - Allure ==0.9.5.0
+  - Allure ==0.10.2.0
   - almost-fix ==0.0.2
   - alsa-core ==0.5.0.1
   - alsa-mixer ==0.3.0
@@ -327,7 +327,7 @@ default-package-overrides:
   - bazel-runfiles ==0.12
   - bbdb ==0.8
   - bcp47 ==0.2.0.3
-  - bcp47-orphans ==0.1.0.2
+  - bcp47-orphans ==0.1.0.3
   - bcrypt ==0.0.11
   - bech32 ==1.1.0
   - bech32-th ==1.0.2
@@ -391,7 +391,7 @@ default-package-overrides:
   - boundingboxes ==0.2.3
   - bower-json ==1.0.0.1
   - boxes ==0.1.5
-  - brick ==0.60.2
+  - brick ==0.61
   - broadcast-chan ==0.2.1.1
   - bsb-http-chunked ==0.0.0.4
   - bson ==0.4.0.1
@@ -451,8 +451,8 @@ default-package-overrides:
   - cassava-megaparsec ==2.0.2
   - cast ==0.1.0.2
   - category ==0.2.5.0
-  - cayley-client ==0.4.14
-  - cborg ==0.2.4.0
+  - cayley-client ==0.4.15
+  - cborg ==0.2.5.0
   - cborg-json ==0.2.2.0
   - cereal ==0.5.8.1
   - cereal-conduit ==0.8.0
@@ -528,13 +528,13 @@ default-package-overrides:
   - compiler-warnings ==0.1.0
   - composable-associations ==0.1.0.0
   - composable-associations-aeson ==0.1.0.1
-  - composite-aeson ==0.7.4.0
-  - composite-aeson-path ==0.7.4.0
-  - composite-aeson-refined ==0.7.4.0
-  - composite-base ==0.7.4.0
-  - composite-binary ==0.7.4.0
-  - composite-ekg ==0.7.4.0
-  - composite-hashable ==0.7.4.0
+  - composite-aeson ==0.7.5.0
+  - composite-aeson-path ==0.7.5.0
+  - composite-aeson-refined ==0.7.5.0
+  - composite-base ==0.7.5.0
+  - composite-binary ==0.7.5.0
+  - composite-ekg ==0.7.5.0
+  - composite-hashable ==0.7.5.0
   - composite-tuple ==0.1.2.0
   - composite-xstep ==0.1.0.0
   - composition ==1.0.2.2
@@ -681,7 +681,7 @@ default-package-overrides:
   - deferred-folds ==0.9.17
   - dejafu ==2.4.0.2
   - dense-linear-algebra ==0.1.0.0
-  - depq ==0.4.1.0
+  - depq ==0.4.2
   - deque ==0.4.3
   - deriveJsonNoPrefix ==0.1.0.1
   - derive-topdown ==0.0.2.2
@@ -710,7 +710,7 @@ default-package-overrides:
   - distributed-closure ==0.4.2.0
   - distribution-opensuse ==1.1.1
   - distributive ==0.6.2.1
-  - dl-fedora ==0.7.7
+  - dl-fedora ==0.8
   - dlist ==0.8.0.8
   - dlist-instances ==0.1.1.1
   - dlist-nonempty ==0.1.1
@@ -800,10 +800,10 @@ default-package-overrides:
   - errors-ext ==0.4.2
   - ersatz ==0.4.9
   - esqueleto ==3.4.1.1
-  - essence-of-live-coding ==0.2.4
-  - essence-of-live-coding-gloss ==0.2.4
-  - essence-of-live-coding-pulse ==0.2.4
-  - essence-of-live-coding-quickcheck ==0.2.4
+  - essence-of-live-coding ==0.2.5
+  - essence-of-live-coding-gloss ==0.2.5
+  - essence-of-live-coding-pulse ==0.2.5
+  - essence-of-live-coding-quickcheck ==0.2.5
   - etc ==0.4.1.0
   - eve ==0.1.9.0
   - eventful-core ==0.2.0
@@ -825,7 +825,7 @@ default-package-overrides:
   - expiring-cache-map ==0.0.6.1
   - explicit-exception ==0.1.10
   - exp-pairs ==0.2.1.0
-  - express ==0.1.3
+  - express ==0.1.4
   - extended-reals ==0.2.4.0
   - extensible-effects ==5.0.0.1
   - extensible-exceptions ==0.1.1.4
@@ -869,7 +869,7 @@ default-package-overrides:
   - first-class-patterns ==0.3.2.5
   - fitspec ==0.4.8
   - fixed ==0.3
-  - fixed-length ==0.2.2
+  - fixed-length ==0.2.2.1
   - fixed-vector ==1.2.0.0
   - fixed-vector-hetero ==0.6.1.0
   - fix-whitespace ==0.0.5
@@ -936,10 +936,10 @@ default-package-overrides:
   - generic-data-surgery ==0.3.0.0
   - generic-deriving ==1.13.1
   - generic-functor ==0.2.0.0
-  - generic-lens ==2.0.0.0
-  - generic-lens-core ==2.0.0.0
+  - generic-lens ==2.1.0.0
+  - generic-lens-core ==2.1.0.0
   - generic-monoid ==0.1.0.1
-  - generic-optics ==2.0.0.0
+  - generic-optics ==2.1.0.0
   - GenericPretty ==1.2.2
   - generic-random ==1.3.0.1
   - generics-eot ==0.4.0.1
@@ -978,7 +978,7 @@ default-package-overrides:
   - geojson ==4.0.2
   - getopt-generics ==0.13.0.4
   - ghc-byteorder ==4.11.0.0.10
-  - ghc-check ==0.5.0.3
+  - ghc-check ==0.5.0.4
   - ghc-core ==0.5.6
   - ghc-events ==0.16.0
   - ghc-exactprint ==0.6.4
@@ -1028,7 +1028,7 @@ default-package-overrides:
   - gitrev ==1.3.1
   - gi-xlib ==2.0.9
   - gl ==0.9
-  - glabrous ==2.0.2
+  - glabrous ==2.0.3
   - GLFW-b ==3.3.0.0
   - Glob ==0.10.1
   - gloss ==1.13.2.1
@@ -1130,7 +1130,7 @@ default-package-overrides:
   - hgrev ==0.2.6
   - hidapi ==0.1.7
   - hie-bios ==0.7.5
-  - hi-file-parser ==0.1.1.0
+  - hi-file-parser ==0.1.2.0
   - higher-leveldb ==0.6.0.0
   - highlighting-kate ==0.6.4
   - hinfo ==0.0.3.0
@@ -1187,7 +1187,7 @@ default-package-overrides:
   - hslua-module-path ==0.1.0.1
   - hslua-module-system ==0.2.2.1
   - hslua-module-text ==0.3.0.1
-  - HsOpenSSL ==0.11.6.1
+  - HsOpenSSL ==0.11.6.2
   - HsOpenSSL-x509-system ==0.1.0.4
   - hsp ==0.10.0
   - hspec ==2.7.9
@@ -1197,13 +1197,13 @@ default-package-overrides:
   - hspec-core ==2.7.9
   - hspec-discover ==2.7.9
   - hspec-expectations ==0.8.2
-  - hspec-expectations-json ==1.0.0.2
+  - hspec-expectations-json ==1.0.0.3
   - hspec-expectations-lifted ==0.10.0
   - hspec-expectations-pretty-diff ==0.7.2.5
   - hspec-golden ==0.1.0.3
   - hspec-golden-aeson ==0.7.0.0
   - hspec-hedgehog ==0.0.1.2
-  - hspec-junit-formatter ==1.0.0.1
+  - hspec-junit-formatter ==1.0.0.2
   - hspec-leancheck ==0.0.4
   - hspec-megaparsec ==2.2.0
   - hspec-meta ==2.7.8
@@ -1316,7 +1316,7 @@ default-package-overrides:
   - indexed ==0.1.3
   - indexed-containers ==0.1.0.2
   - indexed-list-literals ==0.2.1.3
-  - indexed-profunctors ==0.1
+  - indexed-profunctors ==0.1.1
   - indexed-traversable ==0.1.1
   - indexed-traversable-instances ==0.1
   - infer-license ==0.2.0
@@ -1332,6 +1332,7 @@ default-package-overrides:
   - insert-ordered-containers ==0.2.4
   - inspection-testing ==0.4.3.0
   - instance-control ==0.1.2.0
+  - int-cast ==0.2.0.0
   - integer-logarithms ==1.0.3.1
   - integer-roots ==1.0
   - integration ==0.2.1
@@ -1356,7 +1357,7 @@ default-package-overrides:
   - io-streams-haproxy ==1.0.1.0
   - ip6addr ==1.0.2
   - iproute ==1.7.11
-  - IPv6Addr ==2.0.1
+  - IPv6Addr ==2.0.2
   - ipynb ==0.1.0.1
   - ipython-kernel ==0.10.2.1
   - irc ==0.6.1.0
@@ -1369,13 +1370,12 @@ default-package-overrides:
   - iso639 ==0.1.0.3
   - iso8601-time ==0.1.5
   - iterable ==3.0
-  - it-has ==0.2.0.0
   - ixset-typed ==0.5
   - ixset-typed-binary-instance ==0.1.0.2
   - ixset-typed-conversions ==0.1.2.0
   - ixset-typed-hashable-instance ==0.1.0.2
   - ix-shapable ==0.1.0
-  - jack ==0.7.1.4
+  - jack ==0.7.2
   - jalaali ==1.0.0.0
   - jira-wiki-markup ==1.3.4
   - jose ==0.8.4
@@ -1416,13 +1416,13 @@ default-package-overrides:
   - l10n ==0.1.0.1
   - labels ==0.3.3
   - lackey ==1.0.14
-  - LambdaHack ==0.9.5.0
+  - LambdaHack ==0.10.2.0
   - lame ==0.2.0
   - language-avro ==0.1.3.1
   - language-bash ==0.9.2
   - language-c ==0.8.3
   - language-c-quote ==0.12.2.1
-  - language-docker ==9.1.3
+  - language-docker ==9.2.0
   - language-java ==0.2.9
   - language-javascript ==0.7.1.0
   - language-protobuf ==1.0.1
@@ -1591,7 +1591,7 @@ default-package-overrides:
   - mnist-idx ==0.1.2.8
   - mockery ==0.3.5
   - mock-time ==0.1.0
-  - mod ==0.1.2.1
+  - mod ==0.1.2.2
   - model ==0.5
   - modern-uri ==0.3.4.1
   - modular ==0.1.0.8
@@ -1617,7 +1617,7 @@ default-package-overrides:
   - monad-primitive ==0.1
   - monad-products ==4.0.1
   - MonadPrompt ==1.0.0.5
-  - MonadRandom ==0.5.2
+  - MonadRandom ==0.5.3
   - monad-resumption ==0.1.4.0
   - monad-skeleton ==0.1.5
   - monad-st ==0.2.4.1
@@ -1707,7 +1707,7 @@ default-package-overrides:
   - nonemptymap ==0.0.6.0
   - non-empty-sequence ==0.2.0.4
   - nonempty-vector ==0.2.1.0
-  - nonempty-zipper ==1.0.0.1
+  - nonempty-zipper ==1.0.0.2
   - non-negative ==0.1.2
   - not-gloss ==0.7.7.0
   - no-value ==1.0.0.0
@@ -1715,7 +1715,7 @@ default-package-overrides:
   - nqe ==0.6.3
   - nri-env-parser ==0.1.0.6
   - nri-observability ==0.1.0.1
-  - nri-prelude ==0.5.0.2
+  - nri-prelude ==0.5.0.3
   - nsis ==0.3.3
   - numbers ==3000.2.0.2
   - numeric-extras ==0.1
@@ -1961,8 +1961,8 @@ default-package-overrides:
   - QuickCheck ==2.14.2
   - quickcheck-arbitrary-adt ==0.3.1.0
   - quickcheck-assertions ==0.3.0
-  - quickcheck-classes ==0.6.4.0
-  - quickcheck-classes-base ==0.6.1.0
+  - quickcheck-classes ==0.6.5.0
+  - quickcheck-classes-base ==0.6.2.0
   - quickcheck-higherorder ==0.1.0.0
   - quickcheck-instances ==0.3.25.2
   - quickcheck-io ==0.2.0
@@ -2013,7 +2013,7 @@ default-package-overrides:
   - rebase ==1.6.1
   - record-dot-preprocessor ==0.2.10
   - record-hasfield ==1.0
-  - records-sop ==0.1.0.3
+  - records-sop ==0.1.1.0
   - record-wrangler ==0.1.1.0
   - recursion-schemes ==5.2.2.1
   - reducers ==3.12.3
@@ -2038,7 +2038,7 @@ default-package-overrides:
   - regex-posix ==0.96.0.0
   - regex-tdfa ==1.3.1.0
   - regex-with-pcre ==1.1.0.0
-  - registry ==0.2.0.2
+  - registry ==0.2.0.3
   - reinterpret-cast ==0.1.0
   - relapse ==1.0.0.0
   - relational-query ==0.12.2.3
@@ -2087,7 +2087,7 @@ default-package-overrides:
   - rvar ==0.2.0.6
   - safe ==0.3.19
   - safe-coloured-text ==0.0.0.0
-  - safecopy ==0.10.4.1
+  - safecopy ==0.10.4.2
   - safe-decimal ==0.2.0.0
   - safe-exceptions ==0.1.7.1
   - safe-foldable ==0.1.0.0
@@ -2248,9 +2248,9 @@ default-package-overrides:
   - sparse-tensor ==0.2.1.5
   - spatial-math ==0.5.0.1
   - special-values ==0.1.0.0
-  - speculate ==0.4.2
+  - speculate ==0.4.4
   - speedy-slice ==0.3.2
-  - Spintax ==0.3.5
+  - Spintax ==0.3.6
   - splice ==0.6.1.1
   - splint ==1.0.1.4
   - split ==0.2.3.4
@@ -2419,7 +2419,7 @@ default-package-overrides:
   - text-metrics ==0.3.0
   - text-postgresql ==0.0.3.1
   - text-printer ==0.5.0.1
-  - text-regex-replace ==0.1.1.3
+  - text-regex-replace ==0.1.1.4
   - text-region ==0.3.1.0
   - text-short ==0.1.3
   - text-show ==3.9
@@ -2457,9 +2457,9 @@ default-package-overrides:
   - throwable-exceptions ==0.1.0.9
   - th-strict-compat ==0.1.0.1
   - th-test-utils ==1.1.0
-  - th-utilities ==0.2.4.2
+  - th-utilities ==0.2.4.3
   - thyme ==0.3.5.5
-  - tidal ==1.7.2
+  - tidal ==1.7.3
   - tile ==0.3.0.0
   - time-compat ==1.9.5
   - timeit ==2.0
@@ -2604,9 +2604,9 @@ default-package-overrides:
   - valor ==0.1.0.0
   - vault ==0.3.1.5
   - vec ==0.4
-  - vector ==0.12.2.0
+  - vector ==0.12.3.0
   - vector-algorithms ==0.8.0.4
-  - vector-binary-instances ==0.2.5.1
+  - vector-binary-instances ==0.2.5.2
   - vector-buffer ==0.4.1
   - vector-builder ==0.3.8.1
   - vector-bytes-instances ==0.1.1
@@ -2729,15 +2729,15 @@ default-package-overrides:
   - yesod ==1.6.1.0
   - yesod-auth ==1.6.10.2
   - yesod-auth-hashdb ==1.7.1.5
-  - yesod-auth-oauth2 ==0.6.2.3
+  - yesod-auth-oauth2 ==0.6.3.0
   - yesod-bin ==1.6.1
-  - yesod-core ==1.6.18.8
+  - yesod-core ==1.6.19.0
   - yesod-fb ==0.6.1
   - yesod-form ==1.6.7
   - yesod-gitrev ==0.2.1
   - yesod-markdown ==0.12.6.8
   - yesod-newsfeed ==1.7.0.0
-  - yesod-page-cursor ==2.0.0.5
+  - yesod-page-cursor ==2.0.0.6
   - yesod-paginator ==1.1.1.0
   - yesod-persistent ==1.6.0.6
   - yesod-sitemap ==1.6.0
@@ -5951,7 +5951,6 @@ broken-packages:
   - gw
   - gyah-bin
   - gym-http-api
-  - H
   - h-booru
   - h-gpgme
   - h-reversi
@@ -6838,6 +6837,7 @@ broken-packages:
   - hsdip
   - hsdns-cache
   - Hsed
+  - hsendxmpp
   - hsenv
   - HSet
   - hset
@@ -7193,7 +7193,6 @@ broken-packages:
   - inject-function
   - inline-asm
   - inline-java
-  - inline-r
   - inserts
   - inspector-wrecker
   - instana-haskell-trace-sdk
@@ -8693,6 +8692,8 @@ broken-packages:
   - opentelemetry-http-client
   - opentheory-char
   - opentok
+  - opentracing-jaeger
+  - opentracing-zipkin-v1
   - opentype
   - OpenVG
   - OpenVGRaw
@@ -8813,7 +8814,6 @@ broken-packages:
   - Paraiso
   - Parallel-Arrows-Eden
   - parallel-tasks
-  - parameterized
   - parameterized-utils
   - paranoia
   - parco
@@ -9818,6 +9818,7 @@ broken-packages:
   - safe-globals
   - safe-lazy-io
   - safe-length
+  - safe-numeric
   - safe-plugins
   - safe-printf
   - safecopy-migrate
@@ -10004,11 +10005,11 @@ broken-packages:
   - servant-db
   - servant-db-postgresql
   - servant-dhall
-  - servant-docs
   - servant-docs-simple
   - servant-ede
   - servant-ekg
   - servant-elm
+  - servant-event-stream
   - servant-examples
   - servant-fiat-content
   - servant-generate
@@ -10769,6 +10770,7 @@ broken-packages:
   - TaskMonad
   - tasty-auto
   - tasty-bdd
+  - tasty-checklist
   - tasty-fail-fast
   - tasty-grading-system
   - tasty-groundhog-converters
@@ -11574,6 +11576,7 @@ broken-packages:
   - whois
   - why3
   - wide-word
+  - wide-word-instances
   - WikimediaParser
   - wikipedia4epub
   - wild-bind-indicator
@@ -11637,7 +11640,6 @@ broken-packages:
   - wshterm
   - wsjtx-udp
   - wss-client
-  - wstunnel
   - wtk
   - wtk-gtk
   - wu-wei
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 066830814fd43..ba00d20007377 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -661,20 +661,26 @@ self: super: builtins.intersectAttrs super {
       # fine with newer versions.
       spagoWithOverrides = doJailbreak super.spago;
 
-      # This defines the version of the purescript-docs-search release we are using.
-      # This is defined in the src/Spago/Prelude.hs file in the spago source.
-      docsSearchVersion = "v0.0.10";
-
-      docsSearchAppJsFile = pkgs.fetchurl {
-        url = "https://github.com/spacchetti/purescript-docs-search/releases/download/${docsSearchVersion}/docs-search-app.js";
+      docsSearchApp_0_0_10 = pkgs.fetchurl {
+        url = "https://github.com/purescript/purescript-docs-search/releases/download/v0.0.10/docs-search-app.js";
         sha256 = "0m5ah29x290r0zk19hx2wix2djy7bs4plh9kvjz6bs9r45x25pa5";
       };
 
-      purescriptDocsSearchFile = pkgs.fetchurl {
-        url = "https://github.com/spacchetti/purescript-docs-search/releases/download/${docsSearchVersion}/purescript-docs-search";
+      docsSearchApp_0_0_11 = pkgs.fetchurl {
+        url = "https://github.com/purescript/purescript-docs-search/releases/download/v0.0.11/docs-search-app.js";
+        sha256 = "17qngsdxfg96cka1cgrl3zdrpal8ll6vyhhnazqm4hwj16ywjm02";
+      };
+
+      purescriptDocsSearch_0_0_10 = pkgs.fetchurl {
+        url = "https://github.com/purescript/purescript-docs-search/releases/download/v0.0.10/purescript-docs-search";
         sha256 = "0wc1zyhli4m2yykc6i0crm048gyizxh7b81n8xc4yb7ibjqwhyj3";
       };
 
+      purescriptDocsSearch_0_0_11 = pkgs.fetchurl {
+        url = "https://github.com/purescript/purescript-docs-search/releases/download/v0.0.11/purescript-docs-search";
+        sha256 = "1hjdprm990vyxz86fgq14ajn0lkams7i00h8k2i2g1a0hjdwppq6";
+      };
+
       spagoFixHpack = overrideCabal spagoWithOverrides (drv: {
         postUnpack = (drv.postUnpack or "") + ''
           # The source for spago is pulled directly from GitHub.  It uses a
@@ -695,13 +701,19 @@ self: super: builtins.intersectAttrs super {
           # However, they are not actually available in the spago source, so they
           # need to fetched with nix and put in the correct place.
           # https://github.com/spacchetti/spago/issues/510
-          cp ${docsSearchAppJsFile} "$sourceRoot/templates/docs-search-app.js"
-          cp ${purescriptDocsSearchFile} "$sourceRoot/templates/purescript-docs-search"
+          cp ${docsSearchApp_0_0_10} "$sourceRoot/templates/docs-search-app-0.0.10.js"
+          cp ${docsSearchApp_0_0_11} "$sourceRoot/templates/docs-search-app-0.0.11.js"
+          cp ${purescriptDocsSearch_0_0_10} "$sourceRoot/templates/purescript-docs-search-0.0.10"
+          cp ${purescriptDocsSearch_0_0_11} "$sourceRoot/templates/purescript-docs-search-0.0.11"
 
           # For some weird reason, on Darwin, the open(2) call to embed these files
           # requires write permissions. The easiest resolution is just to permit that
           # (doesn't cause any harm on other systems).
-          chmod u+w "$sourceRoot/templates/docs-search-app.js" "$sourceRoot/templates/purescript-docs-search"
+          chmod u+w \
+            "$sourceRoot/templates/docs-search-app-0.0.10.js" \
+            "$sourceRoot/templates/purescript-docs-search-0.0.10" \
+            "$sourceRoot/templates/docs-search-app-0.0.11.js" \
+            "$sourceRoot/templates/purescript-docs-search-0.0.11"
         '';
       });
 
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index a4581a2a570b8..7869388c54478 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -946,35 +946,6 @@ self: {
      }) {};
 
   "Allure" = callPackage
-    ({ mkDerivation, async, base, enummapset, filepath, ghc-compact
-     , LambdaHack, optparse-applicative, primitive, random
-     , template-haskell, text, transformers
-     }:
-     mkDerivation {
-       pname = "Allure";
-       version = "0.9.5.0";
-       sha256 = "0cl1r3rcbkj8q290l3q5xva7lkh444s49xz8bm8sbgrk0q3zx041";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         async base enummapset filepath ghc-compact LambdaHack
-         optparse-applicative primitive random template-haskell text
-         transformers
-       ];
-       executableHaskellDepends = [
-         async base filepath LambdaHack optparse-applicative
-       ];
-       testHaskellDepends = [
-         async base filepath LambdaHack optparse-applicative
-       ];
-       description = "Near-future Sci-Fi roguelike and tactical squad combat game";
-       license = lib.licenses.agpl3Plus;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "Allure_0_10_2_0" = callPackage
     ({ mkDerivation, async, base, containers, enummapset, file-embed
      , filepath, ghc-compact, hsini, LambdaHack, optparse-applicative
      , primitive, splitmix, tasty, tasty-hunit, template-haskell, text
@@ -7856,8 +7827,6 @@ self: {
        ];
        description = "The Haskell/R mixed programming environment";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "HABQT" = callPackage
@@ -10886,8 +10855,8 @@ self: {
     ({ mkDerivation, base, bytestring, Cabal, network, openssl, time }:
      mkDerivation {
        pname = "HsOpenSSL";
-       version = "0.11.6.1";
-       sha256 = "0jmnmrhvm7rbspv0vw482i8wpmkzhnnwxswqwx75455w0mvdg62l";
+       version = "0.11.6.2";
+       sha256 = "160fpl2lcardzf4gy5dimhad69gvkkvnpp5nqbf8fcxzm4vgg76y";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [ base bytestring network time ];
        librarySystemDepends = [ openssl ];
@@ -10896,12 +10865,12 @@ self: {
        license = lib.licenses.publicDomain;
      }) {inherit (pkgs) openssl;};
 
-  "HsOpenSSL_0_11_6_2" = callPackage
+  "HsOpenSSL_0_11_7" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, network, openssl, time }:
      mkDerivation {
        pname = "HsOpenSSL";
-       version = "0.11.6.2";
-       sha256 = "160fpl2lcardzf4gy5dimhad69gvkkvnpp5nqbf8fcxzm4vgg76y";
+       version = "0.11.7";
+       sha256 = "0kji758bi8agcjvpbb3hpppv55qm9g2r02mamiv568zwmlkkxsm3";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [ base bytestring network time ];
        librarySystemDepends = [ openssl ];
@@ -11292,24 +11261,6 @@ self: {
      }:
      mkDerivation {
        pname = "IPv6Addr";
-       version = "2.0.1";
-       sha256 = "0gkk20ngbfrr64w5szjhvlwlmali4xcx36iqa714cbxy6lpqy5cl";
-       libraryHaskellDepends = [
-         aeson attoparsec base iproute network network-info random text
-       ];
-       testHaskellDepends = [
-         base HUnit test-framework test-framework-hunit text
-       ];
-       description = "Library to deal with IPv6 address text representations";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "IPv6Addr_2_0_2" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, HUnit, iproute, network
-     , network-info, random, test-framework, test-framework-hunit, text
-     }:
-     mkDerivation {
-       pname = "IPv6Addr";
        version = "2.0.2";
        sha256 = "0r712250lv8brgy3ysdyj41snl0qbsx9h0p853w8n1aif0fsnxkw";
        libraryHaskellDepends = [
@@ -11320,7 +11271,6 @@ self: {
        ];
        description = "Library to deal with IPv6 address text representations";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "IPv6DB" = callPackage
@@ -12444,40 +12394,6 @@ self: {
 
   "LambdaHack" = callPackage
     ({ mkDerivation, assert-failure, async, base, base-compat, binary
-     , bytestring, containers, deepseq, directory, enummapset, filepath
-     , ghc-compact, ghc-prim, hashable, hsini, keys, miniutter
-     , optparse-applicative, pretty-show, primitive, random, sdl2
-     , sdl2-ttf, stm, template-haskell, text, time, transformers
-     , unordered-containers, vector, vector-binary-instances, zlib
-     }:
-     mkDerivation {
-       pname = "LambdaHack";
-       version = "0.9.5.0";
-       sha256 = "1y5345cmwl40p0risziyqlxfa8jv1rm9x6ivv85xhznrsmr0406h";
-       revision = "1";
-       editedCabalFile = "0qaqfyg7a50yibshq63718iyi4z1v017fzp7kbwrnwqmkmdqfa5a";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         assert-failure async base base-compat binary bytestring containers
-         deepseq directory enummapset filepath ghc-compact ghc-prim hashable
-         hsini keys miniutter optparse-applicative pretty-show primitive
-         random sdl2 sdl2-ttf stm template-haskell text time transformers
-         unordered-containers vector vector-binary-instances zlib
-       ];
-       executableHaskellDepends = [
-         async base filepath optparse-applicative
-       ];
-       testHaskellDepends = [ async base filepath optparse-applicative ];
-       description = "A game engine library for tactical squad ASCII roguelike dungeon crawlers";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "LambdaHack_0_10_2_0" = callPackage
-    ({ mkDerivation, assert-failure, async, base, base-compat, binary
      , bytestring, containers, deepseq, directory, enummapset
      , file-embed, filepath, ghc-compact, ghc-prim, hashable, hsini
      , int-cast, keys, miniutter, open-browser, optparse-applicative
@@ -13937,21 +13853,6 @@ self: {
      }:
      mkDerivation {
        pname = "MonadRandom";
-       version = "0.5.2";
-       sha256 = "1rjihspfdg2b9bwvbgj36ql595nbza8ddh1bmgz924xmddshcf30";
-       libraryHaskellDepends = [
-         base mtl primitive random transformers transformers-compat
-       ];
-       description = "Random-number generation monad";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "MonadRandom_0_5_3" = callPackage
-    ({ mkDerivation, base, mtl, primitive, random, transformers
-     , transformers-compat
-     }:
-     mkDerivation {
-       pname = "MonadRandom";
        version = "0.5.3";
        sha256 = "17qaw1gg42p9v6f87dj5vih7l88lddbyd8880ananj8avanls617";
        libraryHaskellDepends = [
@@ -13959,7 +13860,6 @@ self: {
        ];
        description = "Random-number generation monad";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "MonadRandomLazy" = callPackage
@@ -14588,8 +14488,8 @@ self: {
      }:
      mkDerivation {
        pname = "Network-NineP";
-       version = "0.4.7";
-       sha256 = "08r15aacvdx739w1nn1bmr0n8ygfjhqnj12zk6zchw1d50x65mi2";
+       version = "0.4.7.1";
+       sha256 = "0gjscwrm4qjz662819g3l7i989ykxg3cka82kp23j5d2fy2sn2mc";
        libraryHaskellDepends = [
          async base binary bytestring containers convertible exceptions
          hslogger monad-loops monad-peel mstate mtl network network-bsd
@@ -18405,8 +18305,8 @@ self: {
      }:
      mkDerivation {
        pname = "ShellCheck";
-       version = "0.7.1";
-       sha256 = "06m4wh891nah3y0br4wh3adpsb16zawkb2ijgf1vcz61fznj6ps1";
+       version = "0.7.2";
+       sha256 = "0wl43njaq95l35y5mvipwp1db9vr551nz9wl0xy83j1x1kc38xgz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -19224,19 +19124,6 @@ self: {
     ({ mkDerivation, attoparsec, base, extra, mtl, mwc-random, text }:
      mkDerivation {
        pname = "Spintax";
-       version = "0.3.5";
-       sha256 = "1z5sv03h07bf8z6pzxsia9hgf879cmiqdajvx212dk47lysfnm8v";
-       libraryHaskellDepends = [
-         attoparsec base extra mtl mwc-random text
-       ];
-       description = "Random text generation based on spintax";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "Spintax_0_3_6" = callPackage
-    ({ mkDerivation, attoparsec, base, extra, mtl, mwc-random, text }:
-     mkDerivation {
-       pname = "Spintax";
        version = "0.3.6";
        sha256 = "000yprzvq72ia6wfk3hjarb8anx3wfm54rzpv8x7d2zf09pzxk6k";
        libraryHaskellDepends = [
@@ -19244,7 +19131,6 @@ self: {
        ];
        description = "Random text generation based on spintax";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "Spock" = callPackage
@@ -22182,8 +22068,8 @@ self: {
      }:
      mkDerivation {
        pname = "Z-Data";
-       version = "0.7.4.0";
-       sha256 = "1v0n0f96d5g1j6xw7d8w225r9qk9snjdfz7snq8pnmpjcna374jf";
+       version = "0.8.1.0";
+       sha256 = "19w5g5flsjnhjpvnmw7s8b5jg5nlpg0md99zgp3by8gjyigappc7";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          base bytestring case-insensitive containers deepseq ghc-prim
@@ -39363,27 +39249,6 @@ self: {
      }:
      mkDerivation {
        pname = "bcp47-orphans";
-       version = "0.1.0.2";
-       sha256 = "0rgr1p8dn54j432hfwg361dhsd4ngwvy3h8wx094m0kb6vjix9l6";
-       libraryHaskellDepends = [
-         base bcp47 cassava errors esqueleto hashable http-api-data
-         path-pieces persistent text
-       ];
-       testHaskellDepends = [
-         base bcp47 cassava hspec path-pieces persistent QuickCheck
-       ];
-       description = "BCP47 orphan instances";
-       license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "bcp47-orphans_0_1_0_3" = callPackage
-    ({ mkDerivation, base, bcp47, cassava, errors, esqueleto, hashable
-     , hspec, http-api-data, path-pieces, persistent, QuickCheck, text
-     }:
-     mkDerivation {
-       pname = "bcp47-orphans";
        version = "0.1.0.3";
        sha256 = "1dm65nq49zqbc6kxkh2kmsracc9a7vlbq4mpq60jh2wxgvzcfghm";
        libraryHaskellDepends = [
@@ -40260,8 +40125,8 @@ self: {
      }:
      mkDerivation {
        pname = "betris";
-       version = "0.2.0.0";
-       sha256 = "0d8qiiabcca7l57lkmmz5pn11y0jbksv08bzisfab588sbxd9vqr";
+       version = "0.2.1.0";
+       sha256 = "1vpj20hvr2nf3i8a2ijlxmfa1zqv3xwfp8krz4zjznhgjrb1nfpj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -44628,8 +44493,8 @@ self: {
      }:
      mkDerivation {
        pname = "blucontrol";
-       version = "0.2.1.1";
-       sha256 = "087bk9fxjgavrprba7ffyb91jv7ms8k7mlq9s5963lkpdf5636n7";
+       version = "0.3.0.0";
+       sha256 = "0xh1qxfmrfjdsprl5m748j5z9w0qmww8gkj8lhghfskdzxhy0qic";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -44825,6 +44690,21 @@ self: {
        license = "GPL";
      }) {};
 
+  "boardgame" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "boardgame";
+       version = "0.0.0.1";
+       sha256 = "0azbr123zykvjya60s8q3vdpsg2xvy5wn9py0dsi4ih039s7jg64";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base containers ];
+       executableHaskellDepends = [ base containers ];
+       testHaskellDepends = [ base ];
+       description = "Modeling boardgames";
+       license = lib.licenses.mit;
+     }) {};
+
   "bogocopy" = callPackage
     ({ mkDerivation, base, directory, filemanip, filepath
      , optparse-applicative, shelly, text, transformers, unix
@@ -46034,34 +45914,6 @@ self: {
      }:
      mkDerivation {
        pname = "brick";
-       version = "0.60.2";
-       sha256 = "1fcpbm58fikqv94cl97p6bzhyq07kkp3zppylqwpil2qzfhvzb3i";
-       revision = "1";
-       editedCabalFile = "0jm3f0f9hyl6pn92d74shm33v93pyjj20x2axp5y9jgkf1ynnbc8";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring config-ini containers contravariant data-clist
-         deepseq directory dlist exceptions filepath microlens microlens-mtl
-         microlens-th stm template-haskell text text-zipper transformers
-         unix vector vty word-wrap
-       ];
-       testHaskellDepends = [
-         base containers microlens QuickCheck vector
-       ];
-       description = "A declarative terminal user interface library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "brick_0_61" = callPackage
-    ({ mkDerivation, base, bytestring, config-ini, containers
-     , contravariant, data-clist, deepseq, directory, dlist, exceptions
-     , filepath, microlens, microlens-mtl, microlens-th, QuickCheck, stm
-     , template-haskell, text, text-zipper, transformers, unix, vector
-     , vty, word-wrap
-     }:
-     mkDerivation {
-       pname = "brick";
        version = "0.61";
        sha256 = "0cwrsndplgw5226cpdf7aad03jjidqh5wwwgm75anmya7c5lzl2d";
        isLibrary = true;
@@ -46077,7 +45929,6 @@ self: {
        ];
        description = "A declarative terminal user interface library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "brick-dropdownmenu" = callPackage
@@ -50565,8 +50416,8 @@ self: {
      }:
      mkDerivation {
        pname = "calamity";
-       version = "0.1.28.3";
-       sha256 = "0w7jcq6jplr31ljdvj9cqimg1xxz9pjnsdqkncdsiywa10ngww10";
+       version = "0.1.28.4";
+       sha256 = "07ibhr3xngpwl7pq9ykbf6pxzlp8yx49d0qrlhyn7hj5xbswkv3f";
        libraryHaskellDepends = [
          aeson async base bytestring colour concurrent-extra connection
          containers data-default-class data-flags deepseq deque df1 di-core
@@ -52605,27 +52456,6 @@ self: {
      }:
      mkDerivation {
        pname = "cayley-client";
-       version = "0.4.14";
-       sha256 = "1hczhvqqpx8kqg90h5qb2vjindn4crxmq6lwbj8ix45fnkijv4xg";
-       libraryHaskellDepends = [
-         aeson attoparsec base binary bytestring exceptions http-client
-         http-conduit lens lens-aeson mtl text transformers
-         unordered-containers vector
-       ];
-       testHaskellDepends = [ aeson base hspec unordered-containers ];
-       description = "A Haskell client for the Cayley graph database";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "cayley-client_0_4_15" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, binary, bytestring
-     , exceptions, hspec, http-client, http-conduit, lens, lens-aeson
-     , mtl, text, transformers, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "cayley-client";
        version = "0.4.15";
        sha256 = "18kr88g4dlzg1ny0v3ql5yc07s0xsgbgszc69hf583d9c196lzib";
        libraryHaskellDepends = [
@@ -52705,30 +52535,6 @@ self: {
      }:
      mkDerivation {
        pname = "cborg";
-       version = "0.2.4.0";
-       sha256 = "0zrn75jx3lprdagl99r88jfhccalw783fn9jjk9zhy50zypkibil";
-       libraryHaskellDepends = [
-         array base bytestring containers deepseq ghc-prim half integer-gmp
-         primitive text
-       ];
-       testHaskellDepends = [
-         aeson array base base-orphans base16-bytestring base64-bytestring
-         bytestring deepseq half QuickCheck random scientific tasty
-         tasty-hunit tasty-quickcheck text vector
-       ];
-       description = "Concise Binary Object Representation (CBOR)";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "cborg_0_2_5_0" = callPackage
-    ({ mkDerivation, aeson, array, base, base-orphans
-     , base16-bytestring, base64-bytestring, bytestring, containers
-     , deepseq, ghc-prim, half, integer-gmp, primitive, QuickCheck
-     , random, scientific, tasty, tasty-hunit, tasty-quickcheck, text
-     , vector
-     }:
-     mkDerivation {
-       pname = "cborg";
        version = "0.2.5.0";
        sha256 = "08da498bpbnl5c919m45mjm7sr78nn6qs7xyl0smfgd06wwm65xf";
        libraryHaskellDepends = [
@@ -52742,7 +52548,6 @@ self: {
        ];
        description = "Concise Binary Object Representation (CBOR)";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "cborg-json" = callPackage
@@ -57282,8 +57087,8 @@ self: {
      }:
      mkDerivation {
        pname = "closed-intervals";
-       version = "0.1.0.0";
-       sha256 = "1k8kbqh6w7cj7qkmzvh47v9zrpf5y465lj6fzq7vk71bq0dy59vm";
+       version = "0.1.0.1";
+       sha256 = "19vmiwwzv9g4nl1mzkqc7r9bw67n9y7kk3v0jc2vc8yjzrmqgy7v";
        libraryHaskellDepends = [ base containers time ];
        testHaskellDepends = [
          base containers doctest-exitcode-stdio doctest-lib QuickCheck time
@@ -58501,8 +58306,8 @@ self: {
        pname = "codeworld-api";
        version = "0.7.0";
        sha256 = "1l1w4mrw4b2njz4kmfvd94mlwn776vryy1y9x9cb3r69fw5qy2f3";
-       revision = "3";
-       editedCabalFile = "0whbjs6j4fy4jk3bc1djx1bkxpsdyms3r3rf5167x0dhxnahwcgi";
+       revision = "4";
+       editedCabalFile = "06qa2djbzfdwlvgbr2k8667fipyrkdvp8a1vac75fla99pdwp7yi";
        libraryHaskellDepends = [
          aeson base base64-bytestring blank-canvas bytestring cereal
          cereal-text containers deepseq dependent-sum ghc-prim hashable
@@ -60470,33 +60275,6 @@ self: {
      }:
      mkDerivation {
        pname = "composite-aeson";
-       version = "0.7.4.0";
-       sha256 = "1k8m89cff8b3yc1af0l9vd13pav2hjy51gcadahn07zpwv1bszfj";
-       libraryHaskellDepends = [
-         aeson aeson-better-errors base composite-base containers
-         contravariant generic-deriving hashable lens mmorph mtl profunctors
-         scientific tagged template-haskell text time unordered-containers
-         vector vinyl
-       ];
-       testHaskellDepends = [
-         aeson aeson-better-errors aeson-qq base composite-base containers
-         contravariant generic-deriving hashable hspec lens mmorph mtl
-         profunctors QuickCheck scientific tagged template-haskell text time
-         unordered-containers vector vinyl
-       ];
-       description = "JSON for Vinyl records";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "composite-aeson_0_7_5_0" = callPackage
-    ({ mkDerivation, aeson, aeson-better-errors, aeson-qq, base
-     , composite-base, containers, contravariant, generic-deriving
-     , hashable, hspec, lens, mmorph, mtl, profunctors, QuickCheck
-     , scientific, tagged, template-haskell, text, time
-     , unordered-containers, vector, vinyl
-     }:
-     mkDerivation {
-       pname = "composite-aeson";
        version = "0.7.5.0";
        sha256 = "0cxsjk3zwkhwb3bgq2ji1mvvapcwxzg333z7zfdv9ba3xgw3ngq0";
        libraryHaskellDepends = [
@@ -60513,7 +60291,6 @@ self: {
        ];
        description = "JSON for Vinyl records";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-aeson-cofree-list" = callPackage
@@ -60535,23 +60312,11 @@ self: {
     ({ mkDerivation, base, composite-aeson, path }:
      mkDerivation {
        pname = "composite-aeson-path";
-       version = "0.7.4.0";
-       sha256 = "08p988iq7y76px61dlj5jq35drmnrf4khi27wpqgh3pg9d96yihx";
-       libraryHaskellDepends = [ base composite-aeson path ];
-       description = "Formatting data for the path library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "composite-aeson-path_0_7_5_0" = callPackage
-    ({ mkDerivation, base, composite-aeson, path }:
-     mkDerivation {
-       pname = "composite-aeson-path";
        version = "0.7.5.0";
        sha256 = "0b013jpdansx6fmxq1sf33975vvnajhs870a92i1lwd2k2wsj600";
        libraryHaskellDepends = [ base composite-aeson path ];
        description = "Formatting data for the path library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-aeson-refined" = callPackage
@@ -60560,21 +60325,6 @@ self: {
      }:
      mkDerivation {
        pname = "composite-aeson-refined";
-       version = "0.7.4.0";
-       sha256 = "049lrm5iip5y3c9m9x4sjangaigdprj1553sw2vrcvnvn8xfq57s";
-       libraryHaskellDepends = [
-         aeson-better-errors base composite-aeson mtl refined
-       ];
-       description = "composite-aeson support for Refined from the refined package";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "composite-aeson-refined_0_7_5_0" = callPackage
-    ({ mkDerivation, aeson-better-errors, base, composite-aeson, mtl
-     , refined
-     }:
-     mkDerivation {
-       pname = "composite-aeson-refined";
        version = "0.7.5.0";
        sha256 = "05iakig5cqy4zkfl1kvjf9ck7gw5m7bdlcwwnv0kc5znyj66fbif";
        libraryHaskellDepends = [
@@ -60582,7 +60332,6 @@ self: {
        ];
        description = "composite-aeson support for Refined from the refined package";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-aeson-throw" = callPackage
@@ -60621,29 +60370,6 @@ self: {
      }:
      mkDerivation {
        pname = "composite-base";
-       version = "0.7.4.0";
-       sha256 = "1ml1y1zh8znvaqydwcnv8n69rzmx7zy2bpzr65gy79xbczz3dxwz";
-       libraryHaskellDepends = [
-         base deepseq exceptions lens monad-control mtl profunctors
-         template-haskell text transformers transformers-base unliftio-core
-         vinyl
-       ];
-       testHaskellDepends = [
-         base deepseq exceptions hspec lens monad-control mtl profunctors
-         QuickCheck template-haskell text transformers transformers-base
-         unliftio-core vinyl
-       ];
-       description = "Shared utilities for composite-* packages";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "composite-base_0_7_5_0" = callPackage
-    ({ mkDerivation, base, deepseq, exceptions, hspec, lens
-     , monad-control, mtl, profunctors, QuickCheck, template-haskell
-     , text, transformers, transformers-base, unliftio-core, vinyl
-     }:
-     mkDerivation {
-       pname = "composite-base";
        version = "0.7.5.0";
        sha256 = "12qaxm20kn2cf6d19xargxfg8jrvb5ix0glm3ba0641plxlssqrq";
        libraryHaskellDepends = [
@@ -60658,30 +60384,17 @@ self: {
        ];
        description = "Shared utilities for composite-* packages";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-binary" = callPackage
     ({ mkDerivation, base, binary, composite-base }:
      mkDerivation {
        pname = "composite-binary";
-       version = "0.7.4.0";
-       sha256 = "07d88krkpplprnw57j4bqi71p8bmj0wz28yw41wgl2p5g2h7zccp";
-       libraryHaskellDepends = [ base binary composite-base ];
-       description = "Orphan binary instances";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "composite-binary_0_7_5_0" = callPackage
-    ({ mkDerivation, base, binary, composite-base }:
-     mkDerivation {
-       pname = "composite-binary";
        version = "0.7.5.0";
        sha256 = "0pvmmb4m6ysgj468khmggvsgs5c0hjmcn46s0wam353abdw89i7m";
        libraryHaskellDepends = [ base binary composite-base ];
        description = "Orphan binary instances";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-ekg" = callPackage
@@ -60689,20 +60402,6 @@ self: {
      }:
      mkDerivation {
        pname = "composite-ekg";
-       version = "0.7.4.0";
-       sha256 = "0y8wnp6n1fvqfrkm1lqv8pdfq7a4k7gaxl3i9dh6xfzyamlghg82";
-       libraryHaskellDepends = [
-         base composite-base ekg-core lens text vinyl
-       ];
-       description = "EKG Metrics for Vinyl records";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "composite-ekg_0_7_5_0" = callPackage
-    ({ mkDerivation, base, composite-base, ekg-core, lens, text, vinyl
-     }:
-     mkDerivation {
-       pname = "composite-ekg";
        version = "0.7.5.0";
        sha256 = "00a689laq9a2wyq33vvpw7l69wsw9g6d5jzmrsizwqld6a4wdicv";
        libraryHaskellDepends = [
@@ -60710,30 +60409,17 @@ self: {
        ];
        description = "EKG Metrics for Vinyl records";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-hashable" = callPackage
     ({ mkDerivation, base, composite-base, hashable }:
      mkDerivation {
        pname = "composite-hashable";
-       version = "0.7.4.0";
-       sha256 = "0zwv6m9nzz0g3ngmfznxh6wmprhcgdbfxrsgylnr6990ppk0bmg1";
-       libraryHaskellDepends = [ base composite-base hashable ];
-       description = "Orphan hashable instances";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "composite-hashable_0_7_5_0" = callPackage
-    ({ mkDerivation, base, composite-base, hashable }:
-     mkDerivation {
-       pname = "composite-hashable";
        version = "0.7.5.0";
        sha256 = "1s4bnlr08fb1sszys1frkxrjrsi61jpcldh126mcwzlf6wlvqvjn";
        libraryHaskellDepends = [ base composite-base hashable ];
        description = "Orphan hashable instances";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-opaleye" = callPackage
@@ -73636,22 +73322,6 @@ self: {
      }:
      mkDerivation {
        pname = "depq";
-       version = "0.4.1.0";
-       sha256 = "1rlbz9x34209zn44pn1xr9hnjv8ig47yq0p940wkblg55fy4lxcy";
-       libraryHaskellDepends = [
-         base containers deepseq psqueues QuickCheck
-       ];
-       testHaskellDepends = [ base containers hspec QuickCheck ];
-       description = "Double-ended priority queues";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "depq_0_4_2" = callPackage
-    ({ mkDerivation, base, containers, deepseq, hspec, psqueues
-     , QuickCheck
-     }:
-     mkDerivation {
-       pname = "depq";
        version = "0.4.2";
        sha256 = "18q953cr93qwjdblr06w8z4ryijzlz7j48hff4xwrdc3yrqk351l";
        libraryHaskellDepends = [
@@ -73660,7 +73330,6 @@ self: {
        testHaskellDepends = [ base containers hspec QuickCheck ];
        description = "Double-ended priority queues";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "deptrack-core" = callPackage
@@ -78247,8 +77916,8 @@ self: {
      }:
      mkDerivation {
        pname = "dl-fedora";
-       version = "0.7.7";
-       sha256 = "0m4rf0h2hzsd00cgn14w1n8pyrqrikwnf9d232lzwx6qx3nf2nqp";
+       version = "0.8";
+       sha256 = "1pd0cslszd9srr9bpcxzrm84cnk5r78xs79ig32528z0anc5ghcr";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -78263,21 +77932,22 @@ self: {
        broken = true;
      }) {};
 
-  "dl-fedora_0_8" = callPackage
+  "dl-fedora_0_9" = callPackage
     ({ mkDerivation, base, bytestring, directory, extra, filepath
-     , http-directory, http-types, optparse-applicative, regex-posix
-     , simple-cmd, simple-cmd-args, text, time, unix, xdg-userdirs
+     , http-client, http-client-tls, http-directory, http-types
+     , optparse-applicative, regex-posix, simple-cmd, simple-cmd-args
+     , text, time, unix, xdg-userdirs
      }:
      mkDerivation {
        pname = "dl-fedora";
-       version = "0.8";
-       sha256 = "1pd0cslszd9srr9bpcxzrm84cnk5r78xs79ig32528z0anc5ghcr";
+       version = "0.9";
+       sha256 = "17khlv65irp1bdr7j0njlh1sgvr1nhi5xfvdiklhjr7vm6vhmipd";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring directory extra filepath http-directory http-types
-         optparse-applicative regex-posix simple-cmd simple-cmd-args text
-         time unix xdg-userdirs
+         base bytestring directory extra filepath http-client
+         http-client-tls http-directory http-types optparse-applicative
+         regex-posix simple-cmd simple-cmd-args text time unix xdg-userdirs
        ];
        testHaskellDepends = [ base simple-cmd ];
        description = "Fedora image download tool";
@@ -78805,8 +78475,8 @@ self: {
      }:
      mkDerivation {
        pname = "docker";
-       version = "0.6.0.4";
-       sha256 = "07j1c526gazy0kw98iklac767jhslhx9mcnzjazmwqsgyj8n217f";
+       version = "0.6.0.5";
+       sha256 = "1y7vs9s17gwls8f223b4vkwvwflyxr7spslccr9izlf4cblj216d";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring conduit conduit-combinators
          conduit-extra containers data-default-class directory exceptions
@@ -80869,6 +80539,8 @@ self: {
        pname = "duckling";
        version = "0.2.0.0";
        sha256 = "0hr3dwfksi04is2wqykfx04da40sa85147fnfnmazw5czd20xwya";
+       revision = "1";
+       editedCabalFile = "19ml7s7p79y822b7bk9hlxg3c3p6gsklamzysv6pcdpf917cvgl4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -85671,15 +85343,19 @@ self: {
      }) {};
 
   "errata" = callPackage
-    ({ mkDerivation, base, containers, text }:
+    ({ mkDerivation, base, containers, hspec, hspec-discover
+     , hspec-golden, text
+     }:
      mkDerivation {
        pname = "errata";
-       version = "0.2.0.0";
-       sha256 = "14yg0zh7lawjdqpzw7qiwi0c41zqhbvijxxxba319mij5skmmr4k";
+       version = "0.3.0.0";
+       sha256 = "1m83lp3h2lxqkx0d17kplmwp0ngh3yn79k7yza4jkny0c4xv0ijy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers text ];
        executableHaskellDepends = [ base containers text ];
+       testHaskellDepends = [ base containers hspec hspec-golden text ];
+       testToolDepends = [ hspec-discover ];
        description = "Source code error pretty printing";
        license = lib.licenses.mit;
      }) {};
@@ -86224,30 +85900,6 @@ self: {
      }:
      mkDerivation {
        pname = "essence-of-live-coding";
-       version = "0.2.4";
-       sha256 = "04rbbq58ska6qldah0d7s8kdn5hkxka7bap7ca1wksbwbkph6qj1";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base containers foreign-store syb time transformers vector-sized
-       ];
-       executableHaskellDepends = [ base transformers ];
-       testHaskellDepends = [
-         base containers mtl QuickCheck syb test-framework
-         test-framework-quickcheck2 transformers
-       ];
-       description = "General purpose live coding framework";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ turion ];
-     }) {};
-
-  "essence-of-live-coding_0_2_5" = callPackage
-    ({ mkDerivation, base, containers, foreign-store, mtl, QuickCheck
-     , syb, test-framework, test-framework-quickcheck2, time
-     , transformers, vector-sized
-     }:
-     mkDerivation {
-       pname = "essence-of-live-coding";
        version = "0.2.5";
        sha256 = "1ggb69h9fx8vdw6ijkisjyg6hbmi2wdvssil81xxapkj1yhgvvzr";
        isLibrary = true;
@@ -86262,7 +85914,6 @@ self: {
        ];
        description = "General purpose live coding framework";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ turion ];
      }) {};
 
@@ -86272,22 +85923,6 @@ self: {
      }:
      mkDerivation {
        pname = "essence-of-live-coding-gloss";
-       version = "0.2.4";
-       sha256 = "11hnzax39g7yaqwaaxi3niipamd65mcrdi431fxrspkhgcm1nx2y";
-       libraryHaskellDepends = [
-         base essence-of-live-coding foreign-store gloss syb transformers
-       ];
-       description = "General purpose live coding framework - Gloss backend";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ turion ];
-     }) {};
-
-  "essence-of-live-coding-gloss_0_2_5" = callPackage
-    ({ mkDerivation, base, essence-of-live-coding, foreign-store, gloss
-     , syb, transformers
-     }:
-     mkDerivation {
-       pname = "essence-of-live-coding-gloss";
        version = "0.2.5";
        sha256 = "1xa1m1ih625614zd1xn2qbz5hmx45gkv2ssksmwck8jxjbslpspv";
        libraryHaskellDepends = [
@@ -86295,7 +85930,6 @@ self: {
        ];
        description = "General purpose live coding framework - Gloss backend";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ turion ];
      }) {};
 
@@ -86323,22 +85957,6 @@ self: {
      }:
      mkDerivation {
        pname = "essence-of-live-coding-pulse";
-       version = "0.2.4";
-       sha256 = "0lhnq85bi22mwnw4fcg9hzr18mdifxlr833pwsc7ch401y2mf1kz";
-       libraryHaskellDepends = [
-         base essence-of-live-coding foreign-store pulse-simple transformers
-       ];
-       description = "General purpose live coding framework - pulse backend";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ turion ];
-     }) {};
-
-  "essence-of-live-coding-pulse_0_2_5" = callPackage
-    ({ mkDerivation, base, essence-of-live-coding, foreign-store
-     , pulse-simple, transformers
-     }:
-     mkDerivation {
-       pname = "essence-of-live-coding-pulse";
        version = "0.2.5";
        sha256 = "0m2gjzsc6jw860kj5a1k6qrn0xs1zx4snsnq4d9gx1k3lrfqgh0q";
        libraryHaskellDepends = [
@@ -86346,7 +85964,6 @@ self: {
        ];
        description = "General purpose live coding framework - pulse backend";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ turion ];
      }) {};
 
@@ -86374,23 +85991,6 @@ self: {
      }:
      mkDerivation {
        pname = "essence-of-live-coding-quickcheck";
-       version = "0.2.4";
-       sha256 = "1ic2wvk4fc7jb6dkfy6fypmyw7hfbn79m51gn4z4c35ddhsfpngd";
-       libraryHaskellDepends = [
-         base boltzmann-samplers essence-of-live-coding QuickCheck syb
-         transformers
-       ];
-       description = "General purpose live coding framework - QuickCheck integration";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ turion ];
-     }) {};
-
-  "essence-of-live-coding-quickcheck_0_2_5" = callPackage
-    ({ mkDerivation, base, boltzmann-samplers, essence-of-live-coding
-     , QuickCheck, syb, transformers
-     }:
-     mkDerivation {
-       pname = "essence-of-live-coding-quickcheck";
        version = "0.2.5";
        sha256 = "07qw6jyk1vbr85pj9shp9cgpav4g2bc11rnzav39n79jn1vp826m";
        libraryHaskellDepends = [
@@ -86399,7 +85999,6 @@ self: {
        ];
        description = "General purpose live coding framework - QuickCheck integration";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ turion ];
      }) {};
 
@@ -88567,8 +88166,8 @@ self: {
     ({ mkDerivation, base, containers, fgl, mtl, transformers }:
      mkDerivation {
        pname = "exploring-interpreters";
-       version = "0.3.0.0";
-       sha256 = "0h39si80s4q4n6599qj95z19jy3yc0101pphm4apvalm6wmppgpz";
+       version = "0.3.1.0";
+       sha256 = "0765nfr65lphp768j3snzpqpz6f4nrmkvsb6ishflhnxnp99xgyz";
        libraryHaskellDepends = [ base containers fgl mtl transformers ];
        description = "A generic exploring interpreter for exploratory programming";
        license = lib.licenses.bsd3;
@@ -88600,19 +88199,6 @@ self: {
     ({ mkDerivation, base, leancheck, template-haskell }:
      mkDerivation {
        pname = "express";
-       version = "0.1.3";
-       sha256 = "09g7i6x553gv5jkhbn5ffsrxznx8g4b3fcn1gibwyh380pbss8x1";
-       libraryHaskellDepends = [ base template-haskell ];
-       testHaskellDepends = [ base leancheck ];
-       benchmarkHaskellDepends = [ base leancheck ];
-       description = "Dynamically-typed expressions involving applications and variables";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "express_0_1_4" = callPackage
-    ({ mkDerivation, base, leancheck, template-haskell }:
-     mkDerivation {
-       pname = "express";
        version = "0.1.4";
        sha256 = "0rhrlynb950n2c79s3gz0vyd6b34crlhzlva0w91qbzn9dpfrays";
        libraryHaskellDepends = [ base template-haskell ];
@@ -88620,7 +88206,6 @@ self: {
        benchmarkHaskellDepends = [ base leancheck ];
        description = "Dynamically-typed expressions involving applications and variables";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "expression-parser" = callPackage
@@ -88774,12 +88359,12 @@ self: {
      }) {};
 
   "extended-containers" = callPackage
-    ({ mkDerivation, base, hspec, QuickCheck, transformers, vector }:
+    ({ mkDerivation, base, deepseq, hspec, primitive, QuickCheck }:
      mkDerivation {
        pname = "extended-containers";
-       version = "0.1.0.0";
-       sha256 = "04m3i90iljx36yc528yz6dcgcrfvzkvjvghqjp741mqvmixdjsip";
-       libraryHaskellDepends = [ base transformers vector ];
+       version = "0.1.1.0";
+       sha256 = "1fiwhfnwr8m0fnivfx4vmpdzmmglk82xc0x7djavz48mfsz1x459";
+       libraryHaskellDepends = [ base deepseq primitive ];
        testHaskellDepends = [ base hspec QuickCheck ];
        description = "Heap and Vector container types";
        license = lib.licenses.bsd3;
@@ -92425,6 +92010,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "finite-fields" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath
+     , QuickCheck, random, tasty, tasty-quickcheck, vector
+     }:
+     mkDerivation {
+       pname = "finite-fields";
+       version = "0.2";
+       sha256 = "158qc6q8ppisjxhipcvfjha8iklg0x6jpf0cb8wgsz2456wzm2s8";
+       setupHaskellDepends = [ base Cabal directory filepath ];
+       libraryHaskellDepends = [ base containers random vector ];
+       testHaskellDepends = [
+         base containers QuickCheck random tasty tasty-quickcheck
+       ];
+       description = "Arithmetic in finite fields";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "finite-typelits" = callPackage
     ({ mkDerivation, base, deepseq }:
      mkDerivation {
@@ -92781,20 +92383,6 @@ self: {
      }:
      mkDerivation {
        pname = "fixed-length";
-       version = "0.2.2";
-       sha256 = "1bx46n11k9dpr5hhfhxiwdd5npaqf9xwvqvjd0nlbylfmsmgd14y";
-       libraryHaskellDepends = [
-         base non-empty storable-record tfp utility-ht
-       ];
-       description = "Lists with statically known length based on non-empty package";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "fixed-length_0_2_2_1" = callPackage
-    ({ mkDerivation, base, non-empty, storable-record, tfp, utility-ht
-     }:
-     mkDerivation {
-       pname = "fixed-length";
        version = "0.2.2.1";
        sha256 = "123iyy1id86h0j45jyc9jiz24hvjw7j3l57iv80b57gv4hd8a6q7";
        libraryHaskellDepends = [
@@ -92802,7 +92390,6 @@ self: {
        ];
        description = "Lists with statically known length based on non-empty package";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fixed-list" = callPackage
@@ -95072,8 +94659,8 @@ self: {
      }:
      mkDerivation {
        pname = "forex2ledger";
-       version = "1.0.0.0";
-       sha256 = "0rsaw9l3653kfp3hfszdyq7xqfmr38xwvlwk7mdr7sqhqs2xxbaq";
+       version = "1.0.0.1";
+       sha256 = "0v6adrl9c9vjpf4gm8x729qxq7yl84bfbiawmdpks2jzdckxvgdb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -100044,24 +99631,6 @@ self: {
      }:
      mkDerivation {
        pname = "generic-lens";
-       version = "2.0.0.0";
-       sha256 = "0fh9095qiqlym0s6w0zkmybn7hyywgy964fhg95x0vprpmfya5mq";
-       libraryHaskellDepends = [
-         base generic-lens-core profunctors text
-       ];
-       testHaskellDepends = [
-         base doctest HUnit inspection-testing lens profunctors
-       ];
-       description = "Generically derive traversals, lenses and prisms";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "generic-lens_2_1_0_0" = callPackage
-    ({ mkDerivation, base, doctest, generic-lens-core, HUnit
-     , inspection-testing, lens, profunctors, text
-     }:
-     mkDerivation {
-       pname = "generic-lens";
        version = "2.1.0.0";
        sha256 = "1qxabrbzgd32i2fv40qw4f44akvfs1impjvcs5pqn409q9zz6kfd";
        libraryHaskellDepends = [
@@ -100072,30 +99641,17 @@ self: {
        ];
        description = "Generically derive traversals, lenses and prisms";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "generic-lens-core" = callPackage
     ({ mkDerivation, base, indexed-profunctors, text }:
      mkDerivation {
        pname = "generic-lens-core";
-       version = "2.0.0.0";
-       sha256 = "0h7fjh3zk8lkkmdj3w3wg72gbmnr8wz9wfm58ryvx0036l284qji";
-       libraryHaskellDepends = [ base indexed-profunctors text ];
-       description = "Generically derive traversals, lenses and prisms";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "generic-lens-core_2_1_0_0" = callPackage
-    ({ mkDerivation, base, indexed-profunctors, text }:
-     mkDerivation {
-       pname = "generic-lens-core";
        version = "2.1.0.0";
        sha256 = "0ja72rn7f7a24bmgqb6rds1ic78jffy2dzrb7sx8gy3ld5mlg135";
        libraryHaskellDepends = [ base indexed-profunctors text ];
        description = "Generically derive traversals, lenses and prisms";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "generic-lens-labels" = callPackage
@@ -100189,24 +99745,6 @@ self: {
      }:
      mkDerivation {
        pname = "generic-optics";
-       version = "2.0.0.0";
-       sha256 = "17m72q0cjvagq1khiq8m495jhkpn2rqd6y1h9bxngp6l0k355nmw";
-       libraryHaskellDepends = [
-         base generic-lens-core optics-core text
-       ];
-       testHaskellDepends = [
-         base doctest HUnit inspection-testing optics-core
-       ];
-       description = "Generically derive traversals, lenses and prisms";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "generic-optics_2_1_0_0" = callPackage
-    ({ mkDerivation, base, doctest, generic-lens-core, HUnit
-     , inspection-testing, optics-core, text
-     }:
-     mkDerivation {
-       pname = "generic-optics";
        version = "2.1.0.0";
        sha256 = "04szdpcaxiaw9n1cry020mcrcirypfq3qxwr7h8h34b2mffvnl25";
        libraryHaskellDepends = [
@@ -100217,7 +99755,6 @@ self: {
        ];
        description = "Generically derive traversals, lenses and prisms";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "generic-optics-lite" = callPackage
@@ -101797,23 +101334,6 @@ self: {
 
   "ghc-check" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, ghc
-     , ghc-paths, process, safe-exceptions, template-haskell
-     , transformers
-     }:
-     mkDerivation {
-       pname = "ghc-check";
-       version = "0.5.0.3";
-       sha256 = "0crhlqs296zsz7bhy3zqaqhglxg45i6z7d1iqj9v7nr9crimxyjn";
-       libraryHaskellDepends = [
-         base containers directory filepath ghc ghc-paths process
-         safe-exceptions template-haskell transformers
-       ];
-       description = "detect mismatches between compile-time and run-time versions of the ghc api";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "ghc-check_0_5_0_4" = callPackage
-    ({ mkDerivation, base, containers, directory, filepath, ghc
      , ghc-paths, process, safe-exceptions, template-haskell, th-compat
      , transformers
      }:
@@ -101827,7 +101347,6 @@ self: {
        ];
        description = "detect mismatches between compile-time and run-time versions of the ghc api";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ghc-clippy-plugin" = callPackage
@@ -105324,6 +104843,25 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) libsoup;};
 
+  "gi-vips" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
+     , gi-gobject, haskell-gi, haskell-gi-base, haskell-gi-overloading
+     , text, transformers, vips
+     }:
+     mkDerivation {
+       pname = "gi-vips";
+       version = "8.0.1";
+       sha256 = "1iq30mbyw638srpna9db1l039iz30zglxxfjysh0gmkrij4ky7kv";
+       setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
+       libraryHaskellDepends = [
+         base bytestring containers gi-glib gi-gobject haskell-gi
+         haskell-gi-base haskell-gi-overloading text transformers
+       ];
+       libraryPkgconfigDepends = [ vips ];
+       description = "libvips GObject bindings";
+       license = lib.licenses.lgpl21Only;
+     }) {inherit (pkgs) vips;};
+
   "gi-vte" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk
      , gi-gdk, gi-gio, gi-glib, gi-gobject, gi-gtk, gi-pango, haskell-gi
@@ -107044,26 +106582,6 @@ self: {
      }:
      mkDerivation {
        pname = "glabrous";
-       version = "2.0.2";
-       sha256 = "10aaa3aggn48imhqxkwyp0i0mar7fan29rwr6qkwli63v3m7fvgr";
-       libraryHaskellDepends = [
-         aeson aeson-pretty attoparsec base bytestring cereal cereal-text
-         either text unordered-containers
-       ];
-       testHaskellDepends = [
-         base directory either hspec text unordered-containers
-       ];
-       description = "A template DSL library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "glabrous_2_0_3" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
-     , cereal, cereal-text, directory, either, hspec, text
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "glabrous";
        version = "2.0.3";
        sha256 = "06bpazshc07rg1w06sl171k12mry708512hrdckqw7winwfrwwkh";
        libraryHaskellDepends = [
@@ -107075,7 +106593,6 @@ self: {
        ];
        description = "A template DSL library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "glade" = callPackage
@@ -107771,6 +107288,32 @@ self: {
        broken = true;
      }) {inherit (pkgs) glpk;};
 
+  "glsl" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, bytestring, containers
+     , directory, fgl, graphviz, hspec, hspec-discover, lens, linear
+     , QuickCheck, scientific, text, time, transformers, vector
+     }:
+     mkDerivation {
+       pname = "glsl";
+       version = "0.0.1.0";
+       sha256 = "1zq1dy6jzd41qz08xhwvbgy2g6zj90akb2145kh2h2906fyzr2wf";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         attoparsec base binary containers fgl graphviz lens linear
+         scientific text transformers
+       ];
+       executableHaskellDepends = [ base text time ];
+       testHaskellDepends = [
+         attoparsec base binary bytestring directory hspec QuickCheck text
+         vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Parser and optimizer for a small subset of GLSL";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "gltf-codec" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, binary, bytestring
      , directory, filepath, scientific, shower, text
@@ -112340,6 +111883,8 @@ self: {
        pname = "graphula-core";
        version = "2.0.0.1";
        sha256 = "0yl1x5dw70rds9fk7ijsyrksharjm2fhvbihybjbjpj89s1n1zir";
+       revision = "1";
+       editedCabalFile = "0wpbz938vqw60lzgw98pf83i2c09c5633kkh3xhn42zpbnw76ylj";
        libraryHaskellDepends = [
          base containers directory generics-eot HUnit mtl persistent
          QuickCheck random semigroups temporary text transformers unliftio
@@ -113270,8 +112815,8 @@ self: {
      }:
      mkDerivation {
        pname = "grpc-haskell";
-       version = "0.0.1.0";
-       sha256 = "1cl12g88wvml3s5jazcb4gi4zwf6fp28hc9jp1fj25qpbr14il5c";
+       version = "0.1.0";
+       sha256 = "1qqa4qn6ql8zvacaikd1a154ib7bah2h96fjfvd3hz6j79bbfqw4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -116036,8 +115581,8 @@ self: {
      }:
      mkDerivation {
        pname = "hadolint";
-       version = "2.1.0";
-       sha256 = "0hvn6kq6pasyh9mvnxn4crhg4fxmw7xrcfxa77wkxni8q1a94xxs";
+       version = "2.3.0";
+       sha256 = "03cz3inkkqbdnwwvsf7dhclp9svi8c0lpjmcp81ff9vxr1v6x73x";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -119941,6 +119486,8 @@ self: {
        pname = "haskell-awk";
        version = "1.2";
        sha256 = "14jfw5s3xw7amwasw37mxfinzwvxd6pr64iypmy65z7bkx3l01cj";
+       revision = "1";
+       editedCabalFile = "1d6smaalvf66h0d9d1vq9q8ldxcvg11m05wg70cbsq3s2vh6iz4p";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -127394,16 +126941,16 @@ self: {
      , inline-c-cpp, katip, lens, lens-aeson, lifted-async, lifted-base
      , monad-control, mtl, network, network-uri, nix
      , optparse-applicative, process, process-extras, protolude
-     , safe-exceptions, servant, servant-auth-client, servant-client
-     , servant-client-core, stm, temporary, text, time, tomland
-     , transformers, transformers-base, unbounded-delays, unix, unliftio
-     , unliftio-core, unordered-containers, uuid, vector, websockets
-     , wuss
+     , safe-exceptions, scientific, servant, servant-auth-client
+     , servant-client, servant-client-core, stm, temporary, text, time
+     , tomland, transformers, transformers-base, unbounded-delays, unix
+     , unliftio, unliftio-core, unordered-containers, uuid, vector
+     , websockets, wuss
      }:
      mkDerivation {
        pname = "hercules-ci-agent";
-       version = "0.8.0";
-       sha256 = "1nwdi442ccm1x2isxdlh3rpcw627wjccdb4y40w2qna6dchx7v9z";
+       version = "0.8.1";
+       sha256 = "0f18mz2chwipjac7dc918hn54frrxqk6bvyjvzqq25agi5zh8h12";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -127423,7 +126970,7 @@ self: {
          hostname http-client http-client-tls http-conduit inline-c
          inline-c-cpp katip lens lens-aeson lifted-async lifted-base
          monad-control mtl network network-uri optparse-applicative process
-         process-extras protolude safe-exceptions servant
+         process-extras protolude safe-exceptions scientific servant
          servant-auth-client servant-client servant-client-core stm
          temporary text time tomland transformers transformers-base unix
          unliftio unliftio-core unordered-containers uuid vector websockets
@@ -127452,8 +126999,8 @@ self: {
      }:
      mkDerivation {
        pname = "hercules-ci-api";
-       version = "0.6.0.0";
-       sha256 = "11ha3jvwg501n9all4v5r057qr9m9qbmbrkiv5l04mrsi5pvhpw7";
+       version = "0.6.0.1";
+       sha256 = "1c9dvj9vv4rm0ndmgfm9s4qfpjbs2ly98r06bl0xv550anik7kqj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -127484,8 +127031,8 @@ self: {
      }:
      mkDerivation {
        pname = "hercules-ci-api-agent";
-       version = "0.3.0.0";
-       sha256 = "161ghlz5n6na4sviwyxxq78hj37yk89kri0367xx9dbsllgfc7g6";
+       version = "0.3.1.0";
+       sha256 = "0p1xlzwhaz6ycjzmadnlmr7fvz9iar9b7qzz867xxvix6p8w2nj6";
        libraryHaskellDepends = [
          aeson base base64-bytestring-type bytestring containers cookie
          deepseq exceptions hashable hercules-ci-api-core http-api-data
@@ -127540,8 +127087,8 @@ self: {
      }:
      mkDerivation {
        pname = "hercules-ci-cli";
-       version = "0.1.0";
-       sha256 = "1fcg1fd2jd0334nhwsipyf468a4kkdhbibyhhjyspqagswaanm9q";
+       version = "0.2.0";
+       sha256 = "0fxsx31b6m9hxcpymixmfpvj1k569kzbxd2jvm8kzda073hljsbm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -127593,8 +127140,8 @@ self: {
      }:
      mkDerivation {
        pname = "hercules-ci-cnix-store";
-       version = "0.1.0.0";
-       sha256 = "1ni83x2453ii2xgq4ihhr41jbjhgga5dq5q8560f555fwrw10brz";
+       version = "0.1.1.0";
+       sha256 = "1lvlilhfkyx3i4fp0azjx4gm2iwm6hkjrg6kc5faifw7knfivinj";
        libraryHaskellDepends = [
          base bytestring conduit containers inline-c inline-c-cpp protolude
          unliftio-core
@@ -129244,20 +128791,6 @@ self: {
      }) {};
 
   "hi-file-parser" = callPackage
-    ({ mkDerivation, base, binary, bytestring, hspec, rio, vector }:
-     mkDerivation {
-       pname = "hi-file-parser";
-       version = "0.1.1.0";
-       sha256 = "1wb79m6vx7dz4hrvyk2h1iv6q36g9hhywls5ygam7pmw9c4rs3sq";
-       revision = "2";
-       editedCabalFile = "1495j6ky44r660yr5szy2ln96rdhakh0fhnw749g2yyx5l0gwcrs";
-       libraryHaskellDepends = [ base binary bytestring rio vector ];
-       testHaskellDepends = [ base binary bytestring hspec rio vector ];
-       description = "Parser for GHC's hi files";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hi-file-parser_0_1_2_0" = callPackage
     ({ mkDerivation, base, binary, bytestring, hspec, mtl, rio, vector
      }:
      mkDerivation {
@@ -129270,7 +128803,6 @@ self: {
        ];
        description = "Parser for GHC's hi files";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hi3status" = callPackage
@@ -129570,6 +129102,28 @@ self: {
        broken = true;
      }) {};
 
+  "hierarchical-env" = callPackage
+    ({ mkDerivation, base, hspec, hspec-discover, method, microlens
+     , microlens-mtl, microlens-th, rio, template-haskell
+     , th-abstraction
+     }:
+     mkDerivation {
+       pname = "hierarchical-env";
+       version = "0.1.0.0";
+       sha256 = "0syx9i9z9j75wbqsrwl8nqhr025df6vmgb4p767sdb7dncpqkph9";
+       libraryHaskellDepends = [
+         base method microlens microlens-mtl microlens-th rio
+         template-haskell th-abstraction
+       ];
+       testHaskellDepends = [
+         base hspec method microlens microlens-mtl microlens-th rio
+         template-haskell th-abstraction
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "hierarchical environments for dependency injection";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "hierarchical-exceptions" = callPackage
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
@@ -131855,6 +131409,8 @@ self: {
        pname = "hlrdb";
        version = "0.3.2.0";
        sha256 = "1k4dsd4h3fv1ag753gwxvirfrj53ra4ik948pyacq31c16mz1l2p";
+       revision = "1";
+       editedCabalFile = "1ypb0197v5x6a5zkj7qqrr7lam3sxvvi3wbgk5imvdppq2rj7hqz";
        libraryHaskellDepends = [
          base base64-bytestring bytestring cryptonite hashable hedis
          hlrdb-core memory random store time unordered-containers zstd
@@ -131871,10 +131427,10 @@ self: {
      }:
      mkDerivation {
        pname = "hlrdb-core";
-       version = "0.1.6.0";
-       sha256 = "13hb0657y5cqhbl2m27v28b6zl9mgcq17r983rds3l3bccn67ayv";
+       version = "0.1.6.1";
+       sha256 = "0sy87qz7v1x4rmqclfz2q8bnca2k7zyc7cgk67s80xhp4jsab90x";
        revision = "1";
-       editedCabalFile = "163scamdjq98zk039qv3r4xqz7hmixa136gfkifx757fy4nigdiy";
+       editedCabalFile = "1nyvgbpvr7l0b9cvnlavmc88aszvxfrdcj57grrs6dcd1d4lv7ss";
        libraryHaskellDepends = [
          base bytestring hashable hedis lens mtl profunctors random time
          unordered-containers
@@ -136127,15 +135683,15 @@ self: {
      }:
      mkDerivation {
        pname = "hs-conllu";
-       version = "0.1.2";
-       sha256 = "1dvayafvf14gbir7cafhzlscqlffaws5ajilm5h520ji449jh2aa";
+       version = "0.1.5";
+       sha256 = "1azh4g5kdng8v729ldgblkmrdqrc501rgm9wwqx6gkqwwzn8w3r4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base containers directory filepath megaparsec void
        ];
        executableHaskellDepends = [
-         base containers directory filepath megaparsec
+         base containers directory filepath megaparsec void
        ];
        description = "Conllu validating parser and utils";
        license = lib.licenses.lgpl3Only;
@@ -138094,20 +137650,22 @@ self: {
 
   "hsendxmpp" = callPackage
     ({ mkDerivation, base, hslogger, pontarius-xmpp
-     , pontarius-xmpp-extras, string-class
+     , pontarius-xmpp-extras, string-class, text
      }:
      mkDerivation {
        pname = "hsendxmpp";
-       version = "0.1.2.4";
-       sha256 = "17dhhjbynr7afjibv6fys45m2al422b6q3z7ncfycpwp6541qifm";
+       version = "0.1.2.5";
+       sha256 = "0wyfcsc0vjyx87r5dv51frfligf4d7v0n1m7967vg4d6jkw2zxd9";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base hslogger pontarius-xmpp pontarius-xmpp-extras string-class
+         text
        ];
        description = "sendxmpp clone, sending XMPP messages via CLI";
-       license = "unknown";
+       license = lib.licenses.agpl3Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hsenv" = callPackage
@@ -138406,8 +137964,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsinspect";
-       version = "0.0.17";
-       sha256 = "1ib8vxjsrg03i4fmcgwfkxwbr4dwyvk6xvhb0y6xydwjckfs0ldd";
+       version = "0.0.18";
+       sha256 = "1xqrmkr1r3ssv51aqikxhw39rgajswrvl3z0gb0xq2p3shynxi53";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -139332,25 +138890,6 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-expectations-json";
-       version = "1.0.0.2";
-       sha256 = "1jv0mi0hdbxx75yygd3184kqpi50ysjp82vyr1di7dcz0ffyxhmb";
-       libraryHaskellDepends = [
-         aeson aeson-pretty base Diff HUnit scientific text
-         unordered-containers vector
-       ];
-       testHaskellDepends = [ aeson-qq base hspec ];
-       description = "Hspec expectations for JSON Values";
-       license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "hspec-expectations-json_1_0_0_3" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, aeson-qq, base, Diff, hspec
-     , HUnit, scientific, text, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "hspec-expectations-json";
        version = "1.0.0.3";
        sha256 = "06k2gk289v6xxzj5mp5nsz6ixqlh2z3zx8z1jlxza35pkzkv34x7";
        libraryHaskellDepends = [
@@ -139572,23 +139111,6 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-junit-formatter";
-       version = "1.0.0.1";
-       sha256 = "146y4y3q047a5g8dif1vdjsn8jz6kafq0yzd7x5wpg7daccbxami";
-       libraryHaskellDepends = [
-         base conduit directory exceptions hashable hspec hspec-core
-         resourcet temporary text xml-conduit xml-types
-       ];
-       description = "A JUnit XML runner/formatter for hspec";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hspec-junit-formatter_1_0_0_2" = callPackage
-    ({ mkDerivation, base, conduit, directory, exceptions, hashable
-     , hspec, hspec-core, resourcet, temporary, text, xml-conduit
-     , xml-types
-     }:
-     mkDerivation {
-       pname = "hspec-junit-formatter";
        version = "1.0.0.2";
        sha256 = "19mmzzjg041sqv22w66cls0mcypdamsqx43n00hnn2gqk0jkhhll";
        libraryHaskellDepends = [
@@ -139597,7 +139119,6 @@ self: {
        ];
        description = "A JUnit XML runner/formatter for hspec";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hspec-laws" = callPackage
@@ -141695,7 +141216,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "http-client_0_7_7" = callPackage
+  "http-client_0_7_8" = callPackage
     ({ mkDerivation, array, async, base, base64-bytestring
      , blaze-builder, bytestring, case-insensitive, containers, cookie
      , deepseq, directory, exceptions, filepath, ghc-prim, hspec
@@ -141705,8 +141226,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-client";
-       version = "0.7.7";
-       sha256 = "0sbjfxfnj5b594klc7h7zmw27gssrbcsacld9lw9p0bpmgx73lvn";
+       version = "0.7.8";
+       sha256 = "043ydfakl02cghmphzz9hj08hrfszqw96vjrb4cal7c7801szz0q";
        libraryHaskellDepends = [
          array base base64-bytestring blaze-builder bytestring
          case-insensitive containers cookie deepseq exceptions filepath
@@ -142326,8 +141847,8 @@ self: {
        pname = "http-media";
        version = "0.8.0.0";
        sha256 = "0lww5cxrc9jlvzsysjv99lca33i4rb7cll66p3c0rdpmvz8pk0ir";
-       revision = "4";
-       editedCabalFile = "0qg6x92i3w2q7zarr08kmicychkwskfi04xaxkqkg0cw6jnpnhhh";
+       revision = "5";
+       editedCabalFile = "0wf39pdag8a81ksk5xrgjzzzhav62vw2s77p43y7n3zkz5vynw7n";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers utf8-string
        ];
@@ -142458,19 +141979,23 @@ self: {
     ({ mkDerivation, async, base, blaze-builder, bytestring
      , bytestring-lexing, case-insensitive, conduit, conduit-extra
      , connection, hspec, http-client, http-conduit, http-types, mtl
-     , network, QuickCheck, random, resourcet, streaming-commons, text
-     , tls, transformers, vault, wai, wai-conduit, warp, warp-tls
+     , network, network-uri, QuickCheck, random, resourcet
+     , streaming-commons, text, tls, transformers, vault, wai
+     , wai-conduit, warp, warp-tls
      }:
      mkDerivation {
        pname = "http-proxy";
-       version = "0.1.1.0";
-       sha256 = "1nzihn2qxm066avzgill1nxa0174ggv54bacsn871a0ai7n03079";
+       version = "0.1.2.0";
+       sha256 = "17yn15hd0kn3r495awy5qmrxq8mgrby8h5b9q7vzm583yppi9dmn";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         async base blaze-builder bytestring bytestring-lexing
-         case-insensitive conduit conduit-extra http-client http-conduit
-         http-types mtl network resourcet streaming-commons text tls
-         transformers wai wai-conduit warp warp-tls
+         async base bytestring bytestring-lexing case-insensitive conduit
+         conduit-extra http-client http-conduit http-types mtl network
+         resourcet streaming-commons text tls transformers wai wai-conduit
+         warp warp-tls
        ];
+       executableHaskellDepends = [ base bytestring network-uri wai ];
        testHaskellDepends = [
          async base blaze-builder bytestring bytestring-lexing
          case-insensitive conduit conduit-extra connection hspec http-client
@@ -142746,7 +142271,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "http2_3_0_0" = callPackage
+  "http2_3_0_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, async, base
      , base16-bytestring, bytestring, case-insensitive, containers
      , cryptonite, directory, filepath, gauge, Glob, heaps, hspec
@@ -142757,8 +142282,8 @@ self: {
      }:
      mkDerivation {
        pname = "http2";
-       version = "3.0.0";
-       sha256 = "17j4p2apyiiznkwdn9a8pdb43vcwbnpzyff2wqlzpbf9habb8idf";
+       version = "3.0.1";
+       sha256 = "1c1vhb2x23rlw7ciayz0rx6lpifjwrvpg88nspwa9w5nbjij2258";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -145516,8 +145041,8 @@ self: {
     ({ mkDerivation, base, containers, HUnit, random }:
      mkDerivation {
        pname = "hyahtzee";
-       version = "0.2";
-       sha256 = "0zv9ycgf9sii59q86s04m6krjyjgmrqaxz4lyvwa58b7a886wcmv";
+       version = "0.5";
+       sha256 = "0g9y155w072zdwfx241zs7wwi338kyabv6kdk5j180s85ya8ryxp";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base containers HUnit random ];
@@ -148765,23 +148290,11 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "indexed-profunctors";
-       version = "0.1";
-       sha256 = "0rdvj62rapkkj5zv5jyx2ynfwn2iszx1w2q08j9ik17zklqv9pri";
-       libraryHaskellDepends = [ base ];
-       description = "Utilities for indexed profunctors";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "indexed-profunctors_0_1_1" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "indexed-profunctors";
        version = "0.1.1";
        sha256 = "1cbccbvrx73drr1jf3yyw0rp1mcfv3jc1rvdcby5xxx4ja543fjs";
        libraryHaskellDepends = [ base ];
        description = "Utilities for indexed profunctors";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "indexed-traversable" = callPackage
@@ -149417,8 +148930,6 @@ self: {
        ];
        description = "Seamlessly call R from Haskell and vice versa. No FFI required.";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) R;};
 
   "inliterate" = callPackage
@@ -149542,6 +149053,23 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "inspection-testing_0_4_4_0" = callPackage
+    ({ mkDerivation, base, containers, ghc, mtl, template-haskell
+     , transformers
+     }:
+     mkDerivation {
+       pname = "inspection-testing";
+       version = "0.4.4.0";
+       sha256 = "1zr7c7xpmnfwn2p84rqw69n1g91rdkh7d20awvj0s56nbdikgiyh";
+       libraryHaskellDepends = [
+         base containers ghc mtl template-haskell transformers
+       ];
+       testHaskellDepends = [ base ];
+       description = "GHC plugin to do inspection testing";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "inspector-wrecker" = callPackage
     ({ mkDerivation, aeson, base, bytestring, case-insensitive
      , connection, data-default, http-client, http-client-tls
@@ -150429,12 +149957,12 @@ self: {
      }) {};
 
   "interval-algebra" = callPackage
-    ({ mkDerivation, base, hspec, QuickCheck, time }:
+    ({ mkDerivation, base, hspec, QuickCheck, time, witherable }:
      mkDerivation {
        pname = "interval-algebra";
-       version = "0.1.2";
-       sha256 = "1nhpcrp7r6ba9mqwrfkx0zk7awdw24kh75ggq1wcif6mpir2khkx";
-       libraryHaskellDepends = [ base time ];
+       version = "0.3.3";
+       sha256 = "0njlirr5ymsdw27snixxf3c4dgj8grffqv94a1hz97k801a3axkh";
+       libraryHaskellDepends = [ base QuickCheck time witherable ];
        testHaskellDepends = [ base hspec QuickCheck time ];
        description = "An implementation of Allen's interval algebra for temporal logic";
        license = lib.licenses.bsd3;
@@ -152940,26 +152468,6 @@ self: {
      }:
      mkDerivation {
        pname = "jack";
-       version = "0.7.1.4";
-       sha256 = "018lsa5mgl7vb0hrd4jswa40d6w7alfq082brax8p832zf0v5bj2";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         array base bytestring enumset event-list explicit-exception midi
-         non-negative semigroups transformers
-       ];
-       libraryPkgconfigDepends = [ libjack2 ];
-       description = "Bindings for the JACK Audio Connection Kit";
-       license = "GPL";
-     }) {inherit (pkgs) libjack2;};
-
-  "jack_0_7_2" = callPackage
-    ({ mkDerivation, array, base, bytestring, enumset, event-list
-     , explicit-exception, libjack2, midi, non-negative, semigroups
-     , transformers
-     }:
-     mkDerivation {
-       pname = "jack";
        version = "0.7.2";
        sha256 = "0aa7nz8ybsw7s0nmf12kxnjm5z1afj88c97b1w17b7lvdwvfs3cx";
        isLibrary = true;
@@ -152971,7 +152479,6 @@ self: {
        libraryPkgconfigDepends = [ libjack2 ];
        description = "Bindings for the JACK Audio Connection Kit";
        license = lib.licenses.gpl2Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) libjack2;};
 
   "jack-bindings" = callPackage
@@ -158528,6 +158035,26 @@ self: {
        broken = true;
      }) {};
 
+  "kvitable" = callPackage
+    ({ mkDerivation, base, containers, html-parse, lucid, microlens
+     , pretty-show, prettyprinter, tasty, tasty-hunit, template-haskell
+     , text
+     }:
+     mkDerivation {
+       pname = "kvitable";
+       version = "1.0.0.0";
+       sha256 = "1p8myw0f32gb1cxzp63l4i7m6gz1l423pl40yp2jl7vfdp4kzjwz";
+       libraryHaskellDepends = [
+         base containers lucid microlens prettyprinter text
+       ];
+       testHaskellDepends = [
+         base html-parse microlens pretty-show tasty tasty-hunit
+         template-haskell text
+       ];
+       description = "Key/Value Indexed Table container and formatting library";
+       license = lib.licenses.isc;
+     }) {};
+
   "kyotocabinet" = callPackage
     ({ mkDerivation, base, bytestring, cereal, kyotocabinet }:
      mkDerivation {
@@ -160041,8 +159568,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-docker";
-       version = "9.1.3";
-       sha256 = "00nr8fb981rkjzy2xhppvg9avsi377ww28d50rldm5wh7ax9s3w2";
+       version = "9.2.0";
+       sha256 = "08nq78091w7dii823fy7bvp2gxn1j1fp1fj151z37hvf423w19ds";
        libraryHaskellDepends = [
          base bytestring containers data-default-class megaparsec
          prettyprinter split text time
@@ -160055,15 +159582,15 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {};
 
-  "language-docker_9_2_0" = callPackage
+  "language-docker_9_3_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, data-default-class
      , hspec, HUnit, megaparsec, prettyprinter, QuickCheck, split, text
      , time
      }:
      mkDerivation {
        pname = "language-docker";
-       version = "9.2.0";
-       sha256 = "08nq78091w7dii823fy7bvp2gxn1j1fp1fj151z37hvf423w19ds";
+       version = "9.3.0";
+       sha256 = "1n9v0b6lwr528b6919y11a8d27mhsp0mm870rx0rjg9l5j4mnbvn";
        libraryHaskellDepends = [
          base bytestring containers data-default-class megaparsec
          prettyprinter split text time
@@ -162089,6 +161616,19 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "leancheck_0_9_4" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "leancheck";
+       version = "0.9.4";
+       sha256 = "0w17ymj7k4sr9jwp9yrgh3l94l3kgjyxxnpxwj2sdqk8fvmjpkny";
+       libraryHaskellDepends = [ base template-haskell ];
+       testHaskellDepends = [ base ];
+       description = "Enumerative property-based testing";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "leancheck-enum-instances" = callPackage
     ({ mkDerivation, base, enum-types, leancheck }:
      mkDerivation {
@@ -164667,6 +164207,19 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "lift-type" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "lift-type";
+       version = "0.1.0.0";
+       sha256 = "0832xn7bfv1kwg02mmh6my11inljb066mci01b7p0xkcip1kmrhy";
+       revision = "1";
+       editedCabalFile = "1m89kzw7zrys8jjg7sbdpfq3bsqdvqr8bcszsnwvx0nmj1c6hciw";
+       libraryHaskellDepends = [ base template-haskell ];
+       testHaskellDepends = [ base template-haskell ];
+       license = lib.licenses.bsd3;
+     }) {};
+
   "lifted-async" = callPackage
     ({ mkDerivation, async, base, constraints, deepseq, HUnit
      , lifted-base, monad-control, mtl, tasty, tasty-bench
@@ -171926,6 +171479,27 @@ self: {
        broken = true;
      }) {};
 
+  "mangrove" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, filepath
+     , HUnit, text, transformers, unordered-containers, utility-ht
+     , vector, willow
+     }:
+     mkDerivation {
+       pname = "mangrove";
+       version = "0.1.0.0";
+       sha256 = "0r9gpi79h676zal5r6x6kq8aszi83y035g32j55y0lkqsiww86ah";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base bytestring containers filepath text transformers
+         unordered-containers utility-ht vector willow
+       ];
+       testHaskellDepends = [
+         base bytestring filepath HUnit text utility-ht
+       ];
+       description = "A parser for web documents according to the HTML5 specification";
+       license = lib.licenses.mpl20;
+     }) {};
+
   "manifold-random" = callPackage
     ({ mkDerivation, base, constrained-categories, linearmap-category
      , manifolds, random-fu, semigroups, vector-space
@@ -178033,29 +177607,6 @@ self: {
   "mod" = callPackage
     ({ mkDerivation, base, deepseq, integer-gmp, primitive
      , quickcheck-classes, quickcheck-classes-base, semirings, tasty
-     , tasty-quickcheck, time, vector
-     }:
-     mkDerivation {
-       pname = "mod";
-       version = "0.1.2.1";
-       sha256 = "0fjcjk9jxwc2d1fm3kzamh9gi3lwnl2g6kz3z2hd43dszkay1mn1";
-       revision = "2";
-       editedCabalFile = "0h4dff2r9q5619pfahdm4bb6xmsqvv5b6d0na1i2sg7zq58ac2bq";
-       libraryHaskellDepends = [
-         base deepseq integer-gmp primitive semirings vector
-       ];
-       testHaskellDepends = [
-         base primitive quickcheck-classes quickcheck-classes-base semirings
-         tasty tasty-quickcheck vector
-       ];
-       benchmarkHaskellDepends = [ base time ];
-       description = "Fast type-safe modular arithmetic";
-       license = lib.licenses.mit;
-     }) {};
-
-  "mod_0_1_2_2" = callPackage
-    ({ mkDerivation, base, deepseq, integer-gmp, primitive
-     , quickcheck-classes, quickcheck-classes-base, semirings, tasty
      , tasty-bench, tasty-quickcheck, vector
      }:
      mkDerivation {
@@ -178072,7 +177623,6 @@ self: {
        benchmarkHaskellDepends = [ base tasty-bench ];
        description = "Fast type-safe modular arithmetic";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "modbus-tcp" = callPackage
@@ -180442,8 +179992,8 @@ self: {
        pname = "monoidal-containers";
        version = "0.6.0.1";
        sha256 = "1j5mfs0ysvwk3jsmq4hlj4l3kasfc28lk1b3xaymf9dw48ac5j82";
-       revision = "2";
-       editedCabalFile = "1b98zf8c2mz7qrp24pyq6wqx5ljlckc7hyk62kiyj23svq7sxpzz";
+       revision = "4";
+       editedCabalFile = "1vi30clh5j3zzirbl4wch40vjds4p6sdmf1q1qadm4zzj7zahvpm";
        libraryHaskellDepends = [
          aeson base containers deepseq hashable lens newtype semialign
          semigroups these unordered-containers
@@ -189768,25 +189318,12 @@ self: {
     ({ mkDerivation, base, comonad, deepseq, doctest, Glob, safe }:
      mkDerivation {
        pname = "nonempty-zipper";
-       version = "1.0.0.1";
-       sha256 = "17h070rciwbdk36n68dbin1yv2ybrb2vak9azimfv51z6b6a7b4w";
-       libraryHaskellDepends = [ base comonad deepseq safe ];
-       testHaskellDepends = [ base comonad deepseq doctest Glob safe ];
-       description = "A non-empty comonadic list zipper";
-       license = lib.licenses.mit;
-     }) {};
-
-  "nonempty-zipper_1_0_0_2" = callPackage
-    ({ mkDerivation, base, comonad, deepseq, doctest, Glob, safe }:
-     mkDerivation {
-       pname = "nonempty-zipper";
        version = "1.0.0.2";
        sha256 = "10fj56ry851npkhrkw9gb1sckhx764l2s2c5x83cnylxlg7cfijj";
        libraryHaskellDepends = [ base comonad deepseq safe ];
        testHaskellDepends = [ base comonad deepseq doctest Glob safe ];
        description = "A non-empty comonadic list zipper";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nonemptymap" = callPackage
@@ -190356,8 +189893,8 @@ self: {
      }:
      mkDerivation {
        pname = "nri-prelude";
-       version = "0.5.0.2";
-       sha256 = "1g96nf1nslynqywkqzb4x0k17v0fcw37jidrp7yzkmz16yhqxh1n";
+       version = "0.5.0.3";
+       sha256 = "0k4mhgyazjc74hwf2xgznhhkryqhdmsc2pv1v9d32706qkr796wn";
        libraryHaskellDepends = [
          aeson aeson-pretty async auto-update base bytestring containers
          directory exceptions filepath ghc hedgehog junit-xml pretty-diff
@@ -193049,6 +192586,43 @@ self: {
        broken = true;
      }) {};
 
+  "openapi3_3_1_0" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, base-compat-batteries
+     , bytestring, Cabal, cabal-doctest, containers, cookie, doctest
+     , generics-sop, Glob, hashable, hspec, hspec-discover, http-media
+     , HUnit, insert-ordered-containers, lens, mtl, network, optics-core
+     , optics-th, QuickCheck, quickcheck-instances, scientific
+     , template-haskell, text, time, transformers, unordered-containers
+     , utf8-string, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "openapi3";
+       version = "3.1.0";
+       sha256 = "011754qyxxw5mn06hdmxalvsiff7a4x4k2yb2r6ylzr6zhyz818z";
+       isLibrary = true;
+       isExecutable = true;
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         aeson aeson-pretty base base-compat-batteries bytestring containers
+         cookie generics-sop hashable http-media insert-ordered-containers
+         lens mtl network optics-core optics-th QuickCheck scientific
+         template-haskell text time transformers unordered-containers
+         uuid-types vector
+       ];
+       executableHaskellDepends = [ aeson base lens text ];
+       testHaskellDepends = [
+         aeson base base-compat-batteries bytestring containers doctest Glob
+         hashable hspec HUnit insert-ordered-containers lens mtl QuickCheck
+         quickcheck-instances template-haskell text time
+         unordered-containers utf8-string vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "OpenAPI 3.0 data model";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "openapi3-code-generator" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
      , filepath, genvalidity, genvalidity-hspec, genvalidity-text
@@ -193888,6 +193462,120 @@ self: {
        broken = true;
      }) {};
 
+  "opentracing" = callPackage
+    ({ mkDerivation, aeson, async, base, base64-bytestring, bytestring
+     , case-insensitive, clock, containers, http-types, iproute, lens
+     , mtl, mwc-random, network, safe-exceptions, semigroups, stm, text
+     , time, transformers, unordered-containers, uri-bytestring, vinyl
+     }:
+     mkDerivation {
+       pname = "opentracing";
+       version = "0.1.0.0";
+       sha256 = "0j791hv525mcskqmji3f9n8v803pailm8jrl336pxzdh3iacqvsl";
+       libraryHaskellDepends = [
+         aeson async base base64-bytestring bytestring case-insensitive
+         clock containers http-types iproute lens mtl mwc-random network
+         safe-exceptions semigroups stm text time transformers
+         unordered-containers uri-bytestring vinyl
+       ];
+       description = "OpenTracing for Haskell";
+       license = lib.licenses.asl20;
+     }) {};
+
+  "opentracing-http-client" = callPackage
+    ({ mkDerivation, base, http-client, lens, mtl, opentracing, text }:
+     mkDerivation {
+       pname = "opentracing-http-client";
+       version = "0.1.0.0";
+       sha256 = "1jzdnlk2cacmymjkcfx4n569n6gqy6kwzh9dxrgjnagwh3jqk7q3";
+       libraryHaskellDepends = [
+         base http-client lens mtl opentracing text
+       ];
+       description = "OpenTracing instrumentation of http-client";
+       license = lib.licenses.asl20;
+     }) {};
+
+  "opentracing-jaeger" = callPackage
+    ({ mkDerivation, base, bytestring, exceptions, hashable
+     , http-client, http-types, lens, mtl, network, opentracing
+     , QuickCheck, safe-exceptions, text, thrift, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "opentracing-jaeger";
+       version = "0.1.0.0";
+       sha256 = "1yr9vhbpqq12hj9blv3v1wc26n9qsp0g7pjngxh0k1zcv759s1k0";
+       libraryHaskellDepends = [
+         base bytestring exceptions hashable http-client http-types lens mtl
+         network opentracing QuickCheck safe-exceptions text thrift
+         unordered-containers vector
+       ];
+       description = "Jaeger backend for OpenTracing";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "opentracing-wai" = callPackage
+    ({ mkDerivation, base, lens, opentracing, text, wai }:
+     mkDerivation {
+       pname = "opentracing-wai";
+       version = "0.1.0.0";
+       sha256 = "1m68l4gxpyl81yhkd209kdgzydzyg632x8gl2jh3l4k83ysdg545";
+       libraryHaskellDepends = [ base lens opentracing text wai ];
+       description = "Middleware adding OpenTracing tracing for WAI applications";
+       license = lib.licenses.asl20;
+     }) {};
+
+  "opentracing-zipkin-common" = callPackage
+    ({ mkDerivation, aeson, base, opentracing, text }:
+     mkDerivation {
+       pname = "opentracing-zipkin-common";
+       version = "0.1.0.0";
+       sha256 = "00pg2k0v685gc4fmrcb464fapvpz8lw0249n6gmi2zkhpw8frnm0";
+       libraryHaskellDepends = [ aeson base opentracing text ];
+       description = "Zipkin OpenTracing Backend Commons";
+       license = lib.licenses.asl20;
+     }) {};
+
+  "opentracing-zipkin-v1" = callPackage
+    ({ mkDerivation, base, bytestring, exceptions, hashable
+     , http-client, http-types, iproute, lens, opentracing
+     , opentracing-zipkin-common, QuickCheck, text, thrift
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "opentracing-zipkin-v1";
+       version = "0.1.0.0";
+       sha256 = "0mw6x9jqh42ymn1a3maq47mw1mbzki5lv1axapqkhkx0w13824pp";
+       libraryHaskellDepends = [
+         base bytestring exceptions hashable http-client http-types iproute
+         lens opentracing opentracing-zipkin-common QuickCheck text thrift
+         unordered-containers vector
+       ];
+       description = "Zipkin V1 backend for OpenTracing";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "opentracing-zipkin-v2" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , exceptions, http-client, http-types, lens, opentracing
+     , opentracing-zipkin-common, text
+     }:
+     mkDerivation {
+       pname = "opentracing-zipkin-v2";
+       version = "0.1.0.0";
+       sha256 = "0rmrlx2g228p4ys95d4zqc0l56a62avsawq320g4n9i2g0hrl5n4";
+       libraryHaskellDepends = [
+         aeson base base64-bytestring bytestring exceptions http-client
+         http-types lens opentracing opentracing-zipkin-common text
+       ];
+       description = "Zipkin V2 backend for OpenTracing";
+       license = lib.licenses.asl20;
+     }) {};
+
   "opentype" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, ghc
      , microlens, microlens-th, mtl, pretty-hex, time
@@ -196737,8 +196425,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "pandora";
-       version = "0.3.9";
-       sha256 = "1wl6jxpx181sx5w311c2h5kjpl5hjagbwfn68s6dbsbyp4p9sxjv";
+       version = "0.4.0";
+       sha256 = "0jy41qiqn6xj6ib20klv85jyr8vn633xqhxbx38zxs5dsq885laq";
        description = "A box of patterns and paradigms";
        license = lib.licenses.mit;
      }) {};
@@ -197566,8 +197254,6 @@ self: {
        testHaskellDepends = [ base data-diverse hspec transformers ];
        description = "Parameterized/indexed monoids and monads using only a single parameter type variable";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "parameterized-data" = callPackage
@@ -198835,10 +198521,8 @@ self: {
      }:
      mkDerivation {
        pname = "patch";
-       version = "0.0.3.2";
-       sha256 = "1b819d1iramxb0sf0zm4ry8mrd74y35iffbb6qys3a2xq1d382xa";
-       revision = "2";
-       editedCabalFile = "09v23qakrdjscwvzjarkssikkp7xmq9jbpp5hh1y857l02r3fz5c";
+       version = "0.0.4.0";
+       sha256 = "02hdhgk7wwcnq7aahbaqx5zzlha6mq6lj0mw57phj3ykmca0zggc";
        libraryHaskellDepends = [
          base constraints-extras containers dependent-map dependent-sum lens
          monoidal-containers semialign semigroupoids these transformers
@@ -200943,7 +200627,7 @@ self: {
        maintainers = with lib.maintainers; [ psibi ];
      }) {};
 
-  "persistent_2_12_1_0" = callPackage
+  "persistent_2_12_1_1" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
      , blaze-html, bytestring, conduit, containers, criterion, deepseq
      , deepseq-generics, fast-logger, file-embed, hspec, http-api-data
@@ -200954,8 +200638,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent";
-       version = "2.12.1.0";
-       sha256 = "06cqrvavjzp2iyvi69j6ga0pqy6265dwsg44h93k4qffhknlms1a";
+       version = "2.12.1.1";
+       sha256 = "00n463mvfnjpi7dz4i3lz379cf4gprsiv57j4jb7wh5a8xr2vfhz";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-html bytestring
          conduit containers fast-logger http-api-data monad-logger mtl
@@ -201403,19 +201087,20 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "persistent-postgresql_2_12_1_0" = callPackage
+  "persistent-postgresql_2_12_1_1" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
      , conduit, containers, fast-logger, hspec, hspec-expectations
-     , HUnit, monad-logger, mtl, persistent, persistent-qq
-     , persistent-test, postgresql-libpq, postgresql-simple, QuickCheck
-     , quickcheck-instances, resource-pool, resourcet
-     , string-conversions, text, time, transformers, unliftio
-     , unliftio-core, unordered-containers, vector
+     , hspec-expectations-lifted, HUnit, monad-logger, mtl, persistent
+     , persistent-qq, persistent-test, postgresql-libpq
+     , postgresql-simple, QuickCheck, quickcheck-instances
+     , resource-pool, resourcet, string-conversions, text, time
+     , transformers, unliftio, unliftio-core, unordered-containers
+     , vector
      }:
      mkDerivation {
        pname = "persistent-postgresql";
-       version = "2.12.1.0";
-       sha256 = "18b4069x4jb7qxmrv0hck7r7v8192bkn4nmhl3wfidwn1vvsa9da";
+       version = "2.12.1.1";
+       sha256 = "1zyh40490r3vjr5qyr8hp2ih1pjqjwbmwm1ashdm1b1n9y5ary53";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -201426,9 +201111,10 @@ self: {
        ];
        testHaskellDepends = [
          aeson base bytestring containers fast-logger hspec
-         hspec-expectations HUnit monad-logger persistent persistent-qq
-         persistent-test QuickCheck quickcheck-instances resourcet text time
-         transformers unliftio unliftio-core unordered-containers vector
+         hspec-expectations hspec-expectations-lifted HUnit monad-logger
+         persistent persistent-qq persistent-test QuickCheck
+         quickcheck-instances resourcet text time transformers unliftio
+         unliftio-core unordered-containers vector
        ];
        description = "Backend for the persistent library using postgresql";
        license = lib.licenses.mit;
@@ -202569,6 +202255,17 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "phonetic-languages-phonetics-basics" = callPackage
+    ({ mkDerivation, base, mmsyn2-array, mmsyn5 }:
+     mkDerivation {
+       pname = "phonetic-languages-phonetics-basics";
+       version = "0.3.2.0";
+       sha256 = "0r4f69ky1y45h6fys1821z45ccg30h61yc68x16cf839awfri92l";
+       libraryHaskellDepends = [ base mmsyn2-array mmsyn5 ];
+       description = "A library for working with generalized phonetic languages usage";
+       license = lib.licenses.mit;
+     }) {};
+
   "phonetic-languages-plus" = callPackage
     ({ mkDerivation, base, bytestring, lists-flines, parallel
      , uniqueness-periods-vector-stats
@@ -202661,8 +202358,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-examples-array";
-       version = "0.4.0.0";
-       sha256 = "03vin7gng1sqifyy0s83igmd41bxxwrp7ck9j7bxhnqq0qmg5d7n";
+       version = "0.4.1.0";
+       sha256 = "02z7c3ngcj4dz473j0ha05qh5wviiy4qp1mk3p4gidxrhkgbxhyc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -205041,6 +204738,28 @@ self: {
        broken = true;
      }) {};
 
+  "pkgtreediff_0_4_1" = callPackage
+    ({ mkDerivation, async, base, directory, extra, filepath, Glob
+     , http-client, http-client-tls, http-directory, koji, simple-cmd
+     , simple-cmd-args, text
+     }:
+     mkDerivation {
+       pname = "pkgtreediff";
+       version = "0.4.1";
+       sha256 = "0yj0wpwpryavy09264xh82kxi52gc5ipyrgwpxh3m9gv1264gip0";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base text ];
+       executableHaskellDepends = [
+         async base directory extra filepath Glob http-client
+         http-client-tls http-directory koji simple-cmd simple-cmd-args text
+       ];
+       description = "Package tree diff tool";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "pktree" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -206907,8 +206626,9 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-test";
-       version = "0.3.1.1";
-       sha256 = "0xlhw9kf55fn26v068pxwajpl8dw7xcmrlkxk8ci55jans0blx9w";
+       version = "0.3.1.2";
+       sha256 = "1gzngz8mspq0n6hwhvqah8szjrhf65wigadrh3l863j2iswsxq2r";
+       enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base containers either hedgehog path path-io polysemy
          polysemy-plugin relude string-interpolate tasty tasty-hedgehog
@@ -212859,8 +212579,8 @@ self: {
      }:
      mkDerivation {
        pname = "proto3-suite";
-       version = "0.4.0.2";
-       sha256 = "0mk1yhpq2q6jv7z3ipdq5dw5sij39y7lv5gaslzxkbvs2kan7d4m";
+       version = "0.4.1";
+       sha256 = "1zzw3kgxa875g0bpqi1zblw3q8h7lw53gcz4c8qjgkr2v1cr5nf3";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -212915,6 +212635,31 @@ self: {
        broken = true;
      }) {};
 
+  "proto3-wire_1_2_1" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, deepseq
+     , doctest, ghc-prim, hashable, parameterized, primitive, QuickCheck
+     , safe, tasty, tasty-hunit, tasty-quickcheck, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "proto3-wire";
+       version = "1.2.1";
+       sha256 = "0i706y9j5iq5zyi86vkiybznp3b4h2x0flvq3jmr8mgpgahvh94r";
+       libraryHaskellDepends = [
+         base bytestring cereal containers deepseq ghc-prim hashable
+         parameterized primitive QuickCheck safe text transformers
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base bytestring cereal doctest QuickCheck tasty tasty-hunit
+         tasty-quickcheck text transformers vector
+       ];
+       description = "A low-level implementation of the Protocol Buffers (version 3) wire format";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "protobuf" = callPackage
     ({ mkDerivation, base, base-orphans, bytestring, cereal, containers
      , data-binary-ieee754, deepseq, hex, HUnit, mtl, QuickCheck, tagged
@@ -214096,13 +213841,14 @@ self: {
      , ansi-terminal, ansi-wl-pprint, array, base, base-compat
      , blaze-html, bower-json, boxes, bytestring, Cabal, cborg
      , cheapskate, clock, containers, cryptonite, data-ordlist, deepseq
-     , directory, edit-distance, file-embed, filepath, fsnotify, gitrev
-     , Glob, happy, haskeline, hspec, hspec-discover, http-types, HUnit
-     , language-javascript, lifted-async, lifted-base, memory
-     , microlens-platform, monad-control, monad-logger, mtl, network
-     , optparse-applicative, parallel, parsec, pattern-arrows, process
-     , protolude, purescript-ast, purescript-cst, regex-base, regex-tdfa
-     , safe, semialign, semigroups, serialise, sourcemap, split, stm
+     , directory, dlist, edit-distance, exceptions, file-embed, filepath
+     , fsnotify, gitrev, Glob, happy, haskeline, hspec, hspec-discover
+     , http-types, HUnit, language-javascript, lifted-async, lifted-base
+     , memory, microlens, microlens-platform, monad-control
+     , monad-logger, mtl, network, optparse-applicative, parallel
+     , parsec, pattern-arrows, process, protolude, purescript-ast
+     , purescript-cst, regex-base, regex-tdfa, safe, scientific
+     , semialign, semigroups, serialise, sourcemap, split, stm
      , stringsearch, syb, tasty, tasty-golden, tasty-hspec
      , tasty-quickcheck, text, these, time, transformers
      , transformers-base, transformers-compat, unordered-containers
@@ -214110,34 +213856,36 @@ self: {
      }:
      mkDerivation {
        pname = "purescript";
-       version = "0.14.0";
-       sha256 = "1bv68y91l6fyjidfp71djiv2lijn5d55j4szlg77yvsw164s6vk0";
+       version = "0.14.1";
+       sha256 = "0cqrasq0my2nsslpvy1mfhc2nqj2bfcilv8acd600bn9f6qgn4yv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-better-errors aeson-pretty ansi-terminal array base
          base-compat blaze-html bower-json boxes bytestring Cabal cborg
          cheapskate clock containers cryptonite data-ordlist deepseq
-         directory edit-distance file-embed filepath fsnotify Glob haskeline
-         language-javascript lifted-async lifted-base memory
-         microlens-platform monad-control monad-logger mtl parallel parsec
-         pattern-arrows process protolude purescript-ast purescript-cst
-         regex-tdfa safe semialign semigroups serialise sourcemap split stm
-         stringsearch syb text these time transformers transformers-base
-         transformers-compat unordered-containers utf8-string vector
+         directory dlist edit-distance file-embed filepath fsnotify Glob
+         haskeline language-javascript lifted-async lifted-base memory
+         microlens microlens-platform monad-control monad-logger mtl
+         parallel parsec pattern-arrows process protolude purescript-ast
+         purescript-cst regex-tdfa safe scientific semialign semigroups
+         serialise sourcemap split stm stringsearch syb text these time
+         transformers transformers-base transformers-compat
+         unordered-containers utf8-string vector
        ];
        libraryToolDepends = [ happy ];
        executableHaskellDepends = [
          aeson aeson-better-errors aeson-pretty ansi-terminal ansi-wl-pprint
          array base base-compat blaze-html bower-json boxes bytestring Cabal
          cborg cheapskate clock containers cryptonite data-ordlist deepseq
-         directory edit-distance file-embed filepath fsnotify gitrev Glob
-         haskeline http-types language-javascript lifted-async lifted-base
-         memory microlens-platform monad-control monad-logger mtl network
-         optparse-applicative parallel parsec pattern-arrows process
-         protolude purescript-ast purescript-cst regex-tdfa safe semialign
-         semigroups serialise sourcemap split stm stringsearch syb text
-         these time transformers transformers-base transformers-compat
+         directory dlist edit-distance exceptions file-embed filepath
+         fsnotify gitrev Glob haskeline http-types language-javascript
+         lifted-async lifted-base memory microlens microlens-platform
+         monad-control monad-logger mtl network optparse-applicative
+         parallel parsec pattern-arrows process protolude purescript-ast
+         purescript-cst regex-tdfa safe scientific semialign semigroups
+         serialise sourcemap split stm stringsearch syb text these time
+         transformers transformers-base transformers-compat
          unordered-containers utf8-string vector wai wai-websockets warp
          websockets
        ];
@@ -214146,15 +213894,15 @@ self: {
          aeson aeson-better-errors aeson-pretty ansi-terminal array base
          base-compat blaze-html bower-json boxes bytestring Cabal cborg
          cheapskate clock containers cryptonite data-ordlist deepseq
-         directory edit-distance file-embed filepath fsnotify Glob haskeline
-         hspec hspec-discover HUnit language-javascript lifted-async
-         lifted-base memory microlens-platform monad-control monad-logger
-         mtl parallel parsec pattern-arrows process protolude purescript-ast
-         purescript-cst regex-base regex-tdfa safe semialign semigroups
-         serialise sourcemap split stm stringsearch syb tasty tasty-golden
-         tasty-hspec tasty-quickcheck text these time transformers
-         transformers-base transformers-compat unordered-containers
-         utf8-string vector
+         directory dlist edit-distance file-embed filepath fsnotify Glob
+         haskeline hspec HUnit language-javascript lifted-async lifted-base
+         memory microlens microlens-platform monad-control monad-logger mtl
+         parallel parsec pattern-arrows process protolude purescript-ast
+         purescript-cst regex-base regex-tdfa safe scientific semialign
+         semigroups serialise sourcemap split stm stringsearch syb tasty
+         tasty-golden tasty-hspec tasty-quickcheck text these time
+         transformers transformers-base transformers-compat
+         unordered-containers utf8-string vector
        ];
        testToolDepends = [ happy hspec-discover ];
        doCheck = false;
@@ -214171,8 +213919,8 @@ self: {
      }:
      mkDerivation {
        pname = "purescript-ast";
-       version = "0.1.0.0";
-       sha256 = "1zwwbdkc5mb3ckc2g15b18j9vp9bksyc1nrlg73w7w0fzqwnqb4g";
+       version = "0.1.1.0";
+       sha256 = "12zkkbpv1xxvx4d3rybng1kxvw6z5gjr45mfy9bpkmb3jqzl1xd2";
        libraryHaskellDepends = [
          aeson base base-compat bytestring containers deepseq filepath
          microlens mtl protolude scientific serialise text vector
@@ -214227,8 +213975,8 @@ self: {
      }:
      mkDerivation {
        pname = "purescript-cst";
-       version = "0.1.0.0";
-       sha256 = "1h4na5k0lz91i1f49axsgs7zqz6dqdxds5dg0g00wd4wmyd619cc";
+       version = "0.1.1.0";
+       sha256 = "05jqf9c0pakbjvr2zvybaxg9rfi87dadsx4srjlrw294r2sz969r";
        libraryHaskellDepends = [
          array base containers dlist purescript-ast scientific semigroups
          text
@@ -215790,29 +215538,6 @@ self: {
      }) {};
 
   "quickcheck-classes" = callPackage
-    ({ mkDerivation, aeson, base, base-orphans, bifunctors, containers
-     , contravariant, fail, primitive, primitive-addr, QuickCheck
-     , quickcheck-classes-base, semigroupoids, semigroups, semirings
-     , tagged, tasty, tasty-quickcheck, transformers, vector
-     }:
-     mkDerivation {
-       pname = "quickcheck-classes";
-       version = "0.6.4.0";
-       sha256 = "0qcxmkf9ig6jnfpd5slx2imzwmvvyqgvlif2940yzwam63m6anwg";
-       libraryHaskellDepends = [
-         aeson base base-orphans bifunctors containers contravariant fail
-         primitive primitive-addr QuickCheck quickcheck-classes-base
-         semigroupoids semigroups semirings tagged transformers vector
-       ];
-       testHaskellDepends = [
-         aeson base base-orphans containers primitive QuickCheck
-         semigroupoids tagged tasty tasty-quickcheck transformers vector
-       ];
-       description = "QuickCheck common typeclasses";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "quickcheck-classes_0_6_5_0" = callPackage
     ({ mkDerivation, aeson, base, base-orphans, containers, primitive
      , primitive-addr, QuickCheck, quickcheck-classes-base
      , semigroupoids, semirings, tagged, tasty, tasty-quickcheck
@@ -215832,26 +215557,9 @@ self: {
        ];
        description = "QuickCheck common typeclasses";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "quickcheck-classes-base" = callPackage
-    ({ mkDerivation, base, base-orphans, bifunctors, containers
-     , contravariant, fail, QuickCheck, tagged, transformers
-     }:
-     mkDerivation {
-       pname = "quickcheck-classes-base";
-       version = "0.6.1.0";
-       sha256 = "0yzljsy74njmbav90hgraxhjx0l86zggakfw0j3k7maz9376jvax";
-       libraryHaskellDepends = [
-         base base-orphans bifunctors containers contravariant fail
-         QuickCheck tagged transformers
-       ];
-       description = "QuickCheck common typeclasses from `base`";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "quickcheck-classes-base_0_6_2_0" = callPackage
     ({ mkDerivation, base, containers, QuickCheck, transformers }:
      mkDerivation {
        pname = "quickcheck-classes-base";
@@ -215862,7 +215570,6 @@ self: {
        ];
        description = "QuickCheck common typeclasses from `base`";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "quickcheck-combinators" = callPackage
@@ -220028,24 +219735,6 @@ self: {
      }:
      mkDerivation {
        pname = "records-sop";
-       version = "0.1.0.3";
-       sha256 = "120kb6z4si5wqkahbqxqhm3qb8xpc9ivwg293ymz8a4ri1hdr0a5";
-       revision = "1";
-       editedCabalFile = "0492a3cabdl5ccncc7lk7bvh55in4hzm345fl3xpidp9jx6mv1x4";
-       libraryHaskellDepends = [ base deepseq generics-sop ghc-prim ];
-       testHaskellDepends = [
-         base deepseq generics-sop hspec should-not-typecheck
-       ];
-       description = "Record subtyping and record utilities with generics-sop";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "records-sop_0_1_1_0" = callPackage
-    ({ mkDerivation, base, deepseq, generics-sop, ghc-prim, hspec
-     , should-not-typecheck
-     }:
-     mkDerivation {
-       pname = "records-sop";
        version = "0.1.1.0";
        sha256 = "01h6brqrpk5yhddi0cx2a9cv2dvri81xzx5ny616nfgy4fn9pfdl";
        libraryHaskellDepends = [ base deepseq generics-sop ghc-prim ];
@@ -220054,7 +219743,6 @@ self: {
        ];
        description = "Record subtyping and record utilities with generics-sop";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "records-th" = callPackage
@@ -222139,6 +221827,8 @@ self: {
        pname = "regex-tdfa-rc";
        version = "1.1.8.3";
        sha256 = "1vi11i23gkkjg6193ak90g55akj69bhahy542frkwb68haky4pp3";
+       revision = "2";
+       editedCabalFile = "04w0jdavczf8gilx6cr1cgpqydvrmiksrzc8j30ijwn9hsa149mh";
        libraryHaskellDepends = [
          array base bytestring containers ghc-prim mtl parsec regex-base
        ];
@@ -222481,35 +222171,6 @@ self: {
      }:
      mkDerivation {
        pname = "registry";
-       version = "0.2.0.2";
-       sha256 = "1lq8r382xm1m5b7i0jfjaj3f1jr98rdvjpn0h77i4i0i1wy529c1";
-       libraryHaskellDepends = [
-         base containers exceptions hashable mmorph mtl protolude resourcet
-         semigroupoids semigroups template-haskell text transformers-base
-       ];
-       testHaskellDepends = [
-         async base bytestring containers directory exceptions generic-lens
-         hashable hedgehog io-memoize mmorph MonadRandom mtl multimap
-         protolude random resourcet semigroupoids semigroups tasty
-         tasty-discover tasty-hedgehog tasty-th template-haskell text
-         transformers-base universum
-       ];
-       testToolDepends = [ tasty-discover ];
-       description = "data structure for assembling components";
-       license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "registry_0_2_0_3" = callPackage
-    ({ mkDerivation, async, base, bytestring, containers, directory
-     , exceptions, generic-lens, hashable, hedgehog, io-memoize, mmorph
-     , MonadRandom, mtl, multimap, protolude, random, resourcet
-     , semigroupoids, semigroups, tasty, tasty-discover, tasty-hedgehog
-     , tasty-th, template-haskell, text, transformers-base, universum
-     }:
-     mkDerivation {
-       pname = "registry";
        version = "0.2.0.3";
        sha256 = "1fhqcpbvz16yj93mhf7lx40i8a00mizj51m3nyazg785xhil9xbs";
        libraryHaskellDepends = [
@@ -224067,6 +223728,21 @@ self: {
        broken = true;
      }) {};
 
+  "request" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, http-client
+     , http-client-tls, http-types
+     }:
+     mkDerivation {
+       pname = "request";
+       version = "0.1.3.0";
+       sha256 = "07ypsdmf227m6j8gkl29621z7grbsgr0pmk3dglx9zlrmq0zbn8j";
+       libraryHaskellDepends = [
+         base bytestring case-insensitive http-client http-client-tls
+         http-types
+       ];
+       license = lib.licenses.bsd3;
+     }) {};
+
   "request-monad" = callPackage
     ({ mkDerivation, base, free, mtl, transformers }:
      mkDerivation {
@@ -228692,6 +228368,20 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "safe-numeric" = callPackage
+    ({ mkDerivation, base, containers, doctest, safe, wide-word }:
+     mkDerivation {
+       pname = "safe-numeric";
+       version = "0.1";
+       sha256 = "11y9p20cgfsg676a8jm5w7z2qc2y3hznwhniw054qcdnnf7dalwi";
+       libraryHaskellDepends = [ base safe wide-word ];
+       testHaskellDepends = [ base containers doctest ];
+       description = "Safe arithmetic operations";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "safe-plugins" = callPackage
     ({ mkDerivation, base, directory, filepath, haskell-src-exts
      , plugins, Unixutils
@@ -228753,29 +228443,6 @@ self: {
      }:
      mkDerivation {
        pname = "safecopy";
-       version = "0.10.4.1";
-       sha256 = "1p8kbf9js67zl2wr6y0605acy54xlpsih1zqkdy21cywz1kannbp";
-       libraryHaskellDepends = [
-         array base bytestring cereal containers generic-data old-time
-         template-haskell text time transformers vector
-       ];
-       testHaskellDepends = [
-         array base bytestring cereal containers HUnit lens lens-action
-         QuickCheck quickcheck-instances tasty tasty-quickcheck
-         template-haskell time vector
-       ];
-       description = "Binary serialization with version control";
-       license = lib.licenses.publicDomain;
-     }) {};
-
-  "safecopy_0_10_4_2" = callPackage
-    ({ mkDerivation, array, base, bytestring, cereal, containers
-     , generic-data, HUnit, lens, lens-action, old-time, QuickCheck
-     , quickcheck-instances, tasty, tasty-quickcheck, template-haskell
-     , text, time, transformers, vector
-     }:
-     mkDerivation {
-       pname = "safecopy";
        version = "0.10.4.2";
        sha256 = "0r2mf0p82gf8vnldx477b5ykrj1x7hyg13nqfn6gzb50japs6h3i";
        libraryHaskellDepends = [
@@ -228789,7 +228456,6 @@ self: {
        ];
        description = "Binary serialization with version control";
        license = lib.licenses.publicDomain;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "safecopy-migrate" = callPackage
@@ -230321,17 +229987,18 @@ self: {
      }) {};
 
   "scenegraph" = callPackage
-    ({ mkDerivation, array, base, containers, fgl, GLUT, haskell98
-     , hmatrix, mtl, old-time, OpenGL, process
+    ({ mkDerivation, base, data-default, fgl, graphviz, hspec
+     , hspec-discover, lens, linear, mtl, QuickCheck, text
      }:
      mkDerivation {
        pname = "scenegraph";
-       version = "0.1.0.2";
-       sha256 = "1l946h6sggg2n8ldx34v2sx4dyjqxd7i34wrsllz88iiy4qd90yw";
+       version = "0.2.0.0";
+       sha256 = "0nwaf1wpr8pqwwkxx0zpbkmvn4ww6v3xcv5w7krk02f985ajaq50";
        libraryHaskellDepends = [
-         array base containers fgl GLUT haskell98 hmatrix mtl old-time
-         OpenGL process
+         base data-default fgl graphviz lens linear mtl text
        ];
+       testHaskellDepends = [ base hspec lens linear QuickCheck ];
+       testToolDepends = [ hspec-discover ];
        description = "Scene Graph";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -234470,8 +234137,6 @@ self: {
        ];
        description = "generate API docs for your servant webservice";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-docs-simple" = callPackage
@@ -234598,6 +234263,28 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "servant-event-stream" = callPackage
+    ({ mkDerivation, base, binary, http-media, lens, pipes
+     , servant-foreign, servant-js, servant-pipes, servant-server, text
+     , wai-extra
+     }:
+     mkDerivation {
+       pname = "servant-event-stream";
+       version = "0.2.1.0";
+       sha256 = "1bs4gjw7xaai5hxcv0dy7fmvx26ysmcqnaly5vriwkz45k1rhlj9";
+       revision = "2";
+       editedCabalFile = "1s6si9php8im45yh0r9slgw7sz8c0jk2i4c93a5qbjr0mzz9k2va";
+       libraryHaskellDepends = [
+         base binary http-media lens pipes servant-foreign servant-js
+         servant-pipes servant-server text wai-extra
+       ];
+       testHaskellDepends = [ base ];
+       description = "Servant support for Server-Sent events";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "servant-examples" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, either
      , http-types, js-jquery, lucid, random, servant, servant-client
@@ -235225,8 +234912,38 @@ self: {
        pname = "servant-openapi3";
        version = "2.0.1.1";
        sha256 = "1cyzyljmdfr3gigdszcpj1i7l698fnxpc9hr83mzspm6qcmbqmgf";
-       revision = "1";
-       editedCabalFile = "0j2b3zv5qk5xfi17jwwn456pqpf27aqgy6fmbyqvn8df83rcij5j";
+       revision = "2";
+       editedCabalFile = "0y214pgkfkysvdll15inf44psyqj7dmzcwp2vjynwdlywy2j0y16";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         aeson aeson-pretty base base-compat bytestring hspec http-media
+         insert-ordered-containers lens openapi3 QuickCheck servant
+         singleton-bool text unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base base-compat directory doctest filepath hspec lens
+         lens-aeson openapi3 QuickCheck servant template-haskell text time
+         utf8-string vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Generate a Swagger/OpenAPI/OAS 3.0 specification for your servant API.";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "servant-openapi3_2_0_1_2" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, base-compat, bytestring
+     , Cabal, cabal-doctest, directory, doctest, filepath, hspec
+     , hspec-discover, http-media, insert-ordered-containers, lens
+     , lens-aeson, openapi3, QuickCheck, servant, singleton-bool
+     , template-haskell, text, time, unordered-containers, utf8-string
+     , vector
+     }:
+     mkDerivation {
+       pname = "servant-openapi3";
+       version = "2.0.1.2";
+       sha256 = "1lqvycbv49x0i3adbsdlcl49n65wxfjzhiz9pj11hg4k0j952q5p";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson aeson-pretty base base-compat bytestring hspec http-media
@@ -236064,6 +235781,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "servant-swagger-ui_0_3_5_3_47_1" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, file-embed-lzma, servant
+     , servant-server, servant-swagger-ui-core, text
+     }:
+     mkDerivation {
+       pname = "servant-swagger-ui";
+       version = "0.3.5.3.47.1";
+       sha256 = "00bmkj87rnd9zmg54h3z8k9zgs5d17lcdn9gp006xixa6g494cms";
+       libraryHaskellDepends = [
+         aeson base bytestring file-embed-lzma servant servant-server
+         servant-swagger-ui-core text
+       ];
+       description = "Servant swagger ui";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "servant-swagger-ui-core" = callPackage
     ({ mkDerivation, base, blaze-markup, bytestring, http-media
      , servant, servant-blaze, servant-server, swagger2, text
@@ -236082,37 +235816,51 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "servant-swagger-ui-core_0_3_5" = callPackage
+    ({ mkDerivation, aeson, base, blaze-markup, bytestring, http-media
+     , servant, servant-blaze, servant-server, text, transformers
+     , transformers-compat, wai-app-static
+     }:
+     mkDerivation {
+       pname = "servant-swagger-ui-core";
+       version = "0.3.5";
+       sha256 = "0ckvrwrb3x39hfl2hixcj3fhibh0vqsh6y7n1lsm25yvzfrg02zd";
+       libraryHaskellDepends = [
+         aeson base blaze-markup bytestring http-media servant servant-blaze
+         servant-server text transformers transformers-compat wai-app-static
+       ];
+       description = "Servant swagger ui core components";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "servant-swagger-ui-jensoleg" = callPackage
-    ({ mkDerivation, base, bytestring, file-embed-lzma, servant
-     , servant-server, servant-swagger-ui-core, swagger2, text
+    ({ mkDerivation, aeson, base, bytestring, file-embed-lzma, servant
+     , servant-server, servant-swagger-ui-core, text
      }:
      mkDerivation {
        pname = "servant-swagger-ui-jensoleg";
-       version = "0.3.3";
-       sha256 = "02zwymqxq54xwc8wmzhbcfgx9plvk0n4kp1907sbl98mhh2frwrw";
-       revision = "4";
-       editedCabalFile = "19h7n1g847ly7addv03vzy5915n48xa0y7l88dzamy6ly1jrmdg2";
+       version = "0.3.4";
+       sha256 = "04s4syfmnjwa52xqm29x2sfi1ka6p7fpjff0pxry099rh0d59hkm";
        libraryHaskellDepends = [
-         base bytestring file-embed-lzma servant servant-server
-         servant-swagger-ui-core swagger2 text
+         aeson base bytestring file-embed-lzma servant servant-server
+         servant-swagger-ui-core text
        ];
        description = "Servant swagger ui: Jens-Ole Graulund theme";
        license = lib.licenses.bsd3;
      }) {};
 
   "servant-swagger-ui-redoc" = callPackage
-    ({ mkDerivation, base, bytestring, file-embed-lzma, servant
-     , servant-server, servant-swagger-ui-core, swagger2, text
+    ({ mkDerivation, aeson, base, bytestring, file-embed-lzma, servant
+     , servant-server, servant-swagger-ui-core, text
      }:
      mkDerivation {
        pname = "servant-swagger-ui-redoc";
-       version = "0.3.3.1.22.3";
-       sha256 = "0bzkrh1hf29vfa1r1sgifb9j2zcg6i43fal4abbx4lcqvf155pzv";
-       revision = "3";
-       editedCabalFile = "1csz8gzmrrjbjvr6kx4vmyp419i5vbzk84a01vh5zr6ncrpx5nf3";
+       version = "0.3.4.1.22.3";
+       sha256 = "0ln2sz7ffhddk4dqvczpxb5g8f6bic7sandn5zifpz2jg7lgzy0f";
        libraryHaskellDepends = [
-         base bytestring file-embed-lzma servant servant-server
-         servant-swagger-ui-core swagger2 text
+         aeson base bytestring file-embed-lzma servant servant-server
+         servant-swagger-ui-core text
        ];
        description = "Servant swagger ui: ReDoc theme";
        license = lib.licenses.bsd3;
@@ -245873,21 +245621,6 @@ self: {
     ({ mkDerivation, base, cmdargs, containers, express, leancheck }:
      mkDerivation {
        pname = "speculate";
-       version = "0.4.2";
-       sha256 = "01ahb1g7f19qxf8lz9afxbf2inywrsqkawx784gx3af1wlzj61d9";
-       libraryHaskellDepends = [
-         base cmdargs containers express leancheck
-       ];
-       testHaskellDepends = [ base express leancheck ];
-       benchmarkHaskellDepends = [ base express leancheck ];
-       description = "discovery of properties about Haskell functions";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "speculate_0_4_4" = callPackage
-    ({ mkDerivation, base, cmdargs, containers, express, leancheck }:
-     mkDerivation {
-       pname = "speculate";
        version = "0.4.4";
        sha256 = "0vmxi8rapbld7b3llw2v6fz1v6vqyv90rpbnzjdfa29kdza4m5sf";
        libraryHaskellDepends = [
@@ -245897,7 +245630,6 @@ self: {
        benchmarkHaskellDepends = [ base express leancheck ];
        description = "discovery of properties about Haskell functions";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "speculation" = callPackage
@@ -247184,6 +246916,8 @@ self: {
        pname = "ssh-known-hosts";
        version = "0.2.0.0";
        sha256 = "1zhhqam6y5ckh6i145mr0irm17dmlam2k730rpqiyw4mwgmcp4qa";
+       revision = "1";
+       editedCabalFile = "09158vd54ybigqxqcimfnmmv256p4ypazwfly7a5q2pxqgzs6nj0";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -250146,6 +249880,55 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "store_0_7_11" = callPackage
+    ({ mkDerivation, array, async, base, base-orphans
+     , base64-bytestring, bifunctors, bytestring, cereal, cereal-vector
+     , clock, containers, contravariant, criterion, cryptohash, deepseq
+     , directory, filepath, free, ghc-prim, hashable, hspec
+     , hspec-smallcheck, integer-gmp, lifted-base, monad-control
+     , mono-traversable, nats, network, primitive, resourcet, safe
+     , smallcheck, store-core, syb, template-haskell, text, th-lift
+     , th-lift-instances, th-orphans, th-reify-many, th-utilities, time
+     , transformers, unordered-containers, vector
+     , vector-binary-instances, void, weigh
+     }:
+     mkDerivation {
+       pname = "store";
+       version = "0.7.11";
+       sha256 = "03i9gd18xqbfmj5kmiv4k4sw44gn6mn4faj71r2723abm3qwklwr";
+       libraryHaskellDepends = [
+         array async base base-orphans base64-bytestring bifunctors
+         bytestring containers contravariant cryptohash deepseq directory
+         filepath free ghc-prim hashable hspec hspec-smallcheck integer-gmp
+         lifted-base monad-control mono-traversable nats network primitive
+         resourcet safe smallcheck store-core syb template-haskell text
+         th-lift th-lift-instances th-orphans th-reify-many th-utilities
+         time transformers unordered-containers vector void
+       ];
+       testHaskellDepends = [
+         array async base base-orphans base64-bytestring bifunctors
+         bytestring clock containers contravariant cryptohash deepseq
+         directory filepath free ghc-prim hashable hspec hspec-smallcheck
+         integer-gmp lifted-base monad-control mono-traversable nats network
+         primitive resourcet safe smallcheck store-core syb template-haskell
+         text th-lift th-lift-instances th-orphans th-reify-many
+         th-utilities time transformers unordered-containers vector void
+       ];
+       benchmarkHaskellDepends = [
+         array async base base-orphans base64-bytestring bifunctors
+         bytestring cereal cereal-vector containers contravariant criterion
+         cryptohash deepseq directory filepath free ghc-prim hashable hspec
+         hspec-smallcheck integer-gmp lifted-base monad-control
+         mono-traversable nats network primitive resourcet safe smallcheck
+         store-core syb template-haskell text th-lift th-lift-instances
+         th-orphans th-reify-many th-utilities time transformers
+         unordered-containers vector vector-binary-instances void weigh
+       ];
+       description = "Fast binary serialization";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "store-core" = callPackage
     ({ mkDerivation, base, bytestring, ghc-prim, primitive, text
      , transformers
@@ -251304,6 +251087,60 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "strict-containers" = callPackage
+    ({ mkDerivation, array, base, base-orphans, binary, ChasingBottoms
+     , containers, deepseq, hashable, HUnit, indexed-traversable
+     , primitive, QuickCheck, random, strict, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, transformers
+     , unordered-containers, vector, vector-binary-instances
+     }:
+     mkDerivation {
+       pname = "strict-containers";
+       version = "0.1";
+       sha256 = "0rb5mhz1f1g79c7c85q6pnars7qs3qzyl2gsc48p9sd2739q5nzs";
+       libraryHaskellDepends = [
+         array base binary containers deepseq hashable indexed-traversable
+         primitive strict unordered-containers vector
+         vector-binary-instances
+       ];
+       testHaskellDepends = [
+         array base base-orphans ChasingBottoms containers deepseq hashable
+         HUnit primitive QuickCheck random tasty tasty-hunit
+         tasty-quickcheck template-haskell test-framework
+         test-framework-hunit test-framework-quickcheck2 transformers
+         unordered-containers vector
+       ];
+       description = "Strict containers";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "strict-containers-lens" = callPackage
+    ({ mkDerivation, base, hashable, lens, strict-containers }:
+     mkDerivation {
+       pname = "strict-containers-lens";
+       version = "0.1";
+       sha256 = "0162vqkwm9z1pyizvs76fbraw6z43w8j1k7ag25l9lv67gydl4c1";
+       libraryHaskellDepends = [ base hashable lens strict-containers ];
+       description = "Strict containers - Lens instances";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "strict-containers-serialise" = callPackage
+    ({ mkDerivation, base, cborg, hashable, serialise
+     , strict-containers
+     }:
+     mkDerivation {
+       pname = "strict-containers-serialise";
+       version = "0.1";
+       sha256 = "17hsb90awsrgp83nkzjyr51wz7z5v4fii862arqfjkjqm6scb4d3";
+       libraryHaskellDepends = [
+         base cborg hashable serialise strict-containers
+       ];
+       description = "Strict containers - Serialise instances";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "strict-data" = callPackage
     ({ mkDerivation, aeson, base, containers, deepseq, doctest
      , exceptions, fail, hashable, HTF, monad-control, mtl, pretty
@@ -254057,8 +253894,8 @@ self: {
      }:
      mkDerivation {
        pname = "sws";
-       version = "0.5.0.0";
-       sha256 = "04x8jvac8aaifsyll63gwjg2j6y2ap24a92k2dxn8mdbx2i3zjyq";
+       version = "0.5.0.1";
+       sha256 = "1xgyv7mwrf9imx1ja2vwdhj6rv59pz50sf9ijlp5pjckqpacm40p";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -256130,6 +255967,8 @@ self: {
        pname = "tagged";
        version = "0.8.6.1";
        sha256 = "00kcc6lmj7v3xm2r3wzw5jja27m4alcw1wi8yiismd0bbzwzrq7m";
+       revision = "1";
+       editedCabalFile = "1rzqfw2pafxbnfpl1lizf9zldpxyy28g92x4jzq49miw9hr1xpsx";
        libraryHaskellDepends = [
          base deepseq template-haskell transformers
        ];
@@ -257186,6 +257025,27 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "tasty-checklist" = callPackage
+    ({ mkDerivation, base, exceptions, parameterized-utils, tasty
+     , tasty-expected-failure, tasty-hunit, text
+     }:
+     mkDerivation {
+       pname = "tasty-checklist";
+       version = "1.0.0.0";
+       sha256 = "1ahy4nmkbqpfw38ny6w85q5whsidk3xyy8m6v6ndik2i8jjh8qr4";
+       libraryHaskellDepends = [
+         base exceptions parameterized-utils text
+       ];
+       testHaskellDepends = [
+         base parameterized-utils tasty tasty-expected-failure tasty-hunit
+         text
+       ];
+       description = "Check multiple items during a tasty test";
+       license = lib.licenses.isc;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "tasty-dejafu" = callPackage
     ({ mkDerivation, base, dejafu, random, tagged, tasty }:
      mkDerivation {
@@ -257769,20 +257629,21 @@ self: {
 
   "tasty-sugar" = callPackage
     ({ mkDerivation, base, directory, filemanip, filepath, hedgehog
-     , logict, optparse-applicative, pretty-show, prettyprinter
-     , raw-strings-qq, tagged, tasty, tasty-hedgehog, tasty-hunit
+     , kvitable, logict, microlens, optparse-applicative, pretty-show
+     , prettyprinter, raw-strings-qq, tagged, tasty, tasty-hedgehog
+     , tasty-hunit, text
      }:
      mkDerivation {
        pname = "tasty-sugar";
-       version = "1.1.0.0";
-       sha256 = "1v1ikl4jy02c0jlvm4di8ndm7fbyr8235ydppp953d7qb8yilsyp";
+       version = "1.1.1.0";
+       sha256 = "1x06s47k2rw7a78djzf0i2zxplbazah5c5mjmnmd9nr5yafw0fqv";
        libraryHaskellDepends = [
-         base directory filemanip filepath logict optparse-applicative
-         prettyprinter tagged tasty
+         base directory filemanip filepath kvitable logict microlens
+         optparse-applicative prettyprinter tagged tasty text
        ];
        testHaskellDepends = [
          base filepath hedgehog logict pretty-show prettyprinter
-         raw-strings-qq tasty tasty-hedgehog tasty-hunit
+         raw-strings-qq tasty tasty-hedgehog tasty-hunit text
        ];
        doHaddock = false;
        description = "Tests defined by Search Using Golden Answer References";
@@ -260021,8 +259882,8 @@ self: {
      }:
      mkDerivation {
        pname = "test-lib";
-       version = "0.2.2";
-       sha256 = "0bxrh7j10fadarg1kyrf8f0nmrmdfrgivxvv51xl9ykksrswhx2z";
+       version = "0.3";
+       sha256 = "15b3gsy03z3hqc0d2b7hjk3l79ykkcdhb5mrz453p8s4bgd8l6av";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -260546,6 +260407,8 @@ self: {
        pname = "text-ansi";
        version = "0.1.1";
        sha256 = "1vcrsg7v8n6znh1pd9kbm20bc6dg3zijd3xjdjljadf15vfkd5f6";
+       revision = "1";
+       editedCabalFile = "09s363h3lw4p8f73m7vw0d1cqnwmap9ndrfxd4qbzbra5xf58q38";
        libraryHaskellDepends = [ base text ];
        description = "Text styling for ANSI terminals";
        license = lib.licenses.bsd3;
@@ -261066,22 +260929,6 @@ self: {
      }:
      mkDerivation {
        pname = "text-regex-replace";
-       version = "0.1.1.3";
-       sha256 = "0i0ifjxd24kfiljk3l0slxc8345d0rdb92ixxdzn04brs2fs5h53";
-       libraryHaskellDepends = [ attoparsec base text text-icu ];
-       testHaskellDepends = [
-         base hspec QuickCheck smallcheck text text-icu
-       ];
-       description = "Easy replacement when using text-icu regexes";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "text-regex-replace_0_1_1_4" = callPackage
-    ({ mkDerivation, attoparsec, base, hspec, QuickCheck, smallcheck
-     , text, text-icu
-     }:
-     mkDerivation {
-       pname = "text-regex-replace";
        version = "0.1.1.4";
        sha256 = "19n7zwnrm4da8ifhwlqwrx969pni0njj5f69j30gp71fi9ihjgsb";
        libraryHaskellDepends = [ attoparsec base text text-icu ];
@@ -261090,7 +260937,6 @@ self: {
        ];
        description = "Easy replacement when using text-icu regexes";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "text-region" = callPackage
@@ -262220,29 +262066,6 @@ self: {
      }:
      mkDerivation {
        pname = "th-utilities";
-       version = "0.2.4.2";
-       sha256 = "09rbs878gjhyg8n789p2c67lzxr4h1pg0zar47a7j8sg6ff5wcx2";
-       revision = "1";
-       editedCabalFile = "177hbrwcyalm6gbqq96b5xz974bxzch9g2mvffvksi1205z6v7dr";
-       libraryHaskellDepends = [
-         base bytestring containers directory filepath primitive syb
-         template-haskell text th-abstraction th-orphans
-       ];
-       testHaskellDepends = [
-         base bytestring containers directory filepath hspec primitive syb
-         template-haskell text th-abstraction th-orphans vector
-       ];
-       description = "Collection of useful functions for use with Template Haskell";
-       license = lib.licenses.mit;
-     }) {};
-
-  "th-utilities_0_2_4_3" = callPackage
-    ({ mkDerivation, base, bytestring, containers, directory, filepath
-     , hspec, primitive, syb, template-haskell, text, th-abstraction
-     , th-orphans, vector
-     }:
-     mkDerivation {
-       pname = "th-utilities";
        version = "0.2.4.3";
        sha256 = "1krvn3xp7zicp6wqcgmgbgl2a894n677vxi6vhcna16cx03smic9";
        libraryHaskellDepends = [
@@ -262255,7 +262078,6 @@ self: {
        ];
        description = "Collection of useful functions for use with Template Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "thank-you-stars" = callPackage
@@ -263154,16 +262976,16 @@ self: {
   "tidal" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, clock, colour
      , containers, criterion, deepseq, hosc, microspec, network, parsec
-     , primitive, random, text, transformers, vector, weigh
+     , primitive, random, text, transformers, weigh
      }:
      mkDerivation {
        pname = "tidal";
-       version = "1.7.2";
-       sha256 = "15shxaazxik1bawgak16xhlvk708kv9al6i3518b3m3iap9sbw9p";
+       version = "1.7.3";
+       sha256 = "0z0brlicisn7xpwag20vdrq6ympczxcyd886pm6am5phmifkmfif";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bifunctors bytestring clock colour containers deepseq hosc
-         network parsec primitive random text transformers vector
+         network parsec primitive random text transformers
        ];
        testHaskellDepends = [
          base containers deepseq hosc microspec parsec
@@ -263173,15 +262995,15 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {};
 
-  "tidal_1_7_3" = callPackage
+  "tidal_1_7_4" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, clock, colour
      , containers, criterion, deepseq, hosc, microspec, network, parsec
      , primitive, random, text, transformers, weigh
      }:
      mkDerivation {
        pname = "tidal";
-       version = "1.7.3";
-       sha256 = "0z0brlicisn7xpwag20vdrq6ympczxcyd886pm6am5phmifkmfif";
+       version = "1.7.4";
+       sha256 = "080zncw6gp0dzwm9vd82c789v1x00nfzz8r1ldb4hl67v04jf8hi";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bifunctors bytestring clock colour containers deepseq hosc
@@ -264023,6 +263845,8 @@ self: {
        pname = "timer-wheel";
        version = "0.3.0";
        sha256 = "16v663mcsj0h17x4jriq50dps3m3f8wqcsm19kl48vrs7f4mp07s";
+       revision = "1";
+       editedCabalFile = "03wprm88wl6smfcq6dfr62l4igi8lfg6wkk65rsmyzxxkjzhc6f1";
        libraryHaskellDepends = [ atomic-primops base psqueues vector ];
        testHaskellDepends = [ base ];
        description = "A timer wheel";
@@ -272011,6 +271835,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "unicode-collation" = callPackage
+    ({ mkDerivation, base, binary, bytestring, bytestring-lexing
+     , containers, filepath, parsec, QuickCheck, quickcheck-instances
+     , tasty, tasty-bench, tasty-hunit, template-haskell, text, text-icu
+     , th-lift-instances, unicode-transforms
+     }:
+     mkDerivation {
+       pname = "unicode-collation";
+       version = "0.1.2";
+       sha256 = "1q77rd3d2c1r5d35f0z1mhismc3rf8bg1dwfg32wvdd9hpszc52v";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base binary bytestring bytestring-lexing containers filepath parsec
+         template-haskell text th-lift-instances unicode-transforms
+       ];
+       testHaskellDepends = [ base bytestring tasty tasty-hunit text ];
+       benchmarkHaskellDepends = [
+         base QuickCheck quickcheck-instances tasty-bench text text-icu
+       ];
+       description = "Haskell implementation of the Unicode Collation Algorithm";
+       license = lib.licenses.bsd2;
+     }) {};
+
   "unicode-general-category" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , file-embed, hspec, QuickCheck, text
@@ -272116,6 +271964,8 @@ self: {
        pname = "unicode-transforms";
        version = "0.3.7.1";
        sha256 = "1010sahi4mjzqmxqlj3w73rlymbl2370x5vizjqbx7mb86kxzx4f";
+       revision = "1";
+       editedCabalFile = "01kf1hanqcwc7vpkwq2rw5v2mn4nxx58l3v5hpk166jalmwqijaz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring ghc-prim text ];
@@ -273142,6 +272992,19 @@ self: {
        license = "GPL";
      }) {};
 
+  "unlift" = callPackage
+    ({ mkDerivation, base, stm, transformers, transformers-base }:
+     mkDerivation {
+       pname = "unlift";
+       version = "0.0.0.0";
+       sha256 = "0xqn4252ncygmapfciwf6g2nzbavp8dmh4vds985nc0lq78wi7nj";
+       libraryHaskellDepends = [
+         base stm transformers transformers-base
+       ];
+       description = "Typeclass for monads that can be unlifted to arbitrary base monads";
+       license = lib.licenses.mpl20;
+     }) {};
+
   "unlift-stm" = callPackage
     ({ mkDerivation, base, stm, transformers, unliftio, unliftio-core
      }:
@@ -276329,24 +276192,6 @@ self: {
      }:
      mkDerivation {
        pname = "vector";
-       version = "0.12.2.0";
-       sha256 = "0l3bs8zvw1da9gzqkmavj9vrcxv8hdv9zfw1yqzk6nbqr220paqp";
-       libraryHaskellDepends = [ base deepseq ghc-prim primitive ];
-       testHaskellDepends = [
-         base base-orphans HUnit primitive QuickCheck random tasty
-         tasty-hunit tasty-quickcheck template-haskell transformers
-       ];
-       description = "Efficient Arrays";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "vector_0_12_3_0" = callPackage
-    ({ mkDerivation, base, base-orphans, deepseq, ghc-prim, HUnit
-     , primitive, QuickCheck, random, tasty, tasty-hunit
-     , tasty-quickcheck, template-haskell, transformers
-     }:
-     mkDerivation {
-       pname = "vector";
        version = "0.12.3.0";
        sha256 = "00xp86yad3yv4ja4q07gkmmcf7iwpcnzkkaf91zkx9nxb981iy0m";
        libraryHaskellDepends = [ base deepseq ghc-prim primitive ];
@@ -276356,7 +276201,6 @@ self: {
        ];
        description = "Efficient Arrays";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "vector-algorithms" = callPackage
@@ -276390,25 +276234,6 @@ self: {
      }) {};
 
   "vector-binary-instances" = callPackage
-    ({ mkDerivation, base, binary, bytestring, deepseq, gauge, tasty
-     , tasty-quickcheck, vector
-     }:
-     mkDerivation {
-       pname = "vector-binary-instances";
-       version = "0.2.5.1";
-       sha256 = "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r";
-       revision = "2";
-       editedCabalFile = "0ia9i7q7jrk3ab3nq2368glr69vl6fwvh42zlwvdmxn4xd861qfx";
-       libraryHaskellDepends = [ base binary vector ];
-       testHaskellDepends = [ base binary tasty tasty-quickcheck vector ];
-       benchmarkHaskellDepends = [
-         base binary bytestring deepseq gauge vector
-       ];
-       description = "Instances of Data.Binary for vector";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "vector-binary-instances_0_2_5_2" = callPackage
     ({ mkDerivation, base, binary, bytestring, deepseq, tasty
      , tasty-bench, tasty-quickcheck, vector
      }:
@@ -276423,7 +276248,6 @@ self: {
        ];
        description = "Instances of Data.Binary for vector";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "vector-buffer" = callPackage
@@ -280196,8 +280020,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-session-redis";
-       version = "0.1.0.0";
-       sha256 = "12l2r85xq8ryv6y660c20yfxa19n3rvkilmkb74bj1ch7jmm8d6n";
+       version = "0.1.0.1";
+       sha256 = "14n5996y8fpq19jfn5ahfliq4gk2ydi5l8zcq8agqqpg875hzzcw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -281058,8 +280882,8 @@ self: {
      }:
      mkDerivation {
        pname = "web-inv-route";
-       version = "0.1.2.3";
-       sha256 = "1xk6f3z7pcn5bmr2259yvv9l9wbfyycb7990dffz4b802ahxf1xv";
+       version = "0.1.3.1";
+       sha256 = "1l10rgrhcqld8znw6akxjlsm1h8z76l9yxa4yik11lk2l0g9anb2";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers happstack-server
          hashable http-types invertible network-uri snap-core text
@@ -282664,6 +282488,19 @@ self: {
        broken = true;
      }) {};
 
+  "wide-word-instances" = callPackage
+    ({ mkDerivation, base, binary, serialise, wide-word }:
+     mkDerivation {
+       pname = "wide-word-instances";
+       version = "0.1";
+       sha256 = "0v4isbpq1b76j755dh412zdgm6njgk6n86kzxd8q5idknk38cj4b";
+       libraryHaskellDepends = [ base binary serialise wide-word ];
+       description = "Instances for wide-word";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "wigner-symbols" = callPackage
     ({ mkDerivation, base, bytestring, criterion, cryptonite, primitive
      , random, vector
@@ -282810,6 +282647,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "willow" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, filepath, hashable
+     , hedgehog, hedgehog-classes, HUnit, mtl, text, transformers
+     , unordered-containers, utility-ht, vector
+     }:
+     mkDerivation {
+       pname = "willow";
+       version = "0.1.0.0";
+       sha256 = "1p47k0dsri76z6vpg59la3jm0smvmbh3qz0i0k0kz8ilc2sa65kn";
+       revision = "1";
+       editedCabalFile = "0lybbskp6y4679qqbmz02w173mvhfry3gzj9cgfvq6dqccmfdndl";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base bytestring filepath hashable mtl text transformers
+         unordered-containers utility-ht vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring filepath hedgehog hedgehog-classes HUnit text
+         transformers unordered-containers
+       ];
+       description = "An implementation of the web Document Object Model, and its rendering";
+       license = lib.licenses.mpl20;
+     }) {};
+
   "wilton-ffi" = callPackage
     ({ mkDerivation, aeson, base, bytestring, utf8-string }:
      mkDerivation {
@@ -283032,6 +282893,23 @@ self: {
        license = lib.licenses.isc;
      }) {};
 
+  "witch_0_2_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hspec
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "witch";
+       version = "0.2.0.0";
+       sha256 = "03rnpljng4vy913zm3cxnhlq3i8d5p57661wa1cwj46hkhy7rhj7";
+       libraryHaskellDepends = [
+         base bytestring containers template-haskell text
+       ];
+       testHaskellDepends = [ base bytestring containers hspec text ];
+       description = "Convert values from one type into another";
+       license = lib.licenses.isc;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "with-index" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -284614,8 +284492,6 @@ self: {
        ];
        description = "Tunneling program over websocket protocol";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "wtk" = callPackage
@@ -289233,30 +289109,6 @@ self: {
   "yesod-auth-oauth2" = callPackage
     ({ mkDerivation, aeson, base, bytestring, cryptonite, errors
      , hoauth2, hspec, http-client, http-conduit, http-types, memory
-     , microlens, safe-exceptions, text, uri-bytestring, yesod-auth
-     , yesod-core
-     }:
-     mkDerivation {
-       pname = "yesod-auth-oauth2";
-       version = "0.6.2.3";
-       sha256 = "1vf4cfbqg4zx3rdihj1iajk6kmj9c8xk4s4n2n40yvz2rmbjy0yb";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring cryptonite errors hoauth2 http-client
-         http-conduit http-types memory microlens safe-exceptions text
-         uri-bytestring yesod-auth yesod-core
-       ];
-       testHaskellDepends = [ base hspec uri-bytestring ];
-       description = "OAuth 2.0 authentication plugins";
-       license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "yesod-auth-oauth2_0_6_3_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, cryptonite, errors
-     , hoauth2, hspec, http-client, http-conduit, http-types, memory
      , microlens, mtl, safe-exceptions, text, unliftio, uri-bytestring
      , yesod-auth, yesod-core
      }:
@@ -289474,43 +289326,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-core";
-       version = "1.6.18.8";
-       sha256 = "1phqb74z5nqnx1xnbhnpimcdcrzm5dd474svzc5hp0ji3kp2xkri";
-       libraryHaskellDepends = [
-         aeson auto-update base blaze-html blaze-markup bytestring
-         case-insensitive cereal clientsession conduit conduit-extra
-         containers cookie deepseq fast-logger http-types memory
-         monad-logger mtl parsec path-pieces primitive random resourcet
-         shakespeare template-haskell text time transformers unix-compat
-         unliftio unordered-containers vector wai wai-extra wai-logger warp
-         word8
-       ];
-       testHaskellDepends = [
-         async base bytestring clientsession conduit conduit-extra
-         containers cookie hspec hspec-expectations http-types HUnit network
-         path-pieces random resourcet shakespeare streaming-commons
-         template-haskell text transformers unliftio wai wai-extra warp
-       ];
-       benchmarkHaskellDepends = [
-         base blaze-html bytestring gauge shakespeare text
-       ];
-       description = "Creation of type-safe, RESTful web applications";
-       license = lib.licenses.mit;
-     }) {};
-
-  "yesod-core_1_6_19_0" = callPackage
-    ({ mkDerivation, aeson, async, auto-update, base, blaze-html
-     , blaze-markup, bytestring, case-insensitive, cereal, clientsession
-     , conduit, conduit-extra, containers, cookie, deepseq, fast-logger
-     , gauge, hspec, hspec-expectations, http-types, HUnit, memory
-     , monad-logger, mtl, network, parsec, path-pieces, primitive
-     , random, resourcet, shakespeare, streaming-commons
-     , template-haskell, text, time, transformers, unix-compat, unliftio
-     , unordered-containers, vector, wai, wai-extra, wai-logger, warp
-     , word8
-     }:
-     mkDerivation {
-       pname = "yesod-core";
        version = "1.6.19.0";
        sha256 = "00mqvq47jf4ljqwj20jn5326hrap5gbm5bqq2xkijfs4ymmyw6vd";
        libraryHaskellDepends = [
@@ -289533,7 +289348,6 @@ self: {
        ];
        description = "Creation of type-safe, RESTful web applications";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yesod-crud" = callPackage
@@ -290184,32 +289998,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-page-cursor";
-       version = "2.0.0.5";
-       sha256 = "0jz5dhmvfggbyjkcxs7v4pc4jpcd759jfv77avzwr64xx2glk1yw";
-       libraryHaskellDepends = [
-         aeson base bytestring containers http-link-header network-uri text
-         unliftio yesod-core
-       ];
-       testHaskellDepends = [
-         aeson base bytestring hspec hspec-expectations-lifted
-         http-link-header http-types lens lens-aeson monad-logger mtl
-         persistent persistent-sqlite persistent-template scientific text
-         time unliftio unliftio-core wai-extra yesod yesod-core yesod-test
-       ];
-       license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "yesod-page-cursor_2_0_0_6" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, hspec
-     , hspec-expectations-lifted, http-link-header, http-types, lens
-     , lens-aeson, monad-logger, mtl, network-uri, persistent
-     , persistent-sqlite, persistent-template, scientific, text, time
-     , unliftio, unliftio-core, wai-extra, yesod, yesod-core, yesod-test
-     }:
-     mkDerivation {
-       pname = "yesod-page-cursor";
        version = "2.0.0.6";
        sha256 = "0if4pwpzpr48cz1vixk234fdl4lj3895ma9ak8x917sc3cgp2kv1";
        libraryHaskellDepends = [
diff --git a/pkgs/development/interpreters/clojure/babashka.nix b/pkgs/development/interpreters/clojure/babashka.nix
index 8fee25b104cfd..774bcbe11b214 100644
--- a/pkgs/development/interpreters/clojure/babashka.nix
+++ b/pkgs/development/interpreters/clojure/babashka.nix
@@ -2,17 +2,17 @@
 
 stdenv.mkDerivation rec {
   pname = "babashka";
-  version = "0.3.1";
+  version = "0.3.5";
 
   reflectionJson = fetchurl {
     name = "reflection.json";
-    url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-reflection.json";
-    sha256 = "0ar2ry07axgrmdb6nsc0786v1a1nwlyvapgxncaaympvn38qk8qf";
+    url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-reflection.json";
+    sha256 = "sha256-TVFdGFXclJE9GpolKzTGSmeianBdb2Yp3kbNUWlddPw=";
   };
 
   src = fetchurl {
-    url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "1fapkyq7fcgydy8sls6jzxagfkhgxhwp1rdvjqxdmqk4d82jwrh2";
+    url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
+    sha256 = "sha256-tOLT5W5kK38fb9XL9jOQpw0LjHPjbn+BarckbCuwQAc=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/libraries/ace/default.nix b/pkgs/development/libraries/ace/default.nix
index 85df0b4335394..8210bdb4425e9 100644
--- a/pkgs/development/libraries/ace/default.nix
+++ b/pkgs/development/libraries/ace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ace";
-  version = "6.5.11";
+  version = "7.0.1";
 
   src = fetchurl {
-    url = "http://download.dre.vanderbilt.edu/previous_versions/ACE-${version}.tar.bz2";
-    sha256 = "0fbbysy6aymys30zh5m2bygs84dwwjnbsdl9ipj1rvfrhq8jbylb";
+    url = "https://download.dre.vanderbilt.edu/previous_versions/ACE-${version}.tar.bz2";
+    sha256 = "sha256-5nH5a0tBOcGfA07eeh9EjH0vgT3gTRWYHXoeO+QFQjQ=";
   };
 
   enableParallelBuilding = true;
@@ -18,8 +18,9 @@ stdenv.mkDerivation rec {
     "-Wno-error=format-security"
   ];
 
-  patchPhase = ''substituteInPlace ./MPC/prj_install.pl \
-    --replace /usr/bin/perl "${perl}/bin/perl"'';
+  postPatch = ''
+    patchShebangs ./MPC/prj_install.pl
+  '';
 
   preConfigure = ''
     export INSTALL_PREFIX=$out
@@ -31,10 +32,10 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
+    homepage = "https://www.dre.vanderbilt.edu/~schmidt/ACE.html";
     description = "ADAPTIVE Communication Environment";
-    homepage = "http://www.dre.vanderbilt.edu/~schmidt/ACE.html";
     license = licenses.doc;
+    maintainers = with maintainers; [ nico202 ];
     platforms = platforms.linux;
-    maintainers = [ maintainers.nico202 ];
   };
 }
diff --git a/pkgs/development/libraries/afflib/default.nix b/pkgs/development/libraries/afflib/default.nix
index b89683ac0539b..94970c5a308a3 100644
--- a/pkgs/development/libraries/afflib/default.nix
+++ b/pkgs/development/libraries/afflib/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, zlib, curl, expat, fuse, openssl
-, autoreconfHook, python3
+, autoreconfHook, python3, libiconv
 }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +15,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ zlib curl expat openssl python3 ]
-    ++ lib.optionals stdenv.isLinux [ fuse ];
+    ++ lib.optionals (with stdenv; isLinux || isDarwin) [ fuse ]
+    ++ lib.optionals stdenv.isDarwin [ libiconv ];
 
   meta = {
     homepage = "http://afflib.sourceforge.net/";
diff --git a/pkgs/development/libraries/agda/agda-categories/default.nix b/pkgs/development/libraries/agda/agda-categories/default.nix
index 1aca24ac8ea55..3121edccfe458 100644
--- a/pkgs/development/libraries/agda/agda-categories/default.nix
+++ b/pkgs/development/libraries/agda/agda-categories/default.nix
@@ -1,14 +1,14 @@
 { lib, mkDerivation, fetchFromGitHub, standard-library }:
 
 mkDerivation rec {
-  version = "0.1.5";
+  version = "0.1.6";
   pname = "agda-categories";
 
   src = fetchFromGitHub {
     owner = "agda";
     repo = "agda-categories";
     rev = "v${version}";
-    sha256 = "1b5gj0r2z5fhh7k8b9s2kx4rjv8gi5y8ijgrbcvsa06n3acap3lm";
+    sha256 = "1s75yqcjwj13s1m3fg29krnn05lws6143ccfdygc6c4iynvvznsh";
   };
 
   buildInputs = [ standard-library ];
diff --git a/pkgs/development/libraries/agda/functional-linear-algebra/default.nix b/pkgs/development/libraries/agda/functional-linear-algebra/default.nix
index 15603f293b4f4..1e5c0ae28d3ad 100644
--- a/pkgs/development/libraries/agda/functional-linear-algebra/default.nix
+++ b/pkgs/development/libraries/agda/functional-linear-algebra/default.nix
@@ -1,7 +1,7 @@
 { fetchFromGitHub, lib, mkDerivation, standard-library }:
 
 mkDerivation rec {
-  version = "0.2";
+  version = "0.3";
   pname = "functional-linear-algebra";
 
   buildInputs = [ standard-library ];
@@ -10,7 +10,7 @@ mkDerivation rec {
     repo = "functional-linear-algebra";
     owner = "ryanorendorff";
     rev = "v${version}";
-    sha256 = "1dz7kh92df23scl1pkhn70n1f2v3d0x84liphn9kpsd6wlsxccxc";
+    sha256 = "032gl35x1qzaigc3hbg9dc40zr0nyjld175cb9m8b15rlz9xzjn2";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/agda/standard-library/default.nix b/pkgs/development/libraries/agda/standard-library/default.nix
index fd20a0d9a97c1..b77c9044834fe 100644
--- a/pkgs/development/libraries/agda/standard-library/default.nix
+++ b/pkgs/development/libraries/agda/standard-library/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "standard-library";
-  version = "1.5";
+  version = "1.6";
 
   src = fetchFromGitHub {
     repo = "agda-stdlib";
     owner = "agda";
     rev = "v${version}";
-    sha256 = "16fcb7ssj6kj687a042afaa2gq48rc8abihpm14k684ncihb2k4w";
+    sha256 = "1smvnid7r1mc4lp34pfrbzgzrcl0gmw0dlkga8z0r3g2zhj98lz1";
   };
 
   nativeBuildInputs = [ (ghcWithPackages (self : [ self.filemanip ])) ];
diff --git a/pkgs/development/libraries/alembic/default.nix b/pkgs/development/libraries/alembic/default.nix
index cdcf4b7b8a49f..cbfec4dd46aff 100644
--- a/pkgs/development/libraries/alembic/default.nix
+++ b/pkgs/development/libraries/alembic/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec
 {
   pname = "alembic";
-  version = "1.7.16";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "alembic";
     repo = "alembic";
     rev = version;
-    sha256 = "1vmhwjhppjv8m0ysk2qz0wl47cbl8i40bjjq5l4jmmp1ysvlbknf";
+    sha256 = "sha256-c4SN3kNY8415+O/2AYuHNQFEmuTBtLaWj5fsj0yJ2vs=";
   };
 
   outputs = [ "bin" "dev" "out" "lib" ];
diff --git a/pkgs/development/libraries/attr/default.nix b/pkgs/development/libraries/attr/default.nix
index b7c9287b68bc8..b81afc24ee984 100644
--- a/pkgs/development/libraries/attr/default.nix
+++ b/pkgs/development/libraries/attr/default.nix
@@ -31,7 +31,15 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://savannah.nongnu.org/projects/attr/";
     description = "Library and tools for manipulating extended attributes";
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license = licenses.gpl2Plus;
+
+    # The build failure on Darwin will likely be solved after upgrading the
+    # macOS SDK in nixpkgs. Check the current SDK version in
+    # ../../../../os-specific/darwin/apple-sdk/default.nix to see if it has
+    # been updated to 10.13 or later. Once the requirements are met, building
+    # it should be straightforward as Homebrew was able to build it without
+    # patching.
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/libraries/eigen/2.0.nix b/pkgs/development/libraries/eigen/2.0.nix
index a2b1ba47e2d05..a163359463675 100644
--- a/pkgs/development/libraries/eigen/2.0.nix
+++ b/pkgs/development/libraries/eigen/2.0.nix
@@ -6,19 +6,18 @@ stdenv.mkDerivation rec {
 
   src = fetchFromGitLab {
     owner = "libeigen";
-    repo = "eigen";
+    repo = pname;
     rev = version;
-    sha256 = "0d4knrcz04pxmxaqs5r3wv092950kl1z9wsw87vdzi9kgvc6wl0b";
+    hash = "sha256-C1Bu2H4zxd/2QVzz9AOdoCSRwOYjF41Vr/0S8Fm2kzQ=";
   };
 
   nativeBuildInputs = [ cmake ];
 
   meta = with lib; {
+    homepage = "https://eigen.tuxfamily.org";
     description = "C++ template library for linear algebra: vectors, matrices, and related algorithms";
     license = licenses.lgpl3Plus;
-    homepage = "https://eigen.tuxfamily.org";
-    maintainers = with lib.maintainers; [ sander raskin ];
-    branch = "2";
-    platforms = with lib.platforms; unix;
+    maintainers = with maintainers; [ sander raskin ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/eigen/default.nix b/pkgs/development/libraries/eigen/default.nix
index 079269521c76b..a16cb628008b4 100644
--- a/pkgs/development/libraries/eigen/default.nix
+++ b/pkgs/development/libraries/eigen/default.nix
@@ -1,4 +1,8 @@
-{ lib, stdenv, fetchFromGitLab, cmake }:
+{ lib
+, stdenv
+, fetchFromGitLab
+, cmake
+}:
 
 stdenv.mkDerivation rec {
   pname = "eigen";
@@ -6,9 +10,9 @@ stdenv.mkDerivation rec {
 
   src = fetchFromGitLab {
     owner = "libeigen";
-    repo = "eigen";
+    repo = pname;
     rev = version;
-    sha256 = "1i3cvg8d70dk99fl3lrv3wqhfpdnm5kx01fl7r2bz46sk9bphwm1";
+    hash = "sha256-oXJ4V5rakL9EPtQF0Geptl0HMR8700FdSrOB09DbbMQ=";
   };
 
   patches = [
@@ -18,11 +22,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
 
   meta = with lib; {
+    homepage = "https://eigen.tuxfamily.org";
     description = "C++ template library for linear algebra: vectors, matrices, and related algorithms";
     license = licenses.lgpl3Plus;
-    homepage = "https://eigen.tuxfamily.org";
+    maintainers = with maintainers; [ sander raskin ];
     platforms = platforms.unix;
-    maintainers = with lib.maintainers; [ sander raskin ];
-    inherit version;
   };
 }
diff --git a/pkgs/development/libraries/freeimage/default.nix b/pkgs/development/libraries/freeimage/default.nix
index 5714131416d6b..b50783e2719ed 100644
--- a/pkgs/development/libraries/freeimage/default.nix
+++ b/pkgs/development/libraries/freeimage/default.nix
@@ -29,6 +29,10 @@ stdenv.mkDerivation {
 
   preInstall = ''
     mkdir -p $INCDIR $INSTALLDIR
+  ''
+  # Workaround for Makefiles.osx not using ?=
+  + lib.optionalString stdenv.isDarwin ''
+    makeFlagsArray+=( "INCDIR=$INCDIR" "INSTALLDIR=$INSTALLDIR" )
   '';
 
   postInstall = lib.optionalString (!stdenv.isDarwin) ''
diff --git a/pkgs/development/libraries/intel-gmmlib/default.nix b/pkgs/development/libraries/intel-gmmlib/default.nix
index fa100f34607b1..651a42da0b124 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.1";
+  version = "21.1.2";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "gmmlib";
     rev    = "${pname}-${version}";
-    sha256 = "0cdyrfyn05fadva8k02kp4nk14k274xfmhzwc0v7jijm1dw8v8rf";
+    sha256 = "0zs8l0q1q7xps3kxlch6jddxjiny8n8avdg1ghiwbkvgf76gb3as";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index fac8a40bb24ad..2df3e554c9b61 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "jasper";
-  version = "2.0.28";
+  version = "2.0.32";
 
   src = fetchFromGitHub {
     owner = "jasper-software";
     repo = pname;
     rev = "version-${version}";
-    hash = "sha256-f3UG5w8GbwZcsFBaQN6v8kdEkKIGgizcAgaVZtKwS78=";
+    hash = "sha256-Uwgtex0MWC/pOmEr8itHMIa4wxd97c/tsTzcLgV8D0I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libnbd/default.nix b/pkgs/development/libraries/libnbd/default.nix
index 2cd634325b287..2254c82415457 100644
--- a/pkgs/development/libraries/libnbd/default.nix
+++ b/pkgs/development/libraries/libnbd/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libnbd";
-  version = "1.7.5";
+  version = "1.7.7";
 
   src = fetchurl {
     url = "https://download.libguestfs.org/libnbd/${lib.versions.majorMinor version}-development/${pname}-${version}.tar.gz";
-    sha256 = "sha256-UxQx/wnKnCB3uC9xEfq1F0l3kHAJjp9GzbeRugKyFsk=";
+    hash = "sha256-fNeu1qx+EbKitv2I8nJAmGMF5jxN2RZGPR/LJYnOjG8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libraspberrypi/default.nix b/pkgs/development/libraries/libraspberrypi/default.nix
index d4d69ed6afffa..8ffe8f488b25c 100644
--- a/pkgs/development/libraries/libraspberrypi/default.nix
+++ b/pkgs/development/libraries/libraspberrypi/default.nix
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/raspberrypi/userland";
     license = licenses.bsd3;
     platforms = [ "armv6l-linux" "armv7l-linux" "aarch64-linux" "x86_64-linux" ];
-    maintainers = with maintainers; [ dezgeg tavyc tkerber ];
+    maintainers = with maintainers; [ dezgeg tkerber ];
   };
 }
diff --git a/pkgs/development/libraries/libspectrum/default.nix b/pkgs/development/libraries/libspectrum/default.nix
index 011531b1a23e9..09aa03e6f67fc 100644
--- a/pkgs/development/libraries/libspectrum/default.nix
+++ b/pkgs/development/libraries/libspectrum/default.nix
@@ -13,12 +13,13 @@ stdenv.mkDerivation rec {
   buildInputs = [ audiofile bzip2 glib libgcrypt zlib ];
 
   enableParallelBuilding = true;
+  doCheck = true;
 
   meta = with lib; {
     homepage = "http://fuse-emulator.sourceforge.net/libspectrum.php";
     description = "ZX Spectrum input and output support library";
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ orivej ];
   };
 }
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
index d17303bbb0efe..90c14c6fdf95f 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/default.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
@@ -41,7 +41,6 @@ in stdenv.mkDerivation {
     description = "A C++ BitTorrent implementation focusing on efficiency and scalability";
     license = licenses.bsd3;
     maintainers = [ maintainers.phreedom ];
-    broken = stdenv.isDarwin;
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libxc/default.nix b/pkgs/development/libraries/libxc/default.nix
index f78cd09c0ae06..d4f6391fe6f49 100644
--- a/pkgs/development/libraries/libxc/default.nix
+++ b/pkgs/development/libraries/libxc/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitLab, cmake, gfortran, perl }:
 
 let
-  version = "5.1.2";
+  version = "5.1.3";
 
 in stdenv.mkDerivation {
   pname = "libxc";
@@ -11,7 +11,7 @@ in stdenv.mkDerivation {
     owner = "libxc";
     repo = "libxc";
     rev = version;
-    sha256 = "1bcj7x0kaal62m41v9hxb4h1d2cxs2ynvsfqqg7c5yi7829nvapb";
+    sha256 = "14czspifznsmvvix5hcm1rk18iy590qk8p5m00p0y032gmn9i2zj";
   };
 
   buildInputs = [ gfortran ];
@@ -28,7 +28,6 @@ in stdenv.mkDerivation {
   '';
 
   doCheck = true;
-  enableParallelBuilding = true;
 
   meta = with lib; {
     description = "Library of exchange-correlation functionals for density-functional theory";
diff --git a/pkgs/development/libraries/libxlsxwriter/default.nix b/pkgs/development/libraries/libxlsxwriter/default.nix
new file mode 100644
index 0000000000000..849ebcf3c863c
--- /dev/null
+++ b/pkgs/development/libraries/libxlsxwriter/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, minizip
+, python3
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libxlsxwriter";
+  version = "1.0.3";
+
+  src = fetchFromGitHub {
+    owner = "jmcnamara";
+    repo = "libxlsxwriter";
+    rev = "RELEASE_${version}";
+    sha256 = "14c5rgx87nhzasr0j7mcfr1w7ifz0gmdiqy2xq59di5xvcdrpxpv";
+  };
+
+  nativeBuildInputs = [
+    python3.pkgs.pytest
+  ];
+
+  buildInputs = [
+    minizip
+    zlib
+  ];
+
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+    "USE_SYSTEM_MINIZIP=1"
+  ];
+
+  doCheck = true;
+
+  checkTarget = "test";
+
+  meta = with lib; {
+    description = "C library for creating Excel XLSX files";
+    homepage = "https://libxlsxwriter.github.io/";
+    changelog = "https://github.com/jmcnamara/libxlsxwriter/blob/${src.rev}/Changes.txt";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ dotlambda ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/lief/default.nix b/pkgs/development/libraries/lief/default.nix
index 953eee3b8bdb5..872327ed4b8ff 100644
--- a/pkgs/development/libraries/lief/default.nix
+++ b/pkgs/development/libraries/lief/default.nix
@@ -1,8 +1,64 @@
-{ lib, fetchzip }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, python
+, cmake
+}:
 
-fetchzip {
-  url = "https://github.com/lief-project/LIEF/releases/download/0.9.0/LIEF-0.9.0-Linux.tar.gz";
-  sha256 = "1c47hwd00bp4mqd4p5b6xjfl89c3wwk9ccyc3a2gk658250g2la6";
+let
+  pyEnv = python.withPackages (ps: [ ps.setuptools ]);
+in
+stdenv.mkDerivation rec {
+  pname = "lief";
+  version = "0.11.4";
+
+  src = fetchFromGitHub {
+    owner = "lief-project";
+    repo = "LIEF";
+    rev = version;
+    sha256 = "DgsTrJ2+zdXJK6CdDOan7roakaaxQiwrVeiQnzJnk0A=";
+  };
+
+  outputs = [ "out" "py" ];
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  # Not a propagatedBuildInput because only the $py output needs it; $out is
+  # just the library itself (e.g. C/C++ headers).
+  buildInputs = [
+    python
+  ];
+
+  dontUseCmakeConfigure = true;
+
+  buildPhase = ''
+    runHook preBuild
+
+    substituteInPlace setup.py \
+      --replace 'cmake_args = []' "cmake_args = [ \"-DCMAKE_INSTALL_PREFIX=$prefix\" ]"
+    ${pyEnv.interpreter} setup.py --sdk build --parallel=$NIX_BUILD_CORES
+
+    runHook postBuild
+  '';
+
+  # I was unable to find a way to build the library itself and have it install
+  # to $out, while also installing the Python bindings to $py without building
+  # the project twice (using cmake), so this is the best we've got. It uses
+  # something called CPack to create the tarball, but it's not obvious to me
+  # *how* that happens, or how to intercept it to just get the structured
+  # library output.
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out $py/nix-support
+    echo "${python}" >> $py/nix-support/propagated-build-inputs
+    tar xf build/*.tar.gz --directory $out --strip-components 1
+    ${pyEnv.interpreter} setup.py install --skip-build --root=/ --prefix=$py
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     description = "Library to Instrument Executable Formats";
diff --git a/pkgs/development/libraries/lmdbxx/default.nix b/pkgs/development/libraries/lmdbxx/default.nix
index 9b1d320678a00..2d037afbe213e 100644
--- a/pkgs/development/libraries/lmdbxx/default.nix
+++ b/pkgs/development/libraries/lmdbxx/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lmdbxx";
-  version = "0.9.14.0";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
-    owner = "drycpp";
+    owner = "hoytech";
     repo = "lmdbxx";
     rev = version;
-    sha256 = "1jmb9wg2iqag6ps3z71bh72ymbcjrb6clwlkgrqf1sy80qwvlsn6";
+    sha256 = "sha256-7CxQZdgHVvmof6wVR9Mzic6tg89XJT3Z1ICGRs7PZYo=";
   };
 
   buildInputs = [ lmdb ];
diff --git a/pkgs/development/libraries/mtxclient/default.nix b/pkgs/development/libraries/mtxclient/default.nix
index 761026440f788..05950bc686544 100644
--- a/pkgs/development/libraries/mtxclient/default.nix
+++ b/pkgs/development/libraries/mtxclient/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mtxclient";
-  version = "0.4.1";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "Nheko-Reborn";
     repo = "mtxclient";
     rev = "v${version}";
-    sha256 = "1044zil3izhb3whhfjah7w0kg5mr3hys32cjffky681d3mb3wi5n";
+    sha256 = "sha256-UKroV1p7jYuNzCAFMsuUsYC/C9AZ1D4rhwpwuER39vc=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/opencascade-occt/default.nix b/pkgs/development/libraries/opencascade-occt/default.nix
index 59c1f0ef7dbc4..f2a9833d77d0c 100644
--- a/pkgs/development/libraries/opencascade-occt/default.nix
+++ b/pkgs/development/libraries/opencascade-occt/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opencascade-occt";
-  version = "7.5.0";
+  version = "7.5.1";
   commit = "V${builtins.replaceStrings ["."] ["_"] version}";
 
   src = fetchurl {
     name = "occt-${commit}.tar.gz";
     url = "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=${commit};sf=tgz";
-    sha256 = "0bpzpaqki3k6i7xmhan0f1c1fr05smpcmgrp4vh572j61lwpq1r3";
+    sha256 = "sha256-1whKU+7AMVYabfs15x8MabohKonn5oM54ZEtxF93wAo=";
   };
 
   nativeBuildInputs = [ cmake ninja ];
diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix
index c9ac76b655449..15c8d46b61313 100644
--- a/pkgs/development/libraries/opencv/4.x.nix
+++ b/pkgs/development/libraries/opencv/4.x.nix
@@ -1,54 +1,91 @@
-{ lib, stdenv
-, fetchurl, fetchFromGitHub, fetchpatch
-, cmake, pkg-config, unzip, zlib, pcre, hdf5
-, glog, boost, gflags, protobuf
+{ lib
+, stdenv
+, fetchurl
+, fetchFromGitHub
+, cmake
+, pkg-config
+, unzip
+, zlib
+, pcre
+, hdf5
+, boost
+, gflags
+, protobuf
 , config
 
-, enableJPEG      ? true, libjpeg
-, enablePNG       ? true, libpng
-, enableTIFF      ? true, libtiff
-, enableWebP      ? true, libwebp
-, enableEXR ?     !stdenv.isDarwin, openexr, ilmbase
-, enableEigen     ? true, eigen
-, enableOpenblas  ? true, openblas, blas, lapack
-, enableContrib   ? true
-
-, enableCuda      ? (config.cudaSupport or false) &&
-                    stdenv.hostPlatform.isx86_64, cudatoolkit, nvidia-optical-flow-sdk
-
-, enableUnfree    ? false
-, enableIpp       ? false
-, enablePython    ? false, pythonPackages
-, enableGtk2      ? false, gtk2
-, enableGtk3      ? false, gtk3
-, enableVtk       ? false, vtk
-, enableFfmpeg    ? false, ffmpeg_3
-, enableGStreamer ? false, gst_all_1
-, enableTesseract ? false, tesseract, leptonica
-, enableTbb       ? false, tbb
-, enableOvis      ? false, ogre
-, enableGPhoto2   ? false, libgphoto2
-, enableDC1394    ? false, libdc1394
-, enableDocs      ? false, doxygen, graphviz-nox
-
-, AVFoundation, Cocoa, VideoDecodeAcceleration, CoreMedia, MediaToolbox, bzip2
+, enableJPEG ? true
+, libjpeg
+, enablePNG ? true
+, libpng
+, enableTIFF ? true
+, libtiff
+, enableWebP ? true
+, libwebp
+, enableEXR ? !stdenv.isDarwin
+, openexr
+, ilmbase
+, enableEigen ? true
+, eigen
+, enableOpenblas ? true
+, openblas
+, enableContrib ? true
+
+, enableCuda ? (config.cudaSupport or false) && stdenv.hostPlatform.isx86_64
+, cudatoolkit
+, nvidia-optical-flow-sdk
+
+, enableUnfree ? false
+, enableIpp ? false
+, enablePython ? false
+, pythonPackages
+, enableGtk2 ? false
+, gtk2
+, enableGtk3 ? false
+, gtk3
+, enableVtk ? false
+, vtk
+, enableFfmpeg ? true
+, ffmpeg_3
+, enableGStreamer ? true
+, gst_all_1
+, enableTesseract ? false
+, tesseract
+, leptonica
+, enableTbb ? false
+, tbb
+, enableOvis ? false
+, ogre
+, enableGPhoto2 ? false
+, libgphoto2
+, enableDC1394 ? false
+, libdc1394
+, enableDocs ? false
+, doxygen
+, graphviz-nox
+
+, AVFoundation
+, Cocoa
+, VideoDecodeAcceleration
+, CoreMedia
+, MediaToolbox
+, bzip2
 }:
 
 let
-  version = "4.3.0";
+  version = "4.5.2";
 
   src = fetchFromGitHub {
-    owner  = "opencv";
-    repo   = "opencv";
-    rev    = version;
-    sha256 = "1r9bq9p1x99g2y8jvj9428sgqvljz75dm5vrfsma7hh5wjhz9775";
+    owner = "opencv";
+    repo = "opencv";
+    rev = version;
+    sha256 = "sha256-pxi1VBF4txvRqspdqvCsAQ3XKzl633/o3wyOgD9wid4=";
   };
 
   contribSrc = fetchFromGitHub {
-    owner  = "opencv";
-    repo   = "opencv_contrib";
-    rev    = version;
-    sha256 = "068b4f95rlryab3mffxs2w6dnbmbhrnpsdgl007rxk4bwnz29y49";
+    owner = "opencv";
+    repo = "opencv_contrib";
+    rev = version;
+    sha256 = "sha256-iMenRTY+qeL7WRgnRuQbsHflYDakE7pWWSHeIjrg0Iw=";
   };
 
   # Contrib must be built in order to enable Tesseract support:
@@ -57,35 +94,35 @@ let
   # See opencv/3rdparty/ippicv/ippicv.cmake
   ippicv = {
     src = fetchFromGitHub {
-      owner  = "opencv";
-      repo   = "opencv_3rdparty";
-      rev    = "a56b6ac6f030c312b2dce17430eef13aed9af274";
+      owner = "opencv";
+      repo = "opencv_3rdparty";
+      rev = "a56b6ac6f030c312b2dce17430eef13aed9af274";
       sha256 = "1msbkc3zixx61rcg6a04i1bcfhw1phgsrh93glq1n80hgsk3nbjq";
     } + "/ippicv";
-    files = let name = platform : "ippicv_2019_${platform}_general_20180723.tgz"; in
+    files = let name = platform: "ippicv_2019_${platform}_general_20180723.tgz"; in
       if stdenv.hostPlatform.system == "x86_64-linux" then
-      { ${name "lnx_intel64"} = "c0bd78adb4156bbf552c1dfe90599607"; }
+        { ${name "lnx_intel64"} = "c0bd78adb4156bbf552c1dfe90599607"; }
       else if stdenv.hostPlatform.system == "i686-linux" then
-      { ${name "lnx_ia32"}    = "4f38432c30bfd6423164b7a24bbc98a0"; }
+        { ${name "lnx_ia32"} = "4f38432c30bfd6423164b7a24bbc98a0"; }
       else if stdenv.hostPlatform.system == "x86_64-darwin" then
-      { ${name "mac_intel64"} = "fe6b2bb75ae0e3f19ad3ae1a31dfa4a2"; }
+        { ${name "mac_intel64"} = "fe6b2bb75ae0e3f19ad3ae1a31dfa4a2"; }
       else
-      throw "ICV is not available for this platform (or not yet supported by this package)";
+        throw "ICV is not available for this platform (or not yet supported by this package)";
     dst = ".cache/ippicv";
   };
 
   # See opencv_contrib/modules/xfeatures2d/cmake/download_vgg.cmake
   vgg = {
     src = fetchFromGitHub {
-      owner  = "opencv";
-      repo   = "opencv_3rdparty";
-      rev    = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d";
+      owner = "opencv";
+      repo = "opencv_3rdparty";
+      rev = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d";
       sha256 = "0r9fam8dplyqqsd3qgpnnfgf9l7lj44di19rxwbm8mxiw0rlcdvy";
     };
     files = {
-      "vgg_generated_48.i"  = "e8d0dcd54d1bcfdc29203d011a797179";
-      "vgg_generated_64.i"  = "7126a5d9a8884ebca5aea5d63d677225";
-      "vgg_generated_80.i"  = "7cd47228edec52b6d82f46511af325c5";
+      "vgg_generated_48.i" = "e8d0dcd54d1bcfdc29203d011a797179";
+      "vgg_generated_64.i" = "7126a5d9a8884ebca5aea5d63d677225";
+      "vgg_generated_80.i" = "7cd47228edec52b6d82f46511af325c5";
       "vgg_generated_120.i" = "151805e03568c9f490a5e3a872777b75";
     };
     dst = ".cache/xfeatures2d/vgg";
@@ -94,19 +131,19 @@ let
   # See opencv_contrib/modules/xfeatures2d/cmake/download_boostdesc.cmake
   boostdesc = {
     src = fetchFromGitHub {
-      owner  = "opencv";
-      repo   = "opencv_3rdparty";
-      rev    = "34e4206aef44d50e6bbcd0ab06354b52e7466d26";
+      owner = "opencv";
+      repo = "opencv_3rdparty";
+      rev = "34e4206aef44d50e6bbcd0ab06354b52e7466d26";
       sha256 = "13yig1xhvgghvxspxmdidss5lqiikpjr0ddm83jsi0k85j92sn62";
     };
     files = {
-      "boostdesc_bgm.i"          = "0ea90e7a8f3f7876d450e4149c97c74f";
-      "boostdesc_bgm_bi.i"       = "232c966b13651bd0e46a1497b0852191";
-      "boostdesc_bgm_hd.i"       = "324426a24fa56ad9c5b8e3e0b3e5303e";
+      "boostdesc_bgm.i" = "0ea90e7a8f3f7876d450e4149c97c74f";
+      "boostdesc_bgm_bi.i" = "232c966b13651bd0e46a1497b0852191";
+      "boostdesc_bgm_hd.i" = "324426a24fa56ad9c5b8e3e0b3e5303e";
       "boostdesc_binboost_064.i" = "202e1b3e9fec871b04da31f7f016679f";
       "boostdesc_binboost_128.i" = "98ea99d399965c03d555cef3ea502a0b";
       "boostdesc_binboost_256.i" = "e6dcfa9f647779eb1ce446a8d759b6ea";
-      "boostdesc_lbgm.i"         = "0ae0675534aa318d9668f2a179c2a052";
+      "boostdesc_lbgm.i" = "0ae0675534aa318d9668f2a179c2a052";
     };
     dst = ".cache/xfeatures2d/boostdesc";
   };
@@ -114,9 +151,9 @@ let
   # See opencv_contrib/modules/face/CMakeLists.txt
   face = {
     src = fetchFromGitHub {
-      owner  = "opencv";
-      repo   = "opencv_3rdparty";
-      rev    = "8afa57abc8229d611c4937165d20e2a2d9fc5a12";
+      owner = "opencv";
+      repo = "opencv_3rdparty";
+      rev = "8afa57abc8229d611c4937165d20e2a2d9fc5a12";
       sha256 = "061lsvqdidq9xa2hwrcvwi9ixflr2c2lfpc8drr159g68zi8bp4v";
     };
     files = {
@@ -136,10 +173,27 @@ let
     dst = ".cache/ade";
   };
 
+  # See opencv/modules/wechat_qrcode/CMakeLists.txt
+  wechat_qrcode = {
+    src = fetchFromGitHub {
+      owner = "opencv";
+      repo = "opencv_3rdparty";
+      rev = "a8b69ccc738421293254aec5ddb38bd523503252";
+      sha256 = "sha256-/n6zHwf0Rdc4v9o4rmETzow/HTv+81DnHP+nL56XiTY=";
+    };
+    files = {
+      "detect.caffemodel" = "238e2b2d6f3c18d6c3a30de0c31e23cf";
+      "detect.prototxt" = "6fb4976b32695f9f5c6305c19f12537d";
+      "sr.caffemodel" = "cbfcd60361a73beb8c583eea7e8e6664";
+      "sr.prototxt" = "69db99927a70df953b471daaba03fbef";
+    };
+    dst = ".cache/wechat_qrcode";
+  };
+
   # See opencv/cmake/OpenCVDownload.cmake
-  installExtraFiles = extra : with lib; ''
+  installExtraFiles = extra: with lib; ''
     mkdir -p "${extra.dst}"
-  '' + concatStrings (flip mapAttrsToList extra.files (name : md5 : ''
+  '' + concatStrings (flip mapAttrsToList extra.files (name: md5: ''
     ln -s "${extra.src}/${name}" "${extra.dst}/${md5}-${name}"
   ''));
   installExtraFile = extra: ''
@@ -149,7 +203,7 @@ let
 
   opencvFlag = name: enabled: "-DWITH_${name}=${printEnabled enabled}";
 
-  printEnabled = enabled : if enabled then "ON" else "OFF";
+  printEnabled = enabled: if enabled then "ON" else "OFF";
 in
 
 stdenv.mkDerivation {
@@ -172,13 +226,15 @@ stdenv.mkDerivation {
   preConfigure =
     installExtraFile ade +
     lib.optionalString enableIpp (installExtraFiles ippicv) + (
-    lib.optionalString buildContrib ''
-      cmakeFlagsArray+=("-DOPENCV_EXTRA_MODULES_PATH=$NIX_BUILD_TOP/source/opencv_contrib")
+      lib.optionalString buildContrib ''
+        cmakeFlagsArray+=("-DOPENCV_EXTRA_MODULES_PATH=$NIX_BUILD_TOP/source/opencv_contrib")
 
-      ${installExtraFiles vgg}
-      ${installExtraFiles boostdesc}
-      ${installExtraFiles face}
-    '');
+        ${installExtraFiles vgg}
+        ${installExtraFiles boostdesc}
+        ${installExtraFiles face}
+        ${installExtraFiles wechat_qrcode}
+      ''
+    );
 
   postConfigure = ''
     [ -e modules/core/version_string.inc ]
@@ -186,7 +242,7 @@ stdenv.mkDerivation {
   '';
 
   buildInputs =
-       [ zlib pcre hdf5 glog boost gflags protobuf ]
+    [ zlib pcre hdf5 boost gflags protobuf ]
     ++ lib.optional enablePython pythonPackages.python
     ++ lib.optional enableGtk2 gtk2
     ++ lib.optional enableGtk3 gtk3
@@ -198,7 +254,7 @@ stdenv.mkDerivation {
     ++ lib.optionals enableEXR [ openexr ilmbase ]
     ++ lib.optional enableFfmpeg ffmpeg_3
     ++ lib.optionals (enableFfmpeg && stdenv.isDarwin)
-                     [ VideoDecodeAcceleration bzip2 ]
+      [ VideoDecodeAcceleration bzip2 ]
     ++ lib.optionals enableGStreamer (with gst_all_1; [ gstreamer gst-plugins-base ])
     ++ lib.optional enableOvis ogre
     ++ lib.optional enableGPhoto2 libgphoto2
@@ -274,15 +330,13 @@ stdenv.mkDerivation {
       "$out/lib/pkgconfig/opencv4.pc"
   '';
 
-  hardeningDisable = [ "bindnow" "relro" ];
-
-  passthru = lib.optionalAttrs enablePython { pythonPath = []; };
+  passthru = lib.optionalAttrs enablePython { pythonPath = [ ]; };
 
   meta = with lib; {
     description = "Open Computer Vision Library with more than 500 algorithms";
     homepage = "https://opencv.org/";
     license = with licenses; if enableUnfree then unfree else bsd3;
-    maintainers = with maintainers; [mdaiter basvandijk];
+    maintainers = with maintainers; [ mdaiter basvandijk ];
     platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/development/libraries/opencv/cmake-don-t-use-OpenCVFindOpenEXR.patch b/pkgs/development/libraries/opencv/cmake-don-t-use-OpenCVFindOpenEXR.patch
index dc80b09b6463e..bb398f7546b08 100644
--- a/pkgs/development/libraries/opencv/cmake-don-t-use-OpenCVFindOpenEXR.patch
+++ b/pkgs/development/libraries/opencv/cmake-don-t-use-OpenCVFindOpenEXR.patch
@@ -1,40 +1,17 @@
-From 6d988c08e852379a163ecd20df8639196d84d014 Mon Sep 17 00:00:00 2001
-From: Bernardo Meurer <meurerbernardo@gmail.com>
-Date: Sun, 26 Apr 2020 14:50:25 -0700
-Subject: [PATCH] cmake: don't use OpenCVFindOpenEXR
-
-Use find_package for this.
----
- CMakeLists.txt                  |  2 ++
- cmake/OpenCVFindLibsGrfmt.cmake | 15 +++------------
- 2 files changed, 5 insertions(+), 12 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 4c0b3880fc..0360469350 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -14,6 +14,8 @@ FATAL: In-source builds are not allowed.
- ")
- endif()
- 
-+# the future!
-+include(FindPkgConfig)
- 
- include(cmake/OpenCVMinDepVersions.cmake)
- 
 diff --git a/cmake/OpenCVFindLibsGrfmt.cmake b/cmake/OpenCVFindLibsGrfmt.cmake
-index 0beaf19317..4c5e46e615 100644
+index 23a6ca6959..27e121943a 100644
 --- a/cmake/OpenCVFindLibsGrfmt.cmake
 +++ b/cmake/OpenCVFindLibsGrfmt.cmake
-@@ -227,20 +227,11 @@ endif()
+@@ -255,21 +255,12 @@ endif()
  # --- OpenEXR (optional) ---
  if(WITH_OPENEXR)
    ocv_clear_vars(HAVE_OPENEXR)
 -  if(NOT BUILD_OPENEXR)
+-    ocv_clear_internal_cache_vars(OPENEXR_INCLUDE_PATHS OPENEXR_LIBRARIES OPENEXR_ILMIMF_LIBRARY OPENEXR_VERSION)
 -    include("${OpenCV_SOURCE_DIR}/cmake/OpenCVFindOpenEXR.cmake")
 -  endif()
--
 +  pkg_check_modules(OPENEXR OpenEXR)
+ 
    if(OPENEXR_FOUND)
      set(HAVE_OPENEXR YES)
 -  else()
@@ -50,6 +27,3 @@ index 0beaf19317..4c5e46e615 100644
    endif()
  endif()
  
--- 
-2.26.1
-
diff --git a/pkgs/development/libraries/pupnp/default.nix b/pkgs/development/libraries/pupnp/default.nix
index de62bde187710..4b80b7ba5a767 100644
--- a/pkgs/development/libraries/pupnp/default.nix
+++ b/pkgs/development/libraries/pupnp/default.nix
@@ -6,15 +6,15 @@
 
 stdenv.mkDerivation rec {
   pname = "libupnp";
-  version = "1.14.4";
+  version = "1.14.6";
 
   outputs = [ "out" "dev" ];
 
   src = fetchFromGitHub {
-    owner = "mrjimenez";
+    owner = "pupnp";
     repo = "pupnp";
     rev = "release-${version}";
-    sha256 = "sha256-4VuTbcEjr9Ffrowb3eOtXFU8zPNu1NXS531EOZpI07A=";
+    sha256 = "1f9861q5dicp6rx3jnp1j788xfjfaf3k4620p9r0b0k0lj2gk38c";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/rapidjson/default.nix b/pkgs/development/libraries/rapidjson/default.nix
index 52a0877e77f34..1211892890add 100644
--- a/pkgs/development/libraries/rapidjson/default.nix
+++ b/pkgs/development/libraries/rapidjson/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, pkg-config, cmake }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, pkg-config, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "rapidjson";
@@ -11,6 +11,13 @@ stdenv.mkDerivation rec {
     sha256 = "1jixgb8w97l9gdh3inihz7avz7i770gy2j2irvvlyrq3wi41f5ab";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/rapidjson/raw/48402da9f19d060ffcd40bf2b2e6987212c58b0c/f/rapidjson-1.1.0-c++20.patch";
+      sha256 = "1qm62iad1xfsixv1li7qy475xc7gc04hmi2q21qdk6l69gk7mf82";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config cmake ];
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/sqlcipher/default.nix b/pkgs/development/libraries/sqlcipher/default.nix
index 9097d5abe54f0..44da759409eef 100644
--- a/pkgs/development/libraries/sqlcipher/default.nix
+++ b/pkgs/development/libraries/sqlcipher/default.nix
@@ -4,13 +4,13 @@ assert readline != null -> ncurses != null;
 
 stdenv.mkDerivation rec {
   pname = "sqlcipher";
-  version = "4.4.2";
+  version = "4.4.3";
 
   src = fetchFromGitHub {
     owner = "sqlcipher";
     repo = "sqlcipher";
     rev = "v${version}";
-    sha256 = "0zhww6fpnfflnzp6091npz38ab6cpq75v3ghqvcj5kqg09vqm5na";
+    sha256 = "sha256-E23PTNnVZbBQtHL0YjUwHNVUA76XS8rlARBOVvX6zZw=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/development/libraries/sqlitecpp/default.nix b/pkgs/development/libraries/sqlitecpp/default.nix
new file mode 100644
index 0000000000000..ffe5e4bbb8381
--- /dev/null
+++ b/pkgs/development/libraries/sqlitecpp/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchFromGitHub, cmake, sqlite, cppcheck, gtest }:
+
+stdenv.mkDerivation rec {
+  pname = "SQLiteCpp";
+  version = "3.1.1";
+
+  src = fetchFromGitHub {
+    owner = "SRombauts";
+    repo = pname;
+    rev = version;
+    sha256 = "1c2yyipiqswi5sf9xmpsgw6l1illzmcpkjm56agk6kl2hay23lgr";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  checkInputs = [ cppcheck gtest ];
+  buildInputs = [ sqlite ];
+  doCheck = true;
+
+  cmakeFlags = [
+    "-DSQLITECPP_INTERNAL_SQLITE=OFF"
+    "-DSQLITECPP_BUILD_TESTS=ON"
+  ];
+
+  meta = with lib; {
+    homepage = "http://srombauts.github.com/SQLiteCpp";
+    description = "C++ SQLite3 wrapper";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.jbedo maintainers.doronbehar ];
+  };
+}
diff --git a/pkgs/development/libraries/vapoursynth/default.nix b/pkgs/development/libraries/vapoursynth/default.nix
index 8ef209fe80511..3b6362f7396ca 100644
--- a/pkgs/development/libraries/vapoursynth/default.nix
+++ b/pkgs/development/libraries/vapoursynth/default.nix
@@ -10,13 +10,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "vapoursynth";
-  version = "R52";
+  version = "R53";
 
   src = fetchFromGitHub {
     owner  = "vapoursynth";
     repo   = "vapoursynth";
     rev    = version;
-    sha256 = "1krfdzc2x2vxv4nq9kiv1c09hgj525qn120ah91fw2ikq8ldvmx4";
+    sha256 = "0qcsfkpkry0cmvi60khjwvfz4fqhy23nqmn4pb9qrwll26sn9dcr";
   };
 
   patches = [
diff --git a/pkgs/development/mobile/gomobile/default.nix b/pkgs/development/mobile/gomobile/default.nix
new file mode 100644
index 0000000000000..17b4e2fb3f628
--- /dev/null
+++ b/pkgs/development/mobile/gomobile/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, lib, fetchgit, buildGoModule, zlib, makeWrapper, xcodeenv, androidenv
+, xcodeWrapperArgs ? { }
+, xcodeWrapper ? xcodeenv.composeXcodeWrapper xcodeWrapperArgs
+, androidPkgs ? androidenv.composeAndroidPackages {
+    includeNDK = true;
+    ndkVersion = "21.3.6528147"; # WARNING: 22.0.7026061 is broken.
+  } }:
+
+buildGoModule {
+  pname = "gomobile";
+  version = "unstable-2020-06-22";
+
+  vendorSha256 = "1n1338vqkc1n8cy94501n7jn3qbr28q9d9zxnq2b4rxsqjfc9l94";
+
+  src = fetchgit {
+    # WARNING: Next commit removes support for ARM 32 bit builds for iOS
+    rev = "33b80540585f2b31e503da24d6b2a02de3c53ff5";
+    name = "gomobile";
+    url = "https://go.googlesource.com/mobile";
+    sha256 = "0c9map2vrv34wmaycsv71k4day3b0z5p16yzxmlp8amvqb38zwlm";
+  };
+
+  subPackages = [ "bind" "cmd/gobind" "cmd/gomobile" ];
+
+  # Fails with: go: cannot find GOROOT directory
+  doCheck = false;
+
+  patches = [ ./resolve-nix-android-sdk.patch ];
+
+  nativeBuildInputs = [ makeWrapper ]
+    ++ lib.optionals stdenv.isDarwin [ xcodeWrapper ];
+
+  # Prevent a non-deterministic temporary directory from polluting the resulting object files
+  postPatch = ''
+    substituteInPlace cmd/gomobile/env.go --replace \
+      'tmpdir, err = ioutil.TempDir("", "gomobile-work-")' \
+      'tmpdir = filepath.Join(os.Getenv("NIX_BUILD_TOP"), "gomobile-work")' \
+      --replace '"io/ioutil"' ""
+    substituteInPlace cmd/gomobile/init.go --replace \
+      'tmpdir, err = ioutil.TempDir(gomobilepath, "work-")' \
+      'tmpdir = filepath.Join(os.Getenv("NIX_BUILD_TOP"), "work")'
+  '';
+
+  # Necessary for GOPATH when using gomobile.
+  postInstall = ''
+    mkdir -p $out/src/golang.org/x
+    ln -s $src $out/src/golang.org/x/mobile
+    wrapProgram $out/bin/gomobile \
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ zlib ]}" \
+      --prefix PATH : "${androidPkgs.androidsdk}/bin" \
+      --set ANDROID_HOME "${androidPkgs.androidsdk}/libexec/android-sdk" \
+      --set GOPATH $out
+  '';
+
+  meta = with lib; {
+    description = "A tool for building and running mobile apps written in Go";
+    homepage = "https://pkg.go.dev/golang.org/x/mobile/cmd/gomobile";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ jakubgs ];
+  };
+}
diff --git a/pkgs/development/mobile/gomobile/resolve-nix-android-sdk.patch b/pkgs/development/mobile/gomobile/resolve-nix-android-sdk.patch
new file mode 100644
index 0000000000000..cc143e3a447c2
--- /dev/null
+++ b/pkgs/development/mobile/gomobile/resolve-nix-android-sdk.patch
@@ -0,0 +1,15 @@
+diff --git a/cmd/gomobile/bind_androidapp.go b/cmd/gomobile/bind_androidapp.go
+index 3b01adc..76216fa 100644
+--- a/cmd/gomobile/bind_androidapp.go
++++ b/cmd/gomobile/bind_androidapp.go
+@@ -372,6 +372,10 @@ func androidAPIPath() (string, error) {
+ 	var apiVer int
+ 	for _, fi := range fis {
+ 		name := fi.Name()
++		// Resolve symlinked directories (this is how the Nix Android SDK package is built)
++		if fi2, err := os.Stat(filepath.Join(sdkDir.Name(), name)); err == nil {
++			fi = fi2
++		}
+ 		if !fi.IsDir() || !strings.HasPrefix(name, "android-") {
+ 			continue
+ 		}
diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix
index 8d00e3595fecc..ff9b4747e68b9 100644
--- a/pkgs/development/node-packages/default.nix
+++ b/pkgs/development/node-packages/default.nix
@@ -285,6 +285,9 @@ let
         libsecret
         self.node-gyp-build
         self.node-pre-gyp
+      ] ++ lib.optionals stdenv.isDarwin [
+        darwin.apple_sdk.frameworks.AppKit
+        darwin.apple_sdk.frameworks.Security
       ];
     };
 
diff --git a/pkgs/development/ocaml-modules/irmin/ppx.nix b/pkgs/development/ocaml-modules/irmin/ppx.nix
index abb21fd7c5361..7c59e1eaef34c 100644
--- a/pkgs/development/ocaml-modules/irmin/ppx.nix
+++ b/pkgs/development/ocaml-modules/irmin/ppx.nix
@@ -2,11 +2,11 @@
 
 buildDunePackage rec {
   pname = "ppx_irmin";
-  version = "2.5.2";
+  version = "2.5.3";
 
   src = fetchurl {
     url = "https://github.com/mirage/irmin/releases/download/${version}/irmin-${version}.tbz";
-    sha256 = "ac8d75144cafdaf4b5e106b540a27338245510b7e33a8c412d393c9d50cae490";
+    sha256 = "2c8ef24cc57379c3a138f121fea350ee7b6077abc22a4fdc6a47d0c81585f3f6";
   };
 
   minimumOCamlVersion = "4.08";
diff --git a/pkgs/development/ocaml-modules/labltk/default.nix b/pkgs/development/ocaml-modules/labltk/default.nix
index 3ee09b2d51c91..5a6daa54de39d 100644
--- a/pkgs/development/ocaml-modules/labltk/default.nix
+++ b/pkgs/development/ocaml-modules/labltk/default.nix
@@ -1,46 +1,24 @@
-{ stdenv, lib, fetchurl, fetchzip, ocaml, findlib, tcl, tk }:
+{ stdenv, lib, makeWrapper, fetchzip, ocaml, findlib, tcl, tk }:
 
-let OCamlVersionAtLeast = lib.versionAtLeast ocaml.version; in
-
-if !OCamlVersionAtLeast "4.04"
-then throw "labltk is not available for OCaml ${ocaml.version}"
-else
-
-let param =
-  let mkNewParam = { version, sha256 }: {
+let
+ params =
+  let mkNewParam = { version, sha256, rev ? version }: {
     inherit version;
     src = fetchzip {
-      url = "https://github.com/garrigue/labltk/archive/${version}.tar.gz";
-      inherit sha256;
-    };
-  }; in
-  let mkOldParam = { version, key, sha256 }: {
-    src = fetchurl {
-      url = "https://forge.ocamlcore.org/frs/download.php/${key}/labltk-${version}.tar.gz";
+      url = "https://github.com/garrigue/labltk/archive/${rev}.tar.gz";
       inherit sha256;
     };
-    inherit version;
   }; in
  rec {
-  "4.04" = mkOldParam {
-    version = "8.06.2";
-    key = "1628";
-    sha256 = "1p97j9s33axkb4yyl0byhmhlyczqarb886ajpyggizy2br3a0bmk";
-  };
-  "4.05" = mkOldParam {
-    version = "8.06.3";
-    key = "1701";
-    sha256 = "1rka9jpg3kxqn7dmgfsa7pmsdwm16x7cn4sh15ijyyrad9phgdxn";
-  };
-  "4.06" = mkOldParam {
+  "4.06" = mkNewParam {
     version = "8.06.4";
-    key = "1727";
-    sha256 = "0j3rz0zz4r993wa3ssnk5s416b1jhj58l6z2jk8238a86y7xqcii";
+    rev = "labltk-8.06.4";
+    sha256 = "03xwnnnahb2rf4siymzqyqy8zgrx3h26qxjgbp5dh1wdl7n02c7g";
   };
-  "4.07" = mkOldParam {
+  "4.07" = mkNewParam {
     version = "8.06.5";
-    key = "1764";
-    sha256 = "0wgx65y1wkgf22ihpqmspqfp95fqbj3pldhp1p3b1mi8rmc37zwj";
+    rev = "1b71e2c6f3ae6847d3d5e79bf099deb7330fb419";
+    sha256 = "02vchmrm3izrk7daldd22harhgrjhmbw6i1pqw6hmfmrmrypypg2";
   };
   _8_06_7 = mkNewParam {
     version = "8.06.7";
@@ -60,14 +38,16 @@ let param =
     version = "8.06.10";
     sha256 = "06cck7wijq4zdshzhxm6jyl8k3j0zglj2axsyfk6q1sq754zyf4a";
   };
-}.${builtins.substring 0 4 ocaml.version};
+ };
+ param = params . ${lib.versions.majorMinor ocaml.version}
+   or (throw "labltk is not available for OCaml ${ocaml.version}");
 in
 
 stdenv.mkDerivation rec {
   inherit (param) version src;
   name = "ocaml${ocaml.version}-labltk-${version}";
 
-  buildInputs = [ ocaml findlib tcl tk ];
+  buildInputs = [ ocaml findlib tcl tk makeWrapper ];
 
   configureFlags = [ "--use-findlib" "--installbindir" "$(out)/bin" ];
   dontAddPrefix = true;
@@ -79,6 +59,10 @@ stdenv.mkDerivation rec {
   postInstall = ''
     mkdir -p $OCAMLFIND_DESTDIR/stublibs
     mv $OCAMLFIND_DESTDIR/labltk/dlllabltk.so $OCAMLFIND_DESTDIR/stublibs/
+    for p in $out/bin/*
+    do
+      wrapProgram $p --set CAML_LD_LIBRARY_PATH $OCAMLFIND_DESTDIR/stublibs
+    done
   '';
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/mirage-crypto/default.nix b/pkgs/development/ocaml-modules/mirage-crypto/default.nix
index eec6f447dc46c..2eda6d5f55ea1 100644
--- a/pkgs/development/ocaml-modules/mirage-crypto/default.nix
+++ b/pkgs/development/ocaml-modules/mirage-crypto/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, buildDunePackage, ounit, cstruct, dune-configurator, eqaf, pkg-config
+{ lib, fetchurl, buildDunePackage, ounit, cstruct, dune-configurator, eqaf, bigarray-compat, pkg-config
 , withFreestanding ? false
 , ocaml-freestanding
 }:
@@ -7,11 +7,11 @@ buildDunePackage rec {
   minimumOCamlVersion = "4.08";
 
   pname = "mirage-crypto";
-  version = "0.9.2";
+  version = "0.10.0";
 
   src = fetchurl {
     url = "https://github.com/mirage/mirage-crypto/releases/download/v${version}/mirage-crypto-v${version}.tbz";
-    sha256 = "da200c0afdbe63474ab19f2bc616e26c10b0e4fbb53fb97fefb2794212f5d442";
+    sha256 = "20915c53ddb658c53f588c414f13676bc8ad3cd734d9ed909225ea080dd8144d";
   };
 
   useDune2 = true;
@@ -21,7 +21,7 @@ buildDunePackage rec {
 
   nativeBuildInputs = [ dune-configurator pkg-config ];
   propagatedBuildInputs = [
-    cstruct eqaf
+    cstruct eqaf bigarray-compat
   ] ++ lib.optionals withFreestanding [
     ocaml-freestanding
   ];
diff --git a/pkgs/development/php-packages/composer/default.nix b/pkgs/development/php-packages/composer/default.nix
index d704b5f9a27dc..a7be06f1d049f 100644
--- a/pkgs/development/php-packages/composer/default.nix
+++ b/pkgs/development/php-packages/composer/default.nix
@@ -1,14 +1,14 @@
 { mkDerivation, fetchurl, makeWrapper, unzip, lib, php }:
 let
   pname = "composer";
-  version = "2.0.11";
+  version = "2.0.12";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://getcomposer.org/download/${version}/composer.phar";
-    sha256 = "sha256-6r8pFwcglqlGeRk3YlATGeYh4rNppKElaywn9OaYRHc=";
+    sha256 = "sha256-guqMFTfPrOt+VvYATHzN+Z3a/OcjfAc3TZIOY1cwpjE=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix
index a34fa36734df8..f7194f8dd2f50 100644
--- a/pkgs/development/python-modules/ailment/default.nix
+++ b/pkgs/development/python-modules/ailment/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.0.6281";
+  version = "9.0.6852";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-IFUGtTO+DY8FIxLgvmwM/y/RQr42T9sABPpnJMILkqg=";
+    sha256 = "sha256-yIYZubZ8073voe4C78QITP3Pau/mrpNTyhPpU/QftXo=";
   };
 
   propagatedBuildInputs = [ pyvex ];
diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix
index ba0b3b68be261..b67c3524fae8a 100644
--- a/pkgs/development/python-modules/angr/default.nix
+++ b/pkgs/development/python-modules/angr/default.nix
@@ -18,7 +18,6 @@
 , protobuf
 , psutil
 , pycparser
-, pkgs
 , pythonOlder
 , pyvex
 , sqlalchemy
@@ -43,14 +42,14 @@ in
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.0.6281";
+  version = "9.0.6852";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "10i4qdk8f342gzxiwy0pjdc35lc4q5ab7l5q420ca61cgdvxkk4r";
+    sha256 = "sha256-8BN706jqflhKmHVLQ1Y0k3GMScB1Hs5E/zndgq0sXB8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/angrop/default.nix b/pkgs/development/python-modules/angrop/default.nix
new file mode 100644
index 0000000000000..1237ed6fa46df
--- /dev/null
+++ b/pkgs/development/python-modules/angrop/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, angr
+, buildPythonPackage
+, fetchFromGitHub
+, progressbar
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "angrop";
+  version = "9.0.6852";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "angr";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-uOf2d3TbTdLobqfdOUSVQ/mqyD3TaYPlPCNFsqcPrXo=";
+  };
+
+  propagatedBuildInputs = [
+    angr
+    progressbar
+  ];
+
+  # Tests have additional requirements, e.g., angr binaries
+  # cle is executing the tests with the angr binaries already and is a requirement of angr
+  doCheck = false;
+  pythonImportsCheck = [ "angrop" ];
+
+  meta = with lib; {
+    description = "ROP gadget finder and chain builder";
+    homepage = "https://github.com/angr/angrop";
+    license = with licenses; [ bsd2 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix
index ec1db2e33dcbf..7802df99ebed4 100644
--- a/pkgs/development/python-modules/archinfo/default.nix
+++ b/pkgs/development/python-modules/archinfo/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.0.6281";
+  version = "9.0.6852";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ZO2P53RdR3cYhDbtrdGJnadFZgKkBdDi5gR/CB7YTpI=";
+    sha256 = "sha256-NlL/uRI568HYkt8T2kuzyHNXpWybOLbFduE+1dzm4Qo=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/banal/default.nix b/pkgs/development/python-modules/banal/default.nix
new file mode 100644
index 0000000000000..793de7d3a7659
--- /dev/null
+++ b/pkgs/development/python-modules/banal/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+}:
+buildPythonPackage rec {
+  pname = "banal";
+  version = "1.0.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "2fe02c9305f53168441948f4a03dfbfa2eacc73db30db4a93309083cb0e250a5";
+  };
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "banal"
+  ];
+
+  meta = with lib; {
+    description = "Commons of banal micro-functions for Python";
+    homepage = "https://github.com/pudo/banal";
+    license = licenses.mit;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/bitarray/default.nix b/pkgs/development/python-modules/bitarray/default.nix
index dc09aa2c6bcb2..c3965b10a2aba 100644
--- a/pkgs/development/python-modules/bitarray/default.nix
+++ b/pkgs/development/python-modules/bitarray/default.nix
@@ -1,14 +1,19 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib, buildPythonPackage, fetchPypi, python }:
 
 buildPythonPackage rec {
   pname = "bitarray";
-  version = "1.8.1";
+  version = "2.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e02f79fba7a470d438eb39017d503498faaf760b17b6b46af1a9de12fd58d311";
+    sha256 = "sha256-7DpPbXEaee0jrqlUFjjTNT3D8IPyk6ExgLFLSC4+Ge8=";
   };
 
+  checkPhase = ''
+    cd $out
+    ${python.interpreter} -c 'import bitarray; bitarray.test()'
+  '';
+
   pythonImportsCheck = [ "bitarray" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/brother/default.nix b/pkgs/development/python-modules/brother/default.nix
index e4f9d63bd6b17..9f41ed5756f57 100644
--- a/pkgs/development/python-modules/brother/default.nix
+++ b/pkgs/development/python-modules/brother/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "brother";
-  version = "0.2.2";
+  version = "1.0.0";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "bieniu";
     repo = pname;
     rev = version;
-    sha256 = "sha256-vIefcL3K3ZbAUxMFM7gbbTFdrnmufWZHcq4OA19SYXE=";
+    sha256 = "sha256-0NfqPlQiOkNhR+H55E9LE4dGa9R8vcSyPNbbIeiRJV8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/capstone/default.nix b/pkgs/development/python-modules/capstone/default.nix
index af6b9031e66e6..6ab2ed91fe528 100644
--- a/pkgs/development/python-modules/capstone/default.nix
+++ b/pkgs/development/python-modules/capstone/default.nix
@@ -1,7 +1,7 @@
-{ stdenv
-, lib
+{ lib
 , buildPythonPackage
 , capstone
+, stdenv
 , fetchpatch
 , fetchPypi
 , setuptools
@@ -33,5 +33,7 @@ buildPythonPackage rec {
     license = licenses.bsdOriginal;
     description = "Python bindings for Capstone disassembly engine";
     maintainers = with maintainers; [ bennofs ris ];
+    # creates a manylinux2014-x86_64 wheel
+    broken = stdenv.isAarch64;
   };
 }
diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix
index 39413d0f9c72d..c3a715c15274a 100644
--- a/pkgs/development/python-modules/claripy/default.nix
+++ b/pkgs/development/python-modules/claripy/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.0.6281";
+  version = "9.0.6852";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gvo8I6LQRAEUa7QiV5Sugrt+e2SmGkkKfsGn/IKz+Mk=";
+    sha256 = "sha256-31zaL3PJDXyLvVD3Xdc2qoLSrXipwTawHoj+I+Y6fng=";
   };
 
   # Use upstream z3 implementation
diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix
index 436a364b2b5a1..4daab5059627b 100644
--- a/pkgs/development/python-modules/cle/default.nix
+++ b/pkgs/development/python-modules/cle/default.nix
@@ -15,7 +15,7 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.0.6281";
+  version = "9.0.6852";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0f2zc02dljmgp6ny6ja6917j08kqhwckncan860dq4xv93g61rmg";
+    sha256 = "sha256-IRyRio3M7YZtdBqb7PGoWs2Lyt8hjBLYM1zQYbhjYEs=";
   };
 
   propagatedBuildInputs = [
@@ -64,6 +64,8 @@ buildPythonPackage rec {
     "test_ppc_rel24_relocation"
     "test_ppc_addr16_ha_relocation"
     "test_ppc_addr16_lo_relocation"
+    # Binary not found, seems to be missing in the current binaries release
+    "test_plt_full_relro"
   ];
 
   pythonImportsCheck = [ "cle" ];
diff --git a/pkgs/development/python-modules/commoncode/default.nix b/pkgs/development/python-modules/commoncode/default.nix
new file mode 100644
index 0000000000000..dfb82cccea3a6
--- /dev/null
+++ b/pkgs/development/python-modules/commoncode/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, setuptools-scm
+, click
+, requests
+, attrs
+, intbitset
+, saneyaml
+, text-unidecode
+, beautifulsoup4
+, pytestCheckHook
+, pytest-xdist
+}:
+buildPythonPackage rec {
+  pname = "commoncode";
+  version = "21.1.21";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "6e2daa34fac2d91307b23d9df5f01a6168fdffb12bf5d161bd6776bade29b479";
+  };
+
+  dontConfigure = true;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    click
+    requests
+    attrs
+    intbitset
+    saneyaml
+    text-unidecode
+    beautifulsoup4
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-xdist
+  ];
+
+  pythonImportsCheck = [
+    "commoncode"
+  ];
+
+  meta = with lib; {
+    description = "A set of common utilities, originally split from ScanCode";
+    homepage = "https://github.com/nexB/commoncode";
+    license = licenses.asl20;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/css-html-js-minify/default.nix b/pkgs/development/python-modules/css-html-js-minify/default.nix
new file mode 100644
index 0000000000000..d05941e1cfbed
--- /dev/null
+++ b/pkgs/development/python-modules/css-html-js-minify/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "css-html-js-minify";
+  version = "2.5.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "4a9f11f7e0496f5284d12111f3ba4ff5ff2023d12f15d195c9c48bd97013746c";
+  };
+
+  doCheck = false; # Tests are useless and broken
+
+  pythonImportsCheck = [ "css_html_js_minify" ];
+
+  meta = with lib; {
+    description = "StandAlone Async cross-platform Minifier for the Web";
+    homepage = "https://github.com/juancarlospaco/css-html-js-minify";
+    license = with licenses; [ gpl3Plus lgpl3Plus mit ];
+    maintainers = with maintainers; [ FlorianFranzen ];
+  };
+}
diff --git a/pkgs/development/python-modules/cxxfilt/default.nix b/pkgs/development/python-modules/cxxfilt/default.nix
new file mode 100644
index 0000000000000..580d698d8dabe
--- /dev/null
+++ b/pkgs/development/python-modules/cxxfilt/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, gcc-unwrapped
+}:
+buildPythonPackage rec {
+  pname = "cxxfilt";
+  version = "0.2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ef6810e76d16c95c11b96371e2d8eefd1d270ec03f9bcd07590e8dcc2c69e92b";
+  };
+
+  postPatch = ''
+    substituteInPlace cxxfilt/__init__.py \
+      --replace "find_any_library('stdc++', 'c++')" '"${lib.getLib gcc-unwrapped}/lib/libstdc++.so"'
+  '';
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "cxxfilt"
+  ];
+
+  meta = with lib; {
+    description = "Demangling C++ symbols in Python / interface to abi::__cxa_demangle ";
+    homepage = "https://github.com/afq984/python-cxxfilt";
+    license = licenses.bsd2;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/dask-glm/default.nix b/pkgs/development/python-modules/dask-glm/default.nix
index 86bc2da1565cd..1cfe643944f89 100644
--- a/pkgs/development/python-modules/dask-glm/default.nix
+++ b/pkgs/development/python-modules/dask-glm/default.nix
@@ -8,6 +8,7 @@
 , scipy
 , scikitlearn
 , pytest
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
@@ -20,6 +21,7 @@ buildPythonPackage rec {
   };
 
   checkInputs = [ pytest ];
+  nativeBuildInputs = [ setuptools-scm ];
   propagatedBuildInputs = [ cloudpickle dask numpy toolz multipledispatch scipy scikitlearn ];
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/dask-ml/default.nix b/pkgs/development/python-modules/dask-ml/default.nix
index 4f4b7b705c4e9..517056866bb43 100644
--- a/pkgs/development/python-modules/dask-ml/default.nix
+++ b/pkgs/development/python-modules/dask-ml/default.nix
@@ -13,6 +13,7 @@
 , multipledispatch
 , packaging
 , distributed
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
@@ -38,6 +39,7 @@ buildPythonPackage rec {
     scipy
     six
     toolz
+    setuptools-scm
   ];
 
   # has non-standard build from source, and pypi doesn't include tests
diff --git a/pkgs/development/python-modules/dask/default.nix b/pkgs/development/python-modules/dask/default.nix
index 8f3e4d08583b2..13c03a1f7968e 100644
--- a/pkgs/development/python-modules/dask/default.nix
+++ b/pkgs/development/python-modules/dask/default.nix
@@ -1,6 +1,7 @@
 { lib
 , bokeh
 , buildPythonPackage
+, fetchpatch
 , fetchFromGitHub
 , fsspec
 , pytestCheckHook
@@ -42,7 +43,7 @@ buildPythonPackage rec {
     distributed
   ];
 
-  doCheck = false;
+  doCheck = true;
 
   checkInputs = [
     pytestCheckHook
@@ -52,6 +53,16 @@ buildPythonPackage rec {
 
   dontUseSetuptoolsCheck = true;
 
+  patches = [
+    # dask dataframe cannot be imported in sandboxed builds
+    # See https://github.com/dask/dask/pull/7601
+    (fetchpatch {
+      url = "https://github.com/dask/dask/commit/9ce5b0d258cecb3ef38fd844135ad1f7ac3cea5f.patch";
+      sha256 = "sha256-1EVRYwAdTSEEH9jp+UOnrijzezZN3iYR6q6ieYJM3kY=";
+      name = "fix-dask-dataframe-imports-in-sandbox.patch";
+    })
+  ];
+
   postPatch = ''
     # versioneer hack to set version of github package
     echo "def get_versions(): return {'dirty': False, 'error': None, 'full-revisionid': None, 'version': '${version}'}" > dask/_version.py
@@ -66,8 +77,13 @@ buildPythonPackage rec {
   disabledTests = [
     "test_annotation_pack_unpack"
     "test_annotations_blockwise_unpack"
+    # this test requires features of python3Packages.psutil that are
+    # blocked in sandboxed-builds
+    "test_auto_blocksize_csv"
   ];
 
+  pythonImportsCheck = [ "dask.dataframe" "dask" "dask.array" ];
+
   meta = with lib; {
     description = "Minimal task scheduling abstraction";
     homepage = "https://dask.org/";
diff --git a/pkgs/development/python-modules/debian-inspector/default.nix b/pkgs/development/python-modules/debian-inspector/default.nix
new file mode 100644
index 0000000000000..8064a35ffee00
--- /dev/null
+++ b/pkgs/development/python-modules/debian-inspector/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonAtLeast
+, fetchpatch
+, chardet
+, attrs
+, commoncode
+, pytestCheckHook
+}:
+buildPythonPackage rec {
+  pname = "debian-inspector";
+  version = "0.9.10";
+
+  src = fetchPypi {
+    pname = "debian_inspector";
+    inherit version;
+    sha256 = "fd29a02b925a4de0d7bb00c29bb05f19715a304bc10ef7b9ad06a93893dc3a8c";
+  };
+
+  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=";
+    })
+  ];
+
+  dontConfigure = true;
+
+  propagatedBuildInputs = [
+    chardet
+    attrs
+    commoncode
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "debian_inspector"
+  ];
+
+  meta = with lib; {
+    description = "Utilities to parse Debian package, copyright and control files";
+    homepage = "https://github.com/nexB/debian-inspector";
+    license = with licenses; [ asl20 bsd3 mit ];
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/debut/default.nix b/pkgs/development/python-modules/debut/default.nix
new file mode 100644
index 0000000000000..02eece2fc242a
--- /dev/null
+++ b/pkgs/development/python-modules/debut/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, chardet
+, attrs
+, pytestCheckHook
+}:
+buildPythonPackage rec {
+  pname = "debut";
+  version = "0.9.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a3a71e475295f4cf4292440c9c7303ebca0309d395536d2a7f86a5f4d7465dc1";
+  };
+
+  dontConfigure = true;
+
+  propagatedBuildInputs = [
+    chardet
+    attrs
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "debut"
+  ];
+
+  meta = with lib; {
+    description = "Python library to parse Debian deb822-style control and copyright files ";
+    homepage = "https://github.com/nexB/debut";
+    license = with licenses; [ asl20 bsd3 mit ];
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/deezer-python/default.nix b/pkgs/development/python-modules/deezer-python/default.nix
new file mode 100644
index 0000000000000..cff9a666691dd
--- /dev/null
+++ b/pkgs/development/python-modules/deezer-python/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, requests
+, tornado
+, poetry-core
+, pytestCheckHook
+, pytest-cov
+, pytest-vcr
+}:
+
+buildPythonPackage rec {
+  pname = "deezer-python";
+  version = "2.2.2";
+  disabled = pythonOlder "3.6";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "browniebroke";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1l8l4lxlqsj921gk1mxcilp11jx31addiyd9pk604aldgqma709y";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-cov
+    pytest-vcr
+  ];
+
+  propagatedBuildInputs = [
+    requests
+    tornado
+  ];
+
+  meta = with lib; {
+    description = "A friendly Python wrapper around the Deezer API";
+    homepage = "https://github.com/browniebroke/deezer-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ synthetica ];
+  };
+}
diff --git a/pkgs/development/python-modules/dparse/default.nix b/pkgs/development/python-modules/dparse/default.nix
index 6433e0d17a727..59fed703e227e 100644
--- a/pkgs/development/python-modules/dparse/default.nix
+++ b/pkgs/development/python-modules/dparse/default.nix
@@ -1,4 +1,12 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27, pytest, toml, pyyaml }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy27
+, toml
+, pyyaml
+, packaging
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "dparse";
@@ -10,13 +18,24 @@ buildPythonPackage rec {
     sha256 = "a1b5f169102e1c894f9a7d5ccf6f9402a836a5d24be80a986c7ce9eaed78f367";
   };
 
-  propagatedBuildInputs = [ toml pyyaml ];
+  propagatedBuildInputs = [
+    toml
+    pyyaml
+    packaging
+  ];
 
-  checkInputs = [ pytest ];
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # requires unpackaged dependency pipenv
+    "test_update_pipfile"
+  ];
 
   meta = with lib; {
     description = "A parser for Python dependency files";
-    homepage = "https://github.com/pyupio/safety";
+    homepage = "https://github.com/pyupio/dparse";
     license = licenses.mit;
     maintainers = with maintainers; [ thomasdesr ];
   };
diff --git a/pkgs/development/python-modules/dsmr-parser/default.nix b/pkgs/development/python-modules/dsmr-parser/default.nix
new file mode 100644
index 0000000000000..155927368eee6
--- /dev/null
+++ b/pkgs/development/python-modules/dsmr-parser/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pyserial
+, pyserial-asyncio
+, pytestCheckHook
+, pytz
+, tailer
+}:
+
+buildPythonPackage rec {
+  pname = "dsmr-parser";
+  version = "0.29";
+
+  src = fetchFromGitHub {
+    owner = "ndokter";
+    repo = "dsmr_parser";
+    rev = "v${version}";
+    sha256 = "11d6cwmabzc8p6jkqwj72nrj7p6cxbvr0x3jdrxyx6zki8chyw4p";
+  };
+
+  propagatedBuildInputs = [
+    pyserial
+    pyserial-asyncio
+    pytz
+    tailer
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "dsmr_parser" ];
+
+  meta = with lib; {
+    description = "Python module to parse Dutch Smart Meter Requirements (DSMR)";
+    homepage = "https://github.com/ndokter/dsmr_parser";
+    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
new file mode 100644
index 0000000000000..e3318b426ecc3
--- /dev/null
+++ b/pkgs/development/python-modules/extractcode/7z.nix
@@ -0,0 +1,48 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, plugincode
+, p7zip
+}:
+buildPythonPackage rec {
+  pname = "extractcode-7z";
+  version = "21.4.4";
+
+  src = fetchFromGitHub {
+    owner = "nexB";
+    repo = "scancode-plugins";
+    rev = "v${version}";
+    sha256 = "xnUGDMS34iMVMGo/nZwRarGzzbj3X4Rt+YHvvKpmy6A=";
+  };
+
+  sourceRoot = "source/builtins/extractcode_7z-linux";
+
+  propagatedBuildInputs = [
+    plugincode
+  ];
+
+  preBuild = ''
+    pushd src/extractcode_7z/bin
+
+    rm 7z 7z.so
+    ln -s ${p7zip}/bin/7z 7z
+    ln -s ${p7zip}/lib/p7zip/7z.so 7z.so
+
+    popd
+  '';
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "extractcode_7z"
+  ];
+
+  meta = with lib; {
+    description = "A ScanCode Toolkit plugin to provide pre-built binary libraries and utilities and their locations";
+    homepage = "https://github.com/nexB/scancode-plugins/tree/main/builtins/extractcode_7z-linux";
+    license = with licenses; [ asl20 lgpl21 ];
+    maintainers = teams.determinatesystems.members;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/extractcode/default.nix b/pkgs/development/python-modules/extractcode/default.nix
new file mode 100644
index 0000000000000..481324d72923c
--- /dev/null
+++ b/pkgs/development/python-modules/extractcode/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, setuptools-scm
+, typecode
+, patch
+, extractcode-libarchive
+, extractcode-7z
+, pytestCheckHook
+, pytest-xdist
+}:
+buildPythonPackage rec {
+  pname = "extractcode";
+  version = "21.2.24";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f91638dbf523b80df90ac184c25d5cd1ea24cac53f67a6bb7d7b389867e0744b";
+  };
+
+  dontConfigure = true;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    typecode
+    patch
+    extractcode-libarchive
+    extractcode-7z
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-xdist
+  ];
+
+  # cli test tests the cli which we can't do until after install
+  disabledTestPaths = [
+    "tests/test_extractcode_cli.py"
+  ];
+
+  # test_uncompress_* wants to use a binary to extract instead of the provided library
+  disabledTests = [
+    "test_uncompress_lz4_basic"
+    "test_extract_tarlz4_basic"
+  ];
+
+  pythonImportsCheck = [
+    "extractcode"
+  ];
+
+  meta = with lib; {
+    description = "A mostly universal archive extractor using z7zip, libarchve, other libraries and the Python standard library for reliable archive extraction";
+    homepage = "https://github.com/nexB/extractcode";
+    license = licenses.asl20;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/extractcode/libarchive.nix b/pkgs/development/python-modules/extractcode/libarchive.nix
new file mode 100644
index 0000000000000..0d5e7f3185895
--- /dev/null
+++ b/pkgs/development/python-modules/extractcode/libarchive.nix
@@ -0,0 +1,62 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, libarchive
+, libb2
+, bzip2
+, expat
+, lz4
+, lzma
+, zlib
+, zstd
+, plugincode
+, pytestCheckHook
+}:
+buildPythonPackage rec {
+  pname = "extractcode-libarchive";
+  version = "21.4.4";
+
+  src = fetchFromGitHub {
+    owner = "nexB";
+    repo = "scancode-plugins";
+    rev = "v${version}";
+    sha256 = "xnUGDMS34iMVMGo/nZwRarGzzbj3X4Rt+YHvvKpmy6A=";
+  };
+
+  sourceRoot = "source/builtins/extractcode_libarchive-linux";
+
+  preBuild = ''
+    pushd src/extractcode_libarchive/lib
+
+    rm *.so *.so.*
+    ln -s ${lib.getLib libarchive}/lib/libarchive.so libarchive.so
+    ln -s ${lib.getLib libb2}/lib/libb2.so libb2-la3511.so.1
+    ln -s ${lib.getLib bzip2}/lib/libbz2.so libbz2-la3511.so.1.0
+    ln -s ${lib.getLib expat}/lib/libexpat.so libexpat-la3511.so.1
+    ln -s ${lib.getLib lz4}/lib/liblz4.so liblz4-la3511.so.1
+    ln -s ${lib.getLib lzma}/lib/liblzma.so liblzma-la3511.so.5
+    ln -s ${lib.getLib zlib}/lib/libz.so libz-la3511.so.1
+    ln -s ${lib.getLib zstd}/lib/libzstd.so libzstd-la3511.so.1
+
+    popd
+  '';
+
+  propagatedBuildInputs = [
+    plugincode
+  ];
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "extractcode_libarchive"
+  ];
+
+  meta = with lib; {
+    description = "A ScanCode Toolkit plugin to provide pre-built binary libraries and utilities and their locations";
+    homepage = "https://github.com/nexB/scancode-plugins/tree/main/builtins/extractcode_libarchive-linux";
+    license = with licenses; [ asl20 bsd2 ];
+    maintainers = teams.determinatesystems.members;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/faadelays/default.nix b/pkgs/development/python-modules/faadelays/default.nix
index 3175aabcae847..7cd0e291999c8 100644
--- a/pkgs/development/python-modules/faadelays/default.nix
+++ b/pkgs/development/python-modules/faadelays/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "faadelays";
-  version = "0.0.6";
+  version = "0.0.7";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "02z8p0n9d6n4l6v1m969009gxwmy5v14z108r4f3swd6yrk0h2xd";
+    sha256 = "sha256-osZqfSYlKPYZMelBR6YB331iRB4DTjCUlmX7pcrIiGk=";
   };
 
   propagatedBuildInputs = [ aiohttp ];
diff --git a/pkgs/development/python-modules/fingerprints/default.nix b/pkgs/development/python-modules/fingerprints/default.nix
new file mode 100644
index 0000000000000..ea68c6fa8d4ae
--- /dev/null
+++ b/pkgs/development/python-modules/fingerprints/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, normality
+, mypy
+, coverage
+, nose
+}:
+buildPythonPackage rec {
+  pname = "fingerprints";
+  version = "1.0.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "cafd5f92b5b91e4ce34af2b954da9c05b448a4778947785abb19a14f363352d0";
+  };
+
+  propagatedBuildInputs = [
+    normality
+  ];
+
+  checkInputs = [
+    mypy
+    coverage
+    nose
+  ];
+
+  checkPhase = ''
+    nosetests
+  '';
+
+  pythonImportsCheck = [
+    "fingerprints"
+  ];
+
+  meta = with lib; {
+    description = "A library to generate entity fingerprints";
+    homepage = "https://github.com/alephdata/fingerprints";
+    license = licenses.mit;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/fsspec/default.nix b/pkgs/development/python-modules/fsspec/default.nix
index 1734ad2f507ce..fbcf09de2eb3c 100644
--- a/pkgs/development/python-modules/fsspec/default.nix
+++ b/pkgs/development/python-modules/fsspec/default.nix
@@ -5,34 +5,36 @@
 , pytestCheckHook
 , numpy
 , stdenv
+, aiohttp
+, pytest-vcr
+, requests
 }:
 
 buildPythonPackage rec {
   pname = "fsspec";
-  version = "0.8.3";
+  version = "2021.04.0";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "intake";
     repo = "filesystem_spec";
     rev = version;
-    sha256 = "0mfy0wxjfwwnp5q2afhhfbampf0fk71wsv512pi9yvrkzzfi1hga";
+    sha256 = "sha256-9072kb1VEQ0xg9hB8yEzJMD2Ttd3UGjBmTuhE+Uya1k=";
   };
 
-  checkInputs = [
-    pytestCheckHook
-    numpy
-  ];
+  checkInputs = [ pytestCheckHook numpy pytest-vcr ];
+
+  __darwinAllowLocalNetworking = true;
+
+  propagatedBuildInputs = [ aiohttp requests ];
 
   disabledTests = [
     # Test assumes user name is part of $HOME
     # AssertionError: assert 'nixbld' in '/homeless-shelter/foo/bar'
     "test_strip_protocol_expanduser"
-    # flaky: works locally but fails on hydra
-    # as it uses the install dir for tests instead of a temp dir
-    # resolved in https://github.com/intake/filesystem_spec/issues/432 and
-    # can be enabled again from version 0.8.4
-    "test_pathobject"
+    # test accesses this remote ftp server:
+    # https://ftp.fau.de/debian-cd/current/amd64/log/success
+    "test_find"
   ] ++ lib.optionals (stdenv.isDarwin) [
     # works locally on APFS, fails on hydra with AssertionError comparing timestamps
     # darwin hydra builder uses HFS+ and has only one second timestamp resolution
diff --git a/pkgs/development/python-modules/fusepy/default.nix b/pkgs/development/python-modules/fusepy/default.nix
index 45b708630427a..03a5248e8e1a1 100644
--- a/pkgs/development/python-modules/fusepy/default.nix
+++ b/pkgs/development/python-modules/fusepy/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
 , pkgs
@@ -18,7 +19,9 @@ buildPythonPackage rec {
   # No tests included
   doCheck = false;
 
-  patchPhase = ''
+  # On macOS, users are expected to install macFUSE. This means fusepy should
+  # be able to find libfuse in /usr/local/lib.
+  patchPhase = lib.optionalString (!stdenv.isDarwin) ''
     substituteInPlace fuse.py --replace \
       "find_library('fuse')" "'${pkgs.fuse}/lib/libfuse.so'"
   '';
diff --git a/pkgs/development/python-modules/gcsfs/default.nix b/pkgs/development/python-modules/gcsfs/default.nix
new file mode 100644
index 0000000000000..483e4a61084e9
--- /dev/null
+++ b/pkgs/development/python-modules/gcsfs/default.nix
@@ -0,0 +1,37 @@
+{ buildPythonPackage, fetchFromGitHub, lib, pytestCheckHook, google-auth
+, google-auth-oauthlib, requests, decorator, fsspec, ujson, aiohttp, crcmod
+, pytest-vcr, vcrpy }:
+
+buildPythonPackage rec {
+  pname = "gcsfs";
+  version = "2021.04.0";
+
+  # github sources needed for test data
+  src = fetchFromGitHub {
+    owner = "dask";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-OA43DaQue7R5d6SzfKThEQFEwJndjLfznu1LMubs5fs=";
+  };
+
+  propagatedBuildInputs = [
+    google-auth
+    google-auth-oauthlib
+    requests
+    decorator
+    fsspec
+    aiohttp
+    ujson
+    crcmod
+  ];
+
+  checkInputs = [ pytestCheckHook pytest-vcr vcrpy ];
+  pythonImportsCheck = [ "gcsfs" ];
+
+  meta = with lib; {
+    description = "Convenient Filesystem interface over GCS";
+    homepage = "https://github.com/dask/gcsfs";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.nbren12 ];
+  };
+}
diff --git a/pkgs/development/python-modules/gemfileparser/default.nix b/pkgs/development/python-modules/gemfileparser/default.nix
new file mode 100644
index 0000000000000..8aa4b81923195
--- /dev/null
+++ b/pkgs/development/python-modules/gemfileparser/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pytestCheckHook
+}:
+buildPythonPackage rec {
+  pname = "gemfileparser";
+  version = "0.8.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "839592e49ea3fd985cec003ef58f8e77009a69ed7644a0c0acc94cf6dd9b8d6e";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "gemfileparser"
+  ];
+
+  meta = with lib; {
+    description = "A library to parse Ruby Gemfile, .gemspec and Cocoapod .podspec file using Python";
+    homepage = "https://github.com/gemfileparser/gemfileparser";
+    license = with licenses; [ gpl3Plus /* or */ mit ];
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/google-auth-oauthlib/default.nix b/pkgs/development/python-modules/google-auth-oauthlib/default.nix
index 37752601e2658..6e4c139d8dd0f 100644
--- a/pkgs/development/python-modules/google-auth-oauthlib/default.nix
+++ b/pkgs/development/python-modules/google-auth-oauthlib/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
 , click
@@ -28,6 +29,8 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = lib.optionals stdenv.isDarwin [ "test_run_local_server" ];
+
   meta = with lib; {
     description = "Google Authentication Library: oauthlib integration";
     homepage = "https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib";
diff --git a/pkgs/development/python-modules/google-auth/default.nix b/pkgs/development/python-modules/google-auth/default.nix
index addd67f9faac8..f106f6efaa6eb 100644
--- a/pkgs/development/python-modules/google-auth/default.nix
+++ b/pkgs/development/python-modules/google-auth/default.nix
@@ -1,4 +1,5 @@
-{ lib
+{ stdenv
+, lib
 , buildPythonPackage
 , fetchpatch
 , fetchPypi
@@ -48,6 +49,14 @@ buildPythonPackage rec {
     "google.oauth2"
   ];
 
+  disabledTests = lib.optionals stdenv.isDarwin [
+    "test_request_with_timeout_success"
+    "test_request_with_timeout_failure"
+    "test_request_headers"
+    "test_request_error"
+    "test_request_basic"
+  ];
+
   meta = with lib; {
     description = "Google Auth Python Library";
     longDescription = ''
diff --git a/pkgs/development/python-modules/hachoir/default.nix b/pkgs/development/python-modules/hachoir/default.nix
new file mode 100644
index 0000000000000..2c46b14a27445
--- /dev/null
+++ b/pkgs/development/python-modules/hachoir/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, urwid
+}:
+
+buildPythonPackage rec {
+  pname = "hachoir";
+  version = "3.1.2";
+
+  src = fetchFromGitHub {
+    owner = "vstinner";
+    repo = pname;
+    rev = version;
+    sha256 = "06544qmmimvaznwcjs8wwfih1frdd7anwcw5z07cf69l8p146p0y";
+  };
+
+  propagatedBuildInputs = [
+    urwid
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "hachoir" ];
+
+  meta = with lib; {
+    description = "Python library to view and edit a binary stream";
+    homepage = "https://hachoir.readthedocs.io/";
+    license = with licenses; [ gpl2Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/httplib2/default.nix b/pkgs/development/python-modules/httplib2/default.nix
index ce3b3aa1f6712..25c227c614e50 100644
--- a/pkgs/development/python-modules/httplib2/default.nix
+++ b/pkgs/development/python-modules/httplib2/default.nix
@@ -1,4 +1,5 @@
-{ lib
+{ stdenv
+, lib
 , buildPythonPackage
 , fetchFromGitHub
 , isPy27
@@ -39,8 +40,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  # Don't run tests for Python 2.7
-  doCheck = !isPy27;
+  # Don't run tests for Python 2.7 or Darwin
+  # Nearly 50% of the test suite requires local network access
+  # which isn't allowed on sandboxed Darwin builds
+  doCheck = !(isPy27 || stdenv.isDarwin);
   pytestFlagsArray = [ "--ignore python2" ];
   pythonImportsCheck = [ "httplib2" ];
 
diff --git a/pkgs/development/python-modules/hyperion-py/default.nix b/pkgs/development/python-modules/hyperion-py/default.nix
new file mode 100644
index 0000000000000..c282be29c6559
--- /dev/null
+++ b/pkgs/development/python-modules/hyperion-py/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, poetry-core
+, pytest-aiohttp
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "hyperion-py";
+  version = "0.7.4";
+  disabled = pythonOlder "3.8";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "dermotduffy";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "00x12ppmvlxs3qbdxq06wnzakvwm2m39qhmpp27qfpl137b0qqyj";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytest-aiohttp
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --timeout=9 --cov=hyperion" ""
+  '';
+
+  pythonImportsCheck = [ "hyperion" ];
+
+  meta = with lib; {
+    description = "Python package for Hyperion Ambient Lighting";
+    homepage = "https://github.com/dermotduffy/hyperion-py";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/imap-tools/default.nix b/pkgs/development/python-modules/imap-tools/default.nix
index 136415eb54e5c..700c23827faaf 100644
--- a/pkgs/development/python-modules/imap-tools/default.nix
+++ b/pkgs/development/python-modules/imap-tools/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "imap-tools";
-  version = "0.39.0";
+  version = "0.40.0";
 
   disabled = isPy27;
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "ikvk";
     repo = "imap_tools";
     rev = "v${version}";
-    sha256 = "sha256-PyksCYVe7Ij/+bZpntHgY51I/ZVnC6L20TcKfTLr2CY=";
+    sha256 = "sha256-7qLiVN3pBkbZQlA12ZOkgpiV/JybrPTmEIeJjy4ZS3A=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/intbitset/default.nix b/pkgs/development/python-modules/intbitset/default.nix
new file mode 100644
index 0000000000000..db98be8276c59
--- /dev/null
+++ b/pkgs/development/python-modules/intbitset/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, six
+, nose
+}:
+buildPythonPackage rec {
+  pname = "intbitset";
+  version = "2.4.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "44bca80b8cc702d5a56f0686f2bb5e028ab4d0c2c1761941589d46b7fa2c701c";
+  };
+
+  patches = [
+    # fixes compilation on aarch64 and determinism (uses -march=core2 and
+    # -mtune=native)
+    ./remove-impure-tuning.patch
+  ];
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  checkInputs = [
+    nose
+  ];
+
+  checkPhase = ''
+    nosetests
+  '';
+
+  pythonImportsCheck = [
+    "intbitset"
+  ];
+
+  meta = with lib; {
+    description = "C-based extension implementing fast integer bit sets";
+    homepage = "https://github.com/inveniosoftware/intbitset";
+    license = licenses.lgpl3Only;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/intbitset/remove-impure-tuning.patch b/pkgs/development/python-modules/intbitset/remove-impure-tuning.patch
new file mode 100644
index 0000000000000..4747b87b806c9
--- /dev/null
+++ b/pkgs/development/python-modules/intbitset/remove-impure-tuning.patch
@@ -0,0 +1,24 @@
+From 2ea60bdf4d7b0344fc6ff5c97c675842fedccfa8 Mon Sep 17 00:00:00 2001
+From: Cole Helbling <cole.e.helbling@outlook.com>
+Date: Fri, 23 Apr 2021 09:02:22 -0700
+Subject: [PATCH] setup.py: remove impure tuning
+
+---
+ setup.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 7840022..3922aa5 100644
+--- a/setup.py
++++ b/setup.py
+@@ -48,7 +48,6 @@ setup(
+     ext_modules=[
+         Extension("intbitset",
+                   ["intbitset/intbitset.c", "intbitset/intbitset_impl.c"],
+-                  extra_compile_args=['-O3', '-march=core2', '-mtune=native']
+                   # For debug -> '-ftree-vectorizer-verbose=2'
+                   )
+     ],
+-- 
+2.30.1
+
diff --git a/pkgs/development/python-modules/kaitaistruct/default.nix b/pkgs/development/python-modules/kaitaistruct/default.nix
index 1050ae88e4301..714f51c0d3da3 100644
--- a/pkgs/development/python-modules/kaitaistruct/default.nix
+++ b/pkgs/development/python-modules/kaitaistruct/default.nix
@@ -1,5 +1,18 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fetchFromGitHub
+, lz4
+}:
 
+let
+  kaitai_compress = fetchFromGitHub {
+    owner = "kaitai-io";
+    repo = "kaitai_compress";
+    rev = "434fb42220ff58778bb9fbadb6152cad7e4f5dd0";
+    sha256 = "zVnkVl3amUDOB+pnw5SkMGSrVL/dTQ82E8IWfJvKC4Q=";
+  };
+in
 buildPythonPackage rec {
   pname = "kaitaistruct";
   version = "0.9";
@@ -9,9 +22,27 @@ buildPythonPackage rec {
     sha256 = "3d5845817ec8a4d5504379cc11bd570b038850ee49c4580bc0998c8fb1d327ad";
   };
 
+  preBuild = ''
+    ln -s ${kaitai_compress}/python/kaitai kaitai
+    sed '28ipackages = kaitai/compress' -i setup.cfg
+  '';
+
+  propagatedBuildInputs = [
+    lz4
+  ];
+
+  # no tests
+  dontCheck = true;
+
+  pythonImportsCheck = [
+    "kaitaistruct"
+    "kaitai.compress"
+  ];
+
   meta = with lib; {
     description = "Kaitai Struct: runtime library for Python";
     homepage = "https://github.com/kaitai-io/kaitai_struct_python_runtime";
     license = licenses.mit;
+    maintainers = teams.determinatesystems.members;
   };
 }
diff --git a/pkgs/development/python-modules/karton-dashboard/default.nix b/pkgs/development/python-modules/karton-dashboard/default.nix
new file mode 100644
index 0000000000000..c82cb8957826d
--- /dev/null
+++ b/pkgs/development/python-modules/karton-dashboard/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, flask
+, karton-core
+, mistune
+, prometheus_client
+}:
+
+buildPythonPackage rec {
+  pname = "karton-dashboard";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "CERT-Polska";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "101qmx6nmiim0vrz2ldk973ns498hnxla1xy7nys9kh9wijg4msk";
+  };
+
+  propagatedBuildInputs = [
+    flask
+    karton-core
+    mistune
+    prometheus_client
+  ];
+
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "Flask==1.1.1" "Flask" \
+      --replace "karton-core==4.1.0" "karton-core"
+  '';
+
+  # Project has no tests. pythonImportsCheck requires MinIO configuration
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Web application that allows for Karton task and queue introspection";
+    homepage = "https://github.com/CERT-Polska/karton-dashboard";
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/liblzfse/default.nix b/pkgs/development/python-modules/liblzfse/default.nix
new file mode 100644
index 0000000000000..72159fa5f1346
--- /dev/null
+++ b/pkgs/development/python-modules/liblzfse/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, lzfse
+, pytestCheckHook
+}:
+buildPythonPackage rec {
+  pname = "pyliblzfse";
+  version = "0.4.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "bb0b899b3830c02fdf3dbde48ea59611833f366fef836e5c32cf8145134b7d3d";
+  };
+
+  preBuild = ''
+    rm -r lzfse
+    ln -s ${lzfse.src} lzfse
+  '';
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "liblzfse"
+  ];
+
+  meta = with lib; {
+    description = "Python bindings for LZFSE";
+    homepage = "https://github.com/ydkhatri/pyliblzfse";
+    license = licenses.mit;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/multimethod/default.nix b/pkgs/development/python-modules/multimethod/default.nix
new file mode 100644
index 0000000000000..ded279cd8606d
--- /dev/null
+++ b/pkgs/development/python-modules/multimethod/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pytest-cov
+}:
+buildPythonPackage rec {
+  pname = "multimethod";
+  version = "1.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b9c6f85ecf187f14a3951fff319643e1fac3086d757dec64f2469e1fd136b65d";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-cov
+  ];
+
+  pythomImportsCheck = [
+    "multimethod"
+  ];
+
+  meta = with lib; {
+    description = "Multiple argument dispatching";
+    homepage = "https://github.com/coady/multimethod";
+    license = licenses.asl20;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/nclib/default.nix b/pkgs/development/python-modules/nclib/default.nix
new file mode 100644
index 0000000000000..0e15bfb6cc4d8
--- /dev/null
+++ b/pkgs/development/python-modules/nclib/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "nclib";
+  version = "1.0.0";
+  disabled = pythonOlder "3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0kf8x30lrwhijab586i54g70s3sxvm2945al48zj27grj0pagh7g";
+  };
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "nclib" ];
+
+  meta = with lib; {
+    description = "Python module that provides netcat features";
+    homepage = "https://nclib.readthedocs.io/";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/normality/default.nix b/pkgs/development/python-modules/normality/default.nix
new file mode 100644
index 0000000000000..ece47afad4e2d
--- /dev/null
+++ b/pkgs/development/python-modules/normality/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, text-unidecode
+, chardet
+, banal
+, PyICU
+, pytestCheckHook
+}:
+buildPythonPackage rec {
+  pname = "normality";
+  version = "2.1.3";
+
+  src = fetchFromGitHub {
+    owner = "pudo";
+    repo = "normality";
+    rev = version;
+    sha256 = "WvpMs02vBGnCSPkxo6r6g4Di2fKkUr2SsBflTBxlhkU=";
+  };
+
+  propagatedBuildInputs = [
+    text-unidecode
+    chardet
+    banal
+    PyICU
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "normality"
+  ];
+
+  meta = with lib; {
+    description = "Micro-library to normalize text strings";
+    homepage = "https://github.com/pudo/normality";
+    license = licenses.mit;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/omnilogic/default.nix b/pkgs/development/python-modules/omnilogic/default.nix
index 6e12e57370670..96d0d7e19c6f3 100644
--- a/pkgs/development/python-modules/omnilogic/default.nix
+++ b/pkgs/development/python-modules/omnilogic/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "omnilogic";
-  version = "0.4.3";
+  version = "0.4.5";
 
   src = fetchFromGitHub {
     owner = "djtimca";
     repo = "omnilogic-api";
-    rev = "v${version}";
-    sha256 = "19pmbykq0mckk23aj33xbhg3gjx557xy9a481mp6pkmihf2lsc8z";
+    rev = version;
+    sha256 = "081awb0fl40b5ighc9yxfq1xkgxz7l5dvz5544hx965q2r20wvsg";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ondilo/default.nix b/pkgs/development/python-modules/ondilo/default.nix
new file mode 100644
index 0000000000000..7010bd473aba9
--- /dev/null
+++ b/pkgs/development/python-modules/ondilo/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, oauthlib
+, pythonOlder
+, requests
+, requests_oauthlib
+}:
+
+buildPythonPackage rec {
+  pname = "ondilo";
+  version = "0.2.0";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "JeromeHXP";
+    repo = pname;
+    rev = version;
+    sha256 = "0k7c9nacf7pxvfik3hkv9vvvda2sx5jrf6zwq7r077x7fw5l8d2b";
+  };
+
+  propagatedBuildInputs = [
+    oauthlib
+    requests
+    requests_oauthlib
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "ondilo" ];
+
+  meta = with lib; {
+    description = "Python package to access Ondilo ICO APIs";
+    homepage = "https://github.com/JeromeHXP/ondilo";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/openerz-api/default.nix b/pkgs/development/python-modules/openerz-api/default.nix
new file mode 100644
index 0000000000000..9cbe89e26a341
--- /dev/null
+++ b/pkgs/development/python-modules/openerz-api/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, requests
+, testfixtures
+}:
+
+buildPythonPackage rec {
+  pname = "openerz-api";
+  version = "0.1.0";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "misialq";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "10kxsmaz2rn26jijaxmdmhx8vjdz8hrhlrvd39gc8yvqbjwhi3nw";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    testfixtures
+  ];
+
+  pythonImportsCheck = [ "openerz_api" ];
+
+  meta = with lib; {
+    description = "Python module to interact with the OpenERZ API";
+    homepage = "https://github.com/misialq/openerz-api";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pg8000/default.nix b/pkgs/development/python-modules/pg8000/default.nix
index efa4c3005fcdf..a03452d786280 100644
--- a/pkgs/development/python-modules/pg8000/default.nix
+++ b/pkgs/development/python-modules/pg8000/default.nix
@@ -8,19 +8,22 @@
 
 buildPythonPackage rec {
   pname = "pg8000";
-  version = "1.19.0";
+  version = "1.19.2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-EexwwLIOpECAfiyGmUDxSE7qk9cbQ1gHtjhW3YK3RN0=";
+    sha256 = "sha256-RMu008kS8toWfKAr+YoAQPfpMmDk7xFMKNXWFSAS6gc=";
   };
 
-  propagatedBuildInputs = [passlib scramp ];
+  propagatedBuildInputs = [
+    passlib
+    scramp
+  ];
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "scramp==1.3.0" "scramp>=1.3.0"
+      --replace "scramp==1.4.0" "scramp>=1.4.0"
   '';
 
   # Tests require a running PostgreSQL instance
diff --git a/pkgs/development/python-modules/plugincode/default.nix b/pkgs/development/python-modules/plugincode/default.nix
new file mode 100644
index 0000000000000..7270685f41b12
--- /dev/null
+++ b/pkgs/development/python-modules/plugincode/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, setuptools-scm
+, click
+, commoncode
+, pluggy
+, pytestCheckHook
+, pytest-xdist
+}:
+buildPythonPackage rec {
+  pname = "plugincode";
+  version = "21.1.21";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "97b5a2c96f0365c80240be103ecd86411c68b11a16f137913cbea9129c54907a";
+  };
+
+  dontConfigure = true;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    click
+    commoncode
+    pluggy
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-xdist
+  ];
+
+  pythonImportsCheck = [
+    "plugincode"
+  ];
+
+  meta = with lib; {
+    description = "A library that provides plugin functionality for ScanCode toolkit";
+    homepage = "https://github.com/nexB/plugincode";
+    license = licenses.asl20;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/plugnplay/default.nix b/pkgs/development/python-modules/plugnplay/default.nix
new file mode 100644
index 0000000000000..259fe96028a94
--- /dev/null
+++ b/pkgs/development/python-modules/plugnplay/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+buildPythonPackage rec {
+  pname = "plugnplay";
+  version = "0.5.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "877e2d2500a45aaf31e5175f9f46182088d3e2d64c1c6b9ff6c778ae0ee594c8";
+  };
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "plugnplay"
+  ];
+
+  meta = with lib; {
+    description = "A Generic plug-in system for python applications";
+    homepage = "https://github.com/daltonmatos/plugnplay";
+    license = licenses.gpl2Only;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/ppdeep/default.nix b/pkgs/development/python-modules/ppdeep/default.nix
new file mode 100644
index 0000000000000..bbb5c3fc923c9
--- /dev/null
+++ b/pkgs/development/python-modules/ppdeep/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "ppdeep";
+  version = "20200505";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1zx1h0ff0wjjkgd0dzjv31i6ag09jw2p9vcssc1iplp60awlpixc";
+  };
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "ppdeep" ];
+
+  meta = with lib; {
+    description = "Python library for computing fuzzy hashes (ssdeep)";
+    homepage = "https://github.com/elceef/ppdeep";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pycuda/default.nix b/pkgs/development/python-modules/pycuda/default.nix
index 1db5df28e32a7..5bf9114d6937a 100644
--- a/pkgs/development/python-modules/pycuda/default.nix
+++ b/pkgs/development/python-modules/pycuda/default.nix
@@ -1,4 +1,5 @@
 { buildPythonPackage
+, addOpenGLRunpath
 , fetchPypi
 , fetchFromGitHub
 , Mako
@@ -40,6 +41,13 @@ buildPythonPackage rec {
     ln -s ${compyte} $out/${python.sitePackages}/pycuda/compyte
   '';
 
+  postFixup = ''
+    find $out/lib -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do
+      echo "setting opengl runpath for $lib..."
+      addOpenGLRunpath "$lib"
+    done
+  '';
+
   # Requires access to libcuda.so.1 which is provided by the driver
   doCheck = false;
 
@@ -47,6 +55,10 @@ buildPythonPackage rec {
     py.test
   '';
 
+  nativeBuildInputs = [
+    addOpenGLRunpath
+  ];
+
   propagatedBuildInputs = [
     numpy
     pytools
diff --git a/pkgs/development/python-modules/pydroid-ipcam/default.nix b/pkgs/development/python-modules/pydroid-ipcam/default.nix
new file mode 100644
index 0000000000000..ca171edde44d1
--- /dev/null
+++ b/pkgs/development/python-modules/pydroid-ipcam/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "pydroid-ipcam";
+  version = "unstable-2021-04-16";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "home-assistant-libs";
+    repo = pname;
+    rev = "9f22682c6f9182aa5e42762f52223337b8b6909c";
+    sha256 = "1lvppyzmwg0fp8zch11j51an4sb074yl9shzanakvjmbqpnif6s6";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    yarl
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "pydroid_ipcam" ];
+
+  meta = with lib; {
+    description = "Python library for Android IP Webcam";
+    homepage = "https://github.com/home-assistant-libs/pydroid-ipcam";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyimpfuzzy/default.nix b/pkgs/development/python-modules/pyimpfuzzy/default.nix
new file mode 100644
index 0000000000000..43e1a1a2b82fa
--- /dev/null
+++ b/pkgs/development/python-modules/pyimpfuzzy/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, ssdeep
+, pefile
+}:
+buildPythonPackage rec {
+  pname = "pyimpfuzzy";
+  version = "0.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "da9796df302db4b04a197128637f84988f1882f1e08fdd69bbf9fdc6cfbaf349";
+  };
+
+  buildInputs = [
+    ssdeep
+  ];
+
+  propagatedBuildInputs = [
+    pefile
+  ];
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pyimpfuzzy"
+  ];
+
+  meta = with lib; {
+    description = "A Python module which calculates and compares the impfuzzy (import fuzzy hashing)";
+    homepage = "https://github.com/JPCERTCC/impfuzzy";
+    license = licenses.gpl2Only;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/pymaven-patch/default.nix b/pkgs/development/python-modules/pymaven-patch/default.nix
new file mode 100644
index 0000000000000..e3a70ede0602c
--- /dev/null
+++ b/pkgs/development/python-modules/pymaven-patch/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pbr
+, requests
+, six
+, lxml
+, pytestCheckHook
+, pytest-cov
+, mock
+}:
+buildPythonPackage rec {
+  pname = "pymaven-patch";
+  version = "0.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "d55b29bd4aeef3510904a12885eb6856b5bd48f3e29925a123461429f9ad85c0";
+  };
+
+  propagatedBuildInputs = [
+    pbr
+    requests
+    six
+    lxml
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-cov
+    mock
+  ];
+
+  pythonImportsCheck = [
+    "pymaven"
+  ];
+
+  meta = with lib; {
+    description = "Python access to maven";
+    homepage = "https://github.com/nexB/pymaven";
+    license = licenses.asl20;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/pymavlink/default.nix b/pkgs/development/python-modules/pymavlink/default.nix
index cf8c95130026c..2f39be79821cb 100644
--- a/pkgs/development/python-modules/pymavlink/default.nix
+++ b/pkgs/development/python-modules/pymavlink/default.nix
@@ -2,22 +2,27 @@
 
 buildPythonPackage rec {
   pname = "pymavlink";
-  version = "2.4.14";
+  version = "2.4.15";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3bc3709c735ebb3f98f19e96c8887868f4671077d4808076cfc5445912633881";
+    sha256 = "106va20k0ahy0l2qvxf8k5pvqkgdmxbgzd9kij9fkrahlba5mx3v";
   };
 
   propagatedBuildInputs = [ future lxml ];
 
-  # No tests included in PyPI tarball
+  # No tests included in PyPI tarball. We cannot use the GitHub tarball because
+  # we would like to use the same commit of the mavlink messages repo as
+  # included in the PyPI tarball, and there is no easy way to determine what
+  # commit is included.
   doCheck = false;
 
+  pythonImportsCheck = [ "pymavlink" ];
+
   meta = with lib; {
     description = "Python MAVLink interface and utilities";
     homepage = "https://github.com/ArduPilot/pymavlink";
-    license = licenses.lgpl3;
+    license = with licenses; [ lgpl3Only mit ];
     maintainers = with maintainers; [ lopsided98 ];
   };
 }
diff --git a/pkgs/development/python-modules/pymdstat/default.nix b/pkgs/development/python-modules/pymdstat/default.nix
new file mode 100644
index 0000000000000..54c2096978617
--- /dev/null
+++ b/pkgs/development/python-modules/pymdstat/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "pymdstat";
+  version = "0.4.2";
+
+  src = fetchFromGitHub {
+    owner = "nicolargo";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "01hj8vyd9f7610sqvzphpr033rvnazbwvl11gi18ia3yqlnlncp0";
+  };
+
+  checkPhase = ''
+    ${python.interpreter} $src/unitest.py
+  '';
+
+  pythonImportsCheck = [ "pymdstat" ];
+
+  meta = with lib; {
+    description = "A pythonic library to parse Linux /proc/mdstat file";
+    homepage = "https://github.com/nicolargo/pymdstat";
+    maintainers = with maintainers; [ rhoriguchi ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/pysmart-smartx/default.nix b/pkgs/development/python-modules/pysmart-smartx/default.nix
new file mode 100644
index 0000000000000..66b789668a01b
--- /dev/null
+++ b/pkgs/development/python-modules/pysmart-smartx/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy3k
+, future
+, pytestCheckHook
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "pysmart-smartx";
+  version = "0.3.10";
+
+  src = fetchFromGitHub {
+    owner = "smartxworks";
+    repo = "pySMART";
+    rev = "v${version}";
+    sha256 = "1irl4nlgz3ds3aikraa9928gzn6hz8chfh7jnpmq2q7d2vqbdrjs";
+  };
+
+  propagatedBuildInputs = [ future ];
+
+  # tests require contextlib.nested
+  doCheck = !isPy3k;
+
+  checkInputs = [ pytestCheckHook mock ];
+
+  pythonImportsCheck = [ "pySMART" ];
+
+  meta = with lib; {
+    description = "It's a fork of pySMART with lots of bug fix and enhances";
+    homepage = "https://github.com/smartxworks/pySMART";
+    maintainers = with maintainers; [ rhoriguchi ];
+    license = licenses.gpl2Only;
+  };
+}
diff --git a/pkgs/development/python-modules/pysonos/default.nix b/pkgs/development/python-modules/pysonos/default.nix
index 704f3c44c4edc..308dd4e7f25b6 100644
--- a/pkgs/development/python-modules/pysonos/default.nix
+++ b/pkgs/development/python-modules/pysonos/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pysonos";
-  version = "0.0.40";
+  version = "0.0.43";
 
   disabled = !isPy3k;
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "amelchio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0a0c7jwv39nbvpdcx32sd8kjmj4nyrd7k0yxhpmxdnx4zr4vvzqg";
+    sha256 = "sha256-OobKlAymXXvQH6m77Uqn2eoTlWgs8EBxYIDFJ5wwMKA=";
   };
 
   propagatedBuildInputs = [ ifaddr requests xmltodict ];
diff --git a/pkgs/development/python-modules/python-picnic-api/default.nix b/pkgs/development/python-modules/python-picnic-api/default.nix
new file mode 100644
index 0000000000000..4ff18224d2d83
--- /dev/null
+++ b/pkgs/development/python-modules/python-picnic-api/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "python-picnic-api";
+  version = "1.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1axqw4bs3wa9mdac35h7r25v3i5g7v55cvyy48c4sg31dxnr4wcp";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  # Project doesn't ship tests
+  # https://github.com/MikeBrink/python-picnic-api/issues/13
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "python_picnic_api"
+  ];
+
+  meta = with lib; {
+    description = "Python wrapper for the Picnic API";
+    homepage = "https://github.com/MikeBrink/python-picnic-api";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-registry/default.nix b/pkgs/development/python-modules/python-registry/default.nix
new file mode 100644
index 0000000000000..44795da8ddf7c
--- /dev/null
+++ b/pkgs/development/python-modules/python-registry/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, enum-compat
+, unicodecsv
+}:
+buildPythonPackage rec {
+  pname = "python-registry";
+  version = "1.3.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "99185f67d5601be3e7843e55902d5769aea1740869b0882f34ff1bd4b43b1eb2";
+  };
+
+  propagatedBuildInputs = [
+    enum-compat
+    unicodecsv
+  ];
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "Registry"
+  ];
+
+  meta = with lib; {
+    description = "Pure Python parser for Windows Registry hives";
+    homepage = "https://github.com/williballenthin/python-registry";
+    license = licenses.asl20;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/pytube/default.nix b/pkgs/development/python-modules/pytube/default.nix
index 9f32da55ff1e1..8bcfa8b6c7d96 100644
--- a/pkgs/development/python-modules/pytube/default.nix
+++ b/pkgs/development/python-modules/pytube/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pytube";
-  version = "10.7.1";
+  version = "10.7.2";
 
   disabled = pythonOlder "3.6";
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "pytube";
     repo = "pytube";
     rev = "v${version}";
-    sha256 = "sha256-a9MYEQFJXfPXYkWiuZkjt/PGs73Dm5614/Xvv6Nn8RA=";
+    sha256 = "sha256-85pHzfQYyqwX8mQ5msIojM/0FSfeaC12KJw4mXmji3g=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pyturbojpeg/default.nix b/pkgs/development/python-modules/pyturbojpeg/default.nix
index cb74224770d9a..abfc34e6481b0 100644
--- a/pkgs/development/python-modules/pyturbojpeg/default.nix
+++ b/pkgs/development/python-modules/pyturbojpeg/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "pyturbojpeg";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchPypi {
     pname = "PyTurboJPEG";
     inherit version;
-    sha256 = "sha256-dWmj/huCkborcShf2BT+L3ybEfgdKVIGiJnkz755xwo=";
+    sha256 = "sha256-Q7KVfR9kA32QPQFWgSSCVB5sNOmSF8y5J4dmBc14jvg=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix
index 75637acc3951c..fa3d2119ae872 100644
--- a/pkgs/development/python-modules/pyvex/default.nix
+++ b/pkgs/development/python-modules/pyvex/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.0.6281";
+  version = "9.0.6852";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-E8BYCzV71qVNRzWCCI2yTVU88JVMA08eqnIO8OtbNlM=";
+    sha256 = "sha256-O84QErqHIRYQZh9mR71opm+j7kb9a4s5f1yj0WNiJAM=";
   };
 
   propagatedBuildInputs = [
@@ -26,9 +26,8 @@ buildPythonPackage rec {
     pycparser
   ];
 
-  postPatch = ''
-    substituteInPlace pyvex_c/Makefile \
-      --replace "CC=gcc" "CC=${stdenv.cc.targetPrefix}cc"
+  preBuild = ''
+    export CC=${stdenv.cc.targetPrefix}cc
   '';
 
   # No tests are available on PyPI, GitHub release has tests
diff --git a/pkgs/development/python-modules/qiling/default.nix b/pkgs/development/python-modules/qiling/default.nix
new file mode 100644
index 0000000000000..9513280f3cfab
--- /dev/null
+++ b/pkgs/development/python-modules/qiling/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, capstone
+, unicorn
+, pefile
+, python-registry
+, keystone-engine
+, pyelftools
+, gevent
+}:
+buildPythonPackage rec {
+  pname = "qiling";
+  version = "1.2.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e3ed09f9e080559e73e2a9199649b934b3594f653079d1e7da4992340c19eb64";
+  };
+
+  propagatedBuildInputs = [
+    capstone
+    unicorn
+    pefile
+    python-registry
+    keystone-engine
+    pyelftools
+    gevent
+  ];
+
+  # Tests are broken (attempt to import a file that tells you not to import it,
+  # amongst other things)
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "qiling"
+  ];
+
+  meta = with lib; {
+    description = "Qiling Advanced Binary Emulation Framework";
+    homepage = "https://qiling.io/";
+    license = licenses.gpl2Only;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/requirements-parser/default.nix b/pkgs/development/python-modules/requirements-parser/default.nix
new file mode 100644
index 0000000000000..71cb33560e05b
--- /dev/null
+++ b/pkgs/development/python-modules/requirements-parser/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, nose
+}:
+buildPythonPackage rec {
+  pname = "requirements-parser";
+  version = "0.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5963ee895c2d05ae9f58d3fc641082fb38021618979d6a152b6b1398bd7d4ed4";
+  };
+
+  checkInputs = [
+    nose
+  ];
+
+  checkPhase = ''
+    nosetests
+  '';
+
+  pythonImportsCheck = [
+    "requirements"
+  ];
+
+  meta = with lib; {
+    description = "A Pip requirements file parser";
+    homepage = "https://github.com/davidfischer/requirements-parser";
+    license = licenses.bsd2;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/rokuecp/default.nix b/pkgs/development/python-modules/rokuecp/default.nix
new file mode 100644
index 0000000000000..baf12741b8739
--- /dev/null
+++ b/pkgs/development/python-modules/rokuecp/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, aiohttp
+, xmltodict
+, yarl
+, aresponses
+, pytest-asyncio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "rokuecp";
+  version = "0.8.1";
+
+  src = fetchFromGitHub {
+    owner = "ctalkington";
+    repo = "python-rokuecp";
+    rev = version;
+    sha256 = "02mbmwljcvqj3ksj2irdm8849lcxzwa6fycgjqb0i75cgidxpans";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    xmltodict
+    yarl
+  ];
+
+  checkInputs = [
+    aresponses
+    pytestCheckHook
+    pytest-asyncio
+  ];
+
+  meta = with lib; {
+    description = "Asynchronous Python client for Roku (ECP)";
+    homepage = "https://github.com/ctalkington/python-rokuecp";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/pkgs/development/python-modules/sagemaker/default.nix b/pkgs/development/python-modules/sagemaker/default.nix
index f0e7b6233dd33..d227b7f8c6569 100644
--- a/pkgs/development/python-modules/sagemaker/default.nix
+++ b/pkgs/development/python-modules/sagemaker/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "sagemaker";
-  version = "2.35.0";
+  version = "2.37.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-12YYUZbctM6oRaC7Sr/hOghAM+s/Cdm5XWHaVU5Gg6Q=";
+    sha256 = "sha256-96RDi32NHfhFvPeVRhG32EDQJTiwOXEwtSmFZGVBVk0=";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/saneyaml/default.nix b/pkgs/development/python-modules/saneyaml/default.nix
new file mode 100644
index 0000000000000..e92e464a9c916
--- /dev/null
+++ b/pkgs/development/python-modules/saneyaml/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, setuptools-scm
+, pyyaml
+, pytestCheckHook
+}:
+buildPythonPackage rec {
+  pname = "saneyaml";
+  version = "0.5.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "d6074f1959041342ab41d74a6f904720ffbcf63c94467858e0e22e17e3c43d41";
+  };
+
+  dontConfigure = true;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    pyyaml
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "saneyaml"
+  ];
+
+  meta = with lib; {
+    description = "A PyYaml wrapper with sane behaviour to read and write readable YAML safely";
+    homepage = "https://github.com/nexB/saneyaml";
+    license = licenses.asl20;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/scancode-toolkit/default.nix b/pkgs/development/python-modules/scancode-toolkit/default.nix
new file mode 100644
index 0000000000000..f27a2d40bf3df
--- /dev/null
+++ b/pkgs/development/python-modules/scancode-toolkit/default.nix
@@ -0,0 +1,122 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, isPy3k
+, markupsafe
+, click
+, typecode
+, gemfileparser
+, pefile
+, fingerprints
+, spdx-tools
+, fasteners
+, pycryptodome
+, urlpy
+, dparse
+, jaraco_functools
+, pkginfo
+, debian-inspector
+, extractcode
+, ftfy
+, pyahocorasick
+, colorama
+, jsonstreams
+, packageurl-python
+, pymaven-patch
+, nltk
+, pygments
+, bitarray
+, jinja2
+, javaproperties
+, boolean-py
+, license-expression
+, extractcode-7z
+, extractcode-libarchive
+, typecode-libmagic
+, pytestCheckHook
+}:
+buildPythonPackage rec {
+  pname = "scancode-toolkit";
+  version = "21.3.31";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "7e0301031a302dedbb4304a91249534f3d036f84a119170b8a9fe70bd57cff95";
+  };
+
+  dontConfigure = true;
+
+  # https://github.com/nexB/scancode-toolkit/issues/2501
+  # * dparse2 is a "Temp fork for Python 2 support", but pdfminer requires
+  # Python 3, so it's "fine" to leave dparse2 unpackaged and use the "normal"
+  # version
+  # * ftfy was pinned for similar reasons (to support Python 2), but rather than
+  # packaging an older version, I figured it would be better to remove the
+  # erroneous (at least for our usage) version bound
+  # * bitarray's version bound appears to be unnecessary for similar reasons
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "dparse2" "dparse" \
+      --replace "ftfy <  5.0.0" "ftfy" \
+      --replace "bitarray >= 0.8.1, < 1.0.0" "bitarray"
+  '';
+
+  propagatedBuildInputs = [
+    markupsafe
+    click
+    typecode
+    gemfileparser
+    pefile
+    fingerprints
+    spdx-tools
+    fasteners
+    pycryptodome
+    urlpy
+    dparse
+    jaraco_functools
+    pkginfo
+    debian-inspector
+    extractcode
+    ftfy
+    pyahocorasick
+    colorama
+    jsonstreams
+    packageurl-python
+    pymaven-patch
+    nltk
+    pygments
+    bitarray
+    jinja2
+    javaproperties
+    boolean-py
+    license-expression
+    extractcode-7z
+    extractcode-libarchive
+    typecode-libmagic
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  # Importing scancode needs a writeable home, and preCheck happens in between
+  # pythonImportsCheckPhase and pytestCheckPhase.
+  postInstall = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  pythonImportsCheck = [
+    "scancode"
+  ];
+
+  # takes a long time and doesn't appear to do anything
+  dontStrip = true;
+
+  meta = with lib; {
+    description = "A tool to scan code for license, copyright, package and their documented dependencies and other interesting facts";
+    homepage = "https://github.com/nexB/scancode-toolkit";
+    license = with licenses; [ asl20 cc-by-40 ];
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/sendgrid/default.nix b/pkgs/development/python-modules/sendgrid/default.nix
index 704549e987d7b..911983691013b 100644
--- a/pkgs/development/python-modules/sendgrid/default.nix
+++ b/pkgs/development/python-modules/sendgrid/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "sendgrid";
-  version = "6.6.0";
+  version = "6.7.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "sendgrid-python";
     rev = version;
-    sha256 = "sha256-R9ASHDIGuPRh4yf0FAlpjUZ6QAakYs35EFSqAPc02Q8=";
+    sha256 = "sha256-Y0h5Aiu85/EWCmSc+eCtK6ZaPuu/LYZiwhXOx0XhfwQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/slack-sdk/default.nix b/pkgs/development/python-modules/slack-sdk/default.nix
index 195bd720615c9..9044ce19b5d87 100644
--- a/pkgs/development/python-modules/slack-sdk/default.nix
+++ b/pkgs/development/python-modules/slack-sdk/default.nix
@@ -21,14 +21,14 @@
 
 buildPythonPackage rec {
   pname = "slack-sdk";
-  version = "3.4.2";
+  version = "3.5.0";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
     owner = "slackapi";
     repo = "python-slack-sdk";
     rev = "v${version}";
-    sha256 = "sha256-AbQqe6hCy6Ke5lwKHFWLJlXv7HdDApYYK++SPNQ2Nxg=";
+    sha256 = "sha256-5ZBaF/6p/eOWjAmo+IlF9zCb9xBr2bP6suPZblRogUg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/slackclient/default.nix b/pkgs/development/python-modules/slackclient/default.nix
index 4a3c292721868..cf7b161261ed3 100644
--- a/pkgs/development/python-modules/slackclient/default.nix
+++ b/pkgs/development/python-modules/slackclient/default.nix
@@ -18,7 +18,7 @@
 }:
 
 buildPythonPackage rec {
-  pname = "python-slackclient";
+  pname = "slackclient";
   version = "2.9.3";
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/snapcast/default.nix b/pkgs/development/python-modules/snapcast/default.nix
index 702b0e3e365e4..95d162b7f3200 100644
--- a/pkgs/development/python-modules/snapcast/default.nix
+++ b/pkgs/development/python-modules/snapcast/default.nix
@@ -1,24 +1,31 @@
 { lib
 , buildPythonPackage
 , construct
-, fetchPypi
+, fetchFromGitHub
 , isPy3k
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "snapcast";
-  version = "2.1.2";
+  version = "2.1.3";
   disabled = !isPy3k;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-ILBleqxEO7wTxAw/fvDW+4O4H4XWV5m5WWtaNeRBr4g=";
+  src = fetchFromGitHub {
+    owner = "happyleavesaoc";
+    repo = "python-snapcast";
+    rev = version;
+    sha256 = "1jigdccdd7bffszim942mxcwxyznfjx7y3r5yklz3psl7zgbzd6c";
   };
 
-  propagatedBuildInputs = [ construct ];
+  propagatedBuildInputs = [
+    construct
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  # no checks from Pypi - https://github.com/happyleavesaoc/python-snapcast/issues/23
-  doCheck = false;
   pythonImportsCheck = [ "snapcast" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/sparklines/default.nix b/pkgs/development/python-modules/sparklines/default.nix
new file mode 100644
index 0000000000000..9913cafdbc183
--- /dev/null
+++ b/pkgs/development/python-modules/sparklines/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, future
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "sparklines";
+  version = "0.4.2";
+
+  src = fetchFromGitHub {
+    owner = "deeplook";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1hfxp5c4wbyddy7fgmnda819w3dia3i6gqb2323dr2z016p84r7l";
+  };
+
+  propagatedBuildInputs = [ future ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "sparklines" ];
+
+  meta = with lib; {
+    description = "This Python package implements Edward Tufte's concept of sparklines, but limited to text only";
+    homepage = "https://github.com/deeplook/sparklines";
+    maintainers = with maintainers; [ rhoriguchi ];
+    license = licenses.gpl3Only;
+  };
+}
diff --git a/pkgs/development/python-modules/spdx-tools/default.nix b/pkgs/development/python-modules/spdx-tools/default.nix
new file mode 100644
index 0000000000000..53d6d51d2d280
--- /dev/null
+++ b/pkgs/development/python-modules/spdx-tools/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fetchpatch
+, six
+, pyyaml
+, rdflib
+, ply
+, xmltodict
+, pytestCheckHook
+, pythonAtLeast
+}:
+buildPythonPackage rec {
+  pname = "spdx-tools";
+  version = "0.6.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "9a1aaae051771e865705dd2fd374c3f73d0ad595c1056548466997551cbd7a81";
+  };
+
+  patches = lib.optionals (pythonAtLeast "3.9") [
+    # https://github.com/spdx/tools-python/pull/159
+    # fixes tests on Python 3.9
+    (fetchpatch {
+      name = "drop-encoding-argument.patch";
+      url = "https://github.com/spdx/tools-python/commit/6c8b9a852f8a787122c0e2492126ee8aa52acff0.patch";
+      sha256 = "RhvLhexsQRjqYqJg10SAM53RsOW+R93G+mns8C9g5E8=";
+    })
+  ];
+
+  propagatedBuildInputs = [
+    six
+    pyyaml
+    rdflib
+    ply
+    xmltodict
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "spdx"
+  ];
+
+  meta = with lib; {
+    description = "SPDX parser and tools";
+    homepage = "https://github.com/spdx/tools-python";
+    license = licenses.asl20;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/sphinx-material/default.nix b/pkgs/development/python-modules/sphinx-material/default.nix
new file mode 100644
index 0000000000000..aa6dc0d6bf18f
--- /dev/null
+++ b/pkgs/development/python-modules/sphinx-material/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, sphinx
+, beautifulsoup4
+, python-slugify
+, unidecode
+, css-html-js-minify
+, lxml
+}:
+
+buildPythonPackage rec {
+  pname = "sphinx-material";
+  version = "0.0.32";
+
+  src = fetchPypi {
+    pname = "sphinx_material";
+    inherit version;
+    sha256 = "ec02825a1bbe8b662fe624c11b87f1cd8d40875439b5b18c38649cf3366201fa";
+  };
+
+  propagatedBuildInputs = [
+    sphinx
+    beautifulsoup4
+    python-slugify
+    unidecode
+    css-html-js-minify
+    lxml
+  ];
+
+  doCheck = false; # no tests
+
+  pythonImportsCheck = [ "sphinx_material" ];
+
+  meta = with lib; {
+    description = "A material-based, responsive theme inspired by mkdocs-material";
+    homepage = "https://bashtage.github.io/sphinx-material";
+    license = licenses.mit;
+    maintainers = with maintainers; [ FlorianFranzen ];
+  };
+}
diff --git a/pkgs/development/python-modules/sphinx-serve/default.nix b/pkgs/development/python-modules/sphinx-serve/default.nix
new file mode 100644
index 0000000000000..ca2b587e3acc0
--- /dev/null
+++ b/pkgs/development/python-modules/sphinx-serve/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "sphinx-serve";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "8d90f6595114108500b1f935d3f4d07bf5192783c67ce83f944ef289099669c9";
+  };
+
+  doCheck = false; # No tests
+
+  pythonImportsCheck = [ "sphinx_serve" ];
+
+  meta = with lib; {
+    description = "Spawns a simple HTTP server to preview your sphinx documents";
+    homepage = "https://github.com/tlatsas/sphinx-serve";
+    maintainers = with maintainers; [ FlorianFranzen ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/survey/default.nix b/pkgs/development/python-modules/survey/default.nix
index 99a2d85aaa2b3..34b1eed172795 100644
--- a/pkgs/development/python-modules/survey/default.nix
+++ b/pkgs/development/python-modules/survey/default.nix
@@ -1,16 +1,19 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
 , wrapio
 }:
 
 buildPythonPackage rec {
   pname = "survey";
-  version = "3.4.2";
+  version = "3.4.3";
+
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-aF7ZS5oxeIOb7mJsrusdc3HefcPE+3OTXcJB/pjJxFY=";
+    sha256 = "sha256-TK89quY3bpNIEz1n3Ecew4FnTH6QgeSLdDNV86gq7+I=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/tailer/default.nix b/pkgs/development/python-modules/tailer/default.nix
new file mode 100644
index 0000000000000..b8e19b7d97d83
--- /dev/null
+++ b/pkgs/development/python-modules/tailer/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "tailer";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "six8";
+    repo = "pytailer";
+    rev = version;
+    sha256 = "1s5p5m3q9k7r1m0wx5wcxf20xzs0rj14qwg1ydwhf6adr17y2w5y";
+  };
+
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} -m doctest -v src/tailer/__init__.py
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [ "tailer" ];
+
+  meta = with lib; {
+    description = "Python implementation implementation of GNU tail and head";
+    homepage = "https://github.com/six8/pytailer";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/telfhash/default.nix b/pkgs/development/python-modules/telfhash/default.nix
new file mode 100644
index 0000000000000..a7aca8866ed7d
--- /dev/null
+++ b/pkgs/development/python-modules/telfhash/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, capstone
+, pyelftools
+, tlsh
+, nose
+}:
+buildPythonPackage {
+  pname = "telfhash";
+  version = "unstable-2021-01-29";
+
+  src = fetchFromGitHub {
+    owner = "trendmicro";
+    repo = "telfhash";
+    rev = "b5e398e59dc25a56a28861751c1fccc74ef71617";
+    sha256 = "jNu6qm8Q/UyJVaCqwFOPX02xAR5DwvCK3PaH6Fvmakk=";
+  };
+
+  # The tlsh library's name is just "tlsh"
+  postPatch = ''
+    substituteInPlace requirements.txt --replace "python-tlsh" "tlsh"
+  '';
+
+  propagatedBuildInputs = [
+    capstone
+    pyelftools
+    tlsh
+  ];
+
+  checkInputs = [
+    nose
+  ];
+
+  checkPhase = ''
+    nosetests
+  '';
+
+  pythonImportsCheck = [
+    "telfhash"
+  ];
+
+  meta = with lib; {
+    description = "Symbol hash for ELF files";
+    homepage = "https://github.com/trendmicro/telfhash";
+    license = licenses.asl20;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/tensorflow/bin.nix b/pkgs/development/python-modules/tensorflow/bin.nix
index ef6d4f45ef9b0..7b9cbf1f99005 100644
--- a/pkgs/development/python-modules/tensorflow/bin.nix
+++ b/pkgs/development/python-modules/tensorflow/bin.nix
@@ -96,10 +96,19 @@ in buildPythonPackage {
     # Unpack the wheel file.
     wheel unpack --dest unpacked ./*.whl
 
-    # Tensorflow has a hard dependency on gast==0.2.2, but we relax it to
-    # gast==0.3.2.
-    substituteInPlace ./unpacked/tensorflow*/tensorflow_core/tools/pip_package/setup.py --replace "gast == 0.2.2" "gast == 0.3.2"
-    substituteInPlace ./unpacked/tensorflow*/tensorflow_*.dist-info/METADATA --replace "gast (==0.2.2)" "gast (==0.3.2)"
+    # Tensorflow wheels tightly constrain the versions of gast, tensorflow-estimator and scipy.
+    # This code relaxes these requirements:
+    substituteInPlace ./unpacked/tensorflow*/tensorflow_core/tools/pip_package/setup.py \
+      --replace "tensorflow_estimator >= 2.1.0rc0, < 2.2.0" "tensorflow_estimator" \
+      --replace "tensorboard >= 2.1.0, < 2.2.0" "tensorboard" \
+      --replace "gast == 0.2.2" "gast"  \
+      --replace "scipy == 1.2.2" "scipy"
+
+    substituteInPlace ./unpacked/tensorflow*/tensorflow*.dist-info/METADATA  \
+      --replace "gast (==0.2.2)" "gast" \
+      --replace "tensorflow-estimator (<2.2.0,>=2.1.0rc0)" "tensorflow_estimator" \
+      --replace "tensorboard (<2.2.0,>=2.1.0)" "tensorboard" \
+      --replace "scipy (==1.4.1)" "scipy"
 
     # Pack the wheel file back up.
     wheel pack ./unpacked/tensorflow*
diff --git a/pkgs/development/python-modules/tern/default.nix b/pkgs/development/python-modules/tern/default.nix
new file mode 100644
index 0000000000000..6247087dd670c
--- /dev/null
+++ b/pkgs/development/python-modules/tern/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pyyaml
+, docker
+, dockerfile-parse
+, requests
+, stevedore
+, pbr
+, debut
+, regex
+, GitPython
+, prettytable
+, idna
+}:
+buildPythonPackage rec {
+  pname = "tern";
+  version = "2.5.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "606c62944991b2cbcccf3f5353be693305d6d7d318c3865b9ecca49dbeab2727";
+  };
+
+  preBuild = ''
+    cp requirements.{in,txt}
+  '';
+
+  nativeBuildInputs = [
+    pbr
+  ];
+
+  propagatedBuildInputs = [
+    pyyaml
+    docker
+    dockerfile-parse
+    requests
+    stevedore
+    debut
+    regex
+    GitPython
+    prettytable
+    idna
+  ];
+
+  # No tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "tern"
+  ];
+
+  meta = with lib; {
+    description = "A software composition analysis tool and Python library that generates a Software Bill of Materials for container images and Dockerfiles";
+    homepage = "https://github.com/tern-tools/tern";
+    license = licenses.bsd2;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/tqdm/default.nix b/pkgs/development/python-modules/tqdm/default.nix
index 70893dc541f00..ae89b3ee0b07d 100644
--- a/pkgs/development/python-modules/tqdm/default.nix
+++ b/pkgs/development/python-modules/tqdm/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "tqdm";
-  version = "4.58.0";
+  version = "4.60.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1fjvaag1wy70gglxjkfnn0acrya7fbhzi4adbs1bpap8x03wffn2";
+    sha256 = "ebdebdb95e3477ceea267decfc0784859aa3df3e27e22d23b83e9b272bf157ae";
   };
 
   nativeBuildInputs = [
@@ -39,14 +39,19 @@ buildPythonPackage rec {
 
   # Remove performance testing.
   # Too sensitive for on Hydra.
-  PYTEST_ADDOPTS = "-k \"not perf\"";
+  disabledTests = [
+    "perf"
+  ];
 
   LC_ALL="en_US.UTF-8";
 
-  meta = {
+  pythonImportsCheck = [ "tqdm" ];
+
+  meta = with lib; {
     description = "A Fast, Extensible Progress Meter";
     homepage = "https://github.com/tqdm/tqdm";
-    license = with lib.licenses; [ mit ];
-    maintainers = with lib.maintainers; [ fridh ];
+    changelog = "https://tqdm.github.io/releases/";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/twitterapi/default.nix b/pkgs/development/python-modules/twitterapi/default.nix
index 11f596e01d07e..316709c204131 100644
--- a/pkgs/development/python-modules/twitterapi/default.nix
+++ b/pkgs/development/python-modules/twitterapi/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "twitterapi";
-  version = "2.7.1";
+  version = "2.7.2";
 
   src = fetchFromGitHub {
     owner = "geduldig";
     repo = "TwitterAPI";
     rev = "v${version}";
-    sha256 = "sha256-fLexFlnoh58b9q4mo9atGQmMttKytTfAYmaPj6xmPj8=";
+    sha256 = "sha256-kSL+zAWn/6itBu4T1OcIbg4k5Asatgz/dqzbnlcsqkg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/typecode/default.nix b/pkgs/development/python-modules/typecode/default.nix
new file mode 100644
index 0000000000000..c1208193f017b
--- /dev/null
+++ b/pkgs/development/python-modules/typecode/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, setuptools-scm
+, attrs
+, pdfminer
+, commoncode
+, plugincode
+, binaryornot
+, typecode-libmagic
+, pytestCheckHook
+, pytest-xdist
+}:
+buildPythonPackage rec {
+  pname = "typecode";
+  version = "21.2.24";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "eaac8aee0b9c6142ad44671252ba00748202d218347d1c0451ce6cd76561e01b";
+  };
+
+  dontConfigure = true;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    attrs
+    pdfminer
+    commoncode
+    plugincode
+    binaryornot
+    typecode-libmagic
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-xdist
+  ];
+
+  pythonImportsCheck = [
+    "typecode"
+  ];
+
+  meta = with lib; {
+    description = "Comprehensive filetype and mimetype detection using libmagic and Pygments";
+    homepage = "https://github.com/nexB/typecode";
+    license = licenses.asl20;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/typecode/libmagic.nix b/pkgs/development/python-modules/typecode/libmagic.nix
new file mode 100644
index 0000000000000..9b652e664e52e
--- /dev/null
+++ b/pkgs/development/python-modules/typecode/libmagic.nix
@@ -0,0 +1,51 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, plugincode
+, file
+, zlib
+, pytest
+}:
+buildPythonPackage rec {
+  pname = "typecode-libmagic";
+  version = "21.4.4";
+
+  src = fetchFromGitHub {
+    owner = "nexB";
+    repo = "scancode-plugins";
+    rev = "v${version}";
+    sha256 = "xnUGDMS34iMVMGo/nZwRarGzzbj3X4Rt+YHvvKpmy6A=";
+  };
+
+  sourceRoot = "source/builtins/typecode_libmagic-linux";
+
+  propagatedBuildInputs = [
+    plugincode
+  ];
+
+  preBuild = ''
+    pushd src/typecode_libmagic
+
+    rm data/magic.mgc lib/libmagic.so lib/libz-lm539.so.1
+    ln -s ${file}/share/misc/magic.mgc data/magic.mgc
+    ln -s ${file}/lib/libmagic.so lib/libmagic.so
+    ln -s ${zlib}/lib/libz.so lib/libz-lm539.so.1
+
+    popd
+  '';
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "typecode_libmagic"
+  ];
+
+  meta = with lib; {
+    description = "A ScanCode Toolkit plugin to provide pre-built binary libraries and utilities and their locations";
+    homepage = "https://github.com/nexB/scancode-plugins/tree/main/builtins/typecode_libmagic-linux";
+    license = licenses.asl20;
+    maintainers = teams.determinatesystems.members;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/unify/default.nix b/pkgs/development/python-modules/unify/default.nix
new file mode 100644
index 0000000000000..a1061ad9df91b
--- /dev/null
+++ b/pkgs/development/python-modules/unify/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, untokenize
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "unify";
+  version = "0.5";
+
+  # PyPi release is missing tests (see https://github.com/myint/unify/pull/18)
+  src = fetchFromGitHub {
+    owner = "myint";
+    repo = "unify";
+    rev = "v${version}";
+    sha256 = "1l6xxygaigacsxf0g5f7w5gpqha1ava6mcns81kqqy6vw91pyrbi";
+  };
+
+  propagatedBuildInputs = [ untokenize ];
+
+  checkPhase = "${python.interpreter} -m unittest discover";
+
+  meta = with lib; {
+    description = "Modifies strings to all use the same quote where possible";
+    homepage = "https://github.com/myint/unify";
+    license = licenses.mit;
+    maintainers = with maintainers; [ FlorianFranzen ];
+  };
+}
diff --git a/pkgs/development/python-modules/untokenize/default.nix b/pkgs/development/python-modules/untokenize/default.nix
new file mode 100644
index 0000000000000..55becfeac4e87
--- /dev/null
+++ b/pkgs/development/python-modules/untokenize/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "untokenize";
+  version = "0.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "3865dbbbb8efb4bb5eaa72f1be7f3e0be00ea8b7f125c69cbd1f5fda926f37a2";
+  };
+
+  checkPhase = "${python.interpreter} -m unittest discover";
+
+  meta = with lib; {
+    description = "Transforms tokens into original source code while preserving whitespace";
+    homepage = "https://github.com/myint/untokenize";
+    license = licenses.mit;
+    maintainers = with maintainers; [ FlorianFranzen ];
+  };
+}
diff --git a/pkgs/development/python-modules/urlpy/default.nix b/pkgs/development/python-modules/urlpy/default.nix
new file mode 100644
index 0000000000000..cd0e028c50c06
--- /dev/null
+++ b/pkgs/development/python-modules/urlpy/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, publicsuffix2
+, pytestCheckHook
+, pythonAtLeast
+}:
+buildPythonPackage rec {
+  pname = "urlpy";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "nexB";
+    repo = "urlpy";
+    rev = "v${version}";
+    sha256 = "962jLyx+/GS8wrDPzG2ONnHvtUG5Pqe6l1Z5ml63Cmg=";
+  };
+
+  dontConfigure = true;
+
+  propagatedBuildInputs = [
+    publicsuffix2
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = lib.optionals (pythonAtLeast "3.9") [
+    # Fails with "AssertionError: assert 'unknown' == ''"
+    "test_unknown_protocol"
+  ];
+
+  pythonImportsCheck = [
+    "urlpy"
+  ];
+
+  meta = with lib; {
+    description = "Simple URL parsing, canonicalization and equivalence";
+    homepage = "https://github.com/nexB/urlpy";
+    license = licenses.mit;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/viv-utils/default.nix b/pkgs/development/python-modules/viv-utils/default.nix
new file mode 100644
index 0000000000000..e94c96f72b0b6
--- /dev/null
+++ b/pkgs/development/python-modules/viv-utils/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, isPy3k
+, fetchFromGitHub
+, funcy
+, pefile
+, vivisect
+, intervaltree
+, setuptools
+}:
+buildPythonPackage rec {
+  pname = "viv-utils";
+  version = "0.3.17";
+  disabled = isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "williballenthin";
+    repo = "viv-utils";
+    rev = "v${version}";
+    sha256 = "wZWp6PMn1to/jP6lzlY/x0IhS/0w0Ys7AdklNQ+Vmyc=";
+  };
+
+  # argparse is provided by Python itself
+  preBuild = ''
+    sed '/"argparse",/d' -i setup.py
+  '';
+
+  propagatedBuildInputs = [
+    funcy
+    pefile
+    vivisect
+    intervaltree
+    setuptools
+  ];
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "viv_utils"
+  ];
+
+  meta = with lib; {
+    description = "Utilities for working with vivisect";
+    homepage = "https://github.com/williballenthin/viv-utils";
+    license = licenses.asl20;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/vivisect/default.nix b/pkgs/development/python-modules/vivisect/default.nix
new file mode 100644
index 0000000000000..0d86f2ffbd99f
--- /dev/null
+++ b/pkgs/development/python-modules/vivisect/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, isPy3k
+, fetchPypi
+, pyasn1
+, pyasn1-modules
+, cxxfilt
+, msgpack
+, pycparser
+}:
+buildPythonPackage rec {
+  pname = "vivisect";
+  version = "0.1.0";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ed5e8c24684841d30dc7b41f2bee87c0198816a453417ae2e130b7845ccb2629";
+  };
+
+  propagatedBuildInputs = [
+    pyasn1
+    pyasn1-modules
+    cxxfilt
+    msgpack
+    pycparser
+  ];
+
+  preBuild = ''
+    sed "s@==.*'@'@" -i setup.py
+  '';
+
+  # requires another repo for test files
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "vivisect"
+  ];
+
+  meta = with lib; {
+    description = "Pure python disassembler, debugger, emulator, and static analysis framework";
+    homepage = "https://github.com/vivisect/vivisect";
+    license = licenses.asl20;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/watchdog/default.nix b/pkgs/development/python-modules/watchdog/default.nix
index ef80dedeb98d5..df9586fc8e00d 100644
--- a/pkgs/development/python-modules/watchdog/default.nix
+++ b/pkgs/development/python-modules/watchdog/default.nix
@@ -2,32 +2,22 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
 , argh
 , pathtools
 , pyyaml
-, pytest-cov
 , pytestCheckHook
 , CoreServices
 }:
 
 buildPythonPackage rec {
   pname = "watchdog";
-  version = "2.0.2";
+  version = "2.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Uy/t2ZPnVVRnH6o2zQTFgM7T+uCEJUp3mvu9iq8AVms=";
+    sha256 = "sha256-QojTqYQyTbSS5XqhaWZiOKJXjwr1oIFoVSZgj7n2vWE=";
   };
 
-  patches = [
-    (fetchpatch {
-      # Fix test flakiness on Apple Silicon, remove after upgrade to 2.0.6.
-      url = "https://github.com/gorakhargosh/watchdog/commit/331fd7c2c819663be39bc146e78ce67553f265fa.patch";
-      sha256 = "sha256-pLkZmbPN3qRNHs53OP0HIyDxqYCPPo6yOcBLD3aO2YE=";
-    })
-  ];
-
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
   propagatedBuildInputs = [
@@ -37,10 +27,15 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pytest-cov
     pytestCheckHook
   ];
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=watchdog" "" \
+      --replace "--cov-report=term-missing" ""
+  '';
+
   pythonImportsCheck = [ "watchdog" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/whois/default.nix b/pkgs/development/python-modules/whois/default.nix
index 759bc0cd8ee91..ef69283e6dbf3 100644
--- a/pkgs/development/python-modules/whois/default.nix
+++ b/pkgs/development/python-modules/whois/default.nix
@@ -1,19 +1,18 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, pytestCheckHook
 , inetutils
 }:
 
 buildPythonPackage rec {
   pname = "whois";
-  version = "0.9.7";
+  version = "0.9.13";
 
   src = fetchFromGitHub {
     owner = "DannyCork";
     repo = "python-whois";
     rev = version;
-    sha256 = "1rbc4xif4dn455vc8dhxdvwszrb0nik5q9fy12db6mxfx6zikb7z";
+    sha256 = "0y2sfs6nkr2j2crrn81wkfdzn9aphb3iaddya5zd2midlgdqq7bw";
   };
 
   # whois is needed
diff --git a/pkgs/development/python-modules/woodblock/default.nix b/pkgs/development/python-modules/woodblock/default.nix
new file mode 100644
index 0000000000000..7497ad1548905
--- /dev/null
+++ b/pkgs/development/python-modules/woodblock/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, click
+, multimethod
+, numpy
+}:
+buildPythonPackage rec {
+  pname = "woodblock";
+  version = "0.1.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c0347ece920b7009d94551983a01f42db02920ca8d7b0ff36d24a337e2c937f7";
+  };
+
+  propagatedBuildInputs = [
+    click
+    multimethod
+    numpy
+  ];
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "woodblock"
+  ];
+
+  meta = with lib; {
+    description = "A framework to generate file carving test data";
+    homepage = "https://github.com/fkie-cad/woodblock";
+    license = licenses.mit;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix
index a181a6741887f..aefe3ed2b95cc 100644
--- a/pkgs/development/python-modules/xknx/default.nix
+++ b/pkgs/development/python-modules/xknx/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "xknx";
-  version = "0.18.0";
+  version = "0.18.1";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "XKNX";
     repo = pname;
     rev = version;
-    sha256 = "sha256-8g8DrFvhecdPsfiw+uKnfJOrLQeuFUziK2Jl3xKmrf4=";
+    sha256 = "sha256-Zf7Od3v54LxMofm67XHeRM4Yeg1+KQLRhFl1BihAxGc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/yeelight/default.nix b/pkgs/development/python-modules/yeelight/default.nix
index 85b282566eef0..9d435c1cce6b0 100644
--- a/pkgs/development/python-modules/yeelight/default.nix
+++ b/pkgs/development/python-modules/yeelight/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "yeelight";
-  version = "0.6.0";
+  version = "0.6.1";
   disabled = pythonOlder "3.4";
 
   src = fetchFromGitLab {
     owner = "stavros";
     repo = "python-yeelight";
     rev = "v${version}";
-    sha256 = "0yycc2pdqaa9y46jycvm0p6braps7ljg2vvljngdqj2l1a2jmv7x";
+    sha256 = "sha256-LB7A8E22hyqhVBElrOwtC3IPNkyQkU7ZJ1ScqaXQ6zs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ytmusicapi/default.nix b/pkgs/development/python-modules/ytmusicapi/default.nix
index 1f211cd2872d9..4728da51a64b8 100644
--- a/pkgs/development/python-modules/ytmusicapi/default.nix
+++ b/pkgs/development/python-modules/ytmusicapi/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "ytmusicapi";
-  version = "0.15.1";
+  version = "0.16.0";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-W/eZubJ/SNLBya1S6wLUwTwZCUD+wCQ5FAuNcSpl+9Y=";
+    sha256 = "sha256-/94/taeBI6xZ3uN/wfMnk/NPmk+j0+aaH8CAZBEsK10=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zwave-js-server-python/default.nix b/pkgs/development/python-modules/zwave-js-server-python/default.nix
new file mode 100644
index 0000000000000..61dba04a79e1f
--- /dev/null
+++ b/pkgs/development/python-modules/zwave-js-server-python/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-aiohttp
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "zwave-js-server-python";
+  version = "0.23.1";
+  disabled = pythonOlder "3.8";
+
+
+  src = fetchFromGitHub {
+    owner = "home-assistant-libs";
+    repo = pname;
+    rev = version;
+    sha256 = "0kmmhn357k22ana0ysd8jlz1fyfaqlc8k74ryaik0rrw7nmn1n11";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  checkInputs = [
+    pytest-aiohttp
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "zwave_js_server" ];
+
+  meta = with lib; {
+    description = "Python wrapper for zwave-js-server";
+    homepage = "https://github.com/home-assistant-libs/zwave-js-server-python";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index aa3ba723cf45b..8c8ea1a5ffcaf 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.148.0";
+  version = "0.149.0";
 
   src = fetchFromGitHub {
     owner  = "facebook";
     repo   = "flow";
     rev    = "refs/tags/v${version}";
-    sha256 = "sha256-DPHDuTBCsRq+u5kYHwImIXPxq04kW2HiqYsxJrun6n8=";
+    sha256 = "sha256-/pNCEsCKfYh/jo+3x7usRyPNBRJB4gDu2TAgosSw37c=";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index 1622c6168606d..e59c48f91d301 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -19,67 +19,38 @@
 , python3
 , ruby
 , lua
+, capstone
 , useX11 ? false
 , rubyBindings ? false
 , pythonBindings ? false
 , luaBindings ? false
 }:
 
-let
-  inherit (lib) optional;
-
-  #<generated>
-  # DO NOT EDIT! Automatically generated by ./update.py
-  gittap = "5.1.1";
-  gittip = "a86f8077fc148abd6443384362a3717cd4310e64";
-  rev = "5.1.1";
-  version = "5.1.1";
-  sha256 = "0hv9x31iabasj12g8f04incr1rbcdkxi3xnqn3ggp8gl4h6pf2f3";
-  cs_ver = "4.0.2";
-  cs_sha256 = "0y5g74yjyliciawpn16zhdwya7bd3d7b1cccpcccc2wg8vni1k2w";
-  #</generated>
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "radare2";
-  inherit version;
+  version = "5.2.1";
 
   src = fetchFromGitHub {
     owner = "radare";
     repo = "radare2";
-    inherit rev sha256;
+    rev = version;
+    sha256 = "0n3k190qjhdlj10fjqijx6ismz0g7fk28i83j0480cxdqgmmlbxc";
   };
 
-  postPatch =
-    let
-      capstone = fetchFromGitHub {
-        owner = "aquynh";
-        repo = "capstone";
-        # version from $sourceRoot/shlr/Makefile
-        rev = cs_ver;
-        sha256 = cs_sha256;
-      };
-    in
-    ''
-      mkdir -p build/shlr
-      cp -r ${capstone} capstone-${cs_ver}
-      chmod -R +w capstone-${cs_ver}
-      tar -czvf shlr/capstone-${cs_ver}.tar.gz capstone-${cs_ver}
-    '';
-
   postInstall = ''
     install -D -m755 $src/binr/r2pm/r2pm $out/bin/r2pm
   '';
 
   WITHOUT_PULL = "1";
   makeFlags = [
-    "GITTAP=${gittap}"
-    "GITTIP=${gittip}"
+    "GITTAP=${version}"
     "RANLIB=${stdenv.cc.bintools.bintools}/bin/${stdenv.cc.bintools.targetPrefix}ranlib"
   ];
   configureFlags = [
     "--with-sysmagic"
     "--with-syszip"
     "--with-sysxxhash"
+    "--with-syscapstone"
     "--with-openssl"
   ];
 
@@ -87,11 +58,20 @@ stdenv.mkDerivation {
   depsBuildBuild = [ buildPackages.stdenv.cc ];
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ file readline libusb-compat-0_1 libewf perl zlib openssl libuv ]
-    ++ optional useX11 [ gtkdialog vte gtk2 ]
-    ++ optional rubyBindings [ ruby ]
-    ++ optional pythonBindings [ python3 ]
-    ++ optional luaBindings [ lua ];
+  buildInputs = [
+    capstone
+    file
+    readline
+    libusb-compat-0_1
+    libewf
+    perl
+    zlib
+    openssl
+    libuv
+  ] ++ lib.optional useX11 [ gtkdialog vte gtk2 ]
+    ++ lib.optional rubyBindings [ ruby ]
+    ++ lib.optional pythonBindings [ python3 ]
+    ++ lib.optional luaBindings [ lua ];
 
   propagatedBuildInputs = [
     # radare2 exposes r_lib which depends on these libraries
diff --git a/pkgs/development/tools/analysis/radare2/update.py b/pkgs/development/tools/analysis/radare2/update.py
deleted file mode 100755
index a860d226df279..0000000000000
--- a/pkgs/development/tools/analysis/radare2/update.py
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -p nix -p python3 -p git -i python
-# USAGE - just run the script: ./update.py
-# When editing this file, make also sure it passes the mypy typecheck
-# and is formatted with black.
-import fileinput
-import json
-import xml.etree.ElementTree as ET
-from urllib.parse import urlparse
-import re
-import subprocess
-import tempfile
-import urllib.request
-from datetime import datetime
-from pathlib import Path
-from typing import Dict
-
-SCRIPT_DIR = Path(__file__).parent.resolve()
-
-
-def sh(*args: str) -> str:
-    out = subprocess.check_output(list(args))
-    return out.strip().decode("utf-8")
-
-
-def prefetch_github(owner: str, repo: str, ref: str) -> str:
-    return sh(
-        "nix-prefetch-url",
-        "--unpack",
-        f"https://github.com/{owner}/{repo}/archive/{ref}.tar.gz",
-    )
-
-
-def get_radare2_rev() -> str:
-    feed_url = "https://github.com/radareorg/radare2/releases.atom"
-    with urllib.request.urlopen(feed_url) as resp:
-        tree = ET.fromstring(resp.read())
-    releases = tree.findall(".//{http://www.w3.org/2005/Atom}entry")
-    for release in releases:
-        link = release.find("{http://www.w3.org/2005/Atom}link")
-        assert link is not None
-        url = urlparse(link.attrib["href"])
-        tag = url.path.split("/")[-1]
-        if re.match(r"[0-9.]+", tag):
-            return tag
-        else:
-            print(f"ignore {tag}")
-    raise RuntimeError(f"No release found at {feed_url}")
-
-
-def git(dirname: str, *args: str) -> str:
-    return sh("git", "-C", dirname, *args)
-
-
-def get_repo_info(dirname: str, rev: str) -> Dict[str, str]:
-    sha256 = prefetch_github("radare", "radare2", rev)
-
-    cs_ver = None
-    with open(Path(dirname).joinpath("shlr", "Makefile")) as makefile:
-        for l in makefile:
-            match = re.match("CS_VER=(\S+)", l)
-            if match:
-                cs_ver = match.group(1)
-    assert cs_ver is not None
-
-    cs_sha256 = prefetch_github("aquynh", "capstone", cs_ver)
-
-    return dict(
-        rev=rev,
-        sha256=sha256,
-        version_commit=git(dirname, "rev-list", "--all", "--count"),
-        gittap=git(dirname, "describe", "--tags", "--match", "[0-9]*"),
-        gittip=git(dirname, "rev-parse", "HEAD"),
-        cs_ver=cs_ver,
-        cs_sha256=cs_sha256,
-    )
-
-
-def main() -> None:
-    version = get_radare2_rev()
-
-    with tempfile.TemporaryDirectory() as dirname:
-        git(
-            dirname,
-            "clone",
-            "--branch",
-            version,
-            "https://github.com/radare/radare2",
-            ".",
-        )
-        nix_file = str(SCRIPT_DIR.joinpath("default.nix"))
-
-        info = get_repo_info(dirname, version)
-
-        timestamp = git(dirname, "log", "-n1", "--format=%at")
-
-        in_block = False
-        with fileinput.FileInput(nix_file, inplace=True) as f:
-            for l in f:
-                if "#<generated>" in l:
-                    in_block = True
-                    print(
-                        f"""  #<generated>
-  # DO NOT EDIT! Automatically generated by ./update.py
-  gittap = "{info["gittap"]}";
-  gittip = "{info["gittip"]}";
-  rev = "{info["rev"]}";
-  version = "{version}";
-  sha256 = "{info["sha256"]}";
-  cs_ver = "{info["cs_ver"]}";
-  cs_sha256 = "{info["cs_sha256"]}";
-  #</generated>"""
-                    )
-                elif "#</generated>" in l:
-                    in_block = False
-                elif not in_block:
-                    print(l, end="")
-
-
-if __name__ == "__main__":
-    main()
diff --git a/pkgs/development/tools/azcopy/default.nix b/pkgs/development/tools/azcopy/default.nix
index 6b94ed0a93f4b..0be3f5c0b7eff 100644
--- a/pkgs/development/tools/azcopy/default.nix
+++ b/pkgs/development/tools/azcopy/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "azure-storage-azcopy";
-  version = "10.9.0";
+  version = "10.10.0";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = "azure-storage-azcopy";
     rev = "v${version}";
-    sha256 = "sha256-IVbvBqp/7Y3La0pP6gbWl0ATfEvkCuR4J9ChTDPNhB0=";
+    sha256 = "sha256-gWU219QlV+24RxnTHqQzQeGZHzVwmBXNKU+3QI6WvHI=";
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-mj1TvNuFFPJGAJCBTQtU5WWPhHbiXUxRiMZQ/XvEy0U=";
+  vendorSha256 = "sha256-d965Rt8W74bsIZAZPZLe3twuUpp4wrnNc0qwjsKikOE=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/build-managers/buck/default.nix b/pkgs/development/tools/build-managers/buck/default.nix
index 0fbcb95704b05..c275d5bc30a17 100644
--- a/pkgs/development/tools/build-managers/buck/default.nix
+++ b/pkgs/development/tools/build-managers/buck/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, jdk, ant, python2, python2Packages, watchman, bash, makeWrapper }:
+{ lib, stdenv, fetchFromGitHub, jdk11, ant, python3, watchman, bash, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "buck";
-  version = "2019.10.17.01";
+  version = "2021.01.12.01";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1irgp8yq1z11bq3b83yxvj35wqqq7y7b8q4d4y0hc05ac19ja0vj";
+    sha256 = "sha256-NFiMQ+cG93R10LlkfUMzZ4TnV0uO5G+8S5TiMI6hU5o=";
   };
 
   patches = [ ./pex-mtime.patch ];
@@ -17,20 +17,21 @@ stdenv.mkDerivation rec {
     grep -l -r '/bin/bash' --null | xargs -0 sed -i -e "s!/bin/bash!${bash}/bin/bash!g"
   '';
 
-  buildInputs = [ jdk ant python2 watchman python2Packages.pywatchman ];
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper python3 jdk11 ant watchman ];
 
   buildPhase = ''
+    # Set correct version, see https://github.com/facebook/buck/issues/2607
+    echo v${version} > .buckrelease
+
     ant
 
     PYTHONDONTWRITEBYTECODE=true ./bin/buck build -c buck.release_version=${version} buck
   '';
 
   installPhase = ''
-    install -D -m755 buck-out/gen/programs/buck.pex $out/bin/buck
+    install -D -m755 buck-out/gen/*/programs/buck.pex $out/bin/buck
     wrapProgram $out/bin/buck \
-      --prefix PYTHONPATH : $PYTHONPATH \
-      --prefix PATH : "${lib.makeBinPath [jdk watchman]}"
+      --prefix PATH : "${lib.makeBinPath [ jdk11 watchman python3 ]}"
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/build-managers/tup/default.nix b/pkgs/development/tools/build-managers/tup/default.nix
index f0e6efdca3e9c..85bf919f778f1 100644
--- a/pkgs/development/tools/build-managers/tup/default.nix
+++ b/pkgs/development/tools/build-managers/tup/default.nix
@@ -1,6 +1,8 @@
-{ lib, stdenv, fetchFromGitHub, fuse3, pkg-config, pcre }:
+{ lib, stdenv, fetchFromGitHub, fuse3, macfuse-stubs, pkg-config, pcre }:
 
-stdenv.mkDerivation rec {
+let
+  fuse = if stdenv.isDarwin then macfuse-stubs else fuse3;
+in stdenv.mkDerivation rec {
   pname = "tup";
   version = "0.7.10";
   outputs = [ "bin" "man" "out" ];
@@ -13,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ fuse3 pcre ];
+  buildInputs = [ fuse pcre ];
 
   configurePhase = ''
     sed -i 's/`git describe`/v${version}/g' src/tup/link.sh
@@ -50,6 +52,13 @@ stdenv.mkDerivation rec {
     homepage = "http://gittup.org/tup/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ ehmry ];
-    platforms = platforms.linux ++ platforms.darwin;
+    platforms = platforms.unix;
+
+    # TODO: Remove once nixpkgs uses newer SDKs that supports '*at' functions.
+    # Probably MacOS SDK 10.13 or later. Check the current version in
+    # ../../../../os-specific/darwin/apple-sdk/default.nix
+    #
+    # https://github.com/gittup/tup/commit/3697c74
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/tools/clj-kondo/default.nix b/pkgs/development/tools/clj-kondo/default.nix
index 5539489afb02d..5484652d384d4 100644
--- a/pkgs/development/tools/clj-kondo/default.nix
+++ b/pkgs/development/tools/clj-kondo/default.nix
@@ -2,17 +2,17 @@
 
 stdenv.mkDerivation rec {
   pname = "clj-kondo";
-  version = "2021.02.13";
+  version = "2021.03.31";
 
   reflectionJson = fetchurl {
     name = "reflection.json";
-    url = "https://raw.githubusercontent.com/borkdude/${pname}/v${version}/reflection.json";
-    sha256 = "ea5c18586fd8803b138a4dd197a0019d5e5a2c76ebe4925b9b54a10125a68c57";
+    url = "https://raw.githubusercontent.com/clj-kondo/${pname}/v${version}/reflection.json";
+    sha256 = "sha256-C4QYk5lLienCHKnWXXZPcKmsCTMtIIkXOkvCrZfyIhA=";
   };
 
   src = fetchurl {
-    url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "sha256-Rq7W5sP9nRB0TGRUSQIyC3U568uExmcM/gd+1HjAqac=";
+    url = "https://github.com/clj-kondo/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
+    sha256 = "sha256-XSs0u758wEuaqZvFIevBrL61YNPUJ9Sc1DS+O9agj94=";
   };
 
   dontUnpack = true;
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A linter for Clojure code that sparks joy";
-    homepage = "https://github.com/borkdude/clj-kondo";
+    homepage = "https://github.com/clj-kondo/clj-kondo";
     license = licenses.epl10;
     platforms = graalvm11-ce.meta.platforms;
     maintainers = with maintainers; [ jlesquembre bandresen ];
diff --git a/pkgs/development/tools/cloud-nuke/default.nix b/pkgs/development/tools/cloud-nuke/default.nix
index 9085be1428484..6254ec0a2c210 100644
--- a/pkgs/development/tools/cloud-nuke/default.nix
+++ b/pkgs/development/tools/cloud-nuke/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cloud-nuke";
-  version = "0.1.28";
+  version = "0.1.29";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-UssjIix2sFLqau5PMFNDP9XPCSNUdRO6aBixIQNtSy8=";
+    sha256 = "sha256-RPlEFajIjEBKdL97xjQP6r3AAcCQlxw2Il8nkSjxa+k=";
   };
 
   vendorSha256 = "sha256-pl3dLisu4Oc77kgfuteKbsZaDzrHo1wUigZEkM4081Q=";
diff --git a/pkgs/development/tools/continuous-integration/github-runner/default.nix b/pkgs/development/tools/continuous-integration/github-runner/default.nix
index e453a78dec4bf..b03dcc89d447f 100644
--- a/pkgs/development/tools/continuous-integration/github-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/github-runner/default.nix
@@ -20,7 +20,7 @@
 }:
 let
   pname = "github-actions-runner";
-  version = "2.277.1";
+  version = "2.278.0";
 
   deps = (import ./deps.nix { inherit fetchurl; });
   nugetPackages = map
@@ -80,8 +80,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "actions";
     repo = "runner";
-    rev = "183a3dd9a0d4d51feddc5fe9fa6c3b5f8b08343d"; # v${version}
-    sha256 = "sha256-fQH4QwdR8E76ckUjMCaKOsDjNoVBIWAw2YcFRrVucX8=";
+    rev = "62d926efce35d3ea16d7624a25aaa5b300737def"; # v${version}
+    sha256 = "sha256-KAb14739DYnuNIf7ZNZk5CShye6XFGn8aLu8BAcuT/c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index eeffee057d4a5..d03d59edb1fcb 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 = "13.10.0";
+  version = "13.11.0";
   # 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}/helper-images/prebuilt-x86_64.tar.xz";
-    sha256 = "0lw087xcbzf4d68mq0h0s31na7lww2d9nv43icw9qx05aknlcddv";
+    sha256 = "1vmj7vxz1a4js9kqz7mm6xgnkmb37c1jbx2lwsq2qkrybkxfcw8k";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz";
-    sha256 = "1mf3w85ivc8r2rmb78r4b87rrxmbb1zda9pp8n4nvd0igg23xqk8";
+    sha256 = "1c1pywz7ylaysplvq1m15v7rf1sgdkh9scbqklzcm55fjk128lif";
   };
 in
 buildGoPackage rec {
@@ -30,7 +30,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "0xy5mpcpxcmwfdrspd29z8nyn1m9i4ma7d5kbihwa2yxznylydpx";
+    sha256 = "07jqsxac50xwmhlv0nbnn098290nkpsmrxw872yh67n1s9gqfd27";
   };
 
   patches = [ ./fix-shell-path.patch ];
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 669dc846e10d3..5373b2d359bad 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jenkins";
-  version = "2.277.2";
+  version = "2.277.3";
 
   src = fetchurl {
     url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war";
-    sha256 = "08lv5v5kxp9ln798gjmh8j9a8r8xc471fbhiz2l7gxncpxn50ga2";
+    sha256 = "1awixb55bkpqcvf2s59aph3kxdd70g9x1a5s5kly33kwrplcf8iy";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/tools/dockle/default.nix b/pkgs/development/tools/dockle/default.nix
index 5ecaddc6f1bc5..f0d8a5ac6e07b 100644
--- a/pkgs/development/tools/dockle/default.nix
+++ b/pkgs/development/tools/dockle/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dockle";
-  version = "0.3.11";
+  version = "0.3.13";
 
   src = fetchFromGitHub {
     owner = "goodwithtech";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-TAV+bdHURclrwM0ByfbM2S4GdAnHrwclStyUlGraOpw=";
+    sha256 = "sha256-U0nIGuQ4QjBaCck0Kg1RTS2IQwfivN3VI5vxh8lxAYE=";
   };
 
-  vendorSha256 = "sha256-npbUE3ch8TamW0aikdKuFElE4YDRKwNVUscuvmlQxl4=";
+  vendorSha256 = "sha256-uHHm4AgnjTdPgpu3OpXXIRzrGhkpOoRY8qynfl7DO6w=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ btrfs-progs lvm2 ];
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
new file mode 100644
index 0000000000000..33c47c7aed894
--- /dev/null
+++ b/pkgs/development/tools/esbuild/default.nix
@@ -0,0 +1,22 @@
+{ buildGoModule, fetchFromGitHub, lib }:
+
+buildGoModule rec {
+  pname = "esbuild";
+  version = "0.11.13";
+
+  src = fetchFromGitHub {
+    owner = "evanw";
+    repo = "esbuild";
+    rev = "v${version}";
+    sha256 = "0v358n2vpa1l1a699zyq43yzb3lcxjp3k4acppx0ggva05qn9zd1";
+  };
+
+  vendorSha256 = "1n5538yik72x94vzfq31qaqrkpxds5xys1wlibw2gn2am0z5c06q";
+
+  meta = with lib; {
+    description = "An extremely fast JavaScript bundler";
+    homepage = "https://esbuild.github.io";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lucus16 ];
+  };
+}
diff --git a/pkgs/development/tools/gotestsum/default.nix b/pkgs/development/tools/gotestsum/default.nix
index 6c6d6343d4379..e9bc48b0dcf21 100644
--- a/pkgs/development/tools/gotestsum/default.nix
+++ b/pkgs/development/tools/gotestsum/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gotestsum";
-  version = "1.6.3";
+  version = "1.6.4";
 
   src = fetchFromGitHub {
     owner = "gotestyourself";
     repo = "gotestsum";
     rev = "v${version}";
-    sha256 = "sha256-xUDhJLTO3JZ7rlUUzcypUev60qmRK9zOlO2VYeXqT4o=";
+    sha256 = "sha256-5iSUk/J73enbc/N3bn7M4oj2A0yoF1jTWpnXD380hFI=";
   };
 
   vendorSha256 = "sha256-sHi8iW+ZV/coeAwDUYnSH039UNtUO9HK0Bhz9Gmtv8k=";
diff --git a/pkgs/development/tools/just/default.nix b/pkgs/development/tools/just/default.nix
index c6863d535dd96..5b3f966399f92 100644
--- a/pkgs/development/tools/just/default.nix
+++ b/pkgs/development/tools/just/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, rustPlatform, coreutils, bash, installShellFiles }:
+{ lib, fetchFromGitHub, stdenv, rustPlatform, coreutils, bash, installShellFiles, libiconv }:
 
 rustPlatform.buildRustPackage rec {
   pname = "just";
@@ -14,6 +14,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-YDIGZRbszhgWM7iAc2i89jyndZvZZsg63ADQfqFxfXw=";
 
   nativeBuildInputs = [ installShellFiles ];
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
   postInstall = ''
     installManPage man/just.1
diff --git a/pkgs/development/tools/metals/default.nix b/pkgs/development/tools/metals/default.nix
index 78c99d94c8d5a..d686067e633c5 100644
--- a/pkgs/development/tools/metals/default.nix
+++ b/pkgs/development/tools/metals/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "metals";
-  version = "0.10.1";
+  version = "0.10.2";
 
   deps = stdenv.mkDerivation {
     name = "${pname}-deps-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "0z4ddnwx510hnx6w72fxmksmnwxg8p2nqxg7i7xix24gykgmgj5a";
+    outputHash     = "1yck935pcj9cg3qxzrmvgd16afsckz8wgmzf2rlmii2c1glrbq9c";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/parsing/antlr/3.5.nix b/pkgs/development/tools/parsing/antlr/3.5.nix
index 2efe752c3635b..cb6263aca424f 100644
--- a/pkgs/development/tools/parsing/antlr/3.5.nix
+++ b/pkgs/development/tools/parsing/antlr/3.5.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl, fetchFromGitHub, jre}:
+{lib, stdenv, fetchpatch, fetchurl, fetchFromGitHub, jre}:
 
 stdenv.mkDerivation rec {
   pname = "antlr";
@@ -14,6 +14,13 @@ stdenv.mkDerivation rec {
     sha256 = "1i0w2v9prrmczlwkfijfp4zfqfgrss90a7yk2hg3y0gkg2s4abbk";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/antlr3/raw/f1bb8d639678047935e1761c3bf3c1c7da8d0f1d/f/0006-antlr3memory.hpp-fix-for-C-20-mode.patch";
+      sha256 = "0apk904afjqbad6c7z9r72a9lkbz69vwrl8j2a6zgxjn8dfb2p8b";
+    })
+  ];
+
   installPhase = ''
     mkdir -p "$out"/{lib/antlr,bin,include}
     cp "$jar" "$out/lib/antlr/antlr-${version}-complete.jar"
diff --git a/pkgs/development/tools/parsing/tree-sitter/default.nix b/pkgs/development/tools/parsing/tree-sitter/default.nix
index 0ce151f650719..293b8bb095a74 100644
--- a/pkgs/development/tools/parsing/tree-sitter/default.nix
+++ b/pkgs/development/tools/parsing/tree-sitter/default.nix
@@ -71,6 +71,35 @@ let
     in
     lib.mapAttrs change grammars;
 
+  # Usage:
+  # pkgs.tree-sitter.withPlugins (p: [ p.tree-sitter-c p.tree-sitter-java ... ])
+  #
+  # or for all grammars:
+  # pkgs.tree-sitter.withPlugins (_: allGrammars)
+  # which is equivalent to
+  # pkgs.tree-sitter.withPlugins (p: builtins.attrValues p)
+  withPlugins = grammarFn:
+    let
+      grammars = grammarFn builtGrammars;
+    in
+    linkFarm "grammars"
+      (map
+        (drv:
+          let
+            name = lib.strings.getName drv;
+          in
+          {
+            name =
+              (lib.strings.removePrefix "tree-sitter-"
+                (lib.strings.removeSuffix "-grammar" name))
+              + stdenv.hostPlatform.extensions.sharedLibrary;
+            path = "${drv}/parser";
+          }
+        )
+        grammars);
+
+  allGrammars = builtins.attrValues builtGrammars;
+
 in
 rustPlatform.buildRustPackage {
   pname = "tree-sitter";
@@ -111,7 +140,7 @@ rustPlatform.buildRustPackage {
     updater = {
       inherit update-all-grammars;
     };
-    inherit grammars builtGrammars;
+    inherit grammars builtGrammars withPlugins allGrammars;
 
     tests = {
       # make sure all grammars build
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
index 03c4bb06a0c85..dd6a3a380bc61 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-c-sharp",
-  "rev": "70fd2cba742506903589b5e046c32e0e3e06404a",
-  "date": "2021-03-03T17:18:54-08:00",
-  "path": "/nix/store/m0pzbb0vg0fm9nycj05ay0yldzp7qwbi-tree-sitter-c-sharp",
-  "sha256": "12jj66rsn1klsk24yj0ymgsqwy7lc5kb3nkj7griip8rmi3kgy41",
+  "rev": "09749b7b5428e770cc2ebdf2e90029c0f4a2d411",
+  "date": "2021-04-13T07:05:48+01:00",
+  "path": "/nix/store/w99nivk866bglvijxb5m0c789qh99x1m-tree-sitter-c-sharp",
+  "sha256": "17n7r1j1ib3gzjf0qw88512flzamjrvilksbf1p15dqa17rmwyq1",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c.json
index 3d98f69f053af..13fd968170957 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-c",
-  "rev": "5aa0bbbfc41868a3727b7a89a90e9f52e0964b2b",
-  "date": "2021-03-03T17:00:36-08:00",
-  "path": "/nix/store/2wa64ii39p31wpngvqk4ni8z8ws29r2g-tree-sitter-c",
-  "sha256": "1diys8yigvhm4ppbmp3a473yxjg2d5lk11y0ay7qprcz7233lakv",
+  "rev": "f05e279aedde06a25801c3f2b2cc8ac17fac52ae",
+  "date": "2021-03-28T09:12:10-07:00",
+  "path": "/nix/store/4bcxsfrgrcpjy3f6dsmqli2xawjpyz44-tree-sitter-c",
+  "sha256": "1rismmgaqii1sdnri66h75sgw3mky4aha9hff6fan1qzll4f3hif",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json
index fcd0457454d33..f88c5f9cf996f 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-cpp",
-  "rev": "05cf2030e5415e9e931f620f0924107f73976796",
-  "date": "2021-03-04T10:01:34-08:00",
-  "path": "/nix/store/fraya34acwl9i3cxpml9hwzfkyc8vs89-tree-sitter-cpp",
-  "sha256": "08ywv6n80sa541rr08bqz4zyg7byvjcabp68lvxmcahjk8xzcgwk",
+  "rev": "c61212414a3e95b5f7507f98e83de1d638044adc",
+  "date": "2021-03-27T10:08:51-07:00",
+  "path": "/nix/store/a8cd3sv1j900sd8l7cdjw91iw7pp3jhv-tree-sitter-cpp",
+  "sha256": "04nv9j03q20idk9pnm2lgw7rbwzy5jf9v0y6l102by68z4lv79fi",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fennel.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fennel.json
index 8d3c6608ab83a..85e2f5e71b80d 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fennel.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fennel.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/travonted/tree-sitter-fennel",
-  "rev": "5aad9d1f490b7fc8a847a5b260f23396c56024f5",
-  "date": "2020-11-03T09:22:17-05:00",
-  "path": "/nix/store/gsxg67brk198201h70lip7miwny084sy-tree-sitter-fennel",
-  "sha256": "1imv5nwmhsyxwq7b9z4qz72lfva40wgybdkmq0gbbfbszl9a9bgl",
+  "rev": "bc689e2ef264e2cba499cfdcd16194e8f5fe87d2",
+  "date": "2021-03-09T16:47:45-05:00",
+  "path": "/nix/store/3h4j1mrqvn0ybqjalic92bnhk7c15442-tree-sitter-fennel",
+  "sha256": "1jm21bmsdrz9x5skqmx433q9b4mfi88gzc4la5hqps4is28inqms",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json
index d0a7188c6b2ee..6783d4381f6d2 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-go",
-  "rev": "e41dd569d91eb58725baa7089c34fc3d785b2978",
-  "date": "2021-03-03T17:11:05-08:00",
-  "path": "/nix/store/87n5nl5p1fnmwgy0zshz90vyvha6b7mn-tree-sitter-go",
-  "sha256": "0nxs47vd2fc2fr0qlxq496y852rwg39flhg334s7dlyq7d3lcx4x",
+  "rev": "2a83dfdd759a632651f852aa4dc0af2525fae5cd",
+  "date": "2021-03-09T16:11:33-05:00",
+  "path": "/nix/store/2jk1bacllxsii8nlbc5lyi3k376ylf3q-tree-sitter-go",
+  "sha256": "001p8kb8g4vghn78690bnav42inkypld2k1mbd5pbmd5svvacfav",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json
index 191a23dd78c6a..3dc04b3b08ada 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-haskell",
-  "rev": "24cf84ff618e96528882c67c8740fadcd6c4a921",
-  "date": "2021-03-06T17:58:27+01:00",
-  "path": "/nix/store/46hpbz06d1p5n0rp6z3iwy2lpwrn8kgl-tree-sitter-haskell",
-  "sha256": "1l004x1z9g1p8313ipvrf581vr2wi82qcwc0281kg083m2z4535p",
+  "rev": "2e33ffa3313830faa325fe25ebc3769896b3a68b",
+  "date": "2021-04-19T23:45:03+02:00",
+  "path": "/nix/store/75mc2mfs4sm21c871s5lm9djnjk90r7n-tree-sitter-haskell",
+  "sha256": "0np7mzi1na1qscdxsjpyw314iwcmpzzrx1v7fk3yxc70qwzjcpp1",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json
index 19c8edef5e257..c3e5cb9d20f21 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-java",
-  "rev": "7ad106e81963b4d5c0aff99b93d16dc577fa3bc8",
-  "date": "2021-03-05T16:03:00-08:00",
-  "path": "/nix/store/ax9m7v0pv7q7xsnrjlfdpljs4f6xi2z3-tree-sitter-java",
-  "sha256": "1594mrhqcdfs8b7wmwpzcwna4m3ra8cbzq162flwrhcsb3w0rr9w",
+  "rev": "ee8e358637e05188f9f65d8d1ad88a4412c975ce",
+  "date": "2021-04-20T10:40:14-04:00",
+  "path": "/nix/store/8612qackwqdsvbfc03lzc5vds6mvqwxf-tree-sitter-java",
+  "sha256": "19qxfimy8w49gqc97siknd27kvkz73qp2v2118pvdbdz7c5dv27r",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json
index 6f31e096f5985..351a0f262cb0e 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-javascript",
-  "rev": "b3e7667995c065be724d10b69fbc3d0177ccef0b",
-  "date": "2021-03-08T13:12:59-08:00",
-  "path": "/nix/store/1y3nirw7bbnld4qy7ysm20bq0x9403wz-tree-sitter-javascript",
-  "sha256": "0bzyq5x8x1r34fzy1f05yqdlz51b1i1jmyssm0i571n9n6142s3j",
+  "rev": "a263a8f53266f8f0e47e21598e488f0ef365a085",
+  "date": "2021-04-20T10:37:09-04:00",
+  "path": "/nix/store/y6qbdzdx4g1g1sa2rb7dnk9snjs6lhpp-tree-sitter-javascript",
+  "sha256": "04s1jb9c96kwq0nrh6516idlh58d2b1k66amqa2sl5kk32pl9pmm",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json
index 34f2563b12a4f..ad00365e71ee0 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-json",
-  "rev": "89607925e8989f2638cc935b8de7e44ac3c91907",
-  "date": "2021-03-04T14:55:58-08:00",
-  "path": "/nix/store/xpykb8mr4xarh6finzkz71z2bpqm8k26-tree-sitter-json",
-  "sha256": "06pjh31bv9ja9hlnykk257a6zh8bsxg2fqa54al7qk1r4n9ksnff",
+  "rev": "65bceef69c3b0f24c0b19ce67d79f57c96e90fcb",
+  "date": "2021-03-09T16:25:11-05:00",
+  "path": "/nix/store/bn5smxwwg4zzdc52wp2qb6s6yjdfi8mg-tree-sitter-json",
+  "sha256": "13p4ffmajirl9qh64d6qnng1gjnh5f6jkqbra0nlc1260nsf12hp",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json
index 164b7c0549bb3..0079a47810a3a 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/ikatyang/tree-sitter-markdown",
-  "rev": "5a139bed455268a06410471bf48b19d11abdd367",
-  "date": "2021-01-24T15:17:18+08:00",
-  "path": "/nix/store/125cbxcqvwyq8b7kvmg7wxjjz16s2jvw-tree-sitter-markdown",
-  "sha256": "072b4nnpymrh90y4dk18kr8l1g7m83r3gvp6v0ad9f9dnq47fgax",
+  "rev": "8b8b77af0493e26d378135a3e7f5ae25b555b375",
+  "date": "2021-04-18T20:49:21+08:00",
+  "path": "/nix/store/4z2k0q6rwqmb7vbqr4vgc26w28szlan3-tree-sitter-markdown",
+  "sha256": "1a2899x7i6dgbsrf13qzmh133hgfrlvmjsr3bbpffi1ixw1h7azk",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json
index 8d0b5aaf0e4f2..eb97bb46f6855 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/cstrahan/tree-sitter-nix",
-  "rev": "a6bae0619126d70c756c11e404d8f4ad5108242f",
-  "date": "2021-02-09T00:48:18-06:00",
-  "path": "/nix/store/1rfsi62v549h72vw7ysciaw17vr5h9yx-tree-sitter-nix",
-  "sha256": "08n496k0vn7c2751gywl1v40490azlri7c92dr2wfgw5jxhjmb0d",
+  "rev": "d5287aac195ab06da4fe64ccf93a76ce7c918445",
+  "date": "2021-04-21T19:11:29-05:00",
+  "path": "/nix/store/6labzn2qd3wyn4k2ddb09z2avpgqwbp1-tree-sitter-nix",
+  "sha256": "0mapqdqrinskdxlarrrvyd55mjg97gbd6jm9vbjmdm4xi2hhzvxa",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ocaml.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ocaml.json
index d13f77a9f047c..941a96646843b 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ocaml.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ocaml.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-ocaml",
-  "rev": "19a8d2aab425c4c4c8dc6a882e67c37010620c3b",
-  "date": "2021-03-08T16:57:09-08:00",
-  "path": "/nix/store/y8jsf6vp278svqm4c6xnl4i6vanslrkk-tree-sitter-ocaml",
-  "sha256": "0c5wjanka87bhha0aq3m5p448apxhv8hndlqvhly6qafj99jp85i",
+  "rev": "2f962cf4eb0bee87bba755347a79ee501cd58313",
+  "date": "2021-03-11T02:13:42+01:00",
+  "path": "/nix/store/pwf6di3pdghsnb83c87vvm3w0d5aanvp-tree-sitter-ocaml",
+  "sha256": "1dfan7kbs7i0nz9dkxv8ipn0b341j1fr9fn0a2zfqsx6xxkra56r",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
index 8a013179e3de0..a536d54b651cf 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-php",
-  "rev": "ba231f9844e5a1bf60e1cb72c34c0a431239585a",
-  "date": "2021-03-03T17:17:11-08:00",
-  "path": "/nix/store/cn06h14pgq3psjq3ms0yvdm3x1wwbc1j-tree-sitter-php",
-  "sha256": "1xaml64b7cx3hn6x35bbgar8cp7ccxkwvxddjdvyj5nzfx1id8y3",
+  "rev": "4dcc061668fbc68b79421c72eb8a8baeeb0f3693",
+  "date": "2021-04-19T12:44:47-04:00",
+  "path": "/nix/store/2i80zds4dbynrdim9ngc8yp6yn825byb-tree-sitter-php",
+  "sha256": "0hs6dfw9n6sp7vbp7zfid0f0sxydyya3dyp5ghckz7al069g3vx2",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json
index 976ec6c57cdfa..1b6e562f85a67 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-python",
-  "rev": "dd98afca32aaceff9025f9e85031ac50bee8b08b",
-  "date": "2021-03-05T16:00:15-08:00",
-  "path": "/nix/store/6sbmzgva73fhgqhsdrg5zy7vbs9lzll9-tree-sitter-python",
-  "sha256": "01ykryrv1nn2y8dcbl64d31h1ipz2569ywzjp10pd93h1s6czpnl",
+  "rev": "d6210ceab11e8d812d4ab59c07c81458ec6e5184",
+  "date": "2021-03-27T09:41:53-07:00",
+  "path": "/nix/store/4v24ahydid4hr7kj0xi41mgbpglfnnki-tree-sitter-python",
+  "sha256": "173lpxi4vqa42dcdr9aj5phg5g6ny9ns04djw9n86pasx2w66dhk",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json
index c88d6e2460cd6..b83bcb2588526 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-rust",
-  "rev": "20f064bd758f94b8f47ce5a21e4383c7349ca182",
-  "date": "2021-03-04T14:06:14-08:00",
-  "path": "/nix/store/za0yxqjjp9vxgwrp014qwv2v2qffl0di-tree-sitter-rust",
-  "sha256": "118vkhv7n3sw8y9pi0987cgdcd74sjqwviijw01mhnk3bkyczi3l",
+  "rev": "a360da0a29a19c281d08295a35ecd0544d2da211",
+  "date": "2021-03-27T09:50:22-07:00",
+  "path": "/nix/store/h4snh879ccy159fa390qr8l0nyaf5ndr-tree-sitter-rust",
+  "sha256": "0knaza3ww5h5w95hzdaalg5yrfpiv0r394q0imadxp5611132hxz",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json
index 3ec792c7190d8..b7c214cc720ad 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-scala",
-  "rev": "262797b1dfe0303818c2418c0a88f6be65f37245",
-  "date": "2021-03-04T15:02:28-08:00",
-  "path": "/nix/store/vc5fr00vqx5nf17r9grdwb11wci3xrkm-tree-sitter-scala",
-  "sha256": "1zf3b1x1s94dgzjbc6l8ind5fd1mmny3893d4bqc63h4qp0n0bp3",
+  "rev": "fb23ed9a99da012d86b7a5059b9d8928607cce29",
+  "date": "2021-04-01T10:11:15-07:00",
+  "path": "/nix/store/n1wvxkz4h38770lxvwakway34ac2a8h7-tree-sitter-scala",
+  "sha256": "05g95340g4labkdvfka5cbg7pr6vzigc40y54js1b5wml0w3d8f7",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json
index 6cd63a61e891f..41c4fcfe734d5 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/Himujjal/tree-sitter-svelte",
-  "rev": "a96899bd1ab6a18e3837f232fd688af69e3a8071",
-  "date": "2021-03-09T15:14:24+05:30",
-  "path": "/nix/store/nlpf6gilkk19aw7pk1kbys2alhnqagqj-tree-sitter-svelte",
-  "sha256": "04virfsiqqhh3gc3cmcjd4s1zn9wdxi47m55x938napaqiaw29nx",
+  "rev": "c696a13a587b0595baf7998f1fb9e95c42750263",
+  "date": "2021-03-20T16:45:11+05:30",
+  "path": "/nix/store/8krdxqwpi95ljrb5jgalwgygz3aljqr8-tree-sitter-svelte",
+  "sha256": "0ckmss5gmvffm6danlsvgh6gwvrlznxsqf6i6ipkn7k5lxg1awg3",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
index 3ff85a0766b19..a59dd9a0004a1 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-typescript",
-  "rev": "7e119621b1d2ab1873ba14d8702f62458df70409",
-  "date": "2021-03-08T13:23:30-08:00",
-  "path": "/nix/store/k7vam1w5c2r0hhxy0bgpmj65bw5wnh96-tree-sitter-typescript",
-  "sha256": "1fv6q1bc0j6b89skz7x2ibi6bxx0ijrb676y23aahycvz2p8x4z0",
+  "rev": "82916165120f840164f11119f268a4de819ea90b",
+  "date": "2021-04-19T18:16:19-07:00",
+  "path": "/nix/store/0c0kkiiamms3yl3mf1clyrqcjwp5j920-tree-sitter-typescript",
+  "sha256": "1jnf0hn6hmn4x2cvy29mk8g1wlp0afs8immp461by3q5hcq8fzb4",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-verilog.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-verilog.json
index 7ab79c6f2d54f..5e4e14a95b373 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-verilog.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-verilog.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-verilog",
-  "rev": "ad551aae2649da56582bc0557478a7dc979c0be3",
-  "date": "2020-10-13T17:40:47-07:00",
-  "path": "/nix/store/nfaxfqrqkxpwaq8rnk7kcp28nnj8y6m2-tree-sitter-verilog",
-  "sha256": "0cy29i200rnc34d237s19r6a1n5vv4d3wgwpbywxg6ahcankc34m",
+  "rev": "1b624ab8b3f8d54ecc37847aa04512844f0226ac",
+  "date": "2021-03-31T21:27:26-07:00",
+  "path": "/nix/store/4j6hrf8bc8zjd7r9xnna9njpw0i4z817-tree-sitter-verilog",
+  "sha256": "0ygm6bdxqzpl3qn5l58mnqyj730db0mbasj373bbsx81qmmzkgzz",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-yaml.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-yaml.json
index 8231a0354d7a1..c8544d7dbec34 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-yaml.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-yaml.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/ikatyang/tree-sitter-yaml",
-  "rev": "ab0ce67ce98f8d9cc0224ebab49c64d01fedc1a1",
-  "date": "2021-01-01T21:13:43+08:00",
-  "path": "/nix/store/3vnhqr4l2hb0ank13avj8af4qbni5szw-tree-sitter-yaml",
-  "sha256": "14f0abv68cjkwdcjjwa1nzjpwp6w59cj5v4m5h5h3jxi96z65459",
+  "rev": "6129a83eeec7d6070b1c0567ec7ce3509ead607c",
+  "date": "2021-04-18T14:25:59+08:00",
+  "path": "/nix/store/8wrwm71z9flfk00phrh9aaxpvsrw1m67-tree-sitter-yaml",
+  "sha256": "1bimf5fq85wn8dwlk665w15n2bj37fma5rsfxrph3i9yb0lvzi3q",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/tools/protoc-gen-twirp_php/default.nix b/pkgs/development/tools/protoc-gen-twirp_php/default.nix
index 40df9e974e4d3..08c8214c637e4 100644
--- a/pkgs/development/tools/protoc-gen-twirp_php/default.nix
+++ b/pkgs/development/tools/protoc-gen-twirp_php/default.nix
@@ -2,23 +2,19 @@
 
 buildGoModule rec {
   pname = "protoc-gen-twirp_php";
-  version = "0.6.0";
+  version = "0.7.1";
 
   # fetchFromGitHub currently not possible, because go.mod and go.sum are export-ignored
   src = fetchgit {
     url = "https://github.com/twirphp/twirp.git";
     rev = "v${version}";
-    sha256 = "sha256-WnvCdAJIMA4A+f7H61qcVbKNn23bNVOC15vMCEKc+CI=";
+    sha256 = "sha256-94GN/Gq3RXXg83eUsmIcdF4VuK4syCgD0Zkc5eDiVYE=";
   };
 
-  vendorSha256 = "sha256-LIMxrWXlK7+JIRmtukdXPqfw8H991FCAOuyEf7ZLSTs=";
+  vendorSha256 = "sha256-gz4JELCffuh7dyFdBex8/SFZ1/PDXuC/93m3WNHwRss=";
 
   subPackages = [ "protoc-gen-twirp_php" ];
 
-  preBuild = ''
-    go generate ./...
-  '';
-
   meta = with lib; {
     description = "PHP port of Twitch's Twirp RPC framework";
     homepage = "https://github.com/twirphp/twirp";
diff --git a/pkgs/development/tools/purescript/spago/spago.nix b/pkgs/development/tools/purescript/spago/spago.nix
index eca516bbeba68..ed8da83e30a59 100644
--- a/pkgs/development/tools/purescript/spago/spago.nix
+++ b/pkgs/development/tools/purescript/spago/spago.nix
@@ -1,22 +1,22 @@
 { mkDerivation, aeson, aeson-pretty, ansi-terminal, async-pool
 , base, bower-json, bytestring, Cabal, containers, cryptonite
-, dhall, directory, either, exceptions, extra, fetchgit, file-embed
-, filepath, foldl, fsnotify, generic-lens, github, Glob, hpack
-, hspec, hspec-discover, hspec-megaparsec, http-client
-, http-conduit, http-types, lens-family-core, megaparsec, mtl
-, network-uri, open-browser, optparse-applicative, prettyprinter
-, process, QuickCheck, retry, rio, rio-orphans, safe, semver-range
-, lib, stm, stringsearch, tar, template-haskell, temporary, text
-, time, transformers, turtle, unliftio, unordered-containers
-, utf8-string, vector, versions, with-utf8, zlib
+, dhall, directory, either, extra, fetchgit, file-embed, filepath
+, foldl, fsnotify, generic-lens, Glob, hpack, hspec, hspec-discover
+, hspec-megaparsec, http-client, http-conduit, http-types
+, lens-family-core, lib, megaparsec, mtl, network-uri, open-browser
+, optparse-applicative, prettyprinter, process, QuickCheck, retry
+, rio, rio-orphans, safe, semver-range, stm, stringsearch
+, tar, template-haskell, temporary, text, time, transformers
+, turtle, unliftio, unordered-containers, utf8-string, versions
+, with-utf8, zlib
 }:
 mkDerivation {
   pname = "spago";
-  version = "0.20.0";
+  version = "0.20.1";
   src = fetchgit {
     url = "https://github.com/purescript/spago.git";
-    sha256 = "1n48p9ycry8bjnf9jlcfgyxsbgn5985l4vhbwlv46kbb41ddwi51";
-    rev = "7dfd2236aff92e5ae4f7a4dc336b50a7e14e4f44";
+    sha256 = "1j2yi6zz9m0k0298wllin39h244v8b2rx87yxxgdbjg77kn96vxg";
+    rev = "41ad739614f4f2c2356ac921308f9475a5a918f4";
     fetchSubmodules = true;
   };
   isLibrary = true;
@@ -24,16 +24,17 @@ mkDerivation {
   libraryHaskellDepends = [
     aeson aeson-pretty ansi-terminal async-pool base bower-json
     bytestring Cabal containers cryptonite dhall directory either
-    exceptions file-embed filepath foldl fsnotify generic-lens github
-    Glob http-client http-conduit http-types lens-family-core
-    megaparsec mtl network-uri open-browser optparse-applicative
-    prettyprinter process retry rio rio-orphans safe semver-range stm
-    stringsearch tar template-haskell temporary text time transformers
-    turtle unliftio unordered-containers utf8-string vector versions
-    with-utf8 zlib
+    file-embed filepath foldl fsnotify generic-lens Glob http-client
+    http-conduit http-types lens-family-core megaparsec mtl network-uri
+    open-browser optparse-applicative prettyprinter process retry rio
+    rio-orphans safe semver-range stm stringsearch tar template-haskell
+    temporary text time transformers turtle unliftio
+    unordered-containers utf8-string versions with-utf8 zlib
   ];
   libraryToolDepends = [ hpack ];
-  executableHaskellDepends = [ base text turtle with-utf8 ];
+  executableHaskellDepends = [
+    ansi-terminal base text turtle with-utf8
+  ];
   testHaskellDepends = [
     base containers directory extra hspec hspec-megaparsec megaparsec
     process QuickCheck temporary text turtle versions
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 54eead5d2a6e9..4300719147dd9 100644
--- a/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/pkgs/development/tools/rust/cargo-make/default.nix
@@ -1,22 +1,31 @@
-{ lib, stdenv, fetchurl, runCommand, fetchCrate, rustPlatform, Security, openssl, pkg-config
+{ lib
+, stdenv
+, fetchurl
+, runCommand
+, fetchCrate
+, rustPlatform
+, Security
+, openssl
+, pkg-config
 , SystemConfiguration
+, libiconv
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-make";
-  version = "0.32.16";
+  version = "0.32.17";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-FrrQcZHy5WjNYCod2TBWVAj4clNWPLWLIR2/Kvkz4q0=";
+    sha256 = "sha256-D/8fjJIyHCRzkomRsYUnGjDMCusjNX8ZYmLjowCYgcM=";
   };
 
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [ openssl ]
-    ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
+    ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration libiconv ];
 
-  cargoSha256 = "sha256-QEHl/Hhug0Ua/SZV0iq1jc6QGGxA1NwheEgGBZRYunI=";
+  cargoSha256 = "sha256-Upegh3W31sTaXl0iHZ3HiYs9urgXH/XhC0vQBAWvDIc=";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/tabnine/default.nix b/pkgs/development/tools/tabnine/default.nix
index 49265d22f8dd2..0f596a0327d6f 100644
--- a/pkgs/development/tools/tabnine/default.nix
+++ b/pkgs/development/tools/tabnine/default.nix
@@ -1,19 +1,19 @@
 { stdenv, lib, fetchurl, unzip }:
 
 let
-  version = "3.3.101";
+  version = "3.3.115";
   src =
     if stdenv.hostPlatform.system == "x86_64-darwin" then
       fetchurl
         {
           url = "https://update.tabnine.com/bundles/${version}/x86_64-apple-darwin/TabNine.zip";
-          sha256 = "KrFDQSs7hMCioeqPKTNODe3RKnwNV8XafdYDUaxou/Y=";
+          sha256 = "104h3b9cvmz2m27a94cfc00xm8wa2p1pvrfs92hrz59hcs8vdldf";
         }
     else if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl
         {
           url = "https://update.tabnine.com/bundles/${version}/x86_64-unknown-linux-musl/TabNine.zip";
-          sha256 = "vbeuZf/phOj83xTha+AzpKIvvrjwMar7q2teAmr5ESQ=";
+          sha256 = "0rs2vmdz8c9zs53pjbzy27ir0p5v752cpsnqfaqf0ilx7k6fpnnm";
         }
     else throw "Not supported on ${stdenv.hostPlatform.system}";
 in
@@ -32,6 +32,9 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     install -Dm755 TabNine $out/bin/TabNine
+    install -Dm755 TabNine-deep-cloud $out/bin/TabNine-deep-cloud
+    install -Dm755 TabNine-deep-local $out/bin/TabNine-deep-local
+    install -Dm755 WD-TabNine $out/bin/WD-TabNine
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/vala-language-server/default.nix b/pkgs/development/tools/vala-language-server/default.nix
index 696776a69720d..4cad79f9a85f7 100644
--- a/pkgs/development/tools/vala-language-server/default.nix
+++ b/pkgs/development/tools/vala-language-server/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vala-language-server";
-  version = "0.48.1";
+  version = "0.48.2";
 
   src = fetchFromGitHub {
     owner = "benwaffle";
     repo = pname;
     rev = version;
-    sha256 = "12k095052jkvbiyz8gzkj6w7r7p16d5m18fyikl48yvh5nln8fw0";
+    sha256 = "sha256-vtb2l4su+zuwGbS9F+Sv0tDInQMH4Uw6GjT+s7fHIio=";
   };
 
   passthru = {
diff --git a/pkgs/development/tools/zls/default.nix b/pkgs/development/tools/zls/default.nix
new file mode 100644
index 0000000000000..6adf3a2ae9b7c
--- /dev/null
+++ b/pkgs/development/tools/zls/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, lib, fetchFromGitHub, zig }:
+
+stdenv.mkDerivation rec {
+  pname = "zls";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "zigtools";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-A4aOdmlIxBUeKyczzLxH4y1Rl9TgE1EeiKGbWY4p/00=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ zig ];
+
+  preBuild = ''
+    export HOME=$TMPDIR
+  '';
+
+  installPhase = ''
+    zig build -Drelease-safe --prefix $out install
+  '';
+
+  meta = with lib; {
+    description = "Zig LSP implementation + Zig Language Server";
+    changelog = "https://github.com/zigtools/zls/releases/tag/${version}";
+    homepage = "https://github.com/zigtools/zls";
+    license = [ licenses.mit ];
+    maintainers = with maintainers; [ fortuneteller2k ];
+  };
+}
diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index 6faba30bf77fc..9b645fb55e34e 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -5,6 +5,7 @@
 , rust
 , rustPlatform
 , installShellFiles
+, libiconv
 , libobjc
 , Security
 , CoreServices
@@ -15,20 +16,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.9.0";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-LrJGwsP+P8zXYwboF5791YuWGVdhcQJLOoBv+VzrYzs=";
+    sha256 = "sha256-FKhSFqFZhqzrXrJcBc0YBNHoUq0/1+ULZ9sE+LyNQTI=";
   };
-  cargoSha256 = "sha256-JDapls3nRNETri6nZPRjZFlAFVN1Owhp965zf0Rn3ug=";
+  cargoSha256 = "sha256-Pp322D7YtdpeNnKWcE78tvLh5nFNcrh9oGYX2eCiPzI=";
 
   # Install completions post-install
   nativeBuildInputs = [ installShellFiles ];
 
-  buildInputs = lib.optionals stdenv.isDarwin [ libobjc Security CoreServices Metal Foundation ];
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv libobjc Security CoreServices Metal Foundation ];
 
   # The rusty_v8 package will try to download a `librusty_v8.a` release at build time to our read-only filesystem
   # To avoid this we pre-download the file and place it in the locations it will require it in advance