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/analysis/flow/default.nix6
-rw-r--r--pkgs/development/tools/analysis/tflint/default.nix6
-rw-r--r--pkgs/development/tools/avro-tools/default.nix7
-rw-r--r--pkgs/development/tools/aws-sam-cli/default.nix2
-rw-r--r--pkgs/development/tools/bazel-watcher/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/msbuild/default.nix133
-rw-r--r--pkgs/development/tools/build-managers/msbuild/nuget.nix1130
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix2
-rw-r--r--pkgs/development/tools/buildah/default.nix26
-rw-r--r--pkgs/development/tools/cbor-diag/Gemfile.lock8
-rw-r--r--pkgs/development/tools/cbor-diag/gemset.nix28
-rw-r--r--pkgs/development/tools/cddl/Gemfile.lock12
-rw-r--r--pkgs/development/tools/cddl/gemset.nix44
-rw-r--r--pkgs/development/tools/clj-kondo/default.nix51
-rw-r--r--pkgs/development/tools/cloudfoundry-cli/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix10
-rw-r--r--pkgs/development/tools/coursier/default.nix13
-rw-r--r--pkgs/development/tools/cppclean/default.nix8
-rw-r--r--pkgs/development/tools/easyjson/default.nix8
-rw-r--r--pkgs/development/tools/fdroidserver/default.nix4
-rw-r--r--pkgs/development/tools/git-series/default.nix4
-rw-r--r--pkgs/development/tools/gofumpt/default.nix22
-rw-r--r--pkgs/development/tools/icestorm/default.nix12
-rw-r--r--pkgs/development/tools/jq/default.nix2
-rw-r--r--pkgs/development/tools/ktlint/default.nix4
-rw-r--r--pkgs/development/tools/misc/astyle/default.nix34
-rw-r--r--pkgs/development/tools/misc/d-feet/default.nix74
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix2
-rw-r--r--pkgs/development/tools/misc/gengetopt/default.nix18
-rw-r--r--pkgs/development/tools/misc/kibana/5.x.nix2
-rw-r--r--pkgs/development/tools/misc/kibana/6.x.nix2
-rw-r--r--pkgs/development/tools/misc/kibana/7.x.nix2
-rw-r--r--pkgs/development/tools/misc/mkcert/default.nix6
-rw-r--r--pkgs/development/tools/misc/texi2html/default.nix25
-rw-r--r--pkgs/development/tools/misc/wishbone-tool/default.nix25
-rw-r--r--pkgs/development/tools/ocaml/dune/default.nix6
-rw-r--r--pkgs/development/tools/ofono-phonesim/default.nix47
-rw-r--r--pkgs/development/tools/ofono-phonesim/qt5-compat.patch48
-rw-r--r--pkgs/development/tools/osslsigncode/default.nix31
-rw-r--r--pkgs/development/tools/out-of-tree/default.nix30
-rw-r--r--pkgs/development/tools/out-of-tree/deps.nix120
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/default.nix106
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/disable-web-ui.patch37
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/default.nix15
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-bash.json7
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c.json7
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json7
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json7
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json7
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-html.json7
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json7
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json7
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json7
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ruby.json7
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json7
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json7
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/update.nix68
-rw-r--r--pkgs/development/tools/quicktemplate/default.nix8
-rw-r--r--pkgs/development/tools/rust/bindgen/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-expand/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix10
-rw-r--r--pkgs/development/tools/rust/racer/default.nix2
-rw-r--r--pkgs/development/tools/rust/rls/default.nix47
-rw-r--r--pkgs/development/tools/rust/rustfmt/default.nix34
-rw-r--r--pkgs/development/tools/scalafmt/default.nix4
-rw-r--r--pkgs/development/tools/skaffold/default.nix8
-rw-r--r--pkgs/development/tools/solarus-quest-editor/default.nix14
-rw-r--r--pkgs/development/tools/statik/default.nix8
-rw-r--r--pkgs/development/tools/trellis/default.nix4
69 files changed, 2223 insertions, 254 deletions
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index c26a5d8e0c8b..fb351f4adfd8 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.105.0";
+  version = "0.106.0";
 
   src = fetchFromGitHub {
     owner  = "facebook";
     repo   = "flow";
     rev    = "refs/tags/v${version}";
-    sha256 = "0p79v65h580vxm6j5nlrcxpkk4bxgn8wcvwmlfs70pbmdsj0hzwx";
+    sha256 = "0da32j8s3avxa84g2gn9sr4nakibllz1kq5i3bgqbndrgcgsdvgw";
   };
 
   installPhase = ''
@@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
     homepage = https://flow.org/;
     license = licenses.mit;
     platforms = ocamlPackages.ocaml.meta.platforms;
-    maintainers = with maintainers; [ marsam puffnfresh globin ];
+    maintainers = with maintainers; [ marsam puffnfresh ];
   };
 }
diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix
index caa4d718f89f..5099505cc5b0 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.9.3";
+  version = "0.10.3";
 
   src = fetchFromGitHub {
     owner = "wata727";
     repo = pname;
     rev = "v${version}";
-    sha256 = "10saljrman41pjmjhbzan8jw8jbz069yhcf6vvzxmw763x5s3n85";
+    sha256 = "1p4w1ddgb4nqibbrvix0p0gdlj6ann5lkyvlcsbkn25z8ha3qa39";
   };
 
-  modSha256 = "0zfgyv1m7iay3brkqmh35gw1giyr3i3ja56dh4kgm6ai4z1jmvgc";
+  modSha256 = "1snanz4cpqkfgxp8k52w3x4i49k6d5jffcffrcx8xya8yvx2wxy3";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/tools/avro-tools/default.nix b/pkgs/development/tools/avro-tools/default.nix
index a81c606dc60a..678988480ece 100644
--- a/pkgs/development/tools/avro-tools/default.nix
+++ b/pkgs/development/tools/avro-tools/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, makeWrapper, jre, lib }:
 
 stdenv.mkDerivation rec {
-  version = "1.9.0";
   pname = "avro-tools";
+  version = "1.9.0";
 
   src = fetchurl {
     url =
@@ -19,11 +19,10 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/bin
     mkdir -p $out/libexec/avro-tools
-    mv $src ${pname}-${version}.jar
-    cp ${pname}-${version}.jar $out/libexec/avro-tools
+    cp $src $out/libexec/avro-tools/${pname}.jar
 
     makeWrapper ${jre}/bin/java $out/bin/avro-tools \
-    --add-flags "-jar $out/libexec/avro-tools/${pname}-${version}.jar"
+    --add-flags "-jar $out/libexec/avro-tools/${pname}.jar"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/aws-sam-cli/default.nix b/pkgs/development/tools/aws-sam-cli/default.nix
index 73adfaec8386..0e511271e1c1 100644
--- a/pkgs/development/tools/aws-sam-cli/default.nix
+++ b/pkgs/development/tools/aws-sam-cli/default.nix
@@ -56,7 +56,7 @@ buildPythonApplication rec {
   ];
 
   postPatch = ''
-    substituteInPlace requirements/base.txt --replace "requests==2.20.1" "requests==2.21.0"
+    substituteInPlace requirements/base.txt --replace "requests==2.20.1" "requests==2.22.0"
     substituteInPlace requirements/base.txt --replace "six~=1.11.0" "six~=1.12.0"
     substituteInPlace requirements/base.txt --replace "PyYAML~=3.12" "PyYAML~=5.1"
   '';
diff --git a/pkgs/development/tools/bazel-watcher/default.nix b/pkgs/development/tools/bazel-watcher/default.nix
index 51aeebb82e52..62ecc47b17bd 100644
--- a/pkgs/development/tools/bazel-watcher/default.nix
+++ b/pkgs/development/tools/bazel-watcher/default.nix
@@ -62,7 +62,7 @@ buildBazelPackage rec {
       sed -e '/^FILE:@bazel_gazelle_go_repository_tools.*/d' -i $bazelOut/external/\@*.marker
     '';
 
-    sha256 = "1i3b6kn9kq70a34wkpm8zjqj1skawdxs3r01b7r6ws1rbdnfj6mp";
+    sha256 = "0g2y283glx2ykxxqc3vsg520a6s2w5d937wndhgpfajc5yjgiz43";
   };
 
   buildAttrs = {
diff --git a/pkgs/development/tools/build-managers/msbuild/default.nix b/pkgs/development/tools/build-managers/msbuild/default.nix
new file mode 100644
index 000000000000..e9bb3c27df9f
--- /dev/null
+++ b/pkgs/development/tools/build-managers/msbuild/default.nix
@@ -0,0 +1,133 @@
+{ stdenv, fetchurl, makeWrapper, glibcLocales, mono, dotnetPackages, unzip, dotnet-sdk }:
+
+let
+
+  xplat = fetchurl {
+    url = "https://github.com/mono/msbuild/releases/download/0.07/mono_msbuild_xplat-master-8f608e49.zip";
+    sha256 = "1jxq3fk9a6q2a8i9zacxaz3fkvc22i9qvzlpa7wbb95h42g0ffhq";
+  };
+
+  deps = import ./nuget.nix { inherit fetchurl; };
+
+in
+
+stdenv.mkDerivation rec {
+  pname = "msbuild";
+  version = "16.3+xamarinxplat.2019.07.26.14.57";
+
+  src = fetchurl {
+    url = "https://download.mono-project.com/sources/msbuild/msbuild-${version}.tar.xz";
+    sha256 = "1zcdfx4xsh62wj3g1jc2an0lppsfs691lz4dv05xbgi01aq1hk6a";
+  };
+
+  nativeBuildInputs = [
+    dotnet-sdk
+    mono
+  ];
+
+  buildInputs = [
+    dotnetPackages.Nuget
+    glibcLocales
+    makeWrapper
+    unzip
+  ];
+
+  # https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=msbuild
+  phases = ["unpackPhase" "buildPhase" "installPhase" "installCheckPhase"];
+
+  # https://github.com/NixOS/nixpkgs/issues/38991
+  # bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
+  LOCALE_ARCHIVE = stdenv.lib.optionalString stdenv.isLinux
+      "${glibcLocales}/lib/locale/locale-archive";
+
+  buildPhase = ''
+    # nuget would otherwise try to base itself in /homeless-shelter
+    export HOME=$(pwd)/fake-home
+
+    for package in ${toString deps}; do
+      nuget add $package -Source nixos
+    done
+
+    nuget sources Disable -Name "nuget.org"
+    nuget sources Add -Name nixos -Source $(pwd)/nixos
+
+    # license check is case sensitive
+    mv LICENSE license
+
+    mkdir -p artifacts
+    unzip ${xplat} -d artifacts
+    mv artifacts/msbuild artifacts/mono-msbuild
+    chmod +x artifacts/mono-msbuild/MSBuild.dll
+
+    ln -s $(find ${dotnet-sdk} -name libhostfxr.so) artifacts/mono-msbuild/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/
+
+    # overwrite the file
+    echo "#!${stdenv.shell}" > eng/common/dotnet-install.sh
+
+    # msbuild response files to use only the nixos source
+    echo "/p:RestoreSources=nixos" > artifacts/mono-msbuild/MSBuild.rsp
+    echo "/p:RestoreSources=nixos" > src/MSBuild/MSBuild.rsp
+
+    # not patchShebangs, there is /bin/bash in the body of the script as well
+    substituteInPlace ./eng/cibuild_bootstrapped_msbuild.sh --replace /bin/bash ${stdenv.shell}
+
+    # DisableNerdbankVersioning https://gitter.im/Microsoft/msbuild/archives/2018/06/27?at=5b33dbc4ce3b0f268d489bfa
+    # TODO there are some (many?) failing tests
+    ./eng/cibuild_bootstrapped_msbuild.sh --host_type mono --configuration Release --skip_tests /p:DisableNerdbankVersioning=true
+  '';
+
+  installPhase = ''
+    mono artifacts/mono-msbuild/MSBuild.dll mono/build/install.proj /p:MonoInstallPrefix="$out" /p:Configuration=Release-MONO
+
+    ln -s ${mono}/lib/mono/msbuild/Current/bin/Roslyn $out/lib/mono/msbuild/Current/bin/Roslyn
+
+    makeWrapper ${mono}/bin/mono $out/bin/msbuild \
+      --set MSBuildExtensionsPath $out/lib/mono/xbuild \
+      --set-default MONO_GC_PARAMS "nursery-size=64m" \
+      --add-flags "$out/lib/mono/msbuild/15.0/bin/MSBuild.dll"
+  '';
+
+  doInstallCheck = true;
+
+  # https://docs.microsoft.com/cs-cz/visualstudio/msbuild/walkthrough-creating-an-msbuild-project-file-from-scratch?view=vs-2019
+  installCheckPhase = ''
+    cat > Helloworld.cs <<EOF
+using System;
+
+class HelloWorld
+{
+    static void Main()
+    {
+#if DebugConfig
+        Console.WriteLine("WE ARE IN THE DEBUG CONFIGURATION");
+#endif
+
+        Console.WriteLine("Hello, world!");
+    }
+}
+EOF
+
+    cat > Helloworld.csproj <<EOF
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Compile Include="Helloworld.cs" />
+  </ItemGroup>
+  <Target Name="Build">
+    <Csc Sources="@(Compile)"/>
+  </Target>
+</Project>
+EOF
+
+    $out/bin/msbuild Helloworld.csproj -t:Build
+    ${mono}/bin/mono Helloworld.exe | grep "Hello, world!"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Mono version of Microsoft Build Engine, the build platform for .NET, and Visual Studio";
+    homepage = https://github.com/mono/msbuild;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jdanek ];
+    platforms = platforms.unix;
+  };
+}
+
diff --git a/pkgs/development/tools/build-managers/msbuild/nuget.nix b/pkgs/development/tools/build-managers/msbuild/nuget.nix
new file mode 100644
index 000000000000..0aae3840752d
--- /dev/null
+++ b/pkgs/development/tools/build-managers/msbuild/nuget.nix
@@ -0,0 +1,1130 @@
+{ fetchurl }: let
+
+  fetchNuGet = { url, name, version, sha256 }: fetchurl {
+    inherit name url sha256;
+  };
+
+in [
+(fetchNuGet {
+        name = "microsoft.build";
+        version = "14.3.0";
+        url = "https://www.nuget.org/api/v2/package/microsoft.build/14.3.0";
+        sha256 = "1zamn3p8xxi0wsjlpln0y71ncb977f3fp08mvaz4wmbmi76nr0rz";
+        })
+(fetchNuGet {
+        name = "system.io";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.io/4.1.0";
+        sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp";
+        })
+(fetchNuGet {
+        name = "system.io";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.io/4.3.0";
+        sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
+        })
+(fetchNuGet {
+        name = "system.xml.xpath";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.xml.xpath/4.3.0";
+        sha256 = "1cv2m0p70774a0sd1zxc8fm8jk3i5zk2bla3riqvi8gsm0r4kpci";
+        })
+(fetchNuGet {
+        name = "microsoft.net.compilers.toolset";
+        version = "3.3.0-beta2-19367-02";
+        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.net.compilers.toolset/3.3.0-beta2-19367-02/microsoft.net.compilers.toolset.3.3.0-beta2-19367-02.nupkg";
+        sha256 = "1v9lz2fmfprhql0klqa8iipiiz3wcflvlgr3a86pcjjk7x0y84sl";
+        })
+(fetchNuGet {
+        name = "system.io.filesystem";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.io.filesystem/4.0.1";
+        sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1";
+        })
+(fetchNuGet {
+        name = "system.io.filesystem";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.io.filesystem/4.3.0";
+        sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
+        })
+(fetchNuGet {
+        name = "largeaddressaware";
+        version = "1.0.3";
+        url = "https://www.nuget.org/api/v2/package/largeaddressaware/1.0.3";
+        sha256 = "1ppss9bgj0hf5s8307bnm2a4qm10mrymp0v12m28a5q81zjz0fr5";
+        })
+(fetchNuGet {
+        name = "nuget.protocol";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.protocol/5.2.0-rtm.6067";
+        sha256 = "0fm3qgcdsy6dy6fih0n9a4w39mzdha4cz51gr9pp9g4nag34za2a";
+        })
+(fetchNuGet {
+        name = "runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97";
+        })
+(fetchNuGet {
+        name = "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3";
+        })
+(fetchNuGet {
+        name = "system.buffers";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.buffers/4.3.0";
+        sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy";
+        })
+(fetchNuGet {
+        name = "system.buffers";
+        version = "4.4.0";
+        url = "https://www.nuget.org/api/v2/package/system.buffers/4.4.0";
+        sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19";
+        })
+(fetchNuGet {
+        name = "xunit.core";
+        version = "2.4.1";
+        url = "https://www.nuget.org/api/v2/package/xunit.core/2.4.1";
+        sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a";
+        })
+(fetchNuGet {
+        name = "system.io.filesystem.primitives";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.io.filesystem.primitives/4.3.0";
+        sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
+        })
+(fetchNuGet {
+        name = "system.io.filesystem.primitives";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.io.filesystem.primitives/4.0.1";
+        sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612";
+        })
+(fetchNuGet {
+        name = "system.xml.xmldocument";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.xml.xmldocument/4.0.1";
+        sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1";
+        })
+(fetchNuGet {
+        name = "system.xml.xmldocument";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.xml.xmldocument/4.3.0";
+        sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi";
+        })
+(fetchNuGet {
+        name = "microsoft.build.framework";
+        version = "15.5.180";
+        url = "https://www.nuget.org/api/v2/package/microsoft.build.framework/15.5.180";
+        sha256 = "064y3a711ikx9pm9d2wyms4i3k4f9hfvn3vymhwygg7yv7gcj92z";
+        })
+(fetchNuGet {
+        name = "microsoft.build.framework";
+        version = "14.3.0";
+        url = "https://www.nuget.org/api/v2/package/microsoft.build.framework/14.3.0";
+        sha256 = "0r7y1i7dbr3pb53fdrh268hyi627w85nzv2iblwyg8dzkfxraafd";
+        })
+(fetchNuGet {
+        name = "system.globalization";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.globalization/4.3.0";
+        sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
+        })
+(fetchNuGet {
+        name = "system.globalization";
+        version = "4.0.11";
+        url = "https://www.nuget.org/api/v2/package/system.globalization/4.0.11";
+        sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d";
+        })
+(fetchNuGet {
+        name = "microsoft.dotnet.signtool";
+        version = "1.0.0-beta.19372.10";
+        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.dotnet.signtool/1.0.0-beta.19372.10/microsoft.dotnet.signtool.1.0.0-beta.19372.10.nupkg";
+        sha256 = "1f2im2lilw10zslfclxh49knr542jy7q09p009flxsgn68riy0j6";
+        })
+(fetchNuGet {
+        name = "system.runtime.handles";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.handles/4.3.0";
+        sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
+        })
+(fetchNuGet {
+        name = "system.runtime.handles";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.handles/4.0.1";
+        sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g";
+        })
+(fetchNuGet {
+        name = "microsoft.codeanalysis.common";
+        version = "3.0.0-beta1-61516-01";
+        url = "https://dotnet.myget.org/F/roslyn/api/v2/package/microsoft.codeanalysis.common/3.0.0-beta1-61516-01";
+        sha256 = "1qfm61yrsmihhir7n3hb5ccn1r50i39rv1g74880ma7ihjl1hz54";
+        })
+(fetchNuGet {
+        name = "microsoft.netcore.platforms";
+        version = "1.0.1";
+        url = "https://www.nuget.org/api/v2/package/microsoft.netcore.platforms/1.0.1";
+        sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr";
+        })
+(fetchNuGet {
+        name = "microsoft.netcore.platforms";
+        version = "1.1.0";
+        url = "https://www.nuget.org/api/v2/package/microsoft.netcore.platforms/1.1.0";
+        sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
+        })
+(fetchNuGet {
+        name = "system.reflection.primitives";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.primitives/4.3.0";
+        sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
+        })
+(fetchNuGet {
+        name = "system.reflection.primitives";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.primitives/4.0.1";
+        sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28";
+        })
+(fetchNuGet {
+        name = "microbuild.core";
+        version = "0.2.0";
+        url = "https://www.nuget.org/api/v2/package/microbuild.core/0.2.0";
+        sha256 = "0q4s45jskbyxfx4ay6znnvv94zma2wd85b8rwmwszd2nb0xl3194";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.tracesource";
+        version = "4.0.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.tracesource/4.0.0";
+        sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h";
+        })
+(fetchNuGet {
+        name = "system.runtime.numerics";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.numerics/4.3.0";
+        sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z";
+        })
+(fetchNuGet {
+        name = "system.threading.tasks.parallel";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.threading.tasks.parallel/4.3.0";
+        sha256 = "1rr3qa4hxwyj531s4nb3bwrxnxxwz617i0n9gh6x7nr7dd3ayzgh";
+        })
+(fetchNuGet {
+        name = "system.threading.tasks.parallel";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.threading.tasks.parallel/4.0.1";
+        sha256 = "114wdg32hr46dfsnns3pgs67kcha5jn47p5gg0mhxfn5vrkr2p75";
+        })
+(fetchNuGet {
+        name = "nuget.credentials";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.credentials/5.2.0-rtm.6067";
+        sha256 = "07g2na590sph9li5igww74i3gqyrj5cb6gsgjh54f1f4bs4x1c4k";
+        })
+(fetchNuGet {
+        name = "system.objectmodel";
+        version = "4.0.12";
+        url = "https://www.nuget.org/api/v2/package/system.objectmodel/4.0.12";
+        sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj";
+        })
+(fetchNuGet {
+        name = "system.objectmodel";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.objectmodel/4.3.0";
+        sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2";
+        })
+(fetchNuGet {
+        name = "system.xml.xmlserializer";
+        version = "4.0.11";
+        url = "https://www.nuget.org/api/v2/package/system.xml.xmlserializer/4.0.11";
+        sha256 = "01nzc3gdslw90qfykq4qzr2mdnqxjl4sj0wp3fixiwdmlmvpib5z";
+        })
+(fetchNuGet {
+        name = "microsoft.codeanalysis.build.tasks";
+        version = "3.0.0-beta1-61516-01";
+        url = "https://dotnet.myget.org/F/roslyn/api/v2/package/microsoft.codeanalysis.build.tasks/3.0.0-beta1-61516-01";
+        sha256 = "1cjpqbd4i0gxhh86nvamlpkisd1krcrya6riwjhghvpjph6115vp";
+        })
+(fetchNuGet {
+        name = "system.private.datacontractserialization";
+        version = "4.1.1";
+        url = "https://www.nuget.org/api/v2/package/system.private.datacontractserialization/4.1.1";
+        sha256 = "1xk9wvgzipssp1393nsg4n16zbr5481k03nkdlj954hzq5jkx89r";
+        })
+(fetchNuGet {
+        name = "system.numerics.vectors";
+        version = "4.4.0";
+        url = "https://www.nuget.org/api/v2/package/system.numerics.vectors/4.4.0";
+        sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba";
+        })
+(fetchNuGet {
+        name = "microsoft.build.centralpackageversions";
+        version = "2.0.1";
+        url = "https://www.nuget.org/api/v2/package/microsoft.build.centralpackageversions/2.0.1";
+        sha256 = "17cjiaj2b98q8s89168g42jb8rhwm6062jcbv57rbkdiiwdsn55k";
+        })
+(fetchNuGet {
+        name = "system.text.encoding.extensions";
+        version = "4.0.11";
+        url = "https://www.nuget.org/api/v2/package/system.text.encoding.extensions/4.0.11";
+        sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs";
+        })
+(fetchNuGet {
+        name = "system.text.encoding.extensions";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.text.encoding.extensions/4.3.0";
+        sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy";
+        })
+(fetchNuGet {
+        name = "microsoft.visualstudio.sdk.embedinteroptypes";
+        version = "15.0.15";
+        url = "https://www.nuget.org/api/v2/package/microsoft.visualstudio.sdk.embedinteroptypes/15.0.15";
+        sha256 = "0chr3slzzcanwcyd9isx4gichqzmfh4zd3h83piw0r4xsww1wmpd";
+        })
+(fetchNuGet {
+        name = "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy";
+        })
+(fetchNuGet {
+        name = "system.runtime.extensions";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.extensions/4.1.0";
+        sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z";
+        })
+(fetchNuGet {
+        name = "system.runtime.extensions";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.extensions/4.3.0";
+        sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
+        })
+(fetchNuGet {
+        name = "system.resources.extensions";
+        version = "4.6.0-preview8.19364.1";
+        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.resources.extensions/4.6.0-preview8.19364.1/system.resources.extensions.4.6.0-preview8.19364.1.nupkg";
+        sha256 = "0jh9ilbicmsngv77a4ayzs0n7s440ycdf726nbljw029gq4rzvqf";
+        })
+(fetchNuGet {
+        name = "nuget.frameworks";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.frameworks/5.2.0-rtm.6067";
+        sha256 = "1g1kcfqhxr1bhl3ksbdmz3rb9nq1qmkac1sijf9ng4gmr9fmprdm";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.diagnosticsource";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.diagnosticsource/4.3.0";
+        sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq";
+        })
+(fetchNuGet {
+        name = "system.security.claims";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.security.claims/4.3.0";
+        sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn";
+        })
+(fetchNuGet {
+        name = "system.linq.expressions";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.linq.expressions/4.3.0";
+        sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.stacktrace";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.stacktrace/4.3.0";
+        sha256 = "0ash4h9k0m7xsm0yl79r0ixrdz369h7y922wipp5gladmlbvpyjd";
+        })
+(fetchNuGet {
+        name = "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.tracing";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.tracing/4.3.0";
+        sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.tracing";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.tracing/4.1.0";
+        sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394";
+        })
+(fetchNuGet {
+        name = "xunit.analyzers";
+        version = "0.10.0";
+        url = "https://www.nuget.org/api/v2/package/xunit.analyzers/0.10.0";
+        sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j";
+        })
+(fetchNuGet {
+        name = "xunit.assert";
+        version = "2.4.1";
+        url = "https://www.nuget.org/api/v2/package/xunit.assert/2.4.1";
+        sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6";
+        })
+(fetchNuGet {
+        name = "system.appcontext";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.appcontext/4.1.0";
+        sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz";
+        })
+(fetchNuGet {
+        name = "system.appcontext";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.appcontext/4.3.0";
+        sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya";
+        })
+(fetchNuGet {
+        name = "system.text.encoding.codepages";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.text.encoding.codepages/4.3.0";
+        sha256 = "0lgxg1gn7pg7j0f942pfdc9q7wamzxsgq3ng248ikdasxz0iadkv";
+        })
+(fetchNuGet {
+        name = "system.text.encoding.codepages";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.text.encoding.codepages/4.0.1";
+        sha256 = "00wpm3b9y0k996rm9whxprngm8l500ajmzgy2ip9pgwk0icp06y3";
+        })
+(fetchNuGet {
+        name = "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa";
+        })
+(fetchNuGet {
+        name = "microsoft.codeanalysis.csharp";
+        version = "3.0.0-beta1-61516-01";
+        url = "https://dotnet.myget.org/F/roslyn/api/v2/package/microsoft.codeanalysis.csharp/3.0.0-beta1-61516-01";
+        sha256 = "0a7npkdw6s5jczw1lkm63x2bpz1z3ccid20h5nm6k78cv7sihm4h";
+        })
+(fetchNuGet {
+        name = "system.console";
+        version = "4.0.0";
+        url = "https://www.nuget.org/api/v2/package/system.console/4.0.0";
+        sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf";
+        })
+(fetchNuGet {
+        name = "system.console";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.console/4.3.0";
+        sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay";
+        })
+(fetchNuGet {
+        name = "system.reflection.typeextensions";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.typeextensions/4.1.0";
+        sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7";
+        })
+(fetchNuGet {
+        name = "system.runtime.compilerservices.unsafe";
+        version = "4.5.2";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.compilerservices.unsafe/4.5.2";
+        sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi";
+        })
+(fetchNuGet {
+        name = "system.threading.tasks";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.threading.tasks/4.3.0";
+        sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
+        })
+(fetchNuGet {
+        name = "system.threading.tasks";
+        version = "4.0.11";
+        url = "https://www.nuget.org/api/v2/package/system.threading.tasks/4.0.11";
+        sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5";
+        })
+(fetchNuGet {
+        name = "xunit.abstractions";
+        version = "2.0.3";
+        url = "https://www.nuget.org/api/v2/package/xunit.abstractions/2.0.3";
+        sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh";
+        })
+(fetchNuGet {
+        name = "microsoft.build.utilities.core";
+        version = "15.5.180";
+        url = "https://www.nuget.org/api/v2/package/microsoft.build.utilities.core/15.5.180";
+        sha256 = "0c4bjhaqgc98bchln8p5d2p1vyn8qrha2b8gpn2l7bnznbcrd630";
+        })
+(fetchNuGet {
+        name = "microsoft.build.utilities.core";
+        version = "14.3.0";
+        url = "https://www.nuget.org/api/v2/package/microsoft.build.utilities.core/14.3.0";
+        sha256 = "0351nsnx12nzkss6vaqwwh7d7car7hrgyh0vyd4bl83c4x3ls1kb";
+        })
+(fetchNuGet {
+        name = "system.reflection.emit";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.emit/4.0.1";
+        sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp";
+        })
+(fetchNuGet {
+        name = "microsoft.visualstudio.setup.configuration.interop";
+        version = "1.16.30";
+        url = "https://www.nuget.org/api/v2/package/microsoft.visualstudio.setup.configuration.interop/1.16.30";
+        sha256 = "14022lx03vdcqlvbbdmbsxg5pqfx1rfq2jywxlyaz9v68cvsb0g4";
+        })
+(fetchNuGet {
+        name = "system.net.sockets";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.net.sockets/4.3.0";
+        sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla";
+        })
+(fetchNuGet {
+        name = "microsoft.dotnet.arcade.sdk";
+        version = "1.0.0-beta.19372.10";
+        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.dotnet.arcade.sdk/1.0.0-beta.19372.10/microsoft.dotnet.arcade.sdk.1.0.0-beta.19372.10.nupkg";
+        sha256 = "1lii0yg4fbsma80mmvw2zwplc26abb46q6gkxwbsbkyszkw128hv";
+        })
+(fetchNuGet {
+        name = "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59";
+        })
+(fetchNuGet {
+        name = "runtime.native.system.io.compression";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.native.system.io.compression/4.3.0";
+        sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.debug";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.debug/4.3.0";
+        sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.debug";
+        version = "4.0.11";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.debug/4.0.11";
+        sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz";
+        })
+(fetchNuGet {
+        name = "system.xml.readerwriter";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.xml.readerwriter/4.3.0";
+        sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1";
+        })
+(fetchNuGet {
+        name = "system.xml.readerwriter";
+        version = "4.0.11";
+        url = "https://www.nuget.org/api/v2/package/system.xml.readerwriter/4.0.11";
+        sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5";
+        })
+(fetchNuGet {
+        name = "system.threading.timer";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.threading.timer/4.3.0";
+        sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56";
+        })
+(fetchNuGet {
+        name = "system.threading.timer";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.threading.timer/4.0.1";
+        sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6";
+        })
+(fetchNuGet {
+        name = "system.reflection.metadata";
+        version = "1.4.2";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.metadata/1.4.2";
+        sha256 = "08b7b43vczlliv8k7q43jinjfrxwpljsglw7sxmc6sd7d54pd1vi";
+        })
+(fetchNuGet {
+        name = "system.reflection.metadata";
+        version = "1.6.0";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.metadata/1.6.0";
+        sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4";
+        })
+(fetchNuGet {
+        name = "system.xml.xdocument";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.xml.xdocument/4.3.0";
+        sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd";
+        })
+(fetchNuGet {
+        name = "system.linq";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.linq/4.3.0";
+        sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
+        })
+(fetchNuGet {
+        name = "system.linq";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.linq/4.1.0";
+        sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5";
+        })
+(fetchNuGet {
+        name = "nuget.librarymodel";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.librarymodel/5.2.0-rtm.6067";
+        sha256 = "0dxvnspgkc1lcmilb67kkipg39ih34cmifs6jwk9kbrwf96z51q9";
+        })
+(fetchNuGet {
+        name = "xlifftasks";
+        version = "1.0.0-beta.19252.1";
+        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/xlifftasks/1.0.0-beta.19252.1/xlifftasks.1.0.0-beta.19252.1.nupkg";
+        sha256 = "0249sfb30y9dgsfryaj8644qw3yc1xp2xzc08lsrwvmm8vjcvkri";
+        })
+(fetchNuGet {
+        name = "system.text.regularexpressions";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.text.regularexpressions/4.3.0";
+        sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l";
+        })
+(fetchNuGet {
+        name = "system.text.regularexpressions";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.text.regularexpressions/4.1.0";
+        sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7";
+        })
+(fetchNuGet {
+        name = "system.security.accesscontrol";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.security.accesscontrol/4.3.0";
+        sha256 = "1gakrskmlmwhzmjc1c2mrwk0fml615rsk31dw0kbjnn9yqnnrjbi";
+        })
+(fetchNuGet {
+        name = "xunit.runner.visualstudio";
+        version = "2.4.1";
+        url = "https://www.nuget.org/api/v2/package/xunit.runner.visualstudio/2.4.1";
+        sha256 = "0fln5pk18z98gp0zfshy1p9h6r9wc55nyqhap34k89yran646vhn";
+        })
+(fetchNuGet {
+        name = "system.resources.resourcemanager";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.resources.resourcemanager/4.0.1";
+        sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi";
+        })
+(fetchNuGet {
+        name = "system.resources.resourcemanager";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.resources.resourcemanager/4.3.0";
+        sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
+        })
+(fetchNuGet {
+        name = "nuget.projectmodel";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.projectmodel/5.2.0-rtm.6067";
+        sha256 = "1s5950nbcsnfrpbaxdnl6cv1xbsa57fln04lhyrki536476a6wcn";
+        })
+(fetchNuGet {
+        name = "nuget.versioning";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.versioning/5.2.0-rtm.6067";
+        sha256 = "04rr31ms95h7ymqxlalpv3xs48j8ng4ljfz5lmrfw7547rhcrj2h";
+        })
+(fetchNuGet {
+        name = "system.memory";
+        version = "4.5.3";
+        url = "https://www.nuget.org/api/v2/package/system.memory/4.5.3";
+        sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a";
+        })
+(fetchNuGet {
+        name = "system.resources.reader";
+        version = "4.0.0";
+        url = "https://www.nuget.org/api/v2/package/system.resources.reader/4.0.0";
+        sha256 = "1jafi73dcf1lalrir46manq3iy6xnxk2z7gpdpwg4wqql7dv3ril";
+        })
+(fetchNuGet {
+        name = "nuget.common";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.common/5.2.0-rtm.6067";
+        sha256 = "1ff5dhkv8v04n2kr5gyjjvki4mqsp1w4dwsgj7cvdcfcm8alba0m";
+        })
+(fetchNuGet {
+        name = "runtime.native.system";
+        version = "4.0.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.native.system/4.0.0";
+        sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf";
+        })
+(fetchNuGet {
+        name = "runtime.native.system";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.native.system/4.3.0";
+        sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4";
+        })
+(fetchNuGet {
+        name = "system.runtime.interopservices";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.interopservices/4.1.0";
+        sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1";
+        })
+(fetchNuGet {
+        name = "system.runtime.interopservices";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.interopservices/4.3.0";
+        sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
+        })
+(fetchNuGet {
+        name = "microbuild.core.sentinel";
+        version = "1.0.0";
+        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microbuild.core.sentinel/1.0.0/microbuild.core.sentinel.1.0.0.nupkg";
+        sha256 = "035kqx5fkapql108n222lz8psvxk04mv3dy1qg3h08i4b8j3dy8i";
+        })
+(fetchNuGet {
+        name = "sn";
+        version = "1.0.0";
+        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/sn/1.0.0/sn.1.0.0.nupkg";
+        sha256 = "1012fcdc6vq2355v86h434s6p2nnqgpdapb7p25l4h39g5q8p1qs";
+        })
+(fetchNuGet {
+        name = "system.text.encoding";
+        version = "4.0.11";
+        url = "https://www.nuget.org/api/v2/package/system.text.encoding/4.0.11";
+        sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw";
+        })
+(fetchNuGet {
+        name = "system.text.encoding";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.text.encoding/4.3.0";
+        sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
+        })
+(fetchNuGet {
+        name = "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5";
+        })
+(fetchNuGet {
+        name = "system.reflection.emit.lightweight";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.emit.lightweight/4.0.1";
+        sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr";
+        })
+(fetchNuGet {
+        name = "microsoft.net.test.sdk";
+        version = "15.9.0";
+        url = "https://www.nuget.org/api/v2/package/microsoft.net.test.sdk/15.9.0";
+        sha256 = "0g7wjgiigs4v8qa32g9ysqgx8bx55dzmbxfkc4ic95mpd1vkjqxw";
+        })
+(fetchNuGet {
+        name = "system.io.compression";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.io.compression/4.3.0";
+        sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz";
+        })
+(fetchNuGet {
+        name = "system.runtime.serialization.primitives";
+        version = "4.1.1";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.serialization.primitives/4.1.1";
+        sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.fileversioninfo";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.fileversioninfo/4.3.0";
+        sha256 = "094hx249lb3vb336q7dg3v257hbxvz2jnalj695l7cg5kxzqwai7";
+        })
+(fetchNuGet {
+        name = "system.xml.xpath.xdocument";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.xml.xpath.xdocument/4.3.0";
+        sha256 = "1wxckyb7n1pi433xzz0qcwcbl1swpra64065mbwwi8dhdc4kiabn";
+        })
+(fetchNuGet {
+        name = "system.security.principal.windows";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.security.principal.windows/4.3.0";
+        sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr";
+        })
+(fetchNuGet {
+        name = "vswhere";
+        version = "2.6.7";
+        url = "https://www.nuget.org/api/v2/package/vswhere/2.6.7";
+        sha256 = "0h4k5i96p7633zzf4xsv7615f9x72rr5qr7b9934ri2y6gshfcwk";
+        })
+(fetchNuGet {
+        name = "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3";
+        })
+(fetchNuGet {
+        name = "xunit.runner.console";
+        version = "2.4.1";
+        url = "https://www.nuget.org/api/v2/package/xunit.runner.console/2.4.1";
+        sha256 = "13ykz9anhz72xc4q6byvdfwrp54hlcbl6zsfapwfhnzyvfgb9w13";
+        })
+(fetchNuGet {
+        name = "system.threading";
+        version = "4.0.11";
+        url = "https://www.nuget.org/api/v2/package/system.threading/4.0.11";
+        sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls";
+        })
+(fetchNuGet {
+        name = "system.threading";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.threading/4.3.0";
+        sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
+        })
+(fetchNuGet {
+        name = "system.threading.tasks.dataflow";
+        version = "4.5.24";
+        url = "https://www.nuget.org/api/v2/package/system.threading.tasks.dataflow/4.5.24";
+        sha256 = "0wahbfdb0jxx3hi04xggfms8wgf68wmvv68m2vfp8v2kiqr5mr2r";
+        })
+(fetchNuGet {
+        name = "microsoft.codeanalysis.analyzers";
+        version = "1.1.0";
+        url = "https://www.nuget.org/api/v2/package/microsoft.codeanalysis.analyzers/1.1.0";
+        sha256 = "08r667hj2259wbim1p3al5qxkshydykmb7nd9ygbjlg4mmydkapc";
+        })
+(fetchNuGet {
+        name = "system.dynamic.runtime";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.dynamic.runtime/4.3.0";
+        sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk";
+        })
+(fetchNuGet {
+        name = "system.io.pipes";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.io.pipes/4.3.0";
+        sha256 = "1ygv16gzpi9cnlzcqwijpv7055qc50ynwg3vw29vj1q3iha3h06r";
+        })
+(fetchNuGet {
+        name = "system.net.primitives";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.net.primitives/4.3.0";
+        sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii";
+        })
+(fetchNuGet {
+        name = "system.runtime.serialization.xml";
+        version = "4.1.1";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.serialization.xml/4.1.1";
+        sha256 = "11747an5gbz821pwahaim3v82gghshnj9b5c4cw539xg5a3gq7rk";
+        })
+(fetchNuGet {
+        name = "system.security.cryptography.encoding";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.security.cryptography.encoding/4.3.0";
+        sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32";
+        })
+(fetchNuGet {
+        name = "system.collections.nongeneric";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.collections.nongeneric/4.0.1";
+        sha256 = "19994r5y5bpdhj7di6w047apvil8lh06lh2c2yv9zc4fc5g9bl4d";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.tools";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.tools/4.3.0";
+        sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1";
+        })
+(fetchNuGet {
+        name = "microsoft.netframework.referenceassemblies";
+        version = "1.0.0-alpha-004";
+        url = "https://dotnet.myget.org/F/roslyn-tools/api/v2/package/microsoft.netframework.referenceassemblies/1.0.0-alpha-004";
+        sha256 = "1qrpxhcx11v92lqwvrih88mlyfw2rkrsjqh7gl8c1h71vyppr3bp";
+        })
+(fetchNuGet {
+        name = "system.reflection.emit.ilgeneration";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.emit.ilgeneration/4.0.1";
+        sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0";
+        })
+(fetchNuGet {
+        name = "xunit.extensibility.execution";
+        version = "2.4.1";
+        url = "https://www.nuget.org/api/v2/package/xunit.extensibility.execution/2.4.1";
+        sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia";
+        })
+(fetchNuGet {
+        name = "microsoft.codecoverage";
+        version = "15.9.0";
+        url = "https://www.nuget.org/api/v2/package/microsoft.codecoverage/15.9.0";
+        sha256 = "10v5xrdilnm362g9545qxvlrbwc9vn65jhpb1i0jlhyqsj6bfwzg";
+        })
+(fetchNuGet {
+        name = "xunit.extensibility.core";
+        version = "2.4.1";
+        url = "https://www.nuget.org/api/v2/package/xunit.extensibility.core/2.4.1";
+        sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050";
+        })
+(fetchNuGet {
+        name = "system.collections.concurrent";
+        version = "4.0.12";
+        url = "https://www.nuget.org/api/v2/package/system.collections.concurrent/4.0.12";
+        sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc";
+        })
+(fetchNuGet {
+        name = "system.collections.concurrent";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.collections.concurrent/4.3.0";
+        sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8";
+        })
+(fetchNuGet {
+        name = "system.collections";
+        version = "4.0.11";
+        url = "https://www.nuget.org/api/v2/package/system.collections/4.0.11";
+        sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
+        })
+(fetchNuGet {
+        name = "system.collections";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.collections/4.3.0";
+        sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
+        })
+(fetchNuGet {
+        name = "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf";
+        })
+(fetchNuGet {
+        name = "microsoft.build.nugetsdkresolver";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/microsoft.build.nugetsdkresolver/5.2.0-rtm.6067";
+        sha256 = "1rz2i4md7b8rlybb9s7416l0pr357f3ar149s6ipfq0xijn3xgmh";
+        })
+(fetchNuGet {
+        name = "system.reflection";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.reflection/4.1.0";
+        sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9";
+        })
+(fetchNuGet {
+        name = "system.reflection";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.reflection/4.3.0";
+        sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
+        })
+(fetchNuGet {
+        name = "nuget.configuration";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.configuration/5.2.0-rtm.6067";
+        sha256 = "075mypb32i0d0x73rcr0di6pb0bhlp0izv3633ky64kddriajma1";
+        })
+(fetchNuGet {
+        name = "system.net.http";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.net.http/4.3.0";
+        sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j";
+        })
+(fetchNuGet {
+        name = "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d";
+        })
+(fetchNuGet {
+        name = "system.security.cryptography.x509certificates";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.security.cryptography.x509certificates/4.3.0";
+        sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h";
+        })
+(fetchNuGet {
+        name = "nuget.packaging";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.packaging/5.2.0-rtm.6067";
+        sha256 = "16p5glvvpp5rw10ycbpyg39k4prir450l12r5frpm8qz0rdp3xig";
+        })
+(fetchNuGet {
+        name = "nuget.commands";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.commands/5.2.0-rtm.6067";
+        sha256 = "06vnphsmwnvcigwj37hy5abipjzwhnq61zw66cclwd6jjibb1kh9";
+        })
+(fetchNuGet {
+        name = "system.runtime";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime/4.1.0";
+        sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m";
+        })
+(fetchNuGet {
+        name = "system.runtime";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime/4.3.0";
+        sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
+        })
+(fetchNuGet {
+        name = "microsoft.win32.primitives";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/microsoft.win32.primitives/4.3.0";
+        sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq";
+        })
+(fetchNuGet {
+        name = "microsoft.win32.primitives";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/microsoft.win32.primitives/4.0.1";
+        sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7";
+        })
+(fetchNuGet {
+        name = "system.collections.immutable";
+        version = "1.2.0";
+        url = "https://www.nuget.org/api/v2/package/system.collections.immutable/1.2.0";
+        sha256 = "1jm4pc666yiy7af1mcf7766v710gp0h40p228ghj6bavx7xfa38m";
+        })
+(fetchNuGet {
+        name = "system.collections.immutable";
+        version = "1.3.1";
+        url = "https://www.nuget.org/api/v2/package/system.collections.immutable/1.3.1";
+        sha256 = "17615br2x5riyx8ivf1dcqwj6q3ipq1bi5hqhw54yfyxmx38ddva";
+        })
+(fetchNuGet {
+        name = "system.collections.immutable";
+        version = "1.5.0";
+        url = "https://www.nuget.org/api/v2/package/system.collections.immutable/1.5.0";
+        sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06";
+        })
+(fetchNuGet {
+        name = "nuget.dependencyresolver.core";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.dependencyresolver.core/5.2.0-rtm.6067";
+        sha256 = "0iw1z2lascjjmdkk9nf2wqm5sj5nqjv4611xx29vlmp6cyhnpq4i";
+        })
+(fetchNuGet {
+        name = "netstandard.library";
+        version = "1.6.1";
+        url = "https://www.nuget.org/api/v2/package/netstandard.library/1.6.1";
+        sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8";
+        })
+(fetchNuGet {
+        name = "shouldly";
+        version = "3.0.0";
+        url = "https://www.nuget.org/api/v2/package/shouldly/3.0.0";
+        sha256 = "1hg28w898kl84rx57sclb2z9b76v5hxlwxig1xnb6fr81aahzlw3";
+        })
+(fetchNuGet {
+        name = "microsoft.diasymreader.pdb2pdb";
+        version = "1.1.0-beta1-62506-02";
+        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.diasymreader.pdb2pdb/1.1.0-beta1-62506-02/microsoft.diasymreader.pdb2pdb.1.1.0-beta1-62506-02.nupkg";
+        sha256 = "1dkhpmq5aw34nndvb4xc370866vf33x70zrjhgvnpwwspb6vb0zh";
+        })
+(fetchNuGet {
+        name = "system.globalization.calendars";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.globalization.calendars/4.3.0";
+        sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq";
+        })
+(fetchNuGet {
+        name = "system.io.compression.zipfile";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.io.compression.zipfile/4.3.0";
+        sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar";
+        })
+(fetchNuGet {
+        name = "system.runtime.interopservices.runtimeinformation";
+        version = "4.0.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.interopservices.runtimeinformation/4.0.0";
+        sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6";
+        })
+(fetchNuGet {
+        name = "system.runtime.interopservices.runtimeinformation";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.interopservices.runtimeinformation/4.3.0";
+        sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii";
+        })
+(fetchNuGet {
+        name = "system.io.filesystem.driveinfo";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.io.filesystem.driveinfo/4.3.0";
+        sha256 = "0j67khc75lwdf7d5i3z41cks7zhac4zdccgvk2xmq6wm1l08xnlh";
+        })
+(fetchNuGet {
+        name = "system.threading.tasks.extensions";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.threading.tasks.extensions/4.3.0";
+        sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
+        })
+(fetchNuGet {
+        name = "system.threading.tasks.extensions";
+        version = "4.0.0";
+        url = "https://www.nuget.org/api/v2/package/system.threading.tasks.extensions/4.0.0";
+        sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr";
+        })
+(fetchNuGet {
+        name = "microsoft.netcore.targets";
+        version = "1.0.1";
+        url = "https://www.nuget.org/api/v2/package/microsoft.netcore.targets/1.0.1";
+        sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p";
+        })
+(fetchNuGet {
+        name = "microsoft.netcore.targets";
+        version = "1.1.0";
+        url = "https://www.nuget.org/api/v2/package/microsoft.netcore.targets/1.1.0";
+        sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
+        })
+(fetchNuGet {
+        name = "system.reflection.extensions";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.extensions/4.0.1";
+        sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn";
+        })
+(fetchNuGet {
+        name = "system.reflection.extensions";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.extensions/4.3.0";
+        sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.process";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.process/4.1.0";
+        sha256 = "061lrcs7xribrmq7kab908lww6kn2xn1w3rdc41q189y0jibl19s";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.process";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.process/4.3.0";
+        sha256 = "0g4prsbkygq8m21naqmcp70f24a1ksyix3dihb1r1f71lpi3cfj7";
+        })
+(fetchNuGet {
+        name = "system.security.cryptography.primitives";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.security.cryptography.primitives/4.3.0";
+        sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby";
+        })
+(fetchNuGet {
+        name = "system.threading.thread";
+        version = "4.0.0";
+        url = "https://www.nuget.org/api/v2/package/system.threading.thread/4.0.0";
+        sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc";
+        })
+(fetchNuGet {
+        name = "system.threading.thread";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.threading.thread/4.3.0";
+        sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4";
+        })
+(fetchNuGet {
+        name = "newtonsoft.json";
+        version = "9.0.1";
+        url = "https://www.nuget.org/api/v2/package/newtonsoft.json/9.0.1";
+        sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r";
+        })
+(fetchNuGet {
+        name = "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn";
+        })
+(fetchNuGet {
+        name = "xunit";
+        version = "2.4.1";
+        url = "https://www.nuget.org/api/v2/package/xunit/2.4.1";
+        sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20";
+        })
+(fetchNuGet {
+        name = "system.valuetuple";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.valuetuple/4.3.0";
+        sha256 = "1227k7fxbxapq7dms4lvwwjdf3pr1jcsmhy2nzzhj6g6hs530hxn";
+        })
+(fetchNuGet {
+        name = "microsoft.netframework.referenceassemblies.net472";
+        version = "1.0.0-alpha-004";
+        url = "https://dotnet.myget.org/F/roslyn-tools/api/v2/package/microsoft.netframework.referenceassemblies.net472/1.0.0-alpha-004";
+        sha256 = "08wa54dm7yskayzxivnwbm8sg1pf6ai8ccr64ixf9lyz3yw6y0nc";
+        })
+(fetchNuGet {
+        name = "system.security.cryptography.algorithms";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.security.cryptography.algorithms/4.3.0";
+        sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml";
+        })
+]
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index 813be5198223..d32eba51ce17 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     homepage = https://www.scala-sbt.org/;
     license = licenses.bsd3;
     description = "A build tool for Scala, Java and more";
-    maintainers = with maintainers; [ nequissimus rickynils ];
+    maintainers = with maintainers; [ nequissimus ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index 0472f412f715..317186ea3e0e 100644
--- a/pkgs/development/tools/buildah/default.nix
+++ b/pkgs/development/tools/buildah/default.nix
@@ -1,15 +1,15 @@
 { stdenv, buildGoPackage, fetchFromGitHub
 , gpgme, libgpgerror, lvm2, btrfs-progs, pkgconfig, ostree, libselinux, libseccomp
-, go-md2man }:
+}:
 
 let
-  version = "1.9.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     rev    = "v${version}";
     owner  = "containers";
     repo   = "buildah";
-    sha256 = "19yf93pq4vw24h76kl32c6ryvg5fp5mixakw9c6sqydf7m74z9i8";
+    sha256 = "0dki2v8j2jzbw49sdzcyjqbalbh70m0lgzrldgj6cc92mj896pxk";
   };
 
   goPackagePath = "github.com/containers/buildah";
@@ -27,22 +27,18 @@ in buildGoPackage rec {
   # Optimizations break compilation of libseccomp c bindings
   hardeningDisable = [ "fortify" ];
 
-  nativeBuildInputs = [ pkgconfig go-md2man.bin ];
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gpgme libgpgerror lvm2 btrfs-progs ostree libselinux libseccomp ];
 
-  # Copied from the skopeo package, doesn’t seem to make a difference?
-  # If something related to these libs failed, uncomment these lines.
-  /*preBuild = with lib; ''
-    export CGO_CFLAGS="-I${getDev gpgme}/include -I${getDev libgpgerror}/include -I${getDev devicemapper}/include -I${getDev btrfs-progs}/include"
-    export CGO_LDFLAGS="-L${getLib gpgme}/lib -L${getLib libgpgerror}/lib -L${getLib devicemapper}/lib"
-  '';*/
+  buildPhase = ''
+    pushd go/src/${goPackagePath}
+    patchShebangs .
+    make GIT_COMMIT="unknown"
+    install -Dm755 buildah $bin/bin/buildah
+  '';
 
   postBuild = ''
-    # depends on buildGoPackage not changing …
-    pushd ./go/src/${goPackagePath}/docs
-    make docs
-    make install PREFIX="$man"
-    popd
+    make -C docs install PREFIX="$man"
   '';
 
   meta = {
diff --git a/pkgs/development/tools/cbor-diag/Gemfile.lock b/pkgs/development/tools/cbor-diag/Gemfile.lock
index 0d129765aa4a..9f9a160c587f 100644
--- a/pkgs/development/tools/cbor-diag/Gemfile.lock
+++ b/pkgs/development/tools/cbor-diag/Gemfile.lock
@@ -1,10 +1,12 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    cbor-diag (0.5.2)
+    cbor-diag (0.5.6)
       json
+      neatjson
       treetop (~> 1)
-    json (2.1.0)
+    json (2.2.0)
+    neatjson (0.9)
     polyglot (0.3.5)
     treetop (1.6.10)
       polyglot (~> 0.3)
@@ -16,4 +18,4 @@ DEPENDENCIES
   cbor-diag
 
 BUNDLED WITH
-   1.14.6
+   1.17.2
diff --git a/pkgs/development/tools/cbor-diag/gemset.nix b/pkgs/development/tools/cbor-diag/gemset.nix
index 2de0e9a647a7..49de5b06f543 100644
--- a/pkgs/development/tools/cbor-diag/gemset.nix
+++ b/pkgs/development/tools/cbor-diag/gemset.nix
@@ -1,22 +1,38 @@
 {
   cbor-diag = {
-    dependencies = ["json" "treetop"];
+    dependencies = ["json" "neatjson" "treetop"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g4pxf1ag4pyb351m06l08ig1smnf8w27ynqfxkgmwak5mh1z7w1";
+      sha256 = "0pd0k4malg1l7w3ck5glh9w0hrsvknk8rp32vrir74yww1g6yplv";
       type = "gem";
     };
-    version = "0.5.2";
+    version = "0.5.6";
   };
   json = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
+      sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.2.0";
+  };
+  neatjson = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fa2v7b6433j0iqh5iq9r71v7a5xabgjvqwsbl21vcsac7vf3ncw";
+      type = "gem";
+    };
+    version = "0.9";
   };
   polyglot = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr";
@@ -26,6 +42,8 @@
   };
   treetop = {
     dependencies = ["polyglot"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0g31pijhnv7z960sd09lckmw9h8rs3wmc8g4ihmppszxqm99zpv7";
diff --git a/pkgs/development/tools/cddl/Gemfile.lock b/pkgs/development/tools/cddl/Gemfile.lock
index 65701dd45bf8..cd4e1407637a 100644
--- a/pkgs/development/tools/cddl/Gemfile.lock
+++ b/pkgs/development/tools/cddl/Gemfile.lock
@@ -2,19 +2,21 @@ GEM
   remote: https://rubygems.org/
   specs:
     abnc (0.1.0)
-    cbor-diag (0.5.2)
+    cbor-diag (0.5.6)
       json
+      neatjson
       treetop (~> 1)
-    cddl (0.8.5)
+    cddl (0.8.9)
       abnc
       cbor-diag
       colorize
       json
       regexp-examples
     colorize (0.8.1)
-    json (2.1.0)
+    json (2.2.0)
+    neatjson (0.9)
     polyglot (0.3.5)
-    regexp-examples (1.4.2)
+    regexp-examples (1.5.0)
     treetop (1.6.10)
       polyglot (~> 0.3)
 
@@ -25,4 +27,4 @@ DEPENDENCIES
   cddl
 
 BUNDLED WITH
-   1.14.6
+   1.17.2
diff --git a/pkgs/development/tools/cddl/gemset.nix b/pkgs/development/tools/cddl/gemset.nix
index 92aa41995051..a66833e27d9f 100644
--- a/pkgs/development/tools/cddl/gemset.nix
+++ b/pkgs/development/tools/cddl/gemset.nix
@@ -1,5 +1,7 @@
 {
   abnc = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "13nvzrk72nj130fs8bq8q3cfm48939rdzh7l31ncj5c4969hrbig";
@@ -8,24 +10,30 @@
     version = "0.1.0";
   };
   cbor-diag = {
-    dependencies = ["json" "treetop"];
+    dependencies = ["json" "neatjson" "treetop"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g4pxf1ag4pyb351m06l08ig1smnf8w27ynqfxkgmwak5mh1z7w1";
+      sha256 = "0pd0k4malg1l7w3ck5glh9w0hrsvknk8rp32vrir74yww1g6yplv";
       type = "gem";
     };
-    version = "0.5.2";
+    version = "0.5.6";
   };
   cddl = {
     dependencies = ["abnc" "cbor-diag" "colorize" "json" "regexp-examples"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pg91wrby0qgrdnf089ddy5yy2jalxd3bb9dljj16cpwv4gjx047";
+      sha256 = "16rmcrsxwx33pj25g1si0dhjdl2brfhy2vlpfwdb6qqkaikmzhpz";
       type = "gem";
     };
-    version = "0.8.5";
+    version = "0.8.9";
   };
   colorize = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "133rqj85n400qk6g3dhf2bmfws34mak1wqihvh3bgy9jhajw580b";
@@ -34,14 +42,28 @@
     version = "0.8.1";
   };
   json = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
+      sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.2.0";
+  };
+  neatjson = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fa2v7b6433j0iqh5iq9r71v7a5xabgjvqwsbl21vcsac7vf3ncw";
+      type = "gem";
+    };
+    version = "0.9";
   };
   polyglot = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr";
@@ -50,15 +72,19 @@
     version = "0.3.5";
   };
   regexp-examples = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "104f0j0h2x5ijly7kyaj7zz0md65r2c03cpbi5cngm0hs2sr1qkz";
+      sha256 = "08s5d327i9dw5yjwv9vfss3qb7lwasjyc75wvh7vrdi5v4vm1y2k";
       type = "gem";
     };
-    version = "1.4.2";
+    version = "1.5.0";
   };
   treetop = {
     dependencies = ["polyglot"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0g31pijhnv7z960sd09lckmw9h8rs3wmc8g4ihmppszxqm99zpv7";
diff --git a/pkgs/development/tools/clj-kondo/default.nix b/pkgs/development/tools/clj-kondo/default.nix
new file mode 100644
index 000000000000..919061c6d963
--- /dev/null
+++ b/pkgs/development/tools/clj-kondo/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, lib, graalvm8, fetchurl }:
+
+stdenv.mkDerivation rec{
+  pname = "clj-kondo";
+  version = "2019.07.31-alpha";
+
+  reflectionJson = fetchurl {
+    name = "reflection.json";
+    url = "https://raw.githubusercontent.com/borkdude/${pname}/v${version}/reflection.json";
+    sha256 = "1m6kja38p6aypawbynkyq8bdh8wpdjmyqrhslinqid9r8cl25rcq";
+  };
+
+  src = fetchurl {
+    url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
+    sha256 = "03ipl7br9pgx2hdbiaxv9ip0ibafkyzkc8qlx8xyi528bcfi54bf";
+  };
+
+  dontUnpack = true;
+
+  buildInputs = [ graalvm8 ];
+
+  buildPhase = ''
+    native-image  \
+      -jar ${src} \
+      -H:Name=clj-kondo \
+      -H:+ReportExceptionStackTraces \
+      -J-Dclojure.spec.skip-macros=true \
+      -J-Dclojure.compiler.direct-linking=true \
+      "-H:IncludeResources=clj_kondo/impl/cache/built_in/.*" \
+      -H:ReflectionConfigurationFiles=${reflectionJson} \
+      --initialize-at-build-time  \
+      -H:Log=registerResource: \
+      --verbose \
+      --no-fallback \
+      --no-server \
+      "-J-Xmx3g"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp clj-kondo $out/bin/clj-kondo
+  '';
+
+  meta = with lib; {
+    description = "A linter for Clojure code that sparks joy.";
+    homepage = https://github.com/borkdude/clj-kondo;
+    license = licenses.epl10;
+    platforms = graalvm8.meta.platforms;
+    maintainers = with maintainers; [ jlesquembre ];
+  };
+}
diff --git a/pkgs/development/tools/cloudfoundry-cli/default.nix b/pkgs/development/tools/cloudfoundry-cli/default.nix
index 891e838fb4fa..be39f6e36677 100644
--- a/pkgs/development/tools/cloudfoundry-cli/default.nix
+++ b/pkgs/development/tools/cloudfoundry-cli/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "cloudfoundry-cli";
-  version = "6.45.0";
+  version = "6.46.1";
 
   goPackagePath = "code.cloudfoundry.org/cli";
 
@@ -12,7 +12,7 @@ buildGoPackage rec {
     owner = "cloudfoundry";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "1nq78670limq8lydysadk0kb1r88w55fr8cqxqxw0zy58vy1jzr4";
+    sha256 = "0dqrkimwhw016icgyf4cyipzy6vdz5jgickm33xxd9018dh3ibwq";
   };
 
   makeTarget = let hps = stdenv.hostPlatform.system; in
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 18c0310e6e39..d8b18fcd121e 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.1.0";
+  version = "12.2.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 = "1yx530h5rz7wmd012962f9dfj0hvj1m7zab5vchndna4svzzycch";
+    sha256 = "0r0jy571dxcspsl0q31wyw4017rfq7i4rxsgf83jqdjqaigas8dk";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz";
-    sha256 = "0zsin76qiq46w675wdkaz3ng1i9szad3hzmk5dngdnr59gq5mqhk";
+    sha256 = "1pbzyfvfgwp9r67a148nr4gh2p9lrmnn4hxap37abb5q5209pjir";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "0npjgarbwih8j2ih1mshwyp4nj9h15phvg61kifh63p9mf4r63nn";
+    sha256 = "0id0ivysn0396dwi357iig28d4xr2wd7q05r6ksgml8xyfijdgd3";
   };
 
   patches = [ ./fix-shell-path.patch ];
@@ -46,6 +46,6 @@ buildGoPackage rec {
     license = licenses.mit;
     homepage = https://about.gitlab.com/gitlab-ci/;
     platforms = platforms.unix ++ platforms.darwin;
-    maintainers = with maintainers; [ bachp zimbatm ];
+    maintainers = with maintainers; [ bachp zimbatm globin ];
   };
 }
diff --git a/pkgs/development/tools/coursier/default.nix b/pkgs/development/tools/coursier/default.nix
index 5443cbf9fb5b..09e6513d2b16 100644
--- a/pkgs/development/tools/coursier/default.nix
+++ b/pkgs/development/tools/coursier/default.nix
@@ -1,12 +1,18 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
+let
+  zshCompletion = version: fetchurl {
+    url = "https://raw.githubusercontent.com/coursier/coursier/v${version}/modules/cli/src/main/resources/completions/zsh";
+    sha256 = "0gfr1q66crh6si4682xbxnj41igws83qj710npgm2bvq90xa8m49";
+  };
+in
 stdenv.mkDerivation rec {
   pname = "coursier";
-  version = "1.1.0-M14-6";
+  version = "2.0.0-RC3-3";
 
   src = fetchurl {
     url = "https://github.com/coursier/coursier/releases/download/v${version}/coursier";
-    sha256 = "01q0gz4qnwvnd7mprcm5aj77hrxyr6ax8jp4d9jkqfkg272znaj7";
+    sha256 = "1qrybajwk46h6d1yp6n4zxdvrfl19lqhjsqxbm48vk3wbvj31vyl";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -15,6 +21,9 @@ stdenv.mkDerivation rec {
     install -Dm555 $src $out/bin/coursier
     patchShebangs $out/bin/coursier
     wrapProgram $out/bin/coursier --prefix PATH ":" ${jre}/bin
+
+    # copy zsh completion
+    install -Dm755 ${zshCompletion version} $out/share/zsh/site-functions/_coursier
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/cppclean/default.nix b/pkgs/development/tools/cppclean/default.nix
index a398fc98f1fa..85d49667a9af 100644
--- a/pkgs/development/tools/cppclean/default.nix
+++ b/pkgs/development/tools/cppclean/default.nix
@@ -3,14 +3,14 @@
 with python3Packages;
 
 buildPythonApplication rec {
-  pname = "cppclean-unstable";
-  version = "2018-05-12";
+  pname = "cppclean";
+  version = "0.13";
 
   src = fetchFromGitHub {
     owner  = "myint";
     repo   = "cppclean";
-    rev    = "e7da41eca5e1fd2bd1dddd6655e50128bb96dc28";
-    sha256 = "0pymh6r7y19bwcypfkmgwyixrx36pmz338jd83yrjflsbjlriqm4";
+    rev    = "v${version}";
+    sha256 = "081bw7kkl7mh3vwyrmdfrk3fgq8k5laacx7hz8fjpchrvdrkqph0";
   };
 
   postUnpack = ''
diff --git a/pkgs/development/tools/easyjson/default.nix b/pkgs/development/tools/easyjson/default.nix
index 2a38626c552a..9dff0cc3ebed 100644
--- a/pkgs/development/tools/easyjson/default.nix
+++ b/pkgs/development/tools/easyjson/default.nix
@@ -1,16 +1,16 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  pname = "easyjson-unstable";
-  version = "2019-02-21";
+  pname = "easyjson";
+  version = "unstable-2019-06-26";
   goPackagePath = "github.com/mailru/easyjson";
   goDeps = ./deps.nix;
 
   src = fetchFromGitHub {
     owner = "mailru";
     repo = "easyjson";
-    rev = "6243d8e04c3f819e79757e8bc3faa15c3cb27003";
-    sha256 = "160sj5pq4bv9jshniimkd5f9zcg6xrbgb027lhr9l895nsv4dlib";
+    rev = "b2ccc519800e761ac8000b95e5d57c80a897ff9e";
+    sha256 = "0q85h383mhbkcjm2vqm72bi8n2252fv3c56q3lclzb8n2crnjcdk";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/tools/fdroidserver/default.nix b/pkgs/development/tools/fdroidserver/default.nix
index 24eba03946ac..3f3f77795281 100644
--- a/pkgs/development/tools/fdroidserver/default.nix
+++ b/pkgs/development/tools/fdroidserver/default.nix
@@ -4,14 +4,14 @@
 , lib }:
 
 python.pkgs.buildPythonApplication rec {
-  version = "1.1.1";
+  version = "1.1.4";
   pname = "fdroidserver";
 
   src = fetchFromGitLab {
     owner = "fdroid";
     repo = "fdroidserver";
     rev = version;
-    sha256 = "0m618rvjh8h8hnbafrxsdkw8m5r2wnkz7whqnh60jh91h3yr0kzs";
+    sha256 = "020b6w2vhqgkpbrc1d08zh6mkh704mqhqqly14hir2bvay9rr9li";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/tools/git-series/default.nix b/pkgs/development/tools/git-series/default.nix
index 442ae4d15ec9..70fa18ceddb5 100644
--- a/pkgs/development/tools/git-series/default.nix
+++ b/pkgs/development/tools/git-series/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchpatch, rustPlatform, openssl, cmake, perl, pkgconfig, zlib }:
+{ stdenv, fetchFromGitHub, fetchpatch, rustPlatform, openssl_1_0_2, cmake, perl, pkgconfig, zlib }:
 
 with rustPlatform;
 
@@ -27,7 +27,7 @@ buildRustPackage rec {
   '';
 
   nativeBuildInputs = [ cmake pkgconfig perl ];
-  buildInputs = [ openssl zlib ];
+  buildInputs = [ openssl_1_0_2 zlib ];
 
   postBuild = ''
     install -D "$src/git-series.1" "$out/man/man1/git-series.1"
diff --git a/pkgs/development/tools/gofumpt/default.nix b/pkgs/development/tools/gofumpt/default.nix
new file mode 100644
index 000000000000..221058a461ef
--- /dev/null
+++ b/pkgs/development/tools/gofumpt/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "gofumpt";
+  version = "2019-07-29";
+
+  src = fetchFromGitHub {
+    owner = "mvdan";
+    repo = pname;
+    rev = "96300e3d49fbb3b7bc9c6dc74f8a5cc0ef46f84b";
+    sha256 = "169hwggbhlr6ga045d6sa7xsan3mnj19qbh63i3h4rynqlppzvpf";
+  };
+
+  modSha256 = "1g7dkl60zwlk4q2gwx2780xys8rf2c4kqyy8gr99s5y342wsbx2g";
+
+  meta = with lib; {
+    description = "A stricter gofmt";
+    homepage = https://github.com/mvdan/gofumpt;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ rvolosatovs ];
+  };
+}
diff --git a/pkgs/development/tools/icestorm/default.nix b/pkgs/development/tools/icestorm/default.nix
index 851acd17b7ea..2bac15403038 100644
--- a/pkgs/development/tools/icestorm/default.nix
+++ b/pkgs/development/tools/icestorm/default.nix
@@ -6,12 +6,12 @@
 # and IceStorm isn't intended to be used as a library other than by the
 # nextpnr build process (which is also sped up by using PyPy), so we
 # use it by default. See 18839e1 for more details.
-, usePyPy ? stdenv.isx86_64 /* pypy3 seems broken on i686 */
+, usePyPy ? stdenv.hostPlatform.system == "x86_64-linux"
 }:
 
 stdenv.mkDerivation rec {
   pname = "icestorm";
-  version = "2019.08.08";
+  version = "2019.08.15";
 
   pythonPkg = if usePyPy then pypy3 else python3;
   pythonInterp = pythonPkg.interpreter;
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner  = "cliffordwolf";
     repo   = "icestorm";
-    rev    = "2ccae0d3864fd7268118287a85963c0116745cff";
-    sha256 = "1vlk5k7x6c1bjp19niyl0shljj8il94q2brjmda1rwhqxz81g9s7";
+    rev    = "95949315364f8d9b0c693386aefadf44b28e2cf6";
+    sha256 = "05q1vxlf9l5z9mam8jbv58jqj7nsd8v7ssy753sharpgzzgdc8a2";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
     '';
     homepage    = http://www.clifford.at/icestorm/;
     license     = stdenv.lib.licenses.isc;
-    maintainers = with stdenv.lib.maintainers; [ shell thoughtpolice ];
-    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ shell thoughtpolice emily ];
+    platforms   = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/tools/jq/default.nix b/pkgs/development/tools/jq/default.nix
index a0dd5d542c81..8605ef398a1c 100644
--- a/pkgs/development/tools/jq/default.nix
+++ b/pkgs/development/tools/jq/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = ''A lightweight and flexible command-line JSON processor'';
     license = licenses.mit;
-    maintainers = with maintainers; [ raskin ];
+    maintainers = with maintainers; [ raskin globin ];
     platforms = with platforms; linux ++ darwin;
     downloadPage = "http://stedolan.github.io/jq/download/";
     updateWalker = true;
diff --git a/pkgs/development/tools/ktlint/default.nix b/pkgs/development/tools/ktlint/default.nix
index 0ce221d9df6a..c98d397953ec 100644
--- a/pkgs/development/tools/ktlint/default.nix
+++ b/pkgs/development/tools/ktlint/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ktlint";
-  version = "0.34.0";
+  version = "0.34.2";
 
   src = fetchurl {
     url = "https://github.com/shyiko/ktlint/releases/download/${version}/ktlint";
-    sha256 = "1mry999aqmbljp2ybkgf9hps8z4aa254b1bsivi559gzsvdkmqh7";
+    sha256 = "1v1s4y8ads2s8hjsjacxni1j0dbmnhilhnfs0xabr3aljqs15wb2";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/misc/astyle/default.nix b/pkgs/development/tools/misc/astyle/default.nix
index e66d92e34d65..66e972826cb9 100644
--- a/pkgs/development/tools/misc/astyle/default.nix
+++ b/pkgs/development/tools/misc/astyle/default.nix
@@ -1,32 +1,26 @@
-{ stdenv, fetchurl }:
+{ stdenv, lib, fetchurl, cmake }:
 
-let
-  name = "astyle";
+stdenv.mkDerivation rec {
+  pname = "astyle";
   version = "3.1";
-in
-stdenv.mkDerivation {
-  name = "${name}-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/${name}/${name}_${version}_linux.tar.gz";
+    url = "mirror://sourceforge/${pname}/${pname}_${version}_linux.tar.gz";
     sha256 = "1ms54wcs7hg1bsywqwf2lhdfizgbk7qxc9ghasxk8i99jvwlrk6b";
   };
 
-  sourceRoot = if stdenv.cc.isClang
-    then "astyle/build/clang"
-    else "astyle/build/gcc";
+  # lots of hardcoded references to /usr
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace ' /usr/' " $out/"
+  '';
 
-  # -s option is obsolete on Darwin and breaks build
-  postPatch = if stdenv.isDarwin then ''
-    substituteInPlace Makefile --replace "LDFLAGSr   = -s" "LDFLAGSr ="
-  '' else null;
+  nativeBuildInputs = [ cmake ];
 
-  installFlags = "INSTALL=install prefix=$$out";
-
-  meta = {
-    homepage = http://astyle.sourceforge.net/;
+  meta = with lib; {
     description = "Source code indenter, formatter, and beautifier for C, C++, C# and Java";
-    license = stdenv.lib.licenses.lgpl3;
-    platforms = stdenv.lib.platforms.unix;
+    homepage = "https://astyle.sourceforge.net/";
+    license = licenses.lgpl3;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
index b96f65c2ecc2..cc256bc23bdf 100644
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -1,22 +1,64 @@
-{ stdenv, pkgconfig, fetchurl, itstool, intltool, libxml2, glib, gtk3
-, python3Packages, wrapGAppsHook, gnome3, libwnck3, gobject-introspection }:
+{ stdenv
+, pkgconfig
+, fetchurl
+, meson
+, ninja
+, glib
+, gtk3
+, python3
+, wrapGAppsHook
+, gnome3
+, libwnck3
+, gobject-introspection
+, gettext
+, itstool
+}:
 
-let
+python3.pkgs.buildPythonApplication rec {
   pname = "d-feet";
-  version = "0.3.14";
-in python3Packages.buildPythonApplication rec {
-  name = "${pname}-${version}";
+  version = "0.3.15";
+
   format = "other";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/d-feet/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f";
+    url = "mirror://gnome/sources/d-feet/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1cgxgpj546jgpyns6z9nkm5k48lid8s36mvzj8ydkjqws2d19zqz";
   };
 
-  nativeBuildInputs = [ pkgconfig itstool intltool wrapGAppsHook libxml2 ];
-  buildInputs = [ glib gtk3 gnome3.adwaita-icon-theme libwnck3 gobject-introspection ];
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    itstool
+    meson
+    ninja
+    pkgconfig
+    python3
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    gnome3.adwaita-icon-theme
+    gtk3
+    libwnck3
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    pygobject3
+  ];
+
+  mesonFlags = [
+    "-Dtests=false" # needs dbus
+  ];
 
-  propagatedBuildInputs = with python3Packages; [ pygobject3 pep8 ];
+  # Temporary fix
+  # See https://github.com/NixOS/nixpkgs/issues/56943
+  strictDeps = false;
+
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+  '';
 
   passthru = {
     updateScript = gnome3.updateScript {
@@ -26,17 +68,15 @@ in python3Packages.buildPythonApplication rec {
     };
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "D-Feet is an easy to use D-Bus debugger";
-
     longDescription = ''
       D-Feet can be used to inspect D-Bus interfaces of running programs
       and invoke methods on those interfaces.
     '';
-
     homepage = https://wiki.gnome.org/Apps/DFeet;
-    platforms = stdenv.lib.platforms.all;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ ktosiek ];
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ ktosiek ];
   };
 }
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index e37824d241cc..f7dc2874aff5 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -94,6 +94,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl3Plus;
 
     platforms = with platforms; linux ++ cygwin ++ darwin;
-    maintainers = with maintainers; [ pierron ];
+    maintainers = with maintainers; [ pierron globin ];
   };
 }
diff --git a/pkgs/development/tools/misc/gengetopt/default.nix b/pkgs/development/tools/misc/gengetopt/default.nix
index b6758cb0bc2a..a1a02632478c 100644
--- a/pkgs/development/tools/misc/gengetopt/default.nix
+++ b/pkgs/development/tools/misc/gengetopt/default.nix
@@ -1,17 +1,25 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, texinfo, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "gengetopt-2.22.6";
+  pname = "gengetopt";
+  version = "2.23";
 
   src = fetchurl {
-    url = "mirror://gnu/gengetopt/${name}.tar.gz";
-    sha256 = "1xq1kcfs6hri101ss4dhym0jn96z4v6jdvx288mfywadc245mc1h";
+    url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "1b44fn0apsgawyqa4alx2qj5hls334mhbszxsy6rfr0q074swhdr";
   };
 
   doCheck = true;
 
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ texinfo help2man ];
+
+  #Fix, see #28255
   postPatch = ''
-    sed -e 's/set -o posix/set +o posix/' -i configure
+    substituteInPlace configure --replace \
+      'set -o posix' \
+      'set +o posix'
   '';
 
   meta = {
diff --git a/pkgs/development/tools/misc/kibana/5.x.nix b/pkgs/development/tools/misc/kibana/5.x.nix
index 5e96ec499bf0..992d12ae08ee 100644
--- a/pkgs/development/tools/misc/kibana/5.x.nix
+++ b/pkgs/development/tools/misc/kibana/5.x.nix
@@ -39,7 +39,7 @@ in stdenv.mkDerivation rec {
     description = "Visualize logs and time-stamped data";
     homepage = http://www.elasticsearch.org/overview/kibana;
     license = licenses.asl20;
-    maintainers = with maintainers; [ offline rickynils ];
+    maintainers = with maintainers; [ offline ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/tools/misc/kibana/6.x.nix b/pkgs/development/tools/misc/kibana/6.x.nix
index d8b01b2e375f..635be9e08768 100644
--- a/pkgs/development/tools/misc/kibana/6.x.nix
+++ b/pkgs/development/tools/misc/kibana/6.x.nix
@@ -57,7 +57,7 @@ in stdenv.mkDerivation rec {
     description = "Visualize logs and time-stamped data";
     homepage = http://www.elasticsearch.org/overview/kibana;
     license = if enableUnfree then licenses.elastic else licenses.asl20;
-    maintainers = with maintainers; [ offline rickynils basvandijk ];
+    maintainers = with maintainers; [ offline basvandijk ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/tools/misc/kibana/7.x.nix b/pkgs/development/tools/misc/kibana/7.x.nix
index dbf9a713781c..2fc0242c014b 100644
--- a/pkgs/development/tools/misc/kibana/7.x.nix
+++ b/pkgs/development/tools/misc/kibana/7.x.nix
@@ -57,7 +57,7 @@ in stdenv.mkDerivation rec {
     description = "Visualize logs and time-stamped data";
     homepage = http://www.elasticsearch.org/overview/kibana;
     license = if enableUnfree then licenses.elastic else licenses.asl20;
-    maintainers = with maintainers; [ offline rickynils basvandijk ];
+    maintainers = with maintainers; [ offline basvandijk ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/tools/misc/mkcert/default.nix b/pkgs/development/tools/misc/mkcert/default.nix
index 9532b6e34421..7a3ccaa9fbc4 100644
--- a/pkgs/development/tools/misc/mkcert/default.nix
+++ b/pkgs/development/tools/misc/mkcert/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "mkcert";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "FiloSottile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1aadnsx5pfmryf8mgxg9g0i083dm1pmrc6v4ln2mm3n89wwqc9b7";
+    sha256 = "0xcmvzh5lq8vs3b0f1zw645fxdr8471v7prl1656q02v38f58ly7";
   };
 
-  modSha256 = "0snvvwhyfq01nwgjz55dgd5skpg7z0dzix7sdag90cslbrr983i1";
+  modSha256 = "0an12l15a82mks6gipczdpcf2vklk14wjjnk0ccl3kdjwiw7f4wd";
 
   meta = with lib; {
     homepage = https://github.com/FiloSottile/mkcert;
diff --git a/pkgs/development/tools/misc/texi2html/default.nix b/pkgs/development/tools/misc/texi2html/default.nix
index b094f05e9516..247733b81baf 100644
--- a/pkgs/development/tools/misc/texi2html/default.nix
+++ b/pkgs/development/tools/misc/texi2html/default.nix
@@ -1,20 +1,27 @@
-{ stdenv, fetchurl, perl }:
+{ stdenv, fetchurl, perl, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "texi2html-1.82";
+  pname = "texi2html";
+  version = "5.0";
 
   src = fetchurl {
-    url = "mirror://savannah/texi2html/${name}.tar.bz2";
-    sha256 = "1wdli2szkgm3l0vx8rf6lylw0b0m47dlz9iy004n928nqkzix76n";
+    url = "mirror://savannah/texi2html/${pname}-${version}.tar.bz2";
+    sha256 = "1yprv64vrlcbksqv25asplnjg07mbq38lfclp1m5lj8cw878pag8";
   };
 
-  buildInputs = [perl];
+  nativeBuildInputs = [ gettext ];
+  buildInputs = [ perl ];
 
-  meta = { 
+  preBuild = ''
+    substituteInPlace separated_to_hash.pl \
+      --replace "/usr/bin/perl" "${perl}/bin/perl"
+  '';
+
+  meta = with stdenv.lib; {
     description = "Perl script which converts Texinfo source files to HTML output";
     homepage = https://www.nongnu.org/texi2html/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [stdenv.lib.maintainers.marcweber];
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.marcweber ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/wishbone-tool/default.nix b/pkgs/development/tools/misc/wishbone-tool/default.nix
new file mode 100644
index 000000000000..6b2c944f7016
--- /dev/null
+++ b/pkgs/development/tools/misc/wishbone-tool/default.nix
@@ -0,0 +1,25 @@
+{ lib, fetchFromGitHub, rustPlatform, libusb }:
+let
+  version = "0.2.8";
+  src = fetchFromGitHub {
+    owner = "xobs";
+    repo = "wishbone-utils";
+    rev = "v${version}";
+    sha256 = "0v6s5yl0y6bd2snf12x6c77rwvqkg6ybi1sm4wr7qdgbwq563nxp";
+  };
+in
+rustPlatform.buildRustPackage {
+  pname = "wishbone-tool";
+  inherit version;
+  src = "${src}/wishbone-tool";
+  cargoSha256 = "0pj8kf6s1c666p4kc6q1hlvaqm0lm9aqnsx5r034g1y8sxnnyri2";
+  buildInputs = [ libusb ];
+
+  meta = with lib; {
+    description = "Manipulate a Wishbone device over some sort of bridge";
+    homepage = "https://github.com/xobs/wishbone-utils#wishbone-tool";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ edef ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/ocaml/dune/default.nix b/pkgs/development/tools/ocaml/dune/default.nix
index 570edd8223bb..e6f9da869a7c 100644
--- a/pkgs/development/tools/ocaml/dune/default.nix
+++ b/pkgs/development/tools/ocaml/dune/default.nix
@@ -6,10 +6,10 @@ else
 
 stdenv.mkDerivation rec {
   pname = "dune";
-  version = "1.11.1";
+  version = "1.11.3";
   src = fetchurl {
     url = "https://github.com/ocaml/dune/releases/download/${version}/dune-build-info-${version}.tbz";
-    sha256 = "0hizfaidl1bxl614i65yvyfhsjbp93y7y9qy1a8zw448w1js5bsp";
+    sha256 = "1lmvsis6dk8mccbwpypz9qdxr134gjhdwshxw6q12mi4x3kn6fn8";
   };
 
   buildInputs = [ ocaml findlib ];
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://dune.build/";
     description = "A composable build system";
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    maintainers = [ stdenv.lib.maintainers.vbgl stdenv.lib.maintainers.marsam ];
     license = stdenv.lib.licenses.mit;
     inherit (ocaml.meta) platforms;
   };
diff --git a/pkgs/development/tools/ofono-phonesim/default.nix b/pkgs/development/tools/ofono-phonesim/default.nix
new file mode 100644
index 000000000000..137f56bee59e
--- /dev/null
+++ b/pkgs/development/tools/ofono-phonesim/default.nix
@@ -0,0 +1,47 @@
+{ stdenv
+, mkDerivation
+, fetchFromGitHub
+, autoreconfHook
+, pkgconfig
+, qtbase
+, qtscript
+}:
+
+mkDerivation rec {
+  pname = "ofono-phonesim";
+  version = "unstable-2014-04-22";
+
+  src = fetchFromGitHub {
+    owner = "jpakkane";
+    repo = "ofono-phonesim";
+    rev = "baa41f04e6a86c5289d7185cad8a6f08a5c3ed0a";
+    sha256 = "0ywalvvf3dfbn81ml21gji1n2hywh2nmakynakjzyyskcqjn2wiz";
+  };
+
+  patches = [
+    ./qt5-compat.patch
+  ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkgconfig
+  ];
+
+  buildInputs = [
+    qtbase
+    qtscript
+  ];
+
+  makeFlags = [
+    "MOC=${qtbase.dev}/bin/moc"
+    "UIC=${qtbase.dev}/bin/uic"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Phone Simulator for modem testing";
+    homepage = https://github.com/jpakkane/ofono-phonesim;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/ofono-phonesim/qt5-compat.patch b/pkgs/development/tools/ofono-phonesim/qt5-compat.patch
new file mode 100644
index 000000000000..e2e9dcebd6bc
--- /dev/null
+++ b/pkgs/development/tools/ofono-phonesim/qt5-compat.patch
@@ -0,0 +1,48 @@
+diff --git a/configure.ac b/configure.ac
+index 2436292..993df87 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -21,18 +21,18 @@ AC_ARG_ENABLE(optimization, AC_HELP_STRING([--disable-optimization],
+ 	fi
+ ])
+ 
+-PKG_CHECK_MODULES(QT, QtCore QtGui QtXml QtNetwork QtScript QtDBus, dummy=yes,
++PKG_CHECK_MODULES(QT, Qt5Core Qt5Gui Qt5Widgets Qt5Xml Qt5Network Qt5Script Qt5DBus, dummy=yes,
+ 						AC_MSG_ERROR(Qt is required))
+ AC_SUBST(QT_CFLAGS)
+ AC_SUBST(QT_LIBS)
+ 
+ AC_MSG_CHECKING(for moc)
+-MOC="`$PKG_CONFIG --variable=moc_location QtCore`"
++MOC="`$PKG_CONFIG --variable=moc_location Qt5Core`"
+ AC_SUBST(MOC)
+ AC_MSG_RESULT($MOC)
+ 
+ AC_MSG_CHECKING(for uic)
+-UIC="`$PKG_CONFIG --variable=uic_location QtCore`"
++UIC="`$PKG_CONFIG --variable=uic_location Qt5Core`"
+ AC_SUBST(UIC)
+ AC_MSG_RESULT($UIC)
+ 
+diff --git a/src/control.cpp b/src/control.cpp
+index e1838a6..880da68 100644
+--- a/src/control.cpp
++++ b/src/control.cpp
+@@ -22,7 +22,7 @@
+ #include <qslider.h>
+ #include <qcheckbox.h>
+ #include <qcombobox.h>
+-#include <QtGui/qmessagebox.h>
++#include <QMessageBox>
+ #include <qfiledialog.h>
+ #include <Qt>
+ #include <qbuffer.h>
+@@ -31,7 +31,7 @@
+ #include <QFileInfo>
+ #include <QFile>
+ #include <QDir>
+-#include <QtGui/QHeaderView>
++#include <QHeaderView>
+ 
+ #define TWO_BYTE_MAX 65535
+ #define FOUR_CHAR 4
diff --git a/pkgs/development/tools/osslsigncode/default.nix b/pkgs/development/tools/osslsigncode/default.nix
new file mode 100644
index 000000000000..a867e3850e2e
--- /dev/null
+++ b/pkgs/development/tools/osslsigncode/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, libgsf
+, pkgconfig
+, openssl
+, curl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "osslsigncode";
+  version = "unstable-2019-07-25";
+
+  src = fetchFromGitHub {
+    owner = "mtrojnar";
+    repo = pname;
+    rev = "18810b7e0bb1d8e0d25b6c2565a065cf66bce5d7";
+    sha256 = "02jnbr3xdsb5dpll3k65080ryrfr7agawmjavwxd0v40w0an5yq8";
+  };
+
+  nativeBuildInputs = [ autoreconfHook libgsf pkgconfig openssl curl ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/mtrojnar/osslsigncode";
+    description = "OpenSSL based Authenticode signing for PE/MSI/Java CAB files";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.mmahut ];
+    platforms = platforms.all;
+  };
+}
+
diff --git a/pkgs/development/tools/out-of-tree/default.nix b/pkgs/development/tools/out-of-tree/default.nix
new file mode 100644
index 000000000000..7064cb8285ee
--- /dev/null
+++ b/pkgs/development/tools/out-of-tree/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildGoPackage, fetchgit, qemu, docker, which, makeWrapper }:
+
+buildGoPackage rec {
+  pname = "out-of-tree";
+  version = "1.0.1";
+
+  buildInputs = [ makeWrapper ];
+
+  goPackagePath = "code.dumpstack.io/tools/${pname}";
+
+  src = fetchgit {
+    rev = "refs/tags/v${version}";
+    url = "https://code.dumpstack.io/tools/${pname}.git";
+    sha256 = "0p0ps73w6lmsdyf7irqgbhfxjg5smgbn081d06pnr1zmxvw8dryx";
+  };
+
+  goDeps = ./deps.nix;
+
+  postFixup = ''
+    wrapProgram $bin/bin/out-of-tree \
+      --prefix PATH : "${stdenv.lib.makeBinPath [ qemu docker which ]}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "kernel {module, exploit} development tool";
+    homepage = https://out-of-tree.io;
+    maintainers = [ maintainers.dump_stack ];
+    license = licenses.agpl3Plus;
+  };
+}
diff --git a/pkgs/development/tools/out-of-tree/deps.nix b/pkgs/development/tools/out-of-tree/deps.nix
new file mode 100644
index 000000000000..28c6af4586ce
--- /dev/null
+++ b/pkgs/development/tools/out-of-tree/deps.nix
@@ -0,0 +1,120 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
+[
+  {
+    goPackagePath = "github.com/alecthomas/template";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/template";
+      rev = "a0175ee3bccc567396460bf5acd36800cb10c49c";
+      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/units";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/units";
+      rev = "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a";
+      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "703b5e6b11ae25aeb2af9ebb5d5fdf8fa2575211";
+      sha256 = "0znpyz71gajx3g0j2zp63nhjj2c07g16885vxv4ykwnrfmzbgk4w";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-sqlite3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-sqlite3";
+      rev = "5dd71670cca4bc0ee90371eabd0f1bdba1ac6f35";
+      sha256 = "1zq7gq5bhf5w9g43680v2z6j0px366a3gmmk5dyxqv0gyrgcpm17";
+    };
+  }
+  {
+    goPackagePath = "github.com/naoina/go-stringutil";
+    fetch = {
+      type = "git";
+      url = "https://github.com/naoina/go-stringutil";
+      rev = "6b638e95a32d0c1131db0e7fe83775cbea4a0d0b";
+      sha256 = "00831p1wn3rimybk1z8l30787kn1akv5jax5wx743nn76qcmkmc6";
+    };
+  }
+  {
+    goPackagePath = "github.com/naoina/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/naoina/toml";
+      rev = "9fafd69674167c06933b1787ae235618431ce87f";
+      sha256 = "0mpvdnidgab48k7dfq1vaiz1wny8n29y7zxpipnp1zm8ibxpism0";
+    };
+  }
+  {
+    goPackagePath = "github.com/olekukonko/tablewriter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/olekukonko/tablewriter";
+      rev = "e6d60cf7ba1f42d86d54cdf5508611c4aafb3970";
+      sha256 = "0hh95glg7d2md185r03wn52j2r33jc4zil0qvcrs66ka7bdxi7vj";
+    };
+  }
+  {
+    goPackagePath = "github.com/otiai10/copy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/otiai10/copy";
+      rev = "7e9a647135a142c2669943d4a4d29be015ce9392";
+      sha256 = "1fpjyk6zrcdwgw3w93v3sb4xf0gq8w5py6vvlljxgf4gi7k96klj";
+    };
+  }
+  {
+    goPackagePath = "github.com/remeh/sizedwaitgroup";
+    fetch = {
+      type = "git";
+      url = "https://github.com/remeh/sizedwaitgroup";
+      rev = "5e7302b12ccef91dce9fde2f5bda6d5c7ea5d2eb";
+      sha256 = "1xwdzby27xzcghsqhli3il165iz3vkx3g4abgvkl99wysyhcvn0a";
+    };
+  }
+  {
+    goPackagePath = "github.com/zcalusic/sysinfo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/zcalusic/sysinfo";
+      rev = "fbadb57345c2ba8d05d75e81206f665d322c0bb2";
+      sha256 = "0556jj50aw2an6a4s4v2n0kk42hbkpgcvd4gbahkdlh4qrqg2r0j";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "4def268fd1a49955bfb3dda92fe3db4f924f2285";
+      sha256 = "1bfsnari529gw34cz0zqk3d9mrkcj1ay35kangri8kbgll0ss5a6";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/alecthomas/kingpin.v2";
+      rev = "947dcec5ba9c011838740e680966fd7087a71d0d";
+      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/logrusorgru/aurora.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/logrusorgru/aurora.v1";
+      rev = "a7b3b318ed4e1ae5b80602b08627267303c68572";
+      sha256 = "1dldc270z42zm2d377ks7sa5059janjcjhv3inza3rjvapknsrcb";
+    };
+  }
+]
diff --git a/pkgs/development/tools/parsing/tree-sitter/default.nix b/pkgs/development/tools/parsing/tree-sitter/default.nix
new file mode 100644
index 000000000000..989107a2fbef
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/default.nix
@@ -0,0 +1,106 @@
+{ lib, stdenv
+, fetchgit, fetchFromGitHub, fetchurl
+, writeShellScript, runCommand
+, rustPlatform, jq, nix-prefetch-git, xe, curl
+}:
+
+# TODO: move to carnix or https://github.com/kolloch/crate2nix
+let
+  # to update:
+  # 1) change all these hashes
+  # 2) nix-build -A tree-sitter.updater.update-all-grammars
+  # 3) run the script that is output by that (it updates ./grammars)
+  version = "0.15.7";
+  sha256 = "0q6w8wl4a4s49xlgbv531pandzrj3n12hc1cwfshzcgikx303dg0";
+  sha256Js = "11ig4cc2m85siyhafh4hq9sjb5if4gfwsf9k87izkxpiyflda0wp";
+  sha256Wasm = "1zm4bvjri8ivhah3sy22mx6jbvibgbn2hk67d148j3nyka3y4gc0";
+  cargoSha256 = "0ls9cb2p6cgqvnrmx72n79ga7687n8mzhh7n8n1pzv11r6cah9ki";
+
+
+  src = fetchFromGitHub {
+    owner = "tree-sitter";
+    repo = "tree-sitter";
+    rev = version;
+    inherit sha256;
+    fetchSubmodules = true;
+  };
+
+  fetchDist = {file, sha256}: fetchurl {
+    url = "https://github.com/tree-sitter/tree-sitter/releases/download/${version}/${file}";
+    inherit sha256;
+  };
+
+  # TODO: not distributed anymore; needed for the web-ui module,
+  # see also the disable-web-ui patch.
+  # TODO: build those instead of downloading prebuilt
+  # js = fetchDist {
+  #   file = "tree-sitter.js";
+  #   sha256 = sha256Js;
+  # };
+  # wasm = fetchDist {
+  #   file = "tree-sitter.wasm";
+  #   sha256 = sha256Wasm;
+  # };
+
+  update-all-grammars = import ./update.nix {
+    inherit writeShellScript nix-prefetch-git curl jq xe src;
+  };
+
+  grammars =
+    let fetch =
+      (v: fetchgit {inherit (v) url rev sha256 fetchSubmodules; });
+    in runCommand "grammars" {} (''
+       mkdir $out
+     '' + (lib.concatStrings (lib.mapAttrsToList
+            (name: grammar: "ln -s ${fetch grammar} $out/${name}\n")
+            (import ./grammars))));
+
+
+in rustPlatform.buildRustPackage {
+  pname = "tree-sitter";
+  inherit version;
+  inherit src;
+
+  patches = [
+    # the web ui requires tree-sitter compiled to js and wasm
+    ./disable-web-ui.patch
+  ];
+
+  postPatch = ''
+    # needed for the tests
+    rm -rf test/fixtures/grammars
+    ln -s ${grammars} test/fixtures/grammars
+  '';
+
+  passthru = {
+    updater = {
+      inherit update-all-grammars;
+    };
+    inherit grammars;
+  };
+
+  inherit cargoSha256;
+
+  meta = {
+    homepage = "https://github.com/tree-sitter/tree-sitter";
+    description = "A parser generator tool and an incremental parsing library";
+    longDescription = ''
+      Tree-sitter is a parser generator tool and an incremental parsing library.
+      It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited.
+
+      Tree-sitter aims to be:
+
+      * General enough to parse any programming language
+      * Fast enough to parse on every keystroke in a text editor
+      * Robust enough to provide useful results even in the presence of syntax errors
+      * Dependency-free so that the runtime library (which is written in pure C) can be embedded in any application
+    '';
+    platforms = lib.platforms.all;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ Profpatsch ];
+    # Darwin needs some more work with default libraries
+    # Aarch has test failures with how tree-sitter compiles the generated C files
+    broken = stdenv.isDarwin || stdenv.isAarch64;
+  };
+
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/disable-web-ui.patch b/pkgs/development/tools/parsing/tree-sitter/disable-web-ui.patch
new file mode 100644
index 000000000000..6065aa9e7fdb
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/disable-web-ui.patch
@@ -0,0 +1,37 @@
+diff --git a/cli/src/lib.rs b/cli/src/lib.rs
+index 33a9904f..633032d7 100644
+--- a/cli/src/lib.rs
++++ b/cli/src/lib.rs
+@@ -8,7 +8,7 @@ pub mod parse;
+ pub mod test;
+ pub mod util;
+ pub mod wasm;
+-pub mod web_ui;
++// pub mod web_ui;
+ 
+ #[cfg(test)]
+ mod tests;
+diff --git a/cli/src/main.rs b/cli/src/main.rs
+index 23e7fc1a..9d784c8a 100644
+--- a/cli/src/main.rs
++++ b/cli/src/main.rs
+@@ -4,7 +4,7 @@ use std::{env, fs, u64};
+ use std::path::Path;
+ use std::process::exit;
+ use tree_sitter_cli::{
+-    config, error, generate, highlight, loader, logger, parse, test, wasm, web_ui,
++    config, error, generate, highlight, loader, logger, parse, test, wasm,
+ };
+ 
+ const BUILD_VERSION: &'static str = env!("CARGO_PKG_VERSION");
+@@ -250,7 +250,9 @@ fn run() -> error::Result<()> {
+         let grammar_path = current_dir.join(matches.value_of("path").unwrap_or(""));
+         wasm::compile_language_to_wasm(&grammar_path, matches.is_present("docker"))?;
+     } else if matches.subcommand_matches("web-ui").is_some() {
+-        web_ui::serve(&current_dir);
++        print!("ERROR: web-ui is not available in the nixpkgs tree-sitter-cli at the moment.");
++        std::process::exit(1);
++        // web_ui::serve(&current_dir);
+     }
+ 
+     Ok(())
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
new file mode 100644
index 000000000000..b6451bce7282
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
@@ -0,0 +1,15 @@
+{
+  bash = (builtins.fromJSON (builtins.readFile ./tree-sitter-bash.json));
+  c = (builtins.fromJSON (builtins.readFile ./tree-sitter-c.json));
+  cpp = (builtins.fromJSON (builtins.readFile ./tree-sitter-cpp.json));
+  embedded-template = (builtins.fromJSON (builtins.readFile ./tree-sitter-embedded-template.json));
+  go = (builtins.fromJSON (builtins.readFile ./tree-sitter-go.json));
+  html = (builtins.fromJSON (builtins.readFile ./tree-sitter-html.json));
+  javascript = (builtins.fromJSON (builtins.readFile ./tree-sitter-javascript.json));
+  json = (builtins.fromJSON (builtins.readFile ./tree-sitter-json.json));
+  python = (builtins.fromJSON (builtins.readFile ./tree-sitter-python.json));
+  # wasn’t able to check out with fetchgit
+  # ruby = (builtins.fromJSON (builtins.readFile ./tree-sitter-ruby.json));
+  rust = (builtins.fromJSON (builtins.readFile ./tree-sitter-rust.json));
+  typescript = (builtins.fromJSON (builtins.readFile ./tree-sitter-typescript.json));
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-bash.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-bash.json
new file mode 100644
index 000000000000..c367d24d09f6
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-bash.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-bash",
+  "rev": "7b8adcf484e27b6c1a707ce28123e55dd4b7a844",
+  "date": "2019-07-26T14:05:41-06:00",
+  "sha256": "047p51ab4fqm55xqss6z74iyj1hlndql97dv9fifckczx3d5xn5g",
+  "fetchSubmodules": false
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c.json
new file mode 100644
index 000000000000..1342f7d092b0
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-c",
+  "rev": "22decdc361767838dd36f1da4125b35b5b9a3c28",
+  "date": "2019-07-02T15:49:42-07:00",
+  "sha256": "03f9g49l4g2l4hlafr3xhvi8d3a491k5zz4bxpq7391l5wgjy3zi",
+  "fetchSubmodules": false
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json
new file mode 100644
index 000000000000..8c7d10f2654f
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-cpp",
+  "rev": "f5afa0ee48ad1dc067ed6fe1aa2cfd2a3ea5d443",
+  "date": "2019-08-06T17:23:46-07:00",
+  "sha256": "1w9zjqj232fcagqfqd8qi4kmvr655s4ivllrm27973sda4xq557h",
+  "fetchSubmodules": false
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json
new file mode 100644
index 000000000000..89940ffec8cb
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-embedded-template",
+  "rev": "71955edec8cb762f63e94cf062fc96b52b9ae609",
+  "date": "2019-07-17T15:55:22-07:00",
+  "sha256": "1ar2n1z2h194lb3isbdkmvhn8w78j4a62nbh105w3jl1sxb4qpsa",
+  "fetchSubmodules": false
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json
new file mode 100644
index 000000000000..6a354f5c2e23
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-go",
+  "rev": "475571bb5bdb9b229c6be3843d4c71ba747688fd",
+  "date": "2019-07-17T15:51:06-07:00",
+  "sha256": "1cg5qpifrvpnsi0iy26g156xib2qa55vlna41hw6c70kx8ibvl9z",
+  "fetchSubmodules": false
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-html.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-html.json
new file mode 100644
index 000000000000..732d2dda40b6
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-html.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-html",
+  "rev": "aeb2f456b8c6a60b8475d075889d476a165cde57",
+  "date": "2019-07-17T15:57:54-07:00",
+  "sha256": "0ba8zi65kja6p7f5h7pa7kxqa3mj29ysjrvl84am24vy5ik4zz3z",
+  "fetchSubmodules": false
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json
new file mode 100644
index 000000000000..a1e29e1504ea
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-javascript",
+  "rev": "a730b5c210904e2e3c1f601125a059fde1b35850",
+  "date": "2019-08-08T14:13:17-07:00",
+  "sha256": "1cr0vikbzrklksjj07fh34a5cabkgbpkbxwiw2alnana3zzzdhnq",
+  "fetchSubmodules": false
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json
new file mode 100644
index 000000000000..2bb0dcd4d8f2
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-json",
+  "rev": "337f55be9b9b1ccb0baa7763bfe014a94acea7ea",
+  "date": "2019-05-23T11:02:26-04:00",
+  "sha256": "0amh4qrjj3fli9c0z6p61z9d7496sqq54i1gh2vrghgnbbyaa6mz",
+  "fetchSubmodules": false
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json
new file mode 100644
index 000000000000..f46695edfa85
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-python",
+  "rev": "4c22de0944cd42a5c86ade7ef7097033604796f8",
+  "date": "2019-07-30T15:35:03-04:00",
+  "sha256": "1p12h7hj1ak15fyk4gw9wcmgzydd4z5mikhjp54mn1q4vfw175p3",
+  "fetchSubmodules": false
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ruby.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ruby.json
new file mode 100644
index 000000000000..e2f9928c8702
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ruby.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-ruby",
+  "rev": "db91c934ff9d3d4ea67111a0f581532c49c3a6b3",
+  "date": "2019-07-26T15:51:54-06:00",
+  "sha256": "1ir1nqpz0c0hnsqzp90w2iw1gy3z3nqil2fm4n3zmid5di7c98dg",
+  "fetchSubmodules": false
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json
new file mode 100644
index 000000000000..328b337ed5a7
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-rust",
+  "rev": "3f956b18a6b0a576ed238cc69d5e3f413bd547b1",
+  "date": "2019-07-18T11:44:02-07:00",
+  "sha256": "0dwxg3pqirqm1lvl5x0q9djavfri9ffk5diygqzjnx53rwqhyzj8",
+  "fetchSubmodules": false
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
new file mode 100644
index 000000000000..61507888154d
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-typescript",
+  "rev": "ab9ab6cced868ee3e096f33fa21fd9d356c92e1a",
+  "date": "2019-08-08T14:27:32-07:00",
+  "sha256": "11r0vj1dhv0my2cr442mwvaav8ljygsns20w51mwg7328vlz90q3",
+  "fetchSubmodules": false
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/update.nix b/pkgs/development/tools/parsing/tree-sitter/update.nix
new file mode 100644
index 000000000000..aa87df6bed10
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/update.nix
@@ -0,0 +1,68 @@
+{ writeShellScript, nix-prefetch-git
+, curl, jq, xe
+, src }:
+
+let
+  # print all the grammar names mentioned in the fetch-fixtures script
+  getGrammarNames = writeShellScript "get-grammars.sh" ''
+    set -euo pipefail
+    sed -ne 's/^fetch_grammar \(\S*\).*$/\1/p' \
+      ${src}/script/fetch-fixtures
+  '';
+
+  # TODO
+  urlEscape = x: x;
+  # TODO
+  urlEscapeSh = writeShellScript "escape-url" ''printf '%s' "$1"'';
+
+  # generic bash script to find the latest github release for a repo
+  latestGithubRelease = { owner }: writeShellScript "latest-github-release" ''
+    set -euo pipefail
+    repo="$1"
+    res=$(${curl}/bin/curl \
+      --silent \
+      "https://api.github.com/repos/${urlEscape owner}/$(${urlEscapeSh} "$repo")/releases/latest")
+    if [[ "$(printf "%s" "$res" | ${jq}bin/jq '.message')" =~ "rate limit" ]]; then
+      echo "rate limited" >&2
+    fi
+    release=$(printf "%s" "$res" | ${jq}/bin/jq '.tag_name')
+    # github sometimes returns an empty list even tough there are releases
+    if [ "$release" = "null" ]; then
+      echo "uh-oh, latest for $repo is not there, using HEAD" >&2
+      release="HEAD"
+    fi
+    echo "$release"
+  '';
+
+  # update one tree-sitter grammar repo and print their nix-prefetch-git output
+  updateGrammar = { owner }: writeShellScript "update-grammar.sh" ''
+    set -euo pipefail
+    repo="$1"
+    latest="$(${latestGithubRelease { inherit owner; }} "$repo")"
+    echo "Fetching latest release ($latest) of $repo …" >&2
+    ${nix-prefetch-git}/bin/nix-prefetch-git \
+      --quiet \
+      --no-deepClone \
+      --url "https://github.com/${urlEscape owner}/$(${urlEscapeSh} "$repo")" \
+      --rev "$latest"
+    '';
+
+  update-all-grammars = writeShellScript "update-all-grammars.sh" ''
+    set -euo pipefail
+    grammarNames=$(${getGrammarNames})
+    outputDir="${toString ./.}/grammars"
+    mkdir -p "$outputDir"
+    updateCommand=$(printf \
+      '${updateGrammar { owner = "tree-sitter"; }} "$1" > "%s/$1.json"' \
+      "$outputDir")
+    printf '%s' "$grammarNames" \
+      | ${xe}/bin/xe printf "tree-sitter-%s\n" {} \
+      | ${xe}/bin/xe -j2 -s "$updateCommand"
+    ( echo "{"
+      printf '%s' "$grammarNames" \
+        | ${xe}/bin/xe -s 'printf "  %s = (builtins.fromJSON (builtins.readFile ./tree-sitter-%s.json));\n" "$1" "$1"'
+      echo "}" ) \
+      > "$outputDir/default.nix"
+  '';
+
+in update-all-grammars
diff --git a/pkgs/development/tools/quicktemplate/default.nix b/pkgs/development/tools/quicktemplate/default.nix
index 16bb654aa6b1..6af444c7ce04 100644
--- a/pkgs/development/tools/quicktemplate/default.nix
+++ b/pkgs/development/tools/quicktemplate/default.nix
@@ -1,16 +1,16 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  pname = "quicktemplate-unstable";
-  version = "2019-01-31";
+  pname = "quicktemplate";
+  version = "unstable-2019-07-08";
   goPackagePath = "github.com/valyala/quicktemplate";
   goDeps = ./deps.nix;
 
   src = fetchFromGitHub {
     owner = "valyala";
     repo = "quicktemplate";
-    rev = "d08324ac14fa81325830fae7eb30188ec68427f8";
-    sha256 = "0gpc1kcqvcn1f9mz2dww8bhrspnsk2fgxzvx398vy7a0xhxq8vhx";
+    rev = "840e9171940bbc80bb1b925c880664cababae022";
+    sha256 = "1pimf5bwivklsr438if6l8by34gr48a05gl6hq07cvc8z6wl01m2";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/tools/rust/bindgen/default.nix b/pkgs/development/tools/rust/bindgen/default.nix
index df782d935157..ca1c2fa45e9d 100644
--- a/pkgs/development/tools/rust/bindgen/default.nix
+++ b/pkgs/development/tools/rust/bindgen/default.nix
@@ -5,6 +5,8 @@ rustPlatform.buildRustPackage rec {
   pname = "rust-bindgen";
   version = "0.51.0";
 
+  RUSTFLAGS = "--cap-lints warn"; # probably OK to remove after update
+
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = pname;
diff --git a/pkgs/development/tools/rust/cargo-expand/default.nix b/pkgs/development/tools/rust/cargo-expand/default.nix
index 0a36efa79eb4..43b3a88f6ee3 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.13";
+  version = "0.4.15";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "0s3xd9dr0n64j0m38gd4cafrdr5vnpl557ks4wr0jszyhldnlfkz";
+    sha256 = "155b4azkrr0qfg52mk7934zavwsbl28i28hi1inb23d509hrr5ky";
   };
 
-  cargoSha256 = "13zz3n1p75267h3qrmvpmd8agnkbk8vfbr8s38wcyysck81pr4px";
+  cargoSha256 = "050q4rk1x3jghinxg6gszi993a6zbg41vg535dlvvsqi36l278qc";
 
   buildInputs = [ llvmPackages.libclang ]
     ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 92e21bfc00e3..5b73752659bb 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.22.0";
+  version = "0.22.1";
 
   src =
     let
@@ -10,11 +10,11 @@ rustPlatform.buildRustPackage rec {
         owner = "sagiegurari";
         repo = pname;
         rev = version;
-        sha256 = "13nl370immbhjarc0vfzrsflml3alh2f2zrh4znbks4yc3yp790z";
+        sha256 = "1wsams41zl56mkb8671n5fqkkchs68jd9nvfzry8axxiv7n175gc";
       };
       cargo-lock = fetchurl {
-        url = "https://gist.githubusercontent.com/xrelkd/e4c9c7738b21f284d97cb7b1d181317d/raw/d31cfb3598d0a2886abd4d2ed43a02d493c8de8c/cargo-make-Cargo.lock";
-        sha256 = "08fzl98d277n9xn3hrg9jahkqwdjfi5saajsppwzdbb3l7xw4jh2";
+        url = "https://gist.githubusercontent.com/xrelkd/e4c9c7738b21f284d97cb7b1d181317d/raw/850e9830f4ab4bc65da6eb5cd8b0911970a7739f/cargo-make-Cargo.lock";
+        sha256 = "0knmzplxmh8vksmpg56l2p1a10hpqbr9hmbk3hv0aj63125rhhqy";
       };
     in
     runCommand "cargo-make-src" {} ''
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
 
-  cargoSha256 = "0gj4a15slxnp31mlfgh57h3cwv0lnw5gdmkrmmj79migi96i5i6y";
+  cargoSha256 = "18j0nflf997z4nwdxifxp1ji1rbwqbg6zm2256j21am4ak45krsy";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/rust/racer/default.nix b/pkgs/development/tools/rust/racer/default.nix
index b1ab9253fd8b..b2f6701be876 100644
--- a/pkgs/development/tools/rust/racer/default.nix
+++ b/pkgs/development/tools/rust/racer/default.nix
@@ -43,7 +43,7 @@ rustPlatform.buildRustPackage rec {
     description = "A utility intended to provide Rust code completion for editors and IDEs";
     homepage = https://github.com/racer-rust/racer;
     license = licenses.mit;
-    maintainers = with maintainers; [ jagajaga globin ];
+    maintainers = with maintainers; [ jagajaga ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/rust/rls/default.nix b/pkgs/development/tools/rust/rls/default.nix
deleted file mode 100644
index 454c5da71438..000000000000
--- a/pkgs/development/tools/rust/rls/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ stdenv, fetchFromGitHub, rustPlatform
-, openssh, openssl, pkgconfig, cmake, zlib, curl, libiconv
-, CoreFoundation, Security }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "rls";
-  # with rust 1.x you can only build rls version 1.x.y
-  version = "1.36.0";
-
-  src = fetchFromGitHub {
-    owner = "rust-lang";
-    repo = pname;
-    rev = version;
-    sha256 = "1mclv0admxv48pndyqghxc4nf1amhbd700cgrzjshf9jrnffxmrn";
-  };
-
-  cargoSha256 = "1yli9540510xmzqnzfi3p6rh23bjqsviflqw95a0fawf2rnj8sin";
-
-  # a nightly compiler is required unless we use this cheat code.
-  RUSTC_BOOTSTRAP=1;
-
-  # rls-rustc links to rustc_private crates
-  CARGO_BUILD_RUSTFLAGS = if stdenv.isDarwin then "-C rpath" else null;
-
-  nativeBuildInputs = [ pkgconfig cmake ];
-  buildInputs = [ openssh openssl curl zlib libiconv ]
-    ++ (stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Security ]);
-
-  doCheck = true;
-  preCheck = ''
-    # client tests are flaky
-    rm tests/client.rs
-  '';
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    $out/bin/rls --version
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Rust Language Server - provides information about Rust programs to IDEs and other tools";
-    homepage = https://github.com/rust-lang/rls/;
-    license = with licenses; [ asl20 /* or */ mit ];
-    maintainers = with maintainers; [ symphorien ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/tools/rust/rustfmt/default.nix b/pkgs/development/tools/rust/rustfmt/default.nix
deleted file mode 100644
index b98ab0dc74d7..000000000000
--- a/pkgs/development/tools/rust/rustfmt/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchFromGitHub, rustPlatform, darwin }:
-
-rustPlatform.buildRustPackage rec {
-  name = "rustfmt-${version}";
-  version = "1.2.2";
-
-  src = fetchFromGitHub {
-    owner = "rust-lang";
-    repo = "rustfmt";
-    rev = "v${version}";
-    sha256 = "1k9p6sp8q87flx9vzg46880ir7likvbydai3g6q76278h86rn0v8";
-  };
-
-  cargoSha256 = "08x6vy5v2vgrk3gsw3qcvv52a7hifsgcsnsg1phlk1ikaff21y4z";
-
-  buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
-
-  # As of 1.0.0 and rustc 1.30 rustfmt requires a nightly compiler
-  RUSTC_BOOTSTRAP = 1;
-
-  # we run tests in debug mode so tests look for a debug build of
-  # rustfmt. Anyway this adds nearly no compilation time.
-  preCheck = ''
-    cargo build
-  '';
-
-  meta = with stdenv.lib; {
-    description = "A tool for formatting Rust code according to style guidelines";
-    homepage = https://github.com/rust-lang-nursery/rustfmt;
-    license = with licenses; [ mit asl20 ];
-    maintainers = [ maintainers.globin ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/tools/scalafmt/default.nix b/pkgs/development/tools/scalafmt/default.nix
index 0190283e7916..79afb54bfb70 100644
--- a/pkgs/development/tools/scalafmt/default.nix
+++ b/pkgs/development/tools/scalafmt/default.nix
@@ -2,7 +2,7 @@
 
 let
   baseName = "scalafmt";
-  version = "2.0.0";
+  version = "2.0.1";
   deps = stdenv.mkDerivation {
     name = "${baseName}-deps-${version}";
     buildCommand = ''
@@ -13,7 +13,7 @@ let
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "18mf23ssy4lwvsi4pg6m4b003paz5yds5vs7nhl0bfcq57xg6qj1";
+    outputHash     = "1k5qn0w6hqql8yqhlma67ilp8hf0xwxwkzvwg8bkky1jvsapjsl5";
   };
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/tools/skaffold/default.nix b/pkgs/development/tools/skaffold/default.nix
index b8482ee58b80..58dde8386921 100644
--- a/pkgs/development/tools/skaffold/default.nix
+++ b/pkgs/development/tools/skaffold/default.nix
@@ -2,9 +2,9 @@
 
 buildGoPackage rec {
   pname = "skaffold";
-  version = "0.35.0";
-  # rev is the 0.35.0 commit, mainly for skaffold version command output
-  rev = "1da7608f9eb21ebe722bc054584e591e4223a3dc";
+  version = "0.36.0";
+  # rev is the 0.36.0 commit, mainly for skaffold version command output
+  rev = "1c054d4ffc7e14b4d81efcbea8b2022403ee4b89";
 
   goPackagePath = "github.com/GoogleContainerTools/skaffold";
   subPackages = ["cmd/skaffold"];
@@ -20,7 +20,7 @@ buildGoPackage rec {
     owner = "GoogleContainerTools";
     repo = "skaffold";
     rev = "v${version}";
-    sha256 = "1vh7vlz14gfjpxf2wy1pybw5x55mw34j6isyy5zl0rsbs9mf6ci1";
+    sha256 = "1d7z36r33lmxm5cv1kby6g9zbsr88prgsp32x4jcs9l1ifwblhng";
   };
 
   meta = {
diff --git a/pkgs/development/tools/solarus-quest-editor/default.nix b/pkgs/development/tools/solarus-quest-editor/default.nix
index c60238b93d22..e0a078415eb5 100644
--- a/pkgs/development/tools/solarus-quest-editor/default.nix
+++ b/pkgs/development/tools/solarus-quest-editor/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchFromGitLab, cmake, luajit,
+{ lib, mkDerivation, fetchFromGitLab, cmake, luajit,
   SDL2, SDL2_image, SDL2_ttf, physfs,
   openal, libmodplug, libvorbis, solarus,
   qtbase, qttools, glm }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "solarus-quest-editor";
-  version = "1.6.0";
-    
+  version = "1.6.2";
+
   src = fetchFromGitLab {
     owner = "solarus-games";
-    repo = "solarus-quest-editor";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1a7816kaljfh9ynzy9g36mqzzv2p800nnbrja73q6vjfrsv3vq4c";
+    sha256 = "0dq94iw9ldl4p83dqcwjs5ilpkvz5jgdk8rbls8pf8b7afpg36rz";
   };
   
   buildInputs = [ cmake luajit SDL2
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     openal libmodplug libvorbis
     solarus qtbase qttools glm ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "The editor for the Zelda-like ARPG game engine, Solarus";
     longDescription = ''
       Solarus is a game engine for Zelda-like ARPG games written in lua.
diff --git a/pkgs/development/tools/statik/default.nix b/pkgs/development/tools/statik/default.nix
index c005ebeee78a..d24c3e88b8cb 100644
--- a/pkgs/development/tools/statik/default.nix
+++ b/pkgs/development/tools/statik/default.nix
@@ -1,16 +1,16 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  pname = "statik-unstable";
-  version = "2018-11-28";
+  pname = "statik";
+  version = "unstable-2019-07-31";
   goPackagePath = "github.com/rakyll/statik";
   goDeps = ./deps.nix;
 
   src = fetchFromGitHub {
     owner = "rakyll";
     repo = "statik";
-    rev = "79258177a57a85a8ab2eca7ce0936aad80307f4e";
-    sha256 = "14wqh38a7dhm2jgr1lsl2wdvjmkgdapzl2z4a1vl7ncv3x43gkg5";
+    rev = "925a23bda946b50bb0804894f340c5da2b95603b";
+    sha256 = "15wwgrprfq36pa13b9anp7097q1fqcad28hirvivybmc011p0fri";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/tools/trellis/default.nix b/pkgs/development/tools/trellis/default.nix
index 0888130c2d45..1deb2c7a8fc0 100644
--- a/pkgs/development/tools/trellis/default.nix
+++ b/pkgs/development/tools/trellis/default.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
     '';
     homepage    = https://github.com/symbiflow/prjtrellis;
     license     = stdenv.lib.licenses.isc;
-    maintainers = with maintainers; [ q3k thoughtpolice ];
-    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ q3k thoughtpolice emily ];
+    platforms   = stdenv.lib.platforms.all;
   };
 }