about summary refs log tree commit diff
path: root/pkgs/development/tools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools')
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix21
-rw-r--r--pkgs/development/tools/analysis/jdepend/default.nix1
-rw-r--r--pkgs/development/tools/analysis/qcachegrind/default.nix2
-rw-r--r--pkgs/development/tools/analysis/radare/default.nix2
-rw-r--r--pkgs/development/tools/analysis/radare2-cutter/default.nix36
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix14
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix2
-rw-r--r--pkgs/development/tools/analysis/valkyrie/default.nix17
-rw-r--r--pkgs/development/tools/backblaze-b2/default.nix2
-rw-r--r--pkgs/development/tools/bloaty/default.nix10
-rw-r--r--pkgs/development/tools/build-managers/bazel/0.4.nix3
-rw-r--r--pkgs/development/tools/build-managers/bazel/buildtools/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix455
-rw-r--r--pkgs/development/tools/build-managers/bloop/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/buck/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/buildbot/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/cask/default.nix11
-rw-r--r--pkgs/development/tools/build-managers/cmake/2.8.nix2
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix7
-rw-r--r--pkgs/development/tools/build-managers/conan/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/doit/default.nix7
-rw-r--r--pkgs/development/tools/build-managers/dub/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/nant/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/pants/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/rebar3/default.nix42
-rw-r--r--pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch37
-rw-r--r--pkgs/development/tools/build-managers/scons/common.nix2
-rw-r--r--pkgs/development/tools/build-managers/scons/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/waf/default.nix2
-rw-r--r--pkgs/development/tools/buildah/default.nix13
-rw-r--r--pkgs/development/tools/castxml/default.nix1
-rw-r--r--pkgs/development/tools/chefdk/default.nix2
-rw-r--r--pkgs/development/tools/compass/default.nix2
-rw-r--r--pkgs/development/tools/container-linux-config-transpiler/default.nix2
-rw-r--r--pkgs/development/tools/coursier/default.nix1
-rw-r--r--pkgs/development/tools/database/liquibase/default.nix6
-rw-r--r--pkgs/development/tools/delve/default.nix2
-rw-r--r--pkgs/development/tools/devpi-client/default.nix1
-rw-r--r--pkgs/development/tools/devpi-server/default.nix2
-rw-r--r--pkgs/development/tools/documentation/gnome-doc-utils/default.nix4
-rw-r--r--pkgs/development/tools/documentation/gtk-doc/default.nix2
-rw-r--r--pkgs/development/tools/documentation/mkdocs/default.nix4
-rw-r--r--pkgs/development/tools/easyjson/default.nix2
-rw-r--r--pkgs/development/tools/egg2nix/chicken-eggs.nix2
-rw-r--r--pkgs/development/tools/electron/default.nix4
-rw-r--r--pkgs/development/tools/erlang/cuter/default.nix2
-rw-r--r--pkgs/development/tools/erlang/hex2nix/default.nix33
-rw-r--r--pkgs/development/tools/erlang/relx-exe/default.nix2
-rw-r--r--pkgs/development/tools/fac/default.nix2
-rw-r--r--pkgs/development/tools/flatpak-builder/default.nix8
-rw-r--r--pkgs/development/tools/flatpak-builder/fix-paths.patch30
-rw-r--r--pkgs/development/tools/flyway/default.nix6
-rw-r--r--pkgs/development/tools/git-ftp/default.nix2
-rw-r--r--pkgs/development/tools/go-bindata/default.nix2
-rw-r--r--pkgs/development/tools/go-outline/default.nix2
-rw-r--r--pkgs/development/tools/go-repo-root/default.nix2
-rw-r--r--pkgs/development/tools/go-symbols/default.nix2
-rw-r--r--pkgs/development/tools/gocode/default.nix2
-rw-r--r--pkgs/development/tools/goconvey/default.nix2
-rw-r--r--pkgs/development/tools/godef/default.nix2
-rw-r--r--pkgs/development/tools/goimports/default.nix2
-rw-r--r--pkgs/development/tools/golint/default.nix2
-rw-r--r--pkgs/development/tools/gomodifytags/default.nix2
-rw-r--r--pkgs/development/tools/gopkgs/default.nix2
-rw-r--r--pkgs/development/tools/gotags/default.nix2
-rw-r--r--pkgs/development/tools/gotests/default.nix2
-rw-r--r--pkgs/development/tools/gotools/default.nix10
-rw-r--r--pkgs/development/tools/gotools/deps.nix4
-rw-r--r--pkgs/development/tools/govers/default.nix2
-rw-r--r--pkgs/development/tools/gox/default.nix2
-rw-r--r--pkgs/development/tools/haskell/hyper-haskell/default.nix2
-rw-r--r--pkgs/development/tools/haskell/hyper-haskell/server.nix2
-rw-r--r--pkgs/development/tools/haskell/lambdabot/default.nix2
-rw-r--r--pkgs/development/tools/haskell/leksah/default.nix2
-rw-r--r--pkgs/development/tools/haskell/multi-ghc-travis/default.nix16
-rw-r--r--pkgs/development/tools/hexio/default.nix4
-rw-r--r--pkgs/development/tools/iaca/2.1.nix2
-rw-r--r--pkgs/development/tools/iaca/3.0.nix2
-rw-r--r--pkgs/development/tools/irony-server/default.nix2
-rw-r--r--pkgs/development/tools/java/cfr/default.nix4
-rw-r--r--pkgs/development/tools/jmespath/default.nix2
-rw-r--r--pkgs/development/tools/jp/default.nix2
-rw-r--r--pkgs/development/tools/json2hcl/default.nix2
-rw-r--r--pkgs/development/tools/kube-aws/default.nix2
-rw-r--r--pkgs/development/tools/leaps/default.nix2
-rw-r--r--pkgs/development/tools/librarian-puppet-go/default.nix2
-rw-r--r--pkgs/development/tools/manul/default.nix2
-rw-r--r--pkgs/development/tools/misc/autogen/default.nix2
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.11.x.nix2
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.16.x.nix2
-rw-r--r--pkgs/development/tools/misc/automake/fix-perl-5.26.patch10
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix4
-rw-r--r--pkgs/development/tools/misc/blackmagic/default.nix2
-rw-r--r--pkgs/development/tools/misc/cbrowser/default.nix2
-rw-r--r--pkgs/development/tools/misc/ccache/default.nix2
-rw-r--r--pkgs/development/tools/misc/circleci-cli/default.nix38
-rw-r--r--pkgs/development/tools/misc/cquery/default.nix2
-rw-r--r--pkgs/development/tools/misc/creduce/default.nix6
-rw-r--r--pkgs/development/tools/misc/ctags/wrapped.nix2
-rw-r--r--pkgs/development/tools/misc/dejagnu/default.nix6
-rw-r--r--pkgs/development/tools/misc/dejagnu/wrapped-runtest-program-name.patch15
-rw-r--r--pkgs/development/tools/misc/dialog/default.nix5
-rw-r--r--pkgs/development/tools/misc/elfutils/default.nix4
-rw-r--r--pkgs/development/tools/misc/fswatch/default.nix2
-rw-r--r--pkgs/development/tools/misc/gdbgui/default.nix4
-rw-r--r--pkgs/development/tools/misc/gdbgui/requirements.nix2
-rw-r--r--pkgs/development/tools/misc/global/default.nix2
-rw-r--r--pkgs/development/tools/misc/gputils/default.nix18
-rw-r--r--pkgs/development/tools/misc/gtkperf/bench.patch60
-rw-r--r--pkgs/development/tools/misc/gtkperf/default.nix24
-rw-r--r--pkgs/development/tools/misc/hydra/default.nix4
-rw-r--r--pkgs/development/tools/misc/intel-gpu-tools/default.nix2
-rw-r--r--pkgs/development/tools/misc/linuxkit/default.nix2
-rw-r--r--pkgs/development/tools/misc/loccount/default.nix2
-rw-r--r--pkgs/development/tools/misc/md2man/default.nix2
-rw-r--r--pkgs/development/tools/misc/moby/default.nix2
-rw-r--r--pkgs/development/tools/misc/pkgconfig/default.nix2
-rw-r--r--pkgs/development/tools/misc/stm32flash/default.nix2
-rw-r--r--pkgs/development/tools/misc/swig/3.x.nix2
-rw-r--r--pkgs/development/tools/misc/sysbench/default.nix6
-rw-r--r--pkgs/development/tools/misc/teensy-loader-cli/default.nix2
-rw-r--r--pkgs/development/tools/misc/trv/default.nix2
-rw-r--r--pkgs/development/tools/nailgun/default.nix2
-rw-r--r--pkgs/development/tools/node-webkit/nw12.nix2
-rw-r--r--pkgs/development/tools/nwjs/default.nix6
-rw-r--r--pkgs/development/tools/ocaml/camlidl/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/jbuilder/default.nix6
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix4
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/lwt.nix4
-rw-r--r--pkgs/development/tools/ocaml/opam/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/utop/default.nix6
-rw-r--r--pkgs/development/tools/parsing/bison/2.x.nix8
-rw-r--r--pkgs/development/tools/parsing/bison/3.x.nix2
-rw-r--r--pkgs/development/tools/parsing/bison/darwin-vasnprintf.patch12
-rw-r--r--pkgs/development/tools/parsing/hammer/default.nix2
-rw-r--r--pkgs/development/tools/phantomjs2/default.nix18
-rw-r--r--pkgs/development/tools/pyre/default.nix71
-rw-r--r--pkgs/development/tools/qtcreator/default.nix6
-rw-r--r--pkgs/development/tools/quicktemplate/default.nix2
-rw-r--r--pkgs/development/tools/react-native-debugger/default.nix4
-rw-r--r--pkgs/development/tools/redis-dump/default.nix2
-rw-r--r--pkgs/development/tools/rtags/default.nix2
-rw-r--r--pkgs/development/tools/rubocop/default.nix2
-rw-r--r--pkgs/development/tools/rust/rainicorn/default.nix2
-rw-r--r--pkgs/development/tools/selenium/server/default.nix5
-rw-r--r--pkgs/development/tools/skopeo/default.nix8
-rw-r--r--pkgs/development/tools/slimerjs/default.nix2
-rw-r--r--pkgs/development/tools/textql/default.nix2
-rw-r--r--pkgs/development/tools/vagrant/Gemfile.lock18
-rw-r--r--pkgs/development/tools/vagrant/default.nix8
-rw-r--r--pkgs/development/tools/vagrant/gemset.nix38
-rw-r--r--pkgs/development/tools/vim-vint/default.nix2
-rw-r--r--pkgs/development/tools/vndr/default.nix2
-rw-r--r--pkgs/development/tools/vulkan-validation-layers/default.nix6
-rw-r--r--pkgs/development/tools/ws/default.nix2
-rw-r--r--pkgs/development/tools/xcbuild/wrapper.nix4
-rw-r--r--pkgs/development/tools/xib2nib/default.nix2
-rw-r--r--pkgs/development/tools/yq/default.nix2
160 files changed, 633 insertions, 823 deletions
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 07f3053b9d43..70e476c4572d 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -1,34 +1,27 @@
-{ stdenv, fetchFromGitHub, lib, ocaml, libelf, cf-private, CoreServices,
-  findlib, camlp4, sedlex, ocamlbuild, lwt_ppx, wtf8, dtoa }:
+{ stdenv, fetchFromGitHub, lib, ocamlPackages, libelf, cf-private, CoreServices }:
 
 with lib;
 
 stdenv.mkDerivation rec {
-  version = "0.75.0";
+  version = "0.76.0";
   name = "flow-${version}";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "0xrcjjk16w6anpy58qa4la1jyfjs0xg5xkp58slhai996wqif24k";
+    sha256 = "0r3yl4m7dhm1h4c431zp8hd2gg6k1d9bwd2371xav5q7hviwmjl6";
   };
 
-  # lwt.log is being split out into a separate package, so this can be
-  # removed once nixpkgs is updated.
-  # See https://github.com/ocsigen/lwt/issues/453#issuecomment-352897664
-  postPatch = ''
-    substituteInPlace Makefile --replace lwt_log lwt.log
-  '';
-
   installPhase = ''
     mkdir -p $out/bin
     cp bin/flow $out/bin/
   '';
 
-  buildInputs = [
-    ocaml libelf findlib camlp4 sedlex ocamlbuild lwt_ppx wtf8 dtoa
-  ] ++ optionals stdenv.isDarwin [ cf-private CoreServices ];
+  buildInputs = [ libelf
+  ] ++ (with ocamlPackages; [
+    ocaml findlib camlp4 sedlex ocamlbuild lwt_ppx lwt_log wtf8 dtoa
+  ]) ++ optionals stdenv.isDarwin [ cf-private CoreServices ];
 
   meta = with stdenv.lib; {
     description = "A static type checker for JavaScript";
diff --git a/pkgs/development/tools/analysis/jdepend/default.nix b/pkgs/development/tools/analysis/jdepend/default.nix
index bf1d1357f5e7..d2c27b9f4853 100644
--- a/pkgs/development/tools/analysis/jdepend/default.nix
+++ b/pkgs/development/tools/analysis/jdepend/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.clarkware.com/software/JDepend.html;
     license = licenses.bsd3;
     platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/tools/analysis/qcachegrind/default.nix b/pkgs/development/tools/analysis/qcachegrind/default.nix
index 30d82aca83ae..fb0f7414841c 100644
--- a/pkgs/development/tools/analysis/qcachegrind/default.nix
+++ b/pkgs/development/tools/analysis/qcachegrind/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, qmake, qtbase, perl, python, php, kcachegrind, fetchpatch }:
+{ stdenv, qmake, qtbase, perl, python, php, kcachegrind }:
 
 let
   name = stdenv.lib.replaceStrings ["kcachegrind"] ["qcachegrind"] kcachegrind.name;
diff --git a/pkgs/development/tools/analysis/radare/default.nix b/pkgs/development/tools/analysis/radare/default.nix
index b174d6c069b7..b9b9b8abfb92 100644
--- a/pkgs/development/tools/analysis/radare/default.nix
+++ b/pkgs/development/tools/analysis/radare/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, libusb, readline, lua, libewf, perl,
+{stdenv, fetchurl, pkgconfig, libusb, readline, lua, perl,
 gtk2 ? null, vte ? null, gtkdialog ? null,
 python ? null,
 ruby ? null,
diff --git a/pkgs/development/tools/analysis/radare2-cutter/default.nix b/pkgs/development/tools/analysis/radare2-cutter/default.nix
index a516e6e2a395..ff2b4d3b54f5 100644
--- a/pkgs/development/tools/analysis/radare2-cutter/default.nix
+++ b/pkgs/development/tools/analysis/radare2-cutter/default.nix
@@ -7,22 +7,50 @@
 , radare2
 , python3 }:
 
-
+let
+  r2 = radare2.overrideDerivation (o: {
+    name = "radare2-for-cutter-${version}";
+    src = fetchFromGitHub {
+      owner = "radare";
+      repo = "radare2";
+      rev = "a98557bfbfa96e9f677a8c779ee78085ee5a23bb";
+      sha256 = "04jl1lq3dqljb6vagzlym4wc867ayhx1v52f75rkfz0iybsh249r";
+    };
+  });
+  version = "1.6";
+in
 stdenv.mkDerivation rec {
   name = "radare2-cutter-${version}";
-  version = "1.4";
 
   src = fetchFromGitHub {
     owner = "radareorg";
     repo = "cutter";
     rev = "v${version}";
-    sha256 = "0wsxb6jfpsmgsigmbnh08j99779bsjz02v6aasqcwl6hwjx0mjfk";
+    sha256 = "1ps52yf94yfnws3nn1iiwch2jy33dyvi7j47xkmh0m5fpdqi5xk7";
   };
 
   postUnpack = "export sourceRoot=$sourceRoot/src";
 
+  # Remove this "very helpful" helper file intended for discovering r2,
+  # as it's a doozy of harddcoded paths and unexpected behavior.
+  # Happily Nix has everything all set so we don't need it,
+  # other than as basis for the qmakeFlags set below.
+  postPatch = ''
+    substituteInPlace Cutter.pro \
+      --replace "include(lib_radare2.pri)" ""
+  '';
+
   nativeBuildInputs = [ qmake pkgconfig ];
-  buildInputs = [ qtbase qtsvg qtwebengine radare2 python3 ];
+  buildInputs = [ qtbase qtsvg qtwebengine r2 python3 ];
+
+  qmakeFlags = [
+    "CONFIG+=link_pkgconfig"
+    "PKGCONFIG+=r_core"
+    # Leaving this enabled doesn't break build but generates errors
+    # at runtime (to console) about being unable to load needed bits.
+    # Disable until can be looked at.
+    "CUTTER_ENABLE_JUPYTER=false"
+  ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index bc5f41bf86ec..0264305134cb 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -17,13 +17,13 @@ let
   inherit (stdenv.lib) optional;
   #<generated>
   # DO NOT EDIT! Automatically generated by ./update.py
-  version_commit = "18177";
-  gittap = "2.6.0";
-  gittip = "83ef480221ec29d82c16003c61d0dc86b8851d38";
-  version = "2.6.0";
-  sha256 = "18jhb9w8c1m09383d2xm2qp0rc240psjygbbs222hzpx32hald5s";
-  cs_tip = "37569a6874c8547b349a80823adda9284499fe80";
-  cs_sha256 = "0v31367g4jn4baswl62y0rvvm2nf57y91n3731xqblvi6qxj8qkv";
+  version_commit = "18681";
+  gittap = "2.7.0";
+  gittip = "6e08e452a7ec231a73997c44b4ff556c2998c7d9";
+  version = "2.7.0";
+  sha256 = "1a9z8w897256dhh3yhyfnshz3n2nrc4plc2i06cm5sznhl6x9xfx";
+  cs_tip = "ec8a5ce98fa0422a395489ed47da912b15d77441";
+  cs_sha256 = "080a64bqck28a2xfjwz29ddcr8p6hc6gi67mgry3pca289qrkk3q";
   #</generated>
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index 131533896ff9..cbcfa981b6b5 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, perl, gdb, llvm, cctools, xnu, bootstrap_cmds }:
+{ stdenv, fetchurl, perl, gdb, llvm, cctools, xnu, bootstrap_cmds }:
 
 stdenv.mkDerivation rec {
   name = "valgrind-3.13.0";
diff --git a/pkgs/development/tools/analysis/valkyrie/default.nix b/pkgs/development/tools/analysis/valkyrie/default.nix
index 1da6c6a1e864..1ecdd9f32ce5 100644
--- a/pkgs/development/tools/analysis/valkyrie/default.nix
+++ b/pkgs/development/tools/analysis/valkyrie/default.nix
@@ -8,14 +8,23 @@ stdenv.mkDerivation rec {
     sha256 = "0hwvsncf62mdkahwj9c8hpmm94c1wr5jn89370k6rj894kxry2x7";
   };
 
+  patchPhase = ''
+    sed -i '1s;^;#include <unistd.h>\n;' src/objects/tool_object.cpp
+    sed -i '1s;^;#include <unistd.h>\n;' src/utils/vk_config.cpp
+    sed -i '1s;^;#include <sys/types.h>\n;' src/utils/vk_config.cpp
+    sed -i '1s;^;#include <unistd.h>\n;' src/utils/vk_utils.cpp
+    sed -i '1s;^;#include <sys/types.h>\n;' src/utils/vk_utils.cpp
+  '';
+
   buildInputs = [ qt4 ];
+
   nativeBuildInputs = [ qmake4Hook ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.valgrind.org/;
     description = "Qt4-based GUI for the Valgrind 3.6.x series";
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
-    broken = true;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/tools/backblaze-b2/default.nix b/pkgs/development/tools/backblaze-b2/default.nix
index 5bda2d945eb6..19609e15c765 100644
--- a/pkgs/development/tools/backblaze-b2/default.nix
+++ b/pkgs/development/tools/backblaze-b2/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonApplication, fetchFromGitHub, makeWrapper
+{ lib, buildPythonApplication, fetchFromGitHub
 , arrow, futures, logfury, requests, six, tqdm
 }:
 
diff --git a/pkgs/development/tools/bloaty/default.nix b/pkgs/development/tools/bloaty/default.nix
index 9b18bcb25616..5f2e9b5f440d 100644
--- a/pkgs/development/tools/bloaty/default.nix
+++ b/pkgs/development/tools/bloaty/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, binutils, cmake, zlib, fetchFromGitHub }:
+{ stdenv, cmake, zlib, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "2018-05-22";
+  version = "2018-06-15";
   name = "bloaty-${version}";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "bloaty";
-    rev = "054788b091ccfd43b05b9817062139145096d440";
-    sha256 = "0pmv66137ipzsjjdz004n61pz3aipjhh3b0w0y1406clqpwkvpjm";
+    rev = "bdbb3ce196c86d2154f5fba99b5ff73ca43446a9";
+    sha256 = "1r7di2p8bi12jpgl6cm4ygi1s0chv767mdcavc7pb45874vl02fx";
     fetchSubmodules = true;
   };
 
@@ -20,8 +20,6 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  checkPhase = "ctest";
-
   installPhase = ''
     install -Dm755 {.,$out/bin}/bloaty
   '';
diff --git a/pkgs/development/tools/build-managers/bazel/0.4.nix b/pkgs/development/tools/build-managers/bazel/0.4.nix
index 7fa39ef21627..69f467f577c8 100644
--- a/pkgs/development/tools/build-managers/bazel/0.4.nix
+++ b/pkgs/development/tools/build-managers/bazel/0.4.nix
@@ -65,8 +65,9 @@ stdenv.mkDerivation rec {
   ];
 
   buildPhase = ''
+    export TMPDIR=/tmp/.bazel-$UID
     ./compile.sh
-    ./output/bazel --output_user_root=/tmp/.bazel build //scripts:bash_completion \
+    ./output/bazel --output_user_root=$TMPDIR/.bazel build //scripts:bash_completion \
       --spawn_strategy=standalone \
       --genrule_strategy=standalone
     cp bazel-bin/scripts/bazel-complete.bash output/
diff --git a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
index a98c2b4e04bd..52fec3f131b9 100644
--- a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "bazel-buildtools";
+  name = "bazel-buildtools-unstable-${version}";
   version = "2018-05-24";
 
   goPackagePath = "github.com/bazelbuild/buildtools";
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index 112cd840a9f5..b59a93d37324 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -1,14 +1,32 @@
-{ stdenv, lib, writeText, writeScript, fetchurl, jdk, zip, unzip, bash, writeCBin, coreutils, binutils, makeWrapper, which, python, gnused
+{ stdenv, lib, fetchurl, runCommand, makeWrapper
+, jdk, zip, unzip, bash, writeCBin, coreutils
+, which, python, gnused, gnugrep, findutils
 # Always assume all markers valid (don't redownload dependencies).
 # Also, don't clean up environment variables.
 , enableNixHacks ? false
 # Apple dependencies
-, cctools, clang, libcxx, CoreFoundation, CoreServices, Foundation
+, libcxx, CoreFoundation, CoreServices, Foundation
 }:
 
+let
+  srcDeps = stdenv.lib.singleton (
+    fetchurl {
+      url = "https://github.com/google/desugar_jdk_libs/archive/f5e6d80c6b4ec6b0a46603f72b015d45cf3c11cd.zip";
+      sha256 = "c80f3f3d442d8a6ca7adc83f90ecd638c3864087fdd6787ffac070b6f1cc8f9b";
+    }
+  );
+
+  distDir = runCommand "bazel-deps" {} ''
+    mkdir -p $out
+    for i in ${builtins.toString srcDeps}; do cp $i $out/$(stripHash $i); done
+  '';
+
+  defaultShellPath = lib.makeBinPath [ bash coreutils findutils gnugrep gnused which ];
+
+in
 stdenv.mkDerivation rec {
 
-  version = "0.13.0";
+  version = "0.15.1";
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/bazelbuild/bazel/";
@@ -22,7 +40,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "143nd9dmw2x88azf8spinl2qnvw9m8lqlqc765l9q2v6hi807sc2";
+    sha256 = "0v7wdwbxy4bcx488lm1glf4iv3wfdwbkg8fh6kmmmfn1lhgkaay6";
   };
 
   sourceRoot = ".";
@@ -41,7 +59,7 @@ stdenv.mkDerivation rec {
 
     int main(int argc, char *argv[]) {
       char *path = getenv("PATH");
-      char *pathToAppend = "${lib.makeBinPath [ coreutils gnused ]}";
+      char *pathToAppend = "${defaultShellPath}";
       char *newPath;
       if (path != NULL) {
         int length = strlen(path) + 1 + strlen(pathToAppend) + 1;
@@ -56,396 +74,9 @@ stdenv.mkDerivation rec {
     }
   '';
 
-  buildFile = writeText "BUILD" ''
-    package(default_visibility = ['//visibility:public'])
-
-    filegroup(name = "empty")
-
-    cc_toolchain_suite(
-      name = "nix",
-      toolchains = {
-        "darwin|compiler": ":nix_darwin_toolchain",
-        "k8|compiler": ":nix_linux_toolchain",
-      },
-    )
-
-    cc_toolchain(
-      name = "nix_darwin_toolchain",
-      all_files = ":osx_wrapper",
-      compiler_files = ":osx_wrapper",
-      cpu = "darwin",
-      dwp_files = ":empty",
-      dynamic_runtime_libs = [":empty"],
-      linker_files = ":osx_wrapper",
-      objcopy_files = ":empty",
-      static_runtime_libs = [":empty"],
-      strip_files = ":empty",
-      supports_param_files = 0,
-    )
-
-    cc_toolchain(
-      name = "nix_linux_toolchain",
-      all_files = ":empty",
-      compiler_files = ":empty",
-      cpu = "k8",
-      dwp_files = ":empty",
-      dynamic_runtime_libs = [":empty"],
-      linker_files = ":empty",
-      objcopy_files = ":empty",
-      static_runtime_libs = [":empty"],
-      strip_files = ":empty",
-      supports_param_files = 0,
-    )
-
-    filegroup(
-      name = "osx_wrapper",
-      srcs = ["osx_cc_wrapper.sh"],
-    )
-  '';
-
-  crosstoolFile = writeText "CROSSTOOL" (''
-    major_version: "local"
-    minor_version: ""
-    default_target_cpu: "same_as_host"
-    '' + lib.optionalString stdenv.isDarwin ''
-    default_toolchain {
-      cpu: "darwin"
-      toolchain_identifier: "local_darwin"
-    }
-    toolchain {
-      abi_version: "local"
-      abi_libc_version: "local"
-      builtin_sysroot: ""
-      compiler: "compiler"
-      host_system_name: "local"
-      needsPic: true
-      target_libc: "macosx"
-      target_cpu: "darwin"
-      target_system_name: "local"
-      toolchain_identifier: "local_darwin"
-
-      tool_path { name: "ar" path: "${cctools}/bin/libtool" }
-      tool_path { name: "compat-ld" path: "${cctools}/bin/ld" }
-      tool_path { name: "cpp" path: "${clang}/bin/cpp" }
-      tool_path { name: "dwp" path: "${coreutils}/bin/false" }
-      tool_path { name: "gcc" path: "osx_cc_wrapper.sh" }
-      cxx_flag: "-std=c++0x"
-      linker_flag: "-lstdc++"
-      linker_flag: "-undefined"
-      linker_flag: "dynamic_lookup"
-      linker_flag: "-headerpad_max_install_names"
-      # We know all files in `/nix/store` are immutable so it's safe to disable inclusion checks for them
-      cxx_builtin_include_directory: "/nix/store"
-      tool_path { name: "gcov" path: "${coreutils}/bin/false" }
-      tool_path { name: "ld" path: "${cctools}/bin/ld" }
-      tool_path { name: "nm" path: "${cctools}/bin/nm" }
-      tool_path { name: "objcopy" path: "${binutils}/bin/objcopy" }
-      objcopy_embed_flag: "-I"
-      objcopy_embed_flag: "binary"
-      tool_path { name: "objdump" path: "${binutils}/bin/objdump" }
-      tool_path { name: "strip" path: "${cctools}/bin/strip" }
-
-      # Anticipated future default.
-      unfiltered_cxx_flag: "-no-canonical-prefixes"
-
-      # Make C++ compilation deterministic. Use linkstamping instead of these
-      # compiler symbols.
-      unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
-      unfiltered_cxx_flag: "-D__DATE__=\"redacted\""
-      unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\""
-      unfiltered_cxx_flag: "-D__TIME__=\"redacted\""
-
-      # Security hardening on by default.
-      # Conservative choice; -D_FORTIFY_SOURCE=2 may be unsafe in some cases.
-      compiler_flag: "-D_FORTIFY_SOURCE=1"
-      compiler_flag: "-fstack-protector"
-
-      # Enable coloring even if there's no attached terminal. Bazel removes the
-      # escape sequences if --nocolor is specified.
-      compiler_flag: "-fcolor-diagnostics"
-
-      # All warnings are enabled. Maybe enable -Werror as well?
-      compiler_flag: "-Wall"
-      # Enable a few more warnings that aren't part of -Wall.
-      compiler_flag: "-Wthread-safety"
-      compiler_flag: "-Wself-assign"
-
-      # Keep stack frames for debugging, even in opt mode.
-      compiler_flag: "-fno-omit-frame-pointer"
-
-      # Anticipated future default.
-      linker_flag: "-no-canonical-prefixes"
-
-      compilation_mode_flags {
-        mode: DBG
-        # Enable debug symbols.
-        compiler_flag: "-g"
-      }
-      compilation_mode_flags {
-        mode: OPT
-        # No debug symbols.
-        # Maybe we should enable https://gcc.gnu.org/wiki/DebugFission for opt or even generally?
-        # However, that can't happen here, as it requires special handling in Bazel.
-        compiler_flag: "-g0"
-
-        # Conservative choice for -O
-        # -O3 can increase binary size and even slow down the resulting binaries.
-        # Profile first and / or use FDO if you need better performance than this.
-        compiler_flag: "-O2"
-
-        # Disable assertions
-        compiler_flag: "-DNDEBUG"
-
-        # Removal of unused code and data at link time (can this increase binary size in some cases?).
-        compiler_flag: "-ffunction-sections"
-        compiler_flag: "-fdata-sections"
-      }
-      linking_mode_flags { mode: DYNAMIC }
-    }
-  '' + lib.optionalString stdenv.isLinux ''
-    default_toolchain {
-      cpu: "k8"
-      toolchain_identifier: "local_linux"
-    }
-
-    toolchain {
-      abi_version: "local"
-      abi_libc_version: "local"
-      builtin_sysroot: ""
-      compiler: "compiler"
-      host_system_name: "local"
-      needsPic: true
-      supports_gold_linker: false
-      supports_incremental_linker: false
-      supports_fission: false
-      supports_interface_shared_objects: false
-      supports_normalizing_ar: false
-      supports_start_end_lib: false
-      target_libc: "local"
-      target_cpu: "k8"
-      target_system_name: "local"
-      toolchain_identifier: "local_linux"
-
-      tool_path { name: "ar" path: "${binutils}/bin/ar" }
-      tool_path { name: "compat-ld" path: "${binutils}/bin/ld" }
-      tool_path { name: "cpp" path: "${stdenv.cc}/bin/cpp" }
-      tool_path { name: "dwp" path: "${coreutils}/bin/false" }
-      tool_path { name: "gcc" path: "${stdenv.cc}/bin/cc" }
-      cxx_flag: "-std=c++0x"
-      linker_flag: "-lstdc++"
-      # We know all files in `/nix/store` are immutable so it's safe to disable inclusion checks for them
-      cxx_builtin_include_directory: "/nix/store"
-      tool_path { name: "gcov" path: "${coreutils}/bin/false" }
-
-      # C(++) compiles invoke the compiler (as that is the one knowing where
-      # to find libraries), but we provide LD so other rules can invoke the linker.
-      tool_path { name: "ld" path: "${binutils}/bin/ld" }
-
-      tool_path { name: "nm" path: "${binutils}/bin/nm" }
-      tool_path { name: "objcopy" path: "${binutils}/bin/objcopy" }
-      objcopy_embed_flag: "-I"
-      objcopy_embed_flag: "binary"
-      tool_path { name: "objdump" path: "${binutils}/bin/objdump" }
-      tool_path { name: "strip" path: "${binutils}/bin/strip" }
-
-      # Anticipated future default.
-      unfiltered_cxx_flag: "-no-canonical-prefixes"
-      unfiltered_cxx_flag: "-fno-canonical-system-headers"
-
-      # Make C++ compilation deterministic. Use linkstamping instead of these
-      # compiler symbols.
-      unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
-      unfiltered_cxx_flag: "-D__DATE__=\"redacted\""
-      unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\""
-      unfiltered_cxx_flag: "-D__TIME__=\"redacted\""
-
-      # Security hardening on by default.
-      # Conservative choice; -D_FORTIFY_SOURCE=2 may be unsafe in some cases.
-      # We need to undef it before redefining it as some distributions now have
-      # it enabled by default.
-      compiler_flag: "-U_FORTIFY_SOURCE"
-      compiler_flag: "-D_FORTIFY_SOURCE=1"
-      compiler_flag: "-fstack-protector"
-      linker_flag: "-Wl,-z,relro,-z,now"
-
-      # Enable coloring even if there's no attached terminal. Bazel removes the
-      # escape sequences if --nocolor is specified. This isn't supported by gcc
-      # on Ubuntu 14.04.
-      # compiler_flag: "-fcolor-diagnostics"
-
-      # All warnings are enabled. Maybe enable -Werror as well?
-      compiler_flag: "-Wall"
-      # Enable a few more warnings that aren't part of -Wall.
-      compiler_flag: "-Wunused-but-set-parameter"
-      # But disable some that are problematic.
-      compiler_flag: "-Wno-free-nonheap-object" # has false positives
-
-      # Keep stack frames for debugging, even in opt mode.
-      compiler_flag: "-fno-omit-frame-pointer"
-
-      # Anticipated future default.
-      linker_flag: "-no-canonical-prefixes"
-      # Have gcc return the exit code from ld.
-      linker_flag: "-pass-exit-codes"
-      # Gold linker only? Can we enable this by default?
-      # linker_flag: "-Wl,--warn-execstack"
-      # linker_flag: "-Wl,--detect-odr-violations"
-
-      compilation_mode_flags {
-        mode: DBG
-        # Enable debug symbols.
-        compiler_flag: "-g"
-      }
-      compilation_mode_flags {
-        mode: OPT
-
-        # No debug symbols.
-        # Maybe we should enable https://gcc.gnu.org/wiki/DebugFission for opt or
-        # even generally? However, that can't happen here, as it requires special
-        # handling in Bazel.
-        compiler_flag: "-g0"
-
-        # Conservative choice for -O
-        # -O3 can increase binary size and even slow down the resulting binaries.
-        # Profile first and / or use FDO if you need better performance than this.
-        compiler_flag: "-O2"
-
-        # Disable assertions
-        compiler_flag: "-DNDEBUG"
-
-        # Removal of unused code and data at link time (can this increase binary size in some cases?).
-        compiler_flag: "-ffunction-sections"
-        compiler_flag: "-fdata-sections"
-        linker_flag: "-Wl,--gc-sections"
-      }
-      linking_mode_flags { mode: DYNAMIC }
-    }
-  '');
-
-  osxCcWrapperFile = writeScript "osx_cc_wrapper.sh" (if stdenv.isDarwin then ''
-    #!${customBash}/bin/bash
-    #
-    # Copyright 2015 The Bazel Authors. All rights reserved.
-    #
-    # Licensed under the Apache License, Version 2.0 (the "License");
-    # you may not use this file except in compliance with the License.
-    # You may obtain a copy of the License at
-    #
-    #    http://www.apache.org/licenses/LICENSE-2.0
-    #
-    # Unless required by applicable law or agreed to in writing, software
-    # distributed under the License is distributed on an "AS IS" BASIS,
-    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    # See the License for the specific language governing permissions and
-    # limitations under the License.
-    #
-    # OS X relpath is not really working. This is a wrapper script around gcc
-    # to simulate relpath behavior.
-    #
-    # This wrapper uses install_name_tool to replace all paths in the binary
-    # (bazel-out/.../path/to/original/library.so) by the paths relative to
-    # the binary. It parses the command line to behave as rpath is supposed
-    # to work.
-    #
-    # See https://blogs.oracle.com/dipol/entry/dynamic_libraries_rpath_and_mac
-    # on how to set those paths for Mach-O binaries.
-    #
-    set -eu
-
-    GCC="${clang}/bin/clang"
-    INSTALL_NAME_TOOL="${cctools}/bin/install_name_tool"
-
-    LIBS=
-    LIB_DIRS=
-    RPATHS=
-    OUTPUT=
-    # let parse the option list
-    for i in "$@"; do
-        if [[ "''${OUTPUT}" = "1" ]]; then
-            OUTPUT=$i
-        elif [[ "$i" =~ ^-l(.*)$ ]]; then
-            LIBS="''${BASH_REMATCH[1]} $LIBS"
-        elif [[ "$i" =~ ^-L(.*)$ ]]; then
-            LIB_DIRS="''${BASH_REMATCH[1]} $LIB_DIRS"
-        elif [[ "$i" =~ ^-Wl,-rpath,\@loader_path/(.*)$ ]]; then
-            RPATHS="''${BASH_REMATCH[1]} ''${RPATHS}"
-        elif [[ "$i" = "-o" ]]; then
-            # output is coming
-            OUTPUT=1
-        fi
-    done
-
-    # Call gcc
-    ''${GCC} "$@"
-
-    function get_library_path() {
-        for libdir in ''${LIB_DIRS}; do
-            if [ -f ''${libdir}/lib$1.so ]; then
-                echo "''${libdir}/lib$1.so"
-            elif [ -f ''${libdir}/lib$1.dylib ]; then
-                echo "''${libdir}/lib$1.dylib"
-            fi
-        done
-    }
-
-    # A convenient method to return the actual path even for non symlinks
-    # and multi-level symlinks.
-    function get_realpath() {
-        local previous="$1"
-        local next=$(readlink "''${previous}")
-        while [ -n "''${next}" ]; do
-            previous="''${next}"
-            next=$(readlink "''${previous}")
-        done
-        echo "''${previous}"
-    }
-
-    # Get the path of a lib inside a tool
-    function get_otool_path() {
-        # the lib path is the path of the original lib relative to the workspace
-        get_realpath $1 | sed 's|^.*/bazel-out/|bazel-out/|'
-    }
-
-    # Do replacements in the output
-    for rpath in ''${RPATHS}; do
-        for lib in ''${LIBS}; do
-            unset libname
-            if [ -f "$(dirname ''${OUTPUT})/''${rpath}/lib''${lib}.so" ]; then
-                libname="lib''${lib}.so"
-            elif [ -f "$(dirname ''${OUTPUT})/''${rpath}/lib''${lib}.dylib" ]; then
-                libname="lib''${lib}.dylib"
-            fi
-            # ''${libname-} --> return $libname if defined, or undefined otherwise. This is to make
-            # this set -e friendly
-            if [[ -n "''${libname-}" ]]; then
-                libpath=$(get_library_path ''${lib})
-                if [ -n "''${libpath}" ]; then
-                    ''${INSTALL_NAME_TOOL} -change $(get_otool_path "''${libpath}") \
-                        "@loader_path/''${rpath}/''${libname}" "''${OUTPUT}"
-                fi
-            fi
-        done
-    done
-  '' else "");
-
   postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
     export NIX_LDFLAGS="$NIX_LDFLAGS -F${CoreFoundation}/Library/Frameworks -F${CoreServices}/Library/Frameworks -F${Foundation}/Library/Frameworks"
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${libcxx}/include/c++/v1"
   '' + ''
-    mkdir nix
-    cp ${buildFile} nix/BUILD
-    cp ${crosstoolFile} nix/CROSSTOOL
-    line=70
-    for flag in $NIX_CFLAGS_COMPILE; do
-      sed -i -e "$line a compiler_flag: \"$flag\"" nix/CROSSTOOL
-      line=$((line + 1))
-    done
-    for flag in $NIX_LDFLAGS; do
-      sed -i -e "$line a linker_flag: \"-Wl,$flag\"" nix/CROSSTOOL
-      line=$((line + 1))
-    done
-
-    cp ${osxCcWrapperFile} nix/osx_cc_wrapper.sh
     find src/main/java/com/google/devtools -type f -print0 | while IFS="" read -r -d "" path; do
       substituteInPlace "$path" \
         --replace /bin/bash ${customBash}/bin/bash \
@@ -454,14 +85,27 @@ stdenv.mkDerivation rec {
     # Fixup scripts that generate scripts. Not fixed up by patchShebangs below.
     substituteInPlace scripts/bootstrap/compile.sh \
         --replace /bin/sh ${customBash}/bin/bash
-    sed -i -e "361 a --crosstool_top=//nix:nix --host_crosstool_top=//nix:nix \\\\" scripts/bootstrap/compile.sh
+
+    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 "361 a --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\" \\\\" scripts/bootstrap/compile.sh
+    sed -i -e "361 a --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\" \\\\" scripts/bootstrap/compile.sh
+    sed -i -e "361 a --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\" \\\\" scripts/bootstrap/compile.sh
+    sed -i -e "361 a --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\" \\\\" scripts/bootstrap/compile.sh
+
+    # --experimental_strict_action_env (which will soon become the
+    # default, see bazelbuild/bazel#2574) hardcodes the default
+    # action environment to a value that on NixOS at least is bogus.
+    # So we hardcode it to something useful.
+    substituteInPlace \
+		  src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java \
+      --replace /bin:/usr/bin ${defaultShellPath}
+
     patchShebangs .
-  '' + lib.optionalString stdenv.isDarwin ''
-    sed -i "s,/usr/bin/xcrun clang,clang $NIX_CFLAGS_COMPILE $NIX_LDFLAGS -framework CoreFoundation,g" \
-      scripts/bootstrap/compile.sh \
-      src/tools/xcode/realpath/BUILD \
-      src/tools/xcode/stdredirect/BUILD \
-      tools/osx/BUILD
   '';
 
   buildInputs = [
@@ -469,26 +113,24 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    gnused
     zip
     python
     unzip
     makeWrapper
     which
     customBash
-  ] ++ lib.optionals (stdenv.isDarwin) [ cctools clang libcxx CoreFoundation CoreServices Foundation ];
+  ] ++ lib.optionals (stdenv.isDarwin) [ libcxx CoreFoundation CoreServices Foundation ];
 
   # If TMPDIR is in the unpack dir we run afoul of blaze's infinite symlink
   # detector (see com.google.devtools.build.lib.skyframe.FileFunction).
   # Change this to $(mktemp -d) as soon as we figure out why.
 
   buildPhase = ''
-    export TMPDIR=/tmp
+    export TMPDIR=/tmp/.bazel-$UID
     ./compile.sh
-    ./output/bazel --output_user_root=/tmp/.bazel build //scripts:bash_completion \
+    ./output/bazel --output_user_root=$TMPDIR/.bazel build //scripts:bash_completion \
       --spawn_strategy=standalone \
-      --genrule_strategy=standalone \
-      --crosstool_top=//nix:nix --host_crosstool_top=//nix:nix
+      --genrule_strategy=standalone
     cp bazel-bin/scripts/bazel-complete.bash output/
   '';
 
@@ -498,7 +140,6 @@ stdenv.mkDerivation rec {
   checkPhase = ''
     export TEST_TMPDIR=$(pwd)
     ./output/bazel test --test_output=errors \
-        --crosstool_top=//nix:nix --host_crosstool_top=//nix:nix \
         examples/cpp:hello-success_test \
         examples/java-native/src/test/java/com/example/myproject:hello
   '';
@@ -515,7 +156,7 @@ stdenv.mkDerivation rec {
   # Save paths to hardcoded dependencies so Nix can detect them.
   postFixup = ''
     mkdir -p $out/nix-support
-    echo "${customBash} ${gnused} ${coreutils}" > $out/nix-support/depends
+    echo "${customBash} ${defaultShellPath}" > $out/nix-support/depends
   '';
 
   dontStrip = true;
diff --git a/pkgs/development/tools/build-managers/bloop/default.nix b/pkgs/development/tools/build-managers/bloop/default.nix
index 96e9d0f9a439..50b1d09ef933 100644
--- a/pkgs/development/tools/build-managers/bloop/default.nix
+++ b/pkgs/development/tools/build-managers/bloop/default.nix
@@ -2,7 +2,7 @@
 
 let
   baseName = "bloop";
-  version = "1.0.0-M11";
+  version = "1.0.0";
   deps = stdenv.mkDerivation {
     name = "${baseName}-deps-${version}";
     buildCommand = ''
@@ -16,12 +16,12 @@ let
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "00p9mrwcms3skzicyj8frqs0r0a2rfvk5fbh58rk5yvcvkwl4fy1";
+    outputHash     = "0dgllwv9rjvpzvlbwwiynmfp15j2x48al7cb5rlmhq0an3q81hbh";
   };
 in
 stdenv.mkDerivation rec {
   name = "${baseName}-${version}";
-  nailgunCommit = "60c2d130";
+  nailgunCommit = "0c8b937b";
 
   buildInputs = [ jdk makeWrapper deps ];
 
diff --git a/pkgs/development/tools/build-managers/buck/default.nix b/pkgs/development/tools/build-managers/buck/default.nix
index 5d486f47844e..2260f083b71b 100644
--- a/pkgs/development/tools/build-managers/buck/default.nix
+++ b/pkgs/development/tools/build-managers/buck/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchFromGitHub, jdk, ant, python2, python2Packages, watchman, unzip, bash, makeWrapper }:
+{ stdenv, fetchFromGitHub, jdk, ant, python2, python2Packages, watchman, bash, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "buck-${version}";
-  version = "v2017.10.01.01";
+  name = "buck-unstable-${version}";
+  version = "2017-10-01";
 
   src = fetchFromGitHub {
     owner = "facebook";
diff --git a/pkgs/development/tools/build-managers/buildbot/default.nix b/pkgs/development/tools/build-managers/buildbot/default.nix
index 3729abfe247d..adb279cdea68 100644
--- a/pkgs/development/tools/build-managers/buildbot/default.nix
+++ b/pkgs/development/tools/build-managers/buildbot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, openssh, buildbot-worker, buildbot-pkg, pythonPackages, runCommand, makeWrapper }:
+{ stdenv, openssh, buildbot-worker, buildbot-pkg, pythonPackages, runCommand, makeWrapper }:
 
 let
   withPlugins = plugins: runCommand "wrapped-${package.name}" {
diff --git a/pkgs/development/tools/build-managers/cask/default.nix b/pkgs/development/tools/build-managers/cask/default.nix
deleted file mode 100644
index 234dab99c03c..000000000000
--- a/pkgs/development/tools/build-managers/cask/default.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ emacsPackagesNg, writeScriptBin }:
-let
-
-  emacs = emacsPackagesNg.emacsWithPackages (epkgs: [ epkgs.cask-package-toolset ]);
-  cpt = emacsPackagesNg.cask-package-toolset;
-
-in writeScriptBin "cask" ''
-#!/bin/sh
-
-exec ${emacs}/bin/emacs --script ${cpt}/share/emacs/site-lisp/elpa/cask-package-toolset-${cpt.version}/cask-package-toolset.el -- "$@"
-''
diff --git a/pkgs/development/tools/build-managers/cmake/2.8.nix b/pkgs/development/tools/build-managers/cmake/2.8.nix
index f6da92fe6219..c61bf3287db1 100644
--- a/pkgs/development/tools/build-managers/cmake/2.8.nix
+++ b/pkgs/development/tools/build-managers/cmake/2.8.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, replace, curl, expat, zlib, bzip2
+{ stdenv, fetchurl, fetchpatch, curl, expat, zlib, bzip2
 , useNcurses ? false, ncurses, useQt4 ? false, qt4, ps
 , buildPlatform, hostPlatform
 }:
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 438aa81a9d0a..ed0928febe29 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig
+{ stdenv, fetchurl, fetchpatch, pkgconfig
 , bzip2, curl, expat, libarchive, xz, zlib, libuv, rhash
 , majorVersion ? "3.11"
 # darwin attributes
@@ -57,6 +57,11 @@ stdenv.mkDerivation rec {
 
   # Don't search in non-Nix locations such as /usr, but do search in our libc.
   patches = [ ./search-path-3.9.patch ]
+    ++ optional (versionOlder version "3.12") (fetchpatch {
+      name = "cmake-3.11-libuv-1.21.patch";
+      url = https://gitlab.kitware.com/cmake/cmake/commit/889033b5c6847cf1f7bd789384405d59dc333bf6.patch;
+      sha256 = "0683zbyb3bicaxqzrj4wgdan6x08k30m20kkmpjvw30nr6a8r6xq";
+    })
     # Don't depend on frameworks.
     ++ optional (useSharedLibraries && majorVersion == "3.11") ./application-services.patch  # TODO: remove conditional
     ++ optional stdenv.isCygwin ./3.2.2-cygwin.patch;
diff --git a/pkgs/development/tools/build-managers/conan/default.nix b/pkgs/development/tools/build-managers/conan/default.nix
index d80769bf210b..e77647b2fed4 100644
--- a/pkgs/development/tools/build-managers/conan/default.nix
+++ b/pkgs/development/tools/build-managers/conan/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchpatch, python }:
+{ lib, python }:
 
 let newPython = python.override {
   packageOverrides = self: super: {
@@ -20,12 +20,12 @@ let newPython = python.override {
 };
 
 in newPython.pkgs.buildPythonApplication rec {
-  version = "1.5.1";
+  version = "1.5.2";
   pname = "conan";
 
   src = newPython.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "1b0iym41fpgv8vwbyys5hrh87pvh3hy2m9c01ybm72z2ki2pwxim";
+    sha256 = "0r5ymq27j60py1fb396zshq7z6adda34a857lwrj3k8hqhs0ihpp";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/build-managers/doit/default.nix b/pkgs/development/tools/build-managers/doit/default.nix
index e6ec8c2a80ce..c6ed406840d2 100644
--- a/pkgs/development/tools/build-managers/doit/default.nix
+++ b/pkgs/development/tools/build-managers/doit/default.nix
@@ -22,10 +22,10 @@ in python3Packages.buildPythonApplication {
   doCheck = false;
   checkPhase = "py.test";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://pydoit.org/;
     description = "A task management & automation tool";
-    license = stdenv.lib.licenses.mit;
+    license = licenses.mit;
     longDescription = ''
       doit is a modern open-source build-tool written in python
       designed to be simple to use and flexible to deal with complex
@@ -33,6 +33,7 @@ in python3Packages.buildPythonApplication {
       custom work-flows where there is no out-of-the-box solution
       available.
     '';
-    platforms = stdenv.lib.platforms.all;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/build-managers/dub/default.nix b/pkgs/development/tools/build-managers/dub/default.nix
index 52e29acc9d81..b9a8c97bd5eb 100644
--- a/pkgs/development/tools/build-managers/dub/default.nix
+++ b/pkgs/development/tools/build-managers/dub/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchpatch, curl, dmd, libevent, rsync }:
+{ stdenv, fetchFromGitHub, curl, dmd, libevent, rsync }:
 
 let
 
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index f810f97ef497..f5ca69e59c84 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -52,12 +52,12 @@ rec {
   };
 
   gradle_latest = gradleGen rec {
-    name = "gradle-4.8.1";
+    name = "gradle-4.9";
     nativeVersion = "0.14";
 
     src = fetchurl {
       url = "http://services.gradle.org/distributions/${name}-bin.zip";
-      sha256 = "0wgdf1iv0izi957hay1xfsk5xnl6s2vx5dammcwy8say9fclscxg";
+      sha256 = "0a0dkdzmz0ynf73inii8djy2hihqd9c97fir9c0d4g8px3f6jvp6";
     };
   };
 
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
index f14f6adf5fef..3cb906d50edf 100644
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -1,4 +1,4 @@
-{ lib, python3Packages, stdenv, ninja, pkgconfig, targetPlatform, writeTextDir, substituteAll }: let
+{ lib, python3Packages, stdenv, targetPlatform, writeTextDir, substituteAll }: let
   targetPrefix = lib.optionalString stdenv.isCross
                    (targetPlatform.config + "-");
 in python3Packages.buildPythonApplication rec {
diff --git a/pkgs/development/tools/build-managers/nant/default.nix b/pkgs/development/tools/build-managers/nant/default.nix
index 5da32f2334a7..c394d87e09ec 100644
--- a/pkgs/development/tools/build-managers/nant/default.nix
+++ b/pkgs/development/tools/build-managers/nant/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, fetchFromGitHub, pkgconfig, mono, makeWrapper
+{ stdenv, fetchFromGitHub, pkgconfig, mono, makeWrapper
 , targetVersion ? "4.5" }:
 
 let
diff --git a/pkgs/development/tools/build-managers/pants/default.nix b/pkgs/development/tools/build-managers/pants/default.nix
index 38a197aa900b..1ad52f327e15 100644
--- a/pkgs/development/tools/build-managers/pants/default.nix
+++ b/pkgs/development/tools/build-managers/pants/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, pythonPackages, runCommand, curl }:
+{ stdenv, pythonPackages }:
 
 with stdenv.lib;
 with pythonPackages;
diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix
index 04555f58884b..d9e260a13de3 100644
--- a/pkgs/development/tools/build-managers/rebar3/default.nix
+++ b/pkgs/development/tools/build-managers/rebar3/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, writeText, callPackage, fetchurl,
+{ stdenv, fetchurl,
   fetchHex, erlang, hermeticRebar3 ? true,
-  tree, fetchFromGitHub, hexRegistrySnapshot }:
+  tree, hexRegistrySnapshot }:
 
 let
-  version = "3.4.3";
+  version = "3.6.1";
 
   bootstrapper = ./rebar3-nix-bootstrap;
 
   erlware_commons = fetchHex {
     pkg = "erlware_commons";
-    version = "1.0.0";
-    sha256 = "0wkphbrjk19lxdwndy92v058qwcaz13bcgdzp33h21aa7vminzx7";
+    version = "1.2.0";
+    sha256 = "149kkn9gc9cjgvlmakygq475r63q2rry31s29ax0s425dh37sfl7";
   };
   ssl_verify_fun = fetchHex {
     pkg = "ssl_verify_fun";
-    version = "1.1.2";
-    sha256 = "0qdyx70v09fydv4wzz1djnkixqj62ny40yjjhv2q6mh47lns2arj";
+    version = "1.1.3";
+    sha256 = "1zljxashfhqmiscmf298vhr880ppwbgi2rl3nbnyvsfn0mjhw4if";
   };
   certifi = fetchHex {
     pkg = "certifi";
@@ -24,23 +24,23 @@ let
   };
   providers = fetchHex {
     pkg = "providers";
-    version = "1.6.0";
-    sha256 = "0byfa1h57n46jilz4q132j0vk3iqc0v1vip89li38gb1k997cs0g";
+    version = "1.7.0";
+    sha256 = "19p4rbsdx9lm2ihgvlhxyld1q76kxpd7qwyqxxsgmhl5r8ln3rlb";
   };
   getopt = fetchHex {
     pkg = "getopt";
-    version = "0.8.2";
-    sha256 = "1xw30h59zbw957cyjd8n50hf9y09jnv9dyry6x3avfwzcyrnsvkk";
+    version = "1.0.1";
+    sha256 = "174mb46c2qd1f4a7507fng4vvscjh1ds7rykfab5rdnfp61spqak";
   };
   bbmustache = fetchHex {
     pkg = "bbmustache";
-    version = "1.3.0";
-    sha256 = "042pfgss8kscq6ssg8gix8ccmdsrx0anjczsbrn2a6c36ljrx2p6";
+    version = "1.5.0";
+    sha256 = "0xg3r4lxhqifrv32nm55b4zmkflacc1s964g15p6y6jfx6v4y1zd";
   };
   relx = fetchHex {
     pkg = "relx";
-    version = "3.23.1";
-    sha256 = "13j7wds2d7b8v3r9pwy3zhwhzywgwhn6l9gm3slqzyrs1jld0a9d";
+    version = "3.26.0";
+    sha256 = "1f810rb01kdidpa985s321ycg3y4hvqpzbk263n6i1bfnqykkvv9";
   };
   cf = fetchHex {
     pkg = "cf";
@@ -49,13 +49,13 @@ let
   };
   cth_readable = fetchHex {
     pkg = "cth_readable";
-    version = "1.3.0";
-    sha256 = "1s7bqj6f2zpbyjmbfq2mm6vcz1jrxjr2nd0531wshsx6fnshqhvs";
+    version = "1.4.2";
+    sha256 = "1pjid4f60pp81ds01rqa6ybksrnzqriw3aibilld1asn9iabxkav";
   };
   eunit_formatters = fetchHex {
     pkg = "eunit_formatters";
-    version = "0.3.1";
-    sha256 = "0cg9dasv60v09q3q4wja76pld0546mhmlpb0khagyylv890hg934";
+    version = "0.5.0";
+    sha256 = "1jb3hzb216r29x2h4pcjwfmx1k81431rgh5v0mp4x5146hhvmj6n";
   };
   rebar3_hex = fetchHex {
     pkg = "rebar3_hex";
@@ -70,7 +70,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://github.com/rebar/rebar3/archive/${version}.tar.gz";
-    sha256 = "1a05gpxxc3mx5v33kzpb5xnq5vglmjl0q8hrcvpinjlazcwbg531";
+    sha256 = "0cqhqymzh10pfyxqiy4hcg3d2myz3chx0y4m2ixmq8zk81acics0";
   };
 
   inherit bootstrapper;
@@ -121,6 +121,6 @@ stdenv.mkDerivation {
       '';
 
     platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.gleber ];
+    maintainers = with stdenv.lib.maintainers; [ gleber tazjin ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch b/pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch
index db45827f5831..59004561126c 100644
--- a/pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch
+++ b/pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch
@@ -1,5 +1,5 @@
 diff --git a/bootstrap b/bootstrap
-index 7c56bab..16c1be5 100755
+index 5dedd713..864056c4 100755
 --- a/bootstrap
 +++ b/bootstrap
 @@ -101,7 +101,7 @@ extract(Binary) ->
@@ -12,9 +12,8 @@ index 7c56bab..16c1be5 100755
                         [{body_format, binary}],
                         rebar) of
 diff --git a/src/rebar_hermeticity.erl b/src/rebar_hermeticity.erl
-new file mode 100644
-index 0000000..8f6cc7d
---- /dev/null
+index e69de29b..8f6cc7d0 100644
+--- a/src/rebar_hermeticity.erl
 +++ b/src/rebar_hermeticity.erl
 @@ -0,0 +1,42 @@
 +%% -*- erlang-indent-level: 4;indent-tabs-mode: nil -*-
@@ -60,20 +59,20 @@ index 0000000..8f6cc7d
 +    ?ERROR("Request: ~p ~s", [Method, Url]),
 +    erlang:halt(1).
 diff --git a/src/rebar_pkg_resource.erl b/src/rebar_pkg_resource.erl
-index d588f24..9ac8ad4 100644
+index 2cf167ee..6080aaca 100644
 --- a/src/rebar_pkg_resource.erl
 +++ b/src/rebar_pkg_resource.erl
-@@ -109,7 +109,7 @@ make_vsn(_) ->
+@@ -127,7 +127,7 @@ make_vsn(_) ->
  request(Url, ETag) ->
-     HttpOptions = [{ssl, ssl_opts(Url)}, {relaxed, true} | rebar_utils:get_proxy_auth()],
- 
--    case httpc:request(get, {Url, [{"if-none-match", ETag} || ETag =/= false]++[{"User-Agent", rebar_utils:user_agent()}]},
-+    case rebar_hermeticity:request(get, {Url, [{"if-none-match", ETag} || ETag =/= false]++[{"User-Agent", rebar_utils:user_agent()}]},
-                        HttpOptions,
-                        [{body_format, binary}],
-                        rebar) of
+     HttpOptions = [{ssl, ssl_opts(Url)},
+                    {relaxed, true} | rebar_utils:get_proxy_auth()],
+-    case httpc:request(get, {Url, [{"if-none-match", "\"" ++ ETag ++ "\""}
++    case rebar_hermeticity:request(get, {Url, [{"if-none-match", "\"" ++ ETag ++ "\""}
+                                    || ETag =/= false] ++
+                              [{"User-Agent", rebar_utils:user_agent()}]},
+                        HttpOptions, [{body_format, binary}], rebar) of
 diff --git a/src/rebar_prv_update.erl b/src/rebar_prv_update.erl
-index a019c5a..697cbab 100644
+index 17446311..4d44d794 100644
 --- a/src/rebar_prv_update.erl
 +++ b/src/rebar_prv_update.erl
 @@ -38,6 +38,8 @@ init(State) ->
@@ -85,17 +84,17 @@ index a019c5a..697cbab 100644
  do(State) ->
      try
          case rebar_packages:registry_dir(State) of
-@@ -52,7 +54,7 @@ do(State) ->
-                 case rebar_utils:url_append_path(CDN, ?REMOTE_REGISTRY_FILE) of
+@@ -53,7 +55,7 @@ do(State) ->
                      {ok, Url} ->
+                         HttpOptions = [{relaxed, true} | rebar_utils:get_proxy_auth()],
                          ?DEBUG("Fetching registry from ~p", [Url]),
 -                        case httpc:request(get, {Url, [{"User-Agent", rebar_utils:user_agent()}]},
 +                        case rebar_hermeticity:request(get, {Url, [{"User-Agent", rebar_utils:user_agent()}]},
-                                            [], [{stream, TmpFile}, {sync, true}],
+                                            HttpOptions, [{stream, TmpFile}, {sync, true}],
                                             rebar) of
                              {ok, saved_to_file} ->
-@@ -76,6 +78,7 @@ do(State) ->
-             ?DEBUG("Error creating package index: ~p ~p", [C, erlang:get_stacktrace()]),
+@@ -77,6 +79,7 @@ do(State) ->
+             ?DEBUG("Error creating package index: ~p ~p", [C, S]),
              throw(?PRV_ERROR(package_index_write))
      end.
 +-endif.
diff --git a/pkgs/development/tools/build-managers/scons/common.nix b/pkgs/development/tools/build-managers/scons/common.nix
index d3842a39f18b..4b0242a3956d 100644
--- a/pkgs/development/tools/build-managers/scons/common.nix
+++ b/pkgs/development/tools/build-managers/scons/common.nix
@@ -1,6 +1,6 @@
 { version, sha256 }:
 
-{ stdenv, fetchurl, fetchpatch, python2Packages }:
+{ stdenv, fetchurl, python2Packages }:
 
 let name = "scons";
 in python2Packages.buildPythonApplication {
diff --git a/pkgs/development/tools/build-managers/scons/default.nix b/pkgs/development/tools/build-managers/scons/default.nix
index f52d53526fa1..3bd31523412a 100644
--- a/pkgs/development/tools/build-managers/scons/default.nix
+++ b/pkgs/development/tools/build-managers/scons/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, stdenv }:
+{ callPackage }:
 
 let
   mkScons = args: callPackage (import ./common.nix args) { };
diff --git a/pkgs/development/tools/build-managers/waf/default.nix b/pkgs/development/tools/build-managers/waf/default.nix
index 000943f117f6..e86d61cf6c9a 100644
--- a/pkgs/development/tools/build-managers/waf/default.nix
+++ b/pkgs/development/tools/build-managers/waf/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, python2 }:
+{ stdenv, fetchurl, python2 }:
 
 stdenv.mkDerivation rec {
   name = "waf-${version}";
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index c778b67a95f5..95ee4e93f2a8 100644
--- a/pkgs/development/tools/buildah/default.nix
+++ b/pkgs/development/tools/buildah/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub, runCommand
-, gpgme, libgpgerror, devicemapper, btrfs-progs, pkgconfig, ostree, libselinux
+{ stdenv, buildGoPackage, fetchFromGitHub
+, gpgme, libgpgerror, lvm2, btrfs-progs, pkgconfig, ostree, libselinux, libseccomp
 , go-md2man }:
 
 let
-  version = "0.12";
+  version = "1.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "projectatomic";
     repo = "buildah";
-    sha256 = "0xyq7rv0lj6bxwh2rnf44w9gjcqbdkfcdff88023b9vlsc8h4k0m";
+    sha256 = "0pc7bzcaafrz56glygzhnbilgaz4ca2kmklw8njfgamffbw4d54p";
   };
   goPackagePath = "github.com/projectatomic/buildah";
 
@@ -22,8 +22,11 @@ in buildGoPackage rec {
   inherit goPackagePath;
   excludedPackages = [ "tests" ];
 
+  # Optimizations break compilation of libseccomp c bindings
+  hardeningDisable = [ "fortify" ];
+
   nativeBuildInputs = [ pkgconfig go-md2man.bin ];
-  buildInputs = [ gpgme libgpgerror devicemapper btrfs-progs ostree libselinux ];
+  buildInputs = [ gpgme libgpgerror lvm2 btrfs-progs ostree libselinux libseccomp ];
 
   # Copied from the skopeo package, doesn’t seem to make a difference?
   # If something related to these libs failed, uncomment these lines.
diff --git a/pkgs/development/tools/castxml/default.nix b/pkgs/development/tools/castxml/default.nix
index f42adffc5f42..603b155ee4f9 100644
--- a/pkgs/development/tools/castxml/default.nix
+++ b/pkgs/development/tools/castxml/default.nix
@@ -1,6 +1,5 @@
 { stdenv, fetchFromGitHub
 , pythonPackages
-, pkgconfig
 , cmake
 , llvmPackages
 , withMan ? true
diff --git a/pkgs/development/tools/chefdk/default.nix b/pkgs/development/tools/chefdk/default.nix
index df06793eaec0..1d81d469eb29 100644
--- a/pkgs/development/tools/chefdk/default.nix
+++ b/pkgs/development/tools/chefdk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, bundlerEnv, ruby_2_4, perl, autoconf }:
+{ lib, bundlerEnv, ruby_2_4, perl, autoconf }:
 
 bundlerEnv {
   # Last updated via:
diff --git a/pkgs/development/tools/compass/default.nix b/pkgs/development/tools/compass/default.nix
index f96d3e810ca5..3e3e239fbfb3 100644
--- a/pkgs/development/tools/compass/default.nix
+++ b/pkgs/development/tools/compass/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, bundlerEnv, ruby }:
+{ lib, bundlerEnv, ruby }:
 
 bundlerEnv {
   name = "compass-1.0.3";
diff --git a/pkgs/development/tools/container-linux-config-transpiler/default.nix b/pkgs/development/tools/container-linux-config-transpiler/default.nix
index 8d43736d3a8a..b2b903b095c6 100644
--- a/pkgs/development/tools/container-linux-config-transpiler/default.nix
+++ b/pkgs/development/tools/container-linux-config-transpiler/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, buildGoPackage }:
+{ lib, fetchFromGitHub, buildGoPackage }:
 
 with lib;
 
diff --git a/pkgs/development/tools/coursier/default.nix b/pkgs/development/tools/coursier/default.nix
index e3c8d7ed014d..7e660f3fcd90 100644
--- a/pkgs/development/tools/coursier/default.nix
+++ b/pkgs/development/tools/coursier/default.nix
@@ -13,6 +13,7 @@ stdenv.mkDerivation rec {
 
   buildCommand = ''
     install -Dm555 $src $out/bin/coursier
+    patchShebangs $out/bin/coursier
     wrapProgram $out/bin/coursier --prefix PATH ":" ${jre}/bin
   '';
 
diff --git a/pkgs/development/tools/database/liquibase/default.nix b/pkgs/development/tools/database/liquibase/default.nix
index 2c1b942169fe..46104e78d1d7 100644
--- a/pkgs/development/tools/database/liquibase/default.nix
+++ b/pkgs/development/tools/database/liquibase/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, writeText, jre, makeWrapper, fetchMavenArtifact
+{ stdenv, fetchurl, jre, makeWrapper
 , mysqlSupport ? true, mysql_jdbc ? null }:
 
 assert mysqlSupport -> mysql_jdbc != null;
@@ -12,11 +12,11 @@ in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "liquibase";
-  version = "3.6.1";
+  version = "3.6.2";
 
   src = fetchurl {
     url = "https://github.com/liquibase/liquibase/releases/download/${pname}-parent-${version}/${name}-bin.tar.gz";
-    sha256 = "0my5rh553yfb8lz1lv5gmgvqbc5pl4xjii4z5wwbbpniyxwy64q4";
+    sha256 = "199ybjk0xxsg04v5x5l4arljmzj96hxva6ym6bp7av7dny0nqvfx";
   };
 
   buildInputs = [ jre makeWrapper ];
diff --git a/pkgs/development/tools/delve/default.nix b/pkgs/development/tools/delve/default.nix
index 9a7a600d1343..b101e52aad9c 100644
--- a/pkgs/development/tools/delve/default.nix
+++ b/pkgs/development/tools/delve/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "delve-${version}";
diff --git a/pkgs/development/tools/devpi-client/default.nix b/pkgs/development/tools/devpi-client/default.nix
index 905314efe5a9..26d96a641263 100644
--- a/pkgs/development/tools/devpi-client/default.nix
+++ b/pkgs/development/tools/devpi-client/default.nix
@@ -1,5 +1,4 @@
 { stdenv
-, lib
 , pythonPackages
 , glibcLocales
 , devpi-server
diff --git a/pkgs/development/tools/devpi-server/default.nix b/pkgs/development/tools/devpi-server/default.nix
index 6823ae3372cb..f3ade82e52e8 100644
--- a/pkgs/development/tools/devpi-server/default.nix
+++ b/pkgs/development/tools/devpi-server/default.nix
@@ -1,4 +1,4 @@
- { stdenv, pythonPackages, glibcLocales, nginx }:
+ { stdenv, pythonPackages, nginx }:
 
 pythonPackages.buildPythonApplication rec {
   name = "${pname}-${version}";
diff --git a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
index f6920a83e09c..7e8a41590724 100644
--- a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
+++ b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
@@ -1,5 +1,5 @@
-{stdenv, fetchurl, pkgconfig, libxml2Python, libxslt, intltool
-, makeWrapper, python2Packages }:
+{fetchurl, pkgconfig, libxml2Python, libxslt, intltool
+, python2Packages }:
 
 python2Packages.buildPythonApplication {
   name = "gnome-doc-utils-0.20.10";
diff --git a/pkgs/development/tools/documentation/gtk-doc/default.nix b/pkgs/development/tools/documentation/gtk-doc/default.nix
index 32025edb3064..8ec6aec9918e 100644
--- a/pkgs/development/tools/documentation/gtk-doc/default.nix
+++ b/pkgs/development/tools/documentation/gtk-doc/default.nix
@@ -28,7 +28,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}/lib/python2.7/site-packages/* $out/share/gtk-doc/python/
+    ln -s ${python.pkgs.six}/${python.sitePackages}/* $out/share/gtk-doc/python/
   '';
 
   doCheck = false; # requires a lot of stuff
diff --git a/pkgs/development/tools/documentation/mkdocs/default.nix b/pkgs/development/tools/documentation/mkdocs/default.nix
index c03de09de11a..925d0a786af0 100644
--- a/pkgs/development/tools/documentation/mkdocs/default.nix
+++ b/pkgs/development/tools/documentation/mkdocs/default.nix
@@ -4,13 +4,13 @@ with python.pkgs;
 
 buildPythonApplication rec {
   pname = "mkdocs";
-  version = "0.17.4";
+  version = "0.17.5";
 
   src = fetchFromGitHub {
     owner = "mkdocs";
     repo = "mkdocs";
     rev = version;
-    sha256 = "1hwvy6lnqqmzjia5vqd45jx6gwd9cvf7p5vw245c0cg27zkgpazp";
+    sha256 = "1l1dahpwqikmww3yx2m6j2134npk8vcikg9klsmpqjpza8nigwzw";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/easyjson/default.nix b/pkgs/development/tools/easyjson/default.nix
index 253f5b374d3c..de9fb82f66f2 100644
--- a/pkgs/development/tools/easyjson/default.nix
+++ b/pkgs/development/tools/easyjson/default.nix
@@ -1,5 +1,5 @@
 # This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-{ stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   name = "easyjson-unstable-${version}";
diff --git a/pkgs/development/tools/egg2nix/chicken-eggs.nix b/pkgs/development/tools/egg2nix/chicken-eggs.nix
index 4ec9e0daa47a..1f786f127c91 100644
--- a/pkgs/development/tools/egg2nix/chicken-eggs.nix
+++ b/pkgs/development/tools/egg2nix/chicken-eggs.nix
@@ -1,4 +1,4 @@
-{ pkgs, stdenv }:
+{ pkgs }:
 rec {
   inherit (pkgs) eggDerivation fetchegg;
 
diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix
index f2b9348103ab..695a532305a9 100644
--- a/pkgs/development/tools/electron/default.nix
+++ b/pkgs/development/tools/electron/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, libXScrnSaver, makeWrapper, fetchurl, unzip, atomEnv }:
+{ stdenv, libXScrnSaver, makeWrapper, fetchurl, unzip, atomEnv, gtk2 }:
 
 let
   version = "1.8.2";
@@ -47,7 +47,7 @@ let
 
       patchelf \
         --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-        --set-rpath "${atomEnv.libPath}:$out/lib/electron" \
+        --set-rpath "${atomEnv.libPath}:${gtk2}/lib:$out/lib/electron" \
         $out/lib/electron/electron
 
       wrapProgram $out/lib/electron/electron \
diff --git a/pkgs/development/tools/erlang/cuter/default.nix b/pkgs/development/tools/erlang/cuter/default.nix
index 3dc0d3fca88c..a89861faebbc 100644
--- a/pkgs/development/tools/erlang/cuter/default.nix
+++ b/pkgs/development/tools/erlang/cuter/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = with beamPackages; [ python27.pkgs.setuptools erlang z3 python27 makeWrapper which ];
+  buildInputs = with beamPackages; [ python27.pkgs.setuptools erlang z3.python python27 makeWrapper which ];
 
   buildFlags = "PWD=$(out)/lib/erlang/lib/cuter-${version} cuter_target";
   configurePhase = ''
diff --git a/pkgs/development/tools/erlang/hex2nix/default.nix b/pkgs/development/tools/erlang/hex2nix/default.nix
index 01d54c01bc78..e21749f90d02 100644
--- a/pkgs/development/tools/erlang/hex2nix/default.nix
+++ b/pkgs/development/tools/erlang/hex2nix/default.nix
@@ -1,32 +1,23 @@
-{ stdenv, fetchFromGitHub, buildRebar3, buildHex
+{ fetchFromGitHub, buildRebar3,
 
-, getopt_0_8_2, erlware_commons_1_0_0 }:
+  # Erlang dependencies:
+  ibrowse_4_2_2,
+  getopt_0_8_2,
+  erlware_commons_1_0_0,
+  jsx_2_8_0 }:
 
-let
-  ibrowse_4_4_0 = buildHex {
-    name = "ibrowse";
-    version = "4.4.0";
-    sha256 = "1hpic1xgksfm00mbl1kwmszca6jmjca32s7gdd8g11i0hy45k3ka";
-  };
-  jsx_2_8_2 = buildHex {
-    name = "jsx";
-    version = "2.8.2";
-    sha256 = "0k7lnmwqbgpmh90wy30kc0qlddkbh9r3sjlyayaqsz1r1cix7idl";
-  };
-
-in
 buildRebar3 rec {
     name = "hex2nix";
-    version = "0.0.6";
+    version = "0.0.6-a31eadd7";
 
     src = fetchFromGitHub {
-      owner = "erlang-nix";
-      repo = "hex2nix";
-      rev = "${version}";
-      sha256 = "17rkzg836v7z2xf0i5m8zqfvr23dbmw1bi3c83km92f9glwa1dbf";
+      owner  = "erlang-nix";
+      repo   = "hex2nix";
+      rev    = "a31eadd7af2cbdac1b87991b378e98ea4fb40ae0";
+      sha256 = "1hnkrksyrbpq2gq25rfsrnm86n0g3biab88gswm3zj88ddrz6dyk";
     };
 
-    beamDeps = [ ibrowse_4_4_0 jsx_2_8_2 erlware_commons_1_0_0 getopt_0_8_2 ];
+    beamDeps = [ ibrowse_4_2_2 jsx_2_8_0 erlware_commons_1_0_0 getopt_0_8_2 ];
 
     enableDebugInfo = true;
 
diff --git a/pkgs/development/tools/erlang/relx-exe/default.nix b/pkgs/development/tools/erlang/relx-exe/default.nix
index df14c29c3728..9bbdc8c8334d 100644
--- a/pkgs/development/tools/erlang/relx-exe/default.nix
+++ b/pkgs/development/tools/erlang/relx-exe/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, beamPackages, buildRebar3, buildHex, fetchHex
+{ stdenv, buildHex
 
 , getopt_0_8_2, erlware_commons_1_0_0, cf_0_2_2 }:
 
diff --git a/pkgs/development/tools/fac/default.nix b/pkgs/development/tools/fac/default.nix
index d6cc527e6418..18367d14f6e5 100644
--- a/pkgs/development/tools/fac/default.nix
+++ b/pkgs/development/tools/fac/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, fetchurl, makeWrapper, git }:
+{ stdenv, buildGoPackage, fetchFromGitHub, makeWrapper, git }:
 
 buildGoPackage rec {
   name = "fac-${version}";
diff --git a/pkgs/development/tools/flatpak-builder/default.nix b/pkgs/development/tools/flatpak-builder/default.nix
index 5552bdcc5e6c..b4a35b3a21c0 100644
--- a/pkgs/development/tools/flatpak-builder/default.nix
+++ b/pkgs/development/tools/flatpak-builder/default.nix
@@ -25,7 +25,7 @@
 , gitMinimal
 , glib
 , gnutar
-, json_glib
+, json-glib
 , libcap
 , libdwarf
 , libsoup
@@ -36,7 +36,7 @@
 }:
 
 let
-  version = "0.99.1";
+  version = "0.99.3";
 in stdenv.mkDerivation rec {
   name = "flatpak-builder-${version}";
 
@@ -44,7 +44,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/flatpak/flatpak-builder/releases/download/${version}/${name}.tar.xz";
-    sha256 = "0xgywl4qsxq7lw1v7hmvczzv3pl12bzz3jv59y8s5gbk54rzbyi5";
+    sha256 = "0sq3rcy3vwa36p6wq63wdvkk0hrs3qj1ngk26j9947nc14z39plk";
   };
 
   nativeBuildInputs = [
@@ -67,7 +67,7 @@ in stdenv.mkDerivation rec {
     elfutils
     flatpak
     glib
-    json_glib
+    json-glib
     libcap
     libdwarf
     libsoup
diff --git a/pkgs/development/tools/flatpak-builder/fix-paths.patch b/pkgs/development/tools/flatpak-builder/fix-paths.patch
index 001ddd645683..6b82e623a02c 100644
--- a/pkgs/development/tools/flatpak-builder/fix-paths.patch
+++ b/pkgs/development/tools/flatpak-builder/fix-paths.patch
@@ -1,6 +1,6 @@
 --- a/src/builder-context.c
 +++ b/src/builder-context.c
-@@ -711,7 +711,7 @@
+@@ -763,7 +763,7 @@
    g_autoptr(GFile) rofiles_base = NULL;
    g_autoptr(GFile) rofiles_dir = NULL;
    g_autofree char *tmpdir_name = NULL;
@@ -31,7 +31,7 @@
    return res;
 --- a/src/builder-source-archive.c
 +++ b/src/builder-source-archive.c
-@@ -401,7 +401,7 @@
+@@ -430,7 +430,7 @@
    va_list ap;
  
    va_start (ap, error);
@@ -40,7 +40,7 @@
    va_end (ap);
  
    return res;
-@@ -416,7 +416,7 @@
+@@ -445,7 +445,7 @@
    va_list ap;
  
    va_start (ap, error);
@@ -49,7 +49,7 @@
    va_end (ap);
  
    return res;
-@@ -428,7 +428,7 @@
+@@ -457,7 +457,7 @@
         GError **error)
  {
    gboolean res;
@@ -58,6 +58,15 @@
        "sh", /* shell's $0 */
        rpm_path, /* shell's $1 */
        NULL };
+@@ -604,7 +604,7 @@
+   va_list ap;
+ 
+   va_start (ap, error);
+-  res = flatpak_spawn (dir, NULL, 0, error, "git", ap);
++  res = flatpak_spawn (dir, NULL, 0, error, "@git@", ap);
+   va_end (ap);
+ 
+   return res;
 --- a/src/builder-source-bzr.c
 +++ b/src/builder-source-bzr.c
 @@ -124,7 +124,7 @@
@@ -71,7 +80,7 @@
    return res;
 --- a/src/builder-source-patch.c
 +++ b/src/builder-source-patch.c
-@@ -204,11 +204,11 @@
+@@ -215,15 +215,15 @@
  
    args = g_ptr_array_new ();
    if (use_git) {
@@ -79,6 +88,11 @@
 +    g_ptr_array_add (args, "@git@");
      g_ptr_array_add (args, "apply");
      g_ptr_array_add (args, "-v");
+   } else if (use_git_am) {
+-    g_ptr_array_add (args, "git");
++    g_ptr_array_add (args, "@git@");
+     g_ptr_array_add (args, "am");
+     g_ptr_array_add (args, "--keep-cr");
    } else {
 -    g_ptr_array_add (args, "patch");
 +    g_ptr_array_add (args, "@patch@");
@@ -87,7 +101,7 @@
      g_ptr_array_add (args, (gchar *) extra_options[i]);
 --- a/src/builder-utils.c
 +++ b/src/builder-utils.c
-@@ -139,7 +139,7 @@
+@@ -149,7 +149,7 @@
    va_list ap;
  
    va_start (ap, error);
@@ -96,7 +110,7 @@
    va_end (ap);
  
    return res;
-@@ -153,7 +153,7 @@
+@@ -163,7 +163,7 @@
    va_list ap;
  
    va_start (ap, error);
@@ -105,7 +119,7 @@
    va_end (ap);
  
    return res;
-@@ -167,7 +167,7 @@
+@@ -177,7 +177,7 @@
    va_list ap;
  
    va_start (ap, error);
diff --git a/pkgs/development/tools/flyway/default.nix b/pkgs/development/tools/flyway/default.nix
index 866366353345..70f6d8021ff8 100644
--- a/pkgs/development/tools/flyway/default.nix
+++ b/pkgs/development/tools/flyway/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, jre_headless, makeWrapper }:
   let
-    version = "5.1.3";
+    version = "5.1.4";
   in
     stdenv.mkDerivation {
       name = "flyway-${version}";
       src = fetchurl {
-        url = "https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/5.1.3/flyway-commandline-${version}.tar.gz";
-        sha256 = "08nrjrpcb56f2mhghgjbvl7bfzvlgc81ykxzghq3kpslx5d560lm";
+        url = "https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/5.1.4/flyway-commandline-${version}.tar.gz";
+        sha256 = "1raz125k55v6xa8gp6ylcjxz77r5364xqp9di46rayx3z2282f7q";
       };
       buildInputs = [ makeWrapper ];
       dontBuild = true;
diff --git a/pkgs/development/tools/git-ftp/default.nix b/pkgs/development/tools/git-ftp/default.nix
index 3d4d542d2f92..4c67a45d8c30 100644
--- a/pkgs/development/tools/git-ftp/default.nix
+++ b/pkgs/development/tools/git-ftp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pandoc, man }:
+{ stdenv, fetchFromGitHub, pandoc, man }:
 stdenv.mkDerivation rec {
   name = "git-ftp-${version}";
   version = "1.5.1";
diff --git a/pkgs/development/tools/go-bindata/default.nix b/pkgs/development/tools/go-bindata/default.nix
index 4b87e74a6308..9a783deecee6 100644
--- a/pkgs/development/tools/go-bindata/default.nix
+++ b/pkgs/development/tools/go-bindata/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   name = "go-bindata-${version}";
diff --git a/pkgs/development/tools/go-outline/default.nix b/pkgs/development/tools/go-outline/default.nix
index fe159c85c3d6..5e1cd03e0af5 100644
--- a/pkgs/development/tools/go-outline/default.nix
+++ b/pkgs/development/tools/go-outline/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "go-outline-${version}";
diff --git a/pkgs/development/tools/go-repo-root/default.nix b/pkgs/development/tools/go-repo-root/default.nix
index e47b84354d62..52cd37f98850 100644
--- a/pkgs/development/tools/go-repo-root/default.nix
+++ b/pkgs/development/tools/go-repo-root/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, gotools, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   name = "go-repo-root-${version}";
diff --git a/pkgs/development/tools/go-symbols/default.nix b/pkgs/development/tools/go-symbols/default.nix
index 9a8b592b038d..38ceea7d417b 100644
--- a/pkgs/development/tools/go-symbols/default.nix
+++ b/pkgs/development/tools/go-symbols/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchgit }:
+{ stdenv, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   name = "go-symbols-${version}";
diff --git a/pkgs/development/tools/gocode/default.nix b/pkgs/development/tools/gocode/default.nix
index 2501c36dd5cd..a20e1658988c 100644
--- a/pkgs/development/tools/gocode/default.nix
+++ b/pkgs/development/tools/gocode/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   name = "gocode-${version}";
diff --git a/pkgs/development/tools/goconvey/default.nix b/pkgs/development/tools/goconvey/default.nix
index e4ef9d26da25..fcdb56460e19 100644
--- a/pkgs/development/tools/goconvey/default.nix
+++ b/pkgs/development/tools/goconvey/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "goconvey-${version}";
diff --git a/pkgs/development/tools/godef/default.nix b/pkgs/development/tools/godef/default.nix
index 6644c8fcfc4f..3227ed8eec2e 100644
--- a/pkgs/development/tools/godef/default.nix
+++ b/pkgs/development/tools/godef/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchgit }:
+{ stdenv, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   name = "godef-${version}";
diff --git a/pkgs/development/tools/goimports/default.nix b/pkgs/development/tools/goimports/default.nix
index 5c69f34e28b3..14c319320d0c 100644
--- a/pkgs/development/tools/goimports/default.nix
+++ b/pkgs/development/tools/goimports/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   name = "goimports-${version}";
diff --git a/pkgs/development/tools/golint/default.nix b/pkgs/development/tools/golint/default.nix
index 99f049314ae8..a617e582c980 100644
--- a/pkgs/development/tools/golint/default.nix
+++ b/pkgs/development/tools/golint/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   name = "lint-${version}";
diff --git a/pkgs/development/tools/gomodifytags/default.nix b/pkgs/development/tools/gomodifytags/default.nix
index f1452bc12114..86b7246b4113 100644
--- a/pkgs/development/tools/gomodifytags/default.nix
+++ b/pkgs/development/tools/gomodifytags/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchgit }:
+{ stdenv, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   name = "gomodifytags-${version}";
diff --git a/pkgs/development/tools/gopkgs/default.nix b/pkgs/development/tools/gopkgs/default.nix
index 298657fe38c5..ea9c92c0d0a1 100644
--- a/pkgs/development/tools/gopkgs/default.nix
+++ b/pkgs/development/tools/gopkgs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "gopkgs-${version}";
diff --git a/pkgs/development/tools/gotags/default.nix b/pkgs/development/tools/gotags/default.nix
index ad22d4ea4079..b8230561fb42 100644
--- a/pkgs/development/tools/gotags/default.nix
+++ b/pkgs/development/tools/gotags/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   name = "gotags-${version}";
diff --git a/pkgs/development/tools/gotests/default.nix b/pkgs/development/tools/gotests/default.nix
index ccdab780e6cf..6c8270f85986 100644
--- a/pkgs/development/tools/gotests/default.nix
+++ b/pkgs/development/tools/gotests/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "gotests-${version}";
diff --git a/pkgs/development/tools/gotools/default.nix b/pkgs/development/tools/gotools/default.nix
index e9a7e7ac8918..05e87d084606 100644
--- a/pkgs/development/tools/gotools/default.nix
+++ b/pkgs/development/tools/gotools/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, lib, go, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, go, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
-  name = "gotools-${version}";
-  version = "20170807-${stdenv.lib.strings.substring 0 7 rev}";
-  rev = "5d2fd3ccab986d52112bf301d47a819783339d0e";
+  name = "gotools-unstable-${version}";
+  version = "2018-07-20";
+  rev = "be728107ea8275e6f58ba07e246b94181acaab24";
 
   goPackagePath = "golang.org/x/tools";
   goPackageAliases = [ "code.google.com/p/go.tools" ];
@@ -11,7 +11,7 @@ buildGoPackage rec {
   src = fetchgit {
     inherit rev;
     url = "https://go.googlesource.com/tools";
-    sha256 = "0r3fp7na6pg0bc5xfycjvv951f0vma1qfnpw5zy6l75yxm5r47kn";
+    sha256 = "1vkc87qcnfybfcgq9kbwbwzvvzrwm6ar25q5i8z3q26b8dpaxmlw";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/development/tools/gotools/deps.nix b/pkgs/development/tools/gotools/deps.nix
index d4be771e8d6b..e85fb1201012 100644
--- a/pkgs/development/tools/gotools/deps.nix
+++ b/pkgs/development/tools/gotools/deps.nix
@@ -4,8 +4,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "62ac18b461605b4be188bbc7300e9aa2bc836cd4";
-      sha256 = "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p";
+      rev = "0ed95abb35c445290478a5348a7b38bb154135fd";
+      sha256 = "1v7yhcgqj0fy7rsliijw2iwmvyd85hqshrhh2n083x62kw9n9nsl";
     };
   }
 ]
diff --git a/pkgs/development/tools/govers/default.nix b/pkgs/development/tools/govers/default.nix
index a80f1569329c..440b5e2eb0b7 100644
--- a/pkgs/development/tools/govers/default.nix
+++ b/pkgs/development/tools/govers/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   name = "govers-${version}";
diff --git a/pkgs/development/tools/gox/default.nix b/pkgs/development/tools/gox/default.nix
index 65bc55c6d8d7..69b20dd3a179 100644
--- a/pkgs/development/tools/gox/default.nix
+++ b/pkgs/development/tools/gox/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "gox-${version}";
diff --git a/pkgs/development/tools/haskell/hyper-haskell/default.nix b/pkgs/development/tools/haskell/hyper-haskell/default.nix
index 31697750a702..a2a049615b78 100644
--- a/pkgs/development/tools/haskell/hyper-haskell/default.nix
+++ b/pkgs/development/tools/haskell/hyper-haskell/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, writeText, jshon, electron, hyper-haskell-server, extra-packages ? [] }:
+{ stdenv, fetchFromGitHub, jshon, electron, hyper-haskell-server, extra-packages ? [] }:
 
 let
   binPath = stdenv.lib.makeBinPath ([ hyper-haskell-server ] ++ extra-packages);
diff --git a/pkgs/development/tools/haskell/hyper-haskell/server.nix b/pkgs/development/tools/haskell/hyper-haskell/server.nix
index ff82127f0c4b..47a9c550fa8b 100644
--- a/pkgs/development/tools/haskell/hyper-haskell/server.nix
+++ b/pkgs/development/tools/haskell/hyper-haskell/server.nix
@@ -3,7 +3,7 @@
 let
 hyperHaskellEnv = ghcWithPackages (self: [ self.hyper-haskell-server ] ++ packages self);
 in stdenv.mkDerivation {
-  name = "hyper-haskell-server-with-packages";
+  name = "hyper-haskell-server-with-packages-${hyperHaskellEnv.version}";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/development/tools/haskell/lambdabot/default.nix b/pkgs/development/tools/haskell/lambdabot/default.nix
index edf967f7d110..5e372b4f3874 100644
--- a/pkgs/development/tools/haskell/lambdabot/default.nix
+++ b/pkgs/development/tools/haskell/lambdabot/default.nix
@@ -1,4 +1,4 @@
-{ lib, haskellLib, fetchpatch, makeWrapper, haskellPackages
+{ lib, haskellLib, makeWrapper, haskellPackages
 , mueval
 , withDjinn ? true
 , aspell ? null
diff --git a/pkgs/development/tools/haskell/leksah/default.nix b/pkgs/development/tools/haskell/leksah/default.nix
index fb91015e10c8..f1c754ddff96 100644
--- a/pkgs/development/tools/haskell/leksah/default.nix
+++ b/pkgs/development/tools/haskell/leksah/default.nix
@@ -3,7 +3,7 @@
 let
 leksahEnv = ghcWithPackages (self: [ self.leksah-server self.leksah self.cabal-install ]);
 in stdenv.mkDerivation {
-  name = "leksah";
+  name = "leksah-${leksahEnv.version}";
 
   buildInputs = [ gtk3 ];
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/haskell/multi-ghc-travis/default.nix b/pkgs/development/tools/haskell/multi-ghc-travis/default.nix
index 3f64f4a925f1..30dd7f217915 100644
--- a/pkgs/development/tools/haskell/multi-ghc-travis/default.nix
+++ b/pkgs/development/tools/haskell/multi-ghc-travis/default.nix
@@ -1,27 +1,17 @@
 { mkDerivation, ansi-terminal, base, bytestring, Cabal, containers
 , deepseq, Diff, directory, filepath, ShellCheck, stdenv, tasty
-, tasty-golden, transformers, fetchFromGitHub, fetchpatch
+, tasty-golden, transformers, fetchFromGitHub
 }:
 
-let
-
-  newShellCheck = fetchpatch {
-    url = https://github.com/haskell-CI/haskell-ci/pull/159.patch;
-    sha256 = "17qn099lvfiii5z3hg24idmg4sk6ph7m2k940fsxzhqrad8fkjmw";
-  };
-
-in
-
 mkDerivation {
   pname = "haskell-ci";
   version = "0";
   src = fetchFromGitHub {
     owner = "haskell-CI";
     repo = "haskell-ci";
-    rev = "b592d290cff68c7abcbd7f99f41aac998e7b7916";
-    sha256 = "0jwaifp9wx6lb27qj191hjm125kq3vndh5lf7ibd86x19h5zmy4c";
+    rev = "f7ab8c794d7a957370d89f9b4e285a6d20bf8af8";
+    sha256 = "0w8qjdy8hzdrwmqnkf4y967r9xh0k21w3hxqlsjp66cay1vby2s8";
   };
-  patches = [ newShellCheck ];
   isLibrary = true;
   isExecutable = true;
   libraryHaskellDepends = [
diff --git a/pkgs/development/tools/hexio/default.nix b/pkgs/development/tools/hexio/default.nix
index 7078e2a37271..905580482d45 100644
--- a/pkgs/development/tools/hexio/default.nix
+++ b/pkgs/development/tools/hexio/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchurl, python, pcsclite, pth }:
+{ stdenv, fetchFromGitHub, python, pcsclite, pth }:
 
 stdenv.mkDerivation rec {
   pname = "hexio";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   patchPhase = ''
     substituteInPlace Makefile \
-      --replace '-I/usr/local/include/PCSC/' '-I${pcsclite}/include/PCSC/' \
+      --replace '-I/usr/local/include/PCSC/' '-I${stdenv.lib.getDev pcsclite}/include/PCSC/' \
       --replace '-L/usr/local/lib/pth' '-I${pth}/lib/'
     '';
 
diff --git a/pkgs/development/tools/iaca/2.1.nix b/pkgs/development/tools/iaca/2.1.nix
index e71e296212cd..b2c764c5a856 100644
--- a/pkgs/development/tools/iaca/2.1.nix
+++ b/pkgs/development/tools/iaca/2.1.nix
@@ -1,4 +1,4 @@
-{ stdenv, makeWrapper, requireFile, patchelf, gcc, unzip }:
+{ stdenv, makeWrapper, requireFile, gcc, unzip }:
 with stdenv.lib;
 
 # v2.1: last version with NHM/WSM arch support
diff --git a/pkgs/development/tools/iaca/3.0.nix b/pkgs/development/tools/iaca/3.0.nix
index af738bc71a93..34b9e1df1906 100644
--- a/pkgs/development/tools/iaca/3.0.nix
+++ b/pkgs/development/tools/iaca/3.0.nix
@@ -1,4 +1,4 @@
-{ stdenv, requireFile, patchelf, unzip }:
+{ stdenv, requireFile, unzip }:
 with stdenv.lib;
 
 stdenv.mkDerivation {
diff --git a/pkgs/development/tools/irony-server/default.nix b/pkgs/development/tools/irony-server/default.nix
index e2aa27a96eb5..b6a78071bc87 100644
--- a/pkgs/development/tools/irony-server/default.nix
+++ b/pkgs/development/tools/irony-server/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, cmake, llvmPackages, irony }:
+{ stdenv, cmake, llvmPackages, irony }:
 
 stdenv.mkDerivation rec {
   name = "irony-server-${version}";
diff --git a/pkgs/development/tools/java/cfr/default.nix b/pkgs/development/tools/java/cfr/default.nix
index 4beef3de2723..9890107b2678 100644
--- a/pkgs/development/tools/java/cfr/default.nix
+++ b/pkgs/development/tools/java/cfr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "cfr-${version}";
-  version = "0.130";
+  version = "0.132";
 
   src = fetchurl {
     url = "http://www.benf.org/other/cfr/cfr_${version}.jar";
-    sha256 = "0zy63jxl05f0wm9s344y846hzqn0zk34w6qpbf48a98si5ciwsmn";
+    sha256 = "1fpmd5v3x91lw6jc7x997ic2kklj449fndyg14zvgxawhdkic2z1";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/jmespath/default.nix b/pkgs/development/tools/jmespath/default.nix
index dd0379e83a7c..c53d6608efd3 100644
--- a/pkgs/development/tools/jmespath/default.nix
+++ b/pkgs/development/tools/jmespath/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "jmespath-${version}";
diff --git a/pkgs/development/tools/jp/default.nix b/pkgs/development/tools/jp/default.nix
index d46f7b3e8833..e8e8acd6a9a4 100644
--- a/pkgs/development/tools/jp/default.nix
+++ b/pkgs/development/tools/jp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub, jmespath }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "jp-${version}";
diff --git a/pkgs/development/tools/json2hcl/default.nix b/pkgs/development/tools/json2hcl/default.nix
index d53b39021339..694428f55a6b 100644
--- a/pkgs/development/tools/json2hcl/default.nix
+++ b/pkgs/development/tools/json2hcl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "json2hcl";
diff --git a/pkgs/development/tools/kube-aws/default.nix b/pkgs/development/tools/kube-aws/default.nix
index 11f4a5c8bd0a..af5c0e9c2f9f 100644
--- a/pkgs/development/tools/kube-aws/default.nix
+++ b/pkgs/development/tools/kube-aws/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, buildGoPackage }:
+{ lib, fetchFromGitHub, buildGoPackage }:
 
 with lib;
 
diff --git a/pkgs/development/tools/leaps/default.nix b/pkgs/development/tools/leaps/default.nix
index 9e41ef381318..afac17b52519 100644
--- a/pkgs/development/tools/leaps/default.nix
+++ b/pkgs/development/tools/leaps/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "leaps-${version}";
diff --git a/pkgs/development/tools/librarian-puppet-go/default.nix b/pkgs/development/tools/librarian-puppet-go/default.nix
index 8adea820ec76..58f50dd2f7e3 100644
--- a/pkgs/development/tools/librarian-puppet-go/default.nix
+++ b/pkgs/development/tools/librarian-puppet-go/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, buildGoPackage }:
+{ lib, fetchFromGitHub, buildGoPackage }:
 
 buildGoPackage rec {
   name = "librarian-puppet-go-${version}";
diff --git a/pkgs/development/tools/manul/default.nix b/pkgs/development/tools/manul/default.nix
index c4df52da1701..a5dd0a882728 100644
--- a/pkgs/development/tools/manul/default.nix
+++ b/pkgs/development/tools/manul/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "manul-unstable-2016-09-30";
diff --git a/pkgs/development/tools/misc/autogen/default.nix b/pkgs/development/tools/misc/autogen/default.nix
index 660917ee9f1f..265d425bbcfb 100644
--- a/pkgs/development/tools/misc/autogen/default.nix
+++ b/pkgs/development/tools/misc/autogen/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPackages, fetchurl, which, pkgconfig, texinfo, perl, guile, libxml2 }:
+{ stdenv, buildPackages, fetchurl, which, pkgconfig, perl, guile, libxml2 }:
 
 stdenv.mkDerivation rec {
   name = "autogen-${version}";
diff --git a/pkgs/development/tools/misc/automake/automake-1.11.x.nix b/pkgs/development/tools/misc/automake/automake-1.11.x.nix
index 9b4864e92fe5..0a3316005236 100644
--- a/pkgs/development/tools/misc/automake/automake-1.11.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.11.x.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     sha256 = "1ffbc6cc41f0ea6c864fbe9485b981679dc5e350f6c4bc6c3512f5a4226936b5";
   };
 
-  patches = [ ./fix-test-autoconf-2.69.patch ];
+  patches = [ ./fix-test-autoconf-2.69.patch ./fix-perl-5.26.patch ];
 
   buildInputs = [perl autoconf makeWrapper];
 
diff --git a/pkgs/development/tools/misc/automake/automake-1.16.x.nix b/pkgs/development/tools/misc/automake/automake-1.16.x.nix
index affc400a9ed0..6646b8472526 100644
--- a/pkgs/development/tools/misc/automake/automake-1.16.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.16.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false }:
+{ stdenv, fetchurl, perl, autoconf, doCheck ? false }:
 
 stdenv.mkDerivation rec {
   name = "automake-1.16.1";
diff --git a/pkgs/development/tools/misc/automake/fix-perl-5.26.patch b/pkgs/development/tools/misc/automake/fix-perl-5.26.patch
new file mode 100644
index 000000000000..fb2d08de6d81
--- /dev/null
+++ b/pkgs/development/tools/misc/automake/fix-perl-5.26.patch
@@ -0,0 +1,10 @@
+--- automake-1.11.2/automake.in
++++ automake-1.11.2/automake.in
+@@ -4156,7 +4156,7 @@ sub substitute_ac_subst_variables_worker($)
+ sub substitute_ac_subst_variables ($)
+ {
+   my ($text) = @_;
+-  $text =~ s/\${([^ \t=:+{}]+)}/&substitute_ac_subst_variables_worker ($1)/ge;
++  $text =~ s/\$\{([^ \t=:+{}]+)}/&substitute_ac_subst_variables_worker ($1)/ge;
+   return $text;
+ }
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 0b71c6719dc4..2badd0ed26a9 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -1,6 +1,6 @@
 { stdenv, buildPackages
 , fetchurl, zlib, autoreconfHook264
-, buildPlatform, hostPlatform, targetPlatform
+, hostPlatform, targetPlatform
 , noSysDirs, gold ? true, bison ? null
 }:
 
@@ -10,7 +10,7 @@ let
   # https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=330b90b5ffbbc20c5de6ae6c7f60c40fab2e7a4f;hp=99181ccac0fc7d82e7dabb05dc7466e91f1645d3
   version = "2.30";
   basename = "binutils-${version}";
-  inherit (stdenv.lib) optional optionals optionalString;
+  inherit (stdenv.lib) optionals optionalString;
   # The targetPrefix prepended to binary names to allow multiple binuntils on the
   # PATH to both be usable.
   targetPrefix = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-";
diff --git a/pkgs/development/tools/misc/blackmagic/default.nix b/pkgs/development/tools/misc/blackmagic/default.nix
index ab84cb37656e..2d7225ee03ed 100644
--- a/pkgs/development/tools/misc/blackmagic/default.nix
+++ b/pkgs/development/tools/misc/blackmagic/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub
-, gcc-arm-embedded, bash, libftdi
+, gcc-arm-embedded, libftdi
 , python, pythonPackages
 }:
 
diff --git a/pkgs/development/tools/misc/cbrowser/default.nix b/pkgs/development/tools/misc/cbrowser/default.nix
index 51610349c45e..6519f349bfc8 100644
--- a/pkgs/development/tools/misc/cbrowser/default.nix
+++ b/pkgs/development/tools/misc/cbrowser/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, cscope, tk, makeWrapper }:
+{ fetchurl, stdenv, tk, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "cbrowser-0.8";
diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix
index 34d1d8a829b1..c5cb277c256f 100644
--- a/pkgs/development/tools/misc/ccache/default.nix
+++ b/pkgs/development/tools/misc/ccache/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, runCommand, perl, zlib, makeWrapper }:
+{ stdenv, fetchurl, perl, zlib, makeWrapper }:
 
 let ccache = stdenv.mkDerivation rec {
   name = "ccache-${version}";
diff --git a/pkgs/development/tools/misc/circleci-cli/default.nix b/pkgs/development/tools/misc/circleci-cli/default.nix
new file mode 100644
index 000000000000..2bd12b409f19
--- /dev/null
+++ b/pkgs/development/tools/misc/circleci-cli/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, docker, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "circleci-cli";
+  version = "2018-05-12";
+
+  src = fetchFromGitHub {
+    owner = "circleci";
+    repo = "local-cli";
+    rev = "2c7c1a74e3c3ffb8eebc03fccd782b1bfe9e940a";
+    sha256 = "0fp0fz0xr7ynp32lqcmaigl9p45wk1hd2gv9i5q5bj9syj3g7qzm";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p "$out/bin/"
+    cp "$src/circleci.sh" "$out/bin/circleci"
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/circleci \
+      --prefix "PATH" : "${docker}/bin"
+  '';
+
+  meta = with stdenv.lib; {
+    # Box blurb edited from the AUR package circleci-cli
+    description = ''
+      Command to enable you to reproduce the CircleCI environment locally and
+      run jobs as if they were running on the hosted CirleCI application.
+    '';
+    maintainers = with maintainers; [ synthetica ];
+    platforms = platforms.linux;
+    license = licenses.mit;
+    homepage = https://circleci.com/;
+  };
+}
diff --git a/pkgs/development/tools/misc/cquery/default.nix b/pkgs/development/tools/misc/cquery/default.nix
index bf9797671269..0b86deb52055 100644
--- a/pkgs/development/tools/misc/cquery/default.nix
+++ b/pkgs/development/tools/misc/cquery/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, makeWrapper
+{ fetchFromGitHub, makeWrapper
 , cmake, llvmPackages, ncurses }:
 
 let
diff --git a/pkgs/development/tools/misc/creduce/default.nix b/pkgs/development/tools/misc/creduce/default.nix
index a3c5fd7f009c..5c6b8cfd9605 100644
--- a/pkgs/development/tools/misc/creduce/default.nix
+++ b/pkgs/development/tools/misc/creduce/default.nix
@@ -8,18 +8,18 @@
 
 stdenv.mkDerivation rec {
   name = "creduce-${version}";
-  version = "2.7.0";
+  version = "2.8.0";
 
   src = fetchurl {
     url = "https://embed.cs.utah.edu/creduce/${name}.tar.gz";
-    sha256 = "0h8s4d54q6cl6i45x3143l2xmr29b2yhr3m0n5qqx63sr5csip1n";
+    sha256 = "1vqx73ymfscvlyig03972a5m7ar3gx2yv6m8c6h2mibz792j5xkp";
   };
 
+  nativeBuildInputs = [ cmake makeWrapper ];
   buildInputs = [
     # Ensure stdenv's CC is on PATH before clang-unwrapped
     stdenv.cc
     # Actual deps:
-    cmake makeWrapper
     llvm clang-unwrapped
     flex zlib
     perl ExporterLite FileWhich GetoptTabular RegexpCommon TermReadKey
diff --git a/pkgs/development/tools/misc/ctags/wrapped.nix b/pkgs/development/tools/misc/ctags/wrapped.nix
index 4df04f44f56a..75ae9f1ba8b2 100644
--- a/pkgs/development/tools/misc/ctags/wrapped.nix
+++ b/pkgs/development/tools/misc/ctags/wrapped.nix
@@ -1,4 +1,4 @@
-{ pkgs, ctags, writeScriptBin }:
+{ pkgs, ctags }:
 
 with pkgs.stdenv.lib;
 
diff --git a/pkgs/development/tools/misc/dejagnu/default.nix b/pkgs/development/tools/misc/dejagnu/default.nix
index b734eadae902..d9fab774b76a 100644
--- a/pkgs/development/tools/misc/dejagnu/default.nix
+++ b/pkgs/development/tools/misc/dejagnu/default.nix
@@ -1,15 +1,13 @@
 { fetchurl, stdenv, expect, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "dejagnu-1.6";
+  name = "dejagnu-1.6.1";
 
   src = fetchurl {
     url = "mirror://gnu/dejagnu/${name}.tar.gz";
-    sha256 = "0qypaakd2065jgpcv84zcsibl8gph3p334gb2qdmhsrbirhlmdh0";
+    sha256 = "14hnq1mh91vqprc43xdy4f15sycw6fbajrh7zi6cw2kyg6xjhnxz";
   };
 
-  patches = [ ./wrapped-runtest-program-name.patch ];
-
   buildInputs = [ expect makeWrapper ];
 
   doCheck = true;
diff --git a/pkgs/development/tools/misc/dejagnu/wrapped-runtest-program-name.patch b/pkgs/development/tools/misc/dejagnu/wrapped-runtest-program-name.patch
deleted file mode 100644
index d745bc65cbb2..000000000000
--- a/pkgs/development/tools/misc/dejagnu/wrapped-runtest-program-name.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-This patch gives `runtest' a `$0' that contains `runtest' instead
-of `.runtest-wrapped'.  This is required because `runtest' checks
-what `$0' looks like to determine the target.
-
---- dejagnu-1.4.4/runtest	2003-08-17 03:27:59.000000000 +0200
-+++ dejagnu-1.4.4/runtest	2010-03-18 15:57:58.000000000 +0100
-@@ -10,6 +10,7 @@
- # Get the execution path to this script and the current directory.
- #
- mypath=${0-.}
-+mypath="`echo $mypath | sed -'es|\.runtest-wrapped|runtest|g'`"
- if expr ${mypath} : '.*/.*' > /dev/null
- then
-     :
-
diff --git a/pkgs/development/tools/misc/dialog/default.nix b/pkgs/development/tools/misc/dialog/default.nix
index 82b224b37f42..591254c73f57 100644
--- a/pkgs/development/tools/misc/dialog/default.nix
+++ b/pkgs/development/tools/misc/dialog/default.nix
@@ -1,10 +1,9 @@
-{ stdenv, fetchurl, ncurses, gettext
+{ stdenv, fetchurl, ncurses
 , withLibrary ? false, libtool
 , unicodeSupport ? true
 }:
 
-let optional = stdenv.lib.optional;
-    optStr = stdenv.lib.optionalString;
+let optStr = stdenv.lib.optionalString;
     buildShared = !stdenv.isDarwin;
 in
 
diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix
index 04a300c56f44..2ee573e4ba18 100644
--- a/pkgs/development/tools/misc/elfutils/default.nix
+++ b/pkgs/development/tools/misc/elfutils/default.nix
@@ -3,11 +3,11 @@
 # TODO: Look at the hardcoded paths to kernel, modules etc.
 stdenv.mkDerivation rec {
   name = "elfutils-${version}";
-  version = "0.172";
+  version = "0.173";
 
   src = fetchurl {
     url = "https://sourceware.org/elfutils/ftp/${version}/${name}.tar.bz2";
-    sha256 = "090fmbnvd9jblkwhb2bm3hanim63rrvd5f30mfxq4jac6kk9k73p";
+    sha256 = "1zq0l12k64hrbjmdjc4llrad96c25i427hpma1id9nk87w9qqvdp";
   };
 
   patches = ./debug-info-from-env.patch;
diff --git a/pkgs/development/tools/misc/fswatch/default.nix b/pkgs/development/tools/misc/fswatch/default.nix
index 4d8a9b05847a..a1f33fdfc9e7 100644
--- a/pkgs/development/tools/misc/fswatch/default.nix
+++ b/pkgs/development/tools/misc/fswatch/default.nix
@@ -1,7 +1,7 @@
 { stdenv
 , fetchFromGitHub
 , autoreconfHook
-, findutils                     # for xargs
+                     # for xargs
 , gettext
 , libtool
 , makeWrapper
diff --git a/pkgs/development/tools/misc/gdbgui/default.nix b/pkgs/development/tools/misc/gdbgui/default.nix
index 12d3f97dfc41..29bf92d2b6e5 100644
--- a/pkgs/development/tools/misc/gdbgui/default.nix
+++ b/pkgs/development/tools/misc/gdbgui/default.nix
@@ -4,14 +4,14 @@ let
 in
 python27Packages.buildPythonApplication rec {
   pname = "gdbgui";
-  version = "0.11.1.2";
+  version = "0.13.0.0";
 
   buildInputs = [ gdb ];
   propagatedBuildInputs = builtins.attrValues deps.packages;
 
   src = python27Packages.fetchPypi {
     inherit pname version;
-    sha256 = "15502fg90df183mcg6nic8fakf111pgrlp7f044g3136wpwgfln7";
+    sha256 = "16a46kabhfqsgsks5l25kpgrvrkdah3h5f5m6ams2z9nzbrxl8bz";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/misc/gdbgui/requirements.nix b/pkgs/development/tools/misc/gdbgui/requirements.nix
index 13978645c299..273f9db0c399 100644
--- a/pkgs/development/tools/misc/gdbgui/requirements.nix
+++ b/pkgs/development/tools/misc/gdbgui/requirements.nix
@@ -11,7 +11,7 @@
 let
 
   inherit (pkgs) makeWrapper;
-  inherit (pkgs.stdenv.lib) fix' extends inNixShell;
+  inherit (pkgs.stdenv.lib) fix' extends;
 
   pythonPackages =
   import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" {
diff --git a/pkgs/development/tools/misc/global/default.nix b/pkgs/development/tools/misc/global/default.nix
index 296d9673d8f1..f0f21f8f4d5a 100644
--- a/pkgs/development/tools/misc/global/default.nix
+++ b/pkgs/development/tools/misc/global/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, libtool, makeWrapper
-, coreutils, ctags, ncurses, pythonPackages, sqlite, universal-ctags, pkgconfig
+, coreutils, ctags, ncurses, pythonPackages, sqlite, universal-ctags
 }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/tools/misc/gputils/default.nix b/pkgs/development/tools/misc/gputils/default.nix
new file mode 100644
index 000000000000..aaaee20b81a8
--- /dev/null
+++ b/pkgs/development/tools/misc/gputils/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "gputils-${version}";
+  version = "1.5.0-1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/gputils/${name}.tar.bz2";
+    sha256 = "055v83fdgqljprapf7rmh8x66mr13fj0qypj49xba5spx0ca123g";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://gputils.sourceforge.io/;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ yorickvp ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/misc/gtkperf/bench.patch b/pkgs/development/tools/misc/gtkperf/bench.patch
new file mode 100644
index 000000000000..3d00a03e9a58
--- /dev/null
+++ b/pkgs/development/tools/misc/gtkperf/bench.patch
@@ -0,0 +1,60 @@
+--- gtkperf/src/callbacks.c	2005-10-30 11:33:42.000000000 +0000
++++ gtkperf-patched/src/callbacks.c	2008-05-23 23:41:17.000000000 +0100
+@@ -219,6 +219,13 @@
+ }
+
+
++void
++on_cmdline_test(char *optarg)
++{
++	appdata->test_type = atoi(optarg);
++}
++
++
+ /* Initialize appdata */
+ void
+ setup_appdata(AppData * appdata_in)
+@@ -398,7 +405,7 @@
+ 	appdata->pixbuf_drawing = gdk_pixbuf_new_from_file (filename, NULL);
+
+ 	gtk_combo_box_set_active (GTK_COMBO_BOX (appdata->combobox_testtype),
+-				  0);
++				  appdata->test_type);
+
+ 	/* create end mark to info textview */
+ 	GtkTextIter iter;
+--- gtkperf/src/callbacks.h	2005-10-30 10:21:23.000000000 +0000
++++ gtkperf-patched/src/callbacks.h	2008-05-23 23:22:30.000000000 +0100
+@@ -13,6 +13,7 @@
+ void on_cmdline_run_all ();
+ void on_cmdline_help () ;
+ void on_cmdline_count (char *optarg) ;
++void on_cmdline_test (char *optarg) ;
+ void on_window_main_show (AppData * data);
+
+ gboolean
+--- gtkperf/src/main.c	2005-10-30 11:26:42.000000000 +0000
++++ gtkperf-patched/src/main.c	2008-05-23 23:44:02.000000000 +0100
+@@ -65,9 +65,10 @@
+ 			{"help", 0, 0, 0},
+ 			{"automatic", 0, 0, 0},
+ 			{"count", 1, 0, 0},
++			{"test", 1, 0, 0},
+ 			{0, 0, 0, 0}
+ 		};
+-		c = getopt_long (argc, argv, "hac:",
++		c = getopt_long (argc, argv, "hac:t:",
+ 			long_options, &option_index);
+ 		if (c == -1)
+ 			break;
+@@ -104,6 +105,10 @@
+ 				on_cmdline_count(optarg);
+ 				break;
+
++			case 't':
++				on_cmdline_test(optarg);
++				break;
++
+ 			default:
+ 			case 'h':
+ 				on_cmdline_help ();
diff --git a/pkgs/development/tools/misc/gtkperf/default.nix b/pkgs/development/tools/misc/gtkperf/default.nix
new file mode 100644
index 000000000000..5280b69cdcec
--- /dev/null
+++ b/pkgs/development/tools/misc/gtkperf/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, gtk2, pkgconfig, libintl }:
+
+stdenv.mkDerivation {
+  name = "gtkperf-0.40.0";
+  src = fetchurl {
+    url = "mirror://sourceforge//gtkperf/gtkperf_0.40.tar.gz";
+    sha256 = "0yxj3ap3yfi76vqg6xjvgc16nfi9arm9kp87s35ywf10fd73814p";
+  };
+
+  hardeningDisable = [ "format" ];
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ gtk2 libintl ];
+
+  # https://openbenchmarking.org/innhold/7e9780c11550d09aa67bdba71248facbe2d781db
+  patches = [ ./bench.patch ];
+
+  meta = with stdenv.lib; {
+    description = "Application designed to test GTK+ performance";
+    homepage = http://gtkperf.sourceforge.net/;
+    license = with licenses; [ gpl2 ];
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix
index 4fdd017306ac..cf516b16f4b4 100644
--- a/pkgs/development/tools/misc/hydra/default.nix
+++ b/pkgs/development/tools/misc/hydra/default.nix
@@ -1,9 +1,9 @@
 { stdenv, nix, perlPackages, buildEnv, releaseTools, fetchFromGitHub
 , makeWrapper, autoconf, automake, libtool, unzip, pkgconfig, sqlite, libpqxx
 , gitAndTools, mercurial, darcs, subversion, bazaar, openssl, bzip2, libxslt
-, guile, perl, postgresql, aws-sdk-cpp, nukeReferences, git, boehmgc
+, guile, perl, postgresql, nukeReferences, git, boehmgc
 , docbook_xsl, openssh, gnused, coreutils, findutils, gzip, lzma, gnutar
-, rpm, dpkg, cdrkit, fetchpatch, pixz }:
+, rpm, dpkg, cdrkit, pixz }:
 
 with stdenv;
 
diff --git a/pkgs/development/tools/misc/intel-gpu-tools/default.nix b/pkgs/development/tools/misc/intel-gpu-tools/default.nix
index 08729f6b41b2..d92b20a12b02 100644
--- a/pkgs/development/tools/misc/intel-gpu-tools/default.nix
+++ b/pkgs/development/tools/misc/intel-gpu-tools/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, libdrm, libpciaccess, cairo, dri2proto, udev
 , libX11, libXext, libXv, libXrandr, glib, bison, libunwind, python3, kmod
-, procps, autoreconfHook, utilmacros, gnome2 }:
+, procps, utilmacros, gnome2 }:
 
 stdenv.mkDerivation rec {
   name = "intel-gpu-tools-1.22";
diff --git a/pkgs/development/tools/misc/linuxkit/default.nix b/pkgs/development/tools/misc/linuxkit/default.nix
index 71bc3b87a7ac..27f49ebcf38c 100644
--- a/pkgs/development/tools/misc/linuxkit/default.nix
+++ b/pkgs/development/tools/misc/linuxkit/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoPackage, go, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "linuxkit-${version}";
diff --git a/pkgs/development/tools/misc/loccount/default.nix b/pkgs/development/tools/misc/loccount/default.nix
index 9205f6caf0dc..017c6ad80491 100644
--- a/pkgs/development/tools/misc/loccount/default.nix
+++ b/pkgs/development/tools/misc/loccount/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitLab }:
+{ stdenv, buildGoPackage, fetchFromGitLab }:
 buildGoPackage rec {
   name = "loccount-${version}";
   version = "1.2";
diff --git a/pkgs/development/tools/misc/md2man/default.nix b/pkgs/development/tools/misc/md2man/default.nix
index 208f0ebd411b..23b7119e7d74 100644
--- a/pkgs/development/tools/misc/md2man/default.nix
+++ b/pkgs/development/tools/misc/md2man/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, go, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 with lib;
 
diff --git a/pkgs/development/tools/misc/moby/default.nix b/pkgs/development/tools/misc/moby/default.nix
index e6f7ac3290b4..c45e7841d450 100644
--- a/pkgs/development/tools/misc/moby/default.nix
+++ b/pkgs/development/tools/misc/moby/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoPackage, go, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "moby-${version}";
diff --git a/pkgs/development/tools/misc/pkgconfig/default.nix b/pkgs/development/tools/misc/pkgconfig/default.nix
index 219281f4ec17..7235af49c2e6 100644
--- a/pkgs/development/tools/misc/pkgconfig/default.nix
+++ b/pkgs/development/tools/misc/pkgconfig/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, automake, libiconv, vanilla ? false }:
+{stdenv, fetchurl, libiconv, vanilla ? false }:
 
 with stdenv.lib;
 
diff --git a/pkgs/development/tools/misc/stm32flash/default.nix b/pkgs/development/tools/misc/stm32flash/default.nix
index 3da98f38ebc7..553ded815ef8 100644
--- a/pkgs/development/tools/misc/stm32flash/default.nix
+++ b/pkgs/development/tools/misc/stm32flash/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip }:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
   name = "stm32flash-0.5";
diff --git a/pkgs/development/tools/misc/swig/3.x.nix b/pkgs/development/tools/misc/swig/3.x.nix
index 9b4fd05dc0a0..48a2e7bd2cb1 100644
--- a/pkgs/development/tools/misc/swig/3.x.nix
+++ b/pkgs/development/tools/misc/swig/3.x.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, bison, pcre }:
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool, bison, pcre }:
 
 stdenv.mkDerivation rec {
   name = "swig-${version}";
diff --git a/pkgs/development/tools/misc/sysbench/default.nix b/pkgs/development/tools/misc/sysbench/default.nix
index dbd036d03fdf..ee96b6198cc4 100644
--- a/pkgs/development/tools/misc/sysbench/default.nix
+++ b/pkgs/development/tools/misc/sysbench/default.nix
@@ -2,7 +2,7 @@
 , libaio }:
 
 stdenv.mkDerivation rec {
-  name = "sysbench-1.0.14";
+  name = "sysbench-1.0.15";
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ vim mysql.connector-c libaio ];
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "akopytov";
     repo = "sysbench";
-    rev = "1.0.14";
-    sha256 = "0mp1wqdm87zqyn55z23qf1izqz7ijgcbsysdwqndd98w6m5d86rp";
+    rev = "1.0.15";
+    sha256 = "0ddj4mxxqlnlp817ix2qad0v3p83azi9wyz4h7mffchgp3mndp9z";
   };
 
   meta = {
diff --git a/pkgs/development/tools/misc/teensy-loader-cli/default.nix b/pkgs/development/tools/misc/teensy-loader-cli/default.nix
index 4263b80789a2..d6c5256ca84d 100644
--- a/pkgs/development/tools/misc/teensy-loader-cli/default.nix
+++ b/pkgs/development/tools/misc/teensy-loader-cli/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, libusb, fetchgit }:
+{ stdenv, unzip, libusb, fetchgit }:
 let
   version = "2.1";
 in
diff --git a/pkgs/development/tools/misc/trv/default.nix b/pkgs/development/tools/misc/trv/default.nix
index c8747e66e39b..11caf8e7b20e 100644
--- a/pkgs/development/tools/misc/trv/default.nix
+++ b/pkgs/development/tools/misc/trv/default.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchFromGitHub, ocaml, findlib, camlp4, core_p4, async_p4, async_unix_p4
 , re2_p4, async_extra_p4, sexplib_p4, async_shell, core_extended_p4, async_find
-, cohttp, conduit, magic-mime, tzdata
+, cohttp, conduit, magic-mime
 }:
 
 assert stdenv.lib.versionOlder "4.02" ocaml.version;
diff --git a/pkgs/development/tools/nailgun/default.nix b/pkgs/development/tools/nailgun/default.nix
index dea1ab2a4459..6a34c1c130d9 100644
--- a/pkgs/development/tools/nailgun/default.nix
+++ b/pkgs/development/tools/nailgun/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchMavenArtifact, fetchFromGitHub, bash, jre, makeWrapper }:
+{ stdenv, fetchMavenArtifact, fetchFromGitHub, jre, makeWrapper }:
 
 let
   version = "0.9.1";
diff --git a/pkgs/development/tools/node-webkit/nw12.nix b/pkgs/development/tools/node-webkit/nw12.nix
index f09dbfdb1653..df7630e2d16f 100644
--- a/pkgs/development/tools/node-webkit/nw12.nix
+++ b/pkgs/development/tools/node-webkit/nw12.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, buildEnv, makeWrapper
 , xorg, alsaLib, dbus, glib, gtk2, atk, pango, freetype, fontconfig
-, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, systemd, libcap
+, gdk_pixbuf, cairo, nss, nspr, gconf, expat, systemd, libcap
 , libnotify}:
 let
   bits = if stdenv.system == "x86_64-linux" then "x64"
diff --git a/pkgs/development/tools/nwjs/default.nix b/pkgs/development/tools/nwjs/default.nix
index fc1513ecf34b..6840bcac0dc5 100644
--- a/pkgs/development/tools/nwjs/default.nix
+++ b/pkgs/development/tools/nwjs/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, buildEnv, makeWrapper
 
-, xorg, alsaLib, dbus, glib, gtk2, gtk3, atk, pango, freetype, fontconfig
-, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, systemd, libcap
+, xorg, alsaLib, dbus, glib, gtk3, atk, pango, freetype, fontconfig
+, gdk_pixbuf, cairo, nss, nspr, gconf, expat, systemd, libcap
 , libnotify
-, ffmpeg, libxcb, libXScrnSaver, cups
+, ffmpeg, libxcb, cups
 , sqlite, udev
 }:
 let
diff --git a/pkgs/development/tools/ocaml/camlidl/default.nix b/pkgs/development/tools/ocaml/camlidl/default.nix
index 7cdf7dc93964..7c7bf79acc7d 100644
--- a/pkgs/development/tools/ocaml/camlidl/default.nix
+++ b/pkgs/development/tools/ocaml/camlidl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeWrapper, ocaml, ncurses, writeText }:
+{ stdenv, fetchurl, ocaml, writeText }:
 
 let
   pname = "camlidl";
diff --git a/pkgs/development/tools/ocaml/jbuilder/default.nix b/pkgs/development/tools/ocaml/jbuilder/default.nix
index abfcdb61c1e6..142a30eba8da 100644
--- a/pkgs/development/tools/ocaml/jbuilder/default.nix
+++ b/pkgs/development/tools/ocaml/jbuilder/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "jbuilder-${version}";
-  version = "1.0+beta20";
+  version = "1.0.0";
   src = fetchFromGitHub {
     owner = "ocaml";
     repo = "dune";
     rev = "${version}";
-    sha256 = "0571lzm8caq6wnia7imgy4a27x5l2bvxiflg0jrwwml0ylnii65f";
+    sha256 = "08gb7l2rrfrsqvigna1cvvphww80zlvj7lqvaj4m4y9llanmnxcg";
   };
 
   buildInputs = with ocamlPackages; [ ocaml findlib ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   preFixup = "rm -rf $out/jbuilder";
 
   meta = {
-    homepage = https://github.com/janestreet/jbuilder;
+    inherit (src.meta) homepage;
     description = "Fast, portable and opinionated build system";
     maintainers = [ stdenv.lib.maintainers.vbgl ];
     license = stdenv.lib.licenses.asl20;
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
index 6d269552f628..798013045955 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
@@ -8,13 +8,13 @@ else
 
 stdenv.mkDerivation rec {
 	name = "js_of_ocaml-compiler-${version}";
-	version = "3.1.0";
+	version = "3.2.0";
 
 	src = fetchFromGitHub {
 		owner = "ocsigen";
 		repo = "js_of_ocaml";
 		rev = version;
-		sha256 = "17a0kb39bcx2qq41cq7kjrxghm67l1yahrs47yakgb1avna0pqd9";
+		sha256 = "0dxxdxgrbg9xvvi3i627krnk6rb1ja0ypp2diwdkpnmy45wak9lv";
 	};
 
 	buildInputs = [ ocaml findlib jbuilder cmdliner cppo ];
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/lwt.nix b/pkgs/development/tools/ocaml/js_of_ocaml/lwt.nix
index 31a5c3ea17bb..5ec8cca344d4 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/lwt.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/lwt.nix
@@ -1,6 +1,6 @@
 { stdenv, ocaml, findlib, jbuilder, js_of_ocaml-compiler, js_of_ocaml-ppx
 , ocaml-migrate-parsetree, ppx_tools_versioned
-, js_of_ocaml, ocaml_lwt
+, js_of_ocaml, ocaml_lwt, lwt_log
 }:
 
 stdenv.mkDerivation rec {
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
 	buildInputs = [ ocaml findlib jbuilder js_of_ocaml-ppx ocaml-migrate-parsetree ppx_tools_versioned ];
 
-	propagatedBuildInputs = [ js_of_ocaml ocaml_lwt ];
+	propagatedBuildInputs = [ js_of_ocaml ocaml_lwt lwt_log ];
 
 	buildPhase = "jbuilder build -p js_of_ocaml-lwt";
 }
diff --git a/pkgs/development/tools/ocaml/opam/default.nix b/pkgs/development/tools/ocaml/opam/default.nix
index aa9feda985a3..73b7da119abe 100644
--- a/pkgs/development/tools/ocaml/opam/default.nix
+++ b/pkgs/development/tools/ocaml/opam/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchgit, fetchurl, makeWrapper,
+{ stdenv, lib, fetchurl, makeWrapper,
   ocaml, unzip, ncurses, curl, aspcud
 }:
 
diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix
index 340c57f28176..1341e071842b 100644
--- a/pkgs/development/tools/ocaml/utop/default.nix
+++ b/pkgs/development/tools/ocaml/utop/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, bash, ocaml, findlib, ocamlbuild, jbuilder
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, jbuilder
 , lambdaTerm, cppo, makeWrapper
 }:
 
@@ -7,12 +7,12 @@ then throw "utop is not available for OCaml ${ocaml.version}"
 else
 
 stdenv.mkDerivation rec {
-  version = "2.1.0";
+  version = "2.2.0";
   name = "utop-${version}";
 
   src = fetchurl {
     url = "https://github.com/diml/utop/archive/${version}.tar.gz";
-    sha256 = "0lpfyhnm4v3xmcpac76g1px3x7na4p29w6xj2q8chqxhcw131n2y";
+    sha256 = "1414snwmqaxs1x8wbpjf6fn3jsl01hq0phrr7639xmb5vh15mgd4";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/parsing/bison/2.x.nix b/pkgs/development/tools/parsing/bison/2.x.nix
index d760cec62a04..071ad9332914 100644
--- a/pkgs/development/tools/parsing/bison/2.x.nix
+++ b/pkgs/development/tools/parsing/bison/2.x.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchurl, m4, perl }:
+{ stdenv, lib, fetchurl, m4, perl }:
 
 stdenv.mkDerivation rec {
-  name = "bison-2.7";
+  name = "bison-2.7.1";
 
   src = fetchurl {
     url = "mirror://gnu/bison/${name}.tar.gz";
-    sha256 = "0cd8s2g7zjshya7kwjc9rh3drsssl4hiq4sccnkgf0nn9wvygfqr";
+    sha256 = "0c9li3iaslzzr3zig6m3zlmb4r8i0wfvkcrvdyiqxasb09mjkqh8";
   };
 
   nativeBuildInputs = [ m4 ] ++ stdenv.lib.optional doCheck perl;
   propagatedBuildInputs = [ m4 ];
 
+  patches = lib.optional stdenv.isDarwin ./darwin-vasnprintf.patch;
+
   doCheck = true;
   # M4 = "${m4}/bin/m4";
 
diff --git a/pkgs/development/tools/parsing/bison/3.x.nix b/pkgs/development/tools/parsing/bison/3.x.nix
index 287bb8beb524..469e64acff06 100644
--- a/pkgs/development/tools/parsing/bison/3.x.nix
+++ b/pkgs/development/tools/parsing/bison/3.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, hostPlatform, fetchurl, m4, perl, help2man }:
+{ stdenv, fetchurl, m4, perl, help2man }:
 
 stdenv.mkDerivation rec {
   name = "bison-3.0.5";
diff --git a/pkgs/development/tools/parsing/bison/darwin-vasnprintf.patch b/pkgs/development/tools/parsing/bison/darwin-vasnprintf.patch
new file mode 100644
index 000000000000..84b0e6d39d87
--- /dev/null
+++ b/pkgs/development/tools/parsing/bison/darwin-vasnprintf.patch
@@ -0,0 +1,12 @@
+diff -ur bison-2.7-pristine/lib/vasnprintf.c bison-2.7/lib/vasnprintf.c
+--- bison-2.7-pristine/lib/vasnprintf.c	2012-11-30 20:48:23.000000000 +0900
++++ bison-2.7/lib/vasnprintf.c	2018-06-28 16:55:31.000000000 +0900
+@@ -4870,7 +4870,7 @@
+ #endif
+                   *fbp = dp->conversion;
+ #if USE_SNPRINTF
+-# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
++# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) || (defined __APPLE__ && defined __MACH__))
+                 fbp[1] = '%';
+                 fbp[2] = 'n';
+                 fbp[3] = '\0';
diff --git a/pkgs/development/tools/parsing/hammer/default.nix b/pkgs/development/tools/parsing/hammer/default.nix
index 27596878f346..86c1f82678ae 100644
--- a/pkgs/development/tools/parsing/hammer/default.nix
+++ b/pkgs/development/tools/parsing/hammer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, glib, pkgconfig, python, scons, pythonPackages }:
+{ stdenv, fetchgit, glib, pkgconfig, python, scons }:
 
 stdenv.mkDerivation rec {
   name = "hammer-${version}";
diff --git a/pkgs/development/tools/phantomjs2/default.nix b/pkgs/development/tools/phantomjs2/default.nix
index 3c062dbe1ab4..949d798f7e88 100644
--- a/pkgs/development/tools/phantomjs2/default.nix
+++ b/pkgs/development/tools/phantomjs2/default.nix
@@ -5,24 +5,6 @@
 }:
 
 let
-  fakeXcrun = writeScriptBin "xcrun" ''
-    #!${stdenv.shell}
-    echo >&2 "Fake xcrun: ''$@"
-    args=()
-    while (("$#")); do
-      case "$1" in
-        -sdk*) shift;;
-        -find*) shift;;
-        *) args+=("$1");;
-      esac
-      shift
-    done
-
-    if [ "''${#args[@]}" -gt "0" ]; then
-      echo >&2 "Fake xcrun: ''${args[@]}"
-      exec "''${args[@]}"
-    fi
-  '';
   fakeClang = writeScriptBin "clang" ''
     #!${stdenv.shell}
     if [[ "$@" == *.c ]]; then
diff --git a/pkgs/development/tools/pyre/default.nix b/pkgs/development/tools/pyre/default.nix
new file mode 100644
index 000000000000..7cbfc4385048
--- /dev/null
+++ b/pkgs/development/tools/pyre/default.nix
@@ -0,0 +1,71 @@
+{ stdenv, fetchFromGitHub, ocamlPackages, makeWrapper, writeScript }:
+let
+  # Manually set version - the setup script requires
+  # hg and git + keeping the .git directory around.
+  version = "0.0.8";
+  versionFile = writeScript "version.ml" ''
+    cat > "./version.ml" <<EOF
+    let build_info () =
+    "pyre-nixpkgs ${version}"
+    let version () =
+    "${version}"
+    EOF
+  '';
+in stdenv.mkDerivation {
+  name = "pyre-${version}";
+
+  src = fetchFromGitHub {
+    owner = "facebook";
+    repo = "pyre-check";
+    rev = "v${version}";
+    sha256 = "0c4km27xnzsqcqvjqxmqak37x473z6azlbldy7f05ghkms7mchrw";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildInputs = with ocamlPackages; [
+    ocaml
+    findlib
+    menhir
+    yojson
+    core
+    sedlex
+    ppx_deriving_yojson
+    ocamlbuild
+    ppxlib
+  ];
+
+  buildPhase = ''
+    # build requires HOME to be set
+    export HOME=.
+
+    # "external" because https://github.com/facebook/pyre-check/pull/8/files
+    sed "s/%VERSION%/external ${version}/" Makefile.template > Makefile
+
+    cp ${versionFile} ./scripts/generate-version-number.sh
+
+    mkdir $(pwd)/build
+    export OCAMLFIND_DESTDIR=$(pwd)/build
+    export OCAMLPATH=$OCAMLPATH:$(pwd)/build
+    make release
+  '';
+
+  checkPhase = ''
+    make test
+  '';
+
+  # Note that we're not installing the typeshed yet.
+  # Improvement for a future version.
+  installPhase = ''
+    mkdir -p $out/bin
+    cp _build/all/main.native $out/bin/pyre
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A performant type-checker for Python 3";
+    homepage = https://pyre-check.org;
+    license = licenses.mit;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ teh ];
+  };
+}
diff --git a/pkgs/development/tools/qtcreator/default.nix b/pkgs/development/tools/qtcreator/default.nix
index de94b7a8eff3..38d385d1d553 100644
--- a/pkgs/development/tools/qtcreator/default.nix
+++ b/pkgs/development/tools/qtcreator/default.nix
@@ -6,8 +6,8 @@
 with stdenv.lib;
 
 let
-  baseVersion = "4.5";
-  revision = "0";
+  baseVersion = "4.6";
+  revision = "2";
 in
 
 stdenv.mkDerivation rec {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.qt-project.org/official_releases/qtcreator/${baseVersion}/${version}/qt-creator-opensource-src-${version}.tar.xz";
-    sha256 = "1yfrfma23xxzz8hl43g7pk7ay5lg25l9lscjlih617lyv6jmc0hl";
+    sha256 = "1k23i1qsw6d06sy7g0vd699rbvwv6vbw211fy0nn0705a5zndbxv";
   };
 
   buildInputs = [ qtbase qtscript qtquickcontrols qtdeclarative ];
diff --git a/pkgs/development/tools/quicktemplate/default.nix b/pkgs/development/tools/quicktemplate/default.nix
index 614ffe5e218d..624866ea9e37 100644
--- a/pkgs/development/tools/quicktemplate/default.nix
+++ b/pkgs/development/tools/quicktemplate/default.nix
@@ -1,5 +1,5 @@
 # This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-{ stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   name = "quicktemplate-unstable-${version}";
diff --git a/pkgs/development/tools/react-native-debugger/default.nix b/pkgs/development/tools/react-native-debugger/default.nix
index 5e88384c58db..775b744f8398 100644
--- a/pkgs/development/tools/react-native-debugger/default.nix
+++ b/pkgs/development/tools/react-native-debugger/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, unzip, cairo, xorg, gdk_pixbuf, fontconfig, pango, gnome2, atk, gtk2, glib
-, freetype, dbus, nss, nspr, alsaLib, cups, expat, libudev, makeDesktopItem
+, freetype, dbus, nss, nspr, alsaLib, cups, expat, udev, makeDesktopItem
 }:
 
 let
@@ -19,7 +19,7 @@ let
     alsaLib
     cups
     expat
-    libudev
+    udev
 
     gnome2.GConf
 
diff --git a/pkgs/development/tools/redis-dump/default.nix b/pkgs/development/tools/redis-dump/default.nix
index 88c975b57352..55797948a84a 100644
--- a/pkgs/development/tools/redis-dump/default.nix
+++ b/pkgs/development/tools/redis-dump/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, bundlerEnv, ruby, perl, autoconf }:
+{ lib, bundlerEnv, ruby, perl, autoconf }:
 
 bundlerEnv {
   name = "redis-dump-0.3.5";
diff --git a/pkgs/development/tools/rtags/default.nix b/pkgs/development/tools/rtags/default.nix
index a2c75a02aa28..da3b27ebacc5 100644
--- a/pkgs/development/tools/rtags/default.nix
+++ b/pkgs/development/tools/rtags/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchgit, cmake, llvmPackages, openssl, writeScript, apple_sdk, bash, emacs, pkgconfig }:
+{ stdenv, lib, fetchgit, cmake, llvmPackages, openssl, apple_sdk, emacs, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "rtags-${version}";
diff --git a/pkgs/development/tools/rubocop/default.nix b/pkgs/development/tools/rubocop/default.nix
index 850fb5ad7f58..2b9792e4df25 100644
--- a/pkgs/development/tools/rubocop/default.nix
+++ b/pkgs/development/tools/rubocop/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, bundlerEnv, ruby, makeWrapper }:
+{ lib, bundlerEnv, ruby }:
 
 bundlerEnv rec {
   pname = "rubocop";
diff --git a/pkgs/development/tools/rust/rainicorn/default.nix b/pkgs/development/tools/rust/rainicorn/default.nix
index 370318d1ff29..50c890e3c47e 100644
--- a/pkgs/development/tools/rust/rainicorn/default.nix
+++ b/pkgs/development/tools/rust/rainicorn/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, rustPlatform, makeWrapper }:
+{ stdenv, fetchFromGitHub, rustPlatform }:
 
 with rustPlatform;
 
diff --git a/pkgs/development/tools/selenium/server/default.nix b/pkgs/development/tools/selenium/server/default.nix
index 3b1e8c2c8a75..48bfbdd689b8 100644
--- a/pkgs/development/tools/selenium/server/default.nix
+++ b/pkgs/development/tools/selenium/server/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeWrapper, jre, jdk, gcc, xorg
+{ stdenv, fetchurl, makeWrapper, jre
 , htmlunit-driver, chromedriver, chromeSupport ? true }:
 
 with stdenv.lib;
@@ -6,9 +6,6 @@ with stdenv.lib;
 let
   minorVersion = "3.6";
   patchVersion = "0";
-  arch = if stdenv.system == "x86_64-linux" then "amd64"
-         else if stdenv.system == "i686-linux" then "i386"
-         else "";
 
 in stdenv.mkDerivation rec {
   name = "selenium-server-standalone-${version}";
diff --git a/pkgs/development/tools/skopeo/default.nix b/pkgs/development/tools/skopeo/default.nix
index 0535a11e0ceb..dc157b672530 100644
--- a/pkgs/development/tools/skopeo/default.nix
+++ b/pkgs/development/tools/skopeo/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, buildGoPackage, fetchFromGitHub, runCommand
-, gpgme, libgpgerror, devicemapper, btrfs-progs, pkgconfig, ostree, libselinux
+, gpgme, libgpgerror, lvm2, btrfs-progs, pkgconfig, ostree, libselinux
 , go-md2man }:
 
 with stdenv.lib;
@@ -28,7 +28,7 @@ buildGoPackage rec {
   excludedPackages = "integration";
 
   nativeBuildInputs = [ pkgconfig (lib.getBin go-md2man) ];
-  buildInputs = [ gpgme libgpgerror devicemapper btrfs-progs ostree libselinux ];
+  buildInputs = [ gpgme libgpgerror lvm2 btrfs-progs ostree libselinux ];
 
   buildFlagsArray = ''
     -ldflags=
@@ -37,8 +37,8 @@ buildGoPackage rec {
   '';
 
   preBuild = ''
-    export CGO_CFLAGS="-I${getDev gpgme}/include -I${getDev libgpgerror}/include -I${getDev devicemapper}/include -I${getDev btrfs-progs}/include"
-    export CGO_LDFLAGS="-L${getLib gpgme}/lib -L${getLib libgpgerror}/lib -L${getLib devicemapper}/lib"
+    export CGO_CFLAGS="-I${getDev gpgme}/include -I${getDev libgpgerror}/include -I${getDev lvm2}/include -I${getDev btrfs-progs}/include"
+    export CGO_LDFLAGS="-L${getLib gpgme}/lib -L${getLib libgpgerror}/lib -L${getLib lvm2}/lib"
   '';
 
   postBuild = ''
diff --git a/pkgs/development/tools/slimerjs/default.nix b/pkgs/development/tools/slimerjs/default.nix
index 041aee7a1c5c..534c69200e02 100644
--- a/pkgs/development/tools/slimerjs/default.nix
+++ b/pkgs/development/tools/slimerjs/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, fetchgit, fetchFromGitHub, zip, unzip, firefox, bash}:
+{stdenv, fetchFromGitHub, zip, unzip, firefox, bash}:
 let
   s = # Generated upstream information
   rec {
diff --git a/pkgs/development/tools/textql/default.nix b/pkgs/development/tools/textql/default.nix
index f6687f4e4328..a3499258a999 100644
--- a/pkgs/development/tools/textql/default.nix
+++ b/pkgs/development/tools/textql/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub, sqlite }:
+{ stdenv, buildGoPackage, fetchFromGitHub, sqlite }:
 
 buildGoPackage rec {
   name = "textql-${version}";
diff --git a/pkgs/development/tools/vagrant/Gemfile.lock b/pkgs/development/tools/vagrant/Gemfile.lock
index 8991bd9eb54f..2a1515fd1438 100644
--- a/pkgs/development/tools/vagrant/Gemfile.lock
+++ b/pkgs/development/tools/vagrant/Gemfile.lock
@@ -11,7 +11,7 @@ GIT
 PATH
   remote: .
   specs:
-    vagrant (2.1.1)
+    vagrant (2.1.2)
       childprocess (~> 0.6.0)
       erubis (~> 2.7.0)
       hashicorp-checkpoint (~> 0.1.5)
@@ -25,8 +25,6 @@ PATH
       rest-client (>= 1.6.0, < 3.0)
       ruby_dep (<= 1.3.1)
       wdm (~> 0.1.0)
-      win32-file (~> 0.8.1)
-      win32-file-security (~> 1.0.10)
       winrm (~> 2.1)
       winrm-elevated (~> 1.1)
       winrm-fs (~> 1.0)
@@ -47,8 +45,6 @@ GEM
     erubis (2.7.0)
     fake_ftp (0.1.1)
     ffi (1.9.23)
-    ffi-win32-extensions (1.0.3)
-      ffi
     gssapi (1.2.0)
       ffi (>= 1.0.1)
     gyoku (1.3.1)
@@ -119,16 +115,6 @@ GEM
       addressable (>= 2.3.6)
       crack (>= 0.3.2)
       hashdiff
-    win32-file (0.8.1)
-      ffi
-      ffi-win32-extensions
-      win32-file-stat (>= 1.4.0)
-    win32-file-security (1.0.10)
-      ffi
-      ffi-win32-extensions
-    win32-file-stat (1.5.5)
-      ffi
-      ffi-win32-extensions
     winrm (2.2.3)
       builder (>= 2.1.2)
       erubis (~> 2.7)
@@ -160,4 +146,4 @@ DEPENDENCIES
   webmock (~> 2.3.1)
 
 BUNDLED WITH
-   1.14.6
+   1.16.2
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index 42ff463e1cc6..fe75c9fd2085 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -1,9 +1,13 @@
 { lib, fetchurl, buildRubyGem, bundlerEnv, ruby, libarchive }:
 
 let
-  version = "2.1.1";
+  # NOTE: bumping the version and updating the hash is insufficient;
+  # you must copy a fresh Gemfile.lock from the vagrant source,
+  # and use bundix to generate a new gemset.nix.
+  # Do not change the existing Gemfile.
+  version = "2.1.2";
   url = "https://github.com/hashicorp/vagrant/archive/v${version}.tar.gz";
-  sha256 = "0kgsb33f3wh6x4450x74wri6z78ky92sfrv7ba7h7zmxsadb6m4b";
+  sha256 = "0fb90v43d30whhyjlgb9mmy93ccbpr01pz97kp5hrg3wfd7703b1";
 
   deps = bundlerEnv rec {
     name = "${pname}-${version}";
diff --git a/pkgs/development/tools/vagrant/gemset.nix b/pkgs/development/tools/vagrant/gemset.nix
index 867927cdc248..598f5cc67235 100644
--- a/pkgs/development/tools/vagrant/gemset.nix
+++ b/pkgs/development/tools/vagrant/gemset.nix
@@ -75,15 +75,6 @@
     };
     version = "1.9.23";
   };
-  ffi-win32-extensions = {
-    dependencies = ["ffi"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1ywkkbr3bpi2ais2jr8yrsqwwrm48jg262anmdkcb9if95vajx7l";
-      type = "gem";
-    };
-    version = "1.0.3";
-  };
   gssapi = {
     dependencies = ["ffi"];
     source = {
@@ -406,7 +397,7 @@
     version = "0.0.7.5";
   };
   vagrant = {
-    dependencies = ["childprocess" "erubis" "hashicorp-checkpoint" "i18n" "listen" "log4r" "net-scp" "net-sftp" "net-ssh" "rb-kqueue" "rest-client" "ruby_dep" "wdm" "win32-file" "win32-file-security" "winrm" "winrm-elevated" "winrm-fs"];
+    dependencies = ["childprocess" "erubis" "hashicorp-checkpoint" "i18n" "listen" "log4r" "net-scp" "net-sftp" "net-ssh" "rb-kqueue" "rest-client" "ruby_dep" "wdm" "winrm" "winrm-elevated" "winrm-fs"];
   };
   vagrant-spec = {
     dependencies = ["childprocess" "log4r" "rspec" "thor"];
@@ -436,33 +427,6 @@
     };
     version = "2.3.2";
   };
-  win32-file = {
-    dependencies = ["ffi" "ffi-win32-extensions" "win32-file-stat"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0mjylzv4bbnxyjqf7hnd9ghcs5xr2sv8chnmkqdi2cc6pya2xax0";
-      type = "gem";
-    };
-    version = "0.8.1";
-  };
-  win32-file-security = {
-    dependencies = ["ffi" "ffi-win32-extensions"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0lpq821a1hrxmm0ki5c34wijzhn77g4ny76v698ixwg853y2ir9r";
-      type = "gem";
-    };
-    version = "1.0.10";
-  };
-  win32-file-stat = {
-    dependencies = ["ffi" "ffi-win32-extensions"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0lc3yajcb8xxabvj9qian938k60ixydvs3ixl5fldi0nlvnvk468";
-      type = "gem";
-    };
-    version = "1.5.5";
-  };
   winrm = {
     dependencies = ["builder" "erubis" "gssapi" "gyoku" "httpclient" "logging" "nori" "rubyntlm"];
     source = {
diff --git a/pkgs/development/tools/vim-vint/default.nix b/pkgs/development/tools/vim-vint/default.nix
index 0db25f88d768..ab90bb27bd5e 100644
--- a/pkgs/development/tools/vim-vint/default.nix
+++ b/pkgs/development/tools/vim-vint/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, lib, python3Packages, stdenv }:
+{ fetchFromGitHub, lib, python3Packages }:
 
 with python3Packages;
 
diff --git a/pkgs/development/tools/vndr/default.nix b/pkgs/development/tools/vndr/default.nix
index 2a4ddaf80398..0fbcd7b71a60 100644
--- a/pkgs/development/tools/vndr/default.nix
+++ b/pkgs/development/tools/vndr/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "vndr-${version}";
diff --git a/pkgs/development/tools/vulkan-validation-layers/default.nix b/pkgs/development/tools/vulkan-validation-layers/default.nix
index 8951f16e43c4..d6d5d6d3ea66 100644
--- a/pkgs/development/tools/vulkan-validation-layers/default.nix
+++ b/pkgs/development/tools/vulkan-validation-layers/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, python3, vulkan-headers, vulkan-loader,
-  glslang, pkgconfig, x11, libxcb, libXrandr, wayland }:
+  glslang, pkgconfig, xlibsWrapper, libxcb, libXrandr, wayland }:
 
 stdenv.mkDerivation rec {
   name = "vulkan-validation-layers-${version}";
@@ -13,14 +13,14 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake python3 vulkan-headers vulkan-loader x11 libxcb libXrandr wayland ];
+  buildInputs = [ cmake python3 vulkan-headers vulkan-loader xlibsWrapper libxcb libXrandr wayland ];
   enableParallelBuilding = true;
 
   cmakeFlags = [ "-DGLSLANG_INSTALL_DIR=${glslang}" ];
 
   meta = with stdenv.lib; {
     description = "LunarG Vulkan loader";
-    homepage    = "http://www.lunarg.com";
+    homepage    = https://www.lunarg.com;
     platforms   = platforms.linux;
     license     = licenses.asl20;
     maintainers = [ maintainers.ralith ];
diff --git a/pkgs/development/tools/ws/default.nix b/pkgs/development/tools/ws/default.nix
index b99780d41382..17c64f0548b3 100644
--- a/pkgs/development/tools/ws/default.nix
+++ b/pkgs/development/tools/ws/default.nix
@@ -1,5 +1,5 @@
 # This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-{ stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   name = "ws-${version}";
diff --git a/pkgs/development/tools/xcbuild/wrapper.nix b/pkgs/development/tools/xcbuild/wrapper.nix
index f8b1c1bf31e9..77ef8565a34e 100644
--- a/pkgs/development/tools/xcbuild/wrapper.nix
+++ b/pkgs/development/tools/xcbuild/wrapper.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildPackages, makeWrapper, writeText, runCommand
+{ lib, buildPackages, makeWrapper, writeText, runCommand
 , CoreServices, ImageIO, CoreGraphics
 , targetPlatform
 , xcodePlatform ? targetPlatform.xcodePlatform or "MacOSX"
@@ -7,8 +7,6 @@
 
 let
 
-  inherit (lib) toLower;
-
   toolchainName = "com.apple.dt.toolchain.XcodeDefault";
   sdkName = "${xcodePlatform}${sdkVer}";
 
diff --git a/pkgs/development/tools/xib2nib/default.nix b/pkgs/development/tools/xib2nib/default.nix
index d585a35b0bc5..4d62f5b85714 100644
--- a/pkgs/development/tools/xib2nib/default.nix
+++ b/pkgs/development/tools/xib2nib/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, callPackage, fetchFromGitHub, pugixml, boost, PlistCpp }:
+{ stdenv, fetchFromGitHub, pugixml, boost, PlistCpp }:
 
 stdenv.mkDerivation {
   name = "xib2nib-730e177";
diff --git a/pkgs/development/tools/yq/default.nix b/pkgs/development/tools/yq/default.nix
index 52231d0a8318..a08e01a48b7f 100644
--- a/pkgs/development/tools/yq/default.nix
+++ b/pkgs/development/tools/yq/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildPythonApplication, fetchPypi, pyyaml, xmltodict, jq }:
+{ lib, buildPythonApplication, fetchPypi, pyyaml, xmltodict, jq }:
 
 buildPythonApplication rec {
   pname = "yq";