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.nix4
-rw-r--r--pkgs/development/tools/analysis/qcachegrind/default.nix10
-rw-r--r--pkgs/development/tools/analysis/retdec/default.nix25
-rw-r--r--pkgs/development/tools/build-managers/bear/default.nix5
-rw-r--r--pkgs/development/tools/build-managers/bear/ignore_wrapper.patch40
-rw-r--r--pkgs/development/tools/build-managers/buildbot/default.nix7
-rw-r--r--pkgs/development/tools/build-managers/buildbot/pkg.nix27
-rw-r--r--pkgs/development/tools/build-managers/buildbot/plugins.nix35
-rw-r--r--pkgs/development/tools/build-managers/buildbot/worker.nix4
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix22
-rw-r--r--pkgs/development/tools/build-managers/dub/default.nix16
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/leiningen/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/buildkite-agent/default.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rw-r--r--pkgs/development/tools/database/pyrseas/default.nix45
-rw-r--r--pkgs/development/tools/deis/default.nix4
-rw-r--r--pkgs/development/tools/dep/default.nix4
-rw-r--r--pkgs/development/tools/documentation/doxygen/default.nix4
-rw-r--r--pkgs/development/tools/dtools/default.nix4
-rw-r--r--pkgs/development/tools/electron/default.nix10
-rw-r--r--pkgs/development/tools/fac/default.nix16
-rw-r--r--pkgs/development/tools/go-symbols/default.nix23
-rw-r--r--pkgs/development/tools/go-symbols/deps.nix11
-rw-r--r--pkgs/development/tools/gpp/default.nix26
-rw-r--r--pkgs/development/tools/haskell/intero-nix-shim/default.nix28
-rw-r--r--pkgs/development/tools/haskell/tinc/default.nix42
-rw-r--r--pkgs/development/tools/hcloud/default.nix24
-rw-r--r--pkgs/development/tools/icestorm/default.nix6
-rw-r--r--pkgs/development/tools/librarian-puppet-go/default.nix25
-rw-r--r--pkgs/development/tools/librarian-puppet-go/deps.nix12
-rw-r--r--pkgs/development/tools/misc/astyle/default.nix4
-rw-r--r--pkgs/development/tools/misc/autoconf-archive/default.nix4
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.15.x.nix3
-rw-r--r--pkgs/development/tools/misc/bossa/default.nix6
-rw-r--r--pkgs/development/tools/misc/ccache/default.nix4
-rw-r--r--pkgs/development/tools/misc/ccache/skip-fs-dependent-test.patch31
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix4
-rw-r--r--pkgs/development/tools/misc/gdbgui/default.nix77
-rw-r--r--pkgs/development/tools/misc/gdbgui/requirements.nix92
-rw-r--r--pkgs/development/tools/misc/libtool/libtool2.nix2
-rw-r--r--pkgs/development/tools/misc/loccount/default.nix4
-rw-r--r--pkgs/development/tools/misc/lsof/default.nix5
-rw-r--r--pkgs/development/tools/misc/lttng-ust/default.nix4
-rw-r--r--pkgs/development/tools/misc/patchelf/unstable.nix6
-rw-r--r--pkgs/development/tools/misc/texinfo/5.2.nix9
-rw-r--r--pkgs/development/tools/misc/texinfo/6.5.nix11
-rw-r--r--pkgs/development/tools/misc/uhd/default.nix28
-rw-r--r--pkgs/development/tools/mypy/default.nix9
-rw-r--r--pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix2
-rw-r--r--pkgs/development/tools/packer/default.nix4
-rw-r--r--pkgs/development/tools/parsing/flex/default.nix29
-rw-r--r--pkgs/development/tools/phantomjs2/default.nix1
-rw-r--r--pkgs/development/tools/profiling/heaptrack/default.nix14
-rw-r--r--pkgs/development/tools/profiling/pyprof2calltree/default.nix22
-rw-r--r--pkgs/development/tools/selenium/chromedriver/default.nix11
-rw-r--r--pkgs/development/tools/skopeo/default.nix37
-rw-r--r--pkgs/development/tools/skopeo/path.patch25
-rw-r--r--pkgs/development/tools/vagrant/default.nix7
-rw-r--r--pkgs/development/tools/vultr/default.nix4
-rw-r--r--pkgs/development/tools/wp-cli/default.nix6
-rw-r--r--pkgs/development/tools/ws/default.nix26
-rw-r--r--pkgs/development/tools/ws/deps.nix12
-rw-r--r--pkgs/development/tools/xcbuild/sdk.nix14
-rw-r--r--pkgs/development/tools/xcbuild/wrapper.nix2
-rw-r--r--pkgs/development/tools/yaml2json/default.nix24
-rw-r--r--pkgs/development/tools/yaml2json/deps.nix11
-rw-r--r--pkgs/development/tools/yq/default.nix5
69 files changed, 603 insertions, 459 deletions
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 1ae8a4ff404..69ca68351ba 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -4,14 +4,14 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  version = "0.63.1";
+  version = "0.65.0";
   name = "flow-${version}";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "1djcyf1c88xw5mv1gh4wggy16d2gi84ndj31n11y5qh99hh3lmfl";
+    sha256 = "00m9wqfqpnv7p2kz0970254jfaqakb12lsnhk95hw47ghfyb2f7p";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/qcachegrind/default.nix b/pkgs/development/tools/analysis/qcachegrind/default.nix
index 8db532d2feb..15be7554c19 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 }:
+{ stdenv, fetchurl, cmake, qmake, qtbase, perl, python, php, kcachegrind, fetchpatch }:
 
 let
   name = stdenv.lib.replaceStrings ["kcachegrind"] ["qcachegrind"] kcachegrind.name;
@@ -12,6 +12,14 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ qmake ];
 
+  patches = [
+    (fetchpatch {
+      name = "fix-qt5_10-build.patch";
+      url = https://github.com/KDE/kcachegrind/commit/c41607a.patch;
+      sha256 = "00kh5im3hpcarch8rc2dsgxsajfmd8vd7rry9x6mxrbkgr4ifq8y";
+    })
+  ];
+
   postInstall = ''
      mkdir -p $out/bin
      cp -p converters/dprof2calltree $out/bin/dprof2calltree
diff --git a/pkgs/development/tools/analysis/retdec/default.nix b/pkgs/development/tools/analysis/retdec/default.nix
index adcda4c8324..f88546163d4 100644
--- a/pkgs/development/tools/analysis/retdec/default.nix
+++ b/pkgs/development/tools/analysis/retdec/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchurl,
+{ stdenv, fetchFromGitHub, fetchurl, fetchzip,
 # Native build inputs
 cmake,
 autoconf, automake, libtool,
@@ -15,6 +15,8 @@ ncurses,
 libffi,
 libxml2,
 zlib,
+# PE (Windows) data, huge space savings if not needed
+withPEPatterns ? false,
 }:
 
 let
@@ -53,9 +55,14 @@ let
     sha256 = "0r97n4n552ns571diz54qsgarihrxvbn7kvyv8wjyfs9ybrldxqj";
   };
 
-  retdec-support = fetchurl {
+  retdec-support = fetchzip {
     url = "https://github.com/avast-tl/retdec-support/releases/download/2017-12-12/retdec-support_2017-12-12.tar.xz";
-    sha256 = "6376af57a77147f1363896963d8c1b3745ddb9a6bcec83d63a5846c3f78aeef9";
+    sha256 = if withPEPatterns then "0pchl7hb42dm0sdbmpr8d3c6xc0lm6cs4p6g6kdb2cr9c99gjzn3"
+                               else "1hcyq6bf4wk739kb53ic2bs71gsbx6zd07pc07lzfnxf8k497mhv";
+    # Removing PE signatures reduces this from 3.8GB -> 642MB (uncompressed)
+    extraPostFetch = stdenv.lib.optionalString (!withPEPatterns) ''
+      rm -rf $out/generic/yara_patterns/static-code/pe
+    '';
   };
 in stdenv.mkDerivation rec {
   name = "retdec-${version}";
@@ -90,13 +97,14 @@ in stdenv.mkDerivation rec {
     find . -wholename "*/deps/openssl/CMakeLists.txt" -print0 | \
       xargs -0 sed -i -e 's|OPENSSL_URL .*)|OPENSSL_URL ${openssl})|'
 
+    cat > cmake/install-share.sh <<EOF
+      #!/bin/sh
+      mkdir -p $out/share/retdec/
+      ln -s ${retdec-support} $out/share/retdec/support
+    EOF
     chmod +x cmake/*.sh
     patchShebangs cmake/*.sh
 
-    sed -i cmake/install-share.sh \
-      -e 's|WGET_PARAMS.*|cp ${retdec-support} "$INSTALL_PATH/$ARCH_NAME"|' \
-      -e '/echo "RUN: wget/,+7d'
-
     substituteInPlace scripts/unpack.sh --replace '	upx -d' '	${upx}/bin/upx -d'
     substituteInPlace scripts/config.sh --replace /usr/bin/time ${time}/bin/time
   '';
@@ -105,9 +113,8 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A retargetable machine-code decompiler based on LLVM";
-    inherit (src.meta) homepage;
+    homepage = https://retdec.com;
     license = licenses.mit;
     maintainers = with maintainers; [ dtzWill ];
   };
 }
-
diff --git a/pkgs/development/tools/build-managers/bear/default.nix b/pkgs/development/tools/build-managers/bear/default.nix
index 2bfec89aa66..6afec72de5f 100644
--- a/pkgs/development/tools/build-managers/bear/default.nix
+++ b/pkgs/development/tools/build-managers/bear/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "bear-${version}";
-  version = "2.2.1";
+  version = "2.3.11";
 
   src = fetchFromGitHub {
     owner = "rizsotto";
     repo = "Bear";
     rev = version;
-    sha256 = "1rwar5nvvhfqws4nwyifaysqs3nxpphp48lx9mdg5n6l4z7drz0n";
+    sha256 = "0r6ykvclq9ws055ssd8w33dicmk5l9pisv0fpzkks700n8d3z9f3";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -31,4 +31,3 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.vcunat ];
   };
 }
-
diff --git a/pkgs/development/tools/build-managers/bear/ignore_wrapper.patch b/pkgs/development/tools/build-managers/bear/ignore_wrapper.patch
index 16d7a9bfd3e..f70e3811f65 100644
--- a/pkgs/development/tools/build-managers/bear/ignore_wrapper.patch
+++ b/pkgs/development/tools/build-managers/bear/ignore_wrapper.patch
@@ -1,31 +1,23 @@
---- Bear-2.2.1-src/bear/main.py.in	1970-01-01 01:00:01.000000000 +0100
-+++ Bear-2.2.1-src-patch/bear/main.py.in	2016-11-02 20:23:38.050134984 +0100
-@@ -48,6 +48,7 @@
+--- Bear-2.3.11-src/bear/main.py.in	1970-01-01 01:00:01.000000000 +0100
++++ Bear-2.3.11-src-patch/bear/main.py.in	1970-01-01 01:00:01.000000000 +0100
+@@ -49,6 +49,7 @@
  import shutil
  import contextlib
  import logging
 +from distutils.spawn import find_executable
  
- # Ignored compiler options map for compilation database creation.
- # The map is used in `split_command` method. (Which does ignore and classify
-@@ -447,7 +448,6 @@
-     # do extra check on number of source files
-     return result if result.files else None
+ # Map of ignored compiler option for the creation of a compilation database.
+ # This map is used in _split_command method, which classifies the parameters
+@@ -540,7 +541,11 @@
+                 any(pattern.match(cmd) for pattern in COMPILER_PATTERNS_CXX)
  
--
- def split_compiler(command):
-     """ A predicate to decide the command is a compiler call or not.
- 
-@@ -467,7 +467,11 @@
-                    for pattern in COMPILER_CPP_PATTERNS)
- 
-     if command:  # not empty list will allow to index '0' and '1:'
--        executable = os.path.basename(command[0])
-+        absolute_executable = os.path.realpath(find_executable(command[0]))
-+        if 'wrapper' in absolute_executable:
-+            return None
+         if command:  # not empty list will allow to index '0' and '1:'
+-            executable = os.path.basename(command[0])  # type: str
++            absolute_executable = os.path.realpath(find_executable(command[0]))
++            if 'wrapper' in absolute_executable:
++                return None
 +
-+        executable = os.path.basename(absolute_executable)
-         parameters = command[1:]
-         # 'wrapper' 'parameters' and
-         # 'wrapper' 'compiler' 'parameters' are valid.
++            executable = os.path.basename(absolute_executable) # type: str
+             parameters = command[1:]  # type: List[str]
+             # 'wrapper' 'parameters' and
+             # 'wrapper' 'compiler' 'parameters' are valid.
\ No newline at end of file
diff --git a/pkgs/development/tools/build-managers/buildbot/default.nix b/pkgs/development/tools/build-managers/buildbot/default.nix
index a2d77f0321a..d62ccd0c9fd 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, pythonPackages, runCommand, makeWrapper }:
+{ stdenv, lib, openssh, buildbot-worker, buildbot-pkg, pythonPackages, runCommand, makeWrapper }:
 
 let
   withPlugins = plugins: runCommand "wrapped-${package.name}" {
@@ -14,11 +14,11 @@ let
   package = pythonPackages.buildPythonApplication rec {
     name = "${pname}-${version}";
     pname = "buildbot";
-    version = "0.9.11";
+    version = "0.9.15.post1";
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "1s3y218wry7502xp4zxccf3z996xm8cnp3dcxl7m5ldmmb055qwv";
+      sha256 = "01m5x4lpz90lqf8j0s2c26gqb5yzan6x9d1ffgmrklwf0bljkwni";
     };
 
     buildInputs = with pythonPackages; [
@@ -36,6 +36,7 @@ let
       pyflakes
       openssh
       buildbot-worker
+      buildbot-pkg
       treq
     ];
 
diff --git a/pkgs/development/tools/build-managers/buildbot/pkg.nix b/pkgs/development/tools/build-managers/buildbot/pkg.nix
new file mode 100644
index 00000000000..8b23f8a2488
--- /dev/null
+++ b/pkgs/development/tools/build-managers/buildbot/pkg.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildPythonPackage, fetchPypi, setuptools }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "buildbot-pkg";
+  version = "0.9.15.post1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0gsa5fi1gkwnz8dsrl2s5kzcfawnj3nl8g8h6z1winz627l9n8sh";
+  };
+
+  propagatedBuildInputs = [ setuptools ];
+
+  postPatch = ''
+    # Their listdir function filters out `node_modules` folders.
+    # Do we have to care about that with Nix...?
+    substituteInPlace buildbot_pkg.py --replace "os.listdir = listdir" ""
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://buildbot.net/;
+    description = "Buildbot Packaging Helper";
+    maintainers = with maintainers; [ nand0p ryansydnor ];
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/buildbot/plugins.nix b/pkgs/development/tools/build-managers/buildbot/plugins.nix
index ec4bf161562..40aaad2efd2 100644
--- a/pkgs/development/tools/build-managers/buildbot/plugins.nix
+++ b/pkgs/development/tools/build-managers/buildbot/plugins.nix
@@ -1,27 +1,6 @@
-{ stdenv, pythonPackages }:
+{ stdenv, pythonPackages, buildbot-pkg }:
 
-let
-  buildbot-pkg = pythonPackages.buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "buildbot-pkg";
-    version = "0.9.11";
-
-    src = pythonPackages.fetchPypi {
-      inherit pname version;
-      sha256 = "1gh7wj9z7n7yfs219jbv9pdd2w8dwj6qpa090ffjkfpgd3xana33";
-    };
-
-    propagatedBuildInputs = with pythonPackages; [ setuptools ];
-
-    meta = with stdenv.lib; {
-      homepage = http://buildbot.net/;
-      description = "Buildbot Packaging Helper";
-      maintainers = with maintainers; [ nand0p ryansydnor ];
-      license = licenses.gpl2;
-    };
-  };
-
-in {
+{
   www = pythonPackages.buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "buildbot_www";
@@ -32,7 +11,7 @@ in {
 
     src = pythonPackages.fetchPypi {
       inherit pname version format;
-      sha256 = "0fk1swdncg4nha744mzkf6jqh1zv1cfhnqvd19669kjcyjx9i68d";
+      sha256 = "19cnzp5prima3jrk525xspw7vqc5pjln2nihj4kc3w90dhzllj8x";
     };
 
     meta = with stdenv.lib; {
@@ -50,7 +29,7 @@ in {
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "16wxgnh35916c2gw34971ynx319lnm9addhqvii885vid44pqim0";
+      sha256 = "1j6aw2j2sl7ix8rb67pbs6nfvv8v3smgkvqzsjsyh5sdfr2663cg";
     };
 
     propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
@@ -70,7 +49,7 @@ in {
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "1hcr8xsc0ajfg2vz2h8g5s8ypsp32kdplgqp21jh8z5y0a6nzqsl";
+      sha256 = "0k0wd4rq034bij2flfjv60h8czkfn836bnaa7hwsrl58gxds39m4";
     };
 
     propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
@@ -90,7 +69,7 @@ in {
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "0aw1073xq549q5jkjk31zhqpasp8jiy4gch0fjyw8qy0dax8hc7r";
+      sha256 = "08ng56jmy50s3zyn6wxizji1zhgzhi65z7w3wljg02qrbd5688gj";
     };
 
     propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
@@ -110,7 +89,7 @@ in {
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "0x99mdmn1ngcnmkxr40hwqafsq48jybdz45y5kpc0yw68n0bfwmv";
+      sha256 = "15fm72yymv873n3vsw9kprypcf6jzln18v4lb062n8lqw9pykwb1";
     };
 
     propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
diff --git a/pkgs/development/tools/build-managers/buildbot/worker.nix b/pkgs/development/tools/build-managers/buildbot/worker.nix
index 4fe728b9ce6..51d6a5b5695 100644
--- a/pkgs/development/tools/build-managers/buildbot/worker.nix
+++ b/pkgs/development/tools/build-managers/buildbot/worker.nix
@@ -3,11 +3,11 @@
 pythonPackages.buildPythonApplication (rec {
   name = "${pname}-${version}";
   pname = "buildbot-worker";
-  version = "0.9.11";
+  version = "0.9.15.post1";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "0lb8kwg3m9jgrww929d5nrjs4rj489mb4dnsdxcbdb358jbbym22";
+    sha256 = "12zscqb218w88y9fd1jwfn4cr2sw35j998d0jlgd22bch020sy65";
   };
 
   buildInputs = with pythonPackages; [ setuptoolsTrial mock ];
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index a2f5ee0325b..fed88561cf9 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, pkgconfig
 , bzip2, curl, expat, libarchive, xz, zlib, libuv, rhash
+, majorVersion ? "3.10"
 # darwin attributes
 , ps
 , isBootstrap ? false
@@ -14,10 +15,23 @@ assert useQt4 -> withQt5 == false;
 
 with stdenv.lib;
 
+with (
+  {
+    "3.10" = {
+      minorVersion = "2";
+      sha256 = "80d0faad4ab56de07aa21a7fc692c88c4ce6156d42b0579c6962004a70a3218b";
+    };
+    "3.9" = {
+      minorVersion = "6";
+      sha256 = "7410851a783a41b521214ad987bb534a7e4a65e059651a2514e6ebfc8f46b218";
+    };
+
+  }.${majorVersion}
+    or (abort ''Unsupported configuration for cmake: majorVersion = "${majorVersion}";'')
+);
+
 let
   os = stdenv.lib.optionalString;
-  majorVersion = "3.9";
-  minorVersion = "6";
   version = "${majorVersion}.${minorVersion}";
 in
 
@@ -28,8 +42,8 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
-    # from https://cmake.org/files/v3.9/cmake-3.9.6-SHA-256.txt
-    sha256 = "7410851a783a41b521214ad987bb534a7e4a65e059651a2514e6ebfc8f46b218";
+    # from https://cmake.org/files/v3.10/cmake-3.10.2-SHA-256.txt
+    inherit sha256;
   };
 
   prePatch = optionalString (!useSharedLibraries) ''
diff --git a/pkgs/development/tools/build-managers/dub/default.nix b/pkgs/development/tools/build-managers/dub/default.nix
index 15e801c1dff..8af11f05738 100644
--- a/pkgs/development/tools/build-managers/dub/default.nix
+++ b/pkgs/development/tools/build-managers/dub/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchFromGitHub, curl, dmd, libevent, rsync }:
+{ stdenv, fetchFromGitHub, fetchpatch, curl, dmd, libevent, rsync }:
 
 let
 
   dubBuild = stdenv.mkDerivation rec {
     name = "dubBuild-${version}";
-    version = "1.6.0";
+    version = "1.7.1";
 
     enableParallelBuilding = true;
 
@@ -12,9 +12,17 @@ let
       owner = "dlang";
       repo = "dub";
       rev = "v${version}";
-      sha256 = "1xjr5pp263lbcd4harxy1ybh7q0kzj9iyy63ji6pn66fizrgm7zk";
+      sha256 = "09bcc9bq2z1rbm8sdip1l81y5p8q13r30k02lzifyasiplrnpvlv";
     };
 
+    patches = [
+      # TODO Remove with next release which contains https://github.com/dlang/dub/pull/1354
+      (fetchpatch {
+        url = "https://patch-diff.githubusercontent.com/raw/dlang/dub/pull/1354.patch";
+        sha256 = "01alky8a91qwjmlnfjbrn8kiivwr69f3j4c84cjlxrzfp1ph20ah";
+      })
+    ];
+
     postPatch = ''
       # Avoid that the version file is overwritten
       substituteInPlace build.sh \
@@ -59,6 +67,8 @@ let
     outputHash = builtins.hashString "sha256" inputString;
 
     src = dubBuild.src;
+    
+    patches = dubBuild.patches;
 
     postPatch = dubBuild.postPatch;
 
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index c7da0947607..bdf446d4d12 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.4.1";
+    name = "gradle-4.5";
     nativeVersion = "0.14";
 
     src = fetchurl {
       url = "http://services.gradle.org/distributions/${name}-bin.zip";
-      sha256 = "12b3d0cyj9wdk1m6pdi3500fzvgfks8x6wgm8hf0rhyzacc7vkz7";
+      sha256 = "1qxmb4mki2gjhfwmy7lwak283l86iq3nivw57a2gpw2g64xa9wh3";
     };
   };
 
diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix
index 05bf8e76db7..30531c980b0 100644
--- a/pkgs/development/tools/build-managers/leiningen/default.nix
+++ b/pkgs/development/tools/build-managers/leiningen/default.nix
@@ -3,18 +3,18 @@
 
 stdenv.mkDerivation rec {
   pname = "leiningen";
-  version = "2.7.1";
+  version = "2.8.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://raw.github.com/technomancy/leiningen/${version}/bin/lein-pkg";
-    sha256 = "0rmshl4xchf3blwvar4q9dpxm9xznn3yzas4vwxqiq3yhapgqkn0";
+    sha256 = "0wk4m7m66xxx7i3nis08mc8qna7acgcmpim562vdyyrpbxdhj24i";
   };
 
   jarsrc = fetchurl {
     # NOTE: This is actually a .jar, Github has issues
     url = "https://github.com/technomancy/leiningen/releases/download/${version}/${name}-standalone.zip";
-    sha256 = "0ivwb1qlxs1hyical0fjgavm9wfkw3f10sk67p5g2p5lpf4pxp1d";
+    sha256 = "0n3wkb0a9g25r1xq93lskay2lw210qymz2qakjnl5vr5zz3vnjgw";
   };
 
   JARNAME = "${name}-standalone.jar";
diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
index 46cee51e0e6..ab090e6dc12 100644
--- a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
+++ b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
@@ -44,6 +44,6 @@ buildGoPackage {
     homepage = https://buildkite.com/docs/agent;
     license = licenses.mit;
     maintainers = with maintainers; [ pawelpacana zimbatm ];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index cf4d5bcaa40..e7c2509ce77 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }:
 
 let
-  version = "10.3.0";
+  version = "10.4.0";
   # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
   docker_x86_64 = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-x86_64.tar.xz";
-    sha256 = "0nhxxx2wxnli5nfz8vxqc0mwdjzj836zx3zmywnfyy1k2zybjijv";
+    sha256 = "0fcddi1mwgj831abn628zcpwsah3mmvrbdi851pjf8vraynwr2xa";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
-    sha256 = "0jacimz4p9k5s9j510g3vn7gg8pybpa20j4cvz4pffrcwl1lgk4i";
+    sha256 = "1zlk3i9jzmsqz5r3kzg08z9hyhidw9dpv5ji46bnbjis8q3dlw54";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "0wjy5bbz6bw0na57vglcwzn17q980x6j24qkschqx49rjyk3fz2i";
+    sha256 = "0kp6h53d1q652i4wp94hydy1ixlgmqh92sjsc6pqicnfc7nvwgfq";
   };
 
   patches = [ ./fix-shell-path.patch ];
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 399fc62bd17..1586d636087 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jenkins-${version}";
-  version = "2.101";
+  version = "2.105";
 
   src = fetchurl {
     url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
-    sha256 = "0ragl8hhdlx2zpjzrx3xsvr5i0fvgshgbkqx0h48hgm73pf99227";
+    sha256 = "0q6xyjkqlrwjgf7rzmyy8m0w7lhqyavici76zzngg159xkyh5cfh";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/tools/database/pyrseas/default.nix b/pkgs/development/tools/database/pyrseas/default.nix
new file mode 100644
index 00000000000..20123a0600e
--- /dev/null
+++ b/pkgs/development/tools/database/pyrseas/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, pythonPackages, fetchFromGitHub }:
+
+let
+  pgdbconn = pythonPackages.buildPythonPackage rec {
+    pname = "pgdbconn";
+    version = "0.8.0";
+    src = fetchFromGitHub {
+      owner = "perseas";
+      repo = "pgdbconn";
+      rev = "26c1490e4f32e4b5b925e5b82014ad106ba5b057";
+      sha256 = "09r4idk5kmqi3yig7ip61r6js8blnmac5n4q32cdcbp1rcwzdn6z";
+    };
+    # The tests are impure (they try to access a PostgreSQL server)
+    doCheck = false;
+    propagatedBuildInputs = [
+      pythonPackages.psycopg2
+      pythonPackages.pytest
+    ];
+  };
+in
+
+pythonPackages.buildPythonApplication rec {
+  pname = "pyrseas";
+  version = "0.8.0";
+  src = fetchFromGitHub {
+    owner = "perseas";
+    repo = "Pyrseas";
+    rev = "2e9be763e61168cf20d28bd69010dc5875bd7b97";
+    sha256 = "1h9vahplqh0rzqjsdq64qqar6hj1bpbc6nl1pqwwgca56385br8r";
+  };
+  # The tests are impure (they try to access a PostgreSQL server)
+  doCheck = false;
+  propagatedBuildInputs = [
+    pythonPackages.psycopg2
+    pythonPackages.pytest
+    pythonPackages.pyyaml
+    pgdbconn
+  ];
+  meta = {
+    description = "A declarative language to describe PostgreSQL databases";
+    homepage = http://perseas.github.io/;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ pmeunier ];
+  };
+}
diff --git a/pkgs/development/tools/deis/default.nix b/pkgs/development/tools/deis/default.nix
index fe4ec06322f..91037e6dfaa 100644
--- a/pkgs/development/tools/deis/default.nix
+++ b/pkgs/development/tools/deis/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "deis-${version}";
-  version = "1.13.3";
+  version = "1.13.4";
   rev = "v${version}";
 
   goPackagePath = "github.com/deis/deis";
@@ -18,7 +18,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "deis";
     repo = "deis";
-    sha256 = "15q44jyjms8fdmly0z4sn4ymf1dx6cmdavgixjixdj2wbjw0yi2p";
+    sha256 = "0hndzvlgpfm83c4i1c88byv8j9clagswa79nny8wrw33dx90dym1";
   };
 
   preBuild = ''
diff --git a/pkgs/development/tools/dep/default.nix b/pkgs/development/tools/dep/default.nix
index e22be524f02..477c874af01 100644
--- a/pkgs/development/tools/dep/default.nix
+++ b/pkgs/development/tools/dep/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "dep-${version}";
-  version = "0.3.1";
+  version = "0.4.1";
   rev = "v${version}";
 
   goPackagePath = "github.com/golang/dep";
@@ -12,7 +12,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "golang";
     repo = "dep";
-    sha256 = "0dsiaqfrp7ihhx10qapkl6zm3dw3rwdgcr9rkvmq8zprcp7njz90";
+    sha256 = "0183xq5l4sinnclynv6xi85vmk69mqpy5wjfsgh8bxwziq3vkd7y";
   };
 
   buildFlagsArray = ("-ldflags=-s -w -X main.commitHash=${rev} -X main.version=${version}");
diff --git a/pkgs/development/tools/documentation/doxygen/default.nix b/pkgs/development/tools/documentation/doxygen/default.nix
index c803de9e024..05418aa39a8 100644
--- a/pkgs/development/tools/documentation/doxygen/default.nix
+++ b/pkgs/development/tools/documentation/doxygen/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
 
-  name = "doxygen-1.8.11";
+  name = "doxygen-1.8.14";
 
   src = fetchurl {
     url = "ftp://ftp.stack.nl/pub/users/dimitri/${name}.src.tar.gz";
-    sha256 = "0ja02pm3fpfhc5dkry00kq8mn141cqvdqqpmms373ncbwi38pl35";
+    sha256 = "d1757e02755ef6f56fd45f1f4398598b920381948d6fcfa58f5ca6aa56f59d4d";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/tools/dtools/default.nix b/pkgs/development/tools/dtools/default.nix
index b6774fe2416..daa25de9508 100644
--- a/pkgs/development/tools/dtools/default.nix
+++ b/pkgs/development/tools/dtools/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "dtools-${version}";
-  version = "2.078.0";
+  version = "2.078.1";
 
   srcs = [
     (fetchFromGitHub {
       owner = "dlang";
       repo = "dmd";
       rev = "v${version}";
-      sha256 = "1ia4swyq0xqppnpmcalh2yxywdk2gv3kvni2abx1mq6wwqgmwlcr";
+      sha256 = "0b9lphh4g3r9cyzv4wcfppv9j3w952vvwv615za23acgwav3mqg2";
       name = "dmd";
     })
     (fetchFromGitHub {
diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix
index fb91989775b..0df2decef2c 100644
--- a/pkgs/development/tools/electron/default.nix
+++ b/pkgs/development/tools/electron/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, libXScrnSaver, makeWrapper, fetchurl, unzip, atomEnv }:
 
 let
-  version = "1.7.9";
+  version = "1.7.11";
   name = "electron-${version}";
 
   throwSystem = throw "Unsupported system: ${stdenv.system}";
@@ -20,15 +20,15 @@ let
     src = {
       i686-linux = fetchurl {
         url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-ia32.zip";
-        sha256 = "0m87n7hqimg93z3m8pa1ggs69f3h5mjrsrrl7x80hxmp3w142krc";
+        sha256 = "0mxrayczs6fc2a53fzfbgs88l71wm7hadq9ir510kicakblmdbyx";
       };
       x86_64-linux = fetchurl {
         url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-x64.zip";
-        sha256 = "17ii0x6326mwjd0x5dj2693r67y0jra88hkqcpddcq08vf1knr2f";
+        sha256 = "0v22xhzbq9lcbc83laqs45pbx8gzv648qfkj01pxfsmv3lb4myrl";
       };
       armv7l-linux = fetchurl {
         url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-armv7l.zip";
-        sha256 = "17jkma50d6az8dbyrym8z2lsw2n0r6jhdlm8pb5c928bzgshryqm";
+        sha256 = "02n2y69zwzacigqp6f4vg47cmjzf8gvbbispmzkg3pnzk4qc9473";
       };
     }.${stdenv.system} or throwSystem;
 
@@ -56,7 +56,7 @@ let
 
     src = fetchurl {
       url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-darwin-x64.zip";
-      sha256 = "1s8kslp101xyaffb3rf8p5cw3p6zij2mn19fa68ykx4naykkwaly";
+      sha256 = "19kfb09ap780ayk7miqfr6gmba9rd10f9q9aphj35yk7cl22znbr";
     };
 
     buildInputs = [ unzip ];
diff --git a/pkgs/development/tools/fac/default.nix b/pkgs/development/tools/fac/default.nix
index 22b5ff4f086..c587505600c 100644
--- a/pkgs/development/tools/fac/default.nix
+++ b/pkgs/development/tools/fac/default.nix
@@ -1,8 +1,14 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, makeWrapper, git }:
+{ stdenv, buildGoPackage, fetchFromGitHub, fetchurl, makeWrapper, git }:
 
-buildGoPackage rec {
+let
+  # TODO: Remove this on next update, should be included
+  fac_1 = fetchurl {
+    url = https://raw.githubusercontent.com/mkchoi212/fac/0a500c2a2dba9017fe7c2a45f15c328755f561a6/doc/fac.1;
+    sha256 = "1fsyx9i20ryhpihdpvs2z7vccl13b9bnh5hcdxn7bvqjz78mbqhw";
+  };
+in buildGoPackage rec {
   name = "fac-${version}";
-  version = "1.0.1";
+  version = "1.0.4";
 
   goPackagePath = "github.com/mkchoi212/fac";
 
@@ -10,7 +16,7 @@ buildGoPackage rec {
     owner = "mkchoi212";
     repo = "fac";
     rev = "v${version}";
-    sha256 = "1j5kip3l3p9qlly03pih905sdz3ncvpj7135jpnfhckbk1s5x9dc";
+    sha256 = "0jhx80jbkxfxj95hmdpb9wwwya064xpfkaa218l1lwm3qwfbpk95";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -18,6 +24,8 @@ buildGoPackage rec {
   postInstall = ''
     wrapProgram $bin/bin/fac \
       --prefix PATH : ${git}/bin
+
+    install -D ${fac_1} $out/share/man/man1/fac.1
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/go-symbols/default.nix b/pkgs/development/tools/go-symbols/default.nix
new file mode 100644
index 00000000000..9a8b592b038
--- /dev/null
+++ b/pkgs/development/tools/go-symbols/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, buildGoPackage, fetchgit }:
+
+buildGoPackage rec {
+  name = "go-symbols-${version}";
+  version = "unstable-2017-02-06";
+  rev = "5a7f75904fb552189036c640d04cd6afef664836";
+
+  goPackagePath = "github.com/acroca/go-symbols";
+  goDeps = ./deps.nix;
+
+  src = fetchgit {
+    inherit rev;
+    url = "https://github.com/acroca/go-symbols";
+    sha256 = "0qh2jjhwwk48gi8yii0z031bah11anxfz81nwflsiww7n426a8bb";
+  };
+
+  meta = {
+    description = "A utility for extracting a JSON representation of the package symbols from a go source tree.";
+    homepage = https://github.com/acroca/go-symbols;
+    maintainers = with stdenv.lib.maintainers; [ vdemeester ];
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/tools/go-symbols/deps.nix b/pkgs/development/tools/go-symbols/deps.nix
new file mode 100644
index 00000000000..6a333b58bec
--- /dev/null
+++ b/pkgs/development/tools/go-symbols/deps.nix
@@ -0,0 +1,11 @@
+[
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/tools";
+      rev = "96b5a5404f303f074e6117d832a9873c439508f0";
+      sha256 = "1h6r9xyp1v3w2x8d108vzghn65l6ia2h895irypmrwymfcp30y42";
+    };
+  }
+]
diff --git a/pkgs/development/tools/gpp/default.nix b/pkgs/development/tools/gpp/default.nix
new file mode 100644
index 00000000000..461110b63d7
--- /dev/null
+++ b/pkgs/development/tools/gpp/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "gpp-${version}";
+  version = "2.25";
+
+  src = fetchFromGitHub {
+    owner = "logological";
+    repo = "gpp";
+    rev = "96c5dd8905384ea188f380f51d24cbd7fd58f642";
+    sha256 = "0bvhnx3yfhbfiqqhhz6k2a596ls5rval7ykbp3jl5b6062xj861b";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  installCheckPhase = "$out/bin/gpp --help";
+  doInstallCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "General-purpose preprocessor with customizable syntax";
+    homepage = "https://logological.org/gpp";
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ nmattia ];
+    platforms = with platforms; linux ++ darwin;
+  };
+}
diff --git a/pkgs/development/tools/haskell/intero-nix-shim/default.nix b/pkgs/development/tools/haskell/intero-nix-shim/default.nix
deleted file mode 100644
index 379d6b7e472..00000000000
--- a/pkgs/development/tools/haskell/intero-nix-shim/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ mkDerivation, base, cabal-install, directory, fetchFromGitHub
-, filepath, intero, optparse-applicative, posix-escape, split
-, stdenv, unix
-}:
-mkDerivation {
-  pname = "intero-nix-shim";
-  version = "0.1.2";
-  src = fetchFromGitHub {
-    owner = "michalrus";
-    repo = "intero-nix-shim";
-    rev = "0.1.2";
-    sha256 = "0p1h3w15bgvsbzi7f1n2dxxxz9yq7vmbxmww5igc5d3dm76skgzg";
-  };
-  isLibrary = false;
-  isExecutable = true;
-  executableHaskellDepends = [
-    base directory filepath optparse-applicative posix-escape split
-    unix
-  ];
-  postInstall = ''
-    mkdir -p $out/libexec
-    ln -s ${cabal-install}/bin/cabal  $out/libexec
-    ln -s ${intero       }/bin/intero $out/libexec
-  '';
-  homepage = https://github.com/michalrus/intero-nix-shim;
-  license = stdenv.lib.licenses.asl20;
-  broken = true; # https://hydra.nixos.org/build/66703340
-}
diff --git a/pkgs/development/tools/haskell/tinc/default.nix b/pkgs/development/tools/haskell/tinc/default.nix
deleted file mode 100644
index 5a69b887588..00000000000
--- a/pkgs/development/tools/haskell/tinc/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ mkDerivation, aeson, base, bytestring, Cabal, containers
-, directory, exceptions, filelock, filepath, gitrev, graph-wrapper
-, hpack, hspec, HUnit, language-dot, mockery, parsec, process
-, QuickCheck, safe, stdenv, temporary, time, transformers, unix
-, unix-compat, with-location, yaml, fetchFromGitHub
-, cabal2nix, cabal-install, makeWrapper
-}:
-mkDerivation {
-  pname = "tinc";
-  version = "20170624";
-  src = fetchFromGitHub {
-    owner = "sol";
-    repo = "tinc";
-    rev = "70881515693fd83d381fe045ae76d5257774f5e3";
-    sha256 = "0c6sx3vbcnq69dhqhpi01a4p4qss24rwxiz6jmw65rj73adhj4mw";
-  };
-  isLibrary = false;
-  isExecutable = true;
-  executableHaskellDepends = [
-    aeson base bytestring Cabal containers directory exceptions
-    filelock filepath gitrev graph-wrapper hpack language-dot parsec
-    process temporary time transformers unix-compat with-location yaml
-  ];
-  testHaskellDepends = [
-    aeson base bytestring Cabal containers directory exceptions
-    filelock filepath gitrev graph-wrapper hpack hspec HUnit
-    language-dot mockery parsec process QuickCheck safe temporary time
-    transformers unix unix-compat with-location yaml
-  ];
-  postInstall = ''
-    source ${makeWrapper}/nix-support/setup-hook
-    wrapProgram $out/bin/tinc \
-      --prefix PATH : '${cabal2nix}/bin' \
-      --prefix PATH : '${cabal-install}/bin'
-  '';
-  description = "A dependency manager for Haskell";
-  homepage = "https://github.com/sol/tinc#readme";
-  license = stdenv.lib.licenses.mit;
-  hydraPlatforms = [ "x86_64-linux" ];
-  maintainers = [ stdenv.lib.maintainers.robbinch ];
-  broken = true;
-}
diff --git a/pkgs/development/tools/hcloud/default.nix b/pkgs/development/tools/hcloud/default.nix
new file mode 100644
index 00000000000..e56502a4ad0
--- /dev/null
+++ b/pkgs/development/tools/hcloud/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "hcloud-${version}";
+  version = "1.3.0";
+  goPackagePath = "github.com/hetznercloud/cli";
+
+  src = fetchFromGitHub {
+    owner = "hetznercloud";
+    repo = "cli";
+    rev = "v${version}";
+    sha256 = "1216qz1kk38vkvfrznjwb65vsbhscqvvrsbp2i6pnf0i85p00pqm";
+  };
+
+  buildFlagsArray = [ "-ldflags=" "-X github.com/hetznercloud/cli.Version=${version}" ];
+
+  meta = {
+    description = "A command-line interface for Hetzner Cloud, a provider for cloud virtual private servers";
+    homepage = https://github.com/hetznercloud/cli;
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.zauberpony ];
+  };
+}
diff --git a/pkgs/development/tools/icestorm/default.nix b/pkgs/development/tools/icestorm/default.nix
index efd4265443b..8b3cd17a7b2 100644
--- a/pkgs/development/tools/icestorm/default.nix
+++ b/pkgs/development/tools/icestorm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "icestorm-${version}";
-  version = "2018.01.10";
+  version = "2018.02.04";
 
   src = fetchFromGitHub {
     owner  = "cliffordwolf";
     repo   = "icestorm";
-    rev    = "bca8c3c88f5707213a6cc55ec7b06b576ab98809";
-    sha256 = "00g1xd70dlgvyfyk5ivj71dpk0vzx3xka60f6x3hm4frl9ahyhj7";
+    rev    = "722790ad3cdb497e1b13cd1b4368d8380371eb37";
+    sha256 = "0l04c6dshhhdcgqg1bdlw215wbn52fsg2fm2cvavhvf64c18lwd1";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/tools/librarian-puppet-go/default.nix b/pkgs/development/tools/librarian-puppet-go/default.nix
new file mode 100644
index 00000000000..1e2a421a670
--- /dev/null
+++ b/pkgs/development/tools/librarian-puppet-go/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, fetchFromGitHub, buildGoPackage }:
+
+buildGoPackage rec {
+  name = "librarian-puppet-go-${version}";
+  version = "0.3.9";
+
+  goPackagePath = "github.com/tmtk75/librarian-puppet-go";
+
+  src = fetchFromGitHub {
+    owner = "tmtk75";
+    repo = "librarian-puppet-go";
+    rev = "v${version}";
+    sha256 = "19x2hz3b8xkhy2nkyjg6s4qvs55mh84fvjwp157a86dmxwkdf45y";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with lib; {
+    inherit (src.meta) homepage;
+    description = "librarian-puppet implementation in go.";
+    license = licenses.unfree; # still unspecified https://github.com/tmtk75/librarian-puppet-go/issues/5
+    maintainers = with maintainers; [ womfoo ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/tools/librarian-puppet-go/deps.nix b/pkgs/development/tools/librarian-puppet-go/deps.nix
new file mode 100644
index 00000000000..e5729707d8a
--- /dev/null
+++ b/pkgs/development/tools/librarian-puppet-go/deps.nix
@@ -0,0 +1,12 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/jawher/mow.cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jawher/mow.cli";
+      rev = "3ff64ca21987cfa628bd8d1865162b7ccd6107d7";
+      sha256 = "0vws79q4x3c9kjdsin3vw5200sinkxag3bfa0n9k69svsb222bij";
+    };
+  }
+]
diff --git a/pkgs/development/tools/misc/astyle/default.nix b/pkgs/development/tools/misc/astyle/default.nix
index 9aea3510432..e66d92e34d6 100644
--- a/pkgs/development/tools/misc/astyle/default.nix
+++ b/pkgs/development/tools/misc/astyle/default.nix
@@ -2,14 +2,14 @@
 
 let
   name = "astyle";
-  version = "2.05.1";
+  version = "3.1";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}_${version}_linux.tar.gz";
-    sha256 = "1b0f4wm1qmgcswmixv9mwbp86hbdqxk754hml8cjv5vajvqwdpzv";
+    sha256 = "1ms54wcs7hg1bsywqwf2lhdfizgbk7qxc9ghasxk8i99jvwlrk6b";
   };
 
   sourceRoot = if stdenv.cc.isClang
diff --git a/pkgs/development/tools/misc/autoconf-archive/default.nix b/pkgs/development/tools/misc/autoconf-archive/default.nix
index 1b19a1caff6..0225a3f8141 100644
--- a/pkgs/development/tools/misc/autoconf-archive/default.nix
+++ b/pkgs/development/tools/misc/autoconf-archive/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "autoconf-archive-${version}";
-  version = "2017.03.21";
+  version = "2017.09.28";
 
   src = fetchurl {
     url = "mirror://gnu/autoconf-archive/autoconf-archive-${version}.tar.xz";
-    sha256 = "0rfpapadka2023qhy8294ca5awxpb8d4904js6kv7piby5ax8siq";
+    sha256 = "00gsh9hkrgg291my98plkrwlcpxkfrpq64pglf18kciqbf2bb7sw";
   };
 
   buildInputs = [ xz ];
diff --git a/pkgs/development/tools/misc/automake/automake-1.15.x.nix b/pkgs/development/tools/misc/automake/automake-1.15.x.nix
index d6399e128a3..507df5def0c 100644
--- a/pkgs/development/tools/misc/automake/automake-1.15.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.15.x.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1bzd9g32dfm4rsbw93ld9x7b5nc1y6i4m6zp032qf1i28a8s6sxg";
   };
 
-  buildInputs = [ perl autoconf ];
+  nativeBuildInputs = [ autoconf perl ];
+  buildInputs = [ autoconf ];
 
   setupHook = ./setup-hook.sh;
 
diff --git a/pkgs/development/tools/misc/bossa/default.nix b/pkgs/development/tools/misc/bossa/default.nix
index 8035388c5f0..bb81a461188 100644
--- a/pkgs/development/tools/misc/bossa/default.nix
+++ b/pkgs/development/tools/misc/bossa/default.nix
@@ -14,12 +14,12 @@ let
 
 in
 stdenv.mkDerivation rec {
-  name = "bossa-2014-08-18";
+  name = "bossa-1.8";
 
   src = fetchgit {
     url = https://github.com/shumatech/BOSSA;
-    rev = "0f0a41cb1c3a65e909c5c744d8ae664e896a08ac"; /* arduino branch */
-    sha256 = "0xg79kli1ypw9zyl90mm6vfk909jinmk3lnl8sim6v2yn8shs9cn";
+    rev = "3be622ca0aa6214a2fc51c1ec682c4a58a423d62";
+    sha256 = "19ik86qbffcb04cgmi4mnascbkck4ynfj87ha65qdk6fmp5q35vm";
   };
 
   patches = [ ./bossa-no-applet-build.patch ];
diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix
index 88556d7395d..ff4ad83b642 100644
--- a/pkgs/development/tools/misc/ccache/default.nix
+++ b/pkgs/development/tools/misc/ccache/default.nix
@@ -2,10 +2,10 @@
 
 let ccache = stdenv.mkDerivation rec {
   name = "ccache-${version}";
-  version = "3.3.4";
+  version = "3.3.5";
 
   src = fetchurl {
-    sha256 = "0ks0vk408mdppfbk8v38p46fqx3p30r9a9cwiia43373i7rmpw94";
+    sha256 = "1iih5d171rq29366c1z90dri2h8173yyc8rm2740wxiqx6k7c18r";
     url = "mirror://samba/ccache/${name}.tar.xz";
   };
 
diff --git a/pkgs/development/tools/misc/ccache/skip-fs-dependent-test.patch b/pkgs/development/tools/misc/ccache/skip-fs-dependent-test.patch
index ecd3c4c9a74..3bc3a95e420 100644
--- a/pkgs/development/tools/misc/ccache/skip-fs-dependent-test.patch
+++ b/pkgs/development/tools/misc/ccache/skip-fs-dependent-test.patch
@@ -1,9 +1,9 @@
---- ccache-3.3.4.org/test.sh	2017-02-17 21:28:53.000000000 +0000
-+++ ccache-3.3.4/test.sh	2017-07-01 18:38:00.523403023 +0100
-@@ -2631,23 +2631,23 @@
+--- a/test.sh
++++ b/test.sh
+@@ -2669,23 +2669,6 @@ SUITE_cleanup() {
+
      $CCACHE -F 0 -M 256K >/dev/null
-     $CCACHE -c >/dev/null
-     # floor(0.8 * 4) = 3
+     CCACHE_LOGFILE=/tmp/foo $CCACHE -c >/dev/null
 -    expect_file_count 3 '*.o' $CCACHE_DIR
 -    expect_file_count 3 '*.d' $CCACHE_DIR
 -    expect_file_count 3 '*.stderr' $CCACHE_DIR
@@ -21,23 +21,6 @@
 -            test_failed "File $file not removed when it should"
 -        fi
 -    done
-+    #expect_file_count 3 '*.o' $CCACHE_DIR
-+    #expect_file_count 3 '*.d' $CCACHE_DIR
-+    #expect_file_count 3 '*.stderr' $CCACHE_DIR
-+    #expect_stat 'files in cache' 9
-+    #expect_stat 'cleanups performed' 1
-+    #for i in 3 4 5; do
-+    #    file=$CCACHE_DIR/a/result$i-4017.o
-+    #    if [ ! -f $file ]; then
-+    #        test_failed "File $file removed when it shouldn't"
-+    #    fi
-+    #done
-+    #for i in 0 1 2 6 7 8 9; do
-+    #    file=$CCACHE_DIR/a/result$i-4017.o
-+    #    if [ -f $file ]; then
-+    #        test_failed "File $file not removed when it should"
-+    #    fi
-+    #done
- 
+
      # -------------------------------------------------------------------------
-     TEST "Automatic cache cleanup"
+     TEST "Automatic cache cleanup, limit_multiple 0.9"
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index d1148ad48d8..e068b908caf 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -18,7 +18,7 @@
 
 let
   basename = "gdb-${version}";
-  version = "8.0.1";
+  version = "8.1";
 in
 
 assert targetPlatform.isHurd -> mig != null && hurd != null;
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/gdb/${basename}.tar.xz";
-    sha256 = "1qwmcbaxf0jc7yjl0fimgcfj2yqcrl6h7azgs1d838kbwf9mzg9x";
+    sha256 = "0d2bpqk58fqlx21rbnk8mbcjlggzc9kb5sjirrfrrrjq70ka0qdg";
   };
 
   patches = [ ./debug-info-from-env.patch ];
diff --git a/pkgs/development/tools/misc/gdbgui/default.nix b/pkgs/development/tools/misc/gdbgui/default.nix
index 3562af7a6b8..6d5bfef2f80 100644
--- a/pkgs/development/tools/misc/gdbgui/default.nix
+++ b/pkgs/development/tools/misc/gdbgui/default.nix
@@ -3,42 +3,41 @@ let
   deps = import ./requirements.nix { inherit pkgs; };
 in
 python27Packages.buildPythonApplication rec {
-    name = "${pname}-${version}";
-    pname = "gdbgui";
-    version = "0.9.1.0";
-
-    buildInputs = [ gdb ];
-    propagatedBuildInputs = builtins.attrValues deps.packages;
-
-    src = python27Packages.fetchPypi {
-      inherit pname version;
-      sha256 = "0ybgkk4h9zwhbx5d0j0fmfzxxgg8f6apm8v7djavm0ldpr6f5z26";
-    };
-
-    postPatch = ''
-      echo ${version} > gdbgui/VERSION.txt
-    '';
-
-    postInstall = ''
-      wrapProgram $out/bin/gdbgui \
-                  --prefix PATH : ${stdenv.lib.makeBinPath [ gdb ]}
-    '';
-
-    # make /etc/protocols accessible to fix socket.getprotobyname('tcp') in sandbox
-    preCheck = stdenv.lib.optionalString stdenv.isLinux ''
-      export NIX_REDIRECTS=/etc/protocols=${pkgs.iana-etc}/etc/protocols \
-             LD_PRELOAD=${pkgs.libredirect}/lib/libredirect.so
-    '';
-
-    postCheck = stdenv.lib.optionalString stdenv.isLinux ''
-      unset NIX_REDIRECTS LD_PRELOAD
-    '';
-
-    meta = with stdenv.lib; {
-      description = "A browser-based frontend for GDB";
-      license = licenses.gpl3;
-      platforms = platforms.unix;
-      maintainers = with maintainers; [ yrashk ];
-    };
-
-  }
+  name = "${pname}-${version}";
+  pname = "gdbgui";
+  version = "0.11.0.0";
+
+  buildInputs = [ gdb ];
+  propagatedBuildInputs = builtins.attrValues deps.packages;
+
+  src = python27Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "09bfrln16ai5azpjan1q24xz700sxsaa3ndynq8c8qdan82bfi1g";
+  };
+
+  postPatch = ''
+    echo ${version} > gdbgui/VERSION.txt
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/gdbgui \
+      --prefix PATH : ${stdenv.lib.makeBinPath [ gdb ]}
+  '';
+
+  # make /etc/protocols accessible to fix socket.getprotobyname('tcp') in sandbox
+  preCheck = stdenv.lib.optionalString stdenv.isLinux ''
+    export NIX_REDIRECTS=/etc/protocols=${pkgs.iana-etc}/etc/protocols \
+      LD_PRELOAD=${pkgs.libredirect}/lib/libredirect.so
+  '';
+
+  postCheck = stdenv.lib.optionalString stdenv.isLinux ''
+    unset NIX_REDIRECTS LD_PRELOAD
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A browser-based frontend for GDB";
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ yrashk ];
+  };
+}
diff --git a/pkgs/development/tools/misc/gdbgui/requirements.nix b/pkgs/development/tools/misc/gdbgui/requirements.nix
index d3c7f31eaeb..13978645c29 100644
--- a/pkgs/development/tools/misc/gdbgui/requirements.nix
+++ b/pkgs/development/tools/misc/gdbgui/requirements.nix
@@ -113,13 +113,12 @@ let
 
 
     "Flask-SocketIO" = python.mkDerivation {
-      name = "Flask-SocketIO-2.9.2";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/e7/e0/c50a1b47498897b228764667cd006ca7d45374b79a8e5e2fa3e03ba4717c/Flask-SocketIO-2.9.2.tar.gz"; sha256 = "0fb686f9d85f4f34dc6609f62fa96fe15176a6ea7e6179149d319fabc54c543b"; };
+      name = "Flask-SocketIO-2.9.3";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/a0/ac/4024b73e071d5a000a998d6f26ba0a090011d5abdc7aa41f2774173c3276/Flask-SocketIO-2.9.3.tar.gz"; sha256 = "df23f790db8529c543bd0b54165215c342cf6955a4a1f605650e759197a46d59"; };
       doCheck = commonDoCheck;
       buildInputs = commonBuildInputs;
       propagatedBuildInputs = [
       self."Flask"
-      self."python-engineio"
       self."python-socketio"
     ];
       meta = with pkgs.stdenv.lib; {
@@ -179,15 +178,15 @@ let
 
 
     "Werkzeug" = python.mkDerivation {
-      name = "Werkzeug-0.12.2";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/56/41/c095a77eb2dd69bf278dd664a97d3416af04e9ba1a00b8c138f772741d31/Werkzeug-0.12.2.tar.gz"; sha256 = "903a7b87b74635244548b30d30db4c8947fe64c5198f58899ddcd3a13c23bb26"; };
+      name = "Werkzeug-0.14.1";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/9f/08/a3bb1c045ec602dc680906fc0261c267bed6b3bb4609430aff92c3888ec8/Werkzeug-0.14.1.tar.gz"; sha256 = "c3fd7a7d41976d9f44db327260e263132466836cef6f91512889ed60ad26557c"; };
       doCheck = commonDoCheck;
       buildInputs = commonBuildInputs;
       propagatedBuildInputs = [ ];
       meta = with pkgs.stdenv.lib; {
-        homepage = "http://werkzeug.pocoo.org/";
+        homepage = "https://www.palletsprojects.org/p/werkzeug/";
         license = licenses.bsdOriginal;
-        description = "The Swiss Army knife of Python web development";
+        description = "The comprehensive WSGI web application library.";
       };
     };
 
@@ -208,56 +207,6 @@ let
 
 
 
-    "enum-compat" = python.mkDerivation {
-      name = "enum-compat-0.0.2";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/95/6e/26bdcba28b66126f66cf3e4cd03bcd63f7ae330d29ee68b1f6b623550bfa/enum-compat-0.0.2.tar.gz"; sha256 = "939ceff18186a5762ae4db9fa7bfe017edbd03b66526b798dd8245394c8a4192"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [
-      self."enum34"
-    ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "https://github.com/jstasiak/enum-compat";
-        license = licenses.mit;
-        description = "enum/enum34 compatibility package";
-      };
-    };
-
-
-
-    "enum34" = python.mkDerivation {
-      name = "enum34-1.1.6";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz"; sha256 = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [ ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "https://bitbucket.org/stoneleaf/enum34";
-        license = licenses.bsdOriginal;
-        description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4";
-      };
-    };
-
-
-
-    "eventlet" = python.mkDerivation {
-      name = "eventlet-0.21.0";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/cb/ec/eae487c106a7e38f86ac4cadafb3eec77d29996f64ca0c7015067538069b/eventlet-0.21.0.tar.gz"; sha256 = "08faffab88c1b08bd53ea28bf084a572c89f7e7648bd9d71e6116ac17a51a15d"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [
-      self."enum-compat"
-      self."greenlet"
-    ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "http://eventlet.net";
-        license = licenses.mit;
-        description = "Highly concurrent networking library";
-      };
-    };
-
-
-
     "gevent" = python.mkDerivation {
       name = "gevent-1.2.2";
       src = pkgs.fetchurl { url = "https://pypi.python.org/packages/1b/92/b111f76e54d2be11375b47b213b56687214f258fd9dae703546d30b837be/gevent-1.2.2.tar.gz"; sha256 = "4791c8ae9c57d6f153354736e1ccab1e2baf6c8d9ae5a77a9ac90f41e2966b2d"; };
@@ -306,8 +255,8 @@ let
 
 
     "pygdbmi" = python.mkDerivation {
-      name = "pygdbmi-0.7.4.4";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/bb/1c/8c8cbd0bb5cf513a905e3ca461cfad578e708a74417182f2a00943136f83/pygdbmi-0.7.4.4.tar.gz"; sha256 = "34cd00925ca98aed87decb6a0451fa094cf31386dc457b47a62bcbf8d905a3d3"; };
+      name = "pygdbmi-0.8.2.0";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/4e/34/a8c86d85e0d3d8df2c289657a55c19408dbdbf0b1468859e7f1a745ae8ff/pygdbmi-0.8.2.0.tar.gz"; sha256 = "47cece65808ca42edf6966ac48e2aedca7ae1c675c4d2f0d001c7f3a7fa245fe"; };
       doCheck = commonDoCheck;
       buildInputs = commonBuildInputs;
       propagatedBuildInputs = [ ];
@@ -320,26 +269,9 @@ let
 
 
 
-    "pypugjs" = python.mkDerivation {
-      name = "pypugjs-4.2.2";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/21/bb/d541110bd5a5c1ecd9dab2778dc9a39ca5a5e9962845e9d3e598962ee3ca/pypugjs-4.2.2.tar.gz"; sha256 = "c99a72a78766d9462d94379a6b489f9864ecdeeeeaf8d0f34b2ce04963f6ec8c"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [
-      self."six"
-    ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "http://github.com/matannoam/pypugjs";
-        license = licenses.mit;
-        description = "PugJS syntax template adapter for Django, Jinja2, Mako and Tornado templates - copy of PyJade with the name changed";
-      };
-    };
-
-
-
     "python-engineio" = python.mkDerivation {
-      name = "python-engineio-2.0.1";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/ae/61/199d5693cb077d12fb82baa9505215e0654e50e3cd4d5f3331029312b55f/python-engineio-2.0.1.tar.gz"; sha256 = "266fca0c4ed4576c873458ef06fdc7ae20942210f5e9c5f9bd039debcc672c30"; };
+      name = "python-engineio-2.0.2";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/e5/91/f6fd80298e68b4ca22a1a9cc3091116e2fef22fd8fb017ad9e5c6ec6ddcc/python-engineio-2.0.2.tar.gz"; sha256 = "46c710a72c3b2a8511b0d7963c46e200010f8ea3eb0721ce15603d0f23e993c4"; };
       doCheck = commonDoCheck;
       buildInputs = commonBuildInputs;
       propagatedBuildInputs = [
@@ -355,8 +287,8 @@ let
 
 
     "python-socketio" = python.mkDerivation {
-      name = "python-socketio-1.8.3";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/39/23/b0955fe05bed6d6621754d3b5043e5478cf57646e1e4c1cf55a6fc3f2acb/python-socketio-1.8.3.tar.gz"; sha256 = "822433bcda86924367bccfc64083bae60bd64c89c8fc07f79530458ce5a6dcea"; };
+      name = "python-socketio-1.8.4";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/58/a9/52af6a7ad0805977afc838ed394f8d26d078ef61e8c1bdd632801c58ef3a/python-socketio-1.8.4.tar.gz"; sha256 = "13807ce17e85371d15b31295a43b1fac1c0dba1eb5fc233353a3efd53aa122cc"; };
       doCheck = commonDoCheck;
       buildInputs = commonBuildInputs;
       propagatedBuildInputs = [
diff --git a/pkgs/development/tools/misc/libtool/libtool2.nix b/pkgs/development/tools/misc/libtool/libtool2.nix
index bf134c459d9..85821ee2089 100644
--- a/pkgs/development/tools/misc/libtool/libtool2.nix
+++ b/pkgs/development/tools/misc/libtool/libtool2.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "lib" ];
 
-  nativeBuildInputs = [ perl help2man ];
+  nativeBuildInputs = [ perl help2man m4 ];
   propagatedBuildInputs = [ m4 ];
 
   # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
diff --git a/pkgs/development/tools/misc/loccount/default.nix b/pkgs/development/tools/misc/loccount/default.nix
index ad4e5d112d1..9205f6caf0d 100644
--- a/pkgs/development/tools/misc/loccount/default.nix
+++ b/pkgs/development/tools/misc/loccount/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, buildGoPackage, fetchFromGitLab }:
 buildGoPackage rec {
   name = "loccount-${version}";
-  version = "1.1";
+  version = "1.2";
 
   goPackagePath = "gitlab.com/esr/loccount";
   excludedPackages = "tests";
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "esr";
     repo = "loccount";
     rev = version;
-    sha256 = "1wx31hraxics8x8w42jy5b10wdx1368zp2p6gplcfmpjssf9pacr";
+    sha256 = "18z7ai7wy2k9yd3w65d37apfqs3h9bc2c15y7v1bydppi44zfsdk";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/misc/lsof/default.nix b/pkgs/development/tools/misc/lsof/default.nix
index 76c83e2dbeb..aa6bd003ed3 100644
--- a/pkgs/development/tools/misc/lsof/default.nix
+++ b/pkgs/development/tools/misc/lsof/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses }:
+{ stdenv, fetchurl, buildPackages, ncurses }:
 
 let dialect = with stdenv.lib; last (splitString "-" stdenv.system); in
 
@@ -6,6 +6,7 @@ stdenv.mkDerivation rec {
   name = "lsof-${version}";
   version = "4.89";
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
   buildInputs = [ ncurses ];
 
   src = fetchurl {
@@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
 
   # Stop build scripts from searching global include paths
   LSOF_INCLUDE = "${stdenv.cc.libc}/include";
-  configurePhase = "./Configure -n ${dialect}";
+  configurePhase = "LINUX_CONF_CC=$CC_FOR_BUILD LSOF_CC=$CC LSOF_AR=\"$AR cr\" LSOF_RANLIB=$RANLIB ./Configure -n ${dialect}";
   preBuild = ''
     sed -i Makefile -e 's/^CFGF=/&	-DHASIPv6=1/;' -e 's/-lcurses/-lncurses/'
     for filepath in $(find dialects/${dialect} -type f); do
diff --git a/pkgs/development/tools/misc/lttng-ust/default.nix b/pkgs/development/tools/misc/lttng-ust/default.nix
index 827ddedaee3..bfdebec154a 100644
--- a/pkgs/development/tools/misc/lttng-ust/default.nix
+++ b/pkgs/development/tools/misc/lttng-ust/default.nix
@@ -20,11 +20,13 @@ stdenv.mkDerivation rec {
     sha256 = "1avx4p71g9m3zvynhhhysxnpkqyhhlv42xiv9502bvp3nwfkgnqs";
   };
 
-  buildInputs = [ liburcu python ];
+  buildInputs = [ python ];
 
   preConfigure = ''
     patchShebangs .
   '';
+  
+  propagatedBuildInputs = [ liburcu ];
 
   meta = with stdenv.lib; {
     description = "LTTng Userspace Tracer libraries";
diff --git a/pkgs/development/tools/misc/patchelf/unstable.nix b/pkgs/development/tools/misc/patchelf/unstable.nix
index cde8eae0f7f..62647879865 100644
--- a/pkgs/development/tools/misc/patchelf/unstable.nix
+++ b/pkgs/development/tools/misc/patchelf/unstable.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "patchelf-0.10-pre-20160920";
+  name = "patchelf-0.10-pre-20180108";
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "patchelf";
-    rev = "327d80443672c397970738f9e216a7e86cbf3ad7";
-    sha256 = "0nghzywda4jrj70gvn4dnrzasafgdp0basj04wfir1smvsi047zr";
+    rev = "48452cf6b4ccba1c1f47a09f4284a253634ab7d1";
+    sha256 = "1f1s8q3as3nrhcc1a8qc2z7imm644jfz44msn9sfv4mdynp2m2yb";
   };
 
   setupHook = [ ./setup-hook.sh ];
diff --git a/pkgs/development/tools/misc/texinfo/5.2.nix b/pkgs/development/tools/misc/texinfo/5.2.nix
index 571af764fcf..0feb4b943df 100644
--- a/pkgs/development/tools/misc/texinfo/5.2.nix
+++ b/pkgs/development/tools/misc/texinfo/5.2.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses, perl, xz, procps, interactive ? false }:
+{ stdenv, buildPackages, fetchurl, ncurses, perl, xz, procps, interactive ? false }:
 
 with stdenv.lib;
 
@@ -10,10 +10,17 @@ stdenv.mkDerivation rec {
     sha256 = "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal";
   };
 
+  # We need a native compiler to build perl XS extensions
+  # when cross-compiling.
+  depsBuildBuild = [ buildPackages.stdenv.cc perl ];
+
   buildInputs = [ perl xz.bin ]
     ++ optional interactive ncurses
     ++ optional doCheck procps; # for tests
 
+  configureFlags = [ "PERL=${buildPackages.perl}/bin/perl" ]
+    ++ stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk";
+
   preInstall = ''
     installFlags="TEXMF=$out/texmf-dist";
     installTargets="install install-tex";
diff --git a/pkgs/development/tools/misc/texinfo/6.5.nix b/pkgs/development/tools/misc/texinfo/6.5.nix
index 4691df6917b..afa7e9a0a20 100644
--- a/pkgs/development/tools/misc/texinfo/6.5.nix
+++ b/pkgs/development/tools/misc/texinfo/6.5.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses, perl, xz, libiconv, gawk, procps, interactive ? false }:
+{ stdenv, buildPackages, fetchurl, ncurses, perl, xz, libiconv, gawk, procps, interactive ? false }:
 
 with stdenv.lib;
 
@@ -10,12 +10,17 @@ stdenv.mkDerivation rec {
     sha256 = "0qjzvbvnv9003xdrcpi3jp7y68j4hq2ciw9frh2hghh698zlnxvp";
   };
 
-  buildInputs = [ perl xz ]
+  # We need a native compiler to build perl XS extensions
+  # when cross-compiling.
+  depsBuildBuild = [ buildPackages.stdenv.cc perl ];
+
+  buildInputs = [ xz ]
     ++ optionals stdenv.isSunOS [ libiconv gawk ]
     ++ optional interactive ncurses
     ++ optional doCheck procps; # for tests
 
-  configureFlags = stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk";
+  configureFlags = [ "PERL=${buildPackages.perl}/bin/perl" ]
+    ++ stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk";
 
   preInstall = ''
     installFlags="TEXMF=$out/texmf-dist";
diff --git a/pkgs/development/tools/misc/uhd/default.nix b/pkgs/development/tools/misc/uhd/default.nix
index 8212eccc6d1..78195e994c9 100644
--- a/pkgs/development/tools/misc/uhd/default.nix
+++ b/pkgs/development/tools/misc/uhd/default.nix
@@ -7,18 +7,29 @@
 #   SUBSYSTEMS=="usb", ATTRS{idVendor}=="fffe", ATTRS{idProduct}=="0002", MODE:="0666"
 #   SUBSYSTEMS=="usb", ATTRS{idVendor}=="2500", ATTRS{idProduct}=="0002", MODE:="0666"
 
-stdenv.mkDerivation rec {
-  name = "uhd-${version}";
-  version = "3.10.2.0";
+let
+  uhdVer = "003_010_003_000";
+  ImgVer = stdenv.lib.replaceStrings ["_"] ["."] uhdVer;
 
   # UHD seems to use three different version number styles: x.y.z, xxx_yyy_zzz
   # and xxx.yyy.zzz. Hrmpf...
+  version = "3.10.3.0";
+
+  # Firmware images are downloaded (pre-built) from:
+  # http://files.ettus.com/binaries/images/
+  uhdImagesSrc = fetchurl {
+    url = "http://files.ettus.com/binaries/images/uhd-images_${ImgVer}-release.tar.gz";
+    sha256 = "198awvw6zsh19ydgx5qry5yc6yahdval9wjrsqbyj51pnr6s5qvy";
+  };
+
+in stdenv.mkDerivation {
+  name = "uhd-${version}";
 
   src = fetchFromGitHub {
     owner = "EttusResearch";
     repo = "uhd";
-    rev = "release_003_010_002_000";
-    sha256 = "0g6f4amw7h0vr6faa1nc1zs3bc645binza0zqqx5cwgfxybv8cfy";
+    rev = "release_${uhdVer}";
+    sha256 = "1aj8qizbyz4shwawj3qlhl6pyyda59hhgm9cwrj7s5kfdi4vdlc3";
   };
 
   enableParallelBuilding = true;
@@ -31,13 +42,6 @@ stdenv.mkDerivation rec {
   # Build only the host software
   preConfigure = "cd host";
 
-  # Firmware images are downloaded (pre-built)
-  uhdImagesName = "uhd-images_003.007.003-release";
-  uhdImagesSrc = fetchurl {
-    url = "http://files.ettus.com/binaries/maint_images/archive/${uhdImagesName}.tar.gz";
-    sha256 = "1pv5c5902041494z0jfw623ca29pvylrw5klybbhklvn5wwlr6cv";
-  };
-
   postPhases = [ "installFirmware" ];
 
   installFirmware = ''
diff --git a/pkgs/development/tools/mypy/default.nix b/pkgs/development/tools/mypy/default.nix
index 6dc57afb51e..f06f9c6828c 100644
--- a/pkgs/development/tools/mypy/default.nix
+++ b/pkgs/development/tools/mypy/default.nix
@@ -1,19 +1,18 @@
-{ stdenv, fetchPypi, buildPythonApplication, lxml, typed-ast }:
+{ stdenv, fetchPypi, buildPythonApplication, lxml, typed-ast, psutil }:
 
 buildPythonApplication rec {
-  name = "${pname}-${version}";
   pname = "mypy";
-  version = "0.540";
+  version = "0.560";
 
   # Tests not included in pip package.
   doCheck = false;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5d82f51e228a88e5de6ac1d6699dd09e250ce7de217a5ff1256e317266e738ec";
+    sha256 = "1jja0xlwqajxzab8sabiycax8060zikg89dnl9a7lkqcrwprl35x";
   };
 
-  propagatedBuildInputs = [ lxml typed-ast ];
+  propagatedBuildInputs = [ lxml typed-ast psutil ];
 
   meta = with stdenv.lib; {
     description = "Optional static typing for Python";
diff --git a/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix b/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
index 9f318afc67d..84365889638 100644
--- a/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
+++ b/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "http://pkgs.fedoraproject.org/repo/pkgs/ocaml-omake/${pname}-${version}.tar.gz/fe39a476ef4e33b7ba2ca77a6bcaded2/${pname}-${version}.tar.gz";
+    url = "http://src.fedoraproject.org/repo/pkgs/ocaml-omake/${pname}-${version}.tar.gz/fe39a476ef4e33b7ba2ca77a6bcaded2/${pname}-${version}.tar.gz";
     sha256 = "1sas02pbj56m7wi5vf3vqrrpr4ynxymw2a8ybvfj2dkjf7q9ii13";
   };
   patchFlags = "-p0";
diff --git a/pkgs/development/tools/packer/default.nix b/pkgs/development/tools/packer/default.nix
index f8dc96c2394..d97d67c9851 100644
--- a/pkgs/development/tools/packer/default.nix
+++ b/pkgs/development/tools/packer/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 buildGoPackage rec {
   name = "packer-${version}";
-  version = "1.1.0";
+  version = "1.1.3";
 
   goPackagePath = "github.com/hashicorp/packer";
 
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "hashicorp";
     repo = "packer";
     rev = "v${version}";
-    sha256 = "09hwq6dxyzhpl97akwbb02bjrisz9rf296avg5zj2p5qdsf4y777";
+    sha256 = "0bfjv4sqci10jzy11qg6q1xyik36v98vd6ck91sarawvgbaprsp2";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/parsing/flex/default.nix b/pkgs/development/tools/parsing/flex/default.nix
index 4ea11a622ea..17323a06cc1 100644
--- a/pkgs/development/tools/parsing/flex/default.nix
+++ b/pkgs/development/tools/parsing/flex/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, bison, m4
+{ stdenv, buildPackages, fetchurl, bison, m4
 , fetchpatch, autoreconfHook, help2man
 }:
 
@@ -19,28 +19,27 @@ stdenv.mkDerivation rec {
         + "/tools/flex/patches/200-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch";
     sha256 = "1aarhcmz7mfrgh15pkj6f7ikxa2m0mllw1i1vscsf1kw5d05lw6f";
   })];
-  nativeBuildInputs = [ autoreconfHook help2man ];
+  postPatch = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    substituteInPlace Makefile.in --replace "tests" " "
 
-  buildInputs = [ bison ];
+    substituteInPlace doc/Makefile.am --replace 'flex.1: $(top_srcdir)/configure.ac' 'flex.1: '
+  '';
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+  nativeBuildInputs = [ autoreconfHook help2man ];
+  buildInputs = [ bison ];
   propagatedBuildInputs = [ m4 ];
 
+  preConfigure = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    export ac_cv_func_malloc_0_nonnull=yes
+    export ac_cv_func_realloc_0_nonnull=yes
+  '';
+
   postConfigure = stdenv.lib.optionalString (stdenv.isDarwin || stdenv.isCygwin) ''
     sed -i Makefile -e 's/-no-undefined//;'
   '';
 
-  crossAttrs = {
-
-    # disable tests which can't run on build machine
-    postPatch = ''
-      substituteInPlace Makefile.in --replace "tests" " ";
-    '';
-
-    preConfigure = ''
-      export ac_cv_func_malloc_0_nonnull=yes
-      export ac_cv_func_realloc_0_nonnull=yes
-    '';
-  };
+  dontDisableStatic = stdenv.buildPlatform != stdenv.hostPlatform;
 
   meta = {
     homepage = https://github.com/westes/flex;
diff --git a/pkgs/development/tools/phantomjs2/default.nix b/pkgs/development/tools/phantomjs2/default.nix
index f7d22395a03..3c062dbe1ab 100644
--- a/pkgs/development/tools/phantomjs2/default.nix
+++ b/pkgs/development/tools/phantomjs2/default.nix
@@ -105,6 +105,7 @@ in stdenv.mkDerivation rec {
     $out/bin/phantomjs
   '' + ''
     wrapProgram $out/bin/phantomjs \
+    --set QT_QPA_PLATFORM offscreen \
     --prefix PATH : ${stdenv.lib.makeBinPath [ qtbase ]}
   '';
 
diff --git a/pkgs/development/tools/profiling/heaptrack/default.nix b/pkgs/development/tools/profiling/heaptrack/default.nix
index e97ff61a0dc..f5f9a15dd00 100644
--- a/pkgs/development/tools/profiling/heaptrack/default.nix
+++ b/pkgs/development/tools/profiling/heaptrack/default.nix
@@ -1,24 +1,24 @@
 {
   stdenv, fetchFromGitHub, cmake, extra-cmake-modules,
-  zlib, boost162, libunwind, elfutils, sparsehash,
-  qtbase, kio, kitemmodels, threadweaver, kconfigwidgets, kcoreaddons,
+  zlib, boost, libunwind, elfutils, sparsehash,
+  qtbase, kio, kitemmodels, threadweaver, kconfigwidgets, kcoreaddons, kdiagram
 }:
 
 stdenv.mkDerivation rec {
   name = "heaptrack-${version}";
-  version = "2017-10-30";
+  version = "2018-01-28";
 
   src = fetchFromGitHub {
     owner = "KDE";
     repo = "heaptrack";
-    rev = "2bf49bc4fed144e004a9cabd40580a0f0889758f";
-    sha256 = "0sqxk5cc8r2vsj5k2dj9jkd1f2x2yj3mxgsp65g7ls01bgga0i4d";
+    rev = "a4534d52788ab9814efca1232d402b2eb319342c";
+    sha256 = "00xfv51kavvcmwgfmcixx0k5vhd06gkj5q0mm8rwxiw6215xp41a";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
   buildInputs = [
-    zlib boost162 libunwind elfutils sparsehash
-    qtbase kio kitemmodels threadweaver kconfigwidgets kcoreaddons
+    zlib boost libunwind elfutils sparsehash
+    qtbase kio kitemmodels threadweaver kconfigwidgets kcoreaddons kdiagram
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/profiling/pyprof2calltree/default.nix b/pkgs/development/tools/profiling/pyprof2calltree/default.nix
new file mode 100644
index 00000000000..b2497633a68
--- /dev/null
+++ b/pkgs/development/tools/profiling/pyprof2calltree/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildPythonApplication, fetchFromGitHub }:
+
+buildPythonApplication rec {
+  pname = "pyprof2calltree";
+  version = "1.4.3";
+
+  # Fetch from GitHub because the PyPi packaged version does not
+  # include all test files.
+  src = fetchFromGitHub {
+    owner = "pwaller";
+    repo = "pyprof2calltree";
+    rev = "v" + version;
+    sha256 = "0i0a895zal193cpvzbv68fch606g4ik27rvzbby3vxk61zlxfqy5";
+  };
+
+  meta = with lib; {
+    description = "Help visualize profiling data from cProfile with kcachegrind and qcachegrind";
+    homepage = https://pypi.python.org/pypi/pyprof2calltree/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ sfrijters ];
+  };
+}
diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix
index 61f5f93ebfa..554a5585f15 100644
--- a/pkgs/development/tools/selenium/chromedriver/default.nix
+++ b/pkgs/development/tools/selenium/chromedriver/default.nix
@@ -4,19 +4,14 @@
 }:
 let
   allSpecs = {
-    "i686-linux" = {
-      system = "linux32";
-      sha256 = "13fngjg2v0l3vhlmjnffy785ckgk2kbpm7307li75vinkcly91cj";
-    };
-
     "x86_64-linux" = {
       system = "linux64";
-      sha256 = "0x5vnmnw6mws6iw9s0kcm4crx9gfgy0vjjpk1v0wk7jpn6d0bl47";
+      sha256 = "13iyz6579yw4fk9dr4nf2pdj55v1iflj8yf9a4zz7qw5996d5yk7";
     };
 
     "x86_64-darwin" = {
       system = "mac64";
-      sha256 = "09y8ijj75q5a7snzchxinxfq2ad2sw0f30zi0p3hqf1n88y28jq6";
+      sha256 = "11xa31bxhrq0p7kd3j76dihp73abdbmbwdng5454m1wir6yj25f1";
     };
   };
 
@@ -33,7 +28,7 @@ let
 in
 stdenv.mkDerivation rec {
   name = "chromedriver-${version}";
-  version = "2.33";
+  version = "2.35";
 
   src = fetchurl {
     url = "http://chromedriver.storage.googleapis.com/${version}/chromedriver_${spec.system}.zip";
diff --git a/pkgs/development/tools/skopeo/default.nix b/pkgs/development/tools/skopeo/default.nix
index 0f720f1f7e3..de0d7fc54de 100644
--- a/pkgs/development/tools/skopeo/default.nix
+++ b/pkgs/development/tools/skopeo/default.nix
@@ -1,39 +1,38 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub, gpgme, libgpgerror, devicemapper, btrfs-progs, pkgconfig, ostree }:
+{ stdenv, lib, buildGoPackage, fetchFromGitHub, runCommand
+, gpgme, libgpgerror, devicemapper, btrfs-progs, pkgconfig, ostree, libselinux }:
 
 with stdenv.lib;
 
+let
+  version = "0.1.28";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "projectatomic";
+    repo = "skopeo";
+    sha256 = "068nwrr3nr27alravcq1sxyhdd5jjr24213vdgn1dqva3885gbi0";
+  };
+
+  defaultPolicyFile = runCommand "skopeo-default-policy.json" {} "cp ${src}/default-policy.json $out";
+
+in
 buildGoPackage rec {
   name = "skopeo-${version}";
-  version = "0.1.27";
-  rev = "v${version}";
+  inherit src;
 
   goPackagePath = "github.com/projectatomic/skopeo";
   excludedPackages = "integration";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gpgme libgpgerror devicemapper btrfs-progs ostree ];
+  buildInputs = [ gpgme libgpgerror devicemapper btrfs-progs ostree libselinux ];
 
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "projectatomic";
-    repo = "skopeo";
-    sha256 = "1xwwzxjczz8qdk1rf0h78qd3vk9mxxb8yi6f8kfqvcdcsvkajd5g";
-  };
-
-  patches = [
-    ./path.patch
-  ];
+  buildFlagsArray = "-ldflags= -X github.com/projectatomic/skopeo/vendor/github.com/containers/image/signature.systemDefaultPolicyPath=${defaultPolicyFile}";
 
   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"
   '';
 
-  postInstall = ''
-    mkdir $bin/etc
-    cp -v ./go/src/github.com/projectatomic/skopeo/default-policy.json $bin/etc/default-policy.json
-  '';
-
   meta = {
     description = "A command line utility for various operations on container images and image repositories";
     homepage = https://github.com/projectatomic/skopeo;
diff --git a/pkgs/development/tools/skopeo/path.patch b/pkgs/development/tools/skopeo/path.patch
deleted file mode 100644
index fe456b58e54..00000000000
--- a/pkgs/development/tools/skopeo/path.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/cmd/skopeo/main.go b/cmd/skopeo/main.go
-index 50e29b2..7108df5 100644
---- a/cmd/skopeo/main.go
-+++ b/cmd/skopeo/main.go
-@@ -3,6 +3,7 @@ package main
- import (
- 	"fmt"
- 	"os"
-+	"path/filepath"
- 
- 	"github.com/Sirupsen/logrus"
- 	"github.com/containers/image/signature"
-@@ -88,6 +89,11 @@ func getPolicyContext(c *cli.Context) (*signature.PolicyContext, error) {
- 	policyPath := c.GlobalString("policy")
- 	var policy *signature.Policy // This could be cached across calls, if we had an application context.
- 	var err error
-+	var dir string
-+	if policyPath == "" {
-+		dir, err = filepath.Abs(filepath.Dir(os.Args[0]))
-+		policyPath = dir + "/../etc/default-policy.json"
-+	}
- 	if c.GlobalBool("insecure-policy") {
- 		policy = &signature.Policy{Default: []signature.PolicyRequirement{signature.NewPRInsecureAcceptAnything()}}
- 	} else if policyPath == "" {
- 
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index 714935513f7..5d967ba8127 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, buildRubyGem, bundlerEnv, ruby }:
+{ lib, fetchurl, buildRubyGem, bundlerEnv, ruby, libarchive }:
 
 let
   version = "2.0.1";
@@ -36,9 +36,12 @@ in buildRubyGem rec {
     ./unofficial-installation-nowarn.patch
   ];
 
+  # PATH additions:
+  #   - libarchive: Make `bsdtar` available for extracting downloaded boxes
   postInstall = ''
     wrapProgram "$out/bin/vagrant" \
-      --set GEM_PATH "${deps}/lib/ruby/gems/${ruby.version.libDir}"
+      --set GEM_PATH "${deps}/lib/ruby/gems/${ruby.version.libDir}" \
+      --prefix PATH ':' "${lib.getBin libarchive}/bin"
   '';
 
   passthru = {
diff --git a/pkgs/development/tools/vultr/default.nix b/pkgs/development/tools/vultr/default.nix
index 29fedde9080..8e17c531547 100644
--- a/pkgs/development/tools/vultr/default.nix
+++ b/pkgs/development/tools/vultr/default.nix
@@ -2,14 +2,14 @@
 
 buildGoPackage rec {
   name = "vultr-${version}";
-  version = "1.13.0";
+  version = "1.15.0";
   goPackagePath = "github.com/JamesClonk/vultr";
 
   src = fetchFromGitHub {
     owner = "JamesClonk";
     repo = "vultr";
     rev = "${version}";
-    sha256 = "0xjalxl2yncrhbh4m2gyg3cahv3wvq782qd668vim6qks676d9nx";
+    sha256 = "1bx2x17aa6wfn4qy9lxk8sh7shs3x5ppz2z49s0xm8qq0rs1qi92";
   };
 
   meta = {
diff --git a/pkgs/development/tools/wp-cli/default.nix b/pkgs/development/tools/wp-cli/default.nix
index 674b172b371..e35bdd22e2d 100644
--- a/pkgs/development/tools/wp-cli/default.nix
+++ b/pkgs/development/tools/wp-cli/default.nix
@@ -2,11 +2,11 @@
 
 let
   name = "wp-cli-${version}";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchurl {
     url    = "https://github.com/wp-cli/wp-cli/releases/download/v${version}/${name}.phar";
-    sha256 = "0fyfwpsbm9s3khxq8876ah85vjwfd5r4a59aix3zjmhq2v7j8n9j";
+    sha256 = "17dgbcalvz5gw6xqgcywh6jrybj0qlglm16cgbshjsp6axwxa5gn";
   };
 
   completion = fetchurl {
@@ -26,7 +26,7 @@ let
 
   ini = writeText "wp-cli.ini" ''
     [PHP]
-    memory_limit = -1 ; composer uses a lot of memory
+    memory_limit = -1 ; no limit as composer uses a lot of memory
 
     [Phar]
     phar.readonly = Off
diff --git a/pkgs/development/tools/ws/default.nix b/pkgs/development/tools/ws/default.nix
new file mode 100644
index 00000000000..b99780d4138
--- /dev/null
+++ b/pkgs/development/tools/ws/default.nix
@@ -0,0 +1,26 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+{ stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+
+buildGoPackage rec {
+  name = "ws-${version}";
+  version = "0.2.1";
+  rev = "e9404cb37e339333088b36f6a7909ff3be76931d";
+
+  goPackagePath = "github.com/hashrocket/ws";
+
+  src = fetchgit {
+    inherit rev;
+    url = "https://github.com/hashrocket/ws";
+    sha256 = "192slrz1cj1chzmfrl0d9ai8bq6s4w0iwpvxkhxb9krga7mkp9xb";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    description = "websocket command line tool";
+    homepage    = https://github.com/hashrocket/ws;
+    license     = licenses.mit;
+    maintainers = [ maintainers.the-kenny ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/ws/deps.nix b/pkgs/development/tools/ws/deps.nix
new file mode 100644
index 00000000000..82988437145
--- /dev/null
+++ b/pkgs/development/tools/ws/deps.nix
@@ -0,0 +1,12 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/fatih/color";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/color";
+      rev = "5df930a27be2502f99b292b7cc09ebad4d0891f4";
+      sha256 = "1xqwvpn5jkp1xqvv9hx4h7cxrsnamryhy2pszcqpbm28dpd3airb";
+    };
+  }
+]
diff --git a/pkgs/development/tools/xcbuild/sdk.nix b/pkgs/development/tools/xcbuild/sdk.nix
index 169fd5f6ec6..87bbedd5788 100644
--- a/pkgs/development/tools/xcbuild/sdk.nix
+++ b/pkgs/development/tools/xcbuild/sdk.nix
@@ -1,26 +1,30 @@
 { stdenv, writeText, toolchainName, sdkName, xcbuild }:
 
 let
+  # TODO: expose MACOSX_DEPLOYMENT_TARGET in nix so we can use it here.
+  version = "10.10";
 
   SDKSettings = {
     CanonicalName = sdkName;
     DisplayName = sdkName;
     Toolchains = [ toolchainName ];
-    Version = "10.10";
-    MaximumDeploymentTarget = "10.10";
+    Version = version;
+    MaximumDeploymentTarget = version;
     isBaseSDK = "YES";
   };
 
   SystemVersion = {
     ProductName = "Mac OS X";
-    ProductVersion = "10.10";
+    ProductVersion = version;
   };
-
 in
 
 stdenv.mkDerivation {
-  name = "MacOSX.sdk";
+  name = "MacOSX${version}.sdk";
+  inherit version;
+
   buildInputs = [ xcbuild ];
+
   buildCommand = ''
     mkdir -p $out/
     plutil -convert xml1 -o $out/SDKSettings.plist ${writeText "SDKSettings.json" (builtins.toJSON SDKSettings)}
diff --git a/pkgs/development/tools/xcbuild/wrapper.nix b/pkgs/development/tools/xcbuild/wrapper.nix
index 2f6b42e7a00..3a1547440fd 100644
--- a/pkgs/development/tools/xcbuild/wrapper.nix
+++ b/pkgs/development/tools/xcbuild/wrapper.nix
@@ -30,7 +30,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "xcbuild-wrapper";
+  name = "xcbuild-wrapper-${xcbuild.version}";
 
   buildInputs = [ xcbuild makeWrapper ];
 
diff --git a/pkgs/development/tools/yaml2json/default.nix b/pkgs/development/tools/yaml2json/default.nix
new file mode 100644
index 00000000000..1a8d7f13aff
--- /dev/null
+++ b/pkgs/development/tools/yaml2json/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+
+buildGoPackage rec {
+  name = "yaml2json-${version}";
+  version = "unstable-2017-05-03";
+  goPackagePath = "github.com/bronze1man/yaml2json";
+
+  goDeps = ./deps.nix;
+
+  src = fetchFromGitHub {
+    rev = "ee8196e587313e98831c040c26262693d48c1a0c";
+    owner = "bronze1man";
+    repo = "yaml2json";
+    sha256 = "16a2sqzbam5adbhfvilnpdabzwncs7kgpr0cn4gp09h2imzsprzw";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/bronze1man/yaml2json;
+    description = "Convert yaml to json";
+    license = with licenses; [ mit ];
+    maintainers = [ maintainers.adisbladis ];
+  };
+}
diff --git a/pkgs/development/tools/yaml2json/deps.nix b/pkgs/development/tools/yaml2json/deps.nix
new file mode 100644
index 00000000000..f907520cc87
--- /dev/null
+++ b/pkgs/development/tools/yaml2json/deps.nix
@@ -0,0 +1,11 @@
+[
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "d670f9405373e636a5a2765eea47fac0c9bc91a4";
+      sha256 = "1w1xid51n8v1mydn2m3vgggw8qgpd5a5sr62snsc77d99fpjsrs0";
+    };
+  }
+]
diff --git a/pkgs/development/tools/yq/default.nix b/pkgs/development/tools/yq/default.nix
index 6ddea86f1a7..6fb7f8440ef 100644
--- a/pkgs/development/tools/yq/default.nix
+++ b/pkgs/development/tools/yq/default.nix
@@ -2,9 +2,8 @@
 
 buildPythonApplication rec {
 
-  name = "${pname}-${version}";
   pname = "yq";
-  version = "2.3.3";
+  version = "2.3.4";
 
   propagatedBuildInputs = [ pyyaml jq ];
 
@@ -13,7 +12,7 @@ buildPythonApplication rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14ywdi464z68qclsqzb8r50rzmypknaz74zmpppkahjigfcfppm3";
+    sha256 = "04ckrlmin8m176iicyfhddp4r0yry5hx306vhfglf8mcp1jkga78";
   };
 
   meta = with lib; {