about summary refs log tree commit diff
path: root/pkgs/development/tools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools')
-rw-r--r--pkgs/development/tools/alloy/default.nix2
-rw-r--r--pkgs/development/tools/ameba/default.nix6
-rw-r--r--pkgs/development/tools/ammonite/default.nix6
-rw-r--r--pkgs/development/tools/analysis/codeql/default.nix4
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/analysis/panopticon/default.nix3
-rw-r--r--pkgs/development/tools/analysis/radare2/cutter.nix4
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix14
-rw-r--r--pkgs/development/tools/analysis/retdec/default.nix1
-rw-r--r--pkgs/development/tools/analysis/tflint/default.nix6
-rw-r--r--pkgs/development/tools/aws-sam-cli/default.nix9
-rw-r--r--pkgs/development/tools/build-managers/bear/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/conan/default.nix64
-rw-r--r--pkgs/development/tools/build-managers/redo-apenwarr/beautifulsoup.nix20
-rw-r--r--pkgs/development/tools/build-managers/redo-apenwarr/default.nix25
-rw-r--r--pkgs/development/tools/build-managers/redo-apenwarr/mkdocs-exclude.nix20
-rw-r--r--pkgs/development/tools/buildah/default.nix4
-rw-r--r--pkgs/development/tools/conftest/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/fly/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix8
-rw-r--r--pkgs/development/tools/database/liquibase/default.nix4
-rw-r--r--pkgs/development/tools/database/webdis/default.nix36
-rw-r--r--pkgs/development/tools/flatpak-builder/default.nix11
-rw-r--r--pkgs/development/tools/flatpak-builder/fix-paths.patch33
-rw-r--r--pkgs/development/tools/fmbt/default.nix4
-rw-r--r--pkgs/development/tools/geckodriver/default.nix5
-rw-r--r--pkgs/development/tools/go2nix/default.nix3
-rw-r--r--pkgs/development/tools/godot/default.nix4
-rw-r--r--pkgs/development/tools/golangci-lint/default.nix6
-rw-r--r--pkgs/development/tools/gotestsum/default.nix8
-rw-r--r--pkgs/development/tools/gotools/default.nix4
-rw-r--r--pkgs/development/tools/java/visualvm/default.nix11
-rw-r--r--pkgs/development/tools/lazygit/default.nix4
-rw-r--r--pkgs/development/tools/literate-programming/noweb/default.nix15
-rw-r--r--pkgs/development/tools/literate-programming/nuweb/default.nix6
-rw-r--r--pkgs/development/tools/metals/default.nix4
-rw-r--r--pkgs/development/tools/misc/circleci-cli/default.nix8
-rw-r--r--pkgs/development/tools/misc/drush/default.nix6
-rw-r--r--pkgs/development/tools/misc/gede/default.nix4
-rw-r--r--pkgs/development/tools/misc/hydra-cli/default.nix4
-rw-r--r--pkgs/development/tools/misc/hydra/common.nix134
-rw-r--r--pkgs/development/tools/misc/hydra/default.nix173
-rw-r--r--pkgs/development/tools/misc/intel-gpu-tools/default.nix6
-rw-r--r--pkgs/development/tools/misc/tokei/default.nix6
-rw-r--r--pkgs/development/tools/mod/default.nix8
-rw-r--r--pkgs/development/tools/ocaml/camlp5/default.nix6
-rw-r--r--pkgs/development/tools/parinfer-rust/default.nix3
-rw-r--r--pkgs/development/tools/pgformatter/default.nix4
-rw-r--r--pkgs/development/tools/pgloader/default.nix8
-rwxr-xr-xpkgs/development/tools/poetry2nix/poetry2nix/bin/poetry2nix17
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/cli.nix2
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/default.nix297
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix1
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/lib.nix107
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix15
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix266
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix3
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix359
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/semver.nix109
-rw-r--r--pkgs/development/tools/renderizer/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-asm/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-expand/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-make/Cargo.lock116
-rw-r--r--pkgs/development/tools/rust/cargo-make/cargo.patch1053
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix6
-rw-r--r--pkgs/development/tools/rust/cbindgen/default.nix5
-rw-r--r--pkgs/development/tools/trellis/default.nix14
-rw-r--r--pkgs/development/tools/unityhub/default.nix4
-rw-r--r--pkgs/development/tools/vagrant/default.nix2
-rw-r--r--pkgs/development/tools/wally-cli/default.nix7
-rw-r--r--pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock.patch327
-rw-r--r--pkgs/development/tools/wasm-bindgen-cli/default.nix6
-rw-r--r--pkgs/development/tools/yarn/default.nix4
73 files changed, 1296 insertions, 2194 deletions
diff --git a/pkgs/development/tools/alloy/default.nix b/pkgs/development/tools/alloy/default.nix
index 0b34055274d0..01706bd9b681 100644
--- a/pkgs/development/tools/alloy/default.nix
+++ b/pkgs/development/tools/alloy/default.nix
@@ -45,7 +45,7 @@ let generic = { major, version, src }:
       downloadPage = http://alloytools.org/download.html;
       license = licenses.mit;
       platforms = platforms.linux;
-      maintainers = with maintainers; [ aminb ];
+      maintainers = with maintainers; [ notbandali ];
     };
   };
 
diff --git a/pkgs/development/tools/ameba/default.nix b/pkgs/development/tools/ameba/default.nix
index 5ac6c5afa913..2f3ebcbed0a6 100644
--- a/pkgs/development/tools/ameba/default.nix
+++ b/pkgs/development/tools/ameba/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ameba";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner  = "crystal-ameba";
     repo   = "ameba";
     rev    = "v${version}";
-    sha256 = "0zjv59f555q2w8ahrvmpdzasrifwjgr0mk6rly9yss4ab3rj8cy2";
+    sha256 = "0g68yijbm2j4ig536fwq49d1z7x2iv9kp4g3gjklf5zn1sbqhm12";
   };
 
   nativeBuildInputs = [ crystal shards ];
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A static code analysis tool for Crystal";
-    homepage = https://crystal-ameba.github.io;
+    homepage = "https://crystal-ameba.github.io";
     license = licenses.mit;
     maintainers = with maintainers; [ kimburgess ];
   };
diff --git a/pkgs/development/tools/ammonite/default.nix b/pkgs/development/tools/ammonite/default.nix
index eba5a2b67149..743ebeef0a84 100644
--- a/pkgs/development/tools/ammonite/default.nix
+++ b/pkgs/development/tools/ammonite/default.nix
@@ -8,7 +8,7 @@ let
 common = { scalaVersion, sha256 }:
 stdenv.mkDerivation rec {
   pname = "ammonite";
-  version = "1.7.4";
+  version = "2.0.4";
 
   src = fetchurl {
     url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}";
@@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
   };
 };
 in {
-  ammonite_2_12 = common { scalaVersion = "2.12"; sha256 = "0d2xjhxrly4cv5fpjv1i0a74ayij7c2x5sb6lsgzxpq7jj0bk1m6"; };
-  ammonite_2_13 = common { scalaVersion = "2.13"; sha256 = "0hmdizzf8l8i07vdfik24iby39xg1vjfp1cwgjpbcmxv8klf50b0"; };
+  ammonite_2_12 = common { scalaVersion = "2.12"; sha256 = "068lcdi1y3zcspr0qmppflad7a4kls9gi321rp8dc5qc6f9nnk04"; };
+  ammonite_2_13 = common { scalaVersion = "2.13"; sha256 = "0fa0q9nk00crr2ws2mmw6pp4vf0xy53bqqhnws524ywwg6zwrl9s"; };
 }
diff --git a/pkgs/development/tools/analysis/codeql/default.nix b/pkgs/development/tools/analysis/codeql/default.nix
index 309ba9d392bd..f722a155086f 100644
--- a/pkgs/development/tools/analysis/codeql/default.nix
+++ b/pkgs/development/tools/analysis/codeql/default.nix
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation rec {
   pname = "codeql";
-  version = "2.0.4";
+  version = "2.1.0";
 
   dontConfigure = true;
   dontBuild = true;
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   src = fetchzip {
     url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip";
-    sha256 = "02sqs7shxqrq6c6h12ldskk30k7sisa75wjxz99xyg49m4b2lw4m";
+    sha256 = "1vp4f5kwmxc4j59cdzwj0jh0n4c05hkvssvv9ii6w88phzblzpjk";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index c977a9d20820..9e7b2d5096d0 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.120.1";
+  version = "0.121.0";
 
   src = fetchFromGitHub {
     owner  = "facebook";
     repo   = "flow";
     rev    = "refs/tags/v${version}";
-    sha256 = "0cqwwrml7yaqyd52rqcz64gbm1pc0yj5yhqqqj9vqyil8wif30v3";
+    sha256 = "1lx3lfn0blnwpq6iph0x6xcr4nrdhyvfvx6x8qk6axwlmg2swdcy";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/panopticon/default.nix b/pkgs/development/tools/analysis/panopticon/default.nix
index 85fd8c93529e..e2c174783d4b 100644
--- a/pkgs/development/tools/analysis/panopticon/default.nix
+++ b/pkgs/development/tools/analysis/panopticon/default.nix
@@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "1zv87nqhrzsxx0m891df4vagzssj3kblfv9yp7j96dw0vn9950qa";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ makeWrapper ];
   propagatedBuildInputs = with qt5; [
      qt5.qtbase
@@ -20,7 +20,6 @@ rustPlatform.buildRustPackage rec {
      qtsvg
      qtquickcontrols2
      qtgraphicaleffects
-     pkgconfig
      git
   ];
 
diff --git a/pkgs/development/tools/analysis/radare2/cutter.nix b/pkgs/development/tools/analysis/radare2/cutter.nix
index fd5c58985cfb..e64f39a49609 100644
--- a/pkgs/development/tools/analysis/radare2/cutter.nix
+++ b/pkgs/development/tools/analysis/radare2/cutter.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "radare2-cutter";
-  version = "1.10.1";
+  version = "1.10.2";
 
   src = fetchFromGitHub {
     owner = "radareorg";
     repo = "cutter";
     rev = "v${version}";
-    sha256 = "1gvsrcskcdd1hxrjpkpc657anmfs25f174vxk4wzvn385rnmrxd3";
+    sha256 = "1icv56gxpzdjqn37pk3g99vgpljdc77i6k0x601iw2885s7s01n6";
   };
 
   postUnpack = "export sourceRoot=$sourceRoot/src";
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index fc5244f96449..37dc9e51beab 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -110,7 +110,7 @@ in {
   #<generated>
   # DO NOT EDIT! Automatically generated by ./update.py
   radare2 = generic {
-    version_commit = "23963";
+    version_commit = "24088";
     gittap = "4.3.1";
     gittip = "e7f940d27b3b4eb2738afef78a6ea09ed770318c";
     rev = "4.3.1";
@@ -120,12 +120,12 @@ in {
     cs_sha256 = "0ijwxxk71nr9z91yxw20zfj4bbsbrgvixps5c7cpj163xlzlwba6";
   };
   r2-for-cutter = generic {
-    version_commit = "23963";
-    gittap = "4.2.1";
-    gittip = "08478fdd29d8ce2a6c61fbd7b207bffc10682938";
-    rev = "08478fdd29d8ce2a6c61fbd7b207bffc10682938";
-    version = "2020-01-31";
-    sha256 = "14b9433cgc2nabhz836zfgvgh2dwailcmvy05krsa0inmzbvx9fg";
+    version_commit = "24088";
+    gittap = "4.3.1";
+    gittip = "e7f940d27b3b4eb2738afef78a6ea09ed770318c";
+    rev = "e7f940d27b3b4eb2738afef78a6ea09ed770318c";
+    version = "2020-03-05";
+    sha256 = "0fiy6aj8xf9anpkk2vpkx8x0m2f26rhjb92nmg61xj13dmhchh30";
     cs_ver = "4.0.1";
     cs_sha256 = "0ijwxxk71nr9z91yxw20zfj4bbsbrgvixps5c7cpj163xlzlwba6";
   };
diff --git a/pkgs/development/tools/analysis/retdec/default.nix b/pkgs/development/tools/analysis/retdec/default.nix
index 475d1950bb2a..848dfca5ce6d 100644
--- a/pkgs/development/tools/analysis/retdec/default.nix
+++ b/pkgs/development/tools/analysis/retdec/default.nix
@@ -130,6 +130,7 @@ in stdenv.mkDerivation rec {
   # itself and trying to build it. The build should fail and tell you which dependencies you have to upgrade to which versions.
   # I've notified upstream about this problem here:
   # https://github.com/avast-tl/retdec/issues/412
+  # gcc is pinned to gcc8 in all-packages.nix. That should probably be re-evaluated on update.
   version = "3.2";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix
index 8f370d2e0aa1..52a11738cf82 100644
--- a/pkgs/development/tools/analysis/tflint/default.nix
+++ b/pkgs/development/tools/analysis/tflint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tflint";
-  version = "0.15.2";
+  version = "0.15.3";
 
   src = fetchFromGitHub {
     owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1wwdnqb34l0ad6hlvs74acfh0744ir3ssm8wjwpxbsy0sxkrpxcf";
+    sha256 = "1j56dadkyg483i2p4i76d4kdkm229yjiyariga96zxp3s4rl0fni";
   };
 
-  modSha256 = "1jbnsqa0ga372lhbgfnqvx8pdzrm0b2phzzwll4sgd0k1hzv2aqv";
+  modSha256 = "14vgy5lavyp4w16g7wpi9xbni3js541rc3w9qn5ab3khqw5rdhgn";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/tools/aws-sam-cli/default.nix b/pkgs/development/tools/aws-sam-cli/default.nix
index 38fd32f38b65..94ca01faef2c 100644
--- a/pkgs/development/tools/aws-sam-cli/default.nix
+++ b/pkgs/development/tools/aws-sam-cli/default.nix
@@ -30,11 +30,11 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "aws-sam-cli";
-  version = "0.43.0";
+  version = "0.44.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0v852636chil5n4cjqjvh29hhik881pkljs64jy5jiznbrph9ryr";
+    sha256 = "0r3m41xjmg8m2jwsqwc9kdkcs3xbz8dsl240ybwbnr7rp29pnirf";
   };
 
   # Tests are not included in the PyPI package
@@ -50,6 +50,7 @@ buildPythonApplication rec {
     docker
     flask
     idna
+    jmespath
     pathlib2
     requests
     serverlessrepo
@@ -65,11 +66,9 @@ buildPythonApplication rec {
   # fix over-restrictive version bounds
   postPatch = ''
     substituteInPlace requirements/base.txt \
-      --replace "requests==2.20.1" "requests==2.22.0" \
       --replace "serverlessrepo==0.1.9" "serverlessrepo~=0.1.9" \
-      --replace "six~=1.11.0" "six~=1.12.0" \
       --replace "python-dateutil~=2.6, <2.8.1" "python-dateutil~=2.6" \
-      --replace "PyYAML~=3.12" "PyYAML~=5.1"
+      --replace "tomlkit==0.5.8" "tomlkit~=0.5.8" \
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/build-managers/bear/default.nix b/pkgs/development/tools/build-managers/bear/default.nix
index ec1577c51079..9e2fb13b0e7a 100644
--- a/pkgs/development/tools/build-managers/bear/default.nix
+++ b/pkgs/development/tools/build-managers/bear/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, python }:
+{ stdenv, fetchFromGitHub, cmake, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "bear";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ python ]; # just for shebang of bin/bear
+  buildInputs = [ python3 ]; # just for shebang of bin/bear
 
   doCheck = false; # all fail
 
diff --git a/pkgs/development/tools/build-managers/conan/default.nix b/pkgs/development/tools/build-managers/conan/default.nix
index 59b1b14ac5fa..5990208b645b 100644
--- a/pkgs/development/tools/build-managers/conan/default.nix
+++ b/pkgs/development/tools/build-managers/conan/default.nix
@@ -1,5 +1,17 @@
 { lib, python3, git, pkgconfig }:
 
+# Note:
+# Conan has specific dependency demanands; check
+#     https://github.com/conan-io/conan/blob/master/conans/requirements.txt
+#     https://github.com/conan-io/conan/blob/master/conans/requirements_server.txt
+# on the release branch/commit we're packaging.
+#
+# Two approaches are used here to deal with that:
+# Pinning the specific versions it wants in `newPython`,
+# and using `substituteInPlace conans/requirements.txt ...`
+# in `postPatch` to allow newer versions when we know
+# (e.g. from changelogs) that they are compatible.
+
 let newPython = python3.override {
   packageOverrides = self: super: {
     distro = super.distro.overridePythonAttrs (oldAttrs: rec {
@@ -16,20 +28,6 @@ let newPython = python3.override {
         sha256 = "1dv6mjsm67l1razcgmq66riqmsb36wns17mnipqr610v0z0zf5j0";
       };
     });
-    future = super.future.overridePythonAttrs (oldAttrs: rec {
-      version = "0.16.0";
-      src = oldAttrs.src.override {
-        inherit version;
-        sha256 = "1nzy1k4m9966sikp0qka7lirh8sqrsyainyf8rk97db7nwdfv773";
-      };
-    });
-    tqdm = super.tqdm.overridePythonAttrs (oldAttrs: rec {
-      version = "4.28.1";
-      src = oldAttrs.src.override {
-        inherit version;
-        sha256 = "1fyybgbmlr8ms32j7h76hz5g9xc6nf0644mwhc40a0s5k14makav";
-      };
-    });
     pluginbase = super.pluginbase.overridePythonAttrs (oldAttrs: rec {
       version = "0.7";
       src = oldAttrs.src.override {
@@ -41,18 +39,34 @@ let newPython = python3.override {
 };
 
 in newPython.pkgs.buildPythonApplication rec {
-  version = "1.12.3";
+  version = "1.23.0";
   pname = "conan";
 
   src = newPython.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "1cnfy9b57apps4bfai6r67g0mrvgnqa154z9idv0kf93k1nvx53g";
+    sha256 = "06jnmgvzdyxjpcmyj1804mlq6b842jvvbsngsamdy976sqws870g";
   };
 
   propagatedBuildInputs = with newPython.pkgs; [
-    colorama deprecation distro fasteners bottle
-    future node-semver patch pygments pluginbase
-    pyjwt pylint pyyaml requests six tqdm
+    bottle
+    colorama
+    dateutil
+    deprecation
+    distro
+    fasteners
+    future
+    jinja2
+    node-semver
+    patch-ng
+    pluginbase
+    pygments
+    pyjwt
+    pylint # Not in `requirements.txt` but used in hooks, see https://github.com/conan-io/conan/pull/6152
+    pyyaml
+    requests
+    six
+    tqdm
+    urllib3
   ];
 
   checkInputs = [
@@ -68,15 +82,13 @@ in newPython.pkgs.buildPythonApplication rec {
     webtest
   ]);
 
-  checkPhase = ''
-    export HOME=$TMPDIR
-    pytest conans/test/{utils,unittests} \
-      -k 'not SVN and not ToolsNetTest'
-  '';
+  # Conan 1.14.0 has removed all tests from the Pypi source dist:
+  #     https://github.com/conan-io/conan/pull/4713
+  # We have recommended they be added back:
+  #     https://github.com/conan-io/conan/issues/4563#issuecomment-602225083
+  doCheck = false;
 
   postPatch = ''
-    substituteInPlace conans/requirements_server.txt \
-      --replace "pluginbase>=0.5, < 1.0" "pluginbase>=0.5"
     substituteInPlace conans/requirements.txt \
       --replace "PyYAML>=3.11, <3.14.0" "PyYAML"
   '';
diff --git a/pkgs/development/tools/build-managers/redo-apenwarr/beautifulsoup.nix b/pkgs/development/tools/build-managers/redo-apenwarr/beautifulsoup.nix
deleted file mode 100644
index 571df924e1f8..000000000000
--- a/pkgs/development/tools/build-managers/redo-apenwarr/beautifulsoup.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ pythonPackages, isPy3k, pkgs }:
-
-pythonPackages.buildPythonPackage rec {
-  name = "beautifulsoup-3.2.1";
-  disabled = isPy3k;
-
-  src = pkgs.fetchurl {
-    url = "http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.2.1.tar.gz";
-    sha256 = "1nshbcpdn0jpcj51x0spzjp519pkmqz0n0748j7dgpz70zlqbfpm";
-  };
-
-  # error: invalid command 'test'
-  doCheck = false;
-
-  meta = {
-    homepage = http://www.crummy.com/software/BeautifulSoup/;
-    license = "bsd";
-    description = "Undemanding HTML/XML parser";
-  };
-}
diff --git a/pkgs/development/tools/build-managers/redo-apenwarr/default.nix b/pkgs/development/tools/build-managers/redo-apenwarr/default.nix
index f08a2e563429..ab6f505bff37 100644
--- a/pkgs/development/tools/build-managers/redo-apenwarr/default.nix
+++ b/pkgs/development/tools/build-managers/redo-apenwarr/default.nix
@@ -1,27 +1,16 @@
-{ stdenv, lib, python27, fetchFromGitHub, mkdocs, which, findutils, coreutils
+{ stdenv, lib, python3, fetchFromGitHub, mkdocs, which, findutils, coreutils
 , perl
 , doCheck ? true
-}: let
-
-  # copy from 
-  # pkgs/applications/networking/pyload/beautifulsoup.nix
-  beautifulsoup = python27.pkgs.callPackage ./beautifulsoup.nix {
-    pythonPackages = python27.pkgs;
-  };
-
-  mkdocs-exclude = python27.pkgs.callPackage ./mkdocs-exclude.nix {
-    pythonPackages = python27.pkgs;
-  };
-in stdenv.mkDerivation rec {
+}: stdenv.mkDerivation rec {
 
   pname = "redo-apenwarr";
-  version = "0.42";
+  version = "0.42a";
 
   src = fetchFromGitHub rec {
     owner = "apenwarr";
     repo = "redo";
     rev = "${repo}-${version}";
-    sha256 = "1060yb7hrxm8c7bfvb0y4j0acpxsj6hbykw1d9549zpkxxr9nsgm";
+    sha256 = "172z2idslhcqibd4lw82k6349nl5fdda2vj10dqcjz0lvv6n7php";
   };
 
   postPatch = ''
@@ -60,10 +49,8 @@ in stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    python27
-    beautifulsoup
-    mkdocs
-    mkdocs-exclude
+    python3
+    (with python3.pkgs; [ beautifulsoup4 markdown ])
     which
     findutils
   ];
diff --git a/pkgs/development/tools/build-managers/redo-apenwarr/mkdocs-exclude.nix b/pkgs/development/tools/build-managers/redo-apenwarr/mkdocs-exclude.nix
deleted file mode 100644
index d8c79e33dffb..000000000000
--- a/pkgs/development/tools/build-managers/redo-apenwarr/mkdocs-exclude.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ pythonPackages, isPy3k, pkgs }:
-
-pythonPackages.buildPythonPackage rec {
-  name = "mkdocs-exclude";
-  disabled = isPy3k;
-
-  src = pkgs.fetchFromGitHub {
-    owner = "apenwarr";
-    repo = "mkdocs-exclude";
-    rev = "fdd67d2685ff706de126e99daeaaaf3f6f7cf3ae";
-    sha256 = "1phhl79xf4xq8w2sb2w5zm4bahcr33gsbxkz7dl1dws4qhcbxrfd";
-  };
-
-  buildInputs = with pkgs; [
-    mkdocs
-  ];
-
-  # error: invalid command 'test'
-  doCheck = false;
-}
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index 55e0dc790ed3..6f207ee4f5f3 100644
--- a/pkgs/development/tools/buildah/default.nix
+++ b/pkgs/development/tools/buildah/default.nix
@@ -4,13 +4,13 @@
 
 buildGoPackage rec {
   pname = "buildah";
-  version = "1.14.2";
+  version = "1.14.5";
 
   src = fetchFromGitHub {
     owner  = "containers";
     repo   = "buildah";
     rev    = "v${version}";
-    sha256 = "1475k8h1l8rbbs6hyq9gxksh9884l1674z77fmiyr5vzql5yf7ca";
+    sha256 = "186jla2gy9xsl54siji5i7a3hc8sjp5gcc78j43xn11i8brdf684";
   };
 
   outputs = [ "bin" "man" "out" ];
diff --git a/pkgs/development/tools/conftest/default.nix b/pkgs/development/tools/conftest/default.nix
index ae35170cd193..7ce2594d84f6 100644
--- a/pkgs/development/tools/conftest/default.nix
+++ b/pkgs/development/tools/conftest/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "conftest";
-  version = "0.15.0";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "instrumenta";
     repo = "conftest";
     rev = "v${version}";
-    sha256 = "0lb644fj80r4igxbslbd5pksirnyf6slz4yn0mznyx8i2bd1g4ic";
+    sha256 = "189as930fksyqk3z636gyqdym1bqm522mya7msfnhzpnh46k5jvd";
   };
 
-  modSha256 = "1p7fjg1vcrcxb4f5hd00qxx4fqcl051klcjs6ljn4v46qcpn6dcn";
+  modSha256 = "0gm08lrlaxc7504mapjdm3c4mwlzybnqxfwkkh6fawzvmd9sqddr";
 
   buildFlagsArray = ''
     -ldflags=
@@ -20,7 +20,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Write tests against structured configuration data";
-    homepage = https://github.com/instrumenta/conftest;
+    homepage = "https://github.com/instrumenta/conftest";
     license = licenses.asl20;
     maintainers = with maintainers; [ yurrriq ];
     platforms = platforms.all;
diff --git a/pkgs/development/tools/continuous-integration/fly/default.nix b/pkgs/development/tools/continuous-integration/fly/default.nix
index 1a56be02a284..e5454796b7e4 100644
--- a/pkgs/development/tools/continuous-integration/fly/default.nix
+++ b/pkgs/development/tools/continuous-integration/fly/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fly";
-  version = "5.7.2";
+  version = "5.8.0";
 
   src = fetchFromGitHub {
     owner = "concourse";
     repo = "concourse";
     rev = "v${version}";
-    sha256 = "1jhc2h00rh6lpgdq3n2d1sk7gdzmhkigyra04gf70s6kjb903igw";
+    sha256 = "0ji3jya4b2b4l6dlvydh3k2jfh6kkhii23d6rmi49ypydhn1qmgj";
   };
 
-  modSha256 = "00qagz28iz1z5kjshs1m74bf12qlhjbkf4pbchy7lzf09bd291pg";
+  modSha256 = "14wwspp8x6i4ry23bz8b08mfyzrwc9m7clrylxzr8j67yhg5kw6v";
 
   subPackages = [ "fly" ];
 
@@ -30,7 +30,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "A command line interface to Concourse CI";
-    homepage = https://concourse-ci.org;
+    homepage = "https://concourse-ci.org";
     license = licenses.asl20;
     maintainers = with maintainers; [ ivanbrennan ];
   };
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 01c6ec0df29e..df1cef6f3f84 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 = "12.8.0";
+  version = "12.9.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 = "02k9nzfqlsd78dan522qynbz2i2ggvf960968vmg0wdg6rjv19z2";
+    sha256 = "0kd4zc9rgzsl6imk9vi2yqpaxrgy8ywcz2vvpsfzrhhmm2yx3qh0";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz";
-    sha256 = "098g6948w8skbz9z5212ndsxvf3k12aijy0v2a7c86r0zhlga52x";
+    sha256 = "13xwcvw6m3p5ffas5mr55jkqks9s3f7qg1b928vcxkx57j06kb22";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "17cs7bs3dxkj6r7hip6kv7cj7g5lq9x1g3gcl2kjj8djxzkhfc4m";
+    sha256 = "0p9i4z0xsq5rl6gkqjpwpz6hb57vi6wl969gncrsfskjjc1kcifq";
   };
 
   patches = [ ./fix-shell-path.patch ];
diff --git a/pkgs/development/tools/database/liquibase/default.nix b/pkgs/development/tools/database/liquibase/default.nix
index 890ef73a73f9..d66d54ef45bb 100644
--- a/pkgs/development/tools/database/liquibase/default.nix
+++ b/pkgs/development/tools/database/liquibase/default.nix
@@ -10,11 +10,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "liquibase";
-  version = "3.8.7";
+  version = "3.8.8";
 
   src = fetchurl {
     url = "https://github.com/liquibase/liquibase/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "0gs3pmzyx2bz6af2fr5jla3s33vfaw64pgahfvj5bgpj6d7vx1wg";
+    sha256 = "1pl9wgnwykvbnis0ndym0lbsj6a7lvpghrc98cw2hdnp5dglxjjl";
   };
 
   buildInputs = [ jre makeWrapper ];
diff --git a/pkgs/development/tools/database/webdis/default.nix b/pkgs/development/tools/database/webdis/default.nix
new file mode 100644
index 000000000000..fd705c4fc1b0
--- /dev/null
+++ b/pkgs/development/tools/database/webdis/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, hiredis, http-parser, jansson, libevent, fetchpatch }:
+
+stdenv.mkDerivation rec {
+  pname = "webdis";
+  version = "0.1.9";
+
+  src = fetchFromGitHub {
+    owner = "nicolasff";
+    repo = pname;
+    rev = version;
+    sha256 = "1kglzbs1sw3w05i678qr3lv4pxia20k2a8s3pjhfcxdlnlcy23sk";
+  };
+
+  patches = [
+    # Do not use DESTDIR. See: https://github.com/nicolasff/webdis/pull/172
+    (fetchpatch {
+      url = "https://github.com/nicolasff/webdis/commit/a44a2964a59f2e583f4945eeb65cd19235059270.patch";
+      sha256 = "0i41p98gc201vpp5ppjc9gxdyb1bpimr0qrvibaf3iq3sy4jr1gb";
+    })
+  ];
+
+  buildInputs = [ hiredis http-parser jansson libevent ];
+
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+    "CONFDIR=${placeholder "out"}/share/webdis"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A Redis HTTP interface with JSON output";
+    homepage = "https://webd.is/";
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wucke13 ];
+  };
+}
diff --git a/pkgs/development/tools/flatpak-builder/default.nix b/pkgs/development/tools/flatpak-builder/default.nix
index 1bb5c23645d6..e400051e2c66 100644
--- a/pkgs/development/tools/flatpak-builder/default.nix
+++ b/pkgs/development/tools/flatpak-builder/default.nix
@@ -29,6 +29,7 @@
 , gnumake
 , gnupg
 , gnutar
+, p7zip
 , json-glib
 , libcap
 , libdwarf
@@ -44,16 +45,15 @@
 let
   installed_testdir = "${placeholder "installedTests"}/libexec/installed-tests/flatpak-builder";
   installed_test_metadir = "${placeholder "installedTests"}/share/installed-tests/flatpak-builder";
-  version = "1.0.9";
 in stdenv.mkDerivation rec {
   pname = "flatpak-builder";
-  inherit version;
+  version = "1.0.10";
 
   outputs = [ "out" "doc" "man" "installedTests" ];
 
   src = fetchurl {
     url = "https://github.com/flatpak/flatpak-builder/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "00qd770qjsiyd8qhhhyn7zg6jyi283ix5dhjzcfdn9yr3h53kvyn";
+    sha256 = "1fn61cl1d33yd1jgqm8jpffjw3xlyyhkn032g14d9gnwkcaf4649";
   };
 
   nativeBuildInputs = [
@@ -99,6 +99,7 @@ in stdenv.mkDerivation rec {
       cpio = "${cpio}/bin/cpio";
       git = "${gitMinimal}/bin/git";
       rofilesfuse = "${ostree}/bin/rofiles-fuse";
+      sevenz = "${p7zip}/bin/7z";
       strip = "${binutils}/bin/strip";
       eustrip = "${elfutils}/bin/eu-strip";
       euelfcompress = "${elfutils}/bin/eu-elfcompress";
@@ -146,8 +147,8 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Tool to build flatpaks from source";
-    homepage = https://flatpak.org/;
-    license = licenses.lgpl21;
+    homepage = "https://github.com/flatpak/flatpak-builder";
+    license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/development/tools/flatpak-builder/fix-paths.patch b/pkgs/development/tools/flatpak-builder/fix-paths.patch
index 6b82e623a02c..cc7d9e82b0af 100644
--- a/pkgs/development/tools/flatpak-builder/fix-paths.patch
+++ b/pkgs/development/tools/flatpak-builder/fix-paths.patch
@@ -1,6 +1,6 @@
 --- a/src/builder-context.c
 +++ b/src/builder-context.c
-@@ -763,7 +763,7 @@
+@@ -800,7 +800,7 @@ builder_context_enable_rofiles (BuilderContext *self,
    g_autoptr(GFile) rofiles_base = NULL;
    g_autoptr(GFile) rofiles_dir = NULL;
    g_autofree char *tmpdir_name = NULL;
@@ -11,7 +11,7 @@
                     (char *)flatpak_file_get_path_cached (self->app_dir),
 --- a/src/builder-git.c
 +++ b/src/builder-git.c
-@@ -44,7 +44,7 @@
+@@ -44,7 +44,7 @@ git (GFile   *dir,
    va_list ap;
  
    va_start (ap, error);
@@ -20,7 +20,7 @@
    va_end (ap);
  
    return res;
-@@ -58,7 +58,7 @@
+@@ -58,7 +58,7 @@ cp (GError **error,
    va_list ap;
  
    va_start (ap, error);
@@ -31,7 +31,7 @@
    return res;
 --- a/src/builder-source-archive.c
 +++ b/src/builder-source-archive.c
-@@ -430,7 +430,7 @@
+@@ -443,7 +443,7 @@ tar (GFile   *dir,
    va_list ap;
  
    va_start (ap, error);
@@ -40,7 +40,7 @@
    va_end (ap);
  
    return res;
-@@ -445,7 +445,7 @@
+@@ -458,7 +458,7 @@ unzip (GFile   *dir,
    va_list ap;
  
    va_start (ap, error);
@@ -49,7 +49,16 @@
    va_end (ap);
  
    return res;
-@@ -457,7 +457,7 @@
+@@ -470,7 +470,7 @@ un7z (GFile       *dir,
+       GError     **error)
+ {
+   gboolean res;
+-  const gchar *argv[] = { "7z",  "x", sevenz_path, NULL };
++  const gchar *argv[] = { "@sevenz@",  "x", sevenz_path, NULL };
+ 
+   res = flatpak_spawnv (dir, NULL, 0, error, argv);
+ 
+@@ -483,7 +483,7 @@ unrpm (GFile   *dir,
         GError **error)
  {
    gboolean res;
@@ -58,7 +67,7 @@
        "sh", /* shell's $0 */
        rpm_path, /* shell's $1 */
        NULL };
-@@ -604,7 +604,7 @@
+@@ -631,7 +631,7 @@ git (GFile   *dir,
    va_list ap;
  
    va_start (ap, error);
@@ -69,7 +78,7 @@
    return res;
 --- a/src/builder-source-bzr.c
 +++ b/src/builder-source-bzr.c
-@@ -124,7 +124,7 @@
+@@ -124,7 +124,7 @@ bzr (GFile   *dir,
    va_list ap;
  
    va_start (ap, error);
@@ -80,7 +89,7 @@
    return res;
 --- a/src/builder-source-patch.c
 +++ b/src/builder-source-patch.c
-@@ -215,15 +215,15 @@
+@@ -247,15 +247,15 @@ patch (GFile      *dir,
  
    args = g_ptr_array_new ();
    if (use_git) {
@@ -101,7 +110,7 @@
      g_ptr_array_add (args, (gchar *) extra_options[i]);
 --- a/src/builder-utils.c
 +++ b/src/builder-utils.c
-@@ -149,7 +149,7 @@
+@@ -149,7 +149,7 @@ strip (GError **error,
    va_list ap;
  
    va_start (ap, error);
@@ -110,7 +119,7 @@
    va_end (ap);
  
    return res;
-@@ -163,7 +163,7 @@
+@@ -163,7 +163,7 @@ eu_strip (GError **error,
    va_list ap;
  
    va_start (ap, error);
@@ -119,7 +128,7 @@
    va_end (ap);
  
    return res;
-@@ -177,7 +177,7 @@
+@@ -177,7 +177,7 @@ eu_elfcompress (GError **error,
    va_list ap;
  
    va_start (ap, error);
diff --git a/pkgs/development/tools/fmbt/default.nix b/pkgs/development/tools/fmbt/default.nix
index 3100daae389b..71365c01bfdd 100644
--- a/pkgs/development/tools/fmbt/default.nix
+++ b/pkgs/development/tools/fmbt/default.nix
@@ -4,14 +4,14 @@
 , tesseract, gts, libXtst
 }:
 stdenv.mkDerivation rec {
-  version = "0.39";
+  version = "0.42";
   pname = "fMBT";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "fMBT";
     rev = "v${version}";
-    sha256 = "15sxwdcsjybq50vkla4md2ay8m67ndc4vwcsl5vwsjkim5qlxslb";
+    sha256 = "1jb9nb2mipc5cg99a80dny4m06vz2zral0q30fv75rz2cb6ja4zp";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig flex makeWrapper
diff --git a/pkgs/development/tools/geckodriver/default.nix b/pkgs/development/tools/geckodriver/default.nix
index 1120d5dc68da..44e98d8d1860 100644
--- a/pkgs/development/tools/geckodriver/default.nix
+++ b/pkgs/development/tools/geckodriver/default.nix
@@ -21,10 +21,7 @@ rustPlatform.buildRustPackage {
   });
 
   cargoPatches = [ ./cargo-lock.patch ];
-  # Delete this on next update; see #79975 for details
-  legacyCargoFetcher = true;
-
-  cargoSha256 = "07w5lmvm5w6id0qikcs968n0c69bb6fav63l66bskxcjva67d6dy";
+  cargoSha256 = "1dv8vcjy8r9z19grj4gms05bhaafyr42y3q69h3azwq6dmacfd3y";
 
   buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
 
diff --git a/pkgs/development/tools/go2nix/default.nix b/pkgs/development/tools/go2nix/default.nix
index 26458a3ca2ef..adf0977c67d4 100644
--- a/pkgs/development/tools/go2nix/default.nix
+++ b/pkgs/development/tools/go2nix/default.nix
@@ -19,7 +19,8 @@ buildGoPackage rec {
 
   outputs = [ "bin" "out" "man" ];
 
-  buildInputs = [ go-bindata gotools makeWrapper ];
+  nativeBuildInputs = [ go-bindata gotools makeWrapper ];
+
   preBuild = ''go generate ./...'';
 
   postInstall = ''
diff --git a/pkgs/development/tools/godot/default.nix b/pkgs/development/tools/godot/default.nix
index 56b81f494e15..832d30ee8e87 100644
--- a/pkgs/development/tools/godot/default.nix
+++ b/pkgs/development/tools/godot/default.nix
@@ -10,13 +10,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "godot";
-  version = "3.2";
+  version = "3.2.1";
 
   src = fetchFromGitHub {
     owner  = "godotengine";
     repo   = "godot";
     rev    = "${version}-stable";
-    sha256 = "0f15izjl4i2xlz1xj5pcslzl9gm3rmr3c21gh256ynpi2zhhkcdd";
+    sha256 = "1kndls0rklha7kz9l4i2ivjxab4jpk3b2j7dcgcg2qc3s81yd0r6";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/tools/golangci-lint/default.nix b/pkgs/development/tools/golangci-lint/default.nix
index 36c3bde97afc..14311b0c7a51 100644
--- a/pkgs/development/tools/golangci-lint/default.nix
+++ b/pkgs/development/tools/golangci-lint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "golangci-lint";
-  version = "1.23.8";
+  version = "1.24.0";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    sha256 = "166pwgf86lkd277dq98vjry0ad0avrz12zxb9rfgbhl1z4ccwi1g";
+    sha256 = "0m7mcppbgpx2kyl5f9nk61x521v49h18az5l4ads1f3jkkyiya6s";
   };
 
-  modSha256 = "0sckz298bvkf4p4fdmsmza0zrj2s2pvc86qwg6i76vdh9yzvq5gx";
+  modSha256 = "0ab1s8pqkpss15rd9brin39lzx2fqkvq2v3nhk8kfrgpari2addk";
   subPackages = [ "cmd/golangci-lint" ];
 
   meta = with lib; {
diff --git a/pkgs/development/tools/gotestsum/default.nix b/pkgs/development/tools/gotestsum/default.nix
index 839c12c04af6..45629338d9ea 100644
--- a/pkgs/development/tools/gotestsum/default.nix
+++ b/pkgs/development/tools/gotestsum/default.nix
@@ -2,16 +2,18 @@
 
 buildGoModule rec {
   pname = "gotestsum";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "gotestyourself";
     repo = "gotestsum";
     rev = "v${version}";
-    sha256 = "0y71qr3ss3hgc8c7nmvpwk946xy1jc5d8whsv6y77wb24ncla7n0";
+    sha256 = "1wllcmc2c8ch2ggknhxwgdm6g70ppmxr492kbxvlbwif9p6ms0ci";
   };
 
-  modSha256 = "1dgs643pmcw68yc003zss52hbvsy6hxzwkrhr0qmsqkmzxryb3bn";
+  modSha256 = "08vil1jb7dpkld59b6qhsfh9cx450vbgfaji7777immzsd1azf4m";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/gotestyourself/gotestsum";
diff --git a/pkgs/development/tools/gotools/default.nix b/pkgs/development/tools/gotools/default.nix
index 430f17bfb5b0..d46c9a9fb311 100644
--- a/pkgs/development/tools/gotools/default.nix
+++ b/pkgs/development/tools/gotools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, go, buildGoModule, fetchgit }:
+{ stdenv, go, buildGoModule, fetchgit, Security }:
 
 buildGoModule rec {
   pname = "gotools-unstable";
@@ -11,6 +11,8 @@ buildGoModule rec {
     sha256 = "16m62m303j4wqfjr1401xpqpb9m11bs6qc2dhf6x2za2d9pycish";
   };
 
+  buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
+
   # Build of golang.org/x/tools/gopls fails with:
   #   can't load package: package golang.org/x/tools/gopls: unknown import path "golang.org/x/tools/gopls": cannot find module providing package golang.org/x/tools/gopls
   # That is most probably caused by golang.org/x/tools/gopls containing a separate Go module.
diff --git a/pkgs/development/tools/java/visualvm/default.nix b/pkgs/development/tools/java/visualvm/default.nix
index 4dd6c1efc900..b85ae307ee5a 100644
--- a/pkgs/development/tools/java/visualvm/default.nix
+++ b/pkgs/development/tools/java/visualvm/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchzip, lib, makeWrapper, makeDesktopItem, jdk, gtk2, gawk }:
+{ stdenv, fetchzip, lib, makeWrapper, makeDesktopItem, jdk, gawk }:
 
 stdenv.mkDerivation rec {
-  version = "1.4.4";
+  version = "2.0";
   pname = "visualvm";
 
   src = fetchzip {
     url = "https://github.com/visualvm/visualvm.src/releases/download/${version}/visualvm_${builtins.replaceStrings ["."] [""]  version}.zip";
-    sha256 = "04x4z1013nzjgz9nhs743sphjgg7d3yjn0phxfmxdjzqpff9l133";
+    hash = "sha256-+T8U/GwMA46FHd0p6qpklHXb6+HPCbbIbo6s2Y/77RQ=";
   };
 
   desktopItem = makeDesktopItem {
@@ -26,16 +26,11 @@ stdenv.mkDerivation rec {
     substituteInPlace etc/visualvm.conf \
       --replace "#visualvm_jdkhome=" "visualvm_jdkhome=" \
       --replace "/path/to/jdk" "${jdk.home}" \
-      --replace 'visualvm_default_options="' 'visualvm_default_options="--laf com.sun.java.swing.plaf.gtk.GTKLookAndFeel -J-Dawt.useSystemAAFontSettings=lcd -J-Dswing.aatext=true '
 
     substituteInPlace platform/lib/nbexec \
       --replace /usr/bin/\''${awk} ${gawk}/bin/awk
 
     cp -r . $out
-
-    # To get the native LAF, JVM needs to see GTK’s .so-s.
-    wrapProgram $out/bin/visualvm \
-      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gtk2 ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/lazygit/default.nix b/pkgs/development/tools/lazygit/default.nix
index 9a27c7d44e9c..4b99cfb10e0d 100644
--- a/pkgs/development/tools/lazygit/default.nix
+++ b/pkgs/development/tools/lazygit/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "lazygit";
-  version = "0.16.2";
+  version = "0.18";
 
   goPackagePath = "github.com/jesseduffield/lazygit";
 
@@ -12,7 +12,7 @@ buildGoPackage rec {
     owner = "jesseduffield";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0lvhj4iz74h97lkylqg7hl18xcxcl9msxxvap7jqdj2mf2iwxi32";
+    sha256 = "1zc6y386w111ygyng5s74zg49iajzs77dbrcdy33igj0hbnkwq2x";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/literate-programming/noweb/default.nix b/pkgs/development/tools/literate-programming/noweb/default.nix
index 8806b5a81cd1..11ff50016785 100644
--- a/pkgs/development/tools/literate-programming/noweb/default.nix
+++ b/pkgs/development/tools/literate-programming/noweb/default.nix
@@ -27,16 +27,19 @@ let noweb = stdenv.mkDerivation rec {
     "CC=clang"
   ];
 
+
   installFlags = [
-    "BIN=$(out)/bin"
-    "ELISP=$(out)/share/emacs/site-lisp"
-    "LIB=$(out)/lib/noweb"
-    "MAN=$(out)/share/man"
-    "TEXINPUTS=$(tex)/tex/latex/noweb"
   ];
 
   preInstall = ''
     mkdir -p "$tex/tex/latex/noweb"
+    installFlagsArray+=(                                   \
+        "BIN=${placeholder "out"}/bin"                     \
+        "ELISP=${placeholder "out"}/share/emacs/site-lisp" \
+        "LIB=${placeholder "out"}/lib/noweb"               \
+        "MAN=${placeholder "out"}/share/man"               \
+        "TEXINPUTS=${placeholder "tex"}/tex/latex/noweb"   \
+    )
   '';
 
   installTargets = [ "install-code" "install-tex" "install-elisp" ];
@@ -57,7 +60,7 @@ let noweb = stdenv.mkDerivation rec {
 
     # HACK: This is ugly, but functional.
     PATH=$out/bin:$PATH make -BC xdoc
-    make "''${installFlags[@]} install-man"
+    make "''${installFlagsArray[@]}" install-man
 
     ln -s "$tex" "$out/share/texmf"
   '';
diff --git a/pkgs/development/tools/literate-programming/nuweb/default.nix b/pkgs/development/tools/literate-programming/nuweb/default.nix
index 41c4b25c8b1b..30eb28fc698c 100644
--- a/pkgs/development/tools/literate-programming/nuweb/default.nix
+++ b/pkgs/development/tools/literate-programming/nuweb/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec{
 
   pname = "nuweb";
-  version = "1.58";
+  version = "1.60";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/nuweb/${pname}-${version}.tar.gz";
-    sha256 = "0q51i3miy15fv4njjp82yws01qfjxvqx5ly3g3vh8z3h7iq9p47y";
+    sha256 = "08xmwq48biy2c1fr8wnyknyvqs9jfsj42cb7fw638xqv35f0xxvl";
   };
 
   buildInputs = [ tex ];
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec{
     homepage = http://nuweb.sourceforge.net;
     license = licenses.free;
     maintainers = [ maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
 # TODO: nuweb.el Emacs integration
diff --git a/pkgs/development/tools/metals/default.nix b/pkgs/development/tools/metals/default.nix
index 6ac2d4404eb9..85a27fd9150b 100644
--- a/pkgs/development/tools/metals/default.nix
+++ b/pkgs/development/tools/metals/default.nix
@@ -2,7 +2,7 @@
 
 let
   baseName = "metals";
-  version = "0.8.1";
+  version = "0.8.3";
   deps = stdenv.mkDerivation {
     name = "${baseName}-deps-${version}";
     buildCommand = ''
@@ -15,7 +15,7 @@ let
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "0m1vly213cazylg1rmfh5qk3bq65aafa0rf1anfdb3ggymylwza0";
+    outputHash     = "1l196glr7rbsvrqmq6i7iw532jkz8d1w5m9nh0kh5z12visc7bkk";
   };
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/tools/misc/circleci-cli/default.nix b/pkgs/development/tools/misc/circleci-cli/default.nix
index f4bdd0c09af3..fde1c68d34d0 100644
--- a/pkgs/development/tools/misc/circleci-cli/default.nix
+++ b/pkgs/development/tools/misc/circleci-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "circleci-cli";
-  version = "0.1.6072";
+  version = "0.1.6949";
 
   src = fetchFromGitHub {
     owner = "CircleCI-Public";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1sbzl6y7974sib14qr2qa6d20cs54h6a3mc1whbxifg87cw02qjn";
+    sha256 = "0r64m4lcm9w0rzi61rsi3sm719ydwiv5axxnikwhzmvkdz0rd7dq";
   };
 
-  modSha256 = "1pxqc2a1hb6bk67sd2c37zwg6n7h0jay3yqsjcs4jc0bqv48gzip";
+  modSha256 = "199ai38knp50mjjhddjd70qfwx63c69rf7ddw4hpzgx5cm5a04q2";
 
   buildFlagsArray = [ "-ldflags=-s -w -X github.com/CircleCI-Public/circleci-cli/version.Version=${version}" ];
 
@@ -32,6 +32,6 @@ buildGoModule rec {
     '';
     maintainers = with maintainers; [ synthetica ];
     license = licenses.mit;
-    homepage = https://circleci.com/;
+    homepage = "https://circleci.com/";
   };
 }
diff --git a/pkgs/development/tools/misc/drush/default.nix b/pkgs/development/tools/misc/drush/default.nix
index f9a640d47038..e0f85c45f290 100644
--- a/pkgs/development/tools/misc/drush/default.nix
+++ b/pkgs/development/tools/misc/drush/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, php, which, makeWrapper, bash, coreutils, ncurses }:
+{ stdenv, fetchurl, php73, which, makeWrapper, bash, coreutils, ncurses }:
 
 stdenv.mkDerivation rec {
   name = "drush-6.1.0";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     sha256 = "07gbjd7m1fj5dmavr0z20vkqwx1cz2522sj9022p257jifj1yl76";
   };
 
-  buildInputs = [ php which makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     # install libraries
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     mkdir -p "$out"
     cp -r . "$out/src"
     mkdir "$out/bin"
-    wrapProgram "$out/src/drush" --prefix PATH : "${stdenv.lib.makeBinPath [ which php bash coreutils ncurses ]}"
+    wrapProgram "$out/src/drush" --prefix PATH : "${stdenv.lib.makeBinPath [ which php73 bash coreutils ncurses ]}"
     ln -s "$out/src/drush" "$out/bin/drush"
   '';
 }
diff --git a/pkgs/development/tools/misc/gede/default.nix b/pkgs/development/tools/misc/gede/default.nix
index 00cc411dc403..0965f9fcddc3 100644
--- a/pkgs/development/tools/misc/gede/default.nix
+++ b/pkgs/development/tools/misc/gede/default.nix
@@ -2,11 +2,11 @@
 
 mkDerivation rec {
   pname = "gede";
-  version = "2.15.4";
+  version = "2.16.2";
 
   src = fetchurl {
     url = "http://gede.acidron.com/uploads/source/${pname}-${version}.tar.xz";
-    sha256 = "0bg7vyvznn1gn6w5yn14j59xph9psf2fyxr434pk62wmbzdpmkfg";
+    sha256 = "18a8n9yvhgkbc97p2995j7b5ncfdzy1fy13ahdafqmcpkl4r1hrj";
   };
 
   nativeBuildInputs = [ qmake makeWrapper python ];
diff --git a/pkgs/development/tools/misc/hydra-cli/default.nix b/pkgs/development/tools/misc/hydra-cli/default.nix
index 5cdd9b0ce1d6..b585d27b710f 100644
--- a/pkgs/development/tools/misc/hydra-cli/default.nix
+++ b/pkgs/development/tools/misc/hydra-cli/default.nix
@@ -13,11 +13,11 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "1sj80a99iakxxa698gggiszsrxwlwhr2sx4wmsni0cshx6z2x6za";
 
-  buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
+  buildInputs = [ openssl ]
+                ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
 
   nativeBuildInputs = [
     pkgconfig
-    openssl
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/misc/hydra/common.nix b/pkgs/development/tools/misc/hydra/common.nix
new file mode 100644
index 000000000000..983f144efb66
--- /dev/null
+++ b/pkgs/development/tools/misc/hydra/common.nix
@@ -0,0 +1,134 @@
+{ stdenv, nix, perlPackages, buildEnv, fetchFromGitHub
+, makeWrapper, autoconf, automake, libtool, unzip, pkgconfig, sqlite, libpqxx
+, gitAndTools, mercurial, darcs, subversion, bazaar, openssl, bzip2, libxslt
+, guile, perl, postgresql, nukeReferences, git, boehmgc, nlohmann_json
+, docbook_xsl, openssh, gnused, coreutils, findutils, gzip, lzma, gnutar
+, rpm, dpkg, cdrkit, pixz, lib, boost, autoreconfHook, src ? null, version ? null
+, migration ? false
+}:
+
+with stdenv;
+
+if lib.versions.major nix.version == "1"
+  then throw "This Hydra version doesn't support Nix 1.x"
+else
+
+let
+  perlDeps = buildEnv {
+    name = "hydra-perl-deps";
+    paths = with perlPackages; lib.closePropagation
+      [ ModulePluggable
+        CatalystActionREST
+        CatalystAuthenticationStoreDBIxClass
+        CatalystDevel
+        CatalystDispatchTypeRegex
+        CatalystPluginAccessLog
+        CatalystPluginAuthorizationRoles
+        CatalystPluginCaptcha
+        CatalystPluginSessionStateCookie
+        CatalystPluginSessionStoreFastMmap
+        CatalystPluginStackTrace
+        CatalystRuntime
+        CatalystTraitForRequestProxyBase
+        CatalystViewDownload
+        CatalystViewJSON
+        CatalystViewTT
+        CatalystXScriptServerStarman
+        CatalystXRoleApplicator
+        CryptRandPasswd
+        DBDPg
+        DBDSQLite
+        DataDump
+        DateTime
+        DigestSHA1
+        EmailMIME
+        EmailSender
+        FileSlurp
+        IOCompress
+        IPCRun
+        JSON
+        JSONAny
+        JSONXS
+        LWP
+        LWPProtocolHttps
+        NetAmazonS3
+        NetPrometheus
+        NetStatsd
+        PadWalker
+        Readonly
+        SQLSplitStatement
+        SetScalar
+        Starman
+        SysHostnameLong
+        TermSizeAny
+        TextDiff
+        TextTable
+        XMLSimple
+        nix
+        nix.perl-bindings
+        git
+        boehmgc
+      ];
+  };
+in stdenv.mkDerivation rec {
+  pname = "hydra";
+
+  inherit stdenv src version;
+
+  buildInputs =
+    [ makeWrapper autoconf automake libtool unzip nukeReferences sqlite libpqxx
+      gitAndTools.top-git mercurial /*darcs*/ subversion bazaar openssl bzip2 libxslt
+      perlDeps perl nix
+      postgresql # for running the tests
+      nlohmann_json
+      boost
+    ];
+
+  hydraPath = lib.makeBinPath (
+    [ sqlite subversion openssh nix coreutils findutils pixz
+      gzip bzip2 lzma gnutar unzip git gitAndTools.top-git mercurial /*darcs*/ gnused bazaar
+    ] ++ lib.optionals stdenv.isLinux [ rpm dpkg cdrkit ] );
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  configureFlags = [ "--with-docbook-xsl=${docbook_xsl}/xml/xsl/docbook" ];
+
+  NIX_CFLAGS_COMPILE = "-pthread";
+
+  shellHook = ''
+    PATH=$(pwd)/src/script:$(pwd)/src/hydra-eval-jobs:$(pwd)/src/hydra-queue-runner:$(pwd)/src/hydra-evaluator:$PATH
+    PERL5LIB=$(pwd)/src/lib:$PERL5LIB;
+  '';
+
+  enableParallelBuilding = true;
+
+  preCheck = ''
+    patchShebangs .
+    export LOGNAME=''${LOGNAME:-foo}
+  '';
+
+  postInstall = ''
+    mkdir -p $out/nix-support
+    for i in $out/bin/*; do
+        read -n 4 chars < $i
+        if [[ $chars =~ ELF ]]; then continue; fi
+        wrapProgram $i \
+            --prefix PERL5LIB ':' $out/libexec/hydra/lib:$PERL5LIB \
+            --prefix PATH ':' $out/bin:$hydraPath \
+            --set HYDRA_RELEASE ${version} \
+            --set HYDRA_HOME $out/libexec/hydra \
+            --set NIX_RELEASE ${nix.name or "unknown"}
+    done
+  ''; # */
+
+  dontStrip = true;
+
+  passthru = { inherit perlDeps migration; };
+
+  meta = with stdenv.lib; {
+    description = "Nix-based continuous build system";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix
index 72aecf20ca39..35c069211b3f 100644
--- a/pkgs/development/tools/misc/hydra/default.nix
+++ b/pkgs/development/tools/misc/hydra/default.nix
@@ -1,143 +1,42 @@
-{ stdenv, nix, perlPackages, buildEnv, fetchFromGitHub
-, makeWrapper, autoconf, automake, libtool, unzip, pkgconfig, sqlite, libpqxx
-, gitAndTools, mercurial, darcs, subversion, bazaar, openssl, bzip2, libxslt
-, guile, perl, postgresql, nukeReferences, git, boehmgc, nlohmann_json
-, docbook_xsl, openssh, gnused, coreutils, findutils, gzip, lzma, gnutar
-, rpm, dpkg, cdrkit, pixz, lib, boost, autoreconfHook
-}:
-
-with stdenv;
-
-if lib.versions.major nix.version == "1"
-  then throw "This Hydra version doesn't support Nix 1.x"
-else
-
-let
-  perlDeps = buildEnv {
-    name = "hydra-perl-deps";
-    paths = with perlPackages; lib.closePropagation
-      [ ModulePluggable
-        CatalystActionREST
-        CatalystAuthenticationStoreDBIxClass
-        CatalystDevel
-        CatalystDispatchTypeRegex
-        CatalystPluginAccessLog
-        CatalystPluginAuthorizationRoles
-        CatalystPluginCaptcha
-        CatalystPluginSessionStateCookie
-        CatalystPluginSessionStoreFastMmap
-        CatalystPluginStackTrace
-        CatalystPluginUnicodeEncoding
-        CatalystTraitForRequestProxyBase
-        CatalystViewDownload
-        CatalystViewJSON
-        CatalystViewTT
-        CatalystXScriptServerStarman
-        CatalystXRoleApplicator
-        CryptRandPasswd
-        DBDPg
-        DBDSQLite
-        DataDump
-        DateTime
-        DigestSHA1
-        EmailMIME
-        EmailSender
-        FileSlurp
-        IOCompress
-        IPCRun
-        JSON
-        JSONAny
-        JSONXS
-        LWP
-        LWPProtocolHttps
-        NetAmazonS3
-        NetPrometheus
-        NetStatsd
-        PadWalker
-        Readonly
-        SQLSplitStatement
-        SetScalar
-        Starman
-        SysHostnameLong
-        TermSizeAny
-        TestMore
-        TextDiff
-        TextTable
-        XMLSimple
-        nix
-        nix.perl-bindings
-        git
-        boehmgc
-      ];
+{ fetchFromGitHub, nixStable, nixUnstable, callPackage, nixFlakes }:
+
+{
+  # Package for phase-1 of the db migration for Hydra.
+  # https://github.com/NixOS/hydra/pull/711
+  hydra-migration = callPackage ./common.nix {
+    version = "2020-02-10";
+    src = fetchFromGitHub {
+      owner = "NixOS";
+      repo = "hydra";
+      rev = "add4f610ce6f206fb44702b5a894d877b3a30e3a";
+      sha256 = "1d8hdgjx2ys0zmixi2ydmimdq7ml20h1ji4amwawcyw59kssh6l3";
+    };
+    nix = nixStable;
+    migration = true;
   };
-in stdenv.mkDerivation rec {
-  pname = "hydra";
-  version = "2020-02-06";
-
-  inherit stdenv;
 
-  src = fetchFromGitHub {
-    owner = "NixOS";
-    repo = pname;
-    rev = "2b4f14963b16b21ebfcd6b6bfa7832842e9b2afc";
-    sha256 = "16q0cffcsfx5pqd91n9k19850c1nbh4vvbd9h8yi64ihn7v8bick";
+  # Hydra from latest master (or flakes) branch. Contains breaking changes,
+  # so when having an older version, `pkgs.hydra-migration` should be deployed first.
+
+  hydra-unstable = callPackage ./common.nix {
+    version = "2020-03-24";
+    src = fetchFromGitHub {
+      owner = "NixOS";
+      repo = "hydra";
+      rev = "12cc46cdb36321acd4c982429a86eb0f8f3cc969";
+      sha256 = "10ipxzdxr47c8w5jg69mbax2ykc7lb5fs9bbdd3iai9wzyfz17ln";
+    };
+    nix = nixUnstable;
   };
 
-  buildInputs =
-    [ makeWrapper autoconf automake libtool unzip nukeReferences sqlite libpqxx
-      gitAndTools.top-git mercurial darcs subversion bazaar openssl bzip2 libxslt
-      guile # optional, for Guile + Guix support
-      perlDeps perl nix
-      postgresql # for running the tests
-      nlohmann_json
-      boost
-    ];
-
-  hydraPath = lib.makeBinPath (
-    [ sqlite subversion openssh nix coreutils findutils pixz
-      gzip bzip2 lzma gnutar unzip git gitAndTools.top-git mercurial darcs gnused bazaar
-    ] ++ lib.optionals stdenv.isLinux [ rpm dpkg cdrkit ] );
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-
-  configureFlags = [ "--with-docbook-xsl=${docbook_xsl}/xml/xsl/docbook" ];
-
-  NIX_CFLAGS_COMPILE = "-pthread";
-
-  shellHook = ''
-    PATH=$(pwd)/src/script:$(pwd)/src/hydra-eval-jobs:$(pwd)/src/hydra-queue-runner:$(pwd)/src/hydra-evaluator:$PATH
-    PERL5LIB=$(pwd)/src/lib:$PERL5LIB;
-  '';
-
-  enableParallelBuilding = true;
-
-  preCheck = ''
-    patchShebangs .
-    export LOGNAME=''${LOGNAME:-foo}
-  '';
-
-  postInstall = ''
-    mkdir -p $out/nix-support
-    for i in $out/bin/*; do
-        read -n 4 chars < $i
-        if [[ $chars =~ ELF ]]; then continue; fi
-        wrapProgram $i \
-            --prefix PERL5LIB ':' $out/libexec/hydra/lib:$PERL5LIB \
-            --prefix PATH ':' $out/bin:$hydraPath \
-            --set HYDRA_RELEASE ${version} \
-            --set HYDRA_HOME $out/libexec/hydra \
-            --set NIX_RELEASE ${nix.name or "unknown"}
-    done
-  ''; # */
-
-  dontStrip = true;
-
-  passthru.perlDeps = perlDeps;
-
-  meta = with stdenv.lib; {
-    description = "Nix-based continuous build system";
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ ma27 ];
+  hydra-flakes = callPackage ./common.nix {
+    version = "2020-03-27";
+    src = fetchFromGitHub {
+      owner = "NixOS";
+      repo = "hydra";
+      rev = "a7540b141d085a7e78c21fda8e8c05907c659b34";
+      sha256 = "08fs7593w5zs8vh4c66gvrxk6s840pp6hj8nwf51wsa27kg5a943";
+    };
+    nix = nixFlakes;
   };
 }
diff --git a/pkgs/development/tools/misc/intel-gpu-tools/default.nix b/pkgs/development/tools/misc/intel-gpu-tools/default.nix
index 5bf7e22bfbdf..19556aeafc01 100644
--- a/pkgs/development/tools/misc/intel-gpu-tools/default.nix
+++ b/pkgs/development/tools/misc/intel-gpu-tools/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-gpu-tools";
-  version = "1.24";
+  version = "1.25";
 
   src = fetchurl {
     url = "https://xorg.freedesktop.org/archive/individual/app/igt-gpu-tools-${version}.tar.xz";
-    sha256 = "1gr1m18w73hmh6n9w2f6gky21qc0pls14bgxkhy95z7azrr7qdap";
+    sha256 = "04fx7xclhick3k7fyk9c4mn8mxzf1253j1r0hrvj9sl40j7lsia0";
   };
 
   nativeBuildInputs = [ pkgconfig utilmacros ];
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = https://01.org/linuxgraphics/;
+    homepage = "https://01.org/linuxgraphics/";
     description = "Tools for development and testing of the Intel DRM driver";
     license = licenses.mit;
     platforms = [ "x86_64-linux" "i686-linux" ];
diff --git a/pkgs/development/tools/misc/tokei/default.nix b/pkgs/development/tools/misc/tokei/default.nix
index aaf6efc03aee..a06bf4f248ac 100644
--- a/pkgs/development/tools/misc/tokei/default.nix
+++ b/pkgs/development/tools/misc/tokei/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tokei";
-  version = "10.1.2";
+  version = "11.0.0";
 
   src = fetchFromGitHub {
     owner = "XAMPPRocky";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1h9vk30wdcjkf6wdv1xdiv94ln5ivwhmfhx5kwdvrxx8cci2m3yx";
+    sha256 = "0as3knld6vlni2s347wgh4g1fg531ky23pg7wx5fzzy6gxl4rgi1";
   };
 
-  cargoSha256 = "11xf2vkhar4y0rb4blq3hk9xlw0ixnig88zzc72hcnkv2yamgkhi";
+  cargoSha256 = "1f385gjym3mm1vsjvss3yq21ixnbjkrx705hp3spyhghffxi00q1";
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [
     libiconv darwin.apple_sdk.frameworks.Security
diff --git a/pkgs/development/tools/mod/default.nix b/pkgs/development/tools/mod/default.nix
index 60e948d593fa..67b829877b04 100644
--- a/pkgs/development/tools/mod/default.nix
+++ b/pkgs/development/tools/mod/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "mod";
-  version = "0.2.0";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "marwan-at-work";
     repo = "mod";
     rev = "v${version}";
-    sha256 = "1v7qy0q6fb9amcggwzdygl290zhr3w3zgmig2rm5zx91kw973sqc";
+    sha256 = "0aw6r90xf29wdhgnq580f837ga8yypzfhlzx1f2zj0kdhc58wbr5";
   };
 
-  modSha256 = "1s33i4kp1vzfp97909pyzdlvi69siw1i2lbi2kbp9yrn163w6928";
+  modSha256 = "0x7bdhvam9l23cbdqpna8kwg0v6yhgmw0hlbm48bbhjl27lg7svc";
 
   subPackages = [ "cmd/mod" ];
 
@@ -21,7 +21,7 @@ buildGoModule rec {
       Command line tool to upgrade/downgrade Semantic Import Versioning in Go
       Modules.
       '';
-    homepage = https://github.com/marwan-at-work/mod;
+    homepage = "https://github.com/marwan-at-work/mod";
     license = licenses.mit;
     maintainers = with maintainers; [ kalbasit ];
     platforms = platforms.linux ++ platforms.darwin;
diff --git a/pkgs/development/tools/ocaml/camlp5/default.nix b/pkgs/development/tools/ocaml/camlp5/default.nix
index c3fbb5863497..e0bd0e4ac676 100644
--- a/pkgs/development/tools/ocaml/camlp5/default.nix
+++ b/pkgs/development/tools/ocaml/camlp5/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation {
 
-  name = "camlp5-7.10";
+  name = "camlp5-7.11";
 
   src = fetchzip {
-    url = "https://github.com/camlp5/camlp5/archive/rel710.tar.gz";
-    sha256 = "1a1lgsc8350afdwmsznsys7m0c0cks4nw6irqz2f92g8g4vkk9b7";
+    url = "https://github.com/camlp5/camlp5/archive/rel711.tar.gz";
+    sha256 = "1s1f9i0r0czxlbnsaz4kvs2ahknmqxcm5ypl75g7scjcbl0an2x4";
   };
 
   buildInputs = [ ocaml ];
diff --git a/pkgs/development/tools/parinfer-rust/default.nix b/pkgs/development/tools/parinfer-rust/default.nix
index a313683f2ae5..d016d21b738c 100644
--- a/pkgs/development/tools/parinfer-rust/default.nix
+++ b/pkgs/development/tools/parinfer-rust/default.nix
@@ -13,7 +13,8 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "16ylk125p368mcz8nandmfqlygrqjlf8mqaxlbpixqga378saidl";
 
-  buildInputs = [ llvmPackages.libclang llvmPackages.clang ];
+  nativeBuildInputs = [ llvmPackages.clang ];
+  buildInputs = [ llvmPackages.libclang ];
   LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
 
   postInstall = ''
diff --git a/pkgs/development/tools/pgformatter/default.nix b/pkgs/development/tools/pgformatter/default.nix
index 87bf826f5c58..c1cb8cea8a65 100644
--- a/pkgs/development/tools/pgformatter/default.nix
+++ b/pkgs/development/tools/pgformatter/default.nix
@@ -2,13 +2,13 @@
 
 perlPackages.buildPerlPackage rec {
   pname = "pgformatter";
-  version = "4.2";
+  version = "4.3";
 
   src = fetchFromGitHub {
     owner = "darold";
     repo = "pgFormatter";
     rev = "v${version}";
-    sha256 = "1fqhbs7q3nxda7acbcx8dyjh99d0mv485dpmiczxia7cy1xqi63g";
+    sha256 = "0n8ydj01nmnkd8glzjb0yrsyax1pmdfvaxb5xj4pkb2mf6zm94qy";
   };
 
   outputs = [ "out" ];
diff --git a/pkgs/development/tools/pgloader/default.nix b/pkgs/development/tools/pgloader/default.nix
index 8aaae2b1c433..94ba95b2d92f 100644
--- a/pkgs/development/tools/pgloader/default.nix
+++ b/pkgs/development/tools/pgloader/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, makeWrapper, sbcl, sqlite, freetds, libzip, curl, git, cacert, openssl }:
 stdenv.mkDerivation rec {
   pname = "pgloader";
-  version = "3.6.1";
+  version = "3.6.2";
 
   src = fetchurl {
-    url = "https://github.com/dimitri/pgloader/releases/download/v3.6.1/pgloader-bundle-3.6.1.tgz";
-    sha256 = "1sm8xmq30d1biin5br0y3vrv4fydbrzfqglz1hnvrkdyxrg7d6f9";
+    url = "https://github.com/dimitri/pgloader/releases/download/v3.6.2/pgloader-bundle-3.6.2.tgz";
+    sha256 = "1jqnw6pw11kwyy8zm2g7g85r8197fy0q4l70yybw9wr87wnqqnz3";
   };
 
   nativeBuildInputs = [ git makeWrapper ];
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://pgloader.io/;
+    homepage = "https://pgloader.io/";
     description = "pgloader loads data into PostgreSQL and allows you to implement Continuous Migration from your current database to PostgreSQL";
     maintainers = with maintainers; [ mguentner ];
     license = licenses.postgresql;
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/bin/poetry2nix b/pkgs/development/tools/poetry2nix/poetry2nix/bin/poetry2nix
index 95576b987f5c..355cebfd50c4 100755
--- a/pkgs/development/tools/poetry2nix/poetry2nix/bin/poetry2nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/bin/poetry2nix
@@ -8,11 +8,16 @@ import json
 import sys
 
 
-argparser = argparse.ArgumentParser(description="Generate overrides for git hashes",)
-argparser.add_argument(
+argparser = argparse.ArgumentParser(description="Poetry2nix CLI")
+
+subparsers = argparser.add_subparsers(dest="subcommand")
+subparsers.required = True
+
+parser_lock = subparsers.add_parser("lock", help="Generate overrides for git hashes",)
+parser_lock.add_argument(
     "--lock", default="poetry.lock", help="Path to input poetry.lock",
 )
-argparser.add_argument(
+parser_lock.add_argument(
     "--out", default="poetry-git-overlay.nix", help="Output file",
 )
 
@@ -74,7 +79,7 @@ if __name__ == "__main__":
                 indent(
                     textwrap.dedent(
                         """
-              %s = super.%s.overrideAttrs (
+              %s = super.%s.overridePythonAttrs (
                 _: {
                   src = pkgs.fetchgit {
                     url = "%s";
@@ -92,7 +97,7 @@ if __name__ == "__main__":
 
         expr = "\n".join(lines)
 
-    with open(args.out, "w") as f:
-        f.write(expr)
+    with open(args.out, "w") as fout:
+        fout.write(expr)
 
     print(f"Wrote {args.out}")
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/cli.nix b/pkgs/development/tools/poetry2nix/poetry2nix/cli.nix
index db85d4ddd3c0..fbcee749b7cd 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/cli.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/cli.nix
@@ -2,10 +2,8 @@
 , lib ? pkgs.lib
 , version
 }:
-
 let
   inherit (pkgs) python3;
-
 in
 pkgs.stdenv.mkDerivation {
   pname = "poetry2nix";
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
index 7d3164fcec62..e7f718519a59 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
@@ -7,7 +7,7 @@ let
   inherit (poetryLib) isCompatible readTOML;
 
   # Poetry2nix version
-  version = "1.6.0";
+  version = "1.7.1";
 
   /* The default list of poetry2nix override overlays */
   defaultPoetryOverrides = (import ./overrides.nix { inherit pkgs lib; });
@@ -34,91 +34,95 @@ let
     , overrides ? [ defaultPoetryOverrides ]
     , python ? pkgs.python3
     , pwd ? projectDir
-    }@attrs: let
-      poetryPkg = poetry.override { inherit python; };
-
-      pyProject = readTOML pyproject;
-      poetryLock = readTOML poetrylock;
-      lockFiles = lib.getAttrFromPath [ "metadata" "files" ] poetryLock;
+    }@attrs:
+      let
+        poetryPkg = poetry.override { inherit python; };
 
-      specialAttrs = [
-        "overrides"
-        "poetrylock"
-        "pwd"
-      ];
-      passedAttrs = builtins.removeAttrs attrs specialAttrs;
+        pyProject = readTOML pyproject;
+        poetryLock = readTOML poetrylock;
+        lockFiles = lib.getAttrFromPath [ "metadata" "files" ] poetryLock;
 
-      evalPep508 = mkEvalPep508 python;
+        specialAttrs = [
+          "overrides"
+          "poetrylock"
+          "projectDir"
+          "pwd"
+        ];
+        passedAttrs = builtins.removeAttrs attrs specialAttrs;
 
-      # Filter packages by their PEP508 markers & pyproject interpreter version
-      partitions = let
-        supportsPythonVersion = pkgMeta: if pkgMeta ? marker then (evalPep508 pkgMeta.marker) else true;
-      in
-        lib.partition supportsPythonVersion poetryLock.package;
+        evalPep508 = mkEvalPep508 python;
 
-      compatible = partitions.right;
-      incompatible = partitions.wrong;
+        # Filter packages by their PEP508 markers & pyproject interpreter version
+        partitions = let
+          supportsPythonVersion = pkgMeta: if pkgMeta ? marker then (evalPep508 pkgMeta.marker) else true;
+        in
+          lib.partition supportsPythonVersion poetryLock.package;
+
+        compatible = partitions.right;
+        incompatible = partitions.wrong;
+
+        # Create an overriden version of pythonPackages
+        #
+        # We need to avoid mixing multiple versions of pythonPackages in the same
+        # closure as python can only ever have one version of a dependency
+        baseOverlay = self: super:
+          let
+            getDep = depName: self.${depName};
+
+            lockPkgs = builtins.listToAttrs (
+              builtins.map (
+                pkgMeta: rec {
+                  name = pkgMeta.name;
+                  value = self.mkPoetryDep (
+                    pkgMeta // {
+                      inherit pwd;
+                      source = pkgMeta.source or null;
+                      files = lockFiles.${name};
+                      pythonPackages = self;
+                      sourceSpec = pyProject.tool.poetry.dependencies.${name} or pyProject.tool.poetry.dev-dependencies.${name};
+                    }
+                  );
+                }
+              ) compatible
+            );
+          in
+            lockPkgs;
+        overlays = builtins.map getFunctorFn (
+          [
+            (
+              self: super:
+                let
+                  hooks = self.callPackage ./hooks {};
+                in
+                  {
+                    mkPoetryDep = self.callPackage ./mk-poetry-dep.nix {
+                      inherit pkgs lib python poetryLib;
+                    };
+                    poetry = poetryPkg;
+                    # The canonical name is setuptools-scm
+                    setuptools-scm = super.setuptools_scm;
+
+                    inherit (hooks) removePathDependenciesHook poetry2nixFixupHook;
+                  }
+            )
+            # Null out any filtered packages, we don't want python.pkgs from nixpkgs
+            (self: super: builtins.listToAttrs (builtins.map (x: { name = x.name; value = null; }) incompatible))
+            # Create poetry2nix layer
+            baseOverlay
+          ] ++ # User provided overrides
+          overrides
+        );
 
-      # Create an overriden version of pythonPackages
-      #
-      # We need to avoid mixing multiple versions of pythonPackages in the same
-      # closure as python can only ever have one version of a dependency
-      baseOverlay = self: super:
-        let
-          getDep = depName: self.${depName};
+        packageOverrides = lib.foldr lib.composeExtensions (self: super: {}) overlays;
 
-          lockPkgs = builtins.listToAttrs (
-            builtins.map (
-              pkgMeta: rec {
-                name = pkgMeta.name;
-                value = self.mkPoetryDep (
-                  pkgMeta // {
-                    inherit pwd;
-                    source = pkgMeta.source or null;
-                    files = lockFiles.${name};
-                    pythonPackages = self;
-                  }
-                );
-              }
-            ) compatible
-          );
-        in
-          lockPkgs;
-      overlays = builtins.map getFunctorFn (
-        [
-          (
-            self: super: let
-              hooks = self.callPackage ./hooks {};
-            in
-              {
-                mkPoetryDep = self.callPackage ./mk-poetry-dep.nix {
-                  inherit pkgs lib python poetryLib;
-                };
-                poetry = poetryPkg;
-                # The canonical name is setuptools-scm
-                setuptools-scm = super.setuptools_scm;
-
-                inherit (hooks) removePathDependenciesHook poetry2nixFixupHook;
-              }
-          )
-          # Null out any filtered packages, we don't want python.pkgs from nixpkgs
-          (self: super: builtins.listToAttrs (builtins.map (x: { name = x.name; value = null; }) incompatible))
-          # Create poetry2nix layer
-          baseOverlay
-        ] ++ # User provided overrides
-        overrides
-      );
-
-      packageOverrides = lib.foldr lib.composeExtensions (self: super: {}) overlays;
-
-      py = python.override { inherit packageOverrides; self = py; };
-    in
-      {
-        python = py;
-        poetryPackages = map (pkg: py.pkgs.${pkg.name}) compatible;
-        poetryLock = poetryLock;
-        inherit pyProject;
-      };
+        py = python.override { inherit packageOverrides; self = py; };
+      in
+        {
+          python = py;
+          poetryPackages = map (pkg: py.pkgs.${pkg.name}) compatible;
+          poetryLock = poetryLock;
+          inherit pyProject;
+        };
 
   /* Returns a package with a python interpreter and all packages specified in the poetry.lock lock file.
 
@@ -153,76 +157,78 @@ let
     , python ? pkgs.python3
     , pwd ? projectDir
     , ...
-    }@attrs: let
-      poetryPython = mkPoetryPackages {
-        inherit pyproject poetrylock overrides python pwd;
-      };
-      py = poetryPython.python;
-
-      inherit (poetryPython) pyProject;
-
-      specialAttrs = [
-        "overrides"
-        "poetrylock"
-        "pwd"
-        "pyproject"
-      ];
-      passedAttrs = builtins.removeAttrs attrs specialAttrs;
-
-      # Get dependencies and filter out depending on interpreter version
-      getDeps = depAttr: let
-        compat = isCompatible py.pythonVersion;
-        deps = pyProject.tool.poetry.${depAttr} or {};
-        depAttrs = builtins.map (d: lib.toLower d) (builtins.attrNames deps);
-      in
-        builtins.map (
-          dep: let
-            pkg = py.pkgs."${dep}";
-            constraints = deps.${dep}.python or "";
-            isCompat = compat constraints;
+    }@attrs:
+      let
+        poetryPython = mkPoetryPackages {
+          inherit pyproject poetrylock overrides python pwd;
+        };
+        py = poetryPython.python;
+
+        inherit (poetryPython) pyProject;
+
+        specialAttrs = [
+          "overrides"
+          "poetrylock"
+          "projectDir"
+          "pwd"
+          "pyproject"
+        ];
+        passedAttrs = builtins.removeAttrs attrs specialAttrs;
+
+        # Get dependencies and filter out depending on interpreter version
+        getDeps = depAttr:
+          let
+            compat = isCompatible py.pythonVersion;
+            deps = pyProject.tool.poetry.${depAttr} or {};
+            depAttrs = builtins.map (d: lib.toLower d) (builtins.attrNames deps);
           in
-            if isCompat then pkg else null
-        ) depAttrs;
-
-      getInputs = attr: attrs.${attr} or [];
-      mkInput = attr: extraInputs: getInputs attr ++ extraInputs;
-
-      buildSystemPkgs = poetryLib.getBuildSystemPkgs {
-        inherit pyProject;
-        pythonPackages = py.pkgs;
-      };
-
-    in
-      py.pkgs.buildPythonApplication (
-        passedAttrs // {
-          pname = pyProject.tool.poetry.name;
-          version = pyProject.tool.poetry.version;
+            builtins.map (
+              dep:
+                let
+                  pkg = py.pkgs."${dep}";
+                  constraints = deps.${dep}.python or "";
+                  isCompat = compat constraints;
+                in
+                  if isCompat then pkg else null
+            ) depAttrs;
+
+        getInputs = attr: attrs.${attr} or [];
+        mkInput = attr: extraInputs: getInputs attr ++ extraInputs;
+
+        buildSystemPkgs = poetryLib.getBuildSystemPkgs {
+          inherit pyProject;
+          pythonPackages = py.pkgs;
+        };
+      in
+        py.pkgs.buildPythonApplication (
+          passedAttrs // {
+            pname = pyProject.tool.poetry.name;
+            version = pyProject.tool.poetry.version;
 
-          inherit src;
+            inherit src;
 
-          format = "pyproject";
+            format = "pyproject";
 
-          buildInputs = mkInput "buildInputs" buildSystemPkgs;
-          propagatedBuildInputs = mkInput "propagatedBuildInputs" (getDeps "dependencies") ++ ([ py.pkgs.setuptools ]);
-          nativeBuildInputs = mkInput "nativeBuildInputs" [ pkgs.yj py.pkgs.removePathDependenciesHook ];
-          checkInputs = mkInput "checkInputs" (getDeps "dev-dependencies");
+            buildInputs = mkInput "buildInputs" buildSystemPkgs;
+            propagatedBuildInputs = mkInput "propagatedBuildInputs" (getDeps "dependencies") ++ ([ py.pkgs.setuptools ]);
+            nativeBuildInputs = mkInput "nativeBuildInputs" [ pkgs.yj py.pkgs.removePathDependenciesHook ];
+            checkInputs = mkInput "checkInputs" (getDeps "dev-dependencies");
 
-          passthru = {
-            python = py;
-          };
+            passthru = {
+              python = py;
+            };
 
-          meta = meta // {
-            inherit (pyProject.tool.poetry) description homepage;
-            inherit (py.meta) platforms;
-            license = getLicenseBySpdxId (pyProject.tool.poetry.license or "unknown");
-          };
+            meta = meta // {
+              inherit (pyProject.tool.poetry) description homepage;
+              inherit (py.meta) platforms;
+              license = getLicenseBySpdxId (pyProject.tool.poetry.license or "unknown");
+            };
 
-        }
-      );
+          }
+        );
 
   /* Poetry2nix CLI used to supplement SHA-256 hashes for git dependencies  */
   cli = import ./cli.nix { inherit pkgs lib version; };
-
 in
 {
   inherit mkPoetryEnv mkPoetryApplication mkPoetryPackages cli version;
@@ -236,11 +242,12 @@ in
   */
   defaultPoetryOverrides = {
     __functor = defaultPoetryOverrides;
-    overrideOverlay = fn: self: super: let
-      defaultSet = defaultPoetryOverrides self super;
-      customSet = fn self super;
-    in
-      defaultSet // customSet;
+    overrideOverlay = fn: self: super:
+      let
+        defaultSet = defaultPoetryOverrides self super;
+        customSet = fn self super;
+      in
+        defaultSet // customSet;
   };
 
   /*
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix
index ec3fa0afa69d..12d2bc962065 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix
@@ -3,7 +3,6 @@
 , makeSetupHook
 , yj
 }:
-
 let
   pythonInterpreter = python.pythonForBuild.interpreter;
 in
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix b/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
index b816feb38e89..f4497afb8bc9 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
@@ -9,29 +9,30 @@ let
   );
 
   # Compare a semver expression with a version
-  isCompatible = version: let
-    operators = {
-      "||" = cond1: cond2: cond1 || cond2;
-      "," = cond1: cond2: cond1 && cond2; # , means &&
-      "&&" = cond1: cond2: cond1 && cond2;
-    };
-    splitRe = "(" + (builtins.concatStringsSep "|" (builtins.map (x: lib.replaceStrings [ "|" ] [ "\\|" ] x) (lib.attrNames operators))) + ")";
-  in
-    expr:
-      let
-        tokens = builtins.filter (x: x != "") (builtins.split splitRe expr);
-        combine = acc: v:
-          let
-            isOperator = builtins.typeOf v == "list";
-            operator = if isOperator then (builtins.elemAt v 0) else acc.operator;
-          in
-            if isOperator then (acc // { inherit operator; }) else {
-              inherit operator;
-              state = operators."${operator}" acc.state (satisfiesSemver version v);
-            };
-        initial = { operator = "&&"; state = true; };
-      in
-        if expr == "" then true else (builtins.foldl' combine initial tokens).state;
+  isCompatible = version:
+    let
+      operators = {
+        "||" = cond1: cond2: cond1 || cond2;
+        "," = cond1: cond2: cond1 && cond2; # , means &&
+        "&&" = cond1: cond2: cond1 && cond2;
+      };
+      splitRe = "(" + (builtins.concatStringsSep "|" (builtins.map (x: lib.replaceStrings [ "|" ] [ "\\|" ] x) (lib.attrNames operators))) + ")";
+    in
+      expr:
+        let
+          tokens = builtins.filter (x: x != "") (builtins.split splitRe expr);
+          combine = acc: v:
+            let
+              isOperator = builtins.typeOf v == "list";
+              operator = if isOperator then (builtins.elemAt v 0) else acc.operator;
+            in
+              if isOperator then (acc // { inherit operator; }) else {
+                inherit operator;
+                state = operators."${operator}" acc.state (satisfiesSemver version v);
+              };
+          initial = { operator = "&&"; state = true; };
+        in
+          if expr == "" then true else (builtins.foldl' combine initial tokens).state;
 
   fromTOML = builtins.fromTOML or
     (
@@ -88,23 +89,25 @@ let
   getBuildSystemPkgs =
     { pythonPackages
     , pyProject
-    }: let
-      buildSystem = lib.getAttrFromPath [ "build-system" "build-backend" ] pyProject;
-      drvAttr = builtins.elemAt (builtins.split "\\.|:" buildSystem) 0;
-    in
-      if buildSystem == "" then [] else (
-        [ pythonPackages.${drvAttr} or (throw "unsupported build system ${buildSystem}") ]
-      );
+    }:
+      let
+        buildSystem = lib.getAttrFromPath [ "build-system" "build-backend" ] pyProject;
+        drvAttr = builtins.elemAt (builtins.split "\\.|:" buildSystem) 0;
+      in
+        if buildSystem == "" then [] else (
+          [ pythonPackages.${drvAttr} or (throw "unsupported build system ${buildSystem}") ]
+        );
 
   # Find gitignore files recursively in parent directory stopping with .git
-  findGitIgnores = path: let
-    parent = path + "/..";
-    gitIgnore = path + "/.gitignore";
-    isGitRoot = builtins.pathExists (path + "/.git");
-    hasGitIgnore = builtins.pathExists gitIgnore;
-    gitIgnores = if hasGitIgnore then [ gitIgnore ] else [];
-  in
-    lib.optionals (builtins.toString path != "/" && ! isGitRoot) (findGitIgnores parent) ++ gitIgnores;
+  findGitIgnores = path:
+    let
+      parent = path + "/..";
+      gitIgnore = path + "/.gitignore";
+      isGitRoot = builtins.pathExists (path + "/.git");
+      hasGitIgnore = builtins.pathExists gitIgnore;
+      gitIgnores = if hasGitIgnore then [ gitIgnore ] else [];
+    in
+      lib.optionals (builtins.toString path != "/" && ! isGitRoot) (findGitIgnores parent) ++ gitIgnores;
 
   /*
   Provides a source filtering mechanism that:
@@ -113,21 +116,21 @@ let
   - Filters pycache/pyc files
   - Uses cleanSourceFilter to filter out .git/.hg, .o/.so, editor backup files & nix result symlinks
   */
-  cleanPythonSources = { src }: let
-    gitIgnores = findGitIgnores src;
-    pycacheFilter = name: type:
-      (type == "directory" && ! lib.strings.hasInfix "__pycache__" name)
-      || (type == "regular" && ! lib.strings.hasSuffix ".pyc" name)
-    ;
-  in
-    lib.cleanSourceWith {
-      filter = lib.cleanSourceFilter;
-      src = lib.cleanSourceWith {
-        filter = pkgs.nix-gitignore.gitignoreFilterPure pycacheFilter gitIgnores src;
-        inherit src;
+  cleanPythonSources = { src }:
+    let
+      gitIgnores = findGitIgnores src;
+      pycacheFilter = name: type:
+        (type == "directory" && ! lib.strings.hasInfix "__pycache__" name)
+        || (type == "regular" && ! lib.strings.hasSuffix ".pyc" name)
+      ;
+    in
+      lib.cleanSourceWith {
+        filter = lib.cleanSourceFilter;
+        src = lib.cleanSourceWith {
+          filter = pkgs.nix-gitignore.gitignoreFilterPure pycacheFilter gitIgnores src;
+          inherit src;
+        };
       };
-    };
-
 in
 {
   inherit
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix b/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
index 5ae35dfed49e..5e71190d28fe 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
@@ -14,6 +14,7 @@
 , pythonPackages
 , python-versions
 , pwd
+, sourceSpec
 , supportedExtensions ? lib.importJSON ./extensions.json
 , ...
 }:
@@ -22,9 +23,7 @@ pythonPackages.callPackage (
   { preferWheel ? false
   , ...
   }@args:
-
     let
-
       inherit (poetryLib) isCompatible getManyLinuxDeps fetchFromPypi;
 
       inherit (import ./pep425.nix {
@@ -68,7 +67,6 @@ pythonPackages.callPackage (
         lockFileEntry = builtins.head entries;
 
         _isEgg = isEgg lockFileEntry;
-
       in
         rec {
           inherit (lockFileEntry) file hash;
@@ -92,7 +90,6 @@ pythonPackages.callPackage (
       baseBuildInputs = lib.optional (! lib.elem name skipSetupToolsSCM) pythonPackages.setuptools-scm;
 
       format = if isLocal then "pyproject" else if isGit then "setuptools" else fileInfo.format;
-
     in
 
       buildPythonPackage {
@@ -123,10 +120,11 @@ pythonPackages.callPackage (
           compat = isCompatible python.pythonVersion;
           deps = lib.filterAttrs (n: v: v) (
             lib.mapAttrs (
-              n: v: let
-                constraints = v.python or "";
-              in
-                compat constraints
+              n: v:
+                let
+                  constraints = v.python or "";
+                in
+                  compat constraints
             ) dependencies
           );
           depAttrs = lib.attrNames deps;
@@ -150,6 +148,7 @@ pythonPackages.callPackage (
           builtins.fetchGit {
             inherit (source) url;
             rev = source.reference;
+            ref = sourceSpec.branch or sourceSpec.rev or sourceSpec.tag or "HEAD";
           }
         ) else if isLocal then (poetryLib.cleanPythonSources { src = localDepPath; }) else fetchFromPypi {
           pname = name;
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
index 9eb3f92bd12b..8301dcd49b83 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
@@ -6,14 +6,14 @@
 self: super:
 
 {
-  astroid = super.astroid.overrideAttrs (
+  astroid = super.astroid.overridePythonAttrs (
     old: rec {
       buildInputs = old.buildInputs ++ [ self.pytest-runner ];
       doCheck = false;
     }
   );
 
-  av = super.av.overrideAttrs (
+  av = super.av.overridePythonAttrs (
     old: {
       nativeBuildInputs = old.nativeBuildInputs ++ [
         pkgs.pkgconfig
@@ -22,7 +22,7 @@ self: super:
     }
   );
 
-  bcrypt = super.bcrypt.overrideAttrs (
+  bcrypt = super.bcrypt.overridePythonAttrs (
     old: {
       buildInputs = old.buildInputs ++ [ pkgs.libffi ];
     }
@@ -31,14 +31,14 @@ self: super:
   cffi =
     # cffi is bundled with pypy
     if self.python.implementation == "pypy" then null else (
-      super.cffi.overrideAttrs (
+      super.cffi.overridePythonAttrs (
         old: {
           buildInputs = old.buildInputs ++ [ pkgs.libffi ];
         }
       )
     );
 
-  cftime = super.cftime.overrideAttrs (
+  cftime = super.cftime.overridePythonAttrs (
     old: {
       buildInputs = old.buildInputs ++ [
         self.cython
@@ -46,14 +46,14 @@ self: super:
     }
   );
 
-  cryptography = super.cryptography.overrideAttrs (
+  cryptography = super.cryptography.overridePythonAttrs (
     old: {
       buildInputs = old.buildInputs ++ [ pkgs.openssl ];
     }
   );
 
   django = (
-    super.django.overrideAttrs (
+    super.django.overridePythonAttrs (
       old: {
         propagatedNativeBuildInputs = (old.propagatedNativeBuildInputs or [])
         ++ [ pkgs.gettext ];
@@ -61,7 +61,7 @@ self: super:
     )
   );
 
-  django-bakery = super.django-bakery.overrideAttrs (
+  django-bakery = super.django-bakery.overridePythonAttrs (
     old: {
       configurePhase = ''
         if ! test -e LICENSE; then
@@ -71,7 +71,7 @@ self: super:
     }
   );
 
-  dlib = super.dlib.overrideAttrs (
+  dlib = super.dlib.overridePythonAttrs (
     old: {
       # Parallel building enabled
       inherit (pkgs.python.pkgs.dlib) patches;
@@ -87,14 +87,14 @@ self: super:
   # Environment markers are not always included (depending on how a dep was defined)
   enum34 = if self.pythonAtLeast "3.4" then null else super.enum34;
 
-  faker = super.faker.overrideAttrs (
+  faker = super.faker.overridePythonAttrs (
     old: {
       buildInputs = old.buildInputs ++ [ self.pytest-runner ];
       doCheck = false;
     }
   );
 
-  fancycompleter = super.fancycompleter.overrideAttrs (
+  fancycompleter = super.fancycompleter.overridePythonAttrs (
     old: {
       postPatch = ''
         substituteInPlace setup.py \
@@ -104,14 +104,20 @@ self: super:
     }
   );
 
-  grandalf = super.grandalf.overrideAttrs (
+  fastparquet = super.fastparquet.overridePythonAttrs (
+    old: {
+      buildInputs = old.buildInputs ++ [ self.pytest-runner ];
+    }
+  );
+
+  grandalf = super.grandalf.overridePythonAttrs (
     old: {
       buildInputs = old.buildInputs ++ [ self.pytest-runner ];
       doCheck = false;
     }
   );
 
-  h5py = super.h5py.overrideAttrs (
+  h5py = super.h5py.overridePythonAttrs (
     old: rec {
       nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkgconfig ];
       buildInputs = old.buildInputs ++ [ pkgs.hdf5 self.pkgconfig self.cython ];
@@ -122,20 +128,20 @@ self: super:
     }
   );
 
-  horovod = super.horovod.overrideAttrs (
+  horovod = super.horovod.overridePythonAttrs (
     old: {
       propagatedBuildInputs = old.propagatedBuildInputs ++ [ pkgs.openmpi ];
     }
   );
 
   # importlib-metadata has an incomplete dependency specification
-  importlib-metadata = super.importlib-metadata.overrideAttrs (
+  importlib-metadata = super.importlib-metadata.overridePythonAttrs (
     old: {
       propagatedBuildInputs = old.propagatedBuildInputs ++ lib.optional self.python.isPy2 self.pathlib2;
     }
   );
 
-  jupyter = super.jupyter.overrideAttrs (
+  jupyter = super.jupyter.overridePythonAttrs (
     old: rec {
       # jupyter is a meta-package. Everything relevant comes from the
       # dependencies. It does however have a jupyter.py file that conflicts
@@ -144,7 +150,7 @@ self: super:
     }
   );
 
-  lap = super.lap.overrideAttrs (
+  lap = super.lap.overridePythonAttrs (
     old: {
       propagatedBuildInputs = old.propagatedBuildInputs ++ [
         self.numpy
@@ -152,7 +158,7 @@ self: super:
     }
   );
 
-  llvmlite = super.llvmlite.overrideAttrs (
+  llvmlite = super.llvmlite.overridePythonAttrs (
     old: {
       nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.llvm ];
 
@@ -175,59 +181,59 @@ self: super:
     }
   );
 
-  lockfile = super.lockfile.overrideAttrs (
+  lockfile = super.lockfile.overridePythonAttrs (
     old: {
       propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.pbr ];
     }
   );
 
-  lxml = super.lxml.overrideAttrs (
+  lxml = super.lxml.overridePythonAttrs (
     old: {
       nativeBuildInputs = with pkgs; old.nativeBuildInputs ++ [ pkgconfig libxml2.dev libxslt.dev ];
       buildInputs = with pkgs; old.buildInputs ++ [ libxml2 libxslt ];
     }
   );
 
-  markupsafe = super.markupsafe.overrideAttrs (
+  markupsafe = super.markupsafe.overridePythonAttrs (
     old: {
       src = old.src.override { pname = builtins.replaceStrings [ "markupsafe" ] [ "MarkupSafe" ] old.pname; };
     }
   );
 
-  matplotlib = super.matplotlib.overrideAttrs (
-    old: let
-      enableGhostscript = old.passthru.enableGhostscript or false;
-      enableGtk3 = old.passthru.enableTk or false;
-      enableQt = old.passthru.enableQt or false;
-      enableTk = old.passthru.enableTk or false;
+  matplotlib = super.matplotlib.overridePythonAttrs (
+    old:
+      let
+        enableGhostscript = old.passthru.enableGhostscript or false;
+        enableGtk3 = old.passthru.enableTk or false;
+        enableQt = old.passthru.enableQt or false;
+        enableTk = old.passthru.enableTk or false;
 
-      inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa;
+        inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa;
+      in
+        {
+          NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${pkgs.libcxx}/include/c++/v1";
 
-    in
-      {
-        NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${pkgs.libcxx}/include/c++/v1";
+          XDG_RUNTIME_DIR = "/tmp";
 
-        XDG_RUNTIME_DIR = "/tmp";
+          buildInputs = old.buildInputs
+          ++ lib.optional enableGhostscript pkgs.ghostscript
+          ++ lib.optional stdenv.isDarwin [ Cocoa ];
 
-        buildInputs = old.buildInputs
-        ++ lib.optional enableGhostscript pkgs.ghostscript
-        ++ lib.optional stdenv.isDarwin [ Cocoa ];
-
-        nativeBuildInputs = old.nativeBuildInputs ++ [
-          pkgs.pkgconfig
-        ];
+          nativeBuildInputs = old.nativeBuildInputs ++ [
+            pkgs.pkgconfig
+          ];
 
-        propagatedBuildInputs = old.propagatedBuildInputs ++ [
-          pkgs.libpng
-          pkgs.freetype
-        ]
-        ++ stdenv.lib.optionals enableGtk3 [ pkgs.cairo self.pycairo pkgs.gtk3 pkgs.gobject-introspection self.pygobject3 ]
-        ++ stdenv.lib.optionals enableTk [ pkgs.tcl pkgs.tk self.tkinter pkgs.libX11 ]
-        ++ stdenv.lib.optionals enableQt [ self.pyqt5 ]
-        ;
+          propagatedBuildInputs = old.propagatedBuildInputs ++ [
+            pkgs.libpng
+            pkgs.freetype
+          ]
+          ++ stdenv.lib.optionals enableGtk3 [ pkgs.cairo self.pycairo pkgs.gtk3 pkgs.gobject-introspection self.pygobject3 ]
+          ++ stdenv.lib.optionals enableTk [ pkgs.tcl pkgs.tk self.tkinter pkgs.libX11 ]
+          ++ stdenv.lib.optionals enableQt [ self.pyqt5 ]
+          ;
 
-        inherit (super.matplotlib) patches;
-      }
+          inherit (super.matplotlib) patches;
+        }
   );
 
   # Calls Cargo at build time for source builds and is really tricky to package
@@ -235,14 +241,14 @@ self: super:
     preferWheel = true;
   };
 
-  mccabe = super.mccabe.overrideAttrs (
+  mccabe = super.mccabe.overridePythonAttrs (
     old: {
       buildInputs = old.buildInputs ++ [ self.pytest-runner ];
       doCheck = false;
     }
   );
 
-  netcdf4 = super.netcdf4.overrideAttrs (
+  netcdf4 = super.netcdf4.overridePythonAttrs (
     old: {
       buildInputs = old.buildInputs ++ [
         self.cython
@@ -265,40 +271,41 @@ self: super:
     }
   );
 
-  numpy = super.numpy.overrideAttrs (
-    old: let
-      blas = old.passthru.args.blas or pkgs.openblasCompat;
-      blasImplementation = lib.nameFromURL blas.name "-";
-      cfg = pkgs.writeTextFile {
-        name = "site.cfg";
-        text = (
-          lib.generators.toINI {} {
-            ${blasImplementation} = {
-              include_dirs = "${blas}/include";
-              library_dirs = "${blas}/lib";
-            } // lib.optionalAttrs (blasImplementation == "mkl") {
-              mkl_libs = "mkl_rt";
-              lapack_libs = "";
-            };
-          }
-        );
-      };
-    in
-      {
-        nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.gfortran ];
-        buildInputs = old.buildInputs ++ [ blas self.cython ];
-        enableParallelBuilding = true;
-        preBuild = ''
-          ln -s ${cfg} site.cfg
-        '';
-        passthru = old.passthru // {
-          blas = blas;
-          inherit blasImplementation cfg;
+  numpy = super.numpy.overridePythonAttrs (
+    old:
+      let
+        blas = old.passthru.args.blas or pkgs.openblasCompat;
+        blasImplementation = lib.nameFromURL blas.name "-";
+        cfg = pkgs.writeTextFile {
+          name = "site.cfg";
+          text = (
+            lib.generators.toINI {} {
+              ${blasImplementation} = {
+                include_dirs = "${blas}/include";
+                library_dirs = "${blas}/lib";
+              } // lib.optionalAttrs (blasImplementation == "mkl") {
+                mkl_libs = "mkl_rt";
+                lapack_libs = "";
+              };
+            }
+          );
         };
-      }
+      in
+        {
+          nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.gfortran ];
+          buildInputs = old.buildInputs ++ [ blas self.cython ];
+          enableParallelBuilding = true;
+          preBuild = ''
+            ln -s ${cfg} site.cfg
+          '';
+          passthru = old.passthru // {
+            blas = blas;
+            inherit blasImplementation cfg;
+          };
+        }
   );
 
-  openexr = super.openexr.overrideAttrs (
+  openexr = super.openexr.overridePythonAttrs (
     old: rec {
       buildInputs = old.buildInputs ++ [ pkgs.openexr pkgs.ilmbase ];
       NIX_CFLAGS_COMPILE = [ "-I${pkgs.openexr.dev}/include/OpenEXR" "-I${pkgs.ilmbase.dev}/include/OpenEXR" ];
@@ -306,38 +313,39 @@ self: super:
   );
 
   peewee = super.peewee.overridePythonAttrs (
-    old: let
-      withPostgres = old.passthru.withPostgres or false;
-      withMysql = old.passthru.withMysql or false;
-    in
-      {
-        buildInputs = old.buildInputs ++ [ self.cython pkgs.sqlite ];
-        propagatedBuildInputs = old.propagatedBuildInputs
-        ++ lib.optional withPostgres self.psycopg2
-        ++ lib.optional withMysql self.mysql-connector;
-      }
+    old:
+      let
+        withPostgres = old.passthru.withPostgres or false;
+        withMysql = old.passthru.withMysql or false;
+      in
+        {
+          buildInputs = old.buildInputs ++ [ self.cython pkgs.sqlite ];
+          propagatedBuildInputs = old.propagatedBuildInputs
+          ++ lib.optional withPostgres self.psycopg2
+          ++ lib.optional withMysql self.mysql-connector;
+        }
   );
 
-  pillow = super.pillow.overrideAttrs (
+  pillow = super.pillow.overridePythonAttrs (
     old: {
       nativeBuildInputs = [ pkgs.pkgconfig ] ++ old.nativeBuildInputs;
       buildInputs = with pkgs; [ freetype libjpeg zlib libtiff libwebp tcl lcms2 ] ++ old.buildInputs;
     }
   );
 
-  psycopg2 = super.psycopg2.overrideAttrs (
+  psycopg2 = super.psycopg2.overridePythonAttrs (
     old: {
       nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.postgresql ];
     }
   );
 
-  psycopg2-binary = super.psycopg2-binary.overrideAttrs (
+  psycopg2-binary = super.psycopg2-binary.overridePythonAttrs (
     old: {
       nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.postgresql ];
     }
   );
 
-  pyarrow = super.pyarrow.overrideAttrs (
+  pyarrow = super.pyarrow.overridePythonAttrs (
     old: {
       buildInputs = old.buildInputs ++ [
         self.cython
@@ -352,7 +360,7 @@ self: super:
           format = "other";
         }
       )
-    ).overrideAttrs (
+    ).overridePythonAttrs (
       old: {
 
         nativeBuildInputs = old.nativeBuildInputs ++ [
@@ -371,7 +379,7 @@ self: super:
     )
   ) super.pycairo;
 
-  pycocotools = super.pycocotools.overrideAttrs (
+  pycocotools = super.pycocotools.overridePythonAttrs (
     old: {
       buildInputs = old.buildInputs ++ [
         self.cython
@@ -380,21 +388,21 @@ self: super:
     }
   );
 
-  pygobject = super.pygobject.overrideAttrs (
+  pygobject = super.pygobject.overridePythonAttrs (
     old: {
       nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkgconfig ];
       buildInputs = old.buildInputs ++ [ pkgs.glib pkgs.gobject-introspection ];
     }
   );
 
-  pylint = super.pylint.overrideAttrs (
+  pylint = super.pylint.overridePythonAttrs (
     old: {
       buildInputs = old.buildInputs ++ [ self.pytest-runner ];
       doCheck = false;
     }
   );
 
-  pyopenssl = super.pyopenssl.overrideAttrs (
+  pyopenssl = super.pyopenssl.overridePythonAttrs (
     old: {
       buildInputs = old.buildInputs ++ [ pkgs.openssl ];
     }
@@ -501,7 +509,7 @@ self: super:
       }
     );
 
-  pytest-datadir = super.pytest-datadir.overrideAttrs (
+  pytest-datadir = super.pytest-datadir.overridePythonAttrs (
     old: {
       postInstall = ''
         rm -f $out/LICENSE
@@ -517,7 +525,7 @@ self: super:
 
   pytest-runner = super.pytest-runner or super.pytestrunner;
 
-  python-prctl = super.python-prctl.overrideAttrs (
+  python-prctl = super.python-prctl.overridePythonAttrs (
     old: {
       buildInputs = old.buildInputs ++ [
         pkgs.libcap
@@ -525,14 +533,14 @@ self: super:
     }
   );
 
-  pyzmq = super.pyzmq.overrideAttrs (
+  pyzmq = super.pyzmq.overridePythonAttrs (
     old: {
       nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkgconfig ];
       propagatedBuildInputs = old.propagatedBuildInputs ++ [ pkgs.zeromq ];
     }
   );
 
-  rockset = super.rockset.overrideAttrs (
+  rockset = super.rockset.overridePythonAttrs (
     old: rec {
       postPatch = ''
         cp ./setup_rockset.py ./setup.py
@@ -540,7 +548,7 @@ self: super:
     }
   );
 
-  scaleapi = super.scaleapi.overrideAttrs (
+  scaleapi = super.scaleapi.overridePythonAttrs (
     old: {
       postPatch = ''
         substituteInPlace setup.py --replace "install_requires = ['requests>=2.4.2', 'enum34']" "install_requires = ['requests>=2.4.2']" || true
@@ -548,7 +556,7 @@ self: super:
     }
   );
 
-  pandas = super.pandas.overrideAttrs (
+  pandas = super.pandas.overridePythonAttrs (
     old: {
       nativeBuildInputs = old.nativeBuildInputs ++ [ self.cython ];
     }
@@ -565,7 +573,7 @@ self: super:
     }
   );
 
-  scipy = super.scipy.overrideAttrs (
+  scipy = super.scipy.overridePythonAttrs (
     old: {
       nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.gfortran ];
       propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.pybind11 ];
@@ -599,7 +607,7 @@ self: super:
     }
   );
 
-  shapely = super.shapely.overrideAttrs (
+  shapely = super.shapely.overridePythonAttrs (
     old: {
       buildInputs = old.buildInputs ++ [ pkgs.geos self.cython ];
       inherit (pkgs.python3.pkgs.shapely) patches GEOS_LIBRARY_PATH;
@@ -614,7 +622,7 @@ self: super:
     )
   ) else super.shellingham;
 
-  tables = super.tables.overrideAttrs (
+  tables = super.tables.overridePythonAttrs (
     old: {
       HDF5_DIR = "${pkgs.hdf5}";
       nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkgconfig ];
@@ -622,7 +630,7 @@ self: super:
     }
   );
 
-  tensorpack = super.tensorpack.overrideAttrs (
+  tensorpack = super.tensorpack.overridePythonAttrs (
     old: {
       postPatch = ''
         substituteInPlace setup.cfg --replace "# will call find_packages()" ""
@@ -630,7 +638,7 @@ self: super:
     }
   );
 
-  urwidtrees = super.urwidtrees.overrideAttrs (
+  urwidtrees = super.urwidtrees.overridePythonAttrs (
     old: {
       propagatedBuildInputs = old.propagatedBuildInputs ++ [
         self.urwid
@@ -638,7 +646,7 @@ self: super:
     }
   );
 
-  vose-alias-method = super.vose-alias-method.overrideAttrs (
+  vose-alias-method = super.vose-alias-method.overridePythonAttrs (
     old: {
       postInstall = ''
         rm -f $out/LICENSE
@@ -646,7 +654,7 @@ self: super:
     }
   );
 
-  uvloop = super.uvloop.overrideAttrs (
+  uvloop = super.uvloop.overridePythonAttrs (
     old: {
       buildInputs = old.buildInputs ++ lib.optionals stdenv.isDarwin [
         pkgs.darwin.apple_sdk.frameworks.ApplicationServices
@@ -667,16 +675,24 @@ self: super:
   );
 
   zipp =
-    if lib.versionAtLeast super.zipp.version "2.0.0" then (
-      super.zipp.overridePythonAttrs (
-        old: {
-          prePatch = ''
-            substituteInPlace setup.py --replace \
-            'setuptools.setup()' \
-            'setuptools.setup(version="${super.zipp.version}")'
-          '';
-        }
-      )
-    ) else super.zipp;
+    (
+      if lib.versionAtLeast super.zipp.version "2.0.0" then (
+        super.zipp.overridePythonAttrs (
+          old: {
+            prePatch = ''
+              substituteInPlace setup.py --replace \
+              'setuptools.setup()' \
+              'setuptools.setup(version="${super.zipp.version}")'
+            '';
+          }
+        )
+      ) else super.zipp
+    ).overridePythonAttrs (
+      old: {
+        propagatedBuildInputs = old.propagatedBuildInputs ++ [
+          self.toml
+        ];
+      }
+    );
 
 }
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
index b2e11205c36c..cda4e8c78d4d 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
@@ -1,5 +1,4 @@
 { lib, stdenv, python, isLinux ? stdenv.isLinux }:
-
 let
   inherit (lib.strings) hasSuffix hasInfix splitString removeSuffix;
 
@@ -94,12 +93,10 @@ let
           if isLinux
           then chooseLinux files
           else chooseOSX files;
-
     in
       if (builtins.length filtered == 0)
       then []
       else choose (filtered);
-
 in
 {
   inherit selectWheel toWheelAttrs isPyVersionCompatible;
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix
index ae0c29f36838..67ffdddb4bd8 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix
@@ -1,5 +1,4 @@
 { lib, stdenv, poetryLib }: python:
-
 let
   inherit (poetryLib) ireplace;
 
@@ -37,195 +36,199 @@ let
   );
 
   # Make a tree out of expression groups (parens)
-  findSubExpressions = expr: let
-    acc = builtins.foldl' findSubExpressionsFun {
-      exprs = [];
-      expr = expr;
-      pos = 0;
-      openP = 0;
-      exprPos = 0;
-      startPos = 0;
-    } (lib.stringToCharacters expr);
-    tailExpr = (substr acc.exprPos acc.pos expr);
-    tailExprs = if tailExpr != "" then [ tailExpr ] else [];
-  in
-    acc.exprs ++ tailExprs;
-
-  parseExpressions = exprs: let
-    splitCond = (
-      s: builtins.map
-        (x: stripStr (if builtins.typeOf x == "list" then (builtins.elemAt x 0) else x))
-        (builtins.split " (and|or) " (s + " "))
-    );
-
-    mapfn = expr: (
-      if (builtins.match "^ ?$" expr != null) then null  # Filter empty
-      else if (builtins.elem expr [ "and" "or" ]) then {
-        type = "bool";
-        value = expr;
-      }
-      else {
-        type = "expr";
-        value = expr;
-      }
-    );
+  findSubExpressions = expr:
+    let
+      acc = builtins.foldl' findSubExpressionsFun {
+        exprs = [];
+        expr = expr;
+        pos = 0;
+        openP = 0;
+        exprPos = 0;
+        startPos = 0;
+      } (lib.stringToCharacters expr);
+      tailExpr = (substr acc.exprPos acc.pos expr);
+      tailExprs = if tailExpr != "" then [ tailExpr ] else [];
+    in
+      acc.exprs ++ tailExprs;
+
+  parseExpressions = exprs:
+    let
+      splitCond = (
+        s: builtins.map
+          (x: stripStr (if builtins.typeOf x == "list" then (builtins.elemAt x 0) else x))
+          (builtins.split " (and|or) " (s + " "))
+      );
 
-    parse = expr: builtins.filter (x: x != null) (builtins.map mapfn (splitCond expr));
+      mapfn = expr: (
+        if (builtins.match "^ ?$" expr != null) then null  # Filter empty
+        else if (builtins.elem expr [ "and" "or" ]) then {
+          type = "bool";
+          value = expr;
+        }
+        else {
+          type = "expr";
+          value = expr;
+        }
+      );
 
-  in
-    builtins.foldl' (
-      acc: v: acc ++ (
-        if builtins.typeOf v == "string" then parse v else [ (parseExpressions v) ]
-      )
-    ) [] exprs;
+      parse = expr: builtins.filter (x: x != null) (builtins.map mapfn (splitCond expr));
+    in
+      builtins.foldl' (
+        acc: v: acc ++ (
+          if builtins.typeOf v == "string" then parse v else [ (parseExpressions v) ]
+        )
+      ) [] exprs;
 
   # Transform individual expressions to structured expressions
   # This function also performs variable substitution, replacing environment markers with their explicit values
-  transformExpressions = exprs: let
-    variables = {
-      os_name = (
-        if python.pname == "jython" then "java"
-        else "posix"
-      );
-      sys_platform = (
-        if stdenv.isLinux then "linux"
-        else if stdenv.isDarwin then "darwin"
-        else throw "Unsupported platform"
-      );
-      platform_machine = stdenv.platform.kernelArch;
-      platform_python_implementation = let
-        impl = python.passthru.implementation;
-      in
-        (
-          if impl == "cpython" then "CPython"
-          else if impl == "pypy" then "PyPy"
-          else throw "Unsupported implementation ${impl}"
+  transformExpressions = exprs:
+    let
+      variables = {
+        os_name = (
+          if python.pname == "jython" then "java"
+          else "posix"
         );
-      platform_release = ""; # Field not reproducible
-      platform_system = (
-        if stdenv.isLinux then "Linux"
-        else if stdenv.isDarwin then "Darwin"
-        else throw "Unsupported platform"
-      );
-      platform_version = ""; # Field not reproducible
-      python_version = python.passthru.pythonVersion;
-      python_full_version = python.version;
-      implementation_name = python.implementation;
-      implementation_version = python.version;
-      extra = "";
-    };
-
-    substituteVar = value: if builtins.hasAttr value variables then (builtins.toJSON variables."${value}") else value;
-
-    processVar = value: builtins.foldl' (acc: v: v acc) value [
-      stripStr
-      substituteVar
-    ];
-
-  in
-    if builtins.typeOf exprs == "set" then (
-      if exprs.type == "expr" then (
-        let
-          mVal = ''[a-zA-Z0-9\'"_\. ]+'';
-          mOp = "in|[!=<>]+";
-          e = stripStr exprs.value;
-          m = builtins.map stripStr (builtins.match ''^(${mVal}) *(${mOp}) *(${mVal})$'' e);
+        sys_platform = (
+          if stdenv.isLinux then "linux"
+          else if stdenv.isDarwin then "darwin"
+          else throw "Unsupported platform"
+        );
+        platform_machine = stdenv.platform.kernelArch;
+        platform_python_implementation = let
+          impl = python.passthru.implementation;
         in
-          {
-            type = "expr";
-            value = {
-              op = builtins.elemAt m 1;
-              values = [
-                (processVar (builtins.elemAt m 0))
-                (processVar (builtins.elemAt m 2))
-              ];
-            };
-          }
-      ) else exprs
-    ) else builtins.map transformExpressions exprs;
+          (
+            if impl == "cpython" then "CPython"
+            else if impl == "pypy" then "PyPy"
+            else throw "Unsupported implementation ${impl}"
+          );
+        platform_release = ""; # Field not reproducible
+        platform_system = (
+          if stdenv.isLinux then "Linux"
+          else if stdenv.isDarwin then "Darwin"
+          else throw "Unsupported platform"
+        );
+        platform_version = ""; # Field not reproducible
+        python_version = python.passthru.pythonVersion;
+        python_full_version = python.version;
+        implementation_name = python.implementation;
+        implementation_version = python.version;
+        extra = "";
+      };
+
+      substituteVar = value: if builtins.hasAttr value variables then (builtins.toJSON variables."${value}") else value;
+
+      processVar = value: builtins.foldl' (acc: v: v acc) value [
+        stripStr
+        substituteVar
+      ];
+    in
+      if builtins.typeOf exprs == "set" then (
+        if exprs.type == "expr" then (
+          let
+            mVal = ''[a-zA-Z0-9\'"_\. ]+'';
+            mOp = "in|[!=<>]+";
+            e = stripStr exprs.value;
+            m = builtins.map stripStr (builtins.match ''^(${mVal}) *(${mOp}) *(${mVal})$'' e);
+          in
+            {
+              type = "expr";
+              value = {
+                op = builtins.elemAt m 1;
+                values = [
+                  (processVar (builtins.elemAt m 0))
+                  (processVar (builtins.elemAt m 2))
+                ];
+              };
+            }
+        ) else exprs
+      ) else builtins.map transformExpressions exprs;
 
   # Recursively eval all expressions
-  evalExpressions = exprs: let
-    unmarshal = v: (
-      # TODO: Handle single quoted values
-      if v == "True" then true
-      else if v == "False" then false
-      else builtins.fromJSON v
-    );
-    hasElem = needle: haystack: builtins.elem needle (builtins.filter (x: builtins.typeOf x == "string") (builtins.split " " haystack));
-    op = {
-      "<=" = x: y: (unmarshal x) <= (unmarshal y);
-      "<" = x: y: (unmarshal x) < (unmarshal y);
-      "!=" = x: y: x != y;
-      "==" = x: y: x == y;
-      ">=" = x: y: (unmarshal x) >= (unmarshal y);
-      ">" = x: y: (unmarshal x) > (unmarshal y);
-      "~=" = v: c: let
-        parts = builtins.splitVersion c;
-        pruned = lib.take ((builtins.length parts) - 1) parts;
-        upper = builtins.toString (
-          (lib.toInt (builtins.elemAt pruned (builtins.length pruned - 1))) + 1
-        );
-        upperConstraint = builtins.concatStringsSep "." (ireplace (builtins.length pruned - 1) upper pruned);
-      in
-        op.">=" v c && op."<" v upperConstraint;
-      "===" = x: y: x == y;
-      "in" = x: y: let
-        values = builtins.filter (x: builtins.typeOf x == "string") (builtins.split " " (unmarshal y));
-      in
-        builtins.elem (unmarshal x) values;
-    };
-  in
-    if builtins.typeOf exprs == "set" then (
-      if exprs.type == "expr" then (
-        let
-          expr = exprs;
-          result = (op."${expr.value.op}") (builtins.elemAt expr.value.values 0) (builtins.elemAt expr.value.values 1);
-        in
-          {
-            type = "value";
-            value = result;
-          }
-      ) else exprs
-    ) else builtins.map evalExpressions exprs;
+  evalExpressions = exprs:
+    let
+      unmarshal = v: (
+        # TODO: Handle single quoted values
+        if v == "True" then true
+        else if v == "False" then false
+        else builtins.fromJSON v
+      );
+      hasElem = needle: haystack: builtins.elem needle (builtins.filter (x: builtins.typeOf x == "string") (builtins.split " " haystack));
+      op = {
+        "<=" = x: y: (unmarshal x) <= (unmarshal y);
+        "<" = x: y: (unmarshal x) < (unmarshal y);
+        "!=" = x: y: x != y;
+        "==" = x: y: x == y;
+        ">=" = x: y: (unmarshal x) >= (unmarshal y);
+        ">" = x: y: (unmarshal x) > (unmarshal y);
+        "~=" = v: c:
+          let
+            parts = builtins.splitVersion c;
+            pruned = lib.take ((builtins.length parts) - 1) parts;
+            upper = builtins.toString (
+              (lib.toInt (builtins.elemAt pruned (builtins.length pruned - 1))) + 1
+            );
+            upperConstraint = builtins.concatStringsSep "." (ireplace (builtins.length pruned - 1) upper pruned);
+          in
+            op.">=" v c && op."<" v upperConstraint;
+        "===" = x: y: x == y;
+        "in" = x: y:
+          let
+            values = builtins.filter (x: builtins.typeOf x == "string") (builtins.split " " (unmarshal y));
+          in
+            builtins.elem (unmarshal x) values;
+      };
+    in
+      if builtins.typeOf exprs == "set" then (
+        if exprs.type == "expr" then (
+          let
+            expr = exprs;
+            result = (op."${expr.value.op}") (builtins.elemAt expr.value.values 0) (builtins.elemAt expr.value.values 1);
+          in
+            {
+              type = "value";
+              value = result;
+            }
+        ) else exprs
+      ) else builtins.map evalExpressions exprs;
 
   # Now that we have performed an eval all that's left to do is to concat the graph into a single bool
-  reduceExpressions = exprs: let
-    cond = {
-      "and" = x: y: x && y;
-      "or" = x: y: x || y;
-    };
-    reduceExpressionsFun = acc: v: (
-      if builtins.typeOf v == "set" then (
-        if v.type == "value" then (
-          acc // {
-            value = cond."${acc.cond}" acc.value v.value;
-          }
-        ) else if v.type == "bool" then (
-          acc // {
-            cond = v.value;
-          }
+  reduceExpressions = exprs:
+    let
+      cond = {
+        "and" = x: y: x && y;
+        "or" = x: y: x || y;
+      };
+      reduceExpressionsFun = acc: v: (
+        if builtins.typeOf v == "set" then (
+          if v.type == "value" then (
+            acc // {
+              value = cond."${acc.cond}" acc.value v.value;
+            }
+          ) else if v.type == "bool" then (
+            acc // {
+              cond = v.value;
+            }
+          ) else throw "Unsupported type"
+        ) else if builtins.typeOf v == "list" then (
+          let
+            ret = builtins.foldl' reduceExpressionsFun {
+              value = true;
+              cond = "and";
+            } v;
+          in
+            acc // {
+              value = cond."${acc.cond}" acc.value ret.value;
+            }
         ) else throw "Unsupported type"
-      ) else if builtins.typeOf v == "list" then (
-        let
-          ret = builtins.foldl' reduceExpressionsFun {
-            value = true;
-            cond = "and";
-          } v;
-        in
-          acc // {
-            value = cond."${acc.cond}" acc.value ret.value;
-          }
-      ) else throw "Unsupported type"
-    );
-  in
-    (
-      builtins.foldl' reduceExpressionsFun {
-        value = true;
-        cond = "and";
-      } exprs
-    ).value;
-
+      );
+    in
+      (
+        builtins.foldl' reduceExpressionsFun {
+          value = true;
+          cond = "and";
+        } exprs
+      ).value;
 in
 e: builtins.foldl' (acc: v: v acc) e [
   findSubExpressions
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/semver.nix b/pkgs/development/tools/poetry2nix/poetry2nix/semver.nix
index 784589a4ca48..07dcbbc5eacb 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/semver.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/semver.nix
@@ -1,26 +1,27 @@
 { lib, ireplace }:
-
 let
   inherit (builtins) elemAt match;
 
   operators = let
     matchWildCard = s: match "([^\*])(\.[\*])" s;
     mkComparison = ret: version: v: builtins.compareVersions version v == ret;
-    mkIdxComparison = idx: version: v: let
-      ver = builtins.splitVersion v;
-      minor = builtins.toString (lib.toInt (elemAt ver idx) + 1);
-      upper = builtins.concatStringsSep "." (ireplace idx minor ver);
-    in
-      operators.">=" version v && operators."<" version upper;
-    dropWildcardPrecision = f: version: constraint: let
-      m = matchWildCard constraint;
-      hasWildcard = m != null;
-      c = if hasWildcard then (elemAt m 0) else constraint;
-      v =
-        if hasWildcard then (builtins.substring 0 (builtins.stringLength c) version)
-        else version;
-    in
-      f v c;
+    mkIdxComparison = idx: version: v:
+      let
+        ver = builtins.splitVersion v;
+        minor = builtins.toString (lib.toInt (elemAt ver idx) + 1);
+        upper = builtins.concatStringsSep "." (ireplace idx minor ver);
+      in
+        operators.">=" version v && operators."<" version upper;
+    dropWildcardPrecision = f: version: constraint:
+      let
+        m = matchWildCard constraint;
+        hasWildcard = m != null;
+        c = if hasWildcard then (elemAt m 0) else constraint;
+        v =
+          if hasWildcard then (builtins.substring 0 (builtins.stringLength c) version)
+          else version;
+      in
+        f v c;
   in
     {
       # Prefix operators
@@ -33,16 +34,17 @@ let
       # Semver specific operators
       "~" = mkIdxComparison 1;
       "^" = mkIdxComparison 0;
-      "~=" = v: c: let
-        # Prune constraint
-        parts = builtins.splitVersion c;
-        pruned = lib.take ((builtins.length parts) - 1) parts;
-        upper = builtins.toString (
-          (lib.toInt (builtins.elemAt pruned (builtins.length pruned - 1))) + 1
-        );
-        upperConstraint = builtins.concatStringsSep "." (ireplace (builtins.length pruned - 1) upper pruned);
-      in
-        operators.">=" v c && operators."<" v upperConstraint;
+      "~=" = v: c:
+        let
+          # Prune constraint
+          parts = builtins.splitVersion c;
+          pruned = lib.take ((builtins.length parts) - 1) parts;
+          upper = builtins.toString (
+            (lib.toInt (builtins.elemAt pruned (builtins.length pruned - 1))) + 1
+          );
+          upperConstraint = builtins.concatStringsSep "." (ireplace (builtins.length pruned - 1) upper pruned);
+        in
+          operators.">=" v c && operators."<" v upperConstraint;
       # Infix operators
       "-" = version: v: operators.">=" version v.vl && operators."<=" version v.vu;
       # Arbitrary equality clause, just run simple comparison
@@ -55,33 +57,34 @@ let
     version = "([0-9\.\*x]+)";
   };
 
-  parseConstraint = constraint: let
-    constraintStr = builtins.replaceStrings [ " " ] [ "" ] constraint;
-    # The common prefix operators
-    mPre = match "${re.operators} *${re.version}" constraintStr;
-    # There is also an infix operator to match ranges
-    mIn = match "${re.version} *(-) *${re.version}" constraintStr;
-  in
-    (
-      if mPre != null then {
-        op = elemAt mPre 0;
-        v = elemAt mPre 1;
-      }
-        # Infix operators are range matches
-      else if mIn != null then {
-        op = elemAt mIn 1;
-        v = {
-          vl = (elemAt mIn 0);
-          vu = (elemAt mIn 2);
-        };
-      }
-      else throw "Constraint \"${constraintStr}\" could not be parsed"
-    );
-
-  satisfiesSemver = version: constraint: let
-    inherit (parseConstraint constraint) op v;
-  in
-    if constraint == "*" then true else operators."${op}" version v;
+  parseConstraint = constraint:
+    let
+      constraintStr = builtins.replaceStrings [ " " ] [ "" ] constraint;
+      # The common prefix operators
+      mPre = match "${re.operators} *${re.version}" constraintStr;
+      # There is also an infix operator to match ranges
+      mIn = match "${re.version} *(-) *${re.version}" constraintStr;
+    in
+      (
+        if mPre != null then {
+          op = elemAt mPre 0;
+          v = elemAt mPre 1;
+        }
+          # Infix operators are range matches
+        else if mIn != null then {
+          op = elemAt mIn 1;
+          v = {
+            vl = (elemAt mIn 0);
+            vu = (elemAt mIn 2);
+          };
+        }
+        else throw "Constraint \"${constraintStr}\" could not be parsed"
+      );
 
+  satisfiesSemver = version: constraint:
+    let
+      inherit (parseConstraint constraint) op v;
+    in
+      if constraint == "*" then true else operators."${op}" version v;
 in
 { inherit satisfiesSemver; }
diff --git a/pkgs/development/tools/renderizer/default.nix b/pkgs/development/tools/renderizer/default.nix
index f33cad8da7a2..93634f935d1d 100644
--- a/pkgs/development/tools/renderizer/default.nix
+++ b/pkgs/development/tools/renderizer/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "renderizer";
-  version = "2.0.5";
+  version = "2.0.9";
 
   src = fetchFromGitHub {
     owner = "gomatic";
     repo = pname;
     rev = version;
-    sha256 = "186wcfzw60z6i59yl37rkppw8w88z5kikvsi65k4r9kwpll2z6z4";
+    sha256 = "1bip12pcn8bqgph7vd7bzzadwbyqh80fx7gqciv9fchycwsj04rf";
   };
 
-  modSha256 = "1sxg9skd5hjpg2f4wyxh5hwjrplw3b3v32gn61a9yixfk3wvi05x";
+  modSha256 = "0ss5l2n1sl1i2hvxsdzy6p61mnnxmm6h256jvv0p0ajynx8g538q";
 
   meta = with stdenv.lib; {
     description = "CLI to render Go template text files";
diff --git a/pkgs/development/tools/rust/cargo-asm/default.nix b/pkgs/development/tools/rust/cargo-asm/default.nix
index 9d2279fe5982..7c1361f6d270 100644
--- a/pkgs/development/tools/rust/cargo-asm/default.nix
+++ b/pkgs/development/tools/rust/cargo-asm/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-asm";
-  version = "0.1.17";
+  version = "2019-12-24";
 
   src = fetchFromGitHub {
     owner = "gnzlbg";
     repo = "cargo-asm";
-    rev = "7f69a17e9c36dfe1f0d7080d7974c72ecc87a145";
-    sha256 = "0zn5p95hsmhvk2slc9hakrpvim6l4zbpgkks2x64ndwyfmzyykws";
+    rev = "577f890ebd4a09c8265710261e976fe7bfce8668";
+    sha256 = "1f6kzsmxgdms9lq5z9ynnmxymk9k2lzlp3caa52wqjvdw1grw0rb";
   };
 
-  cargoSha256 = "1xsfwzn2b7hmb7hwgfa4ss7qfas8957gkw7zys0an9hdj5qr3ywb";
+  cargoSha256 = "0d797cisiydblh64vqpfdjf37wmxrvs77phdrqh582lbrvnfhx2j";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/development/tools/rust/cargo-expand/default.nix b/pkgs/development/tools/rust/cargo-expand/default.nix
index a799fc0bec27..7ffb77f741bf 100644
--- a/pkgs/development/tools/rust/cargo-expand/default.nix
+++ b/pkgs/development/tools/rust/cargo-expand/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-expand";
-  version = "0.4.17";
+  version = "0.4.18";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "043adbvc1slswwygibgghfl2ryry3ja1x3zjz39qqv63f81pd5id";
+    sha256 = "1dhrzfy1ii2vg8psvz9rrgk0blj5bl64ghr0z44vh5y0kxn9v62p";
   };
 
-  cargoSha256 = "0kwpc62nwjjhlh3rd5d27sjv0p53q5gj0gky9xx9khxy8xazbh91";
+  cargoSha256 = "13ib0binyw1rzxjg59ly3ahyr53wdq3z7wfp11gd61kzwz34gs9d";
 
   buildInputs = [ llvmPackages.libclang ]
     ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with stdenv.lib; {
     description = "A utility and Cargo subcommand designed to let people expand macros in their Rust source code";
-    homepage = https://github.com/dtolnay/cargo-expand;
+    homepage = "https://github.com/dtolnay/cargo-expand";
     license = with licenses; [ mit asl20 ];
     platforms = platforms.all;
     maintainers = with maintainers; [ xrelkd ];
diff --git a/pkgs/development/tools/rust/cargo-make/Cargo.lock b/pkgs/development/tools/rust/cargo-make/Cargo.lock
index dd5a492de6a9..41843b64b896 100644
--- a/pkgs/development/tools/rust/cargo-make/Cargo.lock
+++ b/pkgs/development/tools/rust/cargo-make/Cargo.lock
@@ -33,7 +33,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "attohttpc"
-version = "0.11.1"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -70,6 +70,11 @@ version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
+name = "base64"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
 name = "bitflags"
 version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -99,16 +104,16 @@ dependencies = [
 
 [[package]]
 name = "cargo-make"
-version = "0.28.0"
+version = "0.30.1"
 dependencies = [
- "ci_info 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "ci_info 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "colored 1.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "duckscript 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "duckscriptsdk 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "duckscript 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "duckscriptsdk 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "envmnt 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "fern 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fern 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "fsio 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "git_info 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -120,6 +125,7 @@ dependencies = [
  "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_json 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
  "shell2batch 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "toml 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -135,18 +141,8 @@ version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
-name = "chrono"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
- "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
 name = "ci_info"
-version = "0.9.1"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "envmnt 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -235,7 +231,7 @@ dependencies = [
 
 [[package]]
 name = "duckscript"
-version = "0.2.1"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "fsio 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -243,20 +239,23 @@ dependencies = [
 
 [[package]]
 name = "duckscriptsdk"
-version = "0.2.1"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "attohttpc 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "duckscript 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "attohttpc 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "base64 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "duckscript 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "fsio 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "home 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "java-properties 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "meval 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "uname 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "whoami 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "whoami 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -326,10 +325,9 @@ dependencies = [
 
 [[package]]
 name = "fern"
-version = "0.5.9"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -523,23 +521,6 @@ version = "1.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
-name = "num-integer"
-version = "0.1.42"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
 name = "openssl"
 version = "0.10.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -702,6 +683,11 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
+name = "ryu"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
 name = "same-file"
 version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -766,6 +752,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "serde_json"
+version = "1.0.48"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "ryu 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
 name = "shell2batch"
 version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -823,21 +819,19 @@ dependencies = [
 ]
 
 [[package]]
-name = "time"
-version = "0.1.42"
+name = "toml"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
-name = "toml"
-version = "0.5.6"
+name = "uname"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -911,7 +905,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "whoami"
-version = "0.7.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -947,19 +941,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
 "checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
 "checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
-"checksum attohttpc 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ac9fd7bdf8ff0a1b9d73b41f95cb189d77528110295c80e3c858bf343db24fa3"
+"checksum attohttpc 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de33d017f0add8b019c6d98c3132c82c8815ca96bbed8e8006e7402c840562b3"
 "checksum atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
 "checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
 "checksum autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
 "checksum base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7"
+"checksum base64 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7d5ca2cd0adc3f48f9e9ea5a6bbdf9ccc0bfade884847e484d452414c7ccffb3"
 "checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
 "checksum blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a"
 "checksum bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "130aac562c0dd69c56b3b1cc8ffd2e17be31d0b6c25b61c96b76231aa23e39e1"
 "checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
 "checksum cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)" = "95e28fa049fda1c330bcf9d723be7663a899c4679724b34c81e9f5a326aab8cd"
 "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-"checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01"
-"checksum ci_info 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e53a6853eb0aafd4be4d1c7c891982a91a58f84df98838992ce3eb774572bfd9"
+"checksum ci_info 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b407009a4a51ae109dbdfcd7b6e4de38d148f37fad512b8c4623c642c4045e68"
 "checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
 "checksum colored 1.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8815e2ab78f3a59928fc32e141fbeece88320a240e43f47b2fd64ea3a88a5b3d"
 "checksum constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
@@ -969,8 +963,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4"
 "checksum dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3"
 "checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b"
-"checksum duckscript 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c0f699115ffc264c2d6ed8eed098b48d7d08122ba8d59d44f93170c5d33972c7"
-"checksum duckscriptsdk 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dad6bba01030a40c5c26a1393926220d046319c00352520b83e02bedf324c805"
+"checksum duckscript 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aa4a338912dce0ada9929b9aa81c3b279e51b101583da13541339efaee46dfa9"
+"checksum duckscriptsdk 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9da937d7dc544fe56d34e2b70c68bac038a821f5822e8a567b1ce52d47edd1c0"
 "checksum encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec"
 "checksum encoding-index-japanese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91"
 "checksum encoding-index-korean 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81"
@@ -979,7 +973,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum encoding-index-tradchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18"
 "checksum encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569"
 "checksum envmnt 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "db101f16134ca37f91a6e30c32d9df5bbfcbe8d926f0c1f03602baf2fc2f7352"
-"checksum fern 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e69ab0d5aca163e388c3a49d284fed6c3d0810700e77c5ae2756a50ec1a4daaa"
+"checksum fern 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8c9a4820f0ccc8a7afd67c39a0f1a0f4b07ca1725164271a64939d7aeb9af065"
 "checksum flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6bd6d6f4752952feb71363cffc9ebac9411b75b87c6ab6058c40c8900cf43c0f"
 "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
 "checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
@@ -1005,8 +999,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6f3f74f726ae935c3f514300cc6773a0c9492abc5e972d42ba0c0ebb88757625"
 "checksum native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4b2df1a4c22fd44a62147fd8f13dd0f95c9d8ca7b2610299b2a2f9cf8964274e"
 "checksum nom 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a5b8c256fd9471521bcb84c3cdba98921497f1a331cbc15b8030fc63b82050ce"
-"checksum num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba"
-"checksum num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096"
 "checksum openssl 0.10.26 (registry+https://github.com/rust-lang/crates.io-index)" = "3a3cc5799d98e1088141b8e01ff760112bbd9f19d850c124500566ca6901a585"
 "checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
 "checksum openssl-sys 0.9.53 (registry+https://github.com/rust-lang/crates.io-index)" = "465d16ae7fc0e313318f7de5cecf57b2fbe7511fd213978b457e1c96ff46736f"
@@ -1027,6 +1019,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum run_script 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2dfbbb48b9c7ee71baadd968640f81ca4bc930c1a2029441eede96a6933275ac"
 "checksum rust-argon2 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017"
 "checksum rust_info 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "be941f2b996df7ffaf093366039c9dc182b3ca2e00f3e81df44e08c3611e773d"
+"checksum ryu 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535622e6be132bccd223f4bb2b8ac8d53cda3c7a6394944d3b2b33fb974f9d76"
 "checksum same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
 "checksum schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "87f550b06b6cba9c8b8be3ee73f391990116bf527450d2556e9b9ce263b9a021"
 "checksum security-framework 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8ef2429d7cefe5fd28bd1d2ed41c944547d4ff84776f5935b456da44593a16df"
@@ -1035,6 +1028,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
 "checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
 "checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
+"checksum serde_json 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "9371ade75d4c2d6cb154141b9752cf3781ec9c05e0e5cf35060e1e70ee7b9c25"
 "checksum shell2batch 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "185a52ee351c1001753c9e3b2eb48c525ff7f51803a4f2cef4365b5c3b743f65"
 "checksum smallvec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "44e59e0c9fa00817912ae6e4e6e3c4fe04455e75699d06eedc7d85917ed8e8f4"
 "checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
@@ -1042,8 +1036,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
 "checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
 "checksum thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
-"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
 "checksum toml 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ffc92d160b1eef40665be3a05630d003936a3bc7da7421277846c2613e92c71a"
+"checksum uname 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b72f89f0ca32e4db1c04e2a72f5345d59796d4866a1ee0609084569f73683dc8"
 "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
 "checksum unicode-normalization 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5479532badd04e128284890390c1e876ef7a993d0570b3597ae43dfa1d59afa4"
 "checksum unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
@@ -1054,7 +1048,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
 "checksum walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d"
 "checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-"checksum whoami 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "622a663c45e12b7ae198748afb532d0c53d2daea11037312221e26198ca4e8e9"
+"checksum whoami 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a08eb844b158ea881e81b94556eede7f7e306e4c7b976aad88f49e6e36dec391"
 "checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
 "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 "checksum winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4ccfbf554c6ad11084fb7517daca16cfdcaccbdadba4fc336f032a8b12c2ad80"
diff --git a/pkgs/development/tools/rust/cargo-make/cargo.patch b/pkgs/development/tools/rust/cargo-make/cargo.patch
deleted file mode 100644
index b75a5a298878..000000000000
--- a/pkgs/development/tools/rust/cargo-make/cargo.patch
+++ /dev/null
@@ -1,1053 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-new file mode 100644
-index 0000000..fe75e29
---- /dev/null
-+++ b/Cargo.lock
-@@ -0,0 +1,1047 @@
-+# This file is automatically @generated by Cargo.
-+# It is not intended for manual editing.
-+[[package]]
-+name = "adler32"
-+version = "1.0.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "aho-corasick"
-+version = "0.7.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "memchr 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "ansi_term"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "arrayref"
-+version = "0.3.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "arrayvec"
-+version = "0.5.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "attohttpc"
-+version = "0.11.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "openssl 0.10.28 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "url 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "atty"
-+version = "0.2.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "autocfg"
-+version = "0.1.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "autocfg"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "base64"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "bitflags"
-+version = "1.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "blake2b_simd"
-+version = "0.5.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "arrayref 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "bytes"
-+version = "0.5.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "c2-chacha"
-+version = "0.2.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "cargo-make"
-+version = "0.27.0"
-+dependencies = [
-+ "ci_info 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "colored 1.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "duckscript 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "duckscriptsdk 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "envmnt 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "fern 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "git_info 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "home 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "indexmap 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "run_script 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rust_info 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "shell2batch 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "toml 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "cc"
-+version = "1.0.50"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "cfg-if"
-+version = "0.1.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "chrono"
-+version = "0.4.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "ci_info"
-+version = "0.9.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "envmnt 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "clap"
-+version = "2.33.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "colored"
-+version = "1.9.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "constant_time_eq"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "core-foundation"
-+version = "0.6.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "core-foundation-sys"
-+version = "0.6.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "crc32fast"
-+version = "1.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "crossbeam-utils"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "dirs"
-+version = "2.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "dirs-sys"
-+version = "0.3.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_users 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "duckscript"
-+version = "0.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "duckscriptsdk"
-+version = "0.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "attohttpc 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "duckscript 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "home 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "java-properties 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "meval 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "whoami 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "encoding"
-+version = "0.2.33"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "encoding-index-japanese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "encoding-index-korean 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "encoding-index-simpchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "encoding-index-singlebyte 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "encoding-index-tradchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "encoding-index-japanese"
-+version = "1.20141219.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "encoding-index-korean"
-+version = "1.20141219.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "encoding-index-simpchinese"
-+version = "1.20141219.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "encoding-index-singlebyte"
-+version = "1.20141219.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "encoding-index-tradchinese"
-+version = "1.20141219.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "encoding_index_tests"
-+version = "0.1.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "envmnt"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "indexmap 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "fern"
-+version = "0.5.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "flate2"
-+version = "1.0.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "miniz_oxide 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "fnv"
-+version = "1.0.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "foreign-types"
-+version = "0.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "foreign-types-shared"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "fs_extra"
-+version = "1.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "getrandom"
-+version = "0.1.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "git_info"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "glob"
-+version = "0.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "hermit-abi"
-+version = "0.1.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "home"
-+version = "0.5.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "http"
-+version = "0.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "idna"
-+version = "0.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-normalization 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "indexmap"
-+version = "1.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "itoa"
-+version = "0.4.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "java-properties"
-+version = "1.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "lazy_static"
-+version = "1.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "libc"
-+version = "0.2.66"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "log"
-+version = "0.4.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "matches"
-+version = "0.1.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "memchr"
-+version = "2.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "meval"
-+version = "0.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "nom 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "miniz_oxide"
-+version = "0.3.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "native-tls"
-+version = "0.2.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "openssl 0.10.28 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "openssl-sys 0.9.54 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "schannel 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "security-framework 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "security-framework-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "nom"
-+version = "1.2.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "num-integer"
-+version = "0.1.42"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "num-traits"
-+version = "0.2.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "openssl"
-+version = "0.10.28"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "openssl-sys 0.9.54 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "openssl-probe"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "openssl-sys"
-+version = "0.9.54"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "percent-encoding"
-+version = "2.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "pkg-config"
-+version = "0.3.17"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "ppv-lite86"
-+version = "0.2.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "proc-macro2"
-+version = "1.0.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "quote"
-+version = "1.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand"
-+version = "0.7.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand_chacha"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.5.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand_hc"
-+version = "0.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "redox_syscall"
-+version = "0.1.56"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "redox_users"
-+version = "0.3.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rust-argon2 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "regex"
-+version = "1.3.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "aho-corasick 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memchr 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex-syntax 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "regex-syntax"
-+version = "0.6.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "remove_dir_all"
-+version = "0.5.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "run_script"
-+version = "0.6.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "users 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rust-argon2"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rust_info"
-+version = "0.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "same-file"
-+version = "1.0.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "schannel"
-+version = "0.1.17"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "security-framework"
-+version = "0.3.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "security-framework-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "security-framework-sys"
-+version = "0.3.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "semver"
-+version = "0.9.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "semver-parser"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "serde"
-+version = "1.0.104"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "serde_derive"
-+version = "1.0.104"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "shell2batch"
-+version = "0.4.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "smallvec"
-+version = "1.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "strsim"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "syn"
-+version = "1.0.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "tempfile"
-+version = "3.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "textwrap"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "thread_local"
-+version = "1.0.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "time"
-+version = "0.1.42"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "toml"
-+version = "0.5.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "unicode-bidi"
-+version = "0.3.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "unicode-normalization"
-+version = "0.1.12"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "smallvec 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "unicode-width"
-+version = "0.1.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "unicode-xid"
-+version = "0.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "url"
-+version = "2.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "users"
-+version = "0.9.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "vcpkg"
-+version = "0.2.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "vec_map"
-+version = "0.8.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "walkdir"
-+version = "2.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "wasi"
-+version = "0.9.0+wasi-snapshot-preview1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "whoami"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "winapi"
-+version = "0.3.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "winapi-i686-pc-windows-gnu"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "winapi-util"
-+version = "0.1.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "winapi-x86_64-pc-windows-gnu"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[metadata]
-+"checksum adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2"
-+"checksum aho-corasick 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)" = "743ad5a418686aad3b87fd14c43badd828cf26e214a00f92a384291cf22e1811"
-+"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
-+"checksum arrayref 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
-+"checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
-+"checksum attohttpc 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ac9fd7bdf8ff0a1b9d73b41f95cb189d77528110295c80e3c858bf343db24fa3"
-+"checksum atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-+"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
-+"checksum autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
-+"checksum base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7"
-+"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-+"checksum blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a"
-+"checksum bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "130aac562c0dd69c56b3b1cc8ffd2e17be31d0b6c25b61c96b76231aa23e39e1"
-+"checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
-+"checksum cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)" = "95e28fa049fda1c330bcf9d723be7663a899c4679724b34c81e9f5a326aab8cd"
-+"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-+"checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01"
-+"checksum ci_info 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a9c4ad4399f16ccee06f6a62acad539f42de4a80fa21cbe994df1bbb51bee3b9"
-+"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
-+"checksum colored 1.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8815e2ab78f3a59928fc32e141fbeece88320a240e43f47b2fd64ea3a88a5b3d"
-+"checksum constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
-+"checksum core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d"
-+"checksum core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b"
-+"checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
-+"checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4"
-+"checksum dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3"
-+"checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b"
-+"checksum duckscript 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "747bb4e541a0830b4581bffc001045d3dc259683546fbf35a35f47af831634b5"
-+"checksum duckscriptsdk 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "799c03843d05bb809ea1ee653c4f9ba9a5ee766c07490cc684cf6b259b68ba94"
-+"checksum encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec"
-+"checksum encoding-index-japanese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91"
-+"checksum encoding-index-korean 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81"
-+"checksum encoding-index-simpchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7"
-+"checksum encoding-index-singlebyte 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a"
-+"checksum encoding-index-tradchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18"
-+"checksum encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569"
-+"checksum envmnt 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "db101f16134ca37f91a6e30c32d9df5bbfcbe8d926f0c1f03602baf2fc2f7352"
-+"checksum fern 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e69ab0d5aca163e388c3a49d284fed6c3d0810700e77c5ae2756a50ec1a4daaa"
-+"checksum flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6bd6d6f4752952feb71363cffc9ebac9411b75b87c6ab6058c40c8900cf43c0f"
-+"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
-+"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
-+"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-+"checksum fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674"
-+"checksum getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb"
-+"checksum git_info 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "add3a9c3c08c8905a2165ff06891dd1c3bb32d81b2a32d79528abc9793dfb06f"
-+"checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
-+"checksum hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eff2656d88f158ce120947499e971d743c05dbcbed62e5bd2f38f1698bbc3772"
-+"checksum home 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2456aef2e6b6a9784192ae780c0f15bc57df0e918585282325e8c8ac27737654"
-+"checksum http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b708cc7f06493459026f53b9a61a7a121a5d1ec6238dee58ea4941132b30156b"
-+"checksum idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
-+"checksum indexmap 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "076f042c5b7b98f31d205f1249267e12a6518c1481e9dae9764af19b707d2292"
-+"checksum itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "b8b7a7c0c47db5545ed3fef7468ee7bb5b74691498139e4b3f6a20685dc6dd8e"
-+"checksum java-properties 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "caf4418ade5bde22a283a7f2fb537ea397ec102718f259f2630714e7a5b389fa"
-+"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-+"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
-+"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
-+"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
-+"checksum memchr 2.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "53445de381a1f436797497c61d851644d0e8e88e6140f22872ad33a704933978"
-+"checksum meval 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f79496a5651c8d57cd033c5add8ca7ee4e3d5f7587a4777484640d9cb60392d9"
-+"checksum miniz_oxide 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "aa679ff6578b1cddee93d7e82e263b94a575e0bfced07284eb0c037c1d2416a5"
-+"checksum native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4b2df1a4c22fd44a62147fd8f13dd0f95c9d8ca7b2610299b2a2f9cf8964274e"
-+"checksum nom 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a5b8c256fd9471521bcb84c3cdba98921497f1a331cbc15b8030fc63b82050ce"
-+"checksum num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba"
-+"checksum num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096"
-+"checksum openssl 0.10.28 (registry+https://github.com/rust-lang/crates.io-index)" = "973293749822d7dd6370d6da1e523b0d1db19f06c459134c658b2a4261378b52"
-+"checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
-+"checksum openssl-sys 0.9.54 (registry+https://github.com/rust-lang/crates.io-index)" = "1024c0a59774200a555087a6da3f253a9095a5f344e353b212ac4c8b8e450986"
-+"checksum percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
-+"checksum pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)" = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677"
-+"checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
-+"checksum proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3acb317c6ff86a4e579dfa00fc5e6cca91ecbb4e7eb2df0468805b674eb88548"
-+"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
-+"checksum rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-+"checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
-+"checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-+"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-+"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
-+"checksum redox_users 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "09b23093265f8d200fa7b4c2c76297f47e681c655f6f1285a8780d6a022f7431"
-+"checksum regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "322cf97724bea3ee221b78fe25ac9c46114ebb51747ad5babd51a2fc6a8235a8"
-+"checksum regex-syntax 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)" = "b28dfe3fe9badec5dbf0a79a9cccad2cfc2ab5484bdb3e44cbd1ae8b3ba2be06"
-+"checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
-+"checksum run_script 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80a217951e2afacc57d3129bd52aeddc550559f5a82f57529a31fc5675bd6621"
-+"checksum rust-argon2 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017"
-+"checksum rust_info 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "be941f2b996df7ffaf093366039c9dc182b3ca2e00f3e81df44e08c3611e773d"
-+"checksum same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
-+"checksum schannel 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "507a9e6e8ffe0a4e0ebb9a10293e62fdf7657c06f1b8bb07a8fcf697d2abf295"
-+"checksum security-framework 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8ef2429d7cefe5fd28bd1d2ed41c944547d4ff84776f5935b456da44593a16df"
-+"checksum security-framework-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e31493fc37615debb8c5090a7aeb4a9730bc61e77ab10b9af59f1a202284f895"
-+"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
-+"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-+"checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
-+"checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
-+"checksum shell2batch 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "185a52ee351c1001753c9e3b2eb48c525ff7f51803a4f2cef4365b5c3b743f65"
-+"checksum smallvec 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5c2fb2ec9bcd216a5b0d0ccf31ab17b5ed1d627960edff65bbe95d3ce221cefc"
-+"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-+"checksum syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)" = "af6f3550d8dff9ef7dc34d384ac6f107e5d31c8f57d9f28e0081503f547ac8f5"
-+"checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
-+"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-+"checksum thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
-+"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
-+"checksum toml 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ffc92d160b1eef40665be3a05630d003936a3bc7da7421277846c2613e92c71a"
-+"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
-+"checksum unicode-normalization 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5479532badd04e128284890390c1e876ef7a993d0570b3597ae43dfa1d59afa4"
-+"checksum unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
-+"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
-+"checksum url 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "829d4a8476c35c9bf0bbce5a3b23f4106f79728039b726d292bb93bc106787cb"
-+"checksum users 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c72f4267aea0c3ec6d07eaabea6ead7c5ddacfafc5e22bcf8d186706851fb4cf"
-+"checksum vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168"
-+"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
-+"checksum walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d"
-+"checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-+"checksum whoami 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "622a663c45e12b7ae198748afb532d0c53d2daea11037312221e26198ca4e8e9"
-+"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
-+"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-+"checksum winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4ccfbf554c6ad11084fb7517daca16cfdcaccbdadba4fc336f032a8b12c2ad80"
-+"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 53849e4176fa..ac05906f9838 100644
--- a/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/pkgs/development/tools/rust/cargo-make/default.nix
@@ -2,7 +2,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-make";
-  version = "0.28.0";
+  version = "0.30.1";
 
   src =
     let
@@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec {
         owner = "sagiegurari";
         repo = pname;
         rev = version;
-        sha256 = "1sf4hjsylk68d3wb7bs8gfkz5az41hjs7hvb8mbhyc7nryklkq4d";
+        sha256 = "0s8qniliv2lq19zvymsw8lpg7jgvna2wi7i3kqgqxfkij95z383n";
       };
     in
     runCommand "source" {} ''
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ Security ];
 
-  cargoSha256 = "1x0lb68d47nhggnj7jf90adz7shb0cg305mavgqvxizd2s9789dx";
+  cargoSha256 = "0wkymahq8rd2i6j7s1x70rp22f60wlkqhl27qinsc03cnaky5c83";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/rust/cbindgen/default.nix b/pkgs/development/tools/rust/cbindgen/default.nix
index b97c9af088fd..34d744807463 100644
--- a/pkgs/development/tools/rust/cbindgen/default.nix
+++ b/pkgs/development/tools/rust/cbindgen/default.nix
@@ -11,10 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "1x21g66gri6z9bnnfn7zmnf2lwdf5ing76pcmw0ilx4nzpvfhkg0";
   };
 
-  # Delete this on next update; see #79975 for details
-  legacyCargoFetcher = true;
-
-  cargoSha256 = "13fb8cdg6r0g5jb3vaznvv5aaywrnsl2yp00h4k8028vl8jwwr79";
+  cargoSha256 = "13fbahdih5whll09pfgyb1bjag1f0d0xfwgm2s342bs1krxsrbh3";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/development/tools/trellis/default.nix b/pkgs/development/tools/trellis/default.nix
index 130aa87f7ce4..d297105ea91e 100644
--- a/pkgs/development/tools/trellis/default.nix
+++ b/pkgs/development/tools/trellis/default.nix
@@ -8,24 +8,26 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "trellis";
-  version = "2020.02.04";
+  version = "2020.03.25";
+
   # git describe --tags
   realVersion = with stdenv.lib; with builtins;
-    "1.0-130-g${substring 0 7 (elemAt srcs 0).rev}";
+    "1.0-152-g${substring 0 7 (elemAt srcs 0).rev}";
 
   srcs = [
     (fetchFromGitHub {
        owner  = "SymbiFlow";
        repo   = "prjtrellis";
-       rev    = "4e4b95c8e03583d48d76d1229f9c7825e2ee5be1";
-       sha256 = "02kg48393bjiys56r62b4ks2xvfarw9phi5bips2xsnj9c99pmg0";
+       rev    = "c27bfc220a9f85f04173840d1ea081ba478adc9c";
+       sha256 = "1fyl51246ns2njvij8g7k9a9axvhz8n8g09fny5dym9q7hcx08qh";
        name   = "trellis";
      })
+
     (fetchFromGitHub {
       owner  = "SymbiFlow";
       repo   = "prjtrellis-db";
-      rev    = "717478b757a702bbc7e3e11a5fbecee2a64f7922";
-      sha256 = "0q4j8qz3m2hissn2a82ck542cx62bp4f0wwzl3g22yv59i13yg83";
+      rev    = "c137076fdd8bfca3d2bf9cdacda9983dbbec599a";
+      sha256 = "1br0vw8wwcn2qhs8kxkis5xqlr2nw7r3mf1qwjp8xckd6fa1wlcw";
       name   = "trellis-database";
     })
   ];
diff --git a/pkgs/development/tools/unityhub/default.nix b/pkgs/development/tools/unityhub/default.nix
index f52d790c1063..2939df0ba20d 100644
--- a/pkgs/development/tools/unityhub/default.nix
+++ b/pkgs/development/tools/unityhub/default.nix
@@ -17,11 +17,11 @@ appimageTools.wrapType2 rec {
 
   src = fetchurl {
     url = "https://public-cdn.cloud.unity3d.com/hub/prod/UnityHub.AppImage";
-    sha256 = "1rx7ih94ig3pd1yx1d3fpx7zpixq3j5birkpnzkh778qqsdrg0nf";
+    sha256 = "05p5kqbwgqyk2aw2lix5dk1ql16aj6iczxrc63a1l0vj8wrha7z4";
   };
 
   meta = with stdenv.lib; {
-    homepage = https://unity3d.com/;
+    homepage = "https://unity3d.com/";
     description = "Game development tool";
     longDescription = ''
       Popular development platform for creating 2D and 3D multiplatform games
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index ee8100128620..677fddd0f60a 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -118,7 +118,7 @@ in buildRubyGem rec {
     description = "A tool for building complete development environments";
     homepage = https://www.vagrantup.com/;
     license = licenses.mit;
-    maintainers = with maintainers; [ aneeshusa ma27 ];
+    maintainers = with maintainers; [ ma27 ];
     platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/development/tools/wally-cli/default.nix b/pkgs/development/tools/wally-cli/default.nix
index b7333e456442..6020d6fe8765 100644
--- a/pkgs/development/tools/wally-cli/default.nix
+++ b/pkgs/development/tools/wally-cli/default.nix
@@ -7,10 +7,9 @@ buildGoPackage rec {
   goPackagePath = "github.com/zsa/wally";
   subPackages = [ "cli" ];
 
-  nativeBuildInputs = [
-    pkg-config
-    libusb1
-  ];
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ libusb1 ];
 
   src = fetchFromGitHub {
     owner = "zsa";
diff --git a/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock.patch b/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock.patch
index e30e9c3d7e5f..29886fccd5f1 100644
--- a/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock.patch
+++ b/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock.patch
@@ -1,19 +1,19 @@
-From 792dcf4aef3144222e3fab9498bda620879664ab Mon Sep 17 00:00:00 2001
+From 786cd8df9e9fa245c4dbab1bfd21b7949b8a5300 Mon Sep 17 00:00:00 2001
 From: Maximilian Bosch <maximilian@mbosch.me>
-Date: Sat, 7 Mar 2020 22:56:36 +0100
+Date: Thu, 26 Mar 2020 01:54:11 +0100
 Subject: [PATCH] Add cargo.lock
 
 ---
- Cargo.lock | 2432 ++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 2432 insertions(+)
+ Cargo.lock | 2527 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 2527 insertions(+)
  create mode 100644 Cargo.lock
 
 diff --git a/Cargo.lock b/Cargo.lock
 new file mode 100644
-index 00000000..2cd91628
+index 00000000..976ea6d4
 --- /dev/null
 +++ b/Cargo.lock
-@@ -0,0 +1,2432 @@
+@@ -0,0 +1,2527 @@
 +# This file is automatically @generated by Cargo.
 +# It is not intended for manual editing.
 +[[package]]
@@ -31,9 +31,9 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "aho-corasick"
-+version = "0.7.9"
++version = "0.7.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d5e63fd144e18ba274ae7095c0197a870a7b9468abc801dd62f190d80817d2ec"
++checksum = "8716408b8bc624ed7f65d223ddb9ac2d044c0547b6fa4b0d554f3a9540496ada"
 +dependencies = [
 + "memchr",
 +]
@@ -49,9 +49,9 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "anyhow"
-+version = "1.0.26"
++version = "1.0.27"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7825f6833612eb2414095684fcf6c635becf3ce97fe48cf6421321e93bfbd53c"
++checksum = "013a6e0a2cbe3d20f9c60b65458f7a7f7a5e636c5d0f45a5a6aee5d4b1f01785"
 +
 +[[package]]
 +name = "arrayref"
@@ -192,9 +192,9 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "bumpalo"
-+version = "3.2.0"
++version = "3.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1f359dc14ff8911330a51ef78022d376f25ed00248912803b58f00cb1c27f742"
++checksum = "12ae9db68ad7fac5fe51304d20f016c911539251075a214f8e663babefa35187"
 +
 +[[package]]
 +name = "byteorder"
@@ -203,15 +203,6 @@ index 00000000..2cd91628
 +checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"
 +
 +[[package]]
-+name = "c2-chacha"
-+version = "0.2.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
-+dependencies = [
-+ "ppv-lite86",
-+]
-+
-+[[package]]
 +name = "canvas"
 +version = "0.1.0"
 +dependencies = [
@@ -368,9 +359,9 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "curl"
-+version = "0.4.26"
++version = "0.4.28"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ecb534fed9060d04bccaa8b8e1e2d3d5a0d7a9ec6d9c667691c80a3c6b7d19ef"
++checksum = "eda1c0c03cacf3365d84818a40293f0e3f3953db8759c9c565a3b434edf0b52e"
 +dependencies = [
 + "curl-sys",
 + "libc",
@@ -383,9 +374,9 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "curl-sys"
-+version = "0.4.28+curl-7.69.0"
++version = "0.4.30+curl-7.69.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e2c6b7fa5d36aa192e410788b77af65f339af24c8786419e8b48173689a484bf"
++checksum = "923b38e423a8f47a4058e96f2a1fa2865a6231097ee860debd678d244277d50c"
 +dependencies = [
 + "cc",
 + "libc",
@@ -544,6 +535,31 @@ index 00000000..2cd91628
 +checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
 +
 +[[package]]
++name = "futures"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c329ae8753502fb44ae4fc2b622fa2a94652c41e795143765ba0927f92ab780"
++dependencies = [
++ "futures-channel",
++ "futures-core",
++ "futures-executor",
++ "futures-io",
++ "futures-sink",
++ "futures-task",
++ "futures-util",
++]
++
++[[package]]
++name = "futures-channel"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f0c77d04ce8edd9cb903932b608268b3fffec4163dc053b3b402bf47eac1f1a8"
++dependencies = [
++ "futures-core",
++ "futures-sink",
++]
++
++[[package]]
 +name = "futures-channel-preview"
 +version = "0.3.0-alpha.19"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -553,12 +569,78 @@ index 00000000..2cd91628
 +]
 +
 +[[package]]
++name = "futures-core"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f25592f769825e89b92358db00d26f965761e094951ac44d3663ef25b7ac464a"
++
++[[package]]
 +name = "futures-core-preview"
 +version = "0.3.0-alpha.19"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +checksum = "b35b6263fb1ef523c3056565fa67b1d16f0a8604ff12b11b08c25f28a734c60a"
 +
 +[[package]]
++name = "futures-executor"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f674f3e1bcb15b37284a90cedf55afdba482ab061c407a9c0ebbd0f3109741ba"
++dependencies = [
++ "futures-core",
++ "futures-task",
++ "futures-util",
++]
++
++[[package]]
++name = "futures-io"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a638959aa96152c7a4cddf50fcb1e3fede0583b27157c26e67d6f99904090dc6"
++
++[[package]]
++name = "futures-macro"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9a5081aa3de1f7542a794a397cde100ed903b0630152d0973479018fd85423a7"
++dependencies = [
++ "proc-macro-hack",
++ "proc-macro2 1.0.9",
++ "quote 1.0.3",
++ "syn 1.0.17",
++]
++
++[[package]]
++name = "futures-sink"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3466821b4bc114d95b087b850a724c6f83115e929bc88f1fa98a3304a944c8a6"
++
++[[package]]
++name = "futures-task"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7b0a34e53cf6cdcd0178aa573aed466b646eb3db769570841fda0c7ede375a27"
++
++[[package]]
++name = "futures-util"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "22766cf25d64306bedf0384da004d05c9974ab104fcc4528f1236181c18004c5"
++dependencies = [
++ "futures-channel",
++ "futures-core",
++ "futures-io",
++ "futures-macro",
++ "futures-sink",
++ "futures-task",
++ "memchr",
++ "pin-utils",
++ "proc-macro-hack",
++ "proc-macro-nested",
++ "slab",
++]
++
++[[package]]
 +name = "getrandom"
 +version = "0.1.14"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -700,7 +782,7 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "js-sys"
-+version = "0.3.36"
++version = "0.3.37"
 +dependencies = [
 + "wasm-bindgen",
 + "wasm-bindgen-futures",
@@ -729,9 +811,9 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "libc"
-+version = "0.2.67"
++version = "0.2.68"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "eb147597cdf94ed43ab7a9038716637d2d1bf2bc571da995d0028dec06bd3018"
++checksum = "dea0c0405123bba743ee3f91f49b1c7cfb684eef0da0a50110f758ccf24cdff0"
 +
 +[[package]]
 +name = "libz-sys"
@@ -789,11 +871,11 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "memoffset"
-+version = "0.5.3"
++version = "0.5.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
++checksum = "b4fc2c02a7e374099d4ee95a193111f72d2110197fe200272371758f6c3643d8"
 +dependencies = [
-+ "rustc_version",
++ "autocfg 1.0.0",
 +]
 +
 +[[package]]
@@ -949,9 +1031,9 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "openssl-src"
-+version = "111.6.1+1.1.1d"
++version = "111.7.0+1.1.1e"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c91b04cb43c1a8a90e934e0cd612e2a5715d976d2d6cff4490278a0cddf35005"
++checksum = "6fde5a8c01ef8aa31ff8d0aaf9bae248581ed8840fca0b66e51cc9f294a8cb2c"
 +dependencies = [
 + "cc",
 +]
@@ -1025,6 +1107,12 @@ index 00000000..2cd91628
 +]
 +
 +[[package]]
++name = "pin-utils"
++version = "0.1.0-alpha.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5894c618ce612a3fa23881b152b608bafb8c56cfc22f434a3ba3120b40f7b587"
++
++[[package]]
 +name = "pkg-config"
 +version = "0.3.17"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1079,31 +1167,43 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "proc-macro-error"
-+version = "0.4.11"
++version = "0.4.12"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e7959c6467d962050d639361f7703b2051c43036d03493c36f01d440fdd3138a"
++checksum = "18f33027081eba0a6d8aba6d1b1c3a3be58cbb12106341c2d5759fcd9b5277e7"
 +dependencies = [
 + "proc-macro-error-attr",
 + "proc-macro2 1.0.9",
 + "quote 1.0.3",
-+ "syn 1.0.16",
++ "syn 1.0.17",
 + "version_check 0.9.1",
 +]
 +
 +[[package]]
 +name = "proc-macro-error-attr"
-+version = "0.4.11"
++version = "0.4.12"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e4002d9f55991d5e019fb940a90e1a95eb80c24e77cb2462dd4dc869604d543a"
++checksum = "8a5b4b77fdb63c1eca72173d68d24501c54ab1269409f6b672c85deb18af69de"
 +dependencies = [
 + "proc-macro2 1.0.9",
 + "quote 1.0.3",
-+ "syn 1.0.16",
++ "syn 1.0.17",
 + "syn-mid",
 + "version_check 0.9.1",
 +]
 +
 +[[package]]
++name = "proc-macro-hack"
++version = "0.5.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fcfdefadc3d57ca21cf17990a28ef4c0f7c61383a28cb7604cf4a18e6ede1420"
++
++[[package]]
++name = "proc-macro-nested"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8e946095f9d3ed29ec38de908c22f95d9ac008e424c7bcae54c75a79c527c694"
++
++[[package]]
 +name = "proc-macro2"
 +version = "0.4.30"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1198,7 +1298,7 @@ index 00000000..2cd91628
 +dependencies = [
 + "getrandom",
 + "libc",
-+ "rand_chacha 0.2.1",
++ "rand_chacha 0.2.2",
 + "rand_core 0.5.1",
 + "rand_hc 0.2.0",
 +]
@@ -1215,11 +1315,11 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "rand_chacha"
-+version = "0.2.1"
++version = "0.2.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
++checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
 +dependencies = [
-+ "c2-chacha",
++ "ppv-lite86",
 + "rand_core 0.5.1",
 +]
 +
@@ -1395,9 +1495,9 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "regex"
-+version = "1.3.4"
++version = "1.3.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "322cf97724bea3ee221b78fe25ac9c46114ebb51747ad5babd51a2fc6a8235a8"
++checksum = "7f6946991529684867e47d86474e3a6d0c0ab9b82d5821e314b1ede31fa3a4b3"
 +dependencies = [
 + "aho-corasick",
 + "memchr",
@@ -1407,9 +1507,9 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "regex-syntax"
-+version = "0.6.16"
++version = "0.6.17"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1132f845907680735a84409c3bebc64d1364a5683ffbce899550cd09d5eaefc1"
++checksum = "7fe5bd57d1d7414c6b5ed48563a2c855d995ff777729dcd91c369ec7fea395ae"
 +
 +[[package]]
 +name = "remove_dir_all"
@@ -1477,19 +1577,10 @@ index 00000000..2cd91628
 +checksum = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
 +
 +[[package]]
-+name = "rustc_version"
-+version = "0.2.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-+dependencies = [
-+ "semver",
-+]
-+
-+[[package]]
 +name = "ryu"
-+version = "1.0.2"
++version = "1.0.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
++checksum = "535622e6be132bccd223f4bb2b8ac8d53cda3c7a6394944d3b2b33fb974f9d76"
 +
 +[[package]]
 +name = "safemem"
@@ -1509,9 +1600,9 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "schannel"
-+version = "0.1.17"
++version = "0.1.18"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "507a9e6e8ffe0a4e0ebb9a10293e62fdf7657c06f1b8bb07a8fcf697d2abf295"
++checksum = "039c25b130bd8c1321ee2d7de7fde2659fa9c2744e4bb29711cfc852ea53cd19"
 +dependencies = [
 + "lazy_static",
 + "winapi",
@@ -1536,38 +1627,23 @@ index 00000000..2cd91628
 +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
 +
 +[[package]]
-+name = "semver"
-+version = "0.9.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
-+dependencies = [
-+ "semver-parser",
-+]
-+
-+[[package]]
-+name = "semver-parser"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-+
-+[[package]]
 +name = "serde"
-+version = "1.0.104"
++version = "1.0.105"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
++checksum = "e707fbbf255b8fc8c3b99abb91e7257a622caeb20a9818cbadbeeede4e0932ff"
 +dependencies = [
 + "serde_derive",
 +]
 +
 +[[package]]
 +name = "serde_derive"
-+version = "1.0.104"
++version = "1.0.105"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
++checksum = "ac5d00fc561ba2724df6758a17de23df5914f20e41cb00f94d5b7ae42fffaff8"
 +dependencies = [
 + "proc-macro2 1.0.9",
 + "quote 1.0.3",
-+ "syn 1.0.16",
++ "syn 1.0.17",
 +]
 +
 +[[package]]
@@ -1594,6 +1670,12 @@ index 00000000..2cd91628
 +checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
 +
 +[[package]]
++name = "slab"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
++
++[[package]]
 +name = "smallvec"
 +version = "1.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1631,9 +1713,9 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "structopt"
-+version = "0.3.11"
++version = "0.3.12"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3fe43617218c0805c6eb37160119dc3c548110a67786da7218d1c6555212f073"
++checksum = "c8faa2719539bbe9d77869bfb15d4ee769f99525e707931452c97b693b3f159d"
 +dependencies = [
 + "clap",
 + "lazy_static",
@@ -1642,15 +1724,15 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "structopt-derive"
-+version = "0.4.4"
++version = "0.4.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c6e79c80e0f4efd86ca960218d4e056249be189ff1c42824dcd9a7f51a56f0bd"
++checksum = "3f88b8e18c69496aad6f9ddf4630dd7d585bcaf765786cb415b9aec2fe5a0430"
 +dependencies = [
 + "heck",
 + "proc-macro-error",
 + "proc-macro2 1.0.9",
 + "quote 1.0.3",
-+ "syn 1.0.16",
++ "syn 1.0.17",
 +]
 +
 +[[package]]
@@ -1666,9 +1748,9 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "syn"
-+version = "1.0.16"
++version = "1.0.17"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "123bd9499cfb380418d509322d7a6d52e5315f064fe4b3ad18a53d6b92c07859"
++checksum = "0df0eb663f387145cab623dea85b09c2c5b4b0aef44e945d928e682fce71bb03"
 +dependencies = [
 + "proc-macro2 1.0.9",
 + "quote 1.0.3",
@@ -1683,7 +1765,7 @@ index 00000000..2cd91628
 +dependencies = [
 + "proc-macro2 1.0.9",
 + "quote 1.0.3",
-+ "syn 1.0.16",
++ "syn 1.0.17",
 +]
 +
 +[[package]]
@@ -1818,9 +1900,9 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "trybuild"
-+version = "1.0.23"
++version = "1.0.24"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "26ff1b18659a2218332848d76ad1c867ce4c6ee37b085e6bc8de9a6d11401220"
++checksum = "24b4e093c5ed1a60b22557090120aa14f90ca801549c0949d775ea07c1407720"
 +dependencies = [
 + "glob",
 + "lazy_static",
@@ -1958,7 +2040,7 @@ index 00000000..2cd91628
 + "heck",
 + "proc-macro2 1.0.9",
 + "quote 1.0.3",
-+ "syn 1.0.16",
++ "syn 1.0.17",
 +]
 +
 +[[package]]
@@ -1969,7 +2051,7 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "wasm-bindgen"
-+version = "0.2.59"
++version = "0.2.60"
 +dependencies = [
 + "cfg-if",
 + "js-sys",
@@ -1985,7 +2067,7 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "wasm-bindgen-anyref-xform"
-+version = "0.2.59"
++version = "0.2.60"
 +dependencies = [
 + "anyhow",
 + "rayon",
@@ -1997,14 +2079,14 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "wasm-bindgen-backend"
-+version = "0.2.59"
++version = "0.2.60"
 +dependencies = [
 + "bumpalo",
 + "lazy_static",
 + "log 0.4.8",
 + "proc-macro2 1.0.9",
 + "quote 1.0.3",
-+ "syn 1.0.16",
++ "syn 1.0.17",
 + "wasm-bindgen-shared",
 +]
 +
@@ -2018,7 +2100,7 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "wasm-bindgen-cli"
-+version = "0.2.59"
++version = "0.2.60"
 +dependencies = [
 + "anyhow",
 + "assert_cmd",
@@ -2046,7 +2128,7 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "wasm-bindgen-cli-support"
-+version = "0.2.59"
++version = "0.2.60"
 +dependencies = [
 + "anyhow",
 + "base64 0.9.3",
@@ -2068,7 +2150,7 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "wasm-bindgen-futures"
-+version = "0.4.9"
++version = "0.4.10"
 +dependencies = [
 + "cfg-if",
 + "futures-channel-preview",
@@ -2080,7 +2162,7 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "wasm-bindgen-macro"
-+version = "0.2.59"
++version = "0.2.60"
 +dependencies = [
 + "quote 1.0.3",
 + "trybuild",
@@ -2091,18 +2173,18 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "wasm-bindgen-macro-support"
-+version = "0.2.59"
++version = "0.2.60"
 +dependencies = [
 + "proc-macro2 1.0.9",
 + "quote 1.0.3",
-+ "syn 1.0.16",
++ "syn 1.0.17",
 + "wasm-bindgen-backend",
 + "wasm-bindgen-shared",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-multi-value-xform"
-+version = "0.2.59"
++version = "0.2.60"
 +dependencies = [
 + "anyhow",
 + "rayon",
@@ -2123,11 +2205,11 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "wasm-bindgen-shared"
-+version = "0.2.59"
++version = "0.2.60"
 +
 +[[package]]
 +name = "wasm-bindgen-test"
-+version = "0.3.9"
++version = "0.3.10"
 +dependencies = [
 + "console_error_panic_hook",
 + "js-sys",
@@ -2153,7 +2235,7 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "wasm-bindgen-test-macro"
-+version = "0.3.9"
++version = "0.3.10"
 +dependencies = [
 + "proc-macro2 1.0.9",
 + "quote 1.0.3",
@@ -2161,7 +2243,7 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "wasm-bindgen-threads-xform"
-+version = "0.2.59"
++version = "0.2.60"
 +dependencies = [
 + "anyhow",
 + "walrus",
@@ -2170,7 +2252,7 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "wasm-bindgen-wasm-conventions"
-+version = "0.2.59"
++version = "0.2.60"
 +dependencies = [
 + "anyhow",
 + "walrus",
@@ -2178,7 +2260,7 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "wasm-bindgen-wasm-interpreter"
-+version = "0.2.59"
++version = "0.2.60"
 +dependencies = [
 + "anyhow",
 + "log 0.4.8",
@@ -2189,7 +2271,7 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "wasm-bindgen-webidl"
-+version = "0.2.59"
++version = "0.2.60"
 +dependencies = [
 + "anyhow",
 + "env_logger",
@@ -2200,7 +2282,7 @@ index 00000000..2cd91628
 + "quote 1.0.3",
 + "sourcefile",
 + "structopt",
-+ "syn 1.0.16",
++ "syn 1.0.17",
 + "wasm-bindgen-backend",
 + "weedle",
 +]
@@ -2254,25 +2336,25 @@ index 00000000..2cd91628
 +
 +[[package]]
 +name = "wast"
-+version = "9.0.0"
++version = "11.0.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ee7b16105405ca2aa2376ba522d8d4b1a11604941dd3bb7df9fd2ece60f8d16a"
++checksum = "df4d67ba9266f4fcaf2e8a1afadc5e2a959e51aecc07b1ecbdf85a6ddaf08bde"
 +dependencies = [
 + "leb128",
 +]
 +
 +[[package]]
 +name = "wat"
-+version = "1.0.10"
++version = "1.0.12"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "56173f7f4fb59aebe35a7e71423845e1c6c7144bfb56362d497931b6b3bed0f6"
++checksum = "9a9400dc1c8512087b2d974b1b9b0a6c4e6e26e7e8acf629e3e351165a1ed301"
 +dependencies = [
-+ "wast 9.0.0",
++ "wast 11.0.0",
 +]
 +
 +[[package]]
 +name = "web-sys"
-+version = "0.3.36"
++version = "0.3.37"
 +dependencies = [
 + "js-sys",
 + "wasm-bindgen",
@@ -2316,6 +2398,19 @@ index 00000000..2cd91628
 +]
 +
 +[[package]]
++name = "webxr"
++version = "0.1.0"
++dependencies = [
++ "futures",
++ "js-sys",
++ "serde",
++ "serde_derive",
++ "wasm-bindgen",
++ "wasm-bindgen-futures",
++ "web-sys",
++]
++
++[[package]]
 +name = "weedle"
 +version = "0.11.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/pkgs/development/tools/wasm-bindgen-cli/default.nix b/pkgs/development/tools/wasm-bindgen-cli/default.nix
index e5afcb30a817..ee9a6ead7fa1 100644
--- a/pkgs/development/tools/wasm-bindgen-cli/default.nix
+++ b/pkgs/development/tools/wasm-bindgen-cli/default.nix
@@ -2,19 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasm-bindgen-cli";
-  version = "0.2.59";
+  version = "0.2.60";
 
   src = fetchFromGitHub {
     owner = "rustwasm";
     repo = "wasm-bindgen";
     rev = version;
-    sha256 = "1i0hdky5dlkrzcphddm122yxfhgcvnszh4q1as0r41vhfs5ss597";
+    sha256 = "1jr4v5y9hbkyg8gjkr3qc2qxwhyagfs8q3y3z248mr1919mcas8h";
   };
 
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security curl ];
   nativeBuildInputs = [ pkgconfig ];
 
-  cargoSha256 = "1ylk9vrpajslx1zy4vqmlyqa5ygcmvir1gcn8hsr6liigf5kcz7p";
+  cargoSha256 = "08g110qahipgm1qyyihgqwnkr23w0gk1gp63ici5dj2qsxnc4mxv";
   cargoPatches = [ ./0001-Add-cargo.lock.patch ];
   cargoBuildFlags = [ "-p" pname ];
 
diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix
index 9db4472f6720..dfdd921fd03d 100644
--- a/pkgs/development/tools/yarn/default.nix
+++ b/pkgs/development/tools/yarn/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yarn";
-  version = "1.22.2";
+  version = "1.22.4";
 
   src = fetchzip {
     url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz";
-    sha256 = "1av52k5hl7xylxz5c0h64akz6ccd1vm64v0pzmny1661pbihiwp5";
+    sha256 = "1s054c9cmlmzy6cfkawhaxvaxhqcq0a17n4sb12p0bp2lzkax9lm";
   };
 
   buildInputs = [ nodejs ];