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/cppcheck/default.nix4
-rw-r--r--pkgs/development/tools/analysis/verasco/default.nix51
-rw-r--r--pkgs/development/tools/apktool/default.nix2
-rw-r--r--pkgs/development/tools/cppclean/default.nix31
-rw-r--r--pkgs/development/tools/global-platform-pro/default.nix1
-rw-r--r--pkgs/development/tools/go-junit-report/default.nix24
-rw-r--r--pkgs/development/tools/gron/default.nix4
-rw-r--r--pkgs/development/tools/gron/deps.nix26
-rw-r--r--pkgs/development/tools/jbake/default.nix4
-rw-r--r--pkgs/development/tools/kind/default.nix26
-rw-r--r--pkgs/development/tools/kustomize/default.nix8
-rw-r--r--pkgs/development/tools/minizinc/default.nix4
-rw-r--r--pkgs/development/tools/misc/blackmagic/default.nix7
-rw-r--r--pkgs/development/tools/misc/dfu-programmer/default.nix2
-rw-r--r--pkgs/development/tools/misc/strace/default.nix4
-rw-r--r--pkgs/development/tools/misc/teensy-loader-cli/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/merlin/default.nix4
-rw-r--r--pkgs/development/tools/pipenv/default.nix4
-rw-r--r--pkgs/development/tools/profiling/pyprof2calltree/default.nix4
-rw-r--r--pkgs/development/tools/rust/cbindgen/default.nix4
-rw-r--r--pkgs/development/tools/rust/pyo3-pack/default.nix35
-rw-r--r--pkgs/development/tools/scalafix/default.nix43
-rw-r--r--pkgs/development/tools/simavr/default.nix14
-rw-r--r--pkgs/development/tools/sourcetrail/default.nix75
-rw-r--r--pkgs/development/tools/yarn/default.nix4
25 files changed, 298 insertions, 91 deletions
diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix
index 5a095c8b6a0e..2f82c1ee66ad 100644
--- a/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "cppcheck";
-  version = "1.84";
+  version = "1.85";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${name}.tar.bz2";
-    sha256 = "1rp8j0akxzcpvr2na5zchz8zxq5ldngiwj7f6sibjq5p3dcyn2w5";
+    sha256 = "1xjc0gna9hrqc6liyzkzkr2naapj5bldzad8qdxcjgqz5yd6rb7i";
   };
 
   buildInputs = [ pcre ];
diff --git a/pkgs/development/tools/analysis/verasco/default.nix b/pkgs/development/tools/analysis/verasco/default.nix
deleted file mode 100644
index 7f623e72dc31..000000000000
--- a/pkgs/development/tools/analysis/verasco/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ stdenv, lib, fetchurl
-, coq, ocaml, findlib, menhir, zarith
-, tools ? stdenv.cc
-}:
-
-assert lib.versionAtLeast ocaml.version "4.02";
-
-stdenv.mkDerivation rec {
-  name = "verasco-1.3";
-  src = fetchurl {
-    url = "http://compcert.inria.fr/verasco/release/${name}.tgz";
-    sha256 = "0zvljrpwnv443k939zlw1f7ijwx18nhnpr8jl3f01jc5v66hr2k8";
-  };
-
-  buildInputs = [ coq ocaml findlib menhir zarith ];
-
-  preConfigure = ''
-    substituteInPlace ./configure --replace '{toolprefix}gcc' '{toolprefix}cc'
-  '';
-
-  configureFlags = [
-    "-toolprefix ${tools}/bin/"
-    (if stdenv.isDarwin then "ia32-macosx" else "ia32-linux")
-  ];
-
-  prefixKey = "-prefix ";
-
-  enableParallelBuilding = true;
-  buildFlags = "proof extraction ccheck";
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp ccheck $out/bin/
-    ln -s $out/bin/ccheck $out/bin/verasco
-    if [ -e verasco.ini ]
-    then
-      mkdir -p $out/share
-      cp verasco.ini $out/share/
-    fi
-    mkdir -p $out/lib/compcert
-    cp -riv runtime/include $out/lib/compcert
-  '';
-
-  meta = {
-    homepage = http://compcert.inria.fr/verasco/;
-    description = "A static analyzer for the CompCert subset of ISO C 1999";
-    maintainers = with stdenv.lib.maintainers; [ vbgl ];
-    license = stdenv.lib.licenses.unfree;
-    platforms = with stdenv.lib.platforms; darwin ++ linux;
-  };
-}
diff --git a/pkgs/development/tools/apktool/default.nix b/pkgs/development/tools/apktool/default.nix
index 42deae45a25d..17b0265fddde 100644
--- a/pkgs/development/tools/apktool/default.nix
+++ b/pkgs/development/tools/apktool/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/bin"
     makeWrapper "${jre}/bin/java" "$out/bin/apktool" \
         --add-flags "-jar $out/libexec/apktool/apktool.jar" \
-        --prefix PATH : "${buildTools}/build-tools/25.0.1/"
+        --prefix PATH : "${buildTools.v25_0_1}/build-tools/25.0.1/"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/cppclean/default.nix b/pkgs/development/tools/cppclean/default.nix
new file mode 100644
index 000000000000..96fe07a7799a
--- /dev/null
+++ b/pkgs/development/tools/cppclean/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, lib, fetchFromGitHub, python3Packages }:
+
+with python3Packages;
+
+buildPythonApplication rec {
+  name = "cppclean-unstable-${version}";
+  version = "2018-05-12";
+
+  src = fetchFromGitHub {
+    owner  = "myint";
+    repo   = "cppclean";
+    rev    = "e7da41eca5e1fd2bd1dddd6655e50128bb96dc28";
+    sha256 = "0pymh6r7y19bwcypfkmgwyixrx36pmz338jd83yrjflsbjlriqm4";
+  };
+
+  postUnpack = ''
+    patchShebangs .
+    '';
+
+  checkPhase = ''
+    ./test.bash
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Finds problems in C++ source that slow development of large code bases";
+    homepage    = https://github.com/myint/cppclean;
+    license     = licenses.asl20;
+    maintainers = with maintainers; [ nthorne ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/global-platform-pro/default.nix b/pkgs/development/tools/global-platform-pro/default.nix
index ab32216de80d..9841e7900cd5 100644
--- a/pkgs/development/tools/global-platform-pro/default.nix
+++ b/pkgs/development/tools/global-platform-pro/default.nix
@@ -62,6 +62,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://github.com/martinpaljak/GlobalPlatformPro;
     license = with licenses; [ lgpl3 ];
+    maintainers = with maintainers; [ ekleog ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/go-junit-report/default.nix b/pkgs/development/tools/go-junit-report/default.nix
new file mode 100644
index 000000000000..5e1a69a16929
--- /dev/null
+++ b/pkgs/development/tools/go-junit-report/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "go-junit-report-unstable-${version}";
+  version = "2018-06-14";
+  rev = "385fac0ced9acaae6dc5b39144194008ded00697";
+
+  goPackagePath = "github.com/jstemmer/go-junit-report";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "jstemmer";
+    repo = "go-junit-report";
+    sha256 = "109zs8wpdmc2ijc2khyqija8imay88ka6v50xvrpnnwnd3ywckxi";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Converts go test output to an xml report, suitable for applications that expect junit xml reports (e.g. Jenkins)";
+    homepage    = "https://${goPackagePath}";
+    maintainers = with maintainers; [ cryptix ];
+    license     = licenses.mit;
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/gron/default.nix b/pkgs/development/tools/gron/default.nix
index 14c8f53a3944..ebe76197ef4e 100644
--- a/pkgs/development/tools/gron/default.nix
+++ b/pkgs/development/tools/gron/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "gron-${version}";
-  version = "0.5.2";
+  version = "0.6.0";
 
   owner = "tomnomnom";
   repo = "gron";
@@ -11,7 +11,7 @@ buildGoPackage rec {
   src = fetchFromGitHub {
     inherit owner repo;
     rev = "v${version}";
-    sha256 = "0nxcvih8n5a4f0a53dxaipab5ckqxgnsznzymhfw5kv4inr9v6j6";
+    sha256 = "05f3w4zr15wd7xk75l12y5kip4gnv719a2x9w2hy23q3pnss9wk0";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/development/tools/gron/deps.nix b/pkgs/development/tools/gron/deps.nix
index c5b1feb888ae..effc255d877e 100644
--- a/pkgs/development/tools/gron/deps.nix
+++ b/pkgs/development/tools/gron/deps.nix
@@ -6,8 +6,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/${owner}/${repo}";
-      rev = "v1.6.0";
-      sha256 = "0k1v9dkhrxiqhg48yqkwzpd7x40xx38gv2pgknswbsy4r8w644i7";
+      rev = "v1.7.0";
+      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
     };
   }
   rec {
@@ -32,4 +32,26 @@
       sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
     };
   }
+  rec {
+    owner = "mattn";
+    repo = "go-colorable";
+    goPackagePath = "github.com/${owner}/${repo}";
+    fetch = {
+      type = "git";
+      url = "https://github.com/${owner}/${repo}";
+      rev = "v0.0.9";
+      sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx";
+    };
+  }
+  rec {
+    owner = "mattn";
+    repo = "go-isatty";
+    goPackagePath = "github.com/${owner}/${repo}";
+    fetch = {
+      type = "git";
+      url = "https://github.com/${owner}/${repo}";
+      rev = "v0.0.4";
+      sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
+    };
+  }
 ]
diff --git a/pkgs/development/tools/jbake/default.nix b/pkgs/development/tools/jbake/default.nix
index c11e6f15ce96..1a421cc47ed6 100644
--- a/pkgs/development/tools/jbake/default.nix
+++ b/pkgs/development/tools/jbake/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchzip, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "2.6.2";
+  version = "2.6.3";
   name = "jbake-${version}";
 
   src = fetchzip {
     url = "https://dl.bintray.com/jbake/binary/${name}-bin.zip";
-    sha256 = "1q96z0pvkqgb4194m52z89q56cbc0g3faflyfpy55z099f655rx9";
+    sha256 = "000ax5vzirrhiykk86fmy4hibhl3pab0gkh5y35hiwhzhw5rwzk8";
   };
 
   buildInputs = [ makeWrapper jre ];
diff --git a/pkgs/development/tools/kind/default.nix b/pkgs/development/tools/kind/default.nix
new file mode 100644
index 000000000000..25bc79340001
--- /dev/null
+++ b/pkgs/development/tools/kind/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+with stdenv.lib;
+
+buildGoPackage rec {
+  name = "kind-${version}";
+  version = "2018-10-03-${stdenv.lib.strings.substring 0 7 rev}";
+  rev = "2ae73f8ef93609991b0e47a67825390ceec95b3f";
+
+  src = fetchFromGitHub {
+    rev = rev;
+    owner = "kubernetes-sigs";
+    repo = "kind";
+    sha256 = "0bg3y35sc1c73z4rfq11x1jz340786q91ywm165ri7vx280ffjgh";
+  };
+
+  goPackagePath = "sigs.k8s.io/kind";
+  excludedPackages = "images/base/entrypoint";
+
+  meta = {
+    description = "Kubernetes IN Docker - local clusters for testing Kubernetes";
+    homepage = https://github.com/kubernetes-sigs/kind;
+    maintainers = with maintainers; [ offline ];
+    license = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/tools/kustomize/default.nix b/pkgs/development/tools/kustomize/default.nix
index ce297df13c3a..15ae07962c59 100644
--- a/pkgs/development/tools/kustomize/default.nix
+++ b/pkgs/development/tools/kustomize/default.nix
@@ -3,9 +3,9 @@
 
 buildGoPackage rec {
   name = "kustomize-${version}";
-  version = "1.0.8";
+  version = "1.0.9";
   # rev is the 1.0.8 commit, mainly for kustomize version command output
-  rev = "58492e2d83c59ed63881311f46ad6251f77dabc3";
+  rev = "ec86b30d2b01a8fa62e645f024f26bfea5dcd30d";
 
   goPackagePath = "sigs.k8s.io/kustomize";
 
@@ -17,7 +17,7 @@ buildGoPackage rec {
   '';
 
   src = fetchFromGitHub {
-    sha256 = "0y6dqwhm7lczjy0zk2fnc1i43lvnjhcvihvm7qknky05z9f0v8bx";
+    sha256 = "06a0iic8sp745q71bh0k2zbcdhppp85bx9c3fwwr4wl77dlybz4f";
     rev = "v${version}";
     repo = "kustomize";
     owner = "kubernetes-sigs";
@@ -32,6 +32,6 @@ buildGoPackage rec {
     '';
     homepage = https://github.com/kubernetes-sigs/kustomize;
     license = licenses.asl20;
-    maintainers = [ maintainers.carlosdagos maintainers.vdemeester ];
+    maintainers = with maintainers; [ carlosdagos vdemeester periklis ];
   };
 }
diff --git a/pkgs/development/tools/minizinc/default.nix b/pkgs/development/tools/minizinc/default.nix
index 8c210cb93601..59f60d4046ad 100644
--- a/pkgs/development/tools/minizinc/default.nix
+++ b/pkgs/development/tools/minizinc/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, cmake, flex, bison }:
 let
-  version = "2.2.0";
+  version = "2.2.1";
 in
 stdenv.mkDerivation {
   name = "minizinc-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     rev = "${version}";
     owner = "MiniZinc";
     repo = "libminizinc";
-    sha256 = "05is1r5y06jfqwvka90dn2ffxnvbgyswaxl00aqz6455hnggnxvm";
+    sha256 = "1i11lan7fqs3lg0s6jfr8sflzwn5nk1ln5j6afjrkrdb08291dr7";
   };
 
   # meta is all the information about the package..
diff --git a/pkgs/development/tools/misc/blackmagic/default.nix b/pkgs/development/tools/misc/blackmagic/default.nix
index 2974c653acdd..281463528354 100644
--- a/pkgs/development/tools/misc/blackmagic/default.nix
+++ b/pkgs/development/tools/misc/blackmagic/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub
-, gcc-arm-embedded, libftdi
+, gcc-arm-embedded, binutils-arm-embedded, libftdi
 , python, pythonPackages
 }:
 
@@ -17,8 +17,11 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  nativeBuildInputs = [
+    gcc-arm-embedded binutils-arm-embedded
+  ];
+
   buildInputs = [
-    gcc-arm-embedded
     libftdi
     python
     pythonPackages.intelhex
diff --git a/pkgs/development/tools/misc/dfu-programmer/default.nix b/pkgs/development/tools/misc/dfu-programmer/default.nix
index 1c0f80e1ddd7..ba95889b5a80 100644
--- a/pkgs/development/tools/misc/dfu-programmer/default.nix
+++ b/pkgs/development/tools/misc/dfu-programmer/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     description = "A Device Firmware Update based USB programmer for Atmel chips with a USB bootloader";
     homepage = http://dfu-programmer.sourceforge.net/;
     maintainers = [ maintainers.the-kenny ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index 33a46e16a3ab..e2022156870d 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "strace-${version}";
-  version = "4.24";
+  version = "4.25";
 
   src = fetchurl {
     url = "https://strace.io/files/${version}/${name}.tar.xz";
-    sha256 = "0d061cdzk6a1822ds4wpqxg10ny27mi4i9zjmnsbz8nz3vy5jkhz";
+    sha256 = "00f7zagfh3np5gwi0z7hi7zjd7s5nixcaq7z78n87dvhakkgi1fn";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/pkgs/development/tools/misc/teensy-loader-cli/default.nix b/pkgs/development/tools/misc/teensy-loader-cli/default.nix
index d6c5256ca84d..91f2a5c58fc2 100644
--- a/pkgs/development/tools/misc/teensy-loader-cli/default.nix
+++ b/pkgs/development/tools/misc/teensy-loader-cli/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     sha256 = "1a663bv3lvm7bsf2wcaj2c0vpmniak7w5hwix5qgz608bvm2v781";
   };
 
-  buildInputs = [ unzip libusb ];
+  buildInputs = [ libusb ];
 
   installPhase = ''
     install -Dm755 teensy_loader_cli $out/bin/teensy-loader-cli
@@ -21,6 +21,6 @@ stdenv.mkDerivation {
     description = "Firmware uploader for the Teensy microcontroller boards";
     homepage = https://www.pjrc.com/teensy/;
     maintainers = with maintainers; [ the-kenny ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix
index d74b480c9c5a..c15970d3f3e6 100644
--- a/pkgs/development/tools/ocaml/merlin/default.nix
+++ b/pkgs/development/tools/ocaml/merlin/default.nix
@@ -3,7 +3,7 @@
 assert stdenv.lib.versionAtLeast ocaml.version "4.02";
 
 let
-  version = "3.2.1";
+  version = "3.2.2";
 in
 
 stdenv.mkDerivation {
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   src = fetchzip {
     url = "https://github.com/ocaml/merlin/archive/v${version}.tar.gz";
-    sha256 = "1szv2b7d12ll5n6pvnhlv3a6vnlyrkpya4l9fiyyiwyvgd4xzxwf";
+    sha256 = "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb";
   };
 
   buildInputs = [ ocaml findlib dune yojson ];
diff --git a/pkgs/development/tools/pipenv/default.nix b/pkgs/development/tools/pipenv/default.nix
index 1d23f5426a55..7d4a58d0e394 100644
--- a/pkgs/development/tools/pipenv/default.nix
+++ b/pkgs/development/tools/pipenv/default.nix
@@ -2,11 +2,11 @@
 with python3Packages; buildPythonApplication rec {
     name = "${pname}-${version}";
     pname = "pipenv";
-    version = "2018.10.9";
+    version = "2018.10.13";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0b0safavjxq6malmv44acmgds21m2sp1wqa7gs0qz621v6gcgq4j";
+      sha256 = "0qwflq00rwk3pnldndb30f3avnbi4hvv6c8mm6l5xxnxy9dj71d7";
     };
 
     LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/tools/profiling/pyprof2calltree/default.nix b/pkgs/development/tools/profiling/pyprof2calltree/default.nix
index b2497633a680..a2d98bcf2387 100644
--- a/pkgs/development/tools/profiling/pyprof2calltree/default.nix
+++ b/pkgs/development/tools/profiling/pyprof2calltree/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonApplication rec {
   pname = "pyprof2calltree";
-  version = "1.4.3";
+  version = "1.4.4";
 
   # Fetch from GitHub because the PyPi packaged version does not
   # include all test files.
@@ -10,7 +10,7 @@ buildPythonApplication rec {
     owner = "pwaller";
     repo = "pyprof2calltree";
     rev = "v" + version;
-    sha256 = "0i0a895zal193cpvzbv68fch606g4ik27rvzbby3vxk61zlxfqy5";
+    sha256 = "1vrip41ib7nmkwa8rjny1na1wyp7nvvgvm0h9bd21i262kbm4nqx";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/rust/cbindgen/default.nix b/pkgs/development/tools/rust/cbindgen/default.nix
index fe80d0d9dd19..970ace229e20 100644
--- a/pkgs/development/tools/rust/cbindgen/default.nix
+++ b/pkgs/development/tools/rust/cbindgen/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, rustPlatform }:
+{ stdenv, fetchFromGitHub, rustPlatform, Security }:
 
 rustPlatform.buildRustPackage rec {
   name = "rust-cbindgen-${version}";
@@ -13,6 +13,8 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "1m1chwmfgj74xrmn4gb9yz5kx8c408a1hlqmpcq780kqj0k927i9";
 
+  buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
+
   meta = with stdenv.lib; {
     description = "A project for generating C bindings from Rust code";
     homepage = https://github.com/eqrion/cbindgen;
diff --git a/pkgs/development/tools/rust/pyo3-pack/default.nix b/pkgs/development/tools/rust/pyo3-pack/default.nix
new file mode 100644
index 000000000000..05c57e46b893
--- /dev/null
+++ b/pkgs/development/tools/rust/pyo3-pack/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, rustPlatform, dbus, gmp, openssl, pkgconfig
+, darwin }:
+
+let
+  inherit (darwin.apple_sdk.frameworks) Security;
+in rustPlatform.buildRustPackage rec {
+  name = "pyo3-pack-${version}";
+  version = "0.3.8";
+
+  src = fetchFromGitHub {
+    owner = "PyO3";
+    repo = "pyo3-pack";
+    rev = "v${version}";
+    sha256 = "14343209w7wphkqh7pnw08pah09spjbwhk6l548g9ivra057gwaz";
+  };
+
+  cargoSha256 = "0n7z9p3v92ijqc2ix60wi74as5rql61k5qbqi8b1b02b71xmsp7j";
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ gmp openssl ]
+    ++ stdenv.lib.optional stdenv.isDarwin Security
+    ++ stdenv.lib.optional stdenv.isLinux dbus;
+
+  # Requires network access, fails in sandbox.
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Build and publish crates with pyo3 bindings as python packages";
+    homepage = https://github.com/PyO3/pyo3-pack;
+    license = licenses.mit;
+    maintainers = [ maintainers.danieldk ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/scalafix/default.nix b/pkgs/development/tools/scalafix/default.nix
new file mode 100644
index 000000000000..bd8a013fe2d0
--- /dev/null
+++ b/pkgs/development/tools/scalafix/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, jdk, jre, coursier, makeWrapper }:
+
+let
+  baseName = "scalafix";
+  version = "0.9.0";
+  deps = stdenv.mkDerivation {
+    name = "${baseName}-deps-${version}";
+    buildCommand = ''
+      export COURSIER_CACHE=$(pwd)
+      ${coursier}/bin/coursier fetch ch.epfl.scala:scalafix-cli_2.12.7:${version} > deps
+      mkdir -p $out/share/java
+      cp $(< deps) $out/share/java/
+    '';
+    outputHashMode = "recursive";
+    outputHashAlgo = "sha256";
+    outputHash     = "19j260prx7k010nxyvc1m9jj1ncxr73m2cym7if39360v5dc05c0";
+  };
+in
+stdenv.mkDerivation rec {
+  name = "${baseName}-${version}";
+
+  buildInputs = [ jdk makeWrapper deps ];
+
+  doCheck = true;
+
+  phases = [ "installPhase" "checkPhase" ];
+
+  installPhase = ''
+    makeWrapper ${jre}/bin/java $out/bin/${baseName} \
+      --add-flags "-cp $CLASSPATH scalafix.cli.Cli"
+  '';
+
+  checkPhase = ''
+    $out/bin/${baseName} --version | grep -q "${version}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Refactoring and linting tool for Scala";
+    homepage = https://scalacenter.github.io/scalafix/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.tomahna ];
+  };
+}
diff --git a/pkgs/development/tools/simavr/default.nix b/pkgs/development/tools/simavr/default.nix
index b009d5ed601b..e28aad40ef47 100644
--- a/pkgs/development/tools/simavr/default.nix
+++ b/pkgs/development/tools/simavr/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub, avrbinutils, avrgcc, avrlibc, libelf, which, git, pkgconfig, freeglut
+{ stdenv, fetchFromGitHub, libelf, which, git, pkgconfig, freeglut
+, avrbinutils, avrgcc, avrlibc
 , libGLU_combined }:
 
 stdenv.mkDerivation rec {
@@ -15,14 +16,10 @@ stdenv.mkDerivation rec {
   # ld: cannot find -lsimavr
   enableParallelBuilding = false;
 
-  preConfigure = ''
-    substituteInPlace Makefile.common --replace "-I../simavr/sim/avr -I../../simavr/sim/avr" \
-    "-I${avrlibc}/avr/include -L${avrlibc}/avr/lib/avr5  -B${avrlibc}/avr/lib -I../simavr/sim/avr -I../../simavr/sim/avr"
-  '';
   buildFlags = "AVR_ROOT=${avrlibc}/avr SIMAVR_VERSION=${version}";
   installFlags = buildFlags + " DESTDIR=$(out)";
 
-  
+
   # Hack to avoid TMPDIR in RPATHs.
   preFixup = ''rm -rf "$(pwd)" && mkdir "$(pwd)" '';
 
@@ -31,8 +28,8 @@ stdenv.mkDerivation rec {
     patchelf --set-rpath "$(patchelf --print-rpath "$target"):$out/lib" "$target"
   '';
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ which git avrbinutils avrgcc avrlibc libelf freeglut libGLU_combined ];
+  nativeBuildInputs = [ which git pkgconfig avrgcc avrbinutils ];
+  buildInputs = [ libelf freeglut libGLU_combined ];
 
   meta = with stdenv.lib; {
     description = "A lean and mean Atmel AVR simulator";
@@ -43,4 +40,3 @@ stdenv.mkDerivation rec {
   };
 
 }
-
diff --git a/pkgs/development/tools/sourcetrail/default.nix b/pkgs/development/tools/sourcetrail/default.nix
new file mode 100644
index 000000000000..2182f8697aab
--- /dev/null
+++ b/pkgs/development/tools/sourcetrail/default.nix
@@ -0,0 +1,75 @@
+{ stdenv, fetchurl, autoPatchelfHook
+, icu, zlib, expat, dbus, libheimdal, openssl}:
+
+stdenv.mkDerivation rec {
+  name = "sourcetrail-${version}";
+  version = "2018.3.55";
+
+  src = fetchurl {
+    name = "sourtrail.tar.gz";
+    url = "https://www.sourcetrail.com/downloads/${version}/linux/64bit";
+    sha256 = "6f5fbbecc221e7165ecbf1c4d208e302dade4feea9d43eb3265521efc0a376e2";
+  };
+
+  nativeBuildInputs = [ autoPatchelfHook ];
+  buildInputs = [ zlib expat dbus stdenv.cc.cc openssl ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin $out/opt
+
+    mv -v setup/share $out
+    mv -v data/gui/icon/logo_1024_1024.png $out/share/icons/sourcetrail.png
+    mv -v data/gui/icon/project_256_256.png $out/share/icons/project-sourcetrail.png
+
+    mkdir -p $out/share/sourcetrail/doc
+    mv -v README EULA.txt $out/share/sourcetrail/doc
+    mv -v plugin $out/share/sourcetrail
+
+    cp -rv . $out/opt
+
+    rm $out/opt/lib/libssl.so
+    rm $out/opt/lib/platforms/{libqeglfs.so,libqwebgl.so}
+    ln -s ${openssl}/lib/libssl.so $out/opt/lib/libssl.so
+
+    substituteInPlace \
+      $out/share/applications/sourcetrail.desktop \
+      --replace /usr/bin/ $out/bin/
+
+    cat <<EOF > $out/bin/sourcetrail
+      #! ${stdenv.shell} -e
+
+      # XXX: Sourcetrail somehow copies the initial config files into the home
+      # directory without write permissions. We currently just copy them
+      # ourselves to work around this problem.
+      setup_config() {
+        local src dst
+
+        [ ! -d ~/.config/sourcetrail ] && mkdir -p ~/.config/sourcetrail
+        for src in $out/opt/data/fallback/*; do
+          dst=~/.config/sourcetrail/"\$(basename "\$src")"
+          if [ ! -e "\$dst" ]; then
+            cp -r "\$src" "\$dst"
+          fi
+        done
+
+        chmod -R u+w ~/.config/sourcetrail
+      }
+
+      [ -d "\$HOME" ] && setup_config
+      exec "$out/opt/Sourcetrail.sh" "\$@"
+    EOF
+    chmod +x $out/bin/sourcetrail
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://www.sourcetrail.com;
+    description = "A cross-platform source explorer for C/C++ and Java";
+    platforms = [ "x86_64-linux" ];
+    license = licenses.unfree;
+    maintainers = with maintainers; [ midchildan ];
+  };
+}
diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix
index 47a11e1b7f4d..be2b0689f925 100644
--- a/pkgs/development/tools/yarn/default.nix
+++ b/pkgs/development/tools/yarn/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "yarn-${version}";
-  version = "1.10.1";
+  version = "1.12.1";
 
   src = fetchzip {
     url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz";
-    sha256 = "0j9y53k0wxgwjvvpbs6rr4nbydg3bn4khcxsrnzyrakym0ihgmr1";
+    sha256 = "084xci8y5na2765sh8flc8c5z7fik62filf1p58aqrb2000vna1j";
   };
 
   buildInputs = [ nodejs ];