about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/misc
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-01-11 23:37:02 +0000
committerAlyssa Ross <hi@alyssa.is>2020-01-11 23:41:30 +0000
commit6c557e3f1c28cf87e9fba232811d6875dd1399c1 (patch)
tree035a071d5d8980df6de0fa42e2ef8fc0cce7055e /nixpkgs/pkgs/development/tools/misc
parentda7500bc026e937ac7fce7b50f67a0e1765737a7 (diff)
parente4134747f5666bcab8680aff67fa3b63384f9a0f (diff)
downloadnixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.gz
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.bz2
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.lz
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.xz
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.zst
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.zip
Merge commit 'e4134747f5666bcab8680aff67fa3b63384f9a0f'
Diffstat (limited to 'nixpkgs/pkgs/development/tools/misc')
-rw-r--r--nixpkgs/pkgs/development/tools/misc/act/default.nix22
-rw-r--r--nixpkgs/pkgs/development/tools/misc/arcanist/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/misc/argbash/default.nix27
-rw-r--r--nixpkgs/pkgs/development/tools/misc/automake/automake-1.15.x.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/automake/help2man-SOURCE_DATE_EPOCH-support.patch41
-rw-r--r--nixpkgs/pkgs/development/tools/misc/binutils/default.nix34
-rw-r--r--nixpkgs/pkgs/development/tools/misc/ccls/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/ccls/wrapper2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/chrpath/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/cli11/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/misc/clojure-lsp/default.nix26
-rw-r--r--nixpkgs/pkgs/development/tools/misc/cquery/wrapper2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/ddd/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/dialog/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/direvent/default.nix21
-rw-r--r--nixpkgs/pkgs/development/tools/misc/doclifter/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/editorconfig-checker/default.nix22
-rw-r--r--nixpkgs/pkgs/development/tools/misc/elfkickers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/fsatrace/default.nix17
-rw-r--r--nixpkgs/pkgs/development/tools/misc/gdb/default.nix18
-rw-r--r--nixpkgs/pkgs/development/tools/misc/global/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/gputils/default.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/misc/gtkdialog/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/hydra-cli/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/hydra/default.nix15
-rw-r--r--nixpkgs/pkgs/development/tools/misc/intel-gpu-tools/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/itstool/default.nix18
-rw-r--r--nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/misc/lsof/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/lttng-ust/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/micronucleus/default.nix38
-rw-r--r--nixpkgs/pkgs/development/tools/misc/mkcert/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/misc/openocd/default.nix16
-rw-r--r--nixpkgs/pkgs/development/tools/misc/pahole/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/patchelf/setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/patchelf/unstable.nix26
-rw-r--r--nixpkgs/pkgs/development/tools/misc/premake/setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix54
-rw-r--r--nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/misc/scc/default.nix26
-rw-r--r--nixpkgs/pkgs/development/tools/misc/sccache/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/sipp/default.nix18
-rw-r--r--nixpkgs/pkgs/development/tools/misc/sloccount/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/sqitch/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/srecord/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/stm32cubemx/default.nix78
-rw-r--r--nixpkgs/pkgs/development/tools/misc/strace/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/swig/4.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/sysbench/default.nix21
-rw-r--r--nixpkgs/pkgs/development/tools/misc/terracognita/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/misc/texinfo/common.nix18
-rw-r--r--nixpkgs/pkgs/development/tools/misc/texinfo/cross-tools-flags.patch12
-rw-r--r--nixpkgs/pkgs/development/tools/misc/texlab/default.nix31
-rw-r--r--nixpkgs/pkgs/development/tools/misc/tokei/Cargo.lock.patch13
-rw-r--r--nixpkgs/pkgs/development/tools/misc/tokei/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/misc/travis/Gemfile3
-rw-r--r--nixpkgs/pkgs/development/tools/misc/travis/Gemfile.lock14
-rw-r--r--nixpkgs/pkgs/development/tools/misc/travis/gemset.nix51
-rw-r--r--nixpkgs/pkgs/development/tools/misc/trv/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/misc/universal-ctags/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/usb-modeswitch/data.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/usb-modeswitch/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/watson-ruby/default.nix17
65 files changed, 647 insertions, 230 deletions
diff --git a/nixpkgs/pkgs/development/tools/misc/act/default.nix b/nixpkgs/pkgs/development/tools/misc/act/default.nix
new file mode 100644
index 000000000000..bf1cae3edc72
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/act/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "act";
+  version = "0.1.3";
+
+  src = fetchFromGitHub {
+    owner = "nektos";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1y1bvk93dzsxwjakmgpb5qyy3lqng7cdabi64b555c1z6b42mf58";
+  };
+
+  modSha256 = "00d0wjnr5y3bl95lma8sdwvqqs7fd0k43azawp1kb29kqnrlismg";
+
+  meta = with lib; {
+    description = "Run your GitHub Actions locally";
+    homepage = "https://circleci.com/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/arcanist/default.nix b/nixpkgs/pkgs/development/tools/misc/arcanist/default.nix
index b3d380b0a0ad..3df5794e3870 100644
--- a/nixpkgs/pkgs/development/tools/misc/arcanist/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/arcanist/default.nix
@@ -4,19 +4,19 @@ let
   libphutil = fetchFromGitHub {
     owner = "phacility";
     repo = "libphutil";
-    rev = "3215e4e291ed4468faeed4542d47a571b5bc559a";
-    sha256 = "0bbinaxny0j4iniz2grf0s9cysbl3x24yc32f3jra9mwsgh2v2zj";
+    rev = "39ed96cd818aae761ec92613a9ba0800824d0ab0";
+    sha256 = "1w55avn056kwa4gr25h09b7xhvyp397myrfzlmd1ggx7vj87vw1q";
   };
   arcanist = fetchFromGitHub {
     owner = "phacility";
     repo = "arcanist";
-    rev = "2650e8627a20e1bfe334a4a2b787f44ef5d6ebc5";
-    sha256 = "0x0xxiar202ypbgxh19swzjil546bbp8li4k5yrpvab55y8ymkd4";
+    rev = "3cdfe1fff806d2b54a2df631cf90193e518f42b7";
+    sha256 = "1dngq8p4y4hln87hhgdm6hv68ld626j57lifw0821rvpnnmspw6j";
   };
 in
 stdenv.mkDerivation {
   pname = "arcanist";
-  version = "20180916";
+  version = "20190905";
 
   src = [ arcanist libphutil ];
   buildInputs = [ php makeWrapper flex ];
diff --git a/nixpkgs/pkgs/development/tools/misc/argbash/default.nix b/nixpkgs/pkgs/development/tools/misc/argbash/default.nix
new file mode 100644
index 000000000000..b8e3ff4a9dfe
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/argbash/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, autoconf }:
+
+stdenv.mkDerivation rec {
+  pname = "argbash";
+
+  version = "2.8.1";
+
+  src = fetchFromGitHub {
+    owner = "matejak";
+    repo = "argbash";
+    rev = "${version}";
+    sha256 = "0zara7v3pnwiwkpb0x0g37pxhmim4425q4gba712f6djj115r1mr";
+  };
+
+  sourceRoot = "${src}/resources";
+
+  nativeBuildInputs = [ autoconf ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "Bash argument parsing code generator";
+    homepage = "https://argbash.io/";
+    license = licenses.free; # custom license.  See LICENSE in source repo.
+    maintainers = with maintainers; [ rencire ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/automake/automake-1.15.x.nix b/nixpkgs/pkgs/development/tools/misc/automake/automake-1.15.x.nix
index e1aeb025c30f..f1a486446170 100644
--- a/nixpkgs/pkgs/development/tools/misc/automake/automake-1.15.x.nix
+++ b/nixpkgs/pkgs/development/tools/misc/automake/automake-1.15.x.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
 
   setupHook = ./setup-hook.sh;
 
+  patches = [ ./help2man-SOURCE_DATE_EPOCH-support.patch ];
+
   # Disable indented log output from Make, otherwise "make.test" will
   # fail.
   preCheck = "unset NIX_INDENT_MAKE";
diff --git a/nixpkgs/pkgs/development/tools/misc/automake/help2man-SOURCE_DATE_EPOCH-support.patch b/nixpkgs/pkgs/development/tools/misc/automake/help2man-SOURCE_DATE_EPOCH-support.patch
new file mode 100644
index 000000000000..048f75e63343
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/automake/help2man-SOURCE_DATE_EPOCH-support.patch
@@ -0,0 +1,41 @@
+From 2e3357d7f0d63f1caeb40d9644c2436a5cd0da5f Mon Sep 17 00:00:00 2001
+From: David Terry <me@xwvvvvwx.com>
+Date: Fri, 18 Oct 2019 10:23:11 +0200
+Subject: [PATCH] help2man: add support for SOURCE_DATE_EPOCH
+
+---
+ doc/help2man | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/doc/help2man b/doc/help2man
+index af4306f..4a64167 100755
+--- a/doc/help2man
++++ b/doc/help2man
+@@ -213,11 +213,23 @@ sub get_option_value;
+ my $help_text   = get_option_value $ARGV[0], $help_option;
+ $version_text ||= get_option_value $ARGV[0], $version_option;
+ 
++# By default the generated manual pages will include the current date.  This may
++# however be overriden by setting the environment variable $SOURCE_DATE_EPOCH
++# to an integer value of the seconds since the UNIX epoch.  This is primarily
++# intended to support reproducible builds (wiki.debian.org/ReproducibleBuilds)
++# and will additionally ensure that the output date string is UTC.
++my $epoch_secs = time;
++if (exists $ENV{SOURCE_DATE_EPOCH} and $ENV{SOURCE_DATE_EPOCH} =~ /^(\d+)$/)
++{
++    $epoch_secs = $1;
++    $ENV{TZ} = 'UTC';
++}
++
+ # Translators: the following message is a strftime(3) format string, which in
+ # the English version expands to the month as a word and the full year.  It
+ # is used on the footer of the generated manual pages.  If in doubt, you may
+ # just use %x as the value (which should be the full locale-specific date).
+-my $date = enc strftime _("%B %Y"), localtime;
++my $date = enc strftime _("%B %Y"), localtime $epoch_secs;
+ (my $program = $ARGV[0]) =~ s!.*/!!;
+ my $package = $program;
+ my $version;
+-- 
+2.23.0
+
diff --git a/nixpkgs/pkgs/development/tools/misc/binutils/default.nix b/nixpkgs/pkgs/development/tools/misc/binutils/default.nix
index 210659289d1e..82365d986b8a 100644
--- a/nixpkgs/pkgs/development/tools/misc/binutils/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/binutils/default.nix
@@ -1,11 +1,13 @@
 { stdenv, lib, buildPackages
-, fetchurl, zlib, autoreconfHook, gettext
+, fetchFromGitHub, fetchurl, zlib, autoreconfHook, gettext
 # Enabling all targets increases output size to a multiple.
 , withAllTargets ? false, libbfd, libopcodes
 , enableShared ? true
 , noSysDirs
 , gold ? !stdenv.buildPlatform.isDarwin || stdenv.hostPlatform == stdenv.targetPlatform
 , bison ? null
+, flex
+, texinfo
 }:
 
 let
@@ -15,21 +17,29 @@ let
   # is now upstream.
   # https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=330b90b5ffbbc20c5de6ae6c7f60c40fab2e7a4f;hp=99181ccac0fc7d82e7dabb05dc7466e91f1645d3
   version = "2.31.1";
-  basename = "binutils-${version}";
+  basename = "binutils";
   # The targetPrefix prepended to binary names to allow multiple binuntils on the
   # PATH to both be usable.
   targetPrefix = lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
                   "${stdenv.targetPlatform.config}-";
+  vc4-binutils-src = fetchFromGitHub {
+    owner = "itszor";
+    repo = "binutils-vc4";
+    rev = "708acc851880dbeda1dd18aca4fd0a95b2573b36";
+    sha256 = "1kdrz6fki55lm15rwwamn74fnqpy0zlafsida2zymk76n3656c63";
+  };
+  # HACK to ensure that we preserve source from bootstrap binutils to not rebuild LLVM
+  normal-src = stdenv.__bootPackages.binutils-unwrapped.src or (fetchurl {
+    url = "mirror://gnu/binutils/${basename}-${version}.tar.bz2";
+    sha256 = "1l34hn1zkmhr1wcrgf0d4z7r3najxnw3cx2y2fk7v55zjlk3ik7z";
+  });
 in
 
 stdenv.mkDerivation {
-  name = targetPrefix + basename;
+  pname = targetPrefix + basename;
+  inherit version;
 
-  # HACK to ensure that we preserve source from bootstrap binutils to not rebuild LLVM
-  src = stdenv.__bootPackages.binutils-unwrapped.src or (fetchurl {
-    url = "mirror://gnu/binutils/${basename}.tar.bz2";
-    sha256 = "1l34hn1zkmhr1wcrgf0d4z7r3najxnw3cx2y2fk7v55zjlk3ik7z";
-  });
+  src = if stdenv.targetPlatform.isVc4 then vc4-binutils-src else normal-src;
 
   patches = [
     # Make binutils output deterministic by default.
@@ -54,6 +64,8 @@ stdenv.mkDerivation {
     # cross-compiling.
     ./always-search-rpath.patch
 
+  ] ++ lib.optionals (!stdenv.targetPlatform.isVc4)
+  [
     # https://sourceware.org/bugzilla/show_bug.cgi?id=22868
     ./gold-symbol-visibility.patch
 
@@ -69,9 +81,9 @@ stdenv.mkDerivation {
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [
     bison
-  ] ++ lib.optionals stdenv.targetPlatform.isiOS [
+  ] ++ (lib.optionals stdenv.targetPlatform.isiOS [
     autoreconfHook
-  ];
+  ]) ++ lib.optionals stdenv.targetPlatform.isVc4 [ texinfo flex ];
   buildInputs = [ zlib gettext ];
 
   inherit noSysDirs;
@@ -132,7 +144,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   passthru = {
-    inherit targetPrefix version;
+    inherit targetPrefix;
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/misc/ccls/default.nix b/nixpkgs/pkgs/development/tools/misc/ccls/default.nix
index e42c3e58db8e..8748cdf52b4f 100644
--- a/nixpkgs/pkgs/development/tools/misc/ccls/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/ccls/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ccls";
-  version = "0.20190823";
+  version = "0.20190823.5";
 
   src = fetchFromGitHub {
     owner = "MaskRay";
     repo = "ccls";
     rev = version;
-    sha256 = "1qy1kf83mrvbhwl8m0h7ralwd3sid8y8fpk7pmy81y1nq8f1cf6f";
+    sha256 = "0b2pkpzn576b92zcxpwchpkyw2fww6s69818rx4g9z34kzm35zy5";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -45,6 +45,6 @@ stdenv.mkDerivation rec {
     homepage    = https://github.com/MaskRay/ccls;
     license     = licenses.asl20;
     platforms   = platforms.linux ++ platforms.darwin;
-    maintainers = [ maintainers.mic92 ];
+    maintainers = with maintainers; [ mic92 tobim ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/ccls/wrapper b/nixpkgs/pkgs/development/tools/misc/ccls/wrapper
index f8d7b9eb3fea..155e6d4f6474 100644
--- a/nixpkgs/pkgs/development/tools/misc/ccls/wrapper
+++ b/nixpkgs/pkgs/development/tools/misc/ccls/wrapper
@@ -9,4 +9,4 @@ fi
 
 initString+="]}}"
 
-exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "${extraFlagsArray[@]}" "$@"
+exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "$@"
diff --git a/nixpkgs/pkgs/development/tools/misc/chrpath/default.nix b/nixpkgs/pkgs/development/tools/misc/chrpath/default.nix
index 956a8df69cea..3cae6aa2ae6b 100644
--- a/nixpkgs/pkgs/development/tools/misc/chrpath/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/chrpath/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "chrpath-0.16";
 
   src = fetchurl {
-    url = "https://alioth.debian.org/frs/download.php/file/3979/chrpath-0.16.tar.gz";
+    url = "https://alioth-archive.debian.org/releases/chrpath/chrpath/0.16/chrpath-0.16.tar.gz";
     sha256 = "0yvfq891mcdkf8g18gjjkn2m5rvs8z4z4cl1vwdhx6f2p9a4q3dv";
   };
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
       binary. The rpath, or runpath if it is present, is where the runtime
       linker should look for the libraries needed for a program.
     '';
-    homepage = https://alioth.debian.org/projects/chrpath/;
+    homepage = https://tracker.debian.org/pkg/chrpath;
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/nixpkgs/pkgs/development/tools/misc/cli11/default.nix b/nixpkgs/pkgs/development/tools/misc/cli11/default.nix
index a3579b734084..6261ffc9b018 100644
--- a/nixpkgs/pkgs/development/tools/misc/cli11/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/cli11/default.nix
@@ -1,4 +1,11 @@
-{ stdenv, fetchFromGitHub, cmake, gtest, python, boost }:
+{
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+  gtest,
+  python,
+  boost
+}:
 
 stdenv.mkDerivation rec {
   pname = "cli11";
@@ -20,6 +27,7 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     rm -rfv extern/googletest
     ln -sfv ${gtest.src} extern/googletest
+    sed -i '/TrueFalseTest/d' tests/CMakeLists.txt
   '';
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/tools/misc/clojure-lsp/default.nix b/nixpkgs/pkgs/development/tools/misc/clojure-lsp/default.nix
new file mode 100644
index 000000000000..17d936792850
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/clojure-lsp/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, jre }:
+
+stdenv.mkDerivation rec {
+  pname = "clojure-lsp";
+  version = "20200106T233511";
+
+  src = fetchurl {
+    url = "https://github.com/snoe/clojure-lsp/releases/download/release-${version}/${pname}";
+    sha256 = "0z550c15sywbaxbfi1nxx19whfysq4whl4na4fjihnin8ab5sh2x";
+  };
+
+  dontUnpack = true;
+
+  installPhase = ''
+    install -Dm755 $src $out/bin/clojure-lsp
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Language Server Protocol (LSP) for Clojure";
+    homepage = "https://github.com/snoe/clojure-lsp";
+    license = licenses.mit;
+    maintainers = [ maintainers.ericdallo ];
+    platforms = jre.meta.platforms;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/cquery/wrapper b/nixpkgs/pkgs/development/tools/misc/cquery/wrapper
index 534f900f94af..8b3e57290429 100644
--- a/nixpkgs/pkgs/development/tools/misc/cquery/wrapper
+++ b/nixpkgs/pkgs/development/tools/misc/cquery/wrapper
@@ -9,4 +9,4 @@ fi
 
 initString+="]}"
 
-exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "${extraFlagsArray[@]}" "$@"
+exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "$@"
diff --git a/nixpkgs/pkgs/development/tools/misc/ddd/default.nix b/nixpkgs/pkgs/development/tools/misc/ddd/default.nix
index c51a5f504741..1ff969187668 100644
--- a/nixpkgs/pkgs/development/tools/misc/ddd/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/ddd/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
 
   patches = [ ./gcc44.patch ];
 
+  NIX_CFLAGS_COMPILE = "-fpermissive";
+
   meta = {
     homepage = https://www.gnu.org/software/ddd;
     description = "Graphical front-end for command-line debuggers";
diff --git a/nixpkgs/pkgs/development/tools/misc/dialog/default.nix b/nixpkgs/pkgs/development/tools/misc/dialog/default.nix
index 378cc4683b41..b82429cdac5f 100644
--- a/nixpkgs/pkgs/development/tools/misc/dialog/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/dialog/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     "--with-libtool-opts=${stdenv.lib.optionalString enableShared "-shared"}"
   ];
 
-  installTargets = "install${stdenv.lib.optionalString withLibrary "-full"}";
+  installTargets = [ "install${stdenv.lib.optionalString withLibrary "-full"}" ];
 
   meta = {
     homepage = https://invisible-island.net/dialog/dialog.html;
diff --git a/nixpkgs/pkgs/development/tools/misc/direvent/default.nix b/nixpkgs/pkgs/development/tools/misc/direvent/default.nix
new file mode 100644
index 000000000000..0ae1884646d9
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/direvent/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation rec {
+  name = "direvent-${version}";
+  version = "5.2";
+
+  src = fetchurl {
+    url = "mirror://gnu/direvent/${name}.tar.gz";
+    sha256 = "0m9vi01b1km0cpknflyzsjnknbava0s1n6393b2bpjwyvb6j5613";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Directory event monitoring daemon";
+    homepage = "https://www.gnu.org.ua/software/direvent/";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ puffnfresh ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/doclifter/default.nix b/nixpkgs/pkgs/development/tools/misc/doclifter/default.nix
index 9975f0f5465c..fe86a22b7f49 100644
--- a/nixpkgs/pkgs/development/tools/misc/doclifter/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/doclifter/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
   };
   buildInputs = [ python ];
   
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
   
   preInstall = ''
     mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/development/tools/misc/editorconfig-checker/default.nix b/nixpkgs/pkgs/development/tools/misc/editorconfig-checker/default.nix
new file mode 100644
index 000000000000..cbb6a38f67a8
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/editorconfig-checker/default.nix
@@ -0,0 +1,22 @@
+{ buildGoModule, fetchFromGitHub, lib }:
+
+buildGoModule rec {
+  pname = "editorconfig-checker";
+  version = "2.0.2";
+
+  src = fetchFromGitHub {
+    owner = "editorconfig-checker";
+    repo = "editorconfig-checker";
+    rev = "${version}";
+    sha256 = "0v2ml9r8b5admi3sv80wa1pwl9qnz03q2p84vgcmgg2nv1v6yxf3";
+  };
+
+  modSha256 = "09b1v9gyh6827yqlfxxxq3lcqhd5snn3n7gdlbjmga3wyp2x4g2r";
+
+  meta = with lib; {
+    description = "A tool to verify that your files are in harmony with your .editorconfig";
+    homepage = "https://editorconfig-checker.github.io/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ uri-canva ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/elfkickers/default.nix b/nixpkgs/pkgs/development/tools/misc/elfkickers/default.nix
index c7eaafd9c7a8..288e8bf96998 100644
--- a/nixpkgs/pkgs/development/tools/misc/elfkickers/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/elfkickers/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "elfkickers";
-  version = "3.1";
+  version = "3.1a";
 
   src = fetchurl {
     url = "http://www.muppetlabs.com/~breadbox/pub/software/ELFkickers-${version}.tar.gz";
-    sha256 = "0n0sypjrdm3ramv0sby4sdh3i3j9d0ihadr951wa08ypdnq3yrkd";
+    sha256 = "02354yn1lh1dxny35ky2d0b44iq302krsqpwk5grr4glma00hhq6";
   };
 
   makeFlags = [ "CC=cc prefix=$(out)" ];
diff --git a/nixpkgs/pkgs/development/tools/misc/fsatrace/default.nix b/nixpkgs/pkgs/development/tools/misc/fsatrace/default.nix
index 152792dcee25..b8202f94ce9b 100644
--- a/nixpkgs/pkgs/development/tools/misc/fsatrace/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/fsatrace/default.nix
@@ -2,23 +2,26 @@
 
 stdenv.mkDerivation rec {
   pname = "fsatrace";
-  version = "0.0.1-160";
+  version = "0.0.1-324";
 
   src = fetchFromGitHub {
     owner = "jacereda";
     repo = "fsatrace";
-    rev = "2bf89d836e0156e68f121b0ffeedade7c9381f77";
-    sha256 = "0bndfmm0y738azwzf6m6xg6gjnrwcqlfjsampk67vga40yylwkbw";
+    rev = "41fbba17da580f81ababb32ec7e6e5fd49f11473";
+    sha256 = "1ihm2v723idd6m0kc1z9v73hmfvh2v0vjs8wvx5w54jaxh3lmj1y";
   };
 
-  preConfigure = ''
-    mkdir -p $out/libexec/${pname}-${version}
-    export makeFlags=INSTALLDIR=$out/libexec/${pname}-${version}
+  installDir = "libexec/${pname}-${version}";
+
+  makeFlags = [ "INSTALLDIR=$(out)/$(installDir)" ];
+
+  preInstall = ''
+    mkdir -p $out/$installDir
   '';
 
   postInstall = ''
     mkdir -p $out/bin
-    ln -s $out/libexec/${pname}-${version}/fsatrace $out/bin/
+    ln -s $out/$installDir/fsatrace $out/bin/fsatrace
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/tools/misc/gdb/default.nix b/nixpkgs/pkgs/development/tools/misc/gdb/default.nix
index f7dc2874aff5..e125b7418f6b 100644
--- a/nixpkgs/pkgs/development/tools/misc/gdb/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/gdb/default.nix
@@ -1,19 +1,24 @@
-{ stdenv
+{ stdenv, targetPackages
 
 # Build time
 , fetchurl, pkgconfig, perl, texinfo, setupDebugInfoDirs, buildPackages
 
 # Run time
-, ncurses, readline, gmp, mpfr, expat, zlib, dejagnu
+, ncurses, readline, gmp, mpfr, expat, libipt, zlib, dejagnu
 
 , pythonSupport ? stdenv.hostPlatform == stdenv.buildPlatform && !stdenv.hostPlatform.isCygwin, python3 ? null
 , guile ? null
-
+, safePaths ? [
+   # $debugdir:$datadir/auto-load are whitelisted by default by GDB
+   "$debugdir" "$datadir/auto-load"
+   # targetPackages so we get the right libc when cross-compiling and using buildPackages.gdb
+   targetPackages.stdenv.cc.cc.lib
+  ]
 }:
 
 let
   basename = "gdb-${version}";
-  version = "8.3";
+  version = "8.3.1";
 in
 
 assert pythonSupport -> python3 != null;
@@ -26,7 +31,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/gdb/${basename}.tar.xz";
-    sha256 = "0bnpzz0rl672xg5547q5qck2sxi6cnyixmk8bbb4gifw17ipwbw0";
+    sha256 = "1i2pjwaafrlz7wqm40b4znr77ai32rjsxkpl2az38yyarpbv8m8y";
   };
 
   postPatch = if stdenv.isDarwin then ''
@@ -42,7 +47,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig texinfo perl setupDebugInfoDirs ];
 
-  buildInputs = [ ncurses readline gmp mpfr expat zlib guile ]
+  buildInputs = [ ncurses readline gmp mpfr expat libipt zlib guile ]
     ++ stdenv.lib.optional pythonSupport python3
     ++ stdenv.lib.optional doCheck dejagnu;
 
@@ -70,6 +75,7 @@ stdenv.mkDerivation rec {
     "--with-gmp=${gmp.dev}"
     "--with-mpfr=${mpfr.dev}"
     "--with-expat" "--with-libexpat-prefix=${expat.dev}"
+    "--with-auto-load-safe-path=${builtins.concatStringsSep ":" safePaths}"
   ] ++ stdenv.lib.optional (!pythonSupport) "--without-python";
 
   postInstall =
diff --git a/nixpkgs/pkgs/development/tools/misc/global/default.nix b/nixpkgs/pkgs/development/tools/misc/global/default.nix
index 2d756a655a43..edcca88c71d4 100644
--- a/nixpkgs/pkgs/development/tools/misc/global/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/global/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "global";
-  version = "6.6.3";
+  version = "6.6.4";
 
   src = fetchurl {
     url = "mirror://gnu/global/${pname}-${version}.tar.gz";
-    sha256 = "0735pj47dnspf20n0j1px24p59nwjinlmlb2n32ln1hvdkprivnb";
+    sha256 = "1515642wsjz7x3rsgaqk4sc7n0z2znl7idsk8jz8wgy5aswqqzlq";
   };
 
   nativeBuildInputs = [ libtool makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/misc/gputils/default.nix b/nixpkgs/pkgs/development/tools/misc/gputils/default.nix
index 37a7a8c931c3..2ad496bfb887 100644
--- a/nixpkgs/pkgs/development/tools/misc/gputils/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/gputils/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = https://gputils.sourceforge.io/;
+    homepage = "https://gputils.sourceforge.io";
+    description = "A collection of tools for the Microchip (TM) PIC microcontrollers. It includes gpasm, gplink, and gplib";
     license = licenses.gpl2;
     maintainers = with maintainers; [ yorickvp ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/development/tools/misc/gtkdialog/default.nix b/nixpkgs/pkgs/development/tools/misc/gtkdialog/default.nix
index 02b4d1557678..efb61c4730fd 100644
--- a/nixpkgs/pkgs/development/tools/misc/gtkdialog/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/gtkdialog/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, gtk2, pkgconfig, hicolor-icon-theme }:
+{stdenv, fetchurl, gtk2, pkgconfig }:
 
 stdenv.mkDerivation {
   name = "gtkdialog-0.8.3";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 hicolor-icon-theme ];
+  buildInputs = [ gtk2 ];
 
   meta = {
     homepage = https://code.google.com/archive/p/gtkdialog/;
diff --git a/nixpkgs/pkgs/development/tools/misc/hydra-cli/default.nix b/nixpkgs/pkgs/development/tools/misc/hydra-cli/default.nix
index 24ca98118bdc..79ef81d09e1c 100644
--- a/nixpkgs/pkgs/development/tools/misc/hydra-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/hydra-cli/default.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "1jdlmc45hwblcxs6hvy3gi2dr7qyzs1sg5zr26jrpxrbvqqzrdhc";
   };
 
-  cargoSha256 = "0dqj2pdqfbgg8r3h2s07p3m9zgl9xl4vislbqs6a0f1ahrczlda5";
+  cargoSha256 = "11y82np52f7lgfzhzs24kkawcfzzc6070x4rj5d6iv5csf6c03ny";
 
   buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
 
diff --git a/nixpkgs/pkgs/development/tools/misc/hydra/default.nix b/nixpkgs/pkgs/development/tools/misc/hydra/default.nix
index 4a65d0888347..3e5c12e183aa 100644
--- a/nixpkgs/pkgs/development/tools/misc/hydra/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/hydra/default.nix
@@ -15,7 +15,7 @@ else
 let
   perlDeps = buildEnv {
     name = "hydra-perl-deps";
-    paths = with perlPackages;
+    paths = with perlPackages; lib.closePropagation
       [ ModulePluggable
         CatalystActionREST
         CatalystAuthenticationStoreDBIxClass
@@ -27,7 +27,7 @@ let
         CatalystPluginSessionStateCookie
         CatalystPluginSessionStoreFastMmap
         CatalystPluginStackTrace
-        CatalystRuntime
+        CatalystPluginUnicodeEncoding
         CatalystTraitForRequestProxyBase
         CatalystViewDownload
         CatalystViewJSON
@@ -51,6 +51,7 @@ let
         LWP
         LWPProtocolHttps
         NetAmazonS3
+        NetPrometheus
         NetStatsd
         PadWalker
         Readonly
@@ -58,6 +59,8 @@ let
         SetScalar
         Starman
         SysHostnameLong
+        TermSizeAny
+        TestMore
         TextDiff
         TextTable
         XMLSimple
@@ -69,15 +72,15 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "hydra";
-  version = "2019-08-30";
+  version = "2019-11-13";
 
   inherit stdenv;
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = pname;
-    rev = "242b8b7a314759ed33f69205d26a1b7c337511e0";
-    sha256 = "167ijcf9qdm10kjvqax3hcvs5mpa4mx2y2i9idwwc6xfvn8fhs84";
+    rev = "20dd0bbe6a90d9066e635ee82e98efec23b17e51";
+    sha256 = "06chiaa7p54zxngmy2q3ps7bbiqpdv9h2rfmprh83qz36xps9rs2";
   };
 
   buildInputs =
@@ -99,7 +102,7 @@ in stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-docbook-xsl=${docbook_xsl}/xml/xsl/docbook" ];
 
-  NIX_CFLAGS_COMPILE = [ "-pthread" ];
+  NIX_CFLAGS_COMPILE = "-pthread";
 
   shellHook = ''
     PATH=$(pwd)/src/script:$(pwd)/src/hydra-eval-jobs:$(pwd)/src/hydra-queue-runner:$(pwd)/src/hydra-evaluator:$PATH
diff --git a/nixpkgs/pkgs/development/tools/misc/intel-gpu-tools/default.nix b/nixpkgs/pkgs/development/tools/misc/intel-gpu-tools/default.nix
index 12197c2de40c..a56ab127235a 100644
--- a/nixpkgs/pkgs/development/tools/misc/intel-gpu-tools/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/intel-gpu-tools/default.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
     libXext libXv libXrandr glib bison libunwind python3 procps
     gtk-doc openssl peg ];
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=array-bounds" ];
+
   preConfigure = ''
     ./autogen.sh
   '';
diff --git a/nixpkgs/pkgs/development/tools/misc/itstool/default.nix b/nixpkgs/pkgs/development/tools/misc/itstool/default.nix
index 9368a3c1acf8..a5c3623b699c 100644
--- a/nixpkgs/pkgs/development/tools/misc/itstool/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/itstool/default.nix
@@ -1,24 +1,14 @@
-{ stdenv, fetchurl, python2, libxml2Python }:
-# We need the same Python as is used to build libxml2Python
+{ stdenv, fetchurl, python3 }:
 
 stdenv.mkDerivation rec {
-  # 2.0.3+ breaks the build of gnome3.gnome-desktop
-  # https://github.com/itstool/itstool/issues/17
-  name = "itstool-2.0.2";
+  name = "itstool-2.0.6";
 
   src = fetchurl {
     url = "http://files.itstool.org/itstool/${name}.tar.bz2";
-    sha256 = "bf909fb59b11a646681a8534d5700fec99be83bb2c57badf8c1844512227033a";
+    sha256 = "1acjgf8zlyk7qckdk19iqaca4jcmywd7vxjbcs1mm6kaf8icqcv2";
   };
 
-  buildInputs = [ python2 libxml2Python ];
-
-  patchPhase =
-    ''
-      sed -e '/import libxml2/i import sys\
-      sys.path.append("${libxml2Python}/lib/${python2.libPrefix}/site-packages")' \
-      -i itstool.in
-    '';
+  buildInputs = [ (python3.withPackages(ps: with ps; [ libxml2 ])) ];
 
   meta = {
     homepage = http://itstool.org/;
diff --git a/nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix b/nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix
index 83651e6d17ee..a0f2f8f546aa 100644
--- a/nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix
+++ b/nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix
@@ -18,12 +18,12 @@ let
   shas =
     if enableUnfree
     then {
-      x86_64-linux  = "0sc5709k3z7lb8qcjpj49s6vfv69ds2wc8319ag9x776nyz1pqxi";
-      x86_64-darwin = "0zh4q46vfdwaihs838ck8fap92i3b4x10wbpmx8mcwyfk5v0fkch";
+      x86_64-linux  = "1wq4fc2fifkg1qz7nxdfb4yi2biay8cgdz7kl5k0p37sxn0sbkja";
+      x86_64-darwin = "06346kj7bv49py49pmmnmh8m24322m88v1af19909pj9cxgd0p6v";
     }
     else {
-      x86_64-linux  = "1pq17fasryharvw4byybvmcf5172hcmy6cp0m8bxhkxagwilprba";
-      x86_64-darwin = "11crpx2qs2nzkzv6fvs1gqn9v4zalxkzsc5br0fy1y02lzm26zbm";
+      x86_64-linux  = "0ygpmcm6wdcnvw8azwqc5257lyic7yw31rqvm2pw3afhpha62lpj";
+      x86_64-darwin = "0xy81g0bhxp47p29kkkh5llfzqkzqzr5dk50ap2hy0hjw33ld6g1";
     };
 
 in stdenv.mkDerivation rec {
diff --git a/nixpkgs/pkgs/development/tools/misc/lsof/default.nix b/nixpkgs/pkgs/development/tools/misc/lsof/default.nix
index 1298346ef31c..274577c4a4c5 100644
--- a/nixpkgs/pkgs/development/tools/misc/lsof/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/lsof/default.nix
@@ -34,6 +34,10 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
+    # Fix references from man page https://github.com/lsof-org/lsof/issues/66
+    substituteInPlace Lsof.8 \
+      --replace ".so ./00DIALECTS" "" \
+      --replace ".so ./version" ".ds VN ${version}"
     mkdir -p $out/bin $out/man/man8
     cp Lsof.8 $out/man/man8/lsof.8
     cp lsof $out/bin
diff --git a/nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix b/nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix
index 17837a548772..815d5aac4069 100644
--- a/nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lttng-tools";
-  version = "2.10.7";
+  version = "2.11.0";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-tools/${pname}-${version}.tar.bz2";
-    sha256 = "04hkga0hnyjmv42mxj3njaykqmq9x4abd5qfyds5r62x1khfnwgd";
+    sha256 = "1g0g7ypxvc7wd5x4d4ixmfgl9yk0lxax3ymm95hcjwxn5p497r6w";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/tools/misc/lttng-ust/default.nix b/nixpkgs/pkgs/development/tools/misc/lttng-ust/default.nix
index ad5276e5e1a9..4b0be0f0fa45 100644
--- a/nixpkgs/pkgs/development/tools/misc/lttng-ust/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/lttng-ust/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lttng-ust";
-  version = "2.10.4";
+  version = "2.10.5";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-ust/${pname}-${version}.tar.bz2";
-    sha256 = "0rx9q5r9qcdx3i9i0rx28p33yl52sd6f35qj7qs4li2w42xv9mbm";
+    sha256 = "0ddwk0nl28bkv2xb78gz16a2bvlpfbjmzwfbgwf5p1cq46dyvy86";
   };
 
   buildInputs = [ python ];
diff --git a/nixpkgs/pkgs/development/tools/misc/micronucleus/default.nix b/nixpkgs/pkgs/development/tools/misc/micronucleus/default.nix
new file mode 100644
index 000000000000..9fbafebb10c5
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/micronucleus/default.nix
@@ -0,0 +1,38 @@
+{
+  pkgs
+, stdenv
+, libusb
+, fetchFromGitHub
+, lib
+}:
+stdenv.mkDerivation rec {
+   pname = "micronucleus";
+   version = "2.04";
+
+   sourceRoot = "source/commandline";
+
+   src = fetchFromGitHub {
+     owner = "micronucleus";
+     repo = "micronucleus";
+     rev = version;
+     sha256 = "14msy9amlbflw5mqrbs57b7bby3nsgx43srr7215zyhfdgsla0in";
+   };
+
+   buildInputs = [ libusb ];
+   makeFlags = stdenv.lib.optionals stdenv.isDarwin [ "CC=cc" ];
+
+   installPhase = ''
+     mkdir -p $out/bin
+     mkdir -p $out/lib/udev
+     cp micronucleus $out/bin
+     cp 49-micronucleus.rules $out/lib/udev
+   '';
+
+   meta = with lib; {
+     description = "Upload tool for micronucleus";
+     homepage = "https://github.com/micronucleus/micronucleus";
+     license = licenses.gpl3;
+     maintainers = [ maintainers.cab404 ];
+   };
+
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/mkcert/default.nix b/nixpkgs/pkgs/development/tools/misc/mkcert/default.nix
index b9b1f83322d1..ae0a4a6dfe21 100644
--- a/nixpkgs/pkgs/development/tools/misc/mkcert/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/mkcert/default.nix
@@ -1,17 +1,23 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "mkcert";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "FiloSottile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0xcmvzh5lq8vs3b0f1zw645fxdr8471v7prl1656q02v38f58ly7";
+    sha256 = "0w1ji96hbd3anzsz82xjcafsqhgyz7c7n41rsq60yrllwbj5946f";
   };
 
+  modSha256 = "13a3snhcqq3a9lfy9zfr2rx10mf2ymvhmds1bg8n4m7lbwnzm4fg";
+
   goPackagePath = "github.com/FiloSottile/mkcert";
+  buildFlagsArray = ''
+    -ldflags=
+      -X ${goPackagePath}/main.Version=${version}
+  '';
 
   meta = with lib; {
     homepage = https://github.com/FiloSottile/mkcert;
diff --git a/nixpkgs/pkgs/development/tools/misc/openocd/default.nix b/nixpkgs/pkgs/development/tools/misc/openocd/default.nix
index 80203dd0df9c..7e1412709041 100644
--- a/nixpkgs/pkgs/development/tools/misc/openocd/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/openocd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, libftdi1, libusb1, pkgconfig, hidapi }:
+{ stdenv, lib, fetchurl, fetchpatch, libftdi1, libusb1, pkgconfig, hidapi }:
 
 stdenv.mkDerivation rec {
   pname = "openocd";
@@ -9,6 +9,15 @@ stdenv.mkDerivation rec {
     sha256 = "1bhn2c85rdz4gf23358kg050xlzh7yxbbwmqp24c0akmh3bff4kk";
   };
 
+  patches = [
+    # Fix FTDI channel configuration for SheevaPlug
+    # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=837989
+    (fetchpatch {
+      url = "https://salsa.debian.org/electronics-team/openocd/raw/9a94335daa332a37a51920f87afbad4d36fad2d5/debian/patches/fix-sheeva.patch";
+      sha256 = "01x021fagwvgxdpzk7psap7ryqiya4m4mi4nqr27asbmb3q46g5r";
+    })
+  ];
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libftdi1 libusb1 hidapi ];
 
@@ -25,12 +34,13 @@ stdenv.mkDerivation rec {
     "--enable-remote-bitbang"
   ];
 
-  NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [
+  NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isGNU [
     "-Wno-implicit-fallthrough"
     "-Wno-format-truncation"
     "-Wno-format-overflow"
     "-Wno-error=tautological-compare"
-  ];
+    "-Wno-error=array-bounds"
+  ]);
 
   postInstall = lib.optionalString stdenv.isLinux ''
     mkdir -p "$out/etc/udev/rules.d"
diff --git a/nixpkgs/pkgs/development/tools/misc/pahole/default.nix b/nixpkgs/pkgs/development/tools/misc/pahole/default.nix
index 5b17f111b45a..015fc534f6b3 100644
--- a/nixpkgs/pkgs/development/tools/misc/pahole/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/pahole/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pahole";
-  version = "1.15";
+  version = "1.16";
   src = fetchgit {
     url = https://git.kernel.org/pub/scm/devel/pahole/pahole.git;
     rev = "v${version}";
-    sha256 = "10af9mh3qxbx0hgjcmh0vjbg22bgxzhbpd9395ymasyw4npg6l9x";
+    sha256 = "1gfc9v4dgs811v1zjk0d9hsgmizllw2hibc83ykmakzysimaxsy3";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/tools/misc/patchelf/setup-hook.sh b/nixpkgs/pkgs/development/tools/misc/patchelf/setup-hook.sh
index bc1cddd4879c..576b9ca2103e 100644
--- a/nixpkgs/pkgs/development/tools/misc/patchelf/setup-hook.sh
+++ b/nixpkgs/pkgs/development/tools/misc/patchelf/setup-hook.sh
@@ -2,7 +2,7 @@
 # directories from the RPATH of every library or executable in every
 # output.
 
-fixupOutputHooks+=('if [ -z "$dontPatchELF" ]; then patchELF "$prefix"; fi')
+fixupOutputHooks+=('if [ -z "${dontPatchELF-}" ]; then patchELF "$prefix"; fi')
 
 patchELF() {
     local dir="$1"
diff --git a/nixpkgs/pkgs/development/tools/misc/patchelf/unstable.nix b/nixpkgs/pkgs/development/tools/misc/patchelf/unstable.nix
index c673bd261098..f5ff1c74bcc9 100644
--- a/nixpkgs/pkgs/development/tools/misc/patchelf/unstable.nix
+++ b/nixpkgs/pkgs/development/tools/misc/patchelf/unstable.nix
@@ -1,24 +1,18 @@
-{ stdenv, fetchFromGitHub, autoreconfHook }:
+{ stdenv, fetchurl, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  pname = "patchelf";
-  version = "0.10-pre-20190328";
+  name = "patchelf-${version}";
+  version = "0.10";
 
-  src = fetchFromGitHub {
-    owner = "NixOS";
-    repo = "patchelf";
-    rev = "e1e39f3639e39360ceebb2f7ed533cede4623070";
-    sha256 = "09q1b1yqfzg1ih51v7qjh55vxfdbd8x5anycl8sfz6qy107wr02k";
+  src = fetchurl {
+    url = "https://nixos.org/releases/patchelf/${name}/${name}.tar.bz2";
+    sha256 = "1wzwvnlyf853hw9zgqq5522bvf8gqadk8icgqa41a5n7593csw7n";
   };
 
   # Drop test that fails on musl (?)
   postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
     substituteInPlace tests/Makefile.am \
       --replace "set-rpath-library.sh" ""
-  '' +
-  # extend version identifier to more informative than "0.10".
-  ''
-    echo -n ${version} > version
   '';
 
   setupHook = [ ./setup-hook.sh ];
@@ -28,11 +22,11 @@ stdenv.mkDerivation rec {
 
   doCheck = !stdenv.isDarwin;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://nixos.org/patchelf.html;
-    license = "GPL";
+    license = licenses.gpl3;
     description = "A small utility to modify the dynamic linker and RPATH of ELF executables";
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.all;
+    maintainers = [ maintainers.eelco ];
+    platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/premake/setup-hook.sh b/nixpkgs/pkgs/development/tools/misc/premake/setup-hook.sh
index ba06ea2c7617..6e65e9e8c73f 100644
--- a/nixpkgs/pkgs/development/tools/misc/premake/setup-hook.sh
+++ b/nixpkgs/pkgs/development/tools/misc/premake/setup-hook.sh
@@ -14,6 +14,6 @@ premakeConfigurePhase() {
     runHook postConfigure
 }
 
-if [ -z "$configurePhase" ]; then
+if [ -z "${configurePhase-}" ]; then
     configurePhase=premakeConfigurePhase
 fi
diff --git a/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix b/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix
index 7182144fd200..449d9ee09848 100644
--- a/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix
@@ -1,33 +1,12 @@
 { stdenv
+, python3
 , fetchFromGitHub
 , makeWrapper
 , gdb
-, future
-, isort
-, psutil
-, pycparser
-, pyelftools
-, python-ptrace
-, ROPGadget
-, six
-, unicorn
-, pygments
-, }:
+}:
 
-stdenv.mkDerivation rec {
-  pname = "pwndbg";
-  version = "2019.01.25";
-
-  src = fetchFromGitHub {
-    owner = "pwndbg";
-    repo = "pwndbg";
-    rev = version;
-    sha256 = "0k7n6pcrj62ccag801yzf04a9mj9znghpkbnqwrzz0qn3rs42vgs";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  propagatedBuildInputs = [
+let
+  pythonPath = with python3.pkgs; makePythonPath [
     future
     isort
     psutil
@@ -40,21 +19,32 @@ stdenv.mkDerivation rec {
     pygments
   ];
 
+in stdenv.mkDerivation rec {
+  pname = "pwndbg";
+  version = "2019.01.25";
+  format = "other";
+
+  src = fetchFromGitHub {
+    owner = "pwndbg";
+    repo = "pwndbg";
+    rev = version;
+    sha256 = "0k7n6pcrj62ccag801yzf04a9mj9znghpkbnqwrzz0qn3rs42vgs";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
   installPhase = ''
     mkdir -p $out/share/pwndbg
     cp -r *.py pwndbg $out/share/pwndbg
+    chmod +x $out/share/pwndbg/gdbinit.py
     makeWrapper ${gdb}/bin/gdb $out/bin/pwndbg \
-      --add-flags "-q -x $out/share/pwndbg/gdbinit.py"
-  '';
-
-  preFixup = ''
-    sed -i "/import sys/a import sys; sys.path[0:0] = '$PYTHONPATH'.split(':')" \
-      $out/share/pwndbg/gdbinit.py
+      --add-flags "-q -x $out/share/pwndbg/gdbinit.py" \
+      --set NIX_PYTHONPATH ${pythonPath}
   '';
 
   meta = with stdenv.lib; {
     description = "Exploit Development and Reverse Engineering with GDB Made Easy";
-    homepage = http://pwndbg.com;
+    homepage = "https://github.com/pwndbg/pwndbg";
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ mic92 ];
diff --git a/nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix b/nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix
index 65a7c9eef397..2b20b3bd5470 100644
--- a/nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "reviewdog";
-  version = "0.9.12";
+  version = "0.9.14";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0r7y8nbpwfbvinpapv6lgnlc93kwn4b6722cp5ihyf361fklcd02";
+    sha256 = "1npawdvryrxrdfkv4j1jk63l3mwsdgsj85k9yqyhrrphk2w4s1cr";
   };
 
-  modSha256 = "1ydfirjhw238zbia5mk90fx9rrg3kvm2h54zjhiimlvnpls5y8c9";
+  modSha256 = "0a6bmwysgvwpddh2mp228s2brb0kqfcxqjffs2pabf7ym5flmz0g";
 
   subPackages = [ "cmd/reviewdog" ];
 
-  buildFlagsArray = [ "-ldflags=-X github.com/reviewdog/reviewdog/commands.Version=${version}" ];
+  buildFlagsArray = [ "-ldflags=-s -w -X github.com/reviewdog/reviewdog/commands.Version=${version}" ];
 
   meta = with lib; {
     description = "Automated code review tool integrated with any code analysis tools regardless of programming language";
diff --git a/nixpkgs/pkgs/development/tools/misc/scc/default.nix b/nixpkgs/pkgs/development/tools/misc/scc/default.nix
new file mode 100644
index 000000000000..47a914823273
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/scc/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "scc";
+  version = "2.10.1";
+
+  src = fetchFromGitHub {
+    owner = "boyter";
+    repo = "scc";
+    rev = "v${version}";
+    sha256 = "1g55aahr8j93jc1k2zgpnyxgp7ddn5137vjf8dafsmqp4m2qjq6g";
+  };
+
+  goPackagePath = "github.com/boyter/scc";
+
+  # scc has a scripts/ sub-package that's for testing.
+  subPackages = [ "./" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/boyter/scc";
+    description = "A very fast accurate code counter with complexity calculations and COCOMO estimates written in pure Go";
+    maintainers = with maintainers; [ sigma filalex77 ];
+    license = with licenses; [ unlicense /* or */ mit ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/sccache/default.nix b/nixpkgs/pkgs/development/tools/misc/sccache/default.nix
index 998abe112a6f..16a3f9557d28 100644
--- a/nixpkgs/pkgs/development/tools/misc/sccache/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/sccache/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cargo, rustc, rustPlatform, pkgconfig, glib, openssl, darwin }:
 
 rustPlatform.buildRustPackage rec {
-  version = "0.2.11";
+  version = "0.2.12";
   pname = "sccache";
 
   src = fetchFromGitHub {
     owner = "mozilla";
     repo = "sccache";
     rev = version;
-    sha256 = "0084ddvzjgdpkwqc38kvzaz8n6av9ml3qqlkjma70hsis8w8gqjz";
+    sha256 = "1yd3rfp032crwlmfn2p3z12f67q7bxm78fhvdlc7azm2a4hkif4k";
   };
   cargoSha256 = "1bkglgrasyjyzjj9mwm32d3g3mg5yv74jj3zl7jf20dlq3rg3fh6";
 
diff --git a/nixpkgs/pkgs/development/tools/misc/sipp/default.nix b/nixpkgs/pkgs/development/tools/misc/sipp/default.nix
index 004975f10d8a..eec1f32b4df8 100644
--- a/nixpkgs/pkgs/development/tools/misc/sipp/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/sipp/default.nix
@@ -1,21 +1,17 @@
-{stdenv, fetchFromGitHub, autoreconfHook, ncurses, libpcap }:
+{stdenv, fetchurl, ncurses, libpcap }:
 
 stdenv.mkDerivation rec {
-  version = "3.5.1";
+  version = "3.6.0";
 
   pname = "sipp";
 
-  src = fetchFromGitHub {
-    owner = "SIPp";
-    repo = "sipp";
-    rev = "v${version}";
-    sha256 = "179a1fvqyk3jpxbi28l1xfw22cw9vgvxrn19w5f38w74x0jwqg5k";
+  src = fetchurl {
+    url = "https://github.com/SIPp/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
+    sha256 = "1fx1iy2n0m2kr91n1ii30frbscq375k3lqihdgvrqxn0zq8pnzp4";
   };
 
-  patchPhase = ''
+  postPatch = ''
     sed -i "s@pcap/\(.*\).pcap@$out/share/pcap/\1.pcap@g" src/scenario.cpp
-    sed -i -e "s|AC_CHECK_LIB(curses|AC_CHECK_LIB(ncurses|" configure.ac
-    echo "#define SIPP_VERSION \"v${version}\"" > include/version.h
   '';
 
   configureFlags = [
@@ -29,8 +25,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ncurses libpcap];
 
-  nativeBuildInputs = [ autoreconfHook ];
-
   meta = with stdenv.lib; {
     homepage = http://sipp.sf.net;
     description = "The SIPp testing tool";
diff --git a/nixpkgs/pkgs/development/tools/misc/sloccount/default.nix b/nixpkgs/pkgs/development/tools/misc/sloccount/default.nix
index 965f0ed096cd..4d63e2c6a15a 100644
--- a/nixpkgs/pkgs/development/tools/misc/sloccount/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/sloccount/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  makeFlags = "PREFIX=$(out) CC=cc";
+  makeFlags = [ "PREFIX=$(out)" "CC=cc" ];
 
   doCheck = true;
   checkPhase = ''HOME="$TMPDIR" PATH="$PWD:$PATH" make test'';
diff --git a/nixpkgs/pkgs/development/tools/misc/sqitch/default.nix b/nixpkgs/pkgs/development/tools/misc/sqitch/default.nix
index a077367622eb..66d40ae31279 100644
--- a/nixpkgs/pkgs/development/tools/misc/sqitch/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/sqitch/default.nix
@@ -1,4 +1,4 @@
-{ name, stdenv, perl, makeWrapper, sqitchModule, databaseModule }:
+{ name, stdenv, perl, makeWrapper, sqitchModule, databaseModule, shortenPerlShebang }:
 
 stdenv.mkDerivation {
   name = "${name}-${sqitchModule.version}";
@@ -8,6 +8,8 @@ stdenv.mkDerivation {
   src = sqitchModule;
   dontBuild = true;
 
+  nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
+
   installPhase = ''
     mkdir -p $out/bin
     for d in bin/sqitch etc lib share ; do
@@ -17,6 +19,8 @@ stdenv.mkDerivation {
         ln -s ${sqitchModule}/$d $out/$d
       fi
     done
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    shortenPerlShebang $out/bin/sqitch
   '';
   dontStrip = true;
   postFixup = "wrapProgram $out/bin/sqitch --prefix PERL5LIB : $PERL5LIB";
diff --git a/nixpkgs/pkgs/development/tools/misc/srecord/default.nix b/nixpkgs/pkgs/development/tools/misc/srecord/default.nix
index a76a180741ef..fd8105552967 100644
--- a/nixpkgs/pkgs/development/tools/misc/srecord/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/srecord/default.nix
@@ -10,9 +10,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ boost libtool groff ghostscript libgcrypt ];
 
-  configureFlags = [
-    (stdenv.lib.optional (libgcrypt == null) "--without-gcrypt")
-  ];
+  configureFlags = stdenv.lib.optional (libgcrypt == null) "--without-gcrypt";
 
   meta = with stdenv.lib; {
     description = "Collection of powerful tools for manipulating EPROM load files";
diff --git a/nixpkgs/pkgs/development/tools/misc/stm32cubemx/default.nix b/nixpkgs/pkgs/development/tools/misc/stm32cubemx/default.nix
new file mode 100644
index 000000000000..53336ab417cd
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/stm32cubemx/default.nix
@@ -0,0 +1,78 @@
+{ stdenv, requireFile, makeDesktopItem, libicns, imagemagick, zstd, jre }:
+
+let
+  version = "5.3.0";
+  desktopItem = makeDesktopItem {
+    name = "stm32CubeMX";
+    exec = "stm32cubemx";
+    desktopName = "STM32CubeMX";
+    categories = "Application;Development;";
+    icon = "stm32cubemx";
+  };
+in
+stdenv.mkDerivation rec {
+  pname = "stm32cubemx";
+  inherit version;
+
+  src = requireFile rec {
+    name = "STM32CubeMX.tar.zst";
+    message = ''
+      Unfortunately, we cannot download file ${name} automatically.
+      Please proceed with the following steps to download and add it to the Nix
+      store yourself:
+
+      1. get en.STM32CubeMX_${builtins.replaceStrings ["."] ["-"] version}.zip
+      2. unzip en.STM32CubeMX_${builtins.replaceStrings ["."] ["-"] version}.zip
+      3. run the setup: java -jar SetupSTM32CubeMX-${version}.exe
+      4. create a tar from created folder: tar --zstd -cf ${name} STM32CubeMX
+      5. add the result to the store: nix-prefetch-url file://\$PWD/${name}
+
+      Notice: The setup will quit with an error about /bin/chmod
+    '';
+    sha256 = "1r5k5wmsvw1w2nfs3nb4gc6pb3j0x6bqljn9jzc4r8y5bxc34rr8";
+  };
+
+  nativeBuildInputs = [ libicns imagemagick zstd ];
+
+  buildCommand = ''
+    mkdir -p $out/{bin,opt,share/applications}
+
+    tar --extract --zstd --file $src --directory $out/opt/
+    chmod +rx $out/opt/STM32CubeMX/STM32CubeMX.exe
+
+    cat << EOF > $out/bin/${pname}
+    #!${stdenv.shell}
+    ${jre}/bin/java -jar $out/opt/STM32CubeMX/STM32CubeMX.exe
+    EOF
+    chmod +x $out/bin/${pname}
+
+    icns2png --extract $out/opt/STM32CubeMX/${pname}.icns
+    ls
+    for size in 16 24 32 48 64 128 256; do
+      mkdir -pv $out/share/icons/hicolor/"$size"x"$size"/apps
+      if [ -e ${pname}_"$size"x"$size"x32.png ]; then
+        mv ${pname}_"$size"x"$size"x32.png \
+          $out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png
+      else
+        convert -resize "$size"x"$size" ${pname}_256x256x32.png \
+          $out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png
+      fi
+    done;
+
+    ln -s ${desktopItem}/share/applications/* $out/share/applications
+  '';
+
+  meta = with stdenv.lib; {
+    description = ''
+      A graphical tool that allows a very easy configuration of STM32
+      microcontrollers and microprocessors, as well as the generation of the
+      corresponding initialization C code for the Arm® Cortex®-M core or a
+      partial Linux® Device Tree for Arm® Cortex®-A core), through a
+      step-by-step process.        
+    '';
+    homepage = "https://www.st.com/en/development-tools/stm32cubemx.html";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ wucke13 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/strace/default.nix b/nixpkgs/pkgs/development/tools/misc/strace/default.nix
index c809437f6fb9..2ecabb68670c 100644
--- a/nixpkgs/pkgs/development/tools/misc/strace/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/strace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "strace";
-  version = "5.2";
+  version = "5.4";
 
   src = fetchurl {
     url = "https://strace.io/files/${version}/${pname}-${version}.tar.xz";
-    sha256 = "1li49i75wrdw91hchyyd8spnzfcmxcfyfb5g9zbaza89aq4bq4ym";
+    sha256 = "0hd7sb7l99y9rcj8jjc1b6m3ryds17krsymdg3dvd40jsla0bl7p";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = https://strace.io/;
+    homepage = "https://strace.io/";
     description = "A system call tracer for Linux";
     license =  with licenses; [ lgpl21Plus gpl2Plus ]; # gpl2Plus is for the test suite
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/development/tools/misc/swig/4.nix b/nixpkgs/pkgs/development/tools/misc/swig/4.nix
index 68febba38134..079c5e7ef3cd 100644
--- a/nixpkgs/pkgs/development/tools/misc/swig/4.nix
+++ b/nixpkgs/pkgs/development/tools/misc/swig/4.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "swig";
-  version = "4.0.0";
+  version = "4.0.1";
 
   src = fetchFromGitHub {
     owner = "swig";
     repo = "swig";
     rev = "rel-${version}";
-    sha256 = "0yx33972jd3214xr3mrap0j5clma9bvs42qz8x38dfz62xlsi78v";
+    sha256 = "1i1gl5gd6b5i1hiazq7m4nvlq86zd0fhk052xhwlnb596pjhgyhf";
   };
 
   PCRE_CONFIG = "${pcre.dev}/bin/pcre-config";
diff --git a/nixpkgs/pkgs/development/tools/misc/sysbench/default.nix b/nixpkgs/pkgs/development/tools/misc/sysbench/default.nix
index e2d507ab8013..dbb8057292b3 100644
--- a/nixpkgs/pkgs/development/tools/misc/sysbench/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/sysbench/default.nix
@@ -1,21 +1,26 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, vim, mysql
-, libaio }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
+, libmysqlclient, libaio
+}:
 
-stdenv.mkDerivation {
-  name = "sysbench-1.0.17";
+stdenv.mkDerivation rec {
+  pname = "sysbench";
+  version = "1.0.19";
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ vim mysql.connector-c libaio ];
+  buildInputs = [ libmysqlclient libaio ];
 
   src = fetchFromGitHub {
     owner = "akopytov";
-    repo = "sysbench";
-    rev = "1.0.17";
-    sha256 = "02i9knvp0bjw6ri848xxiy2dbww2xv70nah9yn67a6zgw617hwa6";
+    repo = pname;
+    rev = version;
+    sha256 = "1zgqb9cr7ld3vw4a3jhq1mlszhcyjlpr0c8q1jcp1d27l9dcvd1w";
   };
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "Modular, cross-platform and multi-threaded benchmark tool";
+    homepage = https://github.com/akopytov/sysbench;
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/nixpkgs/pkgs/development/tools/misc/terracognita/default.nix b/nixpkgs/pkgs/development/tools/misc/terracognita/default.nix
index 832a2285569d..26aa50f7f7a1 100644
--- a/nixpkgs/pkgs/development/tools/misc/terracognita/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/terracognita/default.nix
@@ -2,16 +2,20 @@
 
 buildGoModule rec {
   pname = "terracognita";
-  version = "0.1.6";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "cycloidio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ljh9dyn919k5f0yaca5an2vczj8cd5cb6qb4i5bdgmlh3wijiag";
+    sha256 = "1d5yi2jxmk04wcz8rjwa5kz9525j8s90d4rj2d4cbgd3lbbk45qq";
   };
 
-  modSha256 = "1ssz6rhdqma79x75qsxpa9is5zw1nlc0rv1h23dfsk8vla3p84ml";
+  modSha256 = "0xlhp8pa5g6an10m56g237pixc4h6ay89hkp1ijdz45iyfn9fk91";
+
+  subPackages = [ "." ];
+
+  buildFlagsArray = [ "-ldflags=-s -w -X github.com/cycloidio/terracognita/cmd.Version=${version}" ];
 
   meta = with lib; {
     description = "Reads from existing Cloud Providers (reverse Terraform) and generates your infrastructure as code on Terraform configuration";
diff --git a/nixpkgs/pkgs/development/tools/misc/texinfo/common.nix b/nixpkgs/pkgs/development/tools/misc/texinfo/common.nix
index 7741f2d4ffbc..56ae48b71337 100644
--- a/nixpkgs/pkgs/development/tools/misc/texinfo/common.nix
+++ b/nixpkgs/pkgs/development/tools/misc/texinfo/common.nix
@@ -6,6 +6,10 @@
 , interactive ? false, ncurses, procps
 }:
 
+let
+  crossBuildTools = interactive && stdenv.hostPlatform != stdenv.buildPlatform;
+in
+
 with stdenv.lib;
 
 stdenv.mkDerivation {
@@ -17,7 +21,13 @@ stdenv.mkDerivation {
     inherit sha256;
   };
 
-  patches = optional (version == "6.5") ./perl.patch;
+  patches = optional (version == "6.5") ./perl.patch
+    ++ optional crossBuildTools ./cross-tools-flags.patch;
+
+  # ncurses is required to build `makedoc'
+  # this feature is introduced by the ./cross-tools-flags.patch
+  NATIVE_TOOLS_CFLAGS = if crossBuildTools then "-I${getDev buildPackages.ncurses}/include" else null;
+  NATIVE_TOOLS_LDFLAGS = if crossBuildTools then "-L${getLib buildPackages.ncurses}/lib" else null;
 
   # We need a native compiler to build perl XS extensions
   # when cross-compiling.
@@ -30,10 +40,8 @@ stdenv.mkDerivation {
   configureFlags = [ "PERL=${buildPackages.perl}/bin/perl" ]
     ++ stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk";
 
-  preInstall = ''
-    installFlags="TEXMF=$out/texmf-dist";
-    installTargets="install install-tex";
-  '';
+  installFlags = [ "TEXMF=$(out)/texmf-dist" ];
+  installTargets = [ "install" "install-tex" ];
 
   checkInputs = [ procps ];
 
diff --git a/nixpkgs/pkgs/development/tools/misc/texinfo/cross-tools-flags.patch b/nixpkgs/pkgs/development/tools/misc/texinfo/cross-tools-flags.patch
new file mode 100644
index 000000000000..f0e4230d7ec2
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/texinfo/cross-tools-flags.patch
@@ -0,0 +1,12 @@
+diff -ur texinfo-6.5/configure texinfo-6.5-patched/configure
+--- texinfo-6.5/configure	2017-09-13 03:50:18.000000000 +0900
++++ texinfo-6.5-patched/configure	2019-12-28 17:39:06.692818866 +0900
+@@ -23281,7 +23281,7 @@
+   # env -i gives this build host configure a clean environment;
+   # consequently, we have to re-initialize $PATH.
+   env -i CC="$BUILD_CC" AR="$BUILD_AR" RANLIB="$BUILD_RANLIB" \
+-      PATH="$PATH" \
++      PATH="$PATH" CFLAGS="$NATIVE_TOOLS_CFLAGS" LDFLAGS="$NATIVE_TOOLS_LDFLAGS" \
+       tools_only=1 \
+     ${confdir}/configure --build=${build} --host=${build} \
+                          --disable-rpath --disable-nls
diff --git a/nixpkgs/pkgs/development/tools/misc/texlab/default.nix b/nixpkgs/pkgs/development/tools/misc/texlab/default.nix
new file mode 100644
index 000000000000..1e8b3b2cbab2
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/texlab/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, rustPlatform
+, fetchFromGitHub
+, nodejs
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "texlab";
+  version = "1.9.0";
+
+  src = fetchFromGitHub {
+    owner = "latex-lsp";
+    repo = pname;
+    # 1.9.0 + patches for building citeproc-db, see https://github.com/latex-lsp/texlab/pull/137
+    rev = "e38fe4bedc9d8094649a9d2753ca9855e0c18882";
+    sha256 = "0j87gmzyqrpgxrgalvlfqj5cj8j0h23hbbv8vdz2dhc847xhhfq1";
+  };
+
+  cargoSha256 = "09d9r7aal1q00idv08zdw7dygyasyp5l6jrh96cdclf63h1p4fk9";
+
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
+
+  meta = with stdenv.lib; {
+    description = "An implementation of the Language Server Protocol for LaTeX";
+    homepage = https://texlab.netlify.com/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ doronbehar metadark ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/tokei/Cargo.lock.patch b/nixpkgs/pkgs/development/tools/misc/tokei/Cargo.lock.patch
deleted file mode 100644
index 46bd80a218da..000000000000
--- a/nixpkgs/pkgs/development/tools/misc/tokei/Cargo.lock.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-index db09bc4..1e4892d 100644
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -961,7 +961,7 @@ dependencies = [
- 
- [[package]]
- name = "tokei"
--version = "10.0.0"
-+version = "10.0.1"
- dependencies = [
-  "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
-  "dirs 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
diff --git a/nixpkgs/pkgs/development/tools/misc/tokei/default.nix b/nixpkgs/pkgs/development/tools/misc/tokei/default.nix
index 104aa4691ab1..96eb98bbbeff 100644
--- a/nixpkgs/pkgs/development/tools/misc/tokei/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/tokei/default.nix
@@ -2,19 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tokei";
-  version = "10.0.1";
+  version = "10.1.1";
 
   src = fetchFromGitHub {
     owner = "XAMPPRocky";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0g8p4f8g9zb1fqzzb1qi28idskahi5nldsma6rydjyrgi9gynpa0";
+    sha256 = "0wndjb4rvj8548wz0svwgnk94qlg5w2fv75fn2jgriq6fh6v43yg";
   };
 
-  cargoSha256 = "0pwq1scll5ga8rw4lx97s915zvp7v171b6316cin54f2zzpbrxx5";
-
-  # Patch for v10.0.1 Cargo.lock issue
-  patches = [ ./Cargo.lock.patch ];
+  cargoSha256 = "1lpa4xfh3bcm51amwxvkzpvmi4b2c4q5qwxxigcbzw76l7rqp2w9";
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [
     libiconv darwin.apple_sdk.frameworks.Security
diff --git a/nixpkgs/pkgs/development/tools/misc/travis/Gemfile b/nixpkgs/pkgs/development/tools/misc/travis/Gemfile
index 0a470854aaf5..3da9975913e8 100644
--- a/nixpkgs/pkgs/development/tools/misc/travis/Gemfile
+++ b/nixpkgs/pkgs/development/tools/misc/travis/Gemfile
@@ -1,3 +1,4 @@
 source "https://rubygems.org"
 
-gem "travis", "1.8.10"
+gem "travis"
+gem "pry", "~> 0.11.0"
diff --git a/nixpkgs/pkgs/development/tools/misc/travis/Gemfile.lock b/nixpkgs/pkgs/development/tools/misc/travis/Gemfile.lock
index c5ac09cb9e6a..a29f329ca8af 100644
--- a/nixpkgs/pkgs/development/tools/misc/travis/Gemfile.lock
+++ b/nixpkgs/pkgs/development/tools/misc/travis/Gemfile.lock
@@ -3,13 +3,14 @@ GEM
   specs:
     addressable (2.4.0)
     backports (3.15.0)
+    coderay (1.1.2)
     ethon (0.12.0)
       ffi (>= 1.3.0)
-    faraday (0.15.4)
+    faraday (0.17.0)
       multipart-post (>= 1.2, < 3)
     faraday_middleware (0.13.1)
       faraday (>= 0.7.4, < 1.0)
-    ffi (1.11.1)
+    ffi (1.11.2)
     gh (0.15.1)
       addressable (~> 2.4.0)
       backports
@@ -21,10 +22,14 @@ GEM
     json (2.2.0)
     launchy (2.4.3)
       addressable (~> 2.3)
-    multi_json (1.13.1)
+    method_source (0.9.2)
+    multi_json (1.14.1)
     multipart-post (2.1.1)
     net-http-persistent (2.9.4)
     net-http-pipeline (1.0.1)
+    pry (0.11.3)
+      coderay (~> 1.1.0)
+      method_source (~> 0.9.0)
     pusher-client (0.6.2)
       json
       websocket (~> 1.0)
@@ -45,7 +50,8 @@ PLATFORMS
   ruby
 
 DEPENDENCIES
-  travis (= 1.8.10)
+  pry (~> 0.11.0)
+  travis
 
 BUNDLED WITH
    1.17.2
diff --git a/nixpkgs/pkgs/development/tools/misc/travis/gemset.nix b/nixpkgs/pkgs/development/tools/misc/travis/gemset.nix
index 09d5d41454e5..a12a891b3e78 100644
--- a/nixpkgs/pkgs/development/tools/misc/travis/gemset.nix
+++ b/nixpkgs/pkgs/development/tools/misc/travis/gemset.nix
@@ -15,6 +15,16 @@
     };
     version = "3.15.0";
   };
+  coderay = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y";
+      type = "gem";
+    };
+    version = "1.1.2";
+  };
   ethon = {
     dependencies = ["ffi"];
     source = {
@@ -26,12 +36,14 @@
   };
   faraday = {
     dependencies = ["multipart-post"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s72m05jvzc1pd6cw1i289chas399q0a14xrwg4rvkdwy7bgzrh0";
+      sha256 = "0jk2bar4x6miq2cr73lv0lsbmw4cymiljvp29xb85jifsb3ba6az";
       type = "gem";
     };
-    version = "0.15.4";
+    version = "0.17.0";
   };
   faraday_middleware = {
     dependencies = ["faraday"];
@@ -43,12 +55,14 @@
     version = "0.13.1";
   };
   ffi = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
+      sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.11.2";
   };
   gh = {
     dependencies = ["addressable" "backports" "faraday" "multi_json" "net-http-persistent" "net-http-pipeline"];
@@ -84,13 +98,25 @@
     };
     version = "2.4.3";
   };
+  method_source = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq";
+      type = "gem";
+    };
+    version = "0.9.2";
+  };
   multi_json = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
+      sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr";
       type = "gem";
     };
-    version = "1.13.1";
+    version = "1.14.1";
   };
   multipart-post = {
     source = {
@@ -116,6 +142,17 @@
     };
     version = "1.0.1";
   };
+  pry = {
+    dependencies = ["coderay" "method_source"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1mh312k3y94sj0pi160wpia0ps8f4kmzvm505i6bvwynfdh7v30g";
+      type = "gem";
+    };
+    version = "0.11.3";
+  };
   pusher-client = {
     dependencies = ["json" "websocket"];
     source = {
@@ -151,4 +188,4 @@
     };
     version = "1.2.8";
   };
-}
+}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/tools/misc/trv/default.nix b/nixpkgs/pkgs/development/tools/misc/trv/default.nix
index 44744413138f..2e056306db4f 100644
--- a/nixpkgs/pkgs/development/tools/misc/trv/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/trv/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   createFindlibDestdir = true;
   dontStrip = true;
 
-  installFlags = "SEMVER=${version} PREFIX=$(out)";
+  installFlags = [ "SEMVER=${version}" "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/afiniate/trv;
diff --git a/nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix b/nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix
index d85cd1a82164..01ed66030188 100644
--- a/nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, cmake }:
+{ stdenv, fetchFromGitHub, cmake, python }:
 
 stdenv.mkDerivation rec {
   name = "${product}-${version}";
   product = "uncrustify";
-  version = "0.67";
+  version = "0.70.1";
 
   src = fetchFromGitHub {
     owner = product;
     repo = product;
     rev = name;
-    sha256 = "0hf8c93aj1hjg6cc77x6p7nf7ddp8mn4b6a9gpcrvmx8w81afpd3";
+    sha256 = "0zr3vxhd947zdvwccw3cj0vsriaawcpfjq3x94v9887hsi8fk87b";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake python ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/development/tools/misc/universal-ctags/default.nix b/nixpkgs/pkgs/development/tools/misc/universal-ctags/default.nix
index 47aa49178141..c104adc78cc3 100644
--- a/nixpkgs/pkgs/development/tools/misc/universal-ctags/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/universal-ctags/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, perl, pythonPackages, libiconv }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, perl, pythonPackages, libiconv, jansson }:
 
 stdenv.mkDerivation {
   pname = "universal-ctags";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig pythonPackages.docutils ];
-  buildInputs = stdenv.lib.optional stdenv.isDarwin libiconv;
+  buildInputs = [ jansson ] ++ stdenv.lib.optional stdenv.isDarwin libiconv;
 
   # to generate makefile.in
   autoreconfPhase = ''
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
 
   doCheck = true;
 
-  checkFlags = "units";
+  checkFlags = [ "units" ];
 
   meta = with stdenv.lib; {
     description = "A maintained ctags implementation";
diff --git a/nixpkgs/pkgs/development/tools/misc/usb-modeswitch/data.nix b/nixpkgs/pkgs/development/tools/misc/usb-modeswitch/data.nix
index fb43ff61a81c..d2b80011dea0 100644
--- a/nixpkgs/pkgs/development/tools/misc/usb-modeswitch/data.nix
+++ b/nixpkgs/pkgs/development/tools/misc/usb-modeswitch/data.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "usb-modeswitch-data";
-  version = "20170806";
+  version = "20191128";
 
   src = fetchurl {
     url    = "http://www.draisberghof.de/usb_modeswitch/${pname}-${version}.tar.bz2";
-    sha256 = "0b1wari3aza6qjggqd0hk2zsh93k1q8scgmwh6f8wr0flpr3whff";
+    sha256 = "1ygahl3r26r38ai8yyblq9nhf3v5i6n6r6672p5wf88wg5h9n0rz";
   };
 
   inherit (usb-modeswitch) makeFlags;
diff --git a/nixpkgs/pkgs/development/tools/misc/usb-modeswitch/default.nix b/nixpkgs/pkgs/development/tools/misc/usb-modeswitch/default.nix
index 7c119c929431..a0e1b8eb8ceb 100644
--- a/nixpkgs/pkgs/development/tools/misc/usb-modeswitch/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/usb-modeswitch/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "usb-modeswitch";
-  version = "2.5.2";
+  version = "2.6.0";
 
   src = fetchurl {
     url    = "http://www.draisberghof.de/usb_modeswitch/${pname}-${version}.tar.bz2";
-    sha256 = "19ifi80g9ns5dmspchjvfj4ykxssq9yrci8m227dgb3yr04srzxb";
+    sha256 = "18wbbxc5cfsmikba0msdvd5qlaga27b32nhrzicyd9mdddp265f2";
   };
 
   makeFlags = [
diff --git a/nixpkgs/pkgs/development/tools/misc/watson-ruby/default.nix b/nixpkgs/pkgs/development/tools/misc/watson-ruby/default.nix
index e1726efc40c1..64e04455abe6 100644
--- a/nixpkgs/pkgs/development/tools/misc/watson-ruby/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/watson-ruby/default.nix
@@ -1,20 +1,19 @@
 { stdenv, bundlerEnv, ruby, bundlerUpdateScript }:
 
-
 stdenv.mkDerivation rec {
   pname = "watson-ruby";
   version = (import ./gemset.nix).watson-ruby.version;
 
-  env = bundlerEnv {
-    name = "watson-ruby-gems-${version}";
-    inherit ruby;
-    # expects Gemfile, Gemfile.lock and gemset.nix in the same directory
-    gemdir = ./.;
-  };
-
   phases = [ "installPhase" ];
 
-  installPhase = ''
+  installPhase = let
+    env = bundlerEnv {
+      name = "watson-ruby-gems-${version}";
+      inherit ruby;
+      # expects Gemfile, Gemfile.lock and gemset.nix in the same directory
+      gemdir = ./.;
+    };
+  in ''
     mkdir -p $out/bin
     ln -s ${env}/bin/watson $out/bin/watson
   '';