about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools')
-rw-r--r--nixpkgs/pkgs/development/tools/ammonite/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/brakeman/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/flow/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/radare2/default.nix73
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/retdec/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/spin/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/valgrind/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/ansible-lint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/bazel-watcher/default.nix24
-rw-r--r--nixpkgs/pkgs/development/tools/bazel-watcher/update-gazelle-fix-ssl.patch19
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/alibuild/default.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bam/default.nix16
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix42
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix122
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix57
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/python-stub-path-fix.patch13
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/conan/default.nix43
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/dub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/gn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/leiningen/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch2
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/default.nix11
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch20
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch35
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch2
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/mill/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/scons/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/tup/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/cargo-web/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/clang-tools/default.nix11
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/3.x.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/coursier/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/database/ephemeralpg/default.nix22
-rw-r--r--nixpkgs/pkgs/development/tools/database/litecli/default.nix51
-rw-r--r--nixpkgs/pkgs/development/tools/database/pg_tmp/default.nix25
-rw-r--r--nixpkgs/pkgs/development/tools/database/pgcli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/database/shmig/default.nix16
-rw-r--r--nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/detect-secrets/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/doctl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/documentation/doxygen/default.nix11
-rw-r--r--nixpkgs/pkgs/development/tools/documentation/gtk-doc/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/dtools/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/egg2nix/chicken-eggs.nix296
-rw-r--r--nixpkgs/pkgs/development/tools/egg2nix/chicken-eggs.scm5
-rw-r--r--nixpkgs/pkgs/development/tools/egg2nix/default.nix27
-rw-r--r--nixpkgs/pkgs/development/tools/electron/3.x.nix77
-rw-r--r--nixpkgs/pkgs/development/tools/electron/default.nix16
-rwxr-xr-xnixpkgs/pkgs/development/tools/electron/print-hashes.sh29
-rw-r--r--nixpkgs/pkgs/development/tools/fdroidserver/default.nix58
-rw-r--r--nixpkgs/pkgs/development/tools/flatpak-builder/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/gauge/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/gllvm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/hcloud/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/hcloud/deps.nix24
-rw-r--r--nixpkgs/pkgs/development/tools/heroku/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/icestorm/default.nix39
-rw-r--r--nixpkgs/pkgs/development/tools/java/cfr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/java/jhiccup/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/jira_cli/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/jl/default.nix1
-rw-r--r--nixpkgs/pkgs/development/tools/kubectx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/kustomize/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/literate-programming/Literate/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/mbed-cli/default.nix23
-rw-r--r--nixpkgs/pkgs/development/tools/minizinc/ide.nix42
-rw-r--r--nixpkgs/pkgs/development/tools/misc/autoconf-archive/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/binutils/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/misc/binutils/dtneeded.patch12
-rw-r--r--nixpkgs/pkgs/development/tools/misc/binutils/pt-pax-flags.patch233
-rw-r--r--nixpkgs/pkgs/development/tools/misc/ccls/default.nix43
-rw-r--r--nixpkgs/pkgs/development/tools/misc/ccls/wrapper12
-rw-r--r--nixpkgs/pkgs/development/tools/misc/cproto/default.nix32
-rw-r--r--nixpkgs/pkgs/development/tools/misc/creduce/default.nix5
-rw-r--r--nixpkgs/pkgs/development/tools/misc/csmith/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/dejagnu/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/gdb/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/misc/help2man/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/misc/icon-naming-utils/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/intel-gpu-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/lit/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/luarocks/default.nix37
-rw-r--r--nixpkgs/pkgs/development/tools/misc/luarocks/luarocks-nix.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/misc/luarocks/setup-hook.sh20
-rw-r--r--nixpkgs/pkgs/development/tools/misc/mdl/.bundle/config3
-rw-r--r--nixpkgs/pkgs/development/tools/misc/mdl/Gemfile3
-rw-r--r--nixpkgs/pkgs/development/tools/misc/mdl/Gemfile.lock21
-rw-r--r--nixpkgs/pkgs/development/tools/misc/mdl/default.nix15
-rw-r--r--nixpkgs/pkgs/development/tools/misc/mdl/gemset.nix44
-rw-r--r--nixpkgs/pkgs/development/tools/misc/pkg-config/2.36.3-not-win32.patch (renamed from nixpkgs/pkgs/development/tools/misc/pkgconfig/2.36.3-not-win32.patch)0
-rw-r--r--nixpkgs/pkgs/development/tools/misc/pkg-config/default.nix (renamed from nixpkgs/pkgs/development/tools/misc/pkgconfig/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/tools/misc/pkg-config/requires-private.patch (renamed from nixpkgs/pkgs/development/tools/misc/pkgconfig/requires-private.patch)0
-rw-r--r--nixpkgs/pkgs/development/tools/misc/pkg-config/setup-hook.sh (renamed from nixpkgs/pkgs/development/tools/misc/pkgconfig/setup-hook.sh)0
-rw-r--r--nixpkgs/pkgs/development/tools/misc/pkgconf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/strace/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/swig/3.x.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/misc/tokei/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/misc/uhd/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/ocp-indent/default.nix25
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/opam/default.nix44
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/opam/opam-mccs-darwin.patch18
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/opam/opam-pull-3487.patch23
-rwxr-xr-xnixpkgs/pkgs/development/tools/ocaml/opam/opam.nix.pl3
-rw-r--r--nixpkgs/pkgs/development/tools/omniorb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/packer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/bison/3.x.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/pax-rs/default.nix40
-rw-r--r--nixpkgs/pkgs/development/tools/profiling/gprof2dot/default.nix19
-rw-r--r--nixpkgs/pkgs/development/tools/profiling/systemtap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/pyre/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/repository-managers/nexus/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/rubocop/Gemfile.lock12
-rw-r--r--nixpkgs/pkgs/development/tools/rubocop/gemset.nix30
-rw-r--r--nixpkgs/pkgs/development/tools/rust/bindgen/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/rustfmt/default.nix21
-rw-r--r--nixpkgs/pkgs/development/tools/solarus-quest-editor/default.nix23
-rw-r--r--nixpkgs/pkgs/development/tools/solarus-quest-editor/patches/fix-install.patch16
-rw-r--r--nixpkgs/pkgs/development/tools/solarus-quest-editor/patches/partial-f285beab62594f73e57190c49848c848487214cf.patch33
-rw-r--r--nixpkgs/pkgs/development/tools/sslmate/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/toluapp/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/toluapp/headers.patch15
-rw-r--r--nixpkgs/pkgs/development/tools/trellis/default.nix59
-rw-r--r--nixpkgs/pkgs/development/tools/uftrace/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/vgo2nix/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/vgo2nix/deps.nix137
-rw-r--r--nixpkgs/pkgs/development/tools/wabt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/xcbuild/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/xcbuild/toolchains.nix1
-rw-r--r--nixpkgs/pkgs/development/tools/yarn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/yq/default.nix4
138 files changed, 1437 insertions, 1229 deletions
diff --git a/nixpkgs/pkgs/development/tools/ammonite/default.nix b/nixpkgs/pkgs/development/tools/ammonite/default.nix
index 6e0906487987..9ae81e073df3 100644
--- a/nixpkgs/pkgs/development/tools/ammonite/default.nix
+++ b/nixpkgs/pkgs/development/tools/ammonite/default.nix
@@ -5,12 +5,12 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "ammonite-${version}";
-  version = "1.6.0";
+  version = "1.6.3";
   scalaVersion = "2.12";
 
   src = fetchurl {
     url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}";
-    sha256 = "17c6ps5i48hcjj7r6xw8mrqhy4cs7qsa787l36f30757hi1cx4qy";
+    sha256 = "0wdicgf41ysxcdly4hzpav52yhjx410c7c7nfbq87p0cqzywrbxd";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/nixpkgs/pkgs/development/tools/analysis/brakeman/default.nix b/nixpkgs/pkgs/development/tools/analysis/brakeman/default.nix
index 542f53473c19..9c850c7606c5 100644
--- a/nixpkgs/pkgs/development/tools/analysis/brakeman/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/brakeman/default.nix
@@ -4,8 +4,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "brakeman";
-  version = "4.3.1";
-  source.sha256 = "1y4i4vw7hawypvgg04s544fqx52ml67h9zxsaqm8w5hvxmb20wkh";
+  version = "4.4.0";
+  source.sha256 = "1fg37qknz1f10v4fgbn1s98gks0iimsgs1c8xra2jy16kpz4q86k";
 
   meta = with lib; {
     description = "Static analysis security scanner for Ruby on Rails";
diff --git a/nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix b/nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix
index 4149fb4233d2..53f46e372ef6 100644
--- a/nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "8.15";
+  version = "8.17";
   name = "checkstyle-${version}";
 
   src = fetchurl {
     url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar";
-    sha256 = "0zl064vx5gc6kglpw9lvd43v5zsdykr1whzy61bhijbbgnsrh9vb";
+    sha256 = "10i285kzbma9pny0vlm8wglxsbqliqrhig6n9rj2nv13x5i53ifj";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/analysis/flow/default.nix b/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
index f3a5905c14e9..b011cb0b918a 100644
--- a/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
@@ -1,18 +1,19 @@
 { stdenv, fetchFromGitHub, ocamlPackages, cf-private, CoreServices }:
 
 stdenv.mkDerivation rec {
-  version = "0.89.0";
+  version = "0.91.0";
   name = "flow-${version}";
 
   src = fetchFromGitHub {
     owner  = "facebook";
     repo   = "flow";
     rev    = "refs/tags/v${version}";
-    sha256 = "1p2ix39h4g9hcsq2bm08ip9ivw5bh4w7am403mh7h6yrnanc9djv";
+    sha256 = "14snr65pbnczkv49lmhgyjzlgrrlfwsxkd7g6xbv9y5xl4sp0309";
   };
 
   installPhase = ''
-    install -Dm755 -t $out/bin bin/flow
+    install -Dm755 bin/flow $out/bin/flow
+    install -Dm644 resources/shell/bash-completion $out/share/bash-completion/completions/flow
   '';
 
   buildInputs = (with ocamlPackages; [ ocaml findlib ocamlbuild dtoa core_kernel sedlex ocaml_lwt lwt_log lwt_ppx ppx_deriving ppx_gen_rec ppx_tools_versioned visitors wtf8 ])
diff --git a/nixpkgs/pkgs/development/tools/analysis/radare2/default.nix b/nixpkgs/pkgs/development/tools/analysis/radare2/default.nix
index 55bae2740cc2..a72ef7937c50 100644
--- a/nixpkgs/pkgs/development/tools/analysis/radare2/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/radare2/default.nix
@@ -1,10 +1,11 @@
 {stdenv, fetchFromGitHub
+, buildPackages
 , callPackage
-, ninja, meson , pkgconfig
+, pkgconfig
 , libusb, readline, libewf, perl, zlib, openssl
-, libuv
+, libuv, file, libzip, xxHash
 , gtk2 ? null, vte ? null, gtkdialog ? null
-, python ? null
+, python3 ? null
 , ruby ? null
 , lua ? null
 , useX11, rubyBindings, pythonBindings, luaBindings
@@ -12,7 +13,7 @@
 
 assert useX11 -> (gtk2 != null && vte != null && gtkdialog != null);
 assert rubyBindings -> ruby != null;
-assert pythonBindings -> python != null;
+assert pythonBindings -> python3 != null;
 
 
 let
@@ -49,39 +50,49 @@ let
         if ! grep -F "CS_TIP=${cs_tip}" shlr/Makefile; then echo "CS_TIP mismatch"; exit 1; fi
         # When using meson, it expects capstone source relative to build directory
         mkdir -p build/shlr
-        ln -s ${capstone} build/shlr/capstone
+        cp -r ${capstone} shlr/capstone
+        chmod -R +w shlr/capstone
       '';
 
       postInstall = ''
-        ln -s $out/bin/radare2 $out/bin/r2
         install -D -m755 $src/binr/r2pm/r2pm $out/bin/r2pm
       '';
 
-      mesonFlags = [
-        "-Dr2_version_commit=${version_commit}"
-        "-Dr2_gittap=${gittap}"
-        "-Dr2_gittip=${gittip}"
-        # 2.8.0 expects this, but later it becomes an option with default=false.
-        "-Dcapstone_in_builddir=true"
-
-        "-Duse_sys_openssl=true"
-        "-Duse_sys_zlib=true"
+      WITHOUT_PULL="1";
+      makeFlags = [
+        "GITTAP=${gittap}"
+        "GITTIP=${gittip}"
+        "RANLIB=${stdenv.cc.bintools.bintools}/bin/${stdenv.cc.bintools.targetPrefix}ranlib"
+      ];
+      configureFlags = [
+        "--with-sysmagic"
+        "--with-syszip"
+        "--with-sysxxhash"
+        "--with-openssl"
       ];
 
       enableParallelBuilding = true;
+      depsBuildBuild = [ buildPackages.stdenv.cc ];
 
-      nativeBuildInputs = [ pkgconfig ninja meson ];
-      buildInputs = [ readline libusb libewf perl zlib openssl libuv ]
-        ++ optional useX11 [gtkdialog vte gtk2]
-        ++ optional rubyBindings [ruby]
-        ++ optional pythonBindings [python]
-        ++ optional luaBindings [lua];
+      nativeBuildInputs = [ pkgconfig ];
+      buildInputs = [ file readline libusb libewf perl zlib openssl libuv ]
+        ++ optional useX11 [ gtkdialog vte gtk2 ]
+        ++ optional rubyBindings [ ruby ]
+        ++ optional pythonBindings [ python3 ]
+        ++ optional luaBindings [ lua ];
+
+      propagatedBuildInputs = [
+        # radare2 exposes r_lib which depends on these libraries
+        file # for its list of magic numbers (`libmagic`)
+        libzip
+        xxHash
+      ];
 
       meta = {
         description = "unix-like reverse engineering framework and commandline tools";
         homepage = http://radare.org/;
         license = stdenv.lib.licenses.gpl2Plus;
-        maintainers = with stdenv.lib.maintainers; [raskin makefu mic92];
+        maintainers = with stdenv.lib.maintainers; [ raskin makefu mic92 ];
         platforms = with stdenv.lib.platforms; linux;
         inherit version;
       };
@@ -90,17 +101,17 @@ in {
   #<generated>
   # DO NOT EDIT! Automatically generated by ./update.py
   radare2 = generic {
-    version_commit = "20315";
-    gittap = "3.1.3";
-    gittip = "57dd0b4e7ec70cc95f859651b1b63b076b8df7a7";
-    rev = "3.1.3";
-    version = "3.1.3";
-    sha256 = "17bd7i9lbr0nxa3llw354mppx44xi7bjwif7g7wxw0zcjlfxnk5d";
-    cs_tip = "f01c267f889e932b069a559ce0c604c1ae986c0a";
-    cs_sha256 = "15ifnql2gi2f9g8j60hc4hbxbvi2qn1r110ry32qmlz55svxh67y";
+    version_commit = "20591";
+    gittap = "3.2.1";
+    gittip = "25913f4745cb3b635d52f1aafc4d8ff2aad3988a";
+    rev = "3.2.1";
+    version = "3.2.1";
+    sha256 = "1c4zj96386sc9lvfcsdh9lhyh0rvv4zzfr6218gvjkg9fy6cc91y";
+    cs_tip = "0ff8220adef16a942697afd245afc5ab0f70cbf8";
+    cs_sha256 = "1ak8ysgivq28d23r77881p0z5v65jhpap5plm10p9j3y2x00n3zn";
   };
   r2-for-cutter = generic {
-    version_commit = "20315";
+    version_commit = "20591";
     gittap = "2.9.0-310-gcb62c376b";
     gittip = "cb62c376bef6c7427019a7c28910c33c364436dd";
     rev = "cb62c376bef6c7427019a7c28910c33c364436dd";
diff --git a/nixpkgs/pkgs/development/tools/analysis/retdec/default.nix b/nixpkgs/pkgs/development/tools/analysis/retdec/default.nix
index 3e64e91d1300..fec127178f9e 100644
--- a/nixpkgs/pkgs/development/tools/analysis/retdec/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/retdec/default.nix
@@ -221,6 +221,8 @@ in stdenv.mkDerivation rec {
   doInstallCheck = true;
   installCheckPhase = ''
     ${python3.interpreter} "$out/bin/retdec-tests-runner.py"
+
+    rm -rf $out/bin/__pycache__
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/analysis/spin/default.nix b/nixpkgs/pkgs/development/tools/analysis/spin/default.nix
index a59b452b432b..fbb7eca0ef51 100644
--- a/nixpkgs/pkgs/development/tools/analysis/spin/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/spin/default.nix
@@ -7,15 +7,16 @@ let
 
 in stdenv.mkDerivation rec {
   name = "spin-${version}";
-  version = "6.4.8";
+  version = "6.4.9";
   url-version = stdenv.lib.replaceChars ["."] [""] version;
 
   src = fetchurl {
     # The homepage is behind CloudFlare anti-DDoS protection, which blocks cURL.
     # Dropbox mirror from developers:
     # https://www.dropbox.com/sh/fgzipzp4wpo3qc1/AADZPqS4aoR-pjNF6OQXRLQHa
-    url = "https://www.dropbox.com/sh/fgzipzp4wpo3qc1/AADya1lOBJZDbgWGrUSq-dfHa/spin${url-version}.tar.gz?raw=1";
-    sha256 = "1rvamdsf0igzpndlr4ck7004jw9x1bg4xyf78zh5k9sp848vnd80";
+    # (note that this URL doesn't work aross versions and hash should come from official site)
+    url = "https://www.dropbox.com/sh/fgzipzp4wpo3qc1/AABtxFePMJmPxsxSvU5cpxh8a/spin${url-version}.tar.gz?raw=1";
+    sha256 = "07b7wk3qyfnp4pgwicqd33l7i1krzyihx0cf9zkv81ywaklf5vll";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -24,6 +25,8 @@ in stdenv.mkDerivation rec {
   sourceRoot = "Spin/Src${version}";
 
   installPhase = ''
+    install -Dm644 ../Man/spin.1 $out/share/man/man1/spin.1
+
     install -Dm755 spin $out/bin/spin
     wrapProgram $out/bin/spin \
       --prefix PATH : ${binPath}
diff --git a/nixpkgs/pkgs/development/tools/analysis/valgrind/default.nix b/nixpkgs/pkgs/development/tools/analysis/valgrind/default.nix
index d70ec0ed9ac5..78f40913eb5f 100644
--- a/nixpkgs/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/valgrind/default.nix
@@ -11,15 +11,15 @@ stdenv.mkDerivation rec {
   # autoreconfHook is needed to pick up patching of Makefile.am
   # Remove when the patch no longer applies.
   patches = [ ./coregrind-makefile-race.patch ];
-  nativeBuildInputs = [ autoreconfHook ];
+  # Perl is needed for `cg_annotate'.
+  nativeBuildInputs = [ autoreconfHook perl ];
 
   outputs = [ "out" "dev" "man" "doc" ];
 
   hardeningDisable = [ "stackprotector" ];
 
-  # Perl is needed for `cg_annotate'.
   # GDB is needed to provide a sane default for `--db-command'.
-  buildInputs = [ perl gdb ]  ++ stdenv.lib.optionals (stdenv.isDarwin) [ bootstrap_cmds xnu ];
+  buildInputs = [ gdb ]  ++ stdenv.lib.optionals (stdenv.isDarwin) [ bootstrap_cmds xnu ];
 
   enableParallelBuilding = true;
   separateDebugInfo = stdenv.isLinux;
@@ -73,8 +73,6 @@ stdenv.mkDerivation rec {
         --replace 'obj:/usr/X11R6/lib' 'obj:*/lib' \
         --replace 'obj:/usr/lib' 'obj:*/lib'
     done
-
-    paxmark m $out/lib/valgrind/*-*-linux
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/development/tools/ansible-lint/default.nix b/nixpkgs/pkgs/development/tools/ansible-lint/default.nix
index 5433725b3050..12eee5f80862 100644
--- a/nixpkgs/pkgs/development/tools/ansible-lint/default.nix
+++ b/nixpkgs/pkgs/development/tools/ansible-lint/default.nix
@@ -2,13 +2,13 @@
 
 pythonPackages.buildPythonPackage rec {
   pname = "ansible-lint";
-  version = "3.4.23";
+  version = "3.5.1";
 
   src = fetchFromGitHub {
     owner = "willthames";
     repo = "ansible-lint";
     rev = "v${version}";
-    sha256 = "0cnfgxh5m7alzm811hc95jigbca5vc1pf8fjazmsakmhdjyfbpb7";
+    sha256 = "09qixiaqhm6dbl74s1rwxbsg31nr6jjsvr4fxfnxl9ccbxcrpzn2";
   };
 
   propagatedBuildInputs = with pythonPackages; [ pyyaml six ] ++ [ ansible ];
diff --git a/nixpkgs/pkgs/development/tools/bazel-watcher/default.nix b/nixpkgs/pkgs/development/tools/bazel-watcher/default.nix
index bedb55ec3742..3f952ef7140a 100644
--- a/nixpkgs/pkgs/development/tools/bazel-watcher/default.nix
+++ b/nixpkgs/pkgs/development/tools/bazel-watcher/default.nix
@@ -4,30 +4,22 @@
 , fetchpatch
 , git
 , go
+, python
 , stdenv
 }:
 
 buildBazelPackage rec {
   name = "bazel-watcher-${version}";
-  version = "0.5.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "bazelbuild";
     repo = "bazel-watcher";
     rev = "v${version}";
-    sha256 = "1sis723hwax4dg0c28x20yj0hjli66q1ykcvjirgy57znz4iwlq9";
+    sha256 = "0yphks1qlp3xcbq5mg95lxrhl3q8pza5g3f9i2j6y7dsfz0s0l4v";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/bazelbuild/bazel-watcher/commit/4d5928eee3dd5843a1b55136d914b78fef7f25d0.patch";
-      sha256 = "0gxzcdqgifrmvznfy0p5nd11b39n2pwxcvpmhc6hxf85mwlxz7dg";
-    })
-
-    ./update-gazelle-fix-ssl.patch
-  ];
-
-  nativeBuildInputs = [ go git ];
+  nativeBuildInputs = [ go git python ];
 
   bazelTarget = "//ibazel";
 
@@ -52,9 +44,15 @@ buildBazelPackage rec {
       # a different sha256 for the fetch phase.
       rm -rf $bazelOut/external/{go_sdk,\@go_sdk.marker}
       sed -e '/^FILE:@go_sdk.*/d' -i $bazelOut/external/\@*.marker
+
+      # Remove the gazelle tools, they contain go binaries that are built
+      # non-deterministically. As long as the gazelle version matches the tools
+      # should be equivalent.
+      rm -rf $bazelOut/external/{bazel_gazelle_go_repository_tools,\@bazel_gazelle_go_repository_tools.marker}
+      sed -e '/^FILE:@bazel_gazelle_go_repository_tools.*/d' -i $bazelOut/external/\@*.marker
     '';
 
-    sha256 = "1iyjvibvlwg980p7nizr6x5v31dyp4a344f0xn839x393583k59d";
+    sha256 = "14k1cpw4h78c2gk294xzq9a9nv09yabdrahbzgin8xizbgdxn1q8";
   };
 
   buildAttrs = {
diff --git a/nixpkgs/pkgs/development/tools/bazel-watcher/update-gazelle-fix-ssl.patch b/nixpkgs/pkgs/development/tools/bazel-watcher/update-gazelle-fix-ssl.patch
deleted file mode 100644
index 4cf69e9d1723..000000000000
--- a/nixpkgs/pkgs/development/tools/bazel-watcher/update-gazelle-fix-ssl.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/WORKSPACE b/WORKSPACE
-index 4011d9b..d085ae8 100644
---- a/WORKSPACE
-+++ b/WORKSPACE
-@@ -52,11 +52,9 @@ http_archive(
-
- http_archive(
-     name = "bazel_gazelle",
--    sha256 = "c0a5739d12c6d05b6c1ad56f2200cb0b57c5a70e03ebd2f7b87ce88cabf09c7b",
--    urls = [
--        "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/0.14.0/bazel-gazelle-0.14.0.tar.gz",
--        "https://github.com/bazelbuild/bazel-gazelle/releases/download/0.14.0/bazel-gazelle-0.14.0.tar.gz",
--    ],
-+    sha256 = "0600ea2daf98170211dc561fd348a8a9328c91eb6df66a381eaaf0bcd122e80b",
-+    strip_prefix = "bazel-gazelle-b34f46af2f31ee0470e7364352c2376bcc10d079",
-+    url = "https://github.com/bazelbuild/bazel-gazelle/archive/b34f46af2f31ee0470e7364352c2376bcc10d079.tar.gz",
- )
-
- load("@io_bazel_rules_go//go:def.bzl", "go_register_toolchains", "go_rules_dependencies")
diff --git a/nixpkgs/pkgs/development/tools/build-managers/alibuild/default.nix b/nixpkgs/pkgs/development/tools/build-managers/alibuild/default.nix
index eb805dcce7a9..68f00be342c3 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/alibuild/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/alibuild/default.nix
@@ -9,12 +9,9 @@ python.pkgs.buildPythonApplication rec {
     sha256 = "1mnh0h9m96p78b9ln1gbl4lw1mgl16qbyfi9fj2l13p3nxaq1sib";
   };
 
-  argparse = null;
-
   doCheck = false;
   propagatedBuildInputs = [
     python.pkgs.requests
-    python.pkgs.argparse
     python.pkgs.pyyaml
   ];
 
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bam/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bam/default.nix
index c20431c5e7e0..624821613465 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bam/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bam/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchurl, lua5, python }:
+{ stdenv, fetchFromGitHub, lua5_3, python }:
 
 stdenv.mkDerivation rec {
   name = "bam-${version}";
-  version = "0.4.0";
+  version = "0.5.1";
 
-  src = fetchurl {
-    url = "http://github.com/downloads/matricks/bam/${name}.tar.bz2";
-    sha256 = "0z90wvyd4nfl7mybdrv9dsd4caaikc6fxw801b72gqi1m9q0c0sn";
+  src = fetchFromGitHub {
+    owner = "matricks";
+    repo = "bam";
+    rev = "v${version}";
+    sha256 = "13br735ig7lygvzyfd15fc2rdygrqm503j6xj5xkrl1r7w2wipq6";
   };
 
-  buildInputs = [ lua5 python ];
+  buildInputs = [ lua5_3 python ];
 
   buildPhase = ''${stdenv.shell} make_unix.sh'';
 
@@ -29,7 +31,7 @@ stdenv.mkDerivation rec {
       raskin
     ];
     platforms = platforms.linux;
-    license = licenses.free;
+    license = licenses.zlib;
     downloadPage = "http://matricks.github.com/bam/";
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix
new file mode 100644
index 000000000000..3bbab475c573
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix
@@ -0,0 +1,42 @@
+{ stdenv, writeText, runCommandCC, bazel }:
+
+# Tests that certain executables are available in bazel-executed bash shells.
+
+let
+  WORKSPACE = writeText "WORKSPACE" ''
+    workspace(name = "our_workspace")
+  '';
+
+  fileIn = writeText "input.txt" ''
+  one
+  two
+  three
+  '';
+
+  fileBUILD = writeText "BUILD" ''
+    genrule(
+      name = "tool_usage",
+      srcs = [ ":input.txt" ],
+      outs = [ "output.txt" ],
+      cmd = "cat $(location :input.txt) | gzip - | gunzip - | awk '/t/' > $@",
+    )
+  '';
+
+  runLocal = name: script: runCommandCC name { preferLocalBuild = true; } script;
+
+  workspaceDir = runLocal "our_workspace" ''
+    mkdir $out
+    cp ${WORKSPACE} $out/WORKSPACE
+    cp ${fileIn} $out/input.txt
+    cp ${fileBUILD} $out/BUILD
+  '';
+
+  testBazel = runLocal "bazel-test-bash-tools" ''
+    export HOME=$(mktemp -d)
+    cp -r ${workspaceDir} wd && chmod +w wd && cd wd
+    ${bazel}/bin/bazel build :tool_usage
+    cp bazel-genfiles/output.txt $out
+    echo "Testing content" && [ "$(cat $out | wc -l)" == "2" ] && echo "OK"
+  '';
+
+in testBazel
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix
index 9aff59f3497f..75ab82a0ac62 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix
@@ -1,10 +1,11 @@
-{ stdenv, lib, fetchurl, fetchpatch, runCommand, makeWrapper
-, jdk, zip, unzip, bash, writeCBin, coreutils
-, which, python, perl, gnused, gnugrep, findutils
+{ stdenv, callPackage, lib, fetchurl, fetchpatch, runCommand, makeWrapper
+, zip, unzip, bash, writeCBin, coreutils
+, which, python, perl, gawk, gnused, gnutar, gnugrep, gzip, findutils
 # Apple dependencies
 , cctools, clang, libcxx, CoreFoundation, CoreServices, Foundation
 # Allow to independently override the jdks used to build and run respectively
-, buildJdk ? jdk, runJdk ? jdk
+, buildJdk, runJdk
+, buildJdkName
 # Always assume all markers valid (don't redownload dependencies).
 # Also, don't clean up environment variables.
 , enableNixHacks ? false
@@ -13,8 +14,8 @@
 let
   srcDeps = lib.singleton (
     fetchurl {
-      url = "https://github.com/google/desugar_jdk_libs/archive/fd937f4180c1b557805219af4482f1a27eb0ff2b.zip";
-      sha256 = "04hs399340xfwcdajbbcpywnb2syp6z5ydwg966if3hqdb2zrf23";
+      url = "https://github.com/google/desugar_jdk_libs/archive/915f566d1dc23bc5a8975320cd2ff71be108eb9c.zip";
+      sha256 = "0b926df7yxyyyiwm9cmdijy6kplf0sghm23sf163zh8wrk87wfi7";
     }
   );
 
@@ -23,12 +24,43 @@ let
     for i in ${builtins.toString srcDeps}; do cp $i $out/$(stripHash $i); done
   '';
 
-  defaultShellPath = lib.makeBinPath [ bash coreutils findutils gnugrep gnused which ];
+  defaultShellPath = lib.makeBinPath
+    # Keep this list conservative. For more exotic tools, prefer to use
+    # @rules_nixpkgs to pull in tools from the nix repository. Example:
+    #
+    # WORKSPACE:
+    #
+    #     nixpkgs_git_repository(
+    #         name = "nixpkgs",
+    #         revision = "def5124ec8367efdba95a99523dd06d918cb0ae8",
+    #     )
+    #
+    #     # This defines an external Bazel workspace.
+    #     nixpkgs_package(
+    #         name = "bison",
+    #         repositories = { "nixpkgs": "@nixpkgs//:default.nix" },
+    #     )
+    #
+    # some/BUILD.bazel:
+    #
+    #     genrule(
+    #        ...
+    #        cmd = "$(location @bison//:bin/bison) -other -args",
+    #        tools = [
+    #            ...
+    #            "@bison//:bin/bison",
+    #        ],
+    #     )
+    #
+    [ bash coreutils findutils gawk gnugrep gnutar gnused gzip which unzip ];
+
+  # Java toolchain used for the build and tests
+  javaToolchain = "@bazel_tools//tools/jdk:toolchain_host${buildJdkName}";
 
 in
 stdenv.mkDerivation rec {
 
-  version = "0.20.0";
+  version = "0.22.0";
 
   meta = with lib; {
     homepage = "https://github.com/bazelbuild/bazel/";
@@ -38,17 +70,28 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux ++ platforms.darwin;
   };
 
+  # Additional tests that check bazel’s functionality. Execute
+  #
+  #     nix-build . -A bazel.tests
+  #
+  # in the nixpkgs checkout root to exercise them locally.
+  passthru.tests = {
+    pythonBinPath = callPackage ./python-bin-path-test.nix {};
+    bashTools = callPackage ./bash-tools-test.nix {};
+  };
+
   name = "bazel-${version}";
 
   src = fetchurl {
-    url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "1g9hglly5199gcw929fzc5f0d0dwlharkh387h58p1fq9ylayi8r";
+    url = "https://github.com/bazelbuild/bazel/releases/download/${version}/${name}-dist.zip";
+    sha256 = "0hannnvia8rvmi2v5d97j1f6wv0m1kxkd5hq4aqp0dqjr0ka4q38";
   };
 
   sourceRoot = ".";
 
-  patches =
-    lib.optional enableNixHacks ./nix-hacks.patch;
+  patches = [
+    ./python-stub-path-fix.patch
+  ] ++ lib.optional enableNixHacks ./nix-hacks.patch;
 
   # Bazel expects several utils to be available in Bash even without PATH. Hence this hack.
 
@@ -78,6 +121,7 @@ stdenv.mkDerivation rec {
   '';
 
   postPatch = let
+
     darwinPatches = ''
       # Disable Bazel's Xcode toolchain detection which would configure compilers
       # and linkers from Xcode instead of from PATH
@@ -115,27 +159,48 @@ stdenv.mkDerivation rec {
         sed -i -e "s,/usr/bin/install_name_tool,${cctools}/bin/install_name_tool,g" $wrapper
       done
     '';
+
     genericPatches = ''
-      find src/main/java/com/google/devtools -type f -print0 | while IFS="" read -r -d "" path; do
+      # Substitute python's stub shebang to plain python path. (see TODO add pr URL)
+      # See also `postFixup` where python is added to $out/nix-support
+      substituteInPlace src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt\
+          --replace "/usr/bin/env python" "${python}/bin/python" \
+          --replace "NIX_STORE_PYTHON_PATH" "${python}/bin/python" \
+
+      # substituteInPlace is rather slow, so prefilter the files with grep
+      grep -rlZ /bin src/main/java/com/google/devtools | while IFS="" read -r -d "" path; do
+        # If you add more replacements here, you must change the grep above!
+        # Only files containing /bin are taken into account.
         substituteInPlace "$path" \
           --replace /bin/bash ${customBash}/bin/bash \
           --replace /usr/bin/env ${coreutils}/bin/env \
           --replace /bin/true ${coreutils}/bin/true
       done
+
       # Fixup scripts that generate scripts. Not fixed up by patchShebangs below.
       substituteInPlace scripts/bootstrap/compile.sh \
           --replace /bin/sh ${customBash}/bin/bash
 
-      echo "build --experimental_distdir=${distDir}" >> .bazelrc
-      echo "fetch --experimental_distdir=${distDir}" >> .bazelrc
-      echo "build --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\"" >> .bazelrc
-      echo "build --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\"" >> .bazelrc
-      echo "build --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\"" >> .bazelrc
-      echo "build --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\"" >> .bazelrc
-      sed -i -e "420 a --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\" \\\\" scripts/bootstrap/compile.sh
-      sed -i -e "420 a --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\" \\\\" scripts/bootstrap/compile.sh
-      sed -i -e "420 a --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\" \\\\" scripts/bootstrap/compile.sh
-      sed -i -e "420 a --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\" \\\\" scripts/bootstrap/compile.sh
+      # add nix environment vars to .bazelrc
+      cat >> .bazelrc <<EOF
+      build --experimental_distdir=${distDir}
+      fetch --experimental_distdir=${distDir}
+      build --copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt="/g')"
+      build --host_copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt="/g')"
+      build --linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt="-Wl,/g')"
+      build --host_linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt="-Wl,/g')"
+      build --host_javabase='@local_jdk//:jdk'
+      build --host_java_toolchain='${javaToolchain}'
+      EOF
+
+      # add the same environment vars to compile.sh
+      sed -e "/\$command \\\\$/a --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\" \\\\" \
+          -e "/\$command \\\\$/a --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\" \\\\" \
+          -e "/\$command \\\\$/a --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\" \\\\" \
+          -e "/\$command \\\\$/a --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\" \\\\" \
+          -e "/\$command \\\\$/a --host_javabase='@local_jdk//:jdk' \\\\" \
+          -e "/\$command \\\\$/a --host_java_toolchain='${javaToolchain}' \\\\" \
+          -i scripts/bootstrap/compile.sh
 
       # --experimental_strict_action_env (which will soon become the
       # default, see bazelbuild/bazel#2574) hardcodes the default
@@ -159,6 +224,8 @@ stdenv.mkDerivation rec {
     buildJdk
   ];
 
+  # when a command can’t be found in a bazel build, you might also
+  # need to add it to `defaultShellPath`.
   nativeBuildInputs = [
     zip
     python
@@ -202,7 +269,9 @@ stdenv.mkDerivation rec {
     export TEST_TMPDIR=$(pwd)
 
     hello_test () {
-      $out/bin/bazel test --test_output=errors \
+      $out/bin/bazel test \
+        --test_output=errors \
+        --java_toolchain='${javaToolchain}' \
         examples/cpp:hello-success_test \
         examples/java-native/src/test/java/com/example/myproject:hello
     }
@@ -231,7 +300,10 @@ stdenv.mkDerivation rec {
   # Save paths to hardcoded dependencies so Nix can detect them.
   postFixup = ''
     mkdir -p $out/nix-support
-    echo "${customBash} ${defaultShellPath}" > $out/nix-support/depends
+    echo "${customBash} ${defaultShellPath}" >> $out/nix-support/depends
+    # The templates get tar’d up into a .jar,
+    # so nix can’t detect python is needed in the runtime closure
+    echo "${python}" >> $out/nix-support/depends
   '';
 
   dontStrip = true;
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix
new file mode 100644
index 000000000000..54ae154a6207
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix
@@ -0,0 +1,57 @@
+{ stdenv, lib, writeText, runCommandCC, bazel }:
+
+let
+  WORKSPACE = writeText "WORKSPACE" ''
+    workspace(name = "our_workspace")
+  '';
+
+  pythonLib = writeText "lib.py" ''
+    def foo():
+      return 43
+  '';
+
+  pythonBin = writeText "bin.py" ''
+    from lib import foo
+
+    assert foo() == 43
+  '';
+
+  pythonBUILD = writeText "BUILD" ''
+    py_library(
+      name = "lib",
+      srcs = [ "lib.py" ],
+    )
+
+    py_test(
+      name = "bin",
+      srcs = [ "bin.py" ],
+      deps = [ ":lib" ],
+    )
+  '';
+
+  runLocal = name: script: runCommandCC name { preferLocalBuild = true; } script;
+
+  workspaceDir = runLocal "our_workspace" ''
+    mkdir $out
+    cp ${WORKSPACE} $out/WORKSPACE
+    mkdir $out/python
+    cp ${pythonLib} $out/python/lib.py
+    cp ${pythonBin} $out/python/bin.py
+    cp ${pythonBUILD} $out/python/BUILD.bazel
+  '';
+
+  testBazel = runLocal "bazel-test-builtin-rules" ''
+    export HOME=$(mktemp -d)
+    # Note https://github.com/bazelbuild/bazel/issues/5763#issuecomment-456374609
+    # about why to create a subdir for the workspace.
+    cp -r ${workspaceDir} wd && chmod u+w wd && cd wd
+    ${bazel}/bin/bazel \
+      test \
+        --test_output=errors \
+        --host_javabase='@local_jdk//:jdk' \
+        //...
+
+    touch $out
+  '';
+
+in testBazel
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/python-stub-path-fix.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/python-stub-path-fix.patch
new file mode 100644
index 000000000000..cbc4192d2d9b
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/python-stub-path-fix.patch
@@ -0,0 +1,13 @@
+diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt
+index dac21c9a83..69b11c283f 100644
+--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt
++++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt
+@@ -67,7 +67,7 @@ def FindPythonBinary(module_space):
+     return os.path.join(module_space, PYTHON_BINARY)
+   else:
+     # Case 4: Path has to be looked up in the search path.
+-    return SearchPath(PYTHON_BINARY)
++    return "NIX_STORE_PYTHON_PATH"
+ 
+ def CreatePythonPathEntries(python_imports, module_space):
+   parts = python_imports.split(':');
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix
index db337137bb1a..c20985f31dc4 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix
@@ -2,7 +2,7 @@
 
 let
   baseName = "bloop";
-  version = "1.1.2";
+  version = "1.2.5";
   deps = stdenv.mkDerivation {
     name = "${baseName}-deps-${version}";
     buildCommand = ''
@@ -16,14 +16,14 @@ let
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "0ki4xh8z31nv42jik998r7gvsxcm0vysx83w0nyvbhi18cah1qh6";
+    outputHash     = "19373fyb0g7irrdzb1vsjmyv5xj84qwbcfb6lm076px7wfyn0w1c";
   };
 in
 stdenv.mkDerivation rec {
   name = "${baseName}-${version}";
 
   # Fetched from https://github.com/scalacenter/bloop/releases/download/v${version}/install.py
-  nailgunCommit = "dc1dd806";
+  nailgunCommit = "0c325237";
 
   buildInputs = [ jdk makeWrapper deps ];
 
diff --git a/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix b/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix
index 3725760c1d6c..2ec33980caad 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix
@@ -1,4 +1,4 @@
-{ lib, python3, fetchpatch, git }:
+{ lib, python3, git }:
 
 let newPython = python3.override {
   packageOverrides = self: super: {
@@ -10,71 +10,64 @@ let newPython = python3.override {
       };
     });
     node-semver = super.node-semver.overridePythonAttrs (oldAttrs: rec {
-      version = "0.2.0";
+      version = "0.6.1";
       src = oldAttrs.src.override {
         inherit version;
-        sha256 = "1080pdxrvnkr8i7b7bk0dfx6cwrkkzzfaranl7207q6rdybzqay3";
+        sha256 = "1dv6mjsm67l1razcgmq66riqmsb36wns17mnipqr610v0z0zf5j0";
       };
     });
-    astroid = super.astroid.overridePythonAttrs (oldAttrs: rec {
-      version = "1.6.5";
+    future = super.future.overridePythonAttrs (oldAttrs: rec {
+      version = "0.16.0";
       src = oldAttrs.src.override {
         inherit version;
-        sha256 = "fc9b582dba0366e63540982c3944a9230cbc6f303641c51483fa547dcc22393a";
+        sha256 = "1nzy1k4m9966sikp0qka7lirh8sqrsyainyf8rk97db7nwdfv773";
       };
     });
-    pylint = super.pylint.overridePythonAttrs (oldAttrs: rec {
-      version = "1.8.4";
+    tqdm = super.tqdm.overridePythonAttrs (oldAttrs: rec {
+      version = "4.28.1";
       src = oldAttrs.src.override {
         inherit version;
-        sha256 = "34738a82ab33cbd3bb6cd4cef823dbcabdd2b6b48a4e3a3054a2bbbf0c712be9";
+        sha256 = "1fyybgbmlr8ms32j7h76hz5g9xc6nf0644mwhc40a0s5k14makav";
       };
-
     });
   };
 };
 
 in newPython.pkgs.buildPythonApplication rec {
-  version = "1.6.0";
+  version = "1.11.2";
   pname = "conan";
 
   src = newPython.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "386476d3af1fa390e4cd96e737876e7d1f1c0bca09519e51fd44c1bb45990caa";
-  };
-
-  # Bump PyYAML to 3.13
-  patches = fetchpatch {
-    url = https://github.com/conan-io/conan/commit/9d3d7a5c6e89b3aa321735557e5ad3397bb80568.patch;
-    sha256 = "1qdy6zj3ypl1bp9872mzaqg1gwigqldxb1glvrkq3p4za62p546k";
+    sha256 = "0b4r9n6541jjp2lsdzc1nc6mk1a953w0d4ynjss3ns7pp89y4nd4";
   };
-
   checkInputs = [
     git
   ] ++ (with newPython.pkgs; [
+    codecov
+    mock
+    node-semver
     nose
     parameterized
-    mock
     webtest
-    codecov
   ]);
 
   propagatedBuildInputs = with newPython.pkgs; [
-    requests fasteners pyyaml pyjwt colorama patch
-    bottle pluginbase six distro pylint node-semver
-    future pygments mccabe deprecation
+    colorama deprecation distro fasteners bottle
+    future node-semver patch pygments pluginbase
+    pyjwt pylint pyyaml requests six tqdm
   ];
 
   checkPhase = ''
     export HOME="$TMP/conan-home"
     mkdir -p "$HOME"
-    nosetests conans.test
   '';
 
   meta = with lib; {
     homepage = https://conan.io;
     description = "Decentralized and portable C/C++ package manager";
     license = licenses.mit;
+    maintainers = with maintainers; [ HaoZeke ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/build-managers/dub/default.nix b/nixpkgs/pkgs/development/tools/build-managers/dub/default.nix
index 11461fc69522..18c6eff76e1f 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/dub/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/dub/default.nix
@@ -4,7 +4,7 @@ let
 
   dubBuild = stdenv.mkDerivation rec {
     name = "dubBuild-${version}";
-    version = "1.10.0";
+    version = "1.13.0";
 
     enableParallelBuilding = true;
 
@@ -12,7 +12,7 @@ let
       owner = "dlang";
       repo = "dub";
       rev = "v${version}";
-      sha256 = "02xxpfcjs427jqbwz0vh5vl3bh62ys65zmi9gpa3svzqffyx13n4";
+      sha256 = "1wd5pdnbaafj33bbg188w0iz28ps4cyjangb12g2s9dyic29zjqv";
     };
 
     postUnpack = ''
diff --git a/nixpkgs/pkgs/development/tools/build-managers/gn/default.nix b/nixpkgs/pkgs/development/tools/build-managers/gn/default.nix
index d5559768d6fc..8c1b55fc5c9a 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/gn/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/gn/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchgit, fetchzip, fetchpatch, darwin, writeText
-, git, ninja, python }:
+, git, ninja, python2 }:
 
 let
   rev = "96ff462cddf35f98e25fd5d098fc27bc81eab94a";
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
       --replace "NSArray<NSString*>*" "NSArray*"
   '';
 
-  nativeBuildInputs = [ ninja python git ];
+  nativeBuildInputs = [ ninja python2 git ];
   buildInputs = lib.optionals stdenv.isDarwin (with darwin; with apple_sdk.frameworks; [
     libobjc
     cctools
diff --git a/nixpkgs/pkgs/development/tools/build-managers/leiningen/default.nix b/nixpkgs/pkgs/development/tools/build-managers/leiningen/default.nix
index 4faf524af117..30422c353afc 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/leiningen/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/leiningen/default.nix
@@ -3,18 +3,18 @@
 
 stdenv.mkDerivation rec {
   pname = "leiningen";
-  version = "2.8.1";
+  version = "2.8.3";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://raw.github.com/technomancy/leiningen/${version}/bin/lein-pkg";
-    sha256 = "0wk4m7m66xxx7i3nis08mc8qna7acgcmpim562vdyyrpbxdhj24i";
+    sha256 = "1jbrm4vdvwskbi9sxvn6i7h2ih9c3nfld63nx58nblghvlcb9vwx";
   };
 
   jarsrc = fetchurl {
     # NOTE: This is actually a .jar, Github has issues
     url = "https://github.com/technomancy/leiningen/releases/download/${version}/${name}-standalone.zip";
-    sha256 = "0n3wkb0a9g25r1xq93lskay2lw210qymz2qakjnl5vr5zz3vnjgw";
+    sha256 = "07kb7d84llp24l959gndnfmislnnvgpsxghmgfdy8chy7g4sy2kz";
   };
 
   JARNAME = "${name}-standalone.jar";
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch
index 382c2f0c05b2..591927c15285 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch
+++ b/nixpkgs/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch
@@ -1,6 +1,6 @@
 --- a/mesonbuild/coredata.py
 +++ b/mesonbuild/coredata.py
-@@ -298,18 +298,13 @@
+@@ -375,18 +375,13 @@
          '''
          if option.endswith('dir') and os.path.isabs(value) and \
             option not in builtin_dir_noprefix_options:
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/default.nix b/nixpkgs/pkgs/development/tools/build-managers/meson/default.nix
index 13f61fb16177..96e044073259 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/meson/default.nix
@@ -1,12 +1,12 @@
 { lib, python3Packages, stdenv, writeTextDir, substituteAll, targetPackages }:
 
 python3Packages.buildPythonApplication rec {
-  version = "0.48.2";
+  version = "0.49.0";
   pname = "meson";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1shfbr0mf8gmwpw5ivrmwp8282qw9mfhxmccd7fsgidp4x3nslby";
+    sha256 = "0895igla1qav8k250z2qv03a0fg491wzzkfpbk50wwq848vmbkd0";
   };
 
   postFixup = ''
@@ -44,6 +44,13 @@ python3Packages.buildPythonApplication rec {
       src = ./fix-rpath.patch;
       inherit (builtins) storeDir;
     })
+  ] ++ lib.optionals stdenv.isDarwin [
+    # We use custom Clang, which makes Meson think *not Apple*, while still
+    # relying on system linker. When it detects standard Clang, Meson will
+    # pass it `-Wl,-O1` flag but optimizations are not recognized by
+    # Mac linker.
+    # https://github.com/mesonbuild/meson/issues/4784
+    ./fix-objc-linking.patch
   ];
 
   setupHook = ./setup-hook.sh;
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch
new file mode 100644
index 000000000000..60a205828f5d
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch
@@ -0,0 +1,20 @@
+--- a/mesonbuild/environment.py
++++ b/mesonbuild/environment.py
+@@ -795,7 +795,7 @@
+                 compiler_type = self.get_gnu_compiler_type(defines)
+                 version = self.get_gnu_version_from_defines(defines)
+                 return GnuObjCCompiler(ccache + compiler, version, compiler_type, is_cross, exe_wrap, defines)
+-            if out.startswith('Apple LLVM'):
++            if out.startswith('Apple LLVM') or mesonlib.for_darwin(want_cross, self):
+                 return ClangObjCCompiler(ccache + compiler, version, CompilerType.CLANG_OSX, is_cross, exe_wrap)
+             if out.startswith('clang'):
+                 return ClangObjCCompiler(ccache + compiler, version, CompilerType.CLANG_STANDARD, is_cross, exe_wrap)
+@@ -822,7 +822,7 @@
+                 compiler_type = self.get_gnu_compiler_type(defines)
+                 version = self.get_gnu_version_from_defines(defines)
+                 return GnuObjCPPCompiler(ccache + compiler, version, compiler_type, is_cross, exe_wrap, defines)
+-            if out.startswith('Apple LLVM'):
++            if out.startswith('Apple LLVM') or mesonlib.for_darwin(want_cross, self):
+                 return ClangObjCPPCompiler(ccache + compiler, version, CompilerType.CLANG_OSX, is_cross, exe_wrap)
+             if out.startswith('clang'):
+                 return ClangObjCPPCompiler(ccache + compiler, version, CompilerType.CLANG_STANDARD, is_cross, exe_wrap)
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch
index 30ecb30ee932..1a5f8cb89dce 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch
+++ b/nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch
@@ -1,27 +1,18 @@
 --- a/mesonbuild/compilers/compilers.py
 +++ b/mesonbuild/compilers/compilers.py
-@@ -1112,6 +1112,8 @@
-         for p in rpath_paths:
-             if p == from_dir:
-                 relative = '' # relpath errors out in this case
-+            elif os.path.isabs(p):
-+                relative = p # These can be outside of build dir.
-             else:
-                 relative = os.path.relpath(os.path.join(build_dir, p), os.path.join(build_dir, from_dir))
-             rel_rpaths.append(relative)
-@@ -1121,8 +1123,10 @@
-             if paths != '':
-                 paths += ':'
-             paths += build_rpath
--        if len(paths) < len(install_rpath):
--            padding = 'X' * (len(install_rpath) - len(paths))
-+        store_paths = ':'.join(filter(lambda path: path.startswith('@storeDir@'), paths.split(':')))
-+        extra_space_needed = len(install_rpath + (':' if install_rpath and store_paths else '') + store_paths) - len(paths)
-+        if extra_space_needed > 0:
-+            padding = 'X' * extra_space_needed
-             if not paths:
-                 paths = padding
-             else:
+@@ -1202,8 +1202,10 @@
+             # In order to avoid relinking for RPATH removal, the binary needs to contain just
+             # enough space in the ELF header to hold the final installation RPATH.
+             paths = ':'.join(all_paths)
+-            if len(paths) < len(install_rpath):
+-                padding = 'X' * (len(install_rpath) - len(paths))
++            store_paths = ':'.join(filter(lambda path: path.startswith('@storeDir@'), all_paths))
++            extra_space_needed = len(install_rpath + (':' if install_rpath and store_paths else '') + store_paths) - len(paths)
++            if extra_space_needed > 0:
++                padding = 'X' * extra_space_needed
+                 if not paths:
+                     paths = padding
+                 else:
 --- a/mesonbuild/scripts/depfixer.py
 +++ b/mesonbuild/scripts/depfixer.py
 @@ -303,6 +303,14 @@
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
index b7667ed493f2..7a33d4127fae 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
+++ b/nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
@@ -1,6 +1,6 @@
 --- a/mesonbuild/modules/gnome.py
 +++ b/mesonbuild/modules/gnome.py
-@@ -780,6 +780,13 @@
+@@ -805,6 +805,13 @@
          scan_command += self._scan_langs(state, [lc[0] for lc in langs_compilers])
          scan_command += list(external_ldflags)
  
diff --git a/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix b/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix
index b909b3953fa5..e200884bf940 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mill-${version}";
-  version = "0.3.5";
+  version = "0.3.6";
 
   src = fetchurl {
     url = "https://github.com/lihaoyi/mill/releases/download/${version}/${version}";
-    sha256 = "19ka81f6vjr85gd8cadn0fv0i0qcdspx2skslfksklxdxs2gasf8";
+    sha256 = "1dal08l96a5w8g27vxpsykbwcpfbna4prxqvqk89n0y9jn9s44l1";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix b/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix
index deea53c9d38b..74e30aa0e6dd 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, which, curl, makeWrapper, jdk }:
 
 let
-  rev = "33b1a535656222810572d36d10afc5711515958e";
-  version = "2018-12-04";
+  rev = "a9f2e2592d069313329971930d1740943d19ef91";
+  version = "2019-01-30";
 in
 stdenv.mkDerivation {
   name = "sbt-extras-${version}";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     owner = "paulp";
     repo = "sbt-extras";
     inherit rev;
-    sha256 = "0195b47a6agzs750il1lirm2rhlz55f59sb8mdi6573fnj6f23d3";
+    sha256 = "1kkpsd3fb8lm631bwjj41x4i9a5m88y2f3flzs918y12bjkli8ji";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix b/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix
index d6eed35e30ae..8110027b6cfc 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "sbt-${version}";
-  version = "1.2.7";
+  version = "1.2.8";
 
   src = fetchurl {
     urls = [
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
       "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz"
       "https://cocl.us/sbt-${version}.tgz"
     ];
-    sha256 = "10g7a1j2knbqmnbpvfhy1rqdg2pflmasz879ax59pv3mvgccn996";
+    sha256 = "0n7yghnb1q3lyjpv721znvslk5lwib7y84mxwz66yv8p84jj3fcv";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix b/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix
index 3bd31523412a..2d0bf244370f 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix
@@ -3,16 +3,12 @@
 let
   mkScons = args: callPackage (import ./common.nix args) { };
 in {
-  scons_2_5_1 = mkScons {
-    version = "2.5.1";
-    sha256 = "1wji1z9jdkhnmm99apx6fhld9cs52rr56aigniyrcsmlwy52298b";
-  };
-  scons_3_0_0 = mkScons {
-    version = "3.0.0";
-    sha256 = "05jjykllk4icnq6gfrkgkbc4ggxm7983q6r33mrhpilqbd02ylqg";
-  };
   scons_3_0_1 = mkScons {
     version = "3.0.1";
     sha256 = "0wzid419mlwqw9llrg8gsx4nkzhqy16m4m40r0xnh6cwscw5wir4";
   };
+  scons_latest = mkScons {
+    version = "3.0.4";
+    sha256 = "06lv3pmdz5l23rx3kqsi1k712bdl36i942hgbjh209s94mpb7f72";
+  };
 }
diff --git a/nixpkgs/pkgs/development/tools/build-managers/tup/default.nix b/nixpkgs/pkgs/development/tools/build-managers/tup/default.nix
index fd27d927bd57..19256e39c33c 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/tup/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/tup/default.nix
@@ -1,21 +1,22 @@
-{ stdenv, fetchFromGitHub, fuse, pkgconfig }:
+{ stdenv, fetchFromGitHub, fuse, pkgconfig, pcre }:
 
 stdenv.mkDerivation rec {
   name = "tup-${version}";
-  version = "0.7.5";
+  version = "0.7.8";
 
   src = fetchFromGitHub {
     owner = "gittup";
     repo = "tup";
     rev = "v${version}";
-    sha256 = "0jzp1llq6635ldb7j9qb29j2k0x5mblimdqg3179dvva1hv0ia23";
+    sha256 = "07dmz712zbs5kayf98kywp7blssgh0y2gc1623jbsynmqwi77mcb";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ fuse ];
+  buildInputs = [ fuse pcre ];
 
   configurePhase = ''
-    sed -i 's/`git describe`/v${version}/g' Tupfile
+    sed -i 's/`git describe`/v${version}/g' src/tup/link.sh
+    sed -i 's/pcre-confg/pkg-config pcre/g' Tupfile Tuprules.tup
   '';
 
   # Regular tup builds require fusermount to have suid, which nix cannot
@@ -23,6 +24,7 @@ stdenv.mkDerivation rec {
   # generate' instead
   buildPhase = ''
     ./build.sh
+    ./build/tup init
     ./build/tup generate script.sh
     ./script.sh
   '';
diff --git a/nixpkgs/pkgs/development/tools/cargo-web/default.nix b/nixpkgs/pkgs/development/tools/cargo-web/default.nix
index e350e475f73c..1feaf2c79a9d 100644
--- a/nixpkgs/pkgs/development/tools/cargo-web/default.nix
+++ b/nixpkgs/pkgs/development/tools/cargo-web/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, fetchFromGitHub, openssl, pkgconfig, rustPlatform
+{ stdenv, fetchFromGitHub, openssl, perl, pkgconfig, rustPlatform
 , CoreServices, Security
 }:
 
 rustPlatform.buildRustPackage rec {
   name = "cargo-web-${version}";
-  version = "0.6.15";
+  version = "0.6.23";
 
   src = fetchFromGitHub {
     owner = "koute";
     repo = "cargo-web";
     rev = version;
-    sha256 = "076g7cd9v53vi8xvd4kfsiyzw1m2hhd1lwlwcv2dx2s5vlw4dxzh";
+    sha256 = "1qbi3z4x39il07xlhfvq5ckzjqrf0yf6p8qidf24fp92gb940zxr";
   };
 
-  cargoSha256 = "157av9zkirr00w9v11mh7yp8w36sy7rw6i80i5jmi0mgrdvcg5si";
+  cargoSha256 = "16wzgyn3k0yn70y0ciliyx1sjgppmkv9b4bn9p4x0qi6l0ah7fdp";
 
-  nativeBuildInputs = [ openssl pkgconfig ];
+  nativeBuildInputs = [ openssl perl pkgconfig ];
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices Security ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/tools/clang-tools/default.nix b/nixpkgs/pkgs/development/tools/clang-tools/default.nix
index e09da0287c76..42bcf7fd055f 100644
--- a/nixpkgs/pkgs/development/tools/clang-tools/default.nix
+++ b/nixpkgs/pkgs/development/tools/clang-tools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, makeWrapper, writeScript, llvmPackages }:
+{ stdenv, writeScript, llvmPackages }:
 
 let
   clang = llvmPackages.clang-unwrapped;
@@ -7,8 +7,9 @@ in
 
 stdenv.mkDerivation {
   name = "clang-tools-${version}";
-  builder = writeScript "builder" ''
-    source $stdenv/setup
+  unpackPhase = ":";
+  installPhase = ''
+    mkdir -p $out/bin
     for tool in \
       clang-apply-replacements \
       clang-check \
@@ -16,11 +17,9 @@ stdenv.mkDerivation {
       clang-rename \
       clang-tidy
     do
-      makeWrapper $clang/bin/$tool $out/bin/$tool --argv0 $tool
+      ln -s ${clang}/bin/$tool $out/bin/$tool
     done
   '';
-  buildInputs = [ makeWrapper ];
-  inherit clang;
   meta = clang.meta // {
     description = "Standalone command line tools for C++ development";
     maintainers = with stdenv.lib.maintainers; [ aherrmann ];
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/3.x.nix b/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/3.x.nix
index 2ceaee5650b2..e8266c2efe2c 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/3.x.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/3.x.nix
@@ -1,12 +1,15 @@
-{ callPackage, fetchFromGitHub, ... } @ args:
+{ bash, callPackage, fetchFromGitHub, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
   src = fetchFromGitHub {
     owner = "buildkite";
     repo = "agent";
     rev = "v${version}";
-    sha256 = "09smyrzp1xkczlmh8vqb7bmjb2b5d6yf9birjgaw36c6m44bpfvs";
+    sha256 = "0sr1rxl92d4wdipl66f1yymx5bmyj1y85v6k22v57rzr6yhyfmsf";
   };
-  version = "3.0.1";
+  version = "3.8.4";
   hasBootstrapScript = false;
+  postPatch = ''
+    substituteInPlace bootstrap/shell/shell.go --replace /bin/bash ${bash}/bin/bash
+  '';
 })
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix b/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix
index 8aa02ac307dd..ba0be89abf3d 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix
@@ -1,5 +1,5 @@
 { stdenv, buildGoPackage, makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep
-, src, version, hasBootstrapScript
+, src, version, hasBootstrapScript, postPatch ? ""
 , ... }:
 let
   goPackagePath = "github.com/buildkite/agent";
@@ -7,14 +7,10 @@ in
 buildGoPackage {
   name = "buildkite-agent-${version}";
 
-  inherit goPackagePath src;
+  inherit goPackagePath src postPatch;
 
   nativeBuildInputs = [ makeWrapper ];
 
-  # on Linux, the TMPDIR is /build which is the same prefix as this package
-  # remove once #35068 is merged
-  noAuditTmpdir = stdenv.isLinux;
-
   postInstall = ''
     ${stdenv.lib.optionalString hasBootstrapScript ''
     # Install bootstrap.sh
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 93f389e6879a..ae9fa6b3690c 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl }:
 
 let
-  version = "11.6.0";
+  version = "11.7.0";
   # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
   docker_x86_64 = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-x86_64.tar.xz";
-    sha256 = "16xwj962biny18ci8lvfc6r6jq9vcdlc8vs6w7d5yzvd9x55rvwd";
+    sha256 = "1q8m2hi85kh01lz6agp76ppny3ik5m61v5l3ipha4jf6k90140k8";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz";
-    sha256 = "05wb7imly0c5zqmxrgdpls8izsq1g409nh31yf6j0sr76m8qkvf9";
+    sha256 = "1325jh984hv7yhc977d271866i5gq78lmw4h16sj5i8zny4wzgz5";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "1g9wyi9n9xvynvn7c8kjzm5pznyw7w4ziklxjniaa69idzgvbl5g";
+    sha256 = "119azvkbx6gmmh7y166jxaja0a6n8lghmslsyar95dxw8akxrfzz";
   };
 
   patches = [ ./fix-shell-path.patch ];
diff --git a/nixpkgs/pkgs/development/tools/coursier/default.nix b/nixpkgs/pkgs/development/tools/coursier/default.nix
index 7e660f3fcd90..4aa28be1326d 100644
--- a/nixpkgs/pkgs/development/tools/coursier/default.nix
+++ b/nixpkgs/pkgs/development/tools/coursier/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "coursier-${version}";
-  version = "1.0.1";
+  version = "1.1.0-M10";
 
   src = fetchurl {
     url = "https://github.com/coursier/coursier/raw/v${version}/coursier";
-    sha256 = "1rn1vb33zfl9iy80fhqvi9ykdjxz029nah5yfr5xixcx9al0bai3";
+    sha256 = "14iq0717vdm0mj0196idc724vmxp1y0f3gfn41sbqahfhvcx05y8";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/database/ephemeralpg/default.nix b/nixpkgs/pkgs/development/tools/database/ephemeralpg/default.nix
new file mode 100644
index 000000000000..e136b180d78c
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/database/ephemeralpg/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, postgresql, getopt, makeWrapper }:
+stdenv.mkDerivation rec {
+  name = "ephemeralpg-${version}";
+  version = "2.5";
+  src = fetchurl {
+    url = "http://ephemeralpg.org/code/${name}.tar.gz";
+    sha256 = "004fcll7248h73adkqawn9bhkqj9wsxyi3w99x64f7s37r2518wk";
+  };
+  buildInputs = [ makeWrapper ];
+  installPhase = ''
+    mkdir -p $out
+    PREFIX=$out make install
+    wrapProgram $out/bin/pg_tmp --prefix PATH : ${stdenv.lib.makeBinPath [ postgresql getopt ]}
+  '';
+  meta = with stdenv.lib; {
+    description = ''Run tests on an isolated, temporary PostgreSQL database.'';
+    license = licenses.isc;
+    homepage = http://ephemeralpg.org/;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ hrdinka ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/database/litecli/default.nix b/nixpkgs/pkgs/development/tools/database/litecli/default.nix
new file mode 100644
index 000000000000..cbf1af440575
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/database/litecli/default.nix
@@ -0,0 +1,51 @@
+{ lib, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "litecli";
+  version = "1.0.0";
+
+  # Python 2 won't have prompt_toolkit 2.x.x
+  # See: https://github.com/NixOS/nixpkgs/blob/f49e2ad3657dede09dc998a4a98fd5033fb52243/pkgs/top-level/python-packages.nix#L3408
+  disabled = python3Packages.isPy27;
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "0s5a6r5q09144cc5169snwis5i2jrh3z2g4mw9wi2fsjxyhgpwq5";
+  };
+
+  # fixes tests https://github.com/dbcli/litecli/pull/53
+  postPatch = ''
+    substituteInPlace litecli/main.py \
+      --replace 'except FileNotFoundError:' 'except (FileNotFoundError, OSError):'
+  '';
+
+  propagatedBuildInputs = with python3Packages; [
+    cli-helpers
+    click
+    configobj
+    prompt_toolkit
+    pygments
+    sqlparse
+  ];
+
+  checkInputs = with python3Packages; [
+    pytest
+    mock
+  ];
+
+  preCheck = ''
+    export XDG_CONFIG_HOME=$TMP
+    # add missing file
+    echo "litecli is awesome!" > tests/test.txt
+  '';
+
+  meta = with lib; {
+    description = "Command-line interface for SQLite";
+    longDescription = ''
+      A command-line client for SQLite databases that has auto-completion and syntax highlighting.
+    '';
+    homepage = https://litecli.com;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ Scriptkiddi ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/database/pg_tmp/default.nix b/nixpkgs/pkgs/development/tools/database/pg_tmp/default.nix
deleted file mode 100644
index b7d960d5af48..000000000000
--- a/nixpkgs/pkgs/development/tools/database/pg_tmp/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ fetchFromBitbucket, stdenv }:
-
-stdenv.mkDerivation rec {
-  name = "pg_tmp-${version}";
-  version = "2.3";
-
-  src = fetchFromBitbucket {
-    owner = "eradman";
-    repo = "ephemeralpg";
-    rev = "ephemeralpg-${version}";
-    sha256 = "0j0va9pch2xhwwx4li3qx3lkgrd79c0hcy5w5y1cqax571hv89wa";
-  };
-
-  installPhase = ''
-    PREFIX=$out make install
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = http://ephemeralpg.org;
-    description = "Run tests on an isolated, temporary PostgreSQL database";
-    license = licenses.isc;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ hrdinka ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/tools/database/pgcli/default.nix b/nixpkgs/pkgs/development/tools/database/pgcli/default.nix
index f9e60e3e492c..f2346480776c 100644
--- a/nixpkgs/pkgs/development/tools/database/pgcli/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/pgcli/default.nix
@@ -2,7 +2,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pgcli";
-  version = "2.0.1";
+  version = "2.0.2";
 
   # Python 2 won't have prompt_toolkit 2.x.x
   # See: https://github.com/NixOS/nixpkgs/blob/f49e2ad3657dede09dc998a4a98fd5033fb52243/pkgs/top-level/python-packages.nix#L3408
@@ -10,7 +10,7 @@ python3Packages.buildPythonApplication rec {
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "149naq3gp1n922vag7vixs0hd114bpbmbmv70k4kzc1q7jz748l2";
+    sha256 = "1p4j2dbcfxd3kz86qi519jkqjx1mg5wdgn1gxdjx3lk1vpsd7x04";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/development/tools/database/shmig/default.nix b/nixpkgs/pkgs/development/tools/database/shmig/default.nix
index 49e90ce64c87..f65347889382 100644
--- a/nixpkgs/pkgs/development/tools/database/shmig/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/shmig/default.nix
@@ -1,17 +1,18 @@
 { stdenv, fetchFromGitHub
-, withMySQL ? false, withPSQL ? false, withSQLite ? false
-, mysql, postgresql, sqlite, gawk, which
+, withMySQL ? true, withPSQL ? false, withSQLite ? false
+, mysql, postgresql, sqlite, gawk
 , lib
 }:
 
-stdenv.mkDerivation {
-  name = "shmig-2017-07-24";
+stdenv.mkDerivation rec {
+  name = "shmig-${version}";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "mbucc";
     repo = "shmig";
-    rev = "aff54e03d13f8f95b422cf898505490a56152a4a";
-    sha256 = "08q94dka5yqkzkis3w7j1q8kc7d3kk7mb2drx8ms59jcqvp847j3";
+    rev = "v${version}";
+    sha256 = "15ry1d51d6dlzzzhck2x57wrq48vs4n9pp20bv2sz6nk92fva5l5";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
@@ -23,8 +24,7 @@ stdenv.mkDerivation {
       --replace "\`which mysql\`" "${lib.optionalString withMySQL "${mysql.client}/bin/mysql"}" \
       --replace "\`which psql\`" "${lib.optionalString withPSQL "${postgresql}/bin/psql"}" \
       --replace "\`which sqlite3\`" "${lib.optionalString withSQLite "${sqlite}/bin/sqlite3"}" \
-      --replace "awk" "${gawk}/bin/awk" \
-      --replace "which" "${which}/bin/which"
+      --replace "awk" "${gawk}/bin/awk"
   '';
 
   preBuild = ''
diff --git a/nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix b/nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix
index 1b4a4b7f50b2..929dfc61ba33 100644
--- a/nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix
@@ -16,6 +16,10 @@ mkDerivation rec {
 
   nativeBuildInputs = [ cmake antlr qttools ];
 
+  NIX_LDFLAGS = [
+    "-lQt5PrintSupport"
+  ];
+
   enableParallelBuilding = true;
 
   # We have to patch out Test and PrintSupport to make this work with Qt 5.9
diff --git a/nixpkgs/pkgs/development/tools/detect-secrets/default.nix b/nixpkgs/pkgs/development/tools/detect-secrets/default.nix
index c341e2eb7101..76bdb6bb6ba4 100644
--- a/nixpkgs/pkgs/development/tools/detect-secrets/default.nix
+++ b/nixpkgs/pkgs/development/tools/detect-secrets/default.nix
@@ -2,20 +2,20 @@
 
 buildPythonApplication rec {
   pname = "detect-secrets";
-  version = "0.11.0";
+  version = "0.11.4";
 
   # PyPI tarball doesn't ship tests
   src = fetchFromGitHub {
     owner = "Yelp";
     repo = "detect-secrets";
     rev = "v${version}";
-    sha256 = "11r11q6d8aajqqnhhz4lsa93qf1x745331kl9jd3z4y4w91l4gdz";
+    sha256 = "1ydigridkjirrfhyfr8barw0yrd4hw6w0k9g7mbd0gdqng6gpmgc";
   };
 
-  propagatedBuildInputs = [ pyyaml unidiff ]
+  propagatedBuildInputs = [ pyyaml ]
     ++ lib.optionals isPy27 [ configparser enum34 future functools32 ];
 
-  checkInputs = [ mock pytest ];
+  checkInputs = [ mock pytest unidiff ];
 
   # deselect tests which require git setup
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/tools/doctl/default.nix b/nixpkgs/pkgs/development/tools/doctl/default.nix
index be852066bfcc..6acc977247c7 100644
--- a/nixpkgs/pkgs/development/tools/doctl/default.nix
+++ b/nixpkgs/pkgs/development/tools/doctl/default.nix
@@ -4,8 +4,8 @@ buildGoPackage rec {
   name = "doctl-${version}";
   version = "${major}.${minor}.${patch}";
   major = "1";
-  minor = "8";
-  patch = "0";
+  minor = "12";
+  patch = "2";
   goPackagePath = "github.com/digitalocean/doctl";
 
   excludedPackages = ''\(doctl-gen-doc\|install-doctl\|release-doctl\)'';
@@ -21,7 +21,7 @@ buildGoPackage rec {
     owner = "digitalocean";
     repo   = "doctl";
     rev    = "v${version}";
-    sha256 = "1h94qagbni8cvzdparmgx3m9qcnbwbk0kjlvy9jzxfd3vcpbg38j";
+    sha256 = "01li9ywzvmzmhqgk9a5li2wkqmdn7jl8pqz2rn7dnay4fr2259fv";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/tools/documentation/doxygen/default.nix b/nixpkgs/pkgs/development/tools/documentation/doxygen/default.nix
index d25f00276f62..d7dcb4259633 100644
--- a/nixpkgs/pkgs/development/tools/documentation/doxygen/default.nix
+++ b/nixpkgs/pkgs/development/tools/documentation/doxygen/default.nix
@@ -2,11 +2,14 @@
 
 stdenv.mkDerivation rec {
 
-  name = "doxygen-1.8.14";
+  name = "doxygen-1.8.15";
 
   src = fetchurl {
-    url = "ftp://ftp.stack.nl/pub/users/dimitri/${name}.src.tar.gz";
-    sha256 = "d1757e02755ef6f56fd45f1f4398598b920381948d6fcfa58f5ca6aa56f59d4d";
+    urls = [
+      "mirror://sourceforge/doxygen/${name}.src.tar.gz" # faster, with https, etc.
+      "http://doxygen.nl/files/${name}.src.tar.gz"
+    ];
+    sha256 = "bd9c0ec462b6a9b5b41ede97bede5458e0d7bb40d4cfa27f6f622eb33c59245d";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -29,7 +32,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     license = stdenv.lib.licenses.gpl2Plus;
-    homepage = http://doxygen.org/;
+    homepage = http://doxygen.nl/;
     description = "Source code documentation generator tool";
 
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/tools/documentation/gtk-doc/default.nix b/nixpkgs/pkgs/development/tools/documentation/gtk-doc/default.nix
index 0213eca30d22..c55b2510e650 100644
--- a/nixpkgs/pkgs/development/tools/documentation/gtk-doc/default.nix
+++ b/nixpkgs/pkgs/development/tools/documentation/gtk-doc/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, autoreconfHook, pkgconfig, perl, python, libxml2Python, libxslt, which
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, perl, python3, libxml2Python, libxslt, which
 , docbook_xml_dtd_43, docbook_xsl, gnome-doc-utils, gettext, itstool
 , withDblatex ? false, dblatex
 }:
 
 stdenv.mkDerivation rec {
   name = "gtk-doc-${version}";
-  version = "1.28";
+  version = "1.29";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk-doc/${version}/${name}.tar.xz";
-    sha256 = "05apmwibkmn1icx05l8aw241lhymcx01zvk5i499cb150bijj7li";
+    sha256 = "1cc6yl8l275qn3zpjl6f0s4fwmkczngjr9hhsdv74mln4h08wmql";
   };
 
   patches = [
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs =
-    [ pkgconfig perl python libxml2Python libxslt docbook_xml_dtd_43 docbook_xsl
+    [ pkgconfig perl python3 libxml2Python libxslt docbook_xml_dtd_43 docbook_xsl
       gnome-doc-utils gettext which itstool
     ] ++ stdenv.lib.optional withDblatex dblatex;
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   # Make six available for binaries, python.withPackages creates a wrapper
   # but scripts are not allowed in shebangs so we link it into sys.path.
   postInstall = ''
-    ln -s ${python.pkgs.six}/${python.sitePackages}/* $out/share/gtk-doc/python/
+    ln -s ${python3.pkgs.six}/${python3.sitePackages}/* $out/share/gtk-doc/python/
   '';
 
   doCheck = false; # requires a lot of stuff
diff --git a/nixpkgs/pkgs/development/tools/dtools/default.nix b/nixpkgs/pkgs/development/tools/dtools/default.nix
index b1703cd45dd5..ccfcfaace014 100644
--- a/nixpkgs/pkgs/development/tools/dtools/default.nix
+++ b/nixpkgs/pkgs/development/tools/dtools/default.nix
@@ -2,21 +2,21 @@
 
 stdenv.mkDerivation rec {
   name = "dtools-${version}";
-  version = "2.081.2";
+  version = "2.084.0";
 
   srcs = [
     (fetchFromGitHub {
       owner = "dlang";
       repo = "dmd";
       rev = "v${version}";
-      sha256 = "1wwk4shqldvgyczv1ihmljpfj3yidq7mxcj69i9kjl7jqx54hw62";
+      sha256 = "1v61spdamncl8c1bzjc19b03p4jl0ih5zq9b7cqsy9ix7qaxmikf";
       name = "dmd";
     })
     (fetchFromGitHub {
       owner = "dlang";
       repo = "tools";
       rev = "v${version}";
-      sha256 = "1sbcfj8r1nvy7ynh9dy55q9bvfvxwf1z3llpxckvi8p6yvf35qn2";
+      sha256 = "0z3xkv9s1pdx8zdhsb92mwax2q5xhwjgh6g3iv53xip1nsxygn48";
       name = "dtools";
     })
   ];
diff --git a/nixpkgs/pkgs/development/tools/egg2nix/chicken-eggs.nix b/nixpkgs/pkgs/development/tools/egg2nix/chicken-eggs.nix
deleted file mode 100644
index 1f786f127c91..000000000000
--- a/nixpkgs/pkgs/development/tools/egg2nix/chicken-eggs.nix
+++ /dev/null
@@ -1,296 +0,0 @@
-{ pkgs }:
-rec {
-  inherit (pkgs) eggDerivation fetchegg;
-
-  base64 = eggDerivation {
-    name = "base64-3.3.1";
-
-    src = fetchegg {
-      name = "base64";
-      version = "3.3.1";
-      sha256 = "0wmldiwwg1jpcn07wb906nc53si5j7sa83wgyq643xzqcx4v4x1d";
-    };
-
-    buildInputs = [
-      
-    ];
-  };
-
-  blob-utils = eggDerivation {
-    name = "blob-utils-1.0.3";
-
-    src = fetchegg {
-      name = "blob-utils";
-      version = "1.0.3";
-      sha256 = "17vdn02fnxnjx5ixgqimln93lqvzyq4y9w02fw7xnbdcjzqm0xml";
-    };
-
-    buildInputs = [
-      setup-helper
-      string-utils
-    ];
-  };
-
-  check-errors = eggDerivation {
-    name = "check-errors-1.13.0";
-
-    src = fetchegg {
-      name = "check-errors";
-      version = "1.13.0";
-      sha256 = "12a0sn82n98jybh72zb39fdddmr5k4785xglxb16750fhy8rmjwi";
-    };
-
-    buildInputs = [
-      setup-helper
-    ];
-  };
-
-  defstruct = eggDerivation {
-    name = "defstruct-1.6";
-
-    src = fetchegg {
-      name = "defstruct";
-      version = "1.6";
-      sha256 = "0lsgl32nmb5hxqiii4r3292cx5vqh50kp6v062nfiyid9lhrj0li";
-    };
-
-    buildInputs = [
-      
-    ];
-  };
-
-  http-client = eggDerivation {
-    name = "http-client-0.7.1";
-
-    src = fetchegg {
-      name = "http-client";
-      version = "0.7.1";
-      sha256 = "1s03zgmb7kb99ld0f2ylqgicrab9qgza53fkgsqvg7bh5njmzhxr";
-    };
-
-    buildInputs = [
-      intarweb
-      uri-common
-      message-digest
-      md5
-      string-utils
-      sendfile
-    ];
-  };
-
-  intarweb = eggDerivation {
-    name = "intarweb-1.3";
-
-    src = fetchegg {
-      name = "intarweb";
-      version = "1.3";
-      sha256 = "0izlby78c25py29bdcbc0vapb6h7xgchqrzi6i51d0rb3mnwy88h";
-    };
-
-    buildInputs = [
-      defstruct
-      uri-common
-      base64
-    ];
-  };
-
-  lookup-table = eggDerivation {
-    name = "lookup-table-1.13.5";
-
-    src = fetchegg {
-      name = "lookup-table";
-      version = "1.13.5";
-      sha256 = "1nzly6rhynawlvzlyilk8z8cxz57cf9n5iv20glkhh28pz2izmrb";
-    };
-
-    buildInputs = [
-      setup-helper
-      check-errors
-      miscmacros
-      record-variants
-      synch
-    ];
-  };
-
-  matchable = eggDerivation {
-    name = "matchable-3.3";
-
-    src = fetchegg {
-      name = "matchable";
-      version = "3.3";
-      sha256 = "07y3lpzgm4djiwi9y2adc796f9kwkmdr28fkfkw65syahdax8990";
-    };
-
-    buildInputs = [
-      
-    ];
-  };
-
-  md5 = eggDerivation {
-    name = "md5-3.1.0";
-
-    src = fetchegg {
-      name = "md5";
-      version = "3.1.0";
-      sha256 = "0bka43nx8x9b0b079qpvml2fl20km19ny0qjmhwzlh6rwmzazj2a";
-    };
-
-    buildInputs = [
-      message-digest
-    ];
-  };
-
-  message-digest = eggDerivation {
-    name = "message-digest-3.1.0";
-
-    src = fetchegg {
-      name = "message-digest";
-      version = "3.1.0";
-      sha256 = "1w6bax19dwgih78vcimiws0rja7qsd8hmbm6qqg2hf9cw3vab21s";
-    };
-
-    buildInputs = [
-      setup-helper
-      miscmacros
-      check-errors
-      variable-item
-      blob-utils
-      string-utils
-    ];
-  };
-
-  miscmacros = eggDerivation {
-    name = "miscmacros-2.96";
-
-    src = fetchegg {
-      name = "miscmacros";
-      version = "2.96";
-      sha256 = "1ajdgjrni10i2hmhcp4rawnxajjxry3kmq1krdmah4sf0kjrgajc";
-    };
-
-    buildInputs = [
-      
-    ];
-  };
-
-  record-variants = eggDerivation {
-    name = "record-variants-0.5.1";
-
-    src = fetchegg {
-      name = "record-variants";
-      version = "0.5.1";
-      sha256 = "15wgysxkm8m4hx9nhhw9akchzipdnqc7yj3qd3zn0z7sxg4sld1h";
-    };
-
-    buildInputs = [
-      
-    ];
-  };
-
-  sendfile = eggDerivation {
-    name = "sendfile-1.7.29";
-
-    src = fetchegg {
-      name = "sendfile";
-      version = "1.7.29";
-      sha256 = "1dc02cbkx5kixhbqjy26g6gs680vy7krc9qis1p1v4aa0b2lgj7k";
-    };
-
-    buildInputs = [
-      
-    ];
-  };
-
-  setup-helper = eggDerivation {
-    name = "setup-helper-1.5.4";
-
-    src = fetchegg {
-      name = "setup-helper";
-      version = "1.5.4";
-      sha256 = "1k644y0md2isdcvazqfm4nyc8rh3dby6b0j3r4na4w8ryspqp6gj";
-    };
-
-    buildInputs = [
-      
-    ];
-  };
-
-  string-utils = eggDerivation {
-    name = "string-utils-1.2.4";
-
-    src = fetchegg {
-      name = "string-utils";
-      version = "1.2.4";
-      sha256 = "07alvghg0dahilrm4jg44bndl0x69sv1zbna9l20cbdvi35i0jp1";
-    };
-
-    buildInputs = [
-      setup-helper
-      miscmacros
-      lookup-table
-      check-errors
-    ];
-  };
-
-  synch = eggDerivation {
-    name = "synch-2.1.2";
-
-    src = fetchegg {
-      name = "synch";
-      version = "2.1.2";
-      sha256 = "1m9mnbq0m5jsxmd1a3rqpwpxj0l1b7vn1fknvxycc047pmlcyl00";
-    };
-
-    buildInputs = [
-      setup-helper
-      check-errors
-    ];
-  };
-
-  uri-common = eggDerivation {
-    name = "uri-common-1.4";
-
-    src = fetchegg {
-      name = "uri-common";
-      version = "1.4";
-      sha256 = "01ds1gixcn4rz657x3hr4rhw2496hsjff42ninw0k39l8i1cbh7c";
-    };
-
-    buildInputs = [
-      uri-generic
-      defstruct
-      matchable
-    ];
-  };
-
-  uri-generic = eggDerivation {
-    name = "uri-generic-2.41";
-
-    src = fetchegg {
-      name = "uri-generic";
-      version = "2.41";
-      sha256 = "1r5jbzjllbnmhm5n0m3fcx0g6dc2c2jzp1dcndkfmxz0cl99zxac";
-    };
-
-    buildInputs = [
-      matchable
-      defstruct
-    ];
-  };
-
-  variable-item = eggDerivation {
-    name = "variable-item-1.3.1";
-
-    src = fetchegg {
-      name = "variable-item";
-      version = "1.3.1";
-      sha256 = "19b3mhb8kr892sz9yyzq79l0vv28dgilw9cf415kj6aq16yp4d5n";
-    };
-
-    buildInputs = [
-      setup-helper
-      check-errors
-    ];
-  };
-}
-
diff --git a/nixpkgs/pkgs/development/tools/egg2nix/chicken-eggs.scm b/nixpkgs/pkgs/development/tools/egg2nix/chicken-eggs.scm
deleted file mode 100644
index d847ae9e29b9..000000000000
--- a/nixpkgs/pkgs/development/tools/egg2nix/chicken-eggs.scm
+++ /dev/null
@@ -1,5 +0,0 @@
-;; Eggs used by egg2nix
-http-client
-intarweb
-matchable
-uri-common
diff --git a/nixpkgs/pkgs/development/tools/egg2nix/default.nix b/nixpkgs/pkgs/development/tools/egg2nix/default.nix
deleted file mode 100644
index d0f3b8a4e261..000000000000
--- a/nixpkgs/pkgs/development/tools/egg2nix/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, eggDerivation, fetchurl, chickenEggs }:
-
-# Note: This mostly reimplements the default.nix already contained in
-# the tarball. Is there a nicer way than duplicating code?
-
-let
-  version = "0.5";
-in
-eggDerivation {
-  src = fetchurl {
-    url = "https://github.com/the-kenny/egg2nix/archive/${version}.tar.gz";
-    sha256 = "0adal428v4i7h9lzs7sfq75q2mxhsbf1qqwzrsjv8j41paars20y";
-  };
-
-  name = "egg2nix-${version}";
-  buildInputs = with chickenEggs; [
-    matchable http-client
-  ];
-
-  meta = {
-    description = "Generate nix-expression from CHICKEN scheme eggs";
-    homepage = https://github.com/the-kenny/egg2nix;
-    license = stdenv.lib.licenses.bsd3;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.the-kenny ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/tools/electron/3.x.nix b/nixpkgs/pkgs/development/tools/electron/3.x.nix
new file mode 100644
index 000000000000..90a7c53be023
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/electron/3.x.nix
@@ -0,0 +1,77 @@
+{ stdenv, libXScrnSaver, makeWrapper, fetchurl, unzip, atomEnv, gtk2, at-spi2-atk }:
+
+let
+  version = "3.1.0";
+  name = "electron-${version}";
+
+  throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
+
+  meta = with stdenv.lib; {
+    description = "Cross platform desktop application shell";
+    homepage = https://github.com/electron/electron;
+    license = licenses.mit;
+    maintainers = with maintainers; [ travisbhartwell manveru ];
+    platforms = [ "x86_64-darwin" "x86_64-linux" "i686-linux" "armv7l-linux" "aarch64-linux" ];
+  };
+
+  linux = {
+    inherit name version meta;
+    src = {
+      i686-linux = fetchurl {
+        url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-ia32.zip";
+        sha256 = "09llladfj8l1vnk8fl8ad66qq4czr755fhrp5ciivpbh38zi6d3d";
+      };
+      x86_64-linux = fetchurl {
+        url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-x64.zip";
+        sha256 = "0g0af1z598f8k2i5sbkzpbga49hbgzl98qgk1n4iagk08iivyfwy";
+      };
+      armv7l-linux = fetchurl {
+        url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-armv7l.zip";
+        sha256 = "04yj58v1sqnw64csazpfcchv2498ppxs2izadpnirawk09azl3bl";
+      };
+      aarch64-linux = fetchurl {
+        url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-arm64.zip";
+        sha256 = "0cjf4i24qpgkmzb4nm89kgl07bwrncpz66xs5jjvi94pmr6wx6jm";
+      };
+    }.${stdenv.hostPlatform.system} or throwSystem;
+
+    buildInputs = [ unzip makeWrapper ];
+
+    buildCommand = ''
+      mkdir -p $out/lib/electron $out/bin
+      unzip -d $out/lib/electron $src
+      ln -s $out/lib/electron/electron $out/bin
+
+      fixupPhase
+
+      patchelf \
+        --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+        --set-rpath "${atomEnv.libPath}:${gtk2}/lib:${at-spi2-atk}/lib:$out/lib/electron" \
+        $out/lib/electron/electron
+
+      wrapProgram $out/lib/electron/electron \
+        --prefix LD_PRELOAD : ${stdenv.lib.makeLibraryPath [ libXScrnSaver ]}/libXss.so.1
+    '';
+  };
+
+  darwin = {
+    inherit name version meta;
+
+    src = fetchurl {
+      url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-darwin-x64.zip";
+      sha256 = "1cd1ashrcbdjlrr6yijyh2ppk8x8jdw5cm9qnx4lzk7sj9lwjbgb";
+    };
+
+    buildInputs = [ unzip ];
+
+    buildCommand = ''
+      mkdir -p $out/Applications
+      unzip $src
+      mv Electron.app $out/Applications
+      mkdir -p $out/bin
+      ln -s $out/Applications/Electron.app/Contents/MacOs/Electron $out/bin/electron
+    '';
+  };
+in
+
+  stdenv.mkDerivation (if stdenv.isDarwin then darwin else linux)
diff --git a/nixpkgs/pkgs/development/tools/electron/default.nix b/nixpkgs/pkgs/development/tools/electron/default.nix
index 8d0f85e24847..5a00a883f512 100644
--- a/nixpkgs/pkgs/development/tools/electron/default.nix
+++ b/nixpkgs/pkgs/development/tools/electron/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, libXScrnSaver, makeWrapper, fetchurl, unzip, atomEnv, gtk2, at-spi2-atk }:
+{ stdenv, libXScrnSaver, makeWrapper, fetchurl, unzip, atomEnv, libuuid, at-spi2-atk }:
 
 let
-  version = "3.0.5";
+  version = "4.0.0";
   name = "electron-${version}";
 
   throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
@@ -20,19 +20,19 @@ let
     src = {
       i686-linux = fetchurl {
         url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-ia32.zip";
-        sha256 = "1jrvvjx9q1aklp09fk9g5yg0qnq2gx8837d45aaig2ycy0srhdif";
+        sha256 = "0yv2f7yf6ingjysswpnpnvqsjkdkp2rd4laawhziifzbfjda4yws";
       };
       x86_64-linux = fetchurl {
         url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-x64.zip";
-        sha256 = "1bgi980zwarmxmp98nwdlfy9qnid4y65aadl66n6wwvb6hs4zjmz";
+        sha256 = "1kh2jds7jra9f1vcn2z1193cxcyvfxkldim4b9ij7chj9xzxwgln";
       };
       armv7l-linux = fetchurl {
         url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-armv7l.zip";
-        sha256 = "1ayfcy7jm7mymmbdq08id9wpjj6cja2cyix1sw2r3m8gpn4l6ih2";
+        sha256 = "1v492qfdgnj3fks2hrfc9lmsx5a5xk957rvismlpc2mjkjrwx2dq";
       };
       aarch64-linux = fetchurl {
         url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-arm64.zip";
-        sha256 = "18cqg9zb98c0rfrdg7ri26dvhjwrwzj41jn8dfra9131xc84nl3i";
+        sha256 = "18vpqif5grvhrkx6h64yzw1pf9013811gzq2qxaj8pzr6lck3irf";
       };
     }.${stdenv.hostPlatform.system} or throwSystem;
 
@@ -47,7 +47,7 @@ let
 
       patchelf \
         --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-        --set-rpath "${atomEnv.libPath}:${gtk2}/lib:${at-spi2-atk}/lib:$out/lib/electron" \
+        --set-rpath "${atomEnv.libPath}:${stdenv.lib.makeLibraryPath [ libuuid at-spi2-atk ]}:$out/lib/electron" \
         $out/lib/electron/electron
 
       wrapProgram $out/lib/electron/electron \
@@ -60,7 +60,7 @@ let
 
     src = fetchurl {
       url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-darwin-x64.zip";
-      sha256 = "18sjgb93hs73bx8wa0i8r64wdh927jdwpcsxd6pfq68lfw38g2ks";
+      sha256 = "08n3xzgncb2hf645zn8b0rb1izq9pqh3726hf2g4nvrgfllivlg1";
     };
 
     buildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/development/tools/electron/print-hashes.sh b/nixpkgs/pkgs/development/tools/electron/print-hashes.sh
new file mode 100755
index 000000000000..203e5a4dfec6
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/electron/print-hashes.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+set -eu -o pipefail
+
+if [[ $# -lt 1 ]]; then
+    echo "$0: version" >&2
+    exit 1
+fi
+
+
+VERSION=$1
+
+declare -A SYSTEMS HASHES
+SYSTEMS=(
+    [i686-linux]=linux-ia32
+    [x86_64-linux]=linux-x64
+    [armv7l-linux]=linux-armv7l
+    [aarch64-linux]=linux-arm64
+    [x86_64-darwin]=darwin-x64
+)
+
+for S in "${!SYSTEMS[@]}"; do
+  HASHES["$S"]=$(nix-prefetch-url "https://github.com/electron/electron/releases/download/v${VERSION}/electron-v${VERSION}-${SYSTEMS[$S]}.zip")
+done
+
+for S in "${!HASHES[@]}"; do
+    echo "$S"
+    echo "sha256 = \"${HASHES[$S]}\";"
+done
diff --git a/nixpkgs/pkgs/development/tools/fdroidserver/default.nix b/nixpkgs/pkgs/development/tools/fdroidserver/default.nix
new file mode 100644
index 000000000000..2bdb455f8e88
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/fdroidserver/default.nix
@@ -0,0 +1,58 @@
+{ docker
+, fetchFromGitLab
+, python
+, lib }:
+
+python.pkgs.buildPythonApplication rec {
+  version = "1.1";
+  pname = "fdroidserver";
+
+  src = fetchFromGitLab {
+    owner = "fdroid";
+    repo = "fdroidserver";
+    rev = version;
+    sha256 = "1910ali90aj3wkxy6mi88c5ya6n7zbqr69nvmpc5dydxm0gb98w5";
+  };
+
+  patchPhase = ''
+    substituteInPlace fdroidserver/common.py --replace "FDROID_PATH = os.path.realpath(os.path.join(os.path.dirname(__file__), '..'))" "FDROID_PATH = '$out/bin'"
+    substituteInPlace setup.py --replace "pyasn1-modules == 0.2.1" "pyasn1-modules"
+  '';
+
+  preConfigure = ''
+    ${python.interpreter} setup.py compile_catalog
+  '';
+  postInstall = ''
+    install -m 0755 gradlew-fdroid $out/bin
+  '';
+
+  buildInputs = [ python.pkgs.Babel ];
+
+  propagatedBuildInputs = with python.pkgs; [
+    androguard
+    clint
+    defusedxml
+    docker
+    docker-py
+    GitPython
+    libcloud
+    mwclient
+    paramiko
+    pillow
+    pyasn1
+    pyasn1-modules
+    python-vagrant
+    pyyaml
+    qrcode
+    requests
+    ruamel_yaml
+  ];
+
+  meta = with lib; {
+    homepage = https://f-droid.org;
+    description = "Server and tools for F-Droid, the Free Software repository system for Android";
+    license = licenses.agpl3;
+    maintainers = [ lib.maintainers.pmiddend ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/tools/flatpak-builder/default.nix b/nixpkgs/pkgs/development/tools/flatpak-builder/default.nix
index 530e80f4fae6..1a9d83c12947 100644
--- a/nixpkgs/pkgs/development/tools/flatpak-builder/default.nix
+++ b/nixpkgs/pkgs/development/tools/flatpak-builder/default.nix
@@ -37,7 +37,7 @@
 }:
 
 let
-  version = "1.0.1";
+  version = "1.0.2";
 in stdenv.mkDerivation rec {
   name = "flatpak-builder-${version}";
 
@@ -45,7 +45,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/flatpak/flatpak-builder/releases/download/${version}/${name}.tar.xz";
-    sha256 = "01p3j8ndk9bimnqibw3dyny0ysv6nw2f7z5im19s9jlhlzdqb48w";
+    sha256 = "0z5aaw9zvgp26szbysa3059gqsivq5ah8b6l29mqxx6ryp1nhrc1";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/tools/gauge/default.nix b/nixpkgs/pkgs/development/tools/gauge/default.nix
index 82a7b4b0e276..c750b5537913 100644
--- a/nixpkgs/pkgs/development/tools/gauge/default.nix
+++ b/nixpkgs/pkgs/development/tools/gauge/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "gauge-${version}";
-  version = "1.0.3";
+  version = "1.0.4";
 
   goPackagePath = "github.com/getgauge/gauge";
   excludedPackages = ''\(build\|man\)'';
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "getgauge";
     repo = "gauge";
     rev = "v${version}";
-    sha256 = "0dcsgszg6ilf3sxan3ahf9cfpw66z3mh2svg2srxv8ici3ak8a2x";
+    sha256 = "1b52kpv5561pyjvqi8xmidarqp6lcyyy4sjsl4qjx4cr7hmk8kc7";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/tools/gllvm/default.nix b/nixpkgs/pkgs/development/tools/gllvm/default.nix
index cae6d2255bf2..b581e71129ca 100644
--- a/nixpkgs/pkgs/development/tools/gllvm/default.nix
+++ b/nixpkgs/pkgs/development/tools/gllvm/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "gllvm-${version}";
-  version = "1.2.2";
+  version = "1.2.3";
 
   goPackagePath = "github.com/SRI-CSL/gllvm";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "SRI-CSL";
     repo = "gllvm";
     rev = "v${version}";
-    sha256 = "1k6081frnc6i6h3fa8d796cirhbf5kkshw7qyarz5wi3fcgijn4s";
+    sha256 = "12kdgsma62nzksvw266qm3ivkbz62ma93dd25wy0p19789v4fi7s";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/tools/hcloud/default.nix b/nixpkgs/pkgs/development/tools/hcloud/default.nix
index 527737855bda..fd05e12b4d55 100644
--- a/nixpkgs/pkgs/development/tools/hcloud/default.nix
+++ b/nixpkgs/pkgs/development/tools/hcloud/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "hcloud-${version}";
-  version = "1.9.1";
+  version = "1.11.0";
   
   goPackagePath = "github.com/hetznercloud/cli";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "hetznercloud";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "0qc4mzjd1q3xv1j0dxv5qvk443bdhh5hlbv3i3444v36wycj3171";
+    sha256 = "0iknw14728l2mynrvb3fiqm7y893ppp22gbb3mppi6iy3as94f1f";
   };
 
   goDeps = ./deps.nix;
diff --git a/nixpkgs/pkgs/development/tools/hcloud/deps.nix b/nixpkgs/pkgs/development/tools/hcloud/deps.nix
index 66612d54daf7..b0b544701283 100644
--- a/nixpkgs/pkgs/development/tools/hcloud/deps.nix
+++ b/nixpkgs/pkgs/development/tools/hcloud/deps.nix
@@ -41,8 +41,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/hetznercloud/hcloud-go";
-      rev = "eaf050e4f37028d2ca5f99a2fb38ead2c9b293d3";
-      sha256 = "0ki4vk02da4dj6prx3gz8cvrfkj6xb72sjkwqcrbdp4n4klasngi";
+      rev = "ecee721a51a772254d0104bf4d796358e40d6bbd";
+      sha256 = "0bwym7f8am14yfh584p28d8lnj4f9mhqi05l1mlrl315xn0c78v3";
     };
   }
   {
@@ -50,8 +50,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/pelletier/go-toml";
-      rev = "81a861c69d25a841d0c4394f0e6f84bc8c5afae0";
-      sha256 = "1sk301rm7rm5hfcx7z7vgask5i80wx3mhyxjr3xnm5q1rvdj6vsl";
+      rev = "27c6b39a135b7dc87a14afb068809132fb7a9a8f";
+      sha256 = "13ldxh43xf4prmcrjzriz3gxpnijpqlzrgyhh7bnkj7lkhryfpk9";
     };
   }
   {
@@ -59,8 +59,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/cobra";
-      rev = "8d114be902bc9f08717804830a55c48378108a28";
-      sha256 = "1ipmdjwqxyvj6cv33xm1m4ngyx49jsnp8n9jd8fjbkng8aw3q4al";
+      rev = "d2d81d9a96e23f0255397222bb0b4e3165e492dc";
+      sha256 = "14nhpiyhz2lm468y5sm1vyxks5aky12kmbhmqq319s92lkm494cy";
     };
   }
   {
@@ -68,8 +68,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/pflag";
-      rev = "298182f68c66c05229eb03ac171abe6e309ee79a";
-      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
+      rev = "24fa6976df40757dce6aea913e7b81ade90530e1";
+      sha256 = "0rf6prz6gl0l1b3wijzdgq887cdwigvzxvz6gqbm5l8pkq3fx1m9";
     };
   }
   {
@@ -86,8 +86,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "0c41d7ab0a0ee717d4590a44bcb987dfd9e183eb";
-      sha256 = "1mff9l49dffsak7vxg3dzxlzkgm5nqfksh9cbsjpmngpc5pk0fbc";
+      rev = "ff983b9c42bc9fbf91556e191cc8efb585c16908";
+      sha256 = "1hpr06kzn8jnn3gvzp0p9zn4fz4l9h69f7x66idx142w4xdlaanz";
     };
   }
   {
@@ -95,8 +95,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "fa43e7bc11baaae89f3f902b2b4d832b68234844";
-      sha256 = "1z96xhgw930jpd53g1sy9x6wiijgz751czbvr2zzgc55y0md1mfw";
+      rev = "7fbe1cd0fcc20051e1fcb87fbabec4a1bacaaeba";
+      sha256 = "0y49s4kazign9nsw2x3h39cgs14lqi57m4hrka26w49z8a1xdyc6";
     };
   }
 ]
diff --git a/nixpkgs/pkgs/development/tools/heroku/default.nix b/nixpkgs/pkgs/development/tools/heroku/default.nix
index 09b7796b5f68..a987cebdc193 100644
--- a/nixpkgs/pkgs/development/tools/heroku/default.nix
+++ b/nixpkgs/pkgs/development/tools/heroku/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "heroku-${version}";
-  version = "7.18.2";
+  version = "7.19.4";
 
   src = fetchurl {
     url = "https://cli-assets.heroku.com/heroku-v${version}/heroku-v${version}.tar.xz";
-    sha256 = "1dplh3bfin1g0wwbkg76z3xsja4zqj350vrzl8jfw7982saxqywh";
+    sha256 = "0l30acam8q114imgz7kzpfp6z1zwpg2sm1ygnjjdjd2bw62bmv3a";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/icestorm/default.nix b/nixpkgs/pkgs/development/tools/icestorm/default.nix
index 345a25082164..5cec122950f0 100644
--- a/nixpkgs/pkgs/development/tools/icestorm/default.nix
+++ b/nixpkgs/pkgs/development/tools/icestorm/default.nix
@@ -1,25 +1,48 @@
-{ stdenv, fetchFromGitHub, python3, libftdi, pkgconfig }:
+{ stdenv, fetchFromGitHub
+, pkgconfig, libftdi
+, python3, pypy3
+}:
+
+let
+  pypyCompatible = stdenv.isx86_64; /* pypy3 seems broken on i686 */
+  pythonPkg      = if pypyCompatible then pypy3 else python3;
+  pythonInterp   = pythonPkg.interpreter;
+in
 
 stdenv.mkDerivation rec {
   name = "icestorm-${version}";
-  version = "2018.09.04";
+  version = "2018.12.31";
 
   src = fetchFromGitHub {
     owner  = "cliffordwolf";
     repo   = "icestorm";
-    rev    = "8f61acd0556c8afee83ec2e77dedb03e700333d9";
-    sha256 = "1dwix8bb87xqf27dixdnfp47pll8739h9m9aw8wvvwz4s4989q6v";
+    rev    = "c0cbae88ab47a3879aacf80d53b6a85710682a6b";
+    sha256 = "0bqm0rpywm64yvbq75klpyzb1g9sdsp1kvdlyqg4hvm8jw9w8lya";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ python3 libftdi ];
+  buildInputs = [ pythonPkg libftdi ];
   makeFlags = [ "PREFIX=$(out)" ];
 
+  enableParallelBuilding = true;
+
   # fix icebox_vlog chipdb path. icestorm issue:
   #   https://github.com/cliffordwolf/icestorm/issues/125
+  #
+  # also, fix up the path to the chosen Python interpreter. for pypy-compatible
+  # platforms, it offers significant performance improvements.
   patchPhase = ''
     substituteInPlace ./icebox/icebox_vlog.py \
       --replace /usr/local/share "$out/share"
+
+    for x in icefuzz/Makefile icebox/Makefile icetime/Makefile; do
+      substituteInPlace "$x" --replace python3 "${pythonInterp}"
+    done
+
+    for x in $(find . -type f -iname '*.py'); do
+      substituteInPlace "$x" \
+        --replace '/usr/bin/env python3' '${pythonInterp}'
+    done
   '';
 
   meta = {
@@ -30,9 +53,9 @@ stdenv.mkDerivation rec {
       FPGAs and providing simple tools for analyzing and
       creating bitstream files.
     '';
-    homepage = http://www.clifford.at/icestorm/;
-    license = stdenv.lib.licenses.isc;
+    homepage    = http://www.clifford.at/icestorm/;
+    license     = stdenv.lib.licenses.isc;
     maintainers = with stdenv.lib.maintainers; [ shell thoughtpolice ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms   = stdenv.lib.platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/java/cfr/default.nix b/nixpkgs/pkgs/development/tools/java/cfr/default.nix
index 9534201d095a..e29dfa354bb0 100644
--- a/nixpkgs/pkgs/development/tools/java/cfr/default.nix
+++ b/nixpkgs/pkgs/development/tools/java/cfr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "cfr-${version}";
-  version = "0.137";
+  version = "0.139";
 
   src = fetchurl {
     url = "http://www.benf.org/other/cfr/cfr_${version}.jar";
-    sha256 = "1z704b31riyr3kv9cb2vqhd5gcha849g5k4zbvsh4yr9cdx226rz";
+    sha256 = "0wiag1m0hqk697qhrm4c7srzy18ixkcj5dn911lxhf0nfq5q63nk";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/java/jhiccup/default.nix b/nixpkgs/pkgs/development/tools/java/jhiccup/default.nix
index 39b573023376..6fb34588cd0b 100644
--- a/nixpkgs/pkgs/development/tools/java/jhiccup/default.nix
+++ b/nixpkgs/pkgs/development/tools/java/jhiccup/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jhiccup-${version}";
-  version = "2.0.9";
+  version = "2.0.10";
 
   src = fetchzip {
     url    = "https://www.azul.com/files/jHiccup-${version}-dist.zip";
-    sha256 = "1y089kzj191j3vclkma4vi1w66pw4jqrnm5z0qw264wqcn0hnq11";
+    sha256 = "1hsvi8wjh615fnjf75h7b5afp04chqcgvini30vfcn3m9a5icbgy";
   };
 
   configurePhase = ":";
diff --git a/nixpkgs/pkgs/development/tools/jira_cli/default.nix b/nixpkgs/pkgs/development/tools/jira_cli/default.nix
index f1c6e1f8ca6e..8722d49eb32e 100644
--- a/nixpkgs/pkgs/development/tools/jira_cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/jira_cli/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, libffi, openssl, pythonPackages }:
+{ stdenv, libffi, openssl, python3Packages }:
 let
-  inherit (pythonPackages) fetchPypi buildPythonApplication vcrpy mock hiro;
+  inherit (python3Packages) fetchPypi buildPythonApplication vcrpy mock hiro;
 in
   buildPythonApplication rec {
     pname = "jira-cli";
@@ -16,10 +16,10 @@ in
 
     # Tests rely on VCR cassettes being written during tests. R/O nix store prevents this.
     doCheck = false;
-    checkInputs = with pythonPackages; [ vcrpy mock hiro ];
+    checkInputs = with python3Packages; [ vcrpy mock hiro ];
     buildInputs = [ libffi openssl ];
-    propagatedBuildInputs = with pythonPackages; [
-      argparse ordereddict requests six suds-jurko termcolor keyring
+    propagatedBuildInputs = with python3Packages; [
+      ordereddict requests six suds-jurko termcolor keyring
       jira  keyrings-alt
     ];
 
diff --git a/nixpkgs/pkgs/development/tools/jl/default.nix b/nixpkgs/pkgs/development/tools/jl/default.nix
index 6ab331ebc6a3..6ffe5ef80bf8 100644
--- a/nixpkgs/pkgs/development/tools/jl/default.nix
+++ b/nixpkgs/pkgs/development/tools/jl/default.nix
@@ -25,4 +25,5 @@ mkDerivation rec {
   license = stdenv.lib.licenses.bsd3;
   description = "Functional sed for JSON";
   maintainers = with stdenv.lib.maintainers; [ fgaz ];
+  homepage = https://github.com/chrisdone/jl;
 }
diff --git a/nixpkgs/pkgs/development/tools/kubectx/default.nix b/nixpkgs/pkgs/development/tools/kubectx/default.nix
index c2eaa28a2d9a..0f9fb36a3f4e 100644
--- a/nixpkgs/pkgs/development/tools/kubectx/default.nix
+++ b/nixpkgs/pkgs/development/tools/kubectx/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "kubectx";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "ahmetb";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0kmzj8nmjzjfl5jgdnlizn3wmgp980xs6m9pvpplafjshx9k159c";
+    sha256 = "0nb867llpvjmkxv5bbqnyjrc4z74kibqg1d3dw7m47d5a5hn8525";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/kustomize/default.nix b/nixpkgs/pkgs/development/tools/kustomize/default.nix
index 38b495d89a63..cbe37cec3c78 100644
--- a/nixpkgs/pkgs/development/tools/kustomize/default.nix
+++ b/nixpkgs/pkgs/development/tools/kustomize/default.nix
@@ -3,9 +3,9 @@
 
 buildGoPackage rec {
   name = "kustomize-${version}";
-  version = "1.0.10";
-  # rev is the 1.0.10 commit, mainly for kustomize version command output
-  rev = "383b3e798b7042f8b7431f93e440fb85631890a3";
+  version = "1.0.11";
+  # rev is the 1.0.11 commit, mainly for kustomize version command output
+  rev = "8f701a00417a812558a7b785e8354957afa469ae";
 
   goPackagePath = "sigs.k8s.io/kustomize";
 
@@ -17,7 +17,7 @@ buildGoPackage rec {
   '';
 
   src = fetchFromGitHub {
-    sha256 = "1z78d5j2w78x4ks4v745050g2ffmirj03v7129dib2lfhfjra8aj";
+  sha256 = "18kc23l6r2di35md9jbinyzxr791vvdjyklaf3k725imqksikwri";
     rev = "v${version}";
     repo = "kustomize";
     owner = "kubernetes-sigs";
diff --git a/nixpkgs/pkgs/development/tools/literate-programming/Literate/default.nix b/nixpkgs/pkgs/development/tools/literate-programming/Literate/default.nix
index 8fbbcdb6e5f7..035374d3e900 100644
--- a/nixpkgs/pkgs/development/tools/literate-programming/Literate/default.nix
+++ b/nixpkgs/pkgs/development/tools/literate-programming/Literate/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchgit, dmd, dub }:
 
 stdenv.mkDerivation {
-  name = "Literate-2018-08-20";
+  name = "Literate-2019-01-08";
 
   src = fetchgit {
     url = "https://github.com/zyedidia/Literate.git";
-    rev = "737567e49c9e12ac56222c147191da58ea1521e2";
-    sha256 = "19v8v66lv8ayg3irqkbk7ln5lkmgwpx4wgz8h3yr81arl40bbzqs";
+    rev = "e20c5c86713701d4d17fd2881779d758a27a3e5a";
+    sha256 = "1pr7iipcnp6jxi13341p5b3szdrvs7aixpfbwifj6lgbb45vg9sm";
   };
 
   buildInputs = [ dmd dub ];
diff --git a/nixpkgs/pkgs/development/tools/mbed-cli/default.nix b/nixpkgs/pkgs/development/tools/mbed-cli/default.nix
new file mode 100644
index 000000000000..62489800cbbd
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/mbed-cli/default.nix
@@ -0,0 +1,23 @@
+{ lib, python3Packages }:
+
+with python3Packages;
+
+buildPythonApplication rec {
+  pname = "mbed-cli";
+  version = "1.8.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "04vn2v0d7y3vmm8cswzvn2z85balgp3095n5flvgf3r60fdlhlmp";
+  };
+
+  doCheck = false; # no tests available in Pypi
+
+  meta = with lib; {
+    homepage = https://github.com/ARMmbed/mbed-cli;
+    description = "Arm Mbed Command Line Interface";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ rvolosatovs ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/tools/minizinc/ide.nix b/nixpkgs/pkgs/development/tools/minizinc/ide.nix
new file mode 100644
index 000000000000..ab2af43979a6
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/minizinc/ide.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchFromGitHub, qtbase, qtwebengine, qtwebkit, qmake, makeWrapper, minizinc }:
+let
+  version = "2.2.3";
+in
+stdenv.mkDerivation {
+  name = "minizinc-ide-${version}";
+
+  nativeBuildInputs = [ qmake makeWrapper ];
+  buildInputs = [ qtbase qtwebengine qtwebkit ];
+
+  src = fetchFromGitHub {
+    owner = "MiniZinc";
+    repo = "MiniZincIDE";
+    rev = version;
+    sha256 = "1hanq7c6li59awlwghgvpd8w93a7zb6iw7p4062nphnbd1dmg92f";
+  };
+
+  sourceRoot = "source/MiniZincIDE";
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    wrapProgram $out/bin/MiniZincIDE --prefix PATH ":" ${stdenv.lib.makeBinPath [ minizinc ]}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://www.minizinc.org/;
+    description = "IDE for MiniZinc, a medium-level constraint modelling language";
+
+    longDescription = ''
+      MiniZinc is a medium-level constraint modelling
+      language. It is high-level enough to express most
+      constraint problems easily, but low-level enough
+      that it can be mapped onto existing solvers easily and consistently.
+      It is a subset of the higher-level language Zinc.
+    '';
+
+    license = licenses.mpl20;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.dtzWill ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/autoconf-archive/default.nix b/nixpkgs/pkgs/development/tools/misc/autoconf-archive/default.nix
index d051e1d57592..d7cea5c3d4ed 100644
--- a/nixpkgs/pkgs/development/tools/misc/autoconf-archive/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/autoconf-archive/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "autoconf-archive-${version}";
-  version = "2018.03.13";
+  version = "2019.01.06";
 
   src = fetchurl {
     url = "mirror://gnu/autoconf-archive/autoconf-archive-${version}.tar.xz";
-    sha256 = "0ng1lvpijf3kv7w7nb1shqs23vp0398yicyvkf9lsk56kw6zjxb1";
+    sha256 = "0gqya7nf4j5k98dkky0c3bnr0paciya91vkqazg7knlq621mq68p";
   };
 
   buildInputs = [ xz ];
diff --git a/nixpkgs/pkgs/development/tools/misc/binutils/default.nix b/nixpkgs/pkgs/development/tools/misc/binutils/default.nix
index 7d045115b594..787a5dbc646e 100644
--- a/nixpkgs/pkgs/development/tools/misc/binutils/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/binutils/default.nix
@@ -30,19 +30,9 @@ stdenv.mkDerivation rec {
   });
 
   patches = [
-    # Since binutils 2.22, DT_NEEDED flags aren't copied for dynamic outputs.
-    # That requires upstream changes for things to work. So we can patch it to
-    # get the old behaviour by now.
-    ./dtneeded.patch
-
     # Make binutils output deterministic by default.
     ./deterministic.patch
 
-    # Always add PaX flags section to ELF files.
-    # This is needed, for instance, so that running "ldd" on a binary that is
-    # PaX-marked to disable mprotect doesn't fail with permission denied.
-    ./pt-pax-flags.patch
-
     # Bfd looks in BINDIR/../lib for some plugins that don't
     # exist. This is pointless (since users can't install plugins
     # there) and causes a cycle between the lib and bin outputs, so
diff --git a/nixpkgs/pkgs/development/tools/misc/binutils/dtneeded.patch b/nixpkgs/pkgs/development/tools/misc/binutils/dtneeded.patch
deleted file mode 100644
index 3754ec569eec..000000000000
--- a/nixpkgs/pkgs/development/tools/misc/binutils/dtneeded.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/ld/ldmain.c b/ld/ldmain.c
-index 15f8ebf..f71241e 100644
---- a/ld/ldmain.c
-+++ b/ld/ldmain.c
-@@ -298,6 +298,7 @@ main (int argc, char **argv)
-   lang_init ();
-   ldemul_before_parse ();
-   lang_has_input_file = FALSE;
-+  input_flags.add_DT_NEEDED_for_dynamic = TRUE;
-   parse_args (argc, argv);
- 
-   if (config.hash_table_size != 0)
diff --git a/nixpkgs/pkgs/development/tools/misc/binutils/pt-pax-flags.patch b/nixpkgs/pkgs/development/tools/misc/binutils/pt-pax-flags.patch
deleted file mode 100644
index 3c060012ad0e..000000000000
--- a/nixpkgs/pkgs/development/tools/misc/binutils/pt-pax-flags.patch
+++ /dev/null
@@ -1,233 +0,0 @@
---- binutils-2.15.94.0.2.2.orig/bfd/elf-bfd.h	2005-02-07 20:42:44.000000000 +0100
-+++ binutils-2.15.94.0.2.2/bfd/elf-bfd.h	2005-02-20 13:13:17.362558200 +0100
-@@ -1266,6 +1266,9 @@
-   /* Should the PT_GNU_RELRO segment be emitted?  */
-   bfd_boolean relro;
- 
-+  /* Segment flags for the PT_PAX_FLAGS segment.  */
-+  unsigned int pax_flags;
-+
-   /* Symbol version definitions in external objects.  */
-   Elf_Internal_Verdef *verdef;
- 
---- binutils-2.17.50.0.18/bfd/elf.c.orig	2007-08-01 11:12:02.000000000 -0400
-+++ binutils-2.17.50.0.18/bfd/elf.c	2007-08-01 14:27:36.086986774 -0400
-@@ -1085,6 +1085,7 @@
-     case PT_GNU_EH_FRAME: pt = "EH_FRAME"; break;
-     case PT_GNU_STACK: pt = "STACK"; break;
-     case PT_GNU_RELRO: pt = "RELRO"; break;
-+    case PT_PAX_FLAGS: pt = "PAX_FLAGS"; break;
-     default: pt = NULL; break;
-     }
-   return pt;
-@@ -2346,6 +2347,9 @@
-     case PT_GNU_RELRO:
-       return _bfd_elf_make_section_from_phdr (abfd, hdr, hdr_index, "relro");
- 
-+    case PT_PAX_FLAGS:
-+      return _bfd_elf_make_section_from_phdr (abfd, hdr, hdr_index, "pax_flags");
-+
-     default:
-       /* Check for any processor-specific program segment types.  */
-       bed = get_elf_backend_data (abfd);
-@@ -3326,6 +3330,11 @@
-       ++segs;
-     }
- 
-+    {
-+      /* We need a PT_PAX_FLAGS segment.  */
-+      ++segs;
-+    }
-+
-   for (s = abfd->sections; s != NULL; s = s->next)
-     {
-       if ((s->flags & SEC_LOAD) != 0
-@@ -3945,6 +3954,20 @@
- 	  pm = &m->next;
- 	}
- 
-+      {
-+        amt = sizeof (struct elf_segment_map);
-+        m = bfd_zalloc (abfd, amt);
-+        if (m == NULL)
-+  	goto error_return;
-+        m->next = NULL;
-+        m->p_type = PT_PAX_FLAGS;
-+        m->p_flags = elf_tdata (abfd)->pax_flags;
-+        m->p_flags_valid = 1;
-+  
-+        *pm = m;
-+        pm = &m->next;
-+      }
-+
-       free (sections);
-       elf_tdata (abfd)->segment_map = mfirst;
-     }
-@@ -5129,7 +5152,8 @@
-        5. PT_GNU_STACK segments do not include any sections.
-        6. PT_TLS segment includes only SHF_TLS sections.
-        7. SHF_TLS sections are only in PT_TLS or PT_LOAD segments.
--       8. PT_DYNAMIC should not contain empty sections at the beginning
-+       8. PT_PAX_FLAGS segments do not include any sections.
-+       9. PT_DYNAMIC should not contain empty sections at the beginning
- 	  (with the possible exception of .dynamic).  */
- #define IS_SECTION_IN_INPUT_SEGMENT(section, segment, bed)		\
-   ((((segment->p_paddr							\
-@@ -5138,6 +5162,7 @@
-      && (section->flags & SEC_ALLOC) != 0)				\
-     || IS_COREFILE_NOTE (segment, section))				\
-    && segment->p_type != PT_GNU_STACK					\
-+   && segment->p_type != PT_PAX_FLAGS					\
-    && (segment->p_type != PT_TLS					\
-        || (section->flags & SEC_THREAD_LOCAL))				\
-    && (segment->p_type == PT_LOAD					\
---- binutils-2.23.52.0.1/bfd/elflink.c.orig	2013-02-27 21:28:03.000000000 +0100
-+++ binutils-2.23.52.0.1/bfd/elflink.c	2013-03-01 17:32:44.922717879 +0100
-@@ -5764,18 +5764,32 @@
-       && ! (*bed->elf_backend_always_size_sections) (output_bfd, info))
-     return FALSE;
- 
-+  elf_tdata (output_bfd)->pax_flags = PF_NORANDEXEC;
-+
-+  if (info->execheap)
-+    elf_tdata (output_bfd)->pax_flags |= PF_NOMPROTECT;
-+  else if (info->noexecheap)
-+    elf_tdata (output_bfd)->pax_flags |= PF_MPROTECT;
-+
-   /* Determine any GNU_STACK segment requirements, after the backend
-      has had a chance to set a default segment size.  */
-   if (info->execstack)
-+  {
-     elf_stack_flags (output_bfd) = PF_R | PF_W | PF_X;
-+    elf_tdata (output_bfd)->pax_flags |= PF_EMUTRAMP;
-+  }
-   else if (info->noexecstack)
-+  {
-     elf_stack_flags (output_bfd) = PF_R | PF_W;
-+    elf_tdata (output_bfd)->pax_flags |= PF_NOEMUTRAMP;
-+  }
-   else
-     {
-       bfd *inputobj;
-       asection *notesec = NULL;
-       int exec = 0;
- 
-+      elf_tdata (output_bfd)->pax_flags |= PF_NOEMUTRAMP;
-       for (inputobj = info->input_bfds;
- 	   inputobj;
- 	   inputobj = inputobj->link_next)
-@@ -5789,7 +5803,11 @@
- 	  if (s)
- 	    {
- 	      if (s->flags & SEC_CODE)
--		exec = PF_X;
-+		{
-+		  elf_tdata (output_bfd)->pax_flags &= ~PF_NOEMUTRAMP;
-+		  elf_tdata (output_bfd)->pax_flags |= PF_EMUTRAMP;
-+		  exec = PF_X;
-+		}
- 	      notesec = s;
- 	    }
- 	  else if (bed->default_execstack)
---- binutils-2.15.94.0.2.2.orig/binutils/readelf.c	2005-02-18 07:14:30.000000000 +0100
-+++ binutils-2.15.94.0.2.2/binutils/readelf.c	2005-02-20 13:13:17.470541784 +0100
-@@ -2293,6 +2293,7 @@
- 			return "GNU_EH_FRAME";
-     case PT_GNU_STACK:	return "GNU_STACK";
-     case PT_GNU_RELRO:  return "GNU_RELRO";
-+    case PT_PAX_FLAGS:	return "PAX_FLAGS";
- 
-     default:
-       if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC))
---- binutils-2.15.94.0.2.2.orig/include/bfdlink.h	2004-11-22 21:33:32.000000000 +0100
-+++ binutils-2.15.94.0.2.2/include/bfdlink.h	2005-02-20 13:13:17.476540872 +0100
-@@ -313,6 +313,14 @@
-      flags.  */
-   unsigned int noexecstack: 1;
- 
-+  /* TRUE if PT_PAX_FLAGS segment should be created with PF_NOMPROTECT
-+     flags.  */
-+  unsigned int execheap: 1;
-+
-+  /* TRUE if PT_PAX_FLAGS segment should be created with PF_MPROTECT
-+     flags.  */
-+  unsigned int noexecheap: 1;
-+
-   /* TRUE if PT_GNU_RELRO segment should be created.  */
-   unsigned int relro: 1;
- 
---- binutils-2.15.94.0.2.2.orig/include/elf/common.h	2004-11-22 21:33:32.000000000 +0100
-+++ binutils-2.15.94.0.2.2/include/elf/common.h	2005-02-20 13:13:17.482539960 +0100
-@@ -423,6 +423,7 @@
- #define PT_SUNW_EH_FRAME PT_GNU_EH_FRAME      /* Solaris uses the same value */
- #define PT_GNU_STACK	(PT_LOOS + 0x474e551) /* Stack flags */
- #define PT_GNU_RELRO	(PT_LOOS + 0x474e552) /* Read-only after relocation */
-+#define PT_PAX_FLAGS   (PT_LOOS + 0x5041580) /* PaX flags */
- 
- /* Program segment permissions, in program header p_flags field.  */
- 
-@@ -433,6 +434,19 @@
- #define PF_MASKOS	0x0FF00000	/* New value, Oct 4, 1999 Draft */
- #define PF_MASKPROC	0xF0000000	/* Processor-specific reserved bits */
- 
-+#define PF_PAGEEXEC        (1 << 4)    /* Enable  PAGEEXEC */
-+#define PF_NOPAGEEXEC  (1 << 5)    /* Disable PAGEEXEC */
-+#define PF_SEGMEXEC        (1 << 6)    /* Enable  SEGMEXEC */
-+#define PF_NOSEGMEXEC  (1 << 7)    /* Disable SEGMEXEC */
-+#define PF_MPROTECT        (1 << 8)    /* Enable  MPROTECT */
-+#define PF_NOMPROTECT  (1 << 9)    /* Disable MPROTECT */
-+#define PF_RANDEXEC        (1 << 10)   /* Enable  RANDEXEC */
-+#define PF_NORANDEXEC  (1 << 11)   /* Disable RANDEXEC */
-+#define PF_EMUTRAMP        (1 << 12)   /* Enable  EMUTRAMP */
-+#define PF_NOEMUTRAMP  (1 << 13)   /* Disable EMUTRAMP */
-+#define PF_RANDMMAP        (1 << 14)   /* Enable  RANDMMAP */
-+#define PF_NORANDMMAP  (1 << 15)   /* Disable RANDMMAP */
-+
- /* Values for section header, sh_type field.  */
- 
- #define SHT_NULL	0		/* Section header table entry unused */
---- binutils-2.18.50.0.1/ld/emultempl/elf32.em.orig	2007-09-08 19:34:12.000000000 +0200
-+++ binutils-2.18.50.0.1/ld/emultempl/elf32.em	2007-09-15 21:41:35.688212063 +0200
-@@ -2139,6 +2139,16 @@
- 	  link_info.noexecstack = TRUE;
- 	  link_info.execstack = FALSE;
- 	}
-+      else if (strcmp (optarg, "execheap") == 0)
-+	{
-+	  link_info.execheap = TRUE;
-+	  link_info.noexecheap = FALSE;
-+	}
-+      else if (strcmp (optarg, "noexecheap") == 0)
-+	{
-+	  link_info.noexecheap = TRUE;
-+	  link_info.execheap = FALSE;
-+	}
- EOF
- 
-   if test -n "$COMMONPAGESIZE"; then
---- binutils-2.15.94.0.2.2.orig/ld/ldgram.y	2004-11-22 21:33:32.000000000 +0100
-+++ binutils-2.15.94.0.2.2/ld/ldgram.y	2005-02-20 13:13:17.499537376 +0100
-@@ -1073,6 +1073,8 @@
- 			    $$ = exp_intop (0x6474e550);
- 			  else if (strcmp (s, "PT_GNU_STACK") == 0)
- 			    $$ = exp_intop (0x6474e551);
-+			  else if (strcmp (s, "PT_PAX_FLAGS") == 0)
-+			    $$ = exp_intop (0x65041580);
- 			  else
- 			    {
- 			      einfo (_("\
---- binutils-2.26/ld/lexsup.c.orig	2015-11-13 09:27:42.000000000 +0100
-+++ binutils-2.26/ld/lexsup.c	2016-01-26 21:08:41.787138458 +0100
-@@ -1793,8 +1793,12 @@
-   fprintf (file, _("\
-   -z muldefs                  Allow multiple definitions\n"));
-   fprintf (file, _("\
-+  -z execheap                 Mark executable as requiring executable heap\n"));
-+  fprintf (file, _("\
-   -z execstack                Mark executable as requiring executable stack\n"));
-   fprintf (file, _("\
-+  -z noexecheap               Mark executable as not requiring executable heap\n"));
-+  fprintf (file, _("\
-   -z noexecstack              Mark executable as not requiring executable stack\n"));
- }
- 
diff --git a/nixpkgs/pkgs/development/tools/misc/ccls/default.nix b/nixpkgs/pkgs/development/tools/misc/ccls/default.nix
new file mode 100644
index 000000000000..267cd943edd5
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/ccls/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub, makeWrapper
+, cmake, llvmPackages, rapidjson }:
+
+stdenv.mkDerivation rec {
+  name    = "ccls-${version}";
+  version = "0.20181225.7";
+
+  src = fetchFromGitHub {
+    owner = "MaskRay";
+    repo = "ccls";
+    rev = version;
+    sha256 = "1qgb2nk4nsgbx4qwymwlzi202daskk536a5l877fsp878jpp61cm";
+  };
+
+  nativeBuildInputs = [ cmake makeWrapper ];
+  buildInputs = with llvmPackages; [ clang-unwrapped llvm rapidjson ];
+
+  cmakeFlags = [ "-DSYSTEM_CLANG=ON" ];
+
+  shell = stdenv.shell;
+  postFixup = ''
+    # We need to tell ccls where to find the standard library headers.
+
+    standard_library_includes="\\\"-isystem\\\", \\\"${stdenv.lib.getDev stdenv.cc.libc}/include\\\""
+    standard_library_includes+=", \\\"-isystem\\\", \\\"${llvmPackages.libcxx}/include/c++/v1\\\""
+    export standard_library_includes
+
+    wrapped=".ccls-wrapped"
+    export wrapped
+
+    mv $out/bin/ccls $out/bin/$wrapped
+    substituteAll ${./wrapper} $out/bin/ccls
+    chmod --reference=$out/bin/$wrapped $out/bin/ccls
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A c/c++ language server powered by clang";
+    homepage    = https://github.com/MaskRay/ccls;
+    license     = licenses.asl20;
+    platforms   = platforms.linux;
+    maintainers = [ maintainers.mic92 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/ccls/wrapper b/nixpkgs/pkgs/development/tools/misc/ccls/wrapper
new file mode 100644
index 000000000000..f8d7b9eb3fea
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/ccls/wrapper
@@ -0,0 +1,12 @@
+#! @shell@ -e
+
+initString="--init={\"clang\":{\"extraArgs\": [@standard_library_includes@"
+
+if [ "${NIX_CFLAGS_COMPILE}" != "" ]; then
+  read -a cflags_array <<< ${NIX_CFLAGS_COMPILE}
+  initString+=$(printf ', \"%s\"' "${cflags_array[@]}")
+fi
+
+initString+="]}}"
+
+exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "${extraFlagsArray[@]}" "$@"
diff --git a/nixpkgs/pkgs/development/tools/misc/cproto/default.nix b/nixpkgs/pkgs/development/tools/misc/cproto/default.nix
index e79326eeba4d..8a0cb095d445 100644
--- a/nixpkgs/pkgs/development/tools/misc/cproto/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/cproto/default.nix
@@ -1,22 +1,34 @@
 { stdenv, fetchurl, flex, bison }:
 
-stdenv.mkDerivation {
-  name = "cproto-4.6";
+stdenv.mkDerivation rec {
+  name = "cproto-${version}";
+  version = "4.7o";
 
   src = fetchurl {
-    url = mirror://sourceforge/cproto/cproto-4.6.tar.gz;
-    sha256 = "0ilhkx9iwc5bh65q47mf68p39iyk07d52fv00z431nl6qcb9hp9j";
+    urls = [
+      "mirror://debian/pool/main/c/cproto/cproto_${version}.orig.tar.gz"
+      # No version listings and apparently no versioned tarball over http(s).
+      "ftp://ftp.invisible-island.net/cproto/cproto-${version}.tgz"
+    ];
+    sha256 = "0kxlrhhgm84v2q6n3wp7bb77g7wjxkb7azdvb6a70naf0rr0nsy7";
   };
 
-  buildInputs = [flex bison];
-
   # patch made by Joe Khoobyar copied from gentoo bugs
   patches = ./cproto_patch;
 
-  meta = {
+  nativeBuildInputs = [ flex bison ];
+
+  doCheck = true;
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    [ "$("$out/bin/cproto" -V 2>&1)" = '${version}' ]
+  '';
+
+  meta = with stdenv.lib; {
     description = "Tool to generate C function prototypes from C source code";
-    homepage = http://cproto.sourceforge.net/;
-    license = stdenv.lib.licenses.publicDomain;
-    platforms = stdenv.lib.platforms.linux;
+    homepage = https://invisible-island.net/cproto/;
+    license = licenses.publicDomain;
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/creduce/default.nix b/nixpkgs/pkgs/development/tools/misc/creduce/default.nix
index 66f1fff41902..a2b487a4bcce 100644
--- a/nixpkgs/pkgs/development/tools/misc/creduce/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/creduce/default.nix
@@ -2,7 +2,7 @@
 , llvm, clang-unwrapped
 , flex
 , zlib
-, perl, ExporterLite, FileWhich, GetoptTabular, RegexpCommon, TermReadKey
+, perlPackages
 , utillinux
 }:
 
@@ -22,8 +22,7 @@ stdenv.mkDerivation rec {
     # Actual deps:
     llvm clang-unwrapped
     flex zlib
-    perl ExporterLite FileWhich GetoptTabular RegexpCommon TermReadKey
-  ];
+  ] ++ (with perlPackages; [ perl ExporterLite FileWhich GetoptTabular RegexpCommon TermReadKey ]);
 
   # On Linux, c-reduce's preferred way to reason about
   # the cpu architecture/topology is to use 'lscpu',
diff --git a/nixpkgs/pkgs/development/tools/misc/csmith/default.nix b/nixpkgs/pkgs/development/tools/misc/csmith/default.nix
index a0040e4ed3e5..eff1af8cdb47 100644
--- a/nixpkgs/pkgs/development/tools/misc/csmith/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/csmith/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, m4, makeWrapper, libbsd, perl, SysCPU }:
+{ stdenv, fetchurl, m4, makeWrapper, libbsd, perlPackages }:
 
 stdenv.mkDerivation rec {
   name = "csmith-${version}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ m4 makeWrapper ];
-  buildInputs = [ perl SysCPU libbsd ];
+  buildInputs = [ libbsd ] ++ (with perlPackages; [ perl SysCPU ]);
 
   postInstall = ''
     substituteInPlace $out/bin/compiler_test.pl \
diff --git a/nixpkgs/pkgs/development/tools/misc/dejagnu/default.nix b/nixpkgs/pkgs/development/tools/misc/dejagnu/default.nix
index c04031bc41db..693c791875be 100644
--- a/nixpkgs/pkgs/development/tools/misc/dejagnu/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/dejagnu/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, expect, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "dejagnu-1.6.1";
+  name = "dejagnu-1.6.2";
 
   src = fetchurl {
     url = "mirror://gnu/dejagnu/${name}.tar.gz";
-    sha256 = "14hnq1mh91vqprc43xdy4f15sycw6fbajrh7zi6cw2kyg6xjhnxz";
+    sha256 = "0qfj2wd4qk1yn9yzam6g8nmyxfazcc0knjyyibycb2ainkhp21hd";
   };
 
   buildInputs = [ expect makeWrapper ];
@@ -48,6 +48,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
 
     platforms = platforms.unix;
-    maintainers = with maintainers; [ wkennington vrthra ];
+    maintainers = with maintainers; [ vrthra ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/gdb/default.nix b/nixpkgs/pkgs/development/tools/misc/gdb/default.nix
index 29942bb2fc4d..722490a56a93 100644
--- a/nixpkgs/pkgs/development/tools/misc/gdb/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/gdb/default.nix
@@ -1,7 +1,7 @@
 { stdenv
 
 # Build time
-, fetchurl, fetchpatch, pkgconfig, perl, texinfo, setupDebugInfoDirs
+, fetchurl, fetchpatch, pkgconfig, perl, texinfo, setupDebugInfoDirs, buildPackages
 
 # Run time
 , ncurses, readline, gmp, mpfr, expat, zlib, dejagnu
@@ -13,7 +13,7 @@
 
 let
   basename = "gdb-${version}";
-  version = "8.2";
+  version = "8.2.1";
 in
 
 assert pythonSupport -> python3 != null;
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/gdb/${basename}.tar.xz";
-    sha256 = "0fbw6j4z7kmvywwgavn7w3knp860i5i9qnjffc5p52bwkji43963";
+    sha256 = "00i27xqawjv282a07i73lp1l02n0a3ywzhykma75qg500wll6sha";
   };
 
   patches = [
@@ -49,6 +49,8 @@ stdenv.mkDerivation rec {
 
   propagatedNativeBuildInputs = [ setupDebugInfoDirs ];
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+
   enableParallelBuilding = true;
 
   # darwin build fails with format hardening since v7.12
diff --git a/nixpkgs/pkgs/development/tools/misc/help2man/default.nix b/nixpkgs/pkgs/development/tools/misc/help2man/default.nix
index ca48af641968..29ed23117fba 100644
--- a/nixpkgs/pkgs/development/tools/misc/help2man/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/help2man/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, gettext, LocaleGettext }:
+{ stdenv, fetchurl, perlPackages, gettext }:
 
 stdenv.mkDerivation rec {
   name = "help2man-1.47.8";
@@ -8,8 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1p5830h88cx0zn0snwaj0vpph81xicpsirfwlxmcgjrlmn0nm3sj";
   };
 
-  nativeBuildInputs = [ gettext LocaleGettext ];
-  buildInputs = [ perl LocaleGettext ];
+  nativeBuildInputs = [ gettext perlPackages.LocaleGettext ];
+  buildInputs = [ perlPackages.perl perlPackages.LocaleGettext ];
 
   doCheck = false;                                # target `check' is missing
 
@@ -18,11 +18,10 @@ stdenv.mkDerivation rec {
   # We don't use makeWrapper here because it uses substitutions our
   # bootstrap shell can't handle.
   postInstall = ''
-    gettext_perl="$(echo ${LocaleGettext}/lib/perl*/site_perl)"
     mv $out/bin/help2man $out/bin/.help2man-wrapped
     cat > $out/bin/help2man <<EOF
     #! $SHELL -e
-    export PERL5LIB=\''${PERL5LIB:+:}$gettext_perl
+    export PERL5LIB=\''${PERL5LIB:+:}${perlPackages.LocaleGettext}/${perlPackages.perl.libPrefix}
     ${stdenv.lib.optionalString stdenv.hostPlatform.isCygwin
         ''export PATH=\''${PATH:+:}${gettext}/bin''}
     exec -a \$0 $out/bin/.help2man-wrapped "\$@"
diff --git a/nixpkgs/pkgs/development/tools/misc/icon-naming-utils/default.nix b/nixpkgs/pkgs/development/tools/misc/icon-naming-utils/default.nix
index 5fd0fe8be2f2..d7b2cd36492e 100644
--- a/nixpkgs/pkgs/development/tools/misc/icon-naming-utils/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/icon-naming-utils/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, perl, XMLSimple, librsvg}:
+{stdenv, fetchurl, perlPackages, librsvg}:
 
 stdenv.mkDerivation rec {
   name = "icon-naming-utils-0.8.90";
@@ -8,13 +8,13 @@ stdenv.mkDerivation rec {
     sha256 = "071fj2jm5kydlz02ic5sylhmw6h2p3cgrm3gwdfabinqkqcv4jh4";
   };
 
-  buildInputs = [perl XMLSimple librsvg];
+  buildInputs = [ librsvg ] ++ (with perlPackages; [ perl XMLSimple ]);
 
   postInstall =
     ''
       # Add XML::Simple to the runtime search path.
       substituteInPlace $out/libexec/icon-name-mapping \
-          --replace '/bin/perl' '/bin/perl -I${XMLSimple}/lib/perl5/site_perl'
+          --replace '/bin/perl' '/bin/perl -I${perlPackages.XMLSimple}/${perlPackages.perl.libPrefix}'
     '';
 
   meta = with stdenv.lib; {
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 a8f358ab55b4..3e0c1d55951e 100644
--- a/nixpkgs/pkgs/development/tools/misc/intel-gpu-tools/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/intel-gpu-tools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libdrm, libpciaccess, cairo, dri2proto, udev
+{ stdenv, fetchurl, pkgconfig, libdrm, libpciaccess, cairo, xorgproto, udev
 , libX11, libXext, libXv, libXrandr, glib, bison, libunwind, python3, kmod
 , procps, utilmacros, gnome2, openssl, peg }:
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig utilmacros ];
-  buildInputs = [ libdrm libpciaccess cairo dri2proto udev libX11 kmod
+  buildInputs = [ libdrm libpciaccess cairo xorgproto udev libX11 kmod
     libXext libXv libXrandr glib bison libunwind python3 procps
     gnome2.gtkdoc openssl peg ];
 
diff --git a/nixpkgs/pkgs/development/tools/misc/lit/default.nix b/nixpkgs/pkgs/development/tools/misc/lit/default.nix
index 60f256c2ddaf..9784308b010e 100644
--- a/nixpkgs/pkgs/development/tools/misc/lit/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/lit/default.nix
@@ -2,11 +2,11 @@
 
 python2.pkgs.buildPythonApplication rec {
   pname = "lit";
-  version = "0.6.0";
+  version = "0.7.1";
 
   src = python2.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "1png3jgbhrw8a602gy6rnzvjcrj8w2p2kk6szdg9lz42zr090lgb";
+    sha256 = "ecef2833aef7f411cb923dac109c7c9dcc7dbe7cafce0650c1e8d19c243d955f";
   };
 
   # Non-standard test suite. Needs custom checkPhase.
diff --git a/nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix b/nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix
index e016882c8ef5..b671a27ac747 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 {
   name = "lttng-tools-${version}";
-  version = "2.10.5";
+  version = "2.10.6";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-tools/${name}.tar.bz2";
-    sha256 = "04bll20lqb76xi6hcjrlankvyqc1hkyj8kvc4gf867lnxxw811m4";
+    sha256 = "0z2kh6svszi332012id373bjwzcmzj6fks993f6yi35zpqmzapgh";
   };
 
   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 039e5b1ec542..27c8f609d5d6 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 {
   name = "lttng-ust-${version}";
-  version = "2.10.2";
+  version = "2.10.3";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-ust/${name}.tar.bz2";
-    sha256 = "0if0hrs32r98sp85c8c63zpgy5xjw6cx8wrs65xq227b0jwj5jn4";
+    sha256 = "0aw580xx6x9hgbxrzil7yqv12j8yvi5d9iibldx3z5jz1pwj114y";
   };
 
   buildInputs = [ python ];
diff --git a/nixpkgs/pkgs/development/tools/misc/luarocks/default.nix b/nixpkgs/pkgs/development/tools/misc/luarocks/default.nix
index afe026359e53..8b9bf453c468 100644
--- a/nixpkgs/pkgs/development/tools/misc/luarocks/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/luarocks/default.nix
@@ -1,4 +1,11 @@
-{stdenv, fetchurl, lua, curl, makeWrapper, which, unzip}:
+{stdenv, fetchurl
+, curl, makeWrapper, which, unzip
+, lua
+# for 'luarocks pack'
+, zip
+# some packages need to be compiled with cmake
+, cmake
+}:
 let
   s = # Generated upstream information
   rec {
@@ -36,17 +43,33 @@ stdenv.mkDerivation {
     for i in "$out"/bin/*; do
         test -L "$i" || {
 	    wrapProgram "$i" \
-	      --prefix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?.lua" \
-	      --prefix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \
+	      --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?.lua" \
+	      --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \
+	      --suffix LUA_CPATH ";" "$(echo "$out"/lib/lua/*/)?.so" \
+	      --suffix LUA_CPATH ";" "$(echo "$out"/share/lua/*/)?/init.lua"
 
 	}
     done
   '';
-  meta = {
+
+  propagatedBuildInputs = [ zip unzip cmake ];
+
+  # unpack hook for src.rock and rockspec files
+  setupHook = ./setup-hook.sh;
+
+  # cmake is just to compile packages with "cmake" buildType, not luarocks itself
+  dontUseCmakeConfigure = true;
+
+  shellHook = ''
+    export PATH="src/bin:''${PATH:-}"
+    export LUA_PATH="src/?.lua;''${LUA_PATH:-}"
+  '';
+
+  meta = with stdenv.lib; {
     inherit (s) version;
     description = ''A package manager for Lua'';
-    license = stdenv.lib.licenses.mit ;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    license = licenses.mit ;
+    maintainers = with maintainers; [raskin teto];
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/luarocks/luarocks-nix.nix b/nixpkgs/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
new file mode 100644
index 000000000000..a918cb0c6475
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
@@ -0,0 +1,9 @@
+{ luarocks, fetchFromGitHub }:
+luarocks.overrideAttrs(old: {
+  src = fetchFromGitHub {
+    owner = "teto";
+    repo = "luarocks";
+    rev = "f9dc7892214bff6bce822d94aca3331048e61df0";
+    sha256 = "117qqbiv87p2qw0zwapl7b0p4wgnn9f8k0qpppkj3653a1bwli05";
+  };
+})
diff --git a/nixpkgs/pkgs/development/tools/misc/luarocks/setup-hook.sh b/nixpkgs/pkgs/development/tools/misc/luarocks/setup-hook.sh
new file mode 100644
index 000000000000..593ee8bbe83e
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/luarocks/setup-hook.sh
@@ -0,0 +1,20 @@
+unpackCmdHooks+=(_trySourceRock)
+unpackCmdHooks+=(_tryRockSpec)
+
+_tryRockSpec() {
+    if ! [[ "$curSrc" =~ \.rockspec$ ]]; then return 1; fi
+}
+
+_trySourceRock() {
+
+    if ! [[ "$curSrc" =~ \.src.rock$ ]]; then return 1; fi
+
+    export PATH=${unzip}/bin:$PATH
+
+    # luarocks expects a clean <name>.rock.spec name to be the package name
+    # so we have to strip the hash
+    renamed="$(stripHash $curSrc)"
+    cp "$curSrc" "$renamed"
+    luarocks unpack --force "$renamed"
+}
+
diff --git a/nixpkgs/pkgs/development/tools/misc/mdl/.bundle/config b/nixpkgs/pkgs/development/tools/misc/mdl/.bundle/config
new file mode 100644
index 000000000000..d28c8337bc45
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/mdl/.bundle/config
@@ -0,0 +1,3 @@
+---
+BUNDLE_PATH: "vendor/bundle"
+BUNDLE_CACHE_ALL: "true"
diff --git a/nixpkgs/pkgs/development/tools/misc/mdl/Gemfile b/nixpkgs/pkgs/development/tools/misc/mdl/Gemfile
new file mode 100644
index 000000000000..15b33c53a653
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/mdl/Gemfile
@@ -0,0 +1,3 @@
+source "https://rubygems.org"
+
+gem "mdl"
diff --git a/nixpkgs/pkgs/development/tools/misc/mdl/Gemfile.lock b/nixpkgs/pkgs/development/tools/misc/mdl/Gemfile.lock
new file mode 100644
index 000000000000..aabcd784d867
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/mdl/Gemfile.lock
@@ -0,0 +1,21 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    kramdown (1.17.0)
+    mdl (0.5.0)
+      kramdown (~> 1.12, >= 1.12.0)
+      mixlib-cli (~> 1.7, >= 1.7.0)
+      mixlib-config (~> 2.2, >= 2.2.1)
+    mixlib-cli (1.7.0)
+    mixlib-config (2.2.18)
+      tomlrb
+    tomlrb (1.2.8)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  mdl
+
+BUNDLED WITH
+   1.16.3
diff --git a/nixpkgs/pkgs/development/tools/misc/mdl/default.nix b/nixpkgs/pkgs/development/tools/misc/mdl/default.nix
new file mode 100644
index 000000000000..a3c361efc9d5
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/mdl/default.nix
@@ -0,0 +1,15 @@
+{ lib, bundlerEnv, ruby }:
+
+bundlerEnv {
+  inherit ruby;
+  pname = "mdl";
+  gemdir = ./.;
+
+  meta = with lib; {
+    description = "A tool to check markdown files and flag style issues";
+    homepage = https://github.com/markdownlint/markdownlint;
+    license = licenses.mit;
+    maintainers = with maintainers; [ gerschtli ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/mdl/gemset.nix b/nixpkgs/pkgs/development/tools/misc/mdl/gemset.nix
new file mode 100644
index 000000000000..54994f3da6ab
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/mdl/gemset.nix
@@ -0,0 +1,44 @@
+{
+  kramdown = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq";
+      type = "gem";
+    };
+    version = "1.17.0";
+  };
+  mdl = {
+    dependencies = ["kramdown" "mixlib-cli" "mixlib-config"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "047hp8z1ma630wp38bm1giklkf385rp6wly8aidn825q831w2g4i";
+      type = "gem";
+    };
+    version = "0.5.0";
+  };
+  mixlib-cli = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0647msh7kp7lzyf6m72g6snpirvhimjm22qb8xgv9pdhbcrmcccp";
+      type = "gem";
+    };
+    version = "1.7.0";
+  };
+  mixlib-config = {
+    dependencies = ["tomlrb"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gm6yj9cbbgsl9x4xqxga0vz5w0ksq2jnq1wj8hvgm5c4wfcrswb";
+      type = "gem";
+    };
+    version = "2.2.18";
+  };
+  tomlrb = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0g28ssfal6vry3cmhy509ba3vi5d5aggz1gnffnvvmc8ml8vkpiv";
+      type = "gem";
+    };
+    version = "1.2.8";
+  };
+}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/tools/misc/pkgconfig/2.36.3-not-win32.patch b/nixpkgs/pkgs/development/tools/misc/pkg-config/2.36.3-not-win32.patch
index c1dd808e6008..c1dd808e6008 100644
--- a/nixpkgs/pkgs/development/tools/misc/pkgconfig/2.36.3-not-win32.patch
+++ b/nixpkgs/pkgs/development/tools/misc/pkg-config/2.36.3-not-win32.patch
diff --git a/nixpkgs/pkgs/development/tools/misc/pkgconfig/default.nix b/nixpkgs/pkgs/development/tools/misc/pkg-config/default.nix
index 81fb7f8b13ff..81fb7f8b13ff 100644
--- a/nixpkgs/pkgs/development/tools/misc/pkgconfig/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/pkg-config/default.nix
diff --git a/nixpkgs/pkgs/development/tools/misc/pkgconfig/requires-private.patch b/nixpkgs/pkgs/development/tools/misc/pkg-config/requires-private.patch
index d40aa9801379..d40aa9801379 100644
--- a/nixpkgs/pkgs/development/tools/misc/pkgconfig/requires-private.patch
+++ b/nixpkgs/pkgs/development/tools/misc/pkg-config/requires-private.patch
diff --git a/nixpkgs/pkgs/development/tools/misc/pkgconfig/setup-hook.sh b/nixpkgs/pkgs/development/tools/misc/pkg-config/setup-hook.sh
index 34a9b9f1173b..34a9b9f1173b 100644
--- a/nixpkgs/pkgs/development/tools/misc/pkgconfig/setup-hook.sh
+++ b/nixpkgs/pkgs/development/tools/misc/pkg-config/setup-hook.sh
diff --git a/nixpkgs/pkgs/development/tools/misc/pkgconf/default.nix b/nixpkgs/pkgs/development/tools/misc/pkgconf/default.nix
index 120b824a773f..5a9642057d8a 100644
--- a/nixpkgs/pkgs/development/tools/misc/pkgconf/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/pkgconf/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "pkgconf-1.5.4";
+  name = "pkgconf-1.6.0";
 
   src = fetchurl {
     url = "https://distfiles.dereferenced.org/pkgconf/${name}.tar.xz";
-    sha256 = "0r26qmij9lxpz183na3dxj6lamcma94cjhasy19fya44w2j68n4w";
+    sha256 = "1rgcw7lbmxv45y4ybnlh1wzhd1d15d2616499ajjnrvnnnms6db1";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/tools/misc/strace/default.nix b/nixpkgs/pkgs/development/tools/misc/strace/default.nix
index e2022156870d..4b6dc50a9311 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 {
   name = "strace-${version}";
-  version = "4.25";
+  version = "4.26";
 
   src = fetchurl {
     url = "https://strace.io/files/${version}/${name}.tar.xz";
-    sha256 = "00f7zagfh3np5gwi0z7hi7zjd7s5nixcaq7z78n87dvhakkgi1fn";
+    sha256 = "070yz8xii8gnb4psiz628zwm5srh266sfb06f7f1qzagxzz2ykbw";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = https://strace.io/;
     description = "A system call tracer for Linux";
-    license = licenses.bsd3;
+    license =  with licenses; [ lgpl21Plus gpl2Plus ]; # gpl2Plus is for the test suite
     platforms = platforms.linux;
     maintainers = with maintainers; [ jgeerds globin ];
   };
diff --git a/nixpkgs/pkgs/development/tools/misc/swig/3.x.nix b/nixpkgs/pkgs/development/tools/misc/swig/3.x.nix
index 9dc2b535c091..903693b92808 100644
--- a/nixpkgs/pkgs/development/tools/misc/swig/3.x.nix
+++ b/nixpkgs/pkgs/development/tools/misc/swig/3.x.nix
@@ -11,10 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "1wyffskbkzj5zyhjnnpip80xzsjcr3p0q5486z3wdwabnysnhn8n";
   };
 
-  # for cross-compiling we need pcre.dev in nativeBuildInputs to get pcre-config
-  nativeBuildInputs = [ autoconf automake libtool bison pcre.dev ];
-  disallowedReferences = [ buildPackages.pcre.dev ];
-
+  PCRE_CONFIG = "${pcre.dev}/bin/pcre-config";
+  nativeBuildInputs = [ autoconf automake libtool bison ];
   buildInputs = [ pcre ];
 
   configureFlags = [ "--without-tcl" ];
@@ -34,6 +32,5 @@ stdenv.mkDerivation rec {
     # Different types of licenses available: http://www.swig.org/Release/LICENSE .
     license = licenses.gpl3Plus;
     platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/tokei/default.nix b/nixpkgs/pkgs/development/tools/misc/tokei/default.nix
index 831a9ec62780..66d9d521b058 100644
--- a/nixpkgs/pkgs/development/tools/misc/tokei/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/tokei/default.nix
@@ -2,19 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   name = "tokei-${version}";
-  version = "8.0.0";
+  version = "9.0.0";
 
   src = fetchFromGitHub {
     owner = "Aaronepower";
     repo = "tokei";
     rev = "v${version}";
-    sha256 = "1sfwmjlvjrd8r0ynnayw7g3514mfiky2j30byphaagdw4jkxbd7c";
+    sha256 = "04d32w3yc98f6swxap19d6vrv8vi3w843cgnmf28mxcy4nbnls1n";
   };
 
-  cargoSha256 = "0v29gych757h7vv5jsg7rpl705gpqn0ya8ai53582qd2cc6yz4c3";
+  cargoSha256 = "0vjb4j8qwlmvw55i2jif1a7hwv928h90dzwlpcqb0h6nlv812fav";
 
   meta = with stdenv.lib; {
-    description = "Count code, quickly";
+    description = "Program that displays statistics about your code";
     homepage = https://github.com/Aaronepower/tokei;
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ gebner ];
diff --git a/nixpkgs/pkgs/development/tools/misc/uhd/default.nix b/nixpkgs/pkgs/development/tools/misc/uhd/default.nix
index 0730ef1fb09c..484e8787d50a 100644
--- a/nixpkgs/pkgs/development/tools/misc/uhd/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/uhd/default.nix
@@ -12,12 +12,12 @@ let
 
   # UHD seems to use three different version number styles: x.y.z, xxx_yyy_zzz
   # and xxx.yyy.zzz. Hrmpf... style keeps changing
-  version = "3.12.0.0";
+  version = "3.13.0.1";
 
   # Firmware images are downloaded (pre-built) from the respective release on Github
   uhdImagesSrc = fetchurl {
     url = "https://github.com/EttusResearch/uhd/releases/download/${uhdVer}/uhd-images_${version}.tar.xz";
-    sha256 = "1glf2qay4asajbl92fy432idqk0sj5h603najr8sgkbdyyyr933p";
+    sha256 = "0y9i93z188ch0hdlkvv0k9m0k7vns7rbxaqsnk35xnlqlxxgqdvj";
   };
 
 in stdenv.mkDerivation {
@@ -27,7 +27,7 @@ in stdenv.mkDerivation {
     owner = "EttusResearch";
     repo = "uhd";
     rev = "${uhdVer}";
-    sha256 = "0m7vw7dmvn7d01kkzphayzi0bk50m5v9a17rpnxhn0bqhw282ksv";
+    sha256 = "0si49qk96zhpanmcrzlr3igc5s1y30x4p0z973q60dx9fhqsbb6k";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/tools/ocaml/ocp-indent/default.nix b/nixpkgs/pkgs/development/tools/ocaml/ocp-indent/default.nix
index 2cffccdbfcdf..7ecc15da2b50 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/ocp-indent/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/ocp-indent/default.nix
@@ -1,31 +1,22 @@
-{ stdenv, fetchzip, ocaml, findlib, dune, ocp-build, cmdliner }:
+{ lib, fetchzip, buildDunePackage, cmdliner }:
 
-let inherit (stdenv.lib) getVersion versionAtLeast; in
-
-assert versionAtLeast (getVersion ocaml) "3.12.1";
-assert versionAtLeast (getVersion cmdliner) "1.0.0";
-assert versionAtLeast (getVersion ocp-build) "1.99.6-beta";
-
-stdenv.mkDerivation rec {
-
-  name = "ocaml${ocaml.version}-ocp-indent-${version}";
-  version = "1.6.1";
+buildDunePackage rec {
+  version = "1.7.0";
+  pname = "ocp-indent";
 
   src = fetchzip {
     url = "https://github.com/OCamlPro/ocp-indent/archive/${version}.tar.gz";
-    sha256 = "0rcaa11mjqka032g94wgw9llqpflyk3ywr3lr6jyxbh1rjvnipnw";
+    sha256 = "006x3fsd61vxnxj4chlakyk3b2s10pb0bdl46g0ghf3j8h33x7hc";
   };
 
-  nativeBuildInputs = [ ocp-build ];
-  buildInputs = [ ocaml findlib cmdliner ];
+  minimumOCamlVersion = "4.02";
 
-  inherit (dune) installPhase;
+  buildInputs = [ cmdliner ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://typerex.ocamlpro.com/ocp-indent.html;
     description = "A customizable tool to indent OCaml code";
     license = licenses.gpl3;
-    platforms = ocaml.meta.platforms or [];
     maintainers = [ maintainers.jirkamarsik ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/ocaml/opam/default.nix b/nixpkgs/pkgs/development/tools/ocaml/opam/default.nix
index 8e89dd3fadd2..b3e9e71ebc05 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/opam/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/opam/default.nix
@@ -11,8 +11,8 @@ let
       sha256 = "18jqphjiifljlh9jg8zpl6310p3iwyaqphdkmf89acyaix0s4kj1";
     };
     cppo = fetchurl {
-      url = "https://github.com/mjambon/cppo/archive/v1.6.4.tar.gz";
-      sha256 = "0jdb7d21lfa3ck4k59mrqs5pljzq5rb504jq57nnrc6klljm42j7";
+      url = "https://github.com/mjambon/cppo/archive/v1.6.5.tar.gz";
+      sha256 = "1dkm3d5h6h56y937gcdk2wixlpzl59vv5pmiafglr89p20kf7gqf";
     };
     cudf = fetchurl {
       url = "https://gforge.inria.fr/frs/download.php/36602/cudf-0.9.tar.gz";
@@ -22,42 +22,46 @@ let
       url = "https://gforge.inria.fr/frs/download.php/file/36063/dose3-5.0.1.tar.gz";
       sha256 = "00yvyfm4j423zqndvgc1ycnmiffaa2l9ab40cyg23pf51qmzk2jm";
     };
+    dune-local = fetchurl {
+      url = "https://github.com/ocaml/dune/releases/download/1.2.1/dune-1.2.1.tbz";
+      sha256 = "00c5dbm4hkdapc2i7pg07b2lj8sv6ly38qr7zid58cdmbmzq21z9";
+    };
     extlib = fetchurl {
       url = "http://ygrek.org.ua/p/release/ocaml-extlib/extlib-1.7.5.tar.gz";
       sha256 = "19slqf5bdj0rrph2w41giwmn6df2qm07942jn058pjkjrnk30d4s";
     };
-    jbuilder = fetchurl {
-      url = "https://github.com/ocaml/dune/releases/download/1.0+beta20/jbuilder-1.0.beta20.tbz";
-      sha256 = "07hl9as5llffgd6hbw41rs76i1ibgn3n9r0dba5h0mdlkapcwb10";
-    };
     mccs = fetchurl {
-      url = "https://github.com/AltGr/ocaml-mccs/archive/1.1+8.tar.gz";
-      sha256 = "0xavfvxfrcf3lmry8ymma1yzy0hw3ijbx94c9zq3pzlwnylrapa4";
+      url = "https://github.com/AltGr/ocaml-mccs/archive/1.1+9.tar.gz";
+      sha256 = "0gf86c65jdxxcwd96kcmrqxrmnnzc0570gb9ad6c57rl3fyy8yhv";
     };
     ocamlgraph = fetchurl {
       url = "http://ocamlgraph.lri.fr/download/ocamlgraph-1.8.8.tar.gz";
       sha256 = "0m9g16wrrr86gw4fz2fazrh8nkqms0n863w7ndcvrmyafgxvxsnr";
     };
     opam-file-format = fetchurl {
-      url = "https://github.com/ocaml/opam-file-format/archive/2.0.0-rc2.tar.gz";
-      sha256 = "1mgk08msp7hxn0hs0m82vky3yv6hcq4pw5402b3vhx4c49431jsb";
+      url = "https://github.com/ocaml/opam-file-format/archive/2.0.0.tar.gz";
+      sha256 = "0cjw69r7iilidi7b6arr92kjnjspchvwnmwr1b1gyaxqxpr2s98m";
     };
     re = fetchurl {
-      url = "https://github.com/ocaml/ocaml-re/releases/download/1.7.3/re-1.7.3.tbz";
-      sha256 = "0nv933qfl8y9i19cqvhsalwzif3dkm28vg478rpnr4hgfqjlfryr";
+      url = "https://github.com/ocaml/ocaml-re/releases/download/1.8.0/re-1.8.0.tbz";
+      sha256 = "0qkv42a4hpqpxvqa4kdkkcbhbg7aym9kv4mqgm3m51vxbd0pq0lv";
     };
     result = fetchurl {
       url = "https://github.com/janestreet/result/releases/download/1.3/result-1.3.tbz";
       sha256 = "1lrnbxdq80gbhnp85mqp1kfk0bkh6q1c93sfz2qgnq2qyz60w4sk";
     };
+    seq = fetchurl {
+      url = "https://github.com/c-cube/seq/archive/0.1.tar.gz";
+      sha256 = "02lb2d9i12bxrz2ba5wygk2bycan316skqlyri0597q7j9210g8r";
+    };
     opam = fetchurl {
-      url = "https://github.com/ocaml/opam/archive/2.0.0.zip";
-      sha256 = "0m4ilsldrfkkn0vlvl119bk76j2pwvqvdi8mpg957z4kqflfbfp8";
+      url = "https://github.com/ocaml/opam/archive/2.0.2.zip";
+      sha256 = "0hxf0ns3si03rl7dxix7i30limbl50ffyvdyk9bqqms4ir8dcza6";
     };
   };
 in stdenv.mkDerivation rec {
   name = "opam-${version}";
-  version = "2.0.0";
+  version = "2.0.2";
 
   buildInputs = [ unzip curl ncurses ocaml makeWrapper getconf ] ++ lib.optional stdenv.isLinux bubblewrap;
 
@@ -68,16 +72,17 @@ in stdenv.mkDerivation rec {
     ln -sv ${srcs.cppo} $sourceRoot/src_ext/cppo.tar.gz
     ln -sv ${srcs.cudf} $sourceRoot/src_ext/cudf.tar.gz
     ln -sv ${srcs.dose3} $sourceRoot/src_ext/dose3.tar.gz
+    ln -sv ${srcs.dune-local} $sourceRoot/src_ext/dune-local.tbz
     ln -sv ${srcs.extlib} $sourceRoot/src_ext/extlib.tar.gz
-    ln -sv ${srcs.jbuilder} $sourceRoot/src_ext/jbuilder.tbz
     ln -sv ${srcs.mccs} $sourceRoot/src_ext/mccs.tar.gz
     ln -sv ${srcs.ocamlgraph} $sourceRoot/src_ext/ocamlgraph.tar.gz
     ln -sv ${srcs.opam-file-format} $sourceRoot/src_ext/opam-file-format.tar.gz
     ln -sv ${srcs.re} $sourceRoot/src_ext/re.tbz
     ln -sv ${srcs.result} $sourceRoot/src_ext/result.tbz
+    ln -sv ${srcs.seq} $sourceRoot/src_ext/seq.tar.gz
   '';
 
-  patches = [ ./opam-pull-3487.patch ./opam-shebangs.patch ./opam-mccs-darwin.patch ];
+  patches = [ ./opam-shebangs.patch ];
 
   preConfigure = ''
     substituteInPlace ./src_ext/Makefile --replace "%.stamp: %.download" "%.stamp:"
@@ -98,7 +103,8 @@ in stdenv.mkDerivation rec {
     mv $out/bin/opam $out/bin/.opam-wrapped
     makeWrapper $out/bin/.opam-wrapped $out/bin/opam \
       --argv0 "opam" \
-      --suffix PATH : ${aspcud}/bin:${unzip}/bin:${curl}/bin:${lib.optionalString stdenv.isLinux "${bubblewrap}/bin:"}${getconf}/bin
+      --suffix PATH : ${aspcud}/bin:${unzip}/bin:${curl}/bin:${lib.optionalString stdenv.isLinux "${bubblewrap}/bin:"}${getconf}/bin \
+      --set OPAM_USER_PATH_RO /run/current-system/sw/bin:/nix/store
     $out/bin/opam-installer --prefix=$installer opam-installer.install
   '';
 
@@ -111,4 +117,4 @@ in stdenv.mkDerivation rec {
     platforms = platforms.all;
   };
 }
-# Generated by: ./opam.nix.pl -v 2.0.0 -p opam-pull-3487.patch,opam-shebangs.patch,opam-mccs-darwin.patch
+# Generated by: ./opam.nix.pl -v 2.0.2 -p opam-shebangs.patch
diff --git a/nixpkgs/pkgs/development/tools/ocaml/opam/opam-mccs-darwin.patch b/nixpkgs/pkgs/development/tools/ocaml/opam/opam-mccs-darwin.patch
deleted file mode 100644
index 501242c40a01..000000000000
--- a/nixpkgs/pkgs/development/tools/ocaml/opam/opam-mccs-darwin.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/src_ext/patches/mccs/build-on-darwin.patch b/src_ext/patches/mccs/build-on-darwin.patch
-new file mode 100644
-index 00000000..157e2094
---- /dev/null
-+++ b/src_ext/patches/mccs/build-on-darwin.patch
-@@ -0,0 +1,12 @@
-+diff --git a/src/context_flags.ml b/src/context_flags.ml
-+index 7470030..6e07370 100644
-+--- a/src/context_flags.ml
-++++ b/src/context_flags.ml
-+@@ -24,6 +24,7 @@ let ifc c x = if c then x else []
-+ 
-+ let cxxflags =
-+   let flags =
-++    (ifc (Config.system = "macosx") ["-x"; "c++"]) @
-+     (ifc (Sys.win32 && Config.ccomp_type = "msvc") ["/EHsc"]) @
-+     (ifc useGLPK ["-DUSEGLPK"]) @
-+     (ifc useCOIN ["-DUSECOIN"]) @
diff --git a/nixpkgs/pkgs/development/tools/ocaml/opam/opam-pull-3487.patch b/nixpkgs/pkgs/development/tools/ocaml/opam/opam-pull-3487.patch
deleted file mode 100644
index e047c8298bc3..000000000000
--- a/nixpkgs/pkgs/development/tools/ocaml/opam/opam-pull-3487.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/src/state/shellscripts/bwrap.sh b/src/state/shellscripts/bwrap.sh
-index 6f5d7dbea..3e1a3e1b4 100755
---- a/src/state/shellscripts/bwrap.sh
-+++ b/src/state/shellscripts/bwrap.sh
-@@ -1,4 +1,6 @@
--#!/bin/bash -ue
-+#!/usr/bin/env bash
-+
-+set -ue
- 
- if ! command -v bwrap >/dev/null; then
-     echo "The 'bwrap' command was not found. Install 'bubblewrap' on your system, or" >&2
-@@ -11,7 +13,9 @@ fi
- 
- ARGS=(--unshare-net --new-session)
- ARGS=("${ARGS[@]}" --proc /proc --dev /dev)
--ARGS=("${ARGS[@]}" --bind /tmp /tmp --tmpfs /run --tmpfs /var)
-+ARGS=("${ARGS[@]}" --bind "${TMPDIR:-/tmp}" /tmp)
-+ARGS=("${ARGS[@]}" --setenv TMPDIR /tmp --setenv TMP /tmp --setenv TEMPDIR /tmp --setenv TEMP /tmp)
-+ARGS=("${ARGS[@]}" --tmpfs /run --tmpfs /var)
- 
- add_mounts() {
-     case "$1" in
diff --git a/nixpkgs/pkgs/development/tools/ocaml/opam/opam.nix.pl b/nixpkgs/pkgs/development/tools/ocaml/opam/opam.nix.pl
index 1862add452d6..537997eb8a45 100755
--- a/nixpkgs/pkgs/development/tools/ocaml/opam/opam.nix.pl
+++ b/nixpkgs/pkgs/development/tools/ocaml/opam/opam.nix.pl
@@ -113,7 +113,8 @@ print <<'EOF';
     mv $out/bin/opam $out/bin/.opam-wrapped
     makeWrapper $out/bin/.opam-wrapped $out/bin/opam \
       --argv0 "opam" \
-      --suffix PATH : ${aspcud}/bin:${unzip}/bin:${curl}/bin:${lib.optionalString stdenv.isLinux "${bubblewrap}/bin:"}${getconf}/bin
+      --suffix PATH : ${aspcud}/bin:${unzip}/bin:${curl}/bin:${lib.optionalString stdenv.isLinux "${bubblewrap}/bin:"}${getconf}/bin \
+      --set OPAM_USER_PATH_RO /run/current-system/sw/bin:/nix/store
     $out/bin/opam-installer --prefix=$installer opam-installer.install
   '';
 
diff --git a/nixpkgs/pkgs/development/tools/omniorb/default.nix b/nixpkgs/pkgs/development/tools/omniorb/default.nix
index cdd599c451f8..725219c3d7c7 100644
--- a/nixpkgs/pkgs/development/tools/omniorb/default.nix
+++ b/nixpkgs/pkgs/development/tools/omniorb/default.nix
@@ -3,11 +3,11 @@ stdenv.mkDerivation rec {
 
   name = "omniorb-${version}";
 
-  version = "4.2.2";
+  version = "4.2.3";
 
   src = fetchurl rec {
     url = "mirror://sourceforge/project/omniorb/omniORB/omniORB-${version}/omniORB-${version}.tar.bz2";
-    sha256 = "1klf6ivhsisdnqxcbf161jxva0xzmfgmwypnxfzf4jq16770knfx";
+    sha256 = "1jlb0wps6311dmhnphn64gv46z0bl8grch4fd9dcx5dlib02lh96";
   };
 
   buildInputs = [ python2 ];
diff --git a/nixpkgs/pkgs/development/tools/packer/default.nix b/nixpkgs/pkgs/development/tools/packer/default.nix
index 25ec443be42b..5e54a8b37058 100644
--- a/nixpkgs/pkgs/development/tools/packer/default.nix
+++ b/nixpkgs/pkgs/development/tools/packer/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 buildGoPackage rec {
   name = "packer-${version}";
-  version = "1.3.1";
+  version = "1.3.3";
 
   goPackagePath = "github.com/hashicorp/packer";
 
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "hashicorp";
     repo = "packer";
     rev = "v${version}";
-    sha256 = "0aif4ilzfv8qyqk4mn525r38xw2w34ryknzd2vrg6mcjcarm8myq";
+    sha256 = "1b1yp5k2apccyqw9zb2xclnm16gfnnkaiwh2s0p79prsy6gjkp7y";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/tools/parsing/bison/3.x.nix b/nixpkgs/pkgs/development/tools/parsing/bison/3.x.nix
index 42c443a46a85..3d5f09b7bc3e 100644
--- a/nixpkgs/pkgs/development/tools/parsing/bison/3.x.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/bison/3.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, m4, perl, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "bison-3.2.2";
+  name = "bison-3.2.4";
 
   src = fetchurl {
     url = "mirror://gnu/bison/${name}.tar.gz";
-    sha256 = "0v3q6ym34krb4iskg0pspvpm35wmp3gx9njb9c35cv0w0h0j5z9z";
+    sha256 = "16n7xs3sa1rlhs8y8zg4gi2s2kbkz8d69w3xp935wjykk0i3wryb";
   };
 
   patches = []; # remove on another rebuild
diff --git a/nixpkgs/pkgs/development/tools/pax-rs/default.nix b/nixpkgs/pkgs/development/tools/pax-rs/default.nix
new file mode 100644
index 000000000000..3a4f35c0412b
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/pax-rs/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, fetchurl, rustPlatform, runCommand } :
+with rustPlatform;
+
+buildRustPackage rec {
+  name = "pax-rs-${version}";
+  version = "0.4.0";
+
+  meta = with stdenv.lib; {
+    description = "The fastest JavaScript bundler in the galaxy.";
+    longDescription = ''
+      The fastest JavaScript bundler in the galaxy. Fully supports ECMAScript module syntax (import/export) in addition to CommonJS require(<string>).
+    '';
+    homepage = https://github.com/nathan/pax;
+    license = licenses.mit;
+    maintainers = [ maintainers.klntsky ];
+    platforms = platforms.all;
+  };
+
+  src =
+    let
+      source = fetchFromGitHub {
+        owner = "nathan";
+        repo = "pax";
+        rev = "pax-v${version}";
+        sha256 = "1l2xpgsms0bfc0i3l0hyw4dbp6d4qdxa9vxyp704p27vvn4ndhv2";
+      };
+
+      cargo-lock = fetchurl {
+        url = "https://gist.github.com/8084/c7863424d7df0c379782015f6bb3b399/raw/1cf7481e33984fd1510dc77ed677606d08fa8eb6/Cargo.lock";
+        sha256 = "0ff1b64b99cbca1cc2ceabcd2e4f7bc3411e3a2a9fbb9db2204d9240fe38ddeb";
+      };
+    in
+    runCommand "pax-rs-src" {} ''
+      cp -R ${source} $out
+      chmod +w $out
+      cp ${cargo-lock} $out/Cargo.lock
+    '';
+
+  cargoSha256 = "0sdk090sp89vgwz5a71f481a5sk13kcqb29cx1dslfq59sp4j6y7";
+}
diff --git a/nixpkgs/pkgs/development/tools/profiling/gprof2dot/default.nix b/nixpkgs/pkgs/development/tools/profiling/gprof2dot/default.nix
deleted file mode 100644
index 2f0b03ab7e37..000000000000
--- a/nixpkgs/pkgs/development/tools/profiling/gprof2dot/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchFromGitHub, pythonPackages }:
-
-pythonPackages.buildPythonApplication {
-  name = "gprof2dot-2015-04-27";
-
-  src = fetchFromGitHub {
-    owner = "jrfonseca";
-    repo = "gprof2dot";
-    rev = "6fbb81559609c12e7c64ae5dce7d102a414a7514";
-    sha256 = "1fff7w6dm6lld11hp2ij97f85ma1154h62dvchq19c5jja3zjw3c";
-  };
-
-  meta = with stdenv.lib; {
-    homepage = https://github.com/jrfonseca/gprof2dot;
-    description = "Python script to convert the output from many profilers into a dot graph";
-    license = licenses.lgpl3Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/development/tools/profiling/systemtap/default.nix b/nixpkgs/pkgs/development/tools/profiling/systemtap/default.nix
index ecc86d51a06e..6b1918a5d982 100644
--- a/nixpkgs/pkgs/development/tools/profiling/systemtap/default.nix
+++ b/nixpkgs/pkgs/development/tools/profiling/systemtap/default.nix
@@ -6,8 +6,8 @@ let
   ## fetchgit info
   url = git://sourceware.org/git/systemtap.git;
   rev = "release-${version}";
-  sha256 = "0hckbmrlcz5nj438409fmdjjaaqzf68r2242v10lkssw5daia1gj";
-  version = "3.3";
+  sha256 = "075p45ndr4pzrf5679hcsw1ws4x0xqvx3m037v04545762hki6la";
+  version = "4.0";
 
   inherit (kernel) stdenv;
   inherit (stdenv) lib;
diff --git a/nixpkgs/pkgs/development/tools/pyre/default.nix b/nixpkgs/pkgs/development/tools/pyre/default.nix
index a93dedded291..7ae95679482f 100644
--- a/nixpkgs/pkgs/development/tools/pyre/default.nix
+++ b/nixpkgs/pkgs/development/tools/pyre/default.nix
@@ -3,12 +3,12 @@
 let
   # Manually set version - the setup script requires
   # hg and git + keeping the .git directory around.
-  pyre-version = "0.0.18";  # also change typeshed revision below with $pyre-src/.typeshed-version
+  pyre-version = "0.0.20";  # also change typeshed revision below with $pyre-src/.typeshed-version
   pyre-src = fetchFromGitHub {
     owner = "facebook";
     repo = "pyre-check";
     rev = "v${pyre-version}";
-    sha256 = "1sy1lk9j3hq20dabfkr9s4r7prrcndrs345a5iqz6yzvakr4r74d";
+    sha256 = "1alkhdhvmigdhxvvarh0lr5s3b1s6q4arykip2dqb62vs8064s17";
   };
   versionFile = writeScript "version.ml" ''
     cat > "./version.ml" <<EOF
@@ -83,8 +83,8 @@ typeshed = stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "python";
     repo = "typeshed";
-    rev = "bc3f9fe1d3c43b00c04cedb23e0eeebc9e1734b6";
-    sha256 = "06b2kj4n49h4sgi8hn5kalmir8llhanfdc7f1924cxvrkj5ry94b";
+    rev = "0b49ce75b478fdf283dda5dd1368759ac342dfe2";
+    sha256 = "1w5aqbbcfk5ki8n9fgdikkyadjb318ipqyi517s9xnwlzi1jv0fh";
   };
   phases = [ "unpackPhase" "installPhase" ];
   installPhase = "cp -r $src $out";
diff --git a/nixpkgs/pkgs/development/tools/repository-managers/nexus/default.nix b/nixpkgs/pkgs/development/tools/repository-managers/nexus/default.nix
index 39e37b217cf3..1ade2b353868 100644
--- a/nixpkgs/pkgs/development/tools/repository-managers/nexus/default.nix
+++ b/nixpkgs/pkgs/development/tools/repository-managers/nexus/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, makeWrapper, jre, gawk }:
+{ stdenv, fetchurl, makeWrapper, jre_headless, gawk }:
 
 stdenv.mkDerivation rec {
   name = "nexus-${version}";
-  version = "3.12.1-01";
+  version = "3.15.0-01";
 
   src = fetchurl {
     url = "https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-${version}-unix.tar.gz";
-    sha256 = "1vv50zv3cr42rq1g16gdl2d1hrxna2jjynlr7kivzlbyfq89ic3f";
+    sha256 = "0akizdljcjl1nh25k01wxvp5wp4i2jphsj0hh5rqbd0fk1pjivkv";
   };
 
   sourceRoot = name;
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     rm -fv $out/bin/nexus.bat
 
     wrapProgram $out/bin/nexus \
-      --set JAVA_HOME ${jre} \
+      --set JAVA_HOME ${jre_headless} \
       --set ALTERNATIVE_NAME "nexus" \
       --prefix PATH "${stdenv.lib.makeBinPath [ gawk ]}"
 
@@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.sonatype.org/nexus;
     license = licenses.epl10;
     platforms = platforms.all;
-    maintainers = with maintainers; [ aespinosa ironpinguin ma27 ];
+    maintainers = with maintainers; [ aespinosa ironpinguin ma27 zaninime ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/rubocop/Gemfile.lock b/nixpkgs/pkgs/development/tools/rubocop/Gemfile.lock
index 9c6f2fc32d21..beee9772bebd 100644
--- a/nixpkgs/pkgs/development/tools/rubocop/Gemfile.lock
+++ b/nixpkgs/pkgs/development/tools/rubocop/Gemfile.lock
@@ -2,23 +2,23 @@ GEM
   remote: https://rubygems.org/
   specs:
     ast (2.4.0)
-    jaro_winkler (1.5.1)
+    jaro_winkler (1.5.2)
     parallel (1.12.1)
-    parser (2.5.1.2)
+    parser (2.5.3.0)
       ast (~> 2.4.0)
     powerpack (0.1.2)
     rainbow (3.0.0)
-    rake (12.3.1)
-    rubocop (0.59.1)
+    rake (12.3.2)
+    rubocop (0.62.0)
       jaro_winkler (~> 1.5.1)
       parallel (~> 1.10)
       parser (>= 2.5, != 2.5.1.1)
       powerpack (~> 0.1)
       rainbow (>= 2.2.2, < 4.0)
       ruby-progressbar (~> 1.7)
-      unicode-display_width (~> 1.0, >= 1.0.1)
+      unicode-display_width (~> 1.4.0)
     ruby-progressbar (1.10.0)
-    unicode-display_width (1.4.0)
+    unicode-display_width (1.4.1)
 
 PLATFORMS
   ruby
diff --git a/nixpkgs/pkgs/development/tools/rubocop/gemset.nix b/nixpkgs/pkgs/development/tools/rubocop/gemset.nix
index 862f655b49da..57146a9a15e6 100644
--- a/nixpkgs/pkgs/development/tools/rubocop/gemset.nix
+++ b/nixpkgs/pkgs/development/tools/rubocop/gemset.nix
@@ -8,12 +8,14 @@
     version = "2.4.0";
   };
   jaro_winkler = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rr797nqz081bfk30m2apj5h24bg5d1jr1c8p3xwx4hbwsrbclah";
+      sha256 = "1zz27z88qznix4r65gd9h56gl177snlfpgv10b0s69vi8qpl909l";
       type = "gem";
     };
-    version = "1.5.1";
+    version = "1.5.2";
   };
   parallel = {
     source = {
@@ -25,12 +27,14 @@
   };
   parser = {
     dependencies = ["ast"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zp89zg7iypncszxsjp8kiccrpbdf728jl449g6cnfkz990fyb5k";
+      sha256 = "1zjk0w1kjj3xk8ymy1430aa4gg0k8ckphfj88br6il4pm83f0n1f";
       type = "gem";
     };
-    version = "2.5.1.2";
+    version = "2.5.3.0";
   };
   powerpack = {
     source = {
@@ -49,21 +53,25 @@
     version = "3.0.0";
   };
   rake = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg";
+      sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn";
       type = "gem";
     };
-    version = "12.3.1";
+    version = "12.3.2";
   };
   rubocop = {
     dependencies = ["jaro_winkler" "parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hz4slfisbq8nqs83mvvh6yv5hb7z7zx9fxvv9cka6b9ldvr2i2b";
+      sha256 = "03narxzrpbilwbhr19qklvxhg22i8jkfar4igb1l8m73jydpxfvk";
       type = "gem";
     };
-    version = "0.59.1";
+    version = "0.62.0";
   };
   ruby-progressbar = {
     source = {
@@ -74,11 +82,13 @@
     version = "1.10.0";
   };
   unicode-display_width = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0040bsdpcmvp8w31lqi2s9s4p4h031zv52401qidmh25cgyh4a57";
+      sha256 = "0bq528fibi8s0jmxz0xzlgzggdq0x4fx46wfqz49478pv8gb2diq";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.4.1";
   };
 }
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/tools/rust/bindgen/default.nix b/nixpkgs/pkgs/development/tools/rust/bindgen/default.nix
index 836003eeb736..5a1c2364a777 100644
--- a/nixpkgs/pkgs/development/tools/rust/bindgen/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/bindgen/default.nix
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
     chmod +x $out/bin/bindgen
   '';
 
-  doCheck = false; # half the tests fail because our rustfmt is not nightly enough
+  doCheck = true;
   checkInputs =
     let fakeRustup = writeScriptBin "rustup" ''
       #!${stdenv.shell}
@@ -42,6 +42,10 @@ rustPlatform.buildRustPackage rec {
     fakeRustup # the test suite insists in calling `rustup run nightly rustfmt`
     clang
   ];
+  preCheck = ''
+    # for the ci folder, notably
+    patchShebangs .
+  '';
 
   meta = with stdenv.lib; {
     description = "C and C++ binding generator";
diff --git a/nixpkgs/pkgs/development/tools/rust/rustfmt/default.nix b/nixpkgs/pkgs/development/tools/rust/rustfmt/default.nix
index b8585dace544..dac00aa4c969 100644
--- a/nixpkgs/pkgs/development/tools/rust/rustfmt/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/rustfmt/default.nix
@@ -1,17 +1,28 @@
-{ stdenv, fetchFromGitHub, rustPlatform }:
+{ stdenv, fetchFromGitHub, rustPlatform, darwin }:
 
 rustPlatform.buildRustPackage rec {
   name = "rustfmt-${version}";
-  version = "0.9.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
-    owner = "rust-lang-nursery";
+    owner = "rust-lang";
     repo = "rustfmt";
     rev = "${version}";
-    sha256 = "12l3ff0s0pzhcf5jbs8wqawjk4jghhhz8j6dq1n5201yvny12jlr";
+    sha256 = "1l18ycbq3125sq8v3wgma630wd6kclarlf8f51cmi9blk322jg9p";
   };
 
-  cargoSha256 = "0gppki9mgx99xipapg36ydwk1bplygnz6sbyzbg46vhn10iggfwm";
+  cargoSha256 = "1557783icdzlwn02c5zl4362yl85r5zj4nkjv80p6896yli9hk9h";
+
+  buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
+
+  # As of 1.0.0 and rustc 1.30 rustfmt requires a nightly compiler
+  RUSTC_BOOTSTRAP = 1;
+
+  # we run tests in debug mode so tests look for a debug build of
+  # rustfmt. Anyway this adds nearly no compilation time.
+  preCheck = ''
+    cargo build
+  '';
 
   meta = with stdenv.lib; {
     description = "A tool for formatting Rust code according to style guidelines";
diff --git a/nixpkgs/pkgs/development/tools/solarus-quest-editor/default.nix b/nixpkgs/pkgs/development/tools/solarus-quest-editor/default.nix
index 5a340d309495..991edf9b568f 100644
--- a/nixpkgs/pkgs/development/tools/solarus-quest-editor/default.nix
+++ b/nixpkgs/pkgs/development/tools/solarus-quest-editor/default.nix
@@ -1,36 +1,23 @@
 { stdenv, fetchFromGitLab, cmake, luajit,
   SDL2, SDL2_image, SDL2_ttf, physfs,
   openal, libmodplug, libvorbis, solarus,
-  qtbase, qttools, fetchpatch }:
+  qtbase, qttools, fetchpatch, glm }:
 
 stdenv.mkDerivation rec {
   name = "solarus-quest-editor-${version}";
-  version = "1.5.3";
+  version = "1.6.0";
     
   src = fetchFromGitLab {
     owner = "solarus-games";
     repo = "solarus-quest-editor";
-    rev = "v1.5.3";
-    sha256 = "1b9mg04yy4pnrl745hbc82rz79k0f8ci3wv7gvsm3a998q8m98si";
+    rev = "v${version}";
+    sha256 = "1a7816kaljfh9ynzy9g36mqzzv2p800nnbrja73q6vjfrsv3vq4c";
   };
   
   buildInputs = [ cmake luajit SDL2
     SDL2_image SDL2_ttf physfs
     openal libmodplug libvorbis
-    solarus qtbase qttools ];
-    
-  patches = [
-    ./patches/fix-install.patch
-
-    # Next two patches should be fine to remove for next release.
-    # This commit fixes issues AND adds features *sighs*
-    ./patches/partial-f285beab62594f73e57190c49848c848487214cf.patch
-
-    (fetchpatch {
-      url = https://gitlab.com/solarus-games/solarus-quest-editor/commit/8f308463030c18cd4f7c8a6052028fff3b7ca35a.patch;
-      sha256 = "1jq48ghhznrp47q9lq2rhh48a1z4aylyy4qaniaqyfyq3vihrchr";
-    })
-  ];
+    solarus qtbase qttools glm ];
 
   meta = with stdenv.lib; {
     description = "The editor for the Zelda-like ARPG game engine, Solarus";
diff --git a/nixpkgs/pkgs/development/tools/solarus-quest-editor/patches/fix-install.patch b/nixpkgs/pkgs/development/tools/solarus-quest-editor/patches/fix-install.patch
deleted file mode 100644
index 98c26c1a7061..000000000000
--- a/nixpkgs/pkgs/development/tools/solarus-quest-editor/patches/fix-install.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-# Description Fix CMakeLists.txt to install binaries. Fixed in 1.5 upstream.
-# Author "Nathan R. Moore <natedevv@gmail.com>"
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -359,6 +359,11 @@
-   "${MODPLUG_LIBRARY}"
- )
- 
-+# Set files to install
-+install(TARGETS solarus-quest-editor
-+    RUNTIME DESTINATION bin
-+)
-+
- # Platform specific.
- 
- # Windows: disable the console.
diff --git a/nixpkgs/pkgs/development/tools/solarus-quest-editor/patches/partial-f285beab62594f73e57190c49848c848487214cf.patch b/nixpkgs/pkgs/development/tools/solarus-quest-editor/patches/partial-f285beab62594f73e57190c49848c848487214cf.patch
deleted file mode 100644
index 73e817fcfbe8..000000000000
--- a/nixpkgs/pkgs/development/tools/solarus-quest-editor/patches/partial-f285beab62594f73e57190c49848c848487214cf.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From f285beab62594f73e57190c49848c848487214cf Mon Sep 17 00:00:00 2001
-From: stdgregwar <gregoirehirt@gmail.com>
-Date: Sun, 1 Jul 2018 00:00:41 +0200
-Subject: [PATCH] Shader previewer base
-
-
-diff --git a/include/widgets/tileset_view.h b/include/widgets/tileset_view.h
-index 615f432..799a4c6 100644
---- a/include/widgets/tileset_view.h
-+++ b/include/widgets/tileset_view.h
-@@ -23,6 +23,7 @@
- #include "pattern_separation.h"
- #include <QGraphicsView>
- #include <QPointer>
-+#include <QMenu>
- 
- class QAction;
- 
-diff --git a/src/widgets/text_editor.cpp b/src/widgets/text_editor.cpp
-index 4f2ff68..90080a9 100644
---- a/src/widgets/text_editor.cpp
-+++ b/src/widgets/text_editor.cpp
-@@ -26,6 +26,7 @@
- #include <QList>
- #include <QPlainTextEdit>
- #include <QScrollBar>
-+#include <QAction>
- #include <QTextStream>
- #include <QUndoStack>
- 
--- 
-2.18.0
-
diff --git a/nixpkgs/pkgs/development/tools/sslmate/default.nix b/nixpkgs/pkgs/development/tools/sslmate/default.nix
index 9261b892cca5..8683c75a696d 100644
--- a/nixpkgs/pkgs/development/tools/sslmate/default.nix
+++ b/nixpkgs/pkgs/development/tools/sslmate/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perlPackages, perl, makeWrapper, openssl }:
+{ stdenv, fetchurl, perlPackages, makeWrapper, openssl }:
 
 stdenv.mkDerivation rec {
   name = "sslmate-1.7.0";
@@ -10,11 +10,11 @@ stdenv.mkDerivation rec {
 
   makeFlags = "PREFIX=$(out)";
 
-  buildInputs = [ perl makeWrapper ];
+  buildInputs = [ perlPackages.perl makeWrapper ];
 
   postInstall = ''
     wrapProgram $out/bin/sslmate --prefix PERL5LIB : \
-      "${with perlPackages; stdenv.lib.makePerlPath [
+      "${with perlPackages; makePerlPath [
         URI
         JSONPP
         TermReadKey
diff --git a/nixpkgs/pkgs/development/tools/toluapp/default.nix b/nixpkgs/pkgs/development/tools/toluapp/default.nix
index 1214058698e2..90d36c71caa9 100644
--- a/nixpkgs/pkgs/development/tools/toluapp/default.nix
+++ b/nixpkgs/pkgs/development/tools/toluapp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, scons, lua }:
+{ stdenv, fetchFromGitHub, sconsPackages, lua }:
 
 stdenv.mkDerivation rec {
   version = "1.0.93";
@@ -11,10 +11,10 @@ stdenv.mkDerivation rec {
     sha256 = "0zd55bc8smmgk9j4cf0jpibb03lgsvl0knpwhplxbv93mcdnw7s0";
   };
 
-  nativeBuildInputs = [ scons ];
+  nativeBuildInputs = [ sconsPackages.scons_3_0_1 ];
   buildInputs = [ lua ];
 
-  patches = [ ./environ-and-linux-is-kinda-posix.patch ];
+  patches = [ ./environ-and-linux-is-kinda-posix.patch ./headers.patch ];
 
   preConfigure = ''
     substituteInPlace config_posix.py \
diff --git a/nixpkgs/pkgs/development/tools/toluapp/headers.patch b/nixpkgs/pkgs/development/tools/toluapp/headers.patch
new file mode 100644
index 000000000000..59a47bb989a9
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/toluapp/headers.patch
@@ -0,0 +1,15 @@
+diff --git a/include/tolua++.h b/include/tolua++.h
+index ed53449..f57d56d 100644
+--- a/include/tolua++.h
++++ b/include/tolua++.h
+@@ -43,8 +43,8 @@ extern "C" {
+
+ typedef int lua_Object;
+
+-#include "lua.h"
+-#include "lauxlib.h"
++#include <lua.h>
++#include <lauxlib.h>
+
+ struct tolua_Error
+ {
diff --git a/nixpkgs/pkgs/development/tools/trellis/default.nix b/nixpkgs/pkgs/development/tools/trellis/default.nix
index 892552559aa7..966c50404d45 100644
--- a/nixpkgs/pkgs/development/tools/trellis/default.nix
+++ b/nixpkgs/pkgs/development/tools/trellis/default.nix
@@ -1,49 +1,54 @@
-{ stdenv, fetchFromGitHub, python3, cmake, boost }:
+{ stdenv, fetchFromGitHub
+, python3, boost
+, cmake
+}:
 
 let
-  trellisdb = fetchFromGitHub {
-    owner = "SymbiFlow";
-    repo  = "prjtrellis-db";
-    rev   = "06b429ddb7fd8ec1e3f2b35de2e94b4853cf2835";
-    sha256 = "07bsgw5x3gq0jcn9j4g7q9xvibvz6j2arjnvgyrxnrg30ri9q173";
-  };
+  boostWithPython3 = boost.override { python = python3; enablePython = true; };
 in
 stdenv.mkDerivation rec {
   name = "trellis-${version}";
-  version = "2018.08.01";
+  version = "2018.12.20";
 
-  buildInputs = [
-    (boost.override { python = python3; enablePython = true; })
+  srcs = [
+    (fetchFromGitHub {
+       owner  = "symbiflow";
+       repo   = "prjtrellis";
+       rev    = "b947028a6ac6494b6000c6e1ab5aa0db813e8544";
+       sha256 = "14dcsl2drx3xaqvpawp0j7088cijxcr5018yji48rmbl85763aw9";
+       name   = "trellis";
+     })
+    (fetchFromGitHub {
+      owner  = "symbiflow";
+      repo   = "prjtrellis-db";
+      rev    = "670d04f0b8412193d5e974eea67f2bb7355aa1ec";
+      sha256 = "1hm385rg1jq9qbq63g5134gq9xpfadvpahxvzwpv0q543brkg730";
+      name   = "database";
+    })
   ];
+  sourceRoot = "trellis";
 
-  nativeBuildInputs = [
-    cmake python3
-  ];
+  buildInputs = [ boostWithPython3 ];
+  nativeBuildInputs = [ cmake python3 ];
 
-  src = fetchFromGitHub {
-    owner  = "SymbiFlow";
-    repo   = "prjtrellis";
-    rev    = "fff9532fe59bf9e38b44f029ce4a06c607a9ee78";
-    sha256 = "0ycw9fjf6428sf5x8x5szn8fha79610nf7nn8kmibgmz9868yv30";
-  };
+  preConfigure = with builtins; ''
+    rmdir database && ln -sfv ${elemAt srcs 1} ./database
 
-  preConfigure = ''
     source environment.sh
-    cp -RT "${trellisdb}" database
     cd libtrellis
   '';
 
-  meta = {
-    description = "Documentation and tools for Lattice ECP5 FPGAs";
+  meta = with stdenv.lib; {
+    description     = "Documentation and bitstream tools for Lattice ECP5 FPGAs";
     longDescription = ''
       Project Trellis documents the Lattice ECP5 architecture
       to enable development of open-source tools. Its goal is
       to provide sufficient information to develop a free and
       open Verilog to bitstream toolchain for these devices.
     '';
-    homepage = https://github.com/SymbiFlow/prjtrellis;
-    license = stdenv.lib.licenses.isc;
-    maintainers = with stdenv.lib.maintainers; [ q3k ];
-    platforms = stdenv.lib.platforms.linux;
+    homepage    = https://github.com/symbiflow/prjtrellis;
+    license     = stdenv.lib.licenses.isc;
+    maintainers = with maintainers; [ q3k thoughtpolice ];
+    platforms   = stdenv.lib.platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/uftrace/default.nix b/nixpkgs/pkgs/development/tools/uftrace/default.nix
index 7d5569b4376b..cb10a252d121 100644
--- a/nixpkgs/pkgs/development/tools/uftrace/default.nix
+++ b/nixpkgs/pkgs/development/tools/uftrace/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "uftrace-${version}";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "namhyung";
     repo = "uftrace";
     rev = "v${version}";
-    sha256 = "1jb4dp6crvfzxzmi5iflc7p13b7p2v1djyj6smbf9ns4wr515y6b";
+    sha256 = "0s7yfnf7kcqlfw3zzv4y8akkd12f8di69c4sranympnl7z5srfam";
   };
 
   postUnpack = ''
diff --git a/nixpkgs/pkgs/development/tools/vgo2nix/default.nix b/nixpkgs/pkgs/development/tools/vgo2nix/default.nix
index ad556606c9ae..59496e8d8f0e 100644
--- a/nixpkgs/pkgs/development/tools/vgo2nix/default.nix
+++ b/nixpkgs/pkgs/development/tools/vgo2nix/default.nix
@@ -9,7 +9,7 @@
 
 buildGoPackage rec {
   name = "vgo2nix-${version}";
-  version = "unstable-2018-10-14";
+  version = "unstable-2019-02-01";
   goPackagePath = "github.com/adisbladis/vgo2nix";
 
   nativeBuildInputs = [ makeWrapper ];
@@ -17,8 +17,8 @@ buildGoPackage rec {
   src = fetchFromGitHub {
     owner = "adisbladis";
     repo = "vgo2nix";
-    rev = "a36137a2b9675f5e9b7e0a7840bc9fe9f2414d4e";
-    sha256 = "1658hr1535v8w3s41q0bcgk8hmisjn8gcw7i3n2d2igszn1dp0q4";
+    rev = "8213e1ffe9e59b1f92df15a995eafd96b66da472";
+    sha256 = "1djwsw7zbprz4czaqsimpwccmmnk8wn38ksj7dis8xdvqrfy7h0g";
   };
 
   goDeps = ./deps.nix;
diff --git a/nixpkgs/pkgs/development/tools/vgo2nix/deps.nix b/nixpkgs/pkgs/development/tools/vgo2nix/deps.nix
index b8327cd6069f..4f8506794d36 100644
--- a/nixpkgs/pkgs/development/tools/vgo2nix/deps.nix
+++ b/nixpkgs/pkgs/development/tools/vgo2nix/deps.nix
@@ -1,5 +1,140 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
 [
-
+  {
+    goPackagePath = "github.com/alecthomas/assert";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/assert";
+      rev = "405dbfeb8e38";
+      sha256 = "1l567pi17k593nrd1qlbmiq8z9jy3qs60px2a16fdpzjsizwqx8l";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/colour";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/colour";
+      rev = "60882d9e2721";
+      sha256 = "0iq566534gbzkd16ixg7fk298wd766821vvs80838yifx9yml5vs";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/kingpin";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/kingpin";
+      rev = "v2.2.6";
+      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/repr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/repr";
+      rev = "117648cd9897";
+      sha256 = "05v1rgzdqc8razf702laagrvhvx68xd9yxxmzd3dyz0d6425pdrp";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/template";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/template";
+      rev = "a0175ee3bccc";
+      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/units";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/units";
+      rev = "2efee857e7cf";
+      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
+    };
+  }
+  {
+    goPackagePath = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev = "v1.1.1";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev = "v0.0.3";
+      sha256 = "06w45aqz2a6yrk25axbly2k5wmsccv8cspb94bfmz4izvw8h927n";
+    };
+  }
+  {
+    goPackagePath = "github.com/orivej/e";
+    fetch = {
+      type = "git";
+      url = "https://github.com/orivej/e";
+      rev = "ac3492690fda";
+      sha256 = "11jizr28kfkr6zscjxg95pqi6cjp08aqnhs41sdhc98nww78ilkr";
+    };
+  }
+  {
+    goPackagePath = "github.com/orivej/go-nix";
+    fetch = {
+      type = "git";
+      url = "https://github.com/orivej/go-nix";
+      rev = "dae45d921a44";
+      sha256 = "17hfmsz8hs3h2d5c06j1bvbw8ijrhzm3iz911z5zydsl4x7y0cgy";
+    };
+  }
+  {
+    goPackagePath = "github.com/pkg/profile";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/profile";
+      rev = "v1.2.1";
+      sha256 = "0blqmvgqvdbqmh3fp9pfdxc9w1qfshrr0zy9whj0sn372bw64qnr";
+    };
+  }
+  {
+    goPackagePath = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev = "v1.0.0";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath = "github.com/sergi/go-diff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sergi/go-diff";
+      rev = "v1.0.0";
+      sha256 = "0swiazj8wphs2zmk1qgq75xza6m19snif94h2m6fi8dqkwqdl7c7";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.2.2";
+      sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "d99a578cf41b";
+      sha256 = "10q9xx4pmnq92qn6ff4xp7n1hx766wvw2rf7pqcd6rx5plgwz8cm";
+    };
+  }
   {
     goPackagePath = "golang.org/x/tools";
     fetch = {
diff --git a/nixpkgs/pkgs/development/tools/wabt/default.nix b/nixpkgs/pkgs/development/tools/wabt/default.nix
index dade09ee5f6e..e9e12c7d20b1 100644
--- a/nixpkgs/pkgs/development/tools/wabt/default.nix
+++ b/nixpkgs/pkgs/development/tools/wabt/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "wabt-${version}";
-  version = "1.0.6";
+  version = "1.0.8";
 
   src = fetchFromGitHub {
     owner  = "WebAssembly";
     repo   = "wabt";
     rev    = version;
-    sha256 = "0lqsf4wmg24mb3ksmib8xwvmghx8m2vzrjrs8dazwlmik7rill8i";
+    sha256 = "018sb7p8xlvv8p2fdbnl0v98zh78zc8ha74ldw5c8z0i7xzgzj9w";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/tools/xcbuild/default.nix b/nixpkgs/pkgs/development/tools/xcbuild/default.nix
index e71375402c70..29325fad7243 100644
--- a/nixpkgs/pkgs/development/tools/xcbuild/default.nix
+++ b/nixpkgs/pkgs/development/tools/xcbuild/default.nix
@@ -50,7 +50,7 @@ in stdenv.mkDerivation rec {
     rmdir $out/usr
   '';
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=strict-aliasing";
+  NIX_CFLAGS_COMPILE = "-Wno-error";
 
   cmakeFlags = [ "-GNinja" ];
 
diff --git a/nixpkgs/pkgs/development/tools/xcbuild/toolchains.nix b/nixpkgs/pkgs/development/tools/xcbuild/toolchains.nix
index 59e009a43386..92ff35ac8b53 100644
--- a/nixpkgs/pkgs/development/tools/xcbuild/toolchains.nix
+++ b/nixpkgs/pkgs/development/tools/xcbuild/toolchains.nix
@@ -67,5 +67,6 @@ runCommand "Toolchains" {} (''
   done
 
   ln -s ${buildPackages.darwin.bootstrap_cmds}/bin/mig $toolchain/bin
+  ln -s ${buildPackages.darwin.bootstrap_cmds}/libexec/migcom $toolchain/libexec
   ln -s ${mkdep-darwin-src} $toolchain/bin/mkdep
 '')
diff --git a/nixpkgs/pkgs/development/tools/yarn/default.nix b/nixpkgs/pkgs/development/tools/yarn/default.nix
index e2e115992bc6..2bbb0bc60809 100644
--- a/nixpkgs/pkgs/development/tools/yarn/default.nix
+++ b/nixpkgs/pkgs/development/tools/yarn/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "yarn-${version}";
-  version = "1.12.3";
+  version = "1.13.0";
 
   src = fetchzip {
     url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz";
-    sha256 = "0izn7lfvfw046qlxdgiiiyqj24sl2yclm6v8bzy8ilsr00csbrm2";
+    sha256 = "0wkh8m41g5sajxlchsaqardn4v2ax06xywk12fwdjn5j3sxlgq2a";
   };
 
   buildInputs = [ nodejs ];
diff --git a/nixpkgs/pkgs/development/tools/yq/default.nix b/nixpkgs/pkgs/development/tools/yq/default.nix
index 8ce88dac381c..f93a24d56f9c 100644
--- a/nixpkgs/pkgs/development/tools/yq/default.nix
+++ b/nixpkgs/pkgs/development/tools/yq/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonApplication rec {
   pname = "yq";
-  version = "2.7.1";
+  version = "2.7.2";
 
   propagatedBuildInputs = [ pyyaml xmltodict jq ];
 
@@ -11,7 +11,7 @@ buildPythonApplication rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c10wbhgx8d8s44a8g2vzn4cmvkf7z7yqxrnk88aapgi51i786q0";
+    sha256 = "1fwvwy75n4rqzh6sxyp2jmjqc7939s0xmrhxw7zhdy6iacggvnpp";
   };
 
   meta = with lib; {