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/cccc/default.nix4
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix3
-rw-r--r--pkgs/development/tools/analysis/garcosim/tracefilesim/default.nix2
-rw-r--r--pkgs/development/tools/analysis/radare/default.nix11
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix6
-rw-r--r--pkgs/development/tools/analysis/rr/default.nix5
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix2
-rw-r--r--pkgs/development/tools/boost-build/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/bear/default.nix32
-rw-r--r--pkgs/development/tools/build-managers/buildbot/9.nix81
-rw-r--r--pkgs/development/tools/build-managers/buildbot/default.nix82
-rw-r--r--pkgs/development/tools/build-managers/buildbot/plugins.nix91
-rw-r--r--pkgs/development/tools/build-managers/buildbot/worker.nix24
-rw-r--r--pkgs/development/tools/build-managers/cmake/2.8.nix4
-rwxr-xr-xpkgs/development/tools/build-managers/cmake/setup-hook.sh26
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.80/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/mk/default.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/gocd-agent/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/gocd-server/default.nix6
-rw-r--r--pkgs/development/tools/deis/default.nix2
-rw-r--r--pkgs/development/tools/deis/deps.json29
-rw-r--r--pkgs/development/tools/deis/deps.nix29
-rw-r--r--pkgs/development/tools/go-repo-root/default.nix2
-rw-r--r--pkgs/development/tools/go-repo-root/deps.nix20
-rw-r--r--pkgs/development/tools/go2nix/default.nix6
-rw-r--r--pkgs/development/tools/go2nix/deps.json20
-rw-r--r--pkgs/development/tools/go2nix/deps.nix20
-rw-r--r--pkgs/development/tools/golint/default.nix2
-rw-r--r--pkgs/development/tools/golint/deps.json11
-rw-r--r--pkgs/development/tools/golint/deps.nix11
-rw-r--r--pkgs/development/tools/gotools/default.nix2
-rw-r--r--pkgs/development/tools/gotools/deps.json11
-rw-r--r--pkgs/development/tools/gotools/deps.nix11
-rw-r--r--pkgs/development/tools/gox/default.nix2
-rw-r--r--pkgs/development/tools/gox/deps.json11
-rw-r--r--pkgs/development/tools/gox/deps.nix11
-rw-r--r--pkgs/development/tools/java/visualvm/default.nix4
-rw-r--r--pkgs/development/tools/kube-aws/default.nix30
-rw-r--r--pkgs/development/tools/leaps/default.nix2
-rw-r--r--pkgs/development/tools/leaps/deps.json11
-rw-r--r--pkgs/development/tools/leaps/deps.nix11
-rw-r--r--pkgs/development/tools/literate-programming/noweb/default.nix2
-rw-r--r--pkgs/development/tools/minizinc/default.nix35
-rw-r--r--pkgs/development/tools/misc/autogen/default.nix2
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.10.x.nix47
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix9
-rw-r--r--pkgs/development/tools/misc/bsdbuild/default.nix68
-rw-r--r--pkgs/development/tools/misc/distcc/default.nix6
-rw-r--r--pkgs/development/tools/misc/elfutils/default.nix2
-rw-r--r--pkgs/development/tools/misc/gnum4/default.nix3
-rw-r--r--pkgs/development/tools/misc/gtkdialog/default.nix4
-rw-r--r--pkgs/development/tools/misc/indent/default.nix2
-rw-r--r--pkgs/development/tools/misc/kconfig-frontends/default.nix2
-rw-r--r--pkgs/development/tools/misc/md2man/default.nix25
-rw-r--r--pkgs/development/tools/misc/patchelf/default.nix3
-rw-r--r--pkgs/development/tools/misc/prelink/default.nix4
-rw-r--r--pkgs/development/tools/misc/rman/default.nix7
-rw-r--r--pkgs/development/tools/misc/saleae-logic/default.nix4
-rw-r--r--pkgs/development/tools/misc/texinfo/6.1.nix3
-rw-r--r--pkgs/development/tools/node-webkit/nw11.nix10
-rw-r--r--pkgs/development/tools/node-webkit/nw12.nix8
-rw-r--r--pkgs/development/tools/node-webkit/nw9.nix10
-rw-r--r--pkgs/development/tools/ocaml/opam/default.nix14
-rw-r--r--pkgs/development/tools/omniorb/default.nix2
-rw-r--r--pkgs/development/tools/packer/default.nix4
-rw-r--r--pkgs/development/tools/parsing/antlr/3.4.nix38
-rw-r--r--pkgs/development/tools/parsing/antlr/3.5.nix38
-rw-r--r--pkgs/development/tools/parsing/bison/3.x.nix3
-rw-r--r--pkgs/development/tools/profiling/sysprof/default.nix4
-rw-r--r--pkgs/development/tools/remarshal/default.nix2
-rw-r--r--pkgs/development/tools/remarshal/deps.json20
-rw-r--r--pkgs/development/tools/remarshal/deps.nix20
-rw-r--r--pkgs/development/tools/rtags/default.nix7
-rw-r--r--pkgs/development/tools/selenium/chromedriver/default.nix4
-rw-r--r--pkgs/development/tools/textql/default.nix2
-rw-r--r--pkgs/development/tools/textql/deps.json11
-rw-r--r--pkgs/development/tools/textql/deps.nix11
-rw-r--r--pkgs/development/tools/thrust/default.nix4
-rw-r--r--pkgs/development/tools/toluapp/default.nix2
-rw-r--r--pkgs/development/tools/unity3d/default.nix6
-rw-r--r--pkgs/development/tools/vagrant/default.nix42
-rw-r--r--pkgs/development/tools/wp-cli/default.nix36
82 files changed, 809 insertions, 370 deletions
diff --git a/pkgs/development/tools/analysis/cccc/default.nix b/pkgs/development/tools/analysis/cccc/default.nix
index ea7f6d4f5908..374331f3ac87 100644
--- a/pkgs/development/tools/analysis/cccc/default.nix
+++ b/pkgs/development/tools/analysis/cccc/default.nix
@@ -11,7 +11,11 @@ stdenv.mkDerivation {
     url = "mirror://sourceforge/${name}/${version}/${name}-${version}.tar.gz";
     sha256 = "1gsdzzisrk95kajs3gfxks3bjvfd9g680fin6a9pjrism2lyrcr7";
   };
+
+  hardeningDisable = [ "format" ];
+
   patches = [ ./cccc.patch ];
+
   preConfigure = ''
     substituteInPlace install/install.mak --replace /usr/local/bin $out/bin
     substituteInPlace install/install.mak --replace MKDIR=mkdir "MKDIR=mkdir -p"
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index f9aae3760d6c..1913278368e5 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -5,6 +5,7 @@ with lib;
 stdenv.mkDerivation rec {
   version = "0.30.0";
   name = "flow-${version}";
+
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
@@ -24,7 +25,7 @@ stdenv.mkDerivation rec {
     description = "A static type checker for JavaScript";
     homepage = http://flowtype.org;
     license = licenses.bsd3;
-    platforms = platforms.unix;
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
     maintainers = with maintainers; [ puffnfresh globin ];
   };
 }
diff --git a/pkgs/development/tools/analysis/garcosim/tracefilesim/default.nix b/pkgs/development/tools/analysis/garcosim/tracefilesim/default.nix
index 740d51cc1348..7a6f3481d53f 100644
--- a/pkgs/development/tools/analysis/garcosim/tracefilesim/default.nix
+++ b/pkgs/development/tools/analysis/garcosim/tracefilesim/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation {
     sha256 = "156m92k38ap4bzidbr8dzl065rni8lrib71ih88myk9z5y1x5nxm";
   };
 
+  hardeningDisable = [ "fortify" ];
+
   installPhase = ''
     mkdir --parents "$out/bin"
     cp ./traceFileSim "$out/bin"
diff --git a/pkgs/development/tools/analysis/radare/default.nix b/pkgs/development/tools/analysis/radare/default.nix
index 3c83f0e9d495..6b7ba2a81cb2 100644
--- a/pkgs/development/tools/analysis/radare/default.nix
+++ b/pkgs/development/tools/analysis/radare/default.nix
@@ -1,15 +1,15 @@
 {stdenv, fetchurl, pkgconfig, libusb, readline, lua, libewf, perl,
-gtk ? null, vte ? null, gtkdialog ? null,
+gtk2 ? null, vte ? null, gtkdialog ? null,
 python ? null,
 ruby ? null,
 useX11, rubyBindings, pythonBindings, luaBindings}:
 
-assert useX11 -> (gtk != null && vte != null && gtkdialog != null);
+assert useX11 -> (gtk2 != null && vte != null && gtkdialog != null);
 assert rubyBindings -> ruby != null;
 assert pythonBindings -> python != null;
 
-let 
-  optional = stdenv.lib.optional;
+let
+  inherit (stdenv.lib) optional;
 in
 stdenv.mkDerivation rec {
   name = "radare-1.5.2";
@@ -19,9 +19,10 @@ stdenv.mkDerivation rec {
     sha256 = "1qdrmcnzfvfvqb27c7pknwm8jl2hqa6c4l66wzyddwlb8yjm46hd";
   };
 
+  hardeningDisable = [ "format" ];
 
   buildInputs = [pkgconfig readline libusb perl]
-    ++ optional useX11 [gtkdialog vte gtk]
+    ++ optional useX11 [gtkdialog vte gtk2]
     ++ optional rubyBindings [ruby]
     ++ optional pythonBindings [python]
     ++ optional luaBindings [lua];
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index 7e199c29aed9..4b57e15d0884 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, pkgconfig, libusb, readline, libewf, perl, zlib, openssl,
-gtk ? null, vte ? null, gtkdialog ? null,
+gtk2 ? null, vte ? null, gtkdialog ? null,
 python ? null,
 ruby ? null,
 lua ? null,
 useX11, rubyBindings, pythonBindings, luaBindings}:
 
-assert useX11 -> (gtk != null && vte != null && gtkdialog != null);
+assert useX11 -> (gtk2 != null && vte != null && gtkdialog != null);
 assert rubyBindings -> ruby != null;
 assert pythonBindings -> python != null;
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
 
   buildInputs = [pkgconfig readline libusb libewf perl zlib openssl]
-    ++ optional useX11 [gtkdialog vte gtk]
+    ++ optional useX11 [gtkdialog vte gtk2]
     ++ optional rubyBindings [ruby]
     ++ optional pythonBindings [python]
     ++ optional luaBindings [lua];
diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix
index c1184445e28e..8cd38a152ecf 100644
--- a/pkgs/development/tools/analysis/rr/default.nix
+++ b/pkgs/development/tools/analysis/rr/default.nix
@@ -24,6 +24,11 @@ stdenv.mkDerivation rec {
     "-Ddisable32bit=ON"
   ];
 
+  # we turn on additional warnings due to hardening
+  NIX_CFLAGS_COMPILE = "-Wno-error";
+
+  hardeningDisable = [ "fortify" ];
+
   enableParallelBuilding = true;
 
   # FIXME
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index b4b56be9c6d9..0e0e44183f6b 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "doc" ];
 
+  hardeningDisable = [ "stackprotector" ];
+
   # Perl is needed for `cg_annotate'.
   # GDB is needed to provide a sane default for `--db-command'.
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/tools/boost-build/default.nix b/pkgs/development/tools/boost-build/default.nix
index 723219336bb9..240d24961e00 100644
--- a/pkgs/development/tools/boost-build/default.nix
+++ b/pkgs/development/tools/boost-build/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "10sbbkx2752r4i1yshyp47nw29lyi1p34sy6hj7ivvnddiliayca";
   };
 
+  hardeningDisable = [ "format" ];
+
   patchPhase = ''
     grep -r '/usr/share/boost-build' \
       | awk '{split($0,a,":"); print a[1];}' \
diff --git a/pkgs/development/tools/build-managers/bear/default.nix b/pkgs/development/tools/build-managers/bear/default.nix
new file mode 100644
index 000000000000..cc34a73ecd5d
--- /dev/null
+++ b/pkgs/development/tools/build-managers/bear/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, cmake, python }:
+
+stdenv.mkDerivation rec {
+  name = "bear-${version}";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "rizsotto";
+    repo = "Bear";
+    rev = version;
+    sha256 = "08llfqg8y6d7vfwaw5plrk1rrqzs0ywi2ldnlwvy917603971rg0";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ python ]; # just for shebang of bin/bear
+
+  doCheck = false; # all fail
+
+  meta = with stdenv.lib; {
+    description = "Tool that generates a compilation database for clang tooling";
+    longDescription = ''
+      Note: the bear command is very useful to generate compilation commands
+      e.g. for YouCompleteMe.  You just enter your development nix-shell
+      and run `bear make`.  It's not perfect, but it gets a long way.
+    '';
+    homepage = https://github.com/rizsotto/Bear;
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.vcunat ];
+  };
+}
+
diff --git a/pkgs/development/tools/build-managers/buildbot/9.nix b/pkgs/development/tools/build-managers/buildbot/9.nix
new file mode 100644
index 000000000000..0f33cd0c6642
--- /dev/null
+++ b/pkgs/development/tools/build-managers/buildbot/9.nix
@@ -0,0 +1,81 @@
+{ stdenv
+, pythonPackages
+, fetchurl
+, plugins ? []
+}:
+
+pythonPackages.buildPythonApplication (rec {
+  name = "${pname}-${version}";
+  pname = "buildbot";
+  version = "0.9.0rc2";
+  src = fetchurl {
+    url = "mirror://pypi/b/${pname}/${name}.tar.gz";
+    sha256 = "06xzbjzji3by4hldwr850fc989ymsfl2s8nil21klv2g00dgmcmk";
+  };
+
+  buildInputs = with pythonPackages; [
+    lz4
+    txrequests
+    pyjade
+    boto3
+    moto
+    txgithub
+    mock
+    setuptoolsTrial
+    isort
+    pylint
+    astroid
+    pyflakes
+  ];
+
+  propagatedBuildInputs = with pythonPackages; [
+
+    # core
+    twisted
+    jinja2
+    zope_interface
+    future
+    sqlalchemy
+    sqlalchemy_migrate
+    future
+    dateutil
+    txaio
+    autobahn
+
+    # tls
+    pyopenssl
+    service-identity
+    idna
+
+    # docs
+    sphinx
+    sphinxcontrib-blockdiag
+    sphinxcontrib-spelling
+    pyenchant
+    docutils
+    ramlfications
+    sphinx-jinja
+
+  ] ++ plugins;
+
+  preInstall = ''
+    # buildbot tries to import 'buildslaves' but does not
+    # include the module in it's package, so get rid of those references
+    sed -i.bak -e '66,$d' buildbot/test/__init__.py
+    sed -i.bak -e '506,$d' buildbot/test/unit/test_worker_base.py
+    sed -i.bak -e '648,$d' buildbot/test/unit/test_worker_ec2.py
+    sed -i.bak -e '289,$d' buildbot/test/unit/test_worker_libvirt.py
+    sed -i.bak -e '190,$d' buildbot/test/unit/test_worker_openstack.py
+    sed -i.bak -e '60,84d' buildbot/test/integration/test_configs.py
+
+    # writes out a file that can't be read properly
+    sed -i.bak -e '69,84d' buildbot/test/unit/test_www_config.py
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://buildbot.net/;
+    description = "Continuous integration system that automates the build/test cycle";
+    maintainers = with maintainers; [ nand0p ryansydnor ];
+    platforms = platforms.all;
+  };
+})
diff --git a/pkgs/development/tools/build-managers/buildbot/default.nix b/pkgs/development/tools/build-managers/buildbot/default.nix
deleted file mode 100644
index 94d9008a4f33..000000000000
--- a/pkgs/development/tools/build-managers/buildbot/default.nix
+++ /dev/null
@@ -1,82 +0,0 @@
-{ stdenv, buildPythonApplication, fetchurl, twisted, dateutil, jinja2
-, sqlalchemy_migrate_0_7
-, enableDebugClient ? false, pygobject ? null, pyGtkGlade ? null
-}:
-
-# enableDebugClient enables "buildbot debugclient", a Gtk-based debug control
-# panel. Its mostly for developers.
-
-assert enableDebugClient -> pygobject != null && pyGtkGlade != null;
-
-buildPythonApplication (rec {
-  name = "buildbot-0.8.12";
-  namePrefix = "";
-
-  src = fetchurl {
-    url = "mirror://pypi/b/buildbot/${name}.tar.gz";
-    sha256 = "1mn4h04sp6smr3ahqfflys15cpn13q9mfkapcs2jc4ppvxv6kdn6";
-  };
-
-  patchPhase =
-    # The code insists on /usr/bin/tail, /usr/bin/make, etc.
-    '' echo "patching erroneous absolute path references..."
-       for i in $(find -name \*.py)
-       do
-         sed -i "$i" \
-             -e "s|/usr/bin/python|$(type -P python)|g ; s|/usr/bin/||g"
-       done
-
-      sed -i 's/==/>=/' setup.py
-    '';
-
-  propagatedBuildInputs =
-    [ twisted dateutil jinja2 sqlalchemy_migrate_0_7
-    ] ++ stdenv.lib.optional enableDebugClient [ pygobject pyGtkGlade ];
-
-  # What's up with this?! 'trial' should be 'test', no?
-  #
-  # running tests
-  # usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
-  #    or: setup.py --help [cmd1 cmd2 ...]
-  #    or: setup.py --help-commands
-  #    or: setup.py cmd --help
-  #
-  # error: invalid command 'trial'
-  doCheck = false;
-
-  postInstall = ''
-    mkdir -p "$out/share/man/man1"
-    cp docs/buildbot.1 "$out/share/man/man1"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = http://buildbot.net/;
-    license = stdenv.lib.licenses.gpl2Plus;
-    # Of course, we don't really need that on NixOS.  :-)
-    description = "Continuous integration system that automates the build/test cycle";
-    longDescription =
-      '' The BuildBot is a system to automate the compile/test cycle
-         required by most software projects to validate code changes.  By
-         automatically rebuilding and testing the tree each time something
-         has changed, build problems are pinpointed quickly, before other
-         developers are inconvenienced by the failure.  The guilty
-         developer can be identified and harassed without human
-         intervention.  By running the builds on a variety of platforms,
-         developers who do not have the facilities to test their changes
-         everywhere before checkin will at least know shortly afterwards
-         whether they have broken the build or not.  Warning counts, lint
-         checks, image size, compile time, and other build parameters can
-         be tracked over time, are more visible, and are therefore easier
-         to improve.
-
-         The overall goal is to reduce tree breakage and provide a platform
-         to run tests or code-quality checks that are too annoying or
-         pedantic for any human to waste their time with.  Developers get
-         immediate (and potentially public) feedback about their changes,
-         encouraging them to be more careful about testing before checking
-         in code.
-      '';
-    maintainers = with maintainers; [ bjornfor ];
-    platforms = platforms.all;
-  };
-})
diff --git a/pkgs/development/tools/build-managers/buildbot/plugins.nix b/pkgs/development/tools/build-managers/buildbot/plugins.nix
new file mode 100644
index 000000000000..177b7b3d946b
--- /dev/null
+++ b/pkgs/development/tools/build-managers/buildbot/plugins.nix
@@ -0,0 +1,91 @@
+{ stdenv
+, fetchurl
+, pythonPackages
+}:
+
+let
+  buildbot-pkg = pythonPackages.buildPythonPackage rec {
+    name = "buildbot-pkg-${version}";
+    version = "0.9.0rc2";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/95/47/1fef931d410cc24127564c2e193e7c1c184f5c5f481930f77c6d6840cfab/${name}.tar.gz";
+      sha256 = "01wc9bmqq1rfayqnjm7rkjhbcj7h6ah4vv10s6hglnq9s4axvxp6";
+    };
+
+    propagatedBuildInputs = with pythonPackages; [ setuptools ];
+
+    # doesn't seem to break without this...
+    patchPhase = ''
+      sed -i.bak -e '/"setuptools >= 21.2.1",/d' setup.py
+    '';
+
+    meta = with stdenv.lib; {
+      homepage = http://buildbot.net/;
+      description = "Buildbot Packaging Helper";
+      maintainers = with maintainers; [ nand0p ryansydnor ];
+      platforms = platforms.all;
+    };
+  };
+
+in {
+
+  www = pythonPackages.buildPythonPackage rec {
+    name = "buildbot_www-${version}";
+    version = "0.9.0rc2";
+
+    # NOTE: wheel is used due to buildbot circular dependency
+    format = "wheel";
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/e0/d7/f1023cdb7340a15ee1fc9916e87c4d634405a87164a051e2c59bf9d51ef1/${name}-py2-none-any.whl";
+      sha256 = "1006x56x4w4p2mbrzm7jy51c0xxz48lzhdwvx7j4hrjs07mapndj";
+    };
+
+    propagatedBuildInputs = [ buildbot-pkg ];
+
+    meta = with stdenv.lib; {
+      homepage = http://buildbot.net/;
+      description = "Buildbot UI";
+      maintainers = with maintainers; [ nand0p ryansydnor ];
+      platforms = platforms.all;
+    };
+  };
+
+  console-view = pythonPackages.buildPythonPackage rec {
+    name = "buildbot-console-view-${version}";
+    version = "0.9.0rc2";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/f4/51/e24cc1b596e5b262a272cba3687476a13ec7d9ea24bf1f4fd0cd72902bb6/${name}.tar.gz";
+      sha256 = "0970gq1sxnfd0nlrnd3mj25i3cginlw2pj5ffqsd57n5hlqg48ib";
+    };
+
+    propagatedBuildInputs = [ buildbot-pkg ];
+
+    meta = with stdenv.lib; {
+      homepage = http://buildbot.net/;
+      description = "Buildbot Console View Plugin";
+      maintainers = with maintainers; [ nand0p ryansydnor ];
+      platforms = platforms.all;
+    };
+  };
+
+  waterfall-view = pythonPackages.buildPythonPackage rec {
+    name = "buildbot-waterfall-view-${version}";
+    version = "0.9.0rc2";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/c2/21/3895355b05f91977a8b8e5435f85354e927c2ef547a25432a6bacf792a67/${name}.tar.gz";
+      sha256 = "1zybrbbsyplv93zkin8cb3z1bqqr6px4p203ldcpn7lds5s9vk00";
+    };
+
+    propagatedBuildInputs = [ buildbot-pkg ];
+
+    meta = with stdenv.lib; {
+      homepage = http://buildbot.net/;
+      description = "Buildbot Waterfall View Plugin";
+      maintainers = with maintainers; [ nand0p ryansydnor ];
+      platforms = platforms.all;
+    };
+  };
+}
diff --git a/pkgs/development/tools/build-managers/buildbot/worker.nix b/pkgs/development/tools/build-managers/buildbot/worker.nix
new file mode 100644
index 000000000000..36b57a41aa73
--- /dev/null
+++ b/pkgs/development/tools/build-managers/buildbot/worker.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, fetchurl
+, pythonPackages
+}:
+
+pythonPackages.buildPythonApplication (rec {
+  name = "buildbot-worker-${version}";
+  version = "0.9.0rc2";
+
+  src = fetchurl {
+    url = "https://pypi.python.org/packages/6a/be/ae80e5e87bc92ac813cd944c08d3b6168090145fc168e7a553e88c07067a/${name}.tar.gz";
+    sha256 = "19l28s2fyzln6nv2ypbdg11xiz7lrjy0n64fzhngfalv61x2bp8j";
+  };
+
+  buildInputs = with pythonPackages; [ setuptoolsTrial mock ];
+  propagatedBuildInputs = with pythonPackages; [ twisted future ];
+
+  meta = with stdenv.lib; {
+    homepage = http://buildbot.net/;
+    description = "Buildbot Worker Daemon";
+    maintainers = with maintainers; [ nand0p ryansydnor ];
+    platforms = platforms.all;
+  };
+})
diff --git a/pkgs/development/tools/build-managers/cmake/2.8.nix b/pkgs/development/tools/build-managers/cmake/2.8.nix
index 885e10b465ae..919c80e7ce58 100644
--- a/pkgs/development/tools/build-managers/cmake/2.8.nix
+++ b/pkgs/development/tools/build-managers/cmake/2.8.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = optional wantPS ps;
 
   CMAKE_PREFIX_PATH = concatStringsSep ":"
-    (concatMap (p: [ p p.out ]) buildInputs);
+    (concatMap (p: [ (p.dev or p) (p.out or p) ]) buildInputs);
 
   configureFlags =
     "--docdir=/share/doc/${name} --mandir=/share/man --system-libs"
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.cmake.org/;
     description = "Cross-Platform Makefile Generator";
-    platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.all;
+    platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ urkud mornfall ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
index eaabb37f4987..f6dd5460c352 100755
--- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
@@ -70,15 +70,25 @@ else
 fi
 
 makeCmakeFindLibs(){
+  isystem_seen=
   for flag in $NIX_CFLAGS_COMPILE $NIX_LDFLAGS; do
-    case $flag in
-      -I*)
-        export CMAKE_INCLUDE_PATH="$CMAKE_INCLUDE_PATH${CMAKE_INCLUDE_PATH:+:}${flag:2}"
-        ;;
-      -L*)
-        export CMAKE_LIBRARY_PATH="$CMAKE_LIBRARY_PATH${CMAKE_LIBRARY_PATH:+:}${flag:2}"
-        ;;
-    esac
+    if test -n "$isystem_seen" && test -d "$flag"; then
+      isystem_seen=
+      export CMAKE_INCLUDE_PATH="$CMAKE_INCLUDE_PATH${CMAKE_INCLUDE_PATH:+:}${flag}"
+    else
+      isystem_seen=
+      case $flag in
+        -I*)
+          export CMAKE_INCLUDE_PATH="$CMAKE_INCLUDE_PATH${CMAKE_INCLUDE_PATH:+:}${flag:2}"
+          ;;
+        -L*)
+          export CMAKE_LIBRARY_PATH="$CMAKE_LIBRARY_PATH${CMAKE_LIBRARY_PATH:+:}${flag:2}"
+          ;;
+        -isystem)
+          isystem_seen=1
+          ;;
+      esac
+    fi
   done
 }
 
diff --git a/pkgs/development/tools/build-managers/gnumake/3.80/default.nix b/pkgs/development/tools/build-managers/gnumake/3.80/default.nix
index 9422a74aedda..ad855df73534 100644
--- a/pkgs/development/tools/build-managers/gnumake/3.80/default.nix
+++ b/pkgs/development/tools/build-managers/gnumake/3.80/default.nix
@@ -2,12 +2,16 @@
 
 stdenv.mkDerivation {
   name = "gnumake-3.80";
+
   src = fetchurl {
     url = http://tarballs.nixos.org/make-3.80.tar.bz2;
-    md5 = "0bbd1df101bc0294d440471e50feca71";
+    sha256 = "06rgz6npynr8whmf7rxgkyvcz0clf3ggwf4cyhj3fcscn3kkk6x9";
   };
+
   patches = [./log.patch];
 
+  hardeningDisable = [ "format" ];
+
   meta = {
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/tools/build-managers/mk/default.nix b/pkgs/development/tools/build-managers/mk/default.nix
index 98ddd9d34e9f..f510752d385a 100644
--- a/pkgs/development/tools/build-managers/mk/default.nix
+++ b/pkgs/development/tools/build-managers/mk/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "mk-2006-01-31";
   src = fetchurl {
     url = http://tarballs.nixos.org/mk-20060131.tar.gz;
-    md5 = "167fd4e0eea4f49def01984ec203289b";
+    sha256 = "0za8dp1211bdp4584xb59liqpww7w1ql0cmlv34p9y928nibcxsr";
   };
   builder = ./builder.sh;
 
diff --git a/pkgs/development/tools/continuous-integration/gocd-agent/default.nix b/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
index e252362a0592..cdc4e6db2c2d 100644
--- a/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
+++ b/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "gocd-agent-${version}-${rev}";
-  version = "16.7.0";
-  rev = "3819";
+  version = "16.9.0";
+  rev = "4001";
 
   src = fetchurl {
     url = "https://download.go.cd/binaries/${version}-${rev}/generic/go-agent-${version}-${rev}.zip";
-    sha256 = "24cc47099d2e9cc1d3983e1ab65957316770f791632e572189b1e6c0183403b7";
+    sha256 = "1xcwwjf2khhng6v1y7dvi579y2j643al9n0x80m0c46qb9mzd04x";
   };
   meta = with stdenv.lib; {
     description = "A continuous delivery server specializing in advanced workflow modeling and visualization";
diff --git a/pkgs/development/tools/continuous-integration/gocd-server/default.nix b/pkgs/development/tools/continuous-integration/gocd-server/default.nix
index 474bcba6c712..8982ca5f77ad 100644
--- a/pkgs/development/tools/continuous-integration/gocd-server/default.nix
+++ b/pkgs/development/tools/continuous-integration/gocd-server/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "gocd-server-${version}-${rev}";
-  version = "16.7.0";
-  rev = "3819";
+  version = "16.9.0";
+  rev = "4001";
 
   src = fetchurl {
     url = "https://download.go.cd/binaries/${version}-${rev}/generic/go-server-${version}-${rev}.zip";
-    sha256 = "3fae89741726eac69adab8dd64cd18918343188eeb43496e88d4f3abbe0998ad";
+    sha256 = "0x5pmjbhrka6p27drkrca7872vgsjxaa5j0cbxsa2ds02wrn57a7";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/deis/default.nix b/pkgs/development/tools/deis/default.nix
index 471cc80663da..5c76fc69ac3a 100644
--- a/pkgs/development/tools/deis/default.nix
+++ b/pkgs/development/tools/deis/default.nix
@@ -21,5 +21,5 @@ buildGoPackage rec {
     sha256 = "1qv9lxqx7m18029lj8cw3k7jngvxs4iciwrypdy0gd2nnghc68sw";
   };
 
-  goDeps = ./deps.json;
+  goDeps = ./deps.nix;
 }
diff --git a/pkgs/development/tools/deis/deps.json b/pkgs/development/tools/deis/deps.json
deleted file mode 100644
index b28ce075e81f..000000000000
--- a/pkgs/development/tools/deis/deps.json
+++ /dev/null
@@ -1,29 +0,0 @@
-[
-    {
-        "goPackagePath": "gopkg.in/yaml.v2",
-        "fetch": {
-            "type": "git",
-            "url": "https://gopkg.in/yaml.v2",
-            "rev": "a83829b6f1293c91addabc89d0571c246397bbf4",
-            "sha256": "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh"
-        }
-    },
-    {
-        "goPackagePath": "github.com/docopt/docopt-go",
-        "fetch": {
-            "type": "git",
-            "url": "https://github.com/docopt/docopt-go",
-            "rev": "784ddc588536785e7299f7272f39101f7faccc3f",
-            "sha256": "0wwz48jl9fvl1iknvn9dqr4gfy1qs03gxaikrxxp9gry6773v3sj"
-        }
-    },
-    {
-        "goPackagePath": "golang.org/x/crypto",
-        "fetch": {
-            "type": "git",
-            "url": "https://go.googlesource.com/crypto",
-            "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6",
-            "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"
-        }
-    }
-]
diff --git a/pkgs/development/tools/deis/deps.nix b/pkgs/development/tools/deis/deps.nix
new file mode 100644
index 000000000000..5a1b30a7e662
--- /dev/null
+++ b/pkgs/development/tools/deis/deps.nix
@@ -0,0 +1,29 @@
+[
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "a83829b6f1293c91addabc89d0571c246397bbf4";
+      sha256 = "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh";
+    };
+  }
+  {
+    goPackagePath = "github.com/docopt/docopt-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/docopt/docopt-go";
+      rev = "784ddc588536785e7299f7272f39101f7faccc3f";
+      sha256 = "0wwz48jl9fvl1iknvn9dqr4gfy1qs03gxaikrxxp9gry6773v3sj";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "575fdbe86e5dd89229707ebec0575ce7d088a4a6";
+      sha256 = "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa";
+    };
+  }
+]
diff --git a/pkgs/development/tools/go-repo-root/default.nix b/pkgs/development/tools/go-repo-root/default.nix
index d6ae032f0782..e47b84354d62 100644
--- a/pkgs/development/tools/go-repo-root/default.nix
+++ b/pkgs/development/tools/go-repo-root/default.nix
@@ -13,5 +13,5 @@ buildGoPackage rec {
     sha256 = "1rlzp8kjv0a3dnfhyqcggny0ad648j5csr2x0siq5prahlp48mg4";
   };
 
-  buildInputs = [ gotools ];
+  goDeps = ./deps.nix;
 }
diff --git a/pkgs/development/tools/go-repo-root/deps.nix b/pkgs/development/tools/go-repo-root/deps.nix
new file mode 100644
index 000000000000..2554b3cad1a5
--- /dev/null
+++ b/pkgs/development/tools/go-repo-root/deps.nix
@@ -0,0 +1,20 @@
+[
+  {
+    goPackagePath = "golang.org/x/tools/go/vcs";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "9ae4729fba20b3533d829a9c6ba8195b068f2abc";
+      sha256 = "1j51aaskfqc953p5s9naqimr04hzfijm4yczdsiway1xnnvvpfr1";
+    };
+  }
+  {
+    goPackagePath = "code.google.com/p/go.tools/go/vcs";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "9ae4729fba20b3533d829a9c6ba8195b068f2abc";
+      sha256 = "1j51aaskfqc953p5s9naqimr04hzfijm4yczdsiway1xnnvvpfr1";
+    };
+  }
+]
diff --git a/pkgs/development/tools/go2nix/default.nix b/pkgs/development/tools/go2nix/default.nix
index e0e9fe8c3fc5..f12497eb78c6 100644
--- a/pkgs/development/tools/go2nix/default.nix
+++ b/pkgs/development/tools/go2nix/default.nix
@@ -3,7 +3,7 @@
 
 buildGoPackage rec {
   name = "go2nix-${version}";
-  version = "0.1.0";
+  version = "1.1.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/kamilchm/go2nix";
@@ -12,10 +12,10 @@ buildGoPackage rec {
     inherit rev;
     owner = "kamilchm";
     repo = "go2nix";
-    sha256 = "10nz7gva3n6wk01wphrjjb31sy33kf9ji03zr849x21a669fnmjf";
+    sha256 = "0asbbcyf1hh8khakych0y09rjarjiywr8pyy1v8ghpr1vvg43a09";
   };
 
-  goDeps = ./deps.json;
+  goDeps = ./deps.nix;
 
   buildInputs = [ go-bindata goimports makeWrapper ];
   preBuild = ''go generate ./...'';
diff --git a/pkgs/development/tools/go2nix/deps.json b/pkgs/development/tools/go2nix/deps.json
deleted file mode 100644
index ab9d0d39fce8..000000000000
--- a/pkgs/development/tools/go2nix/deps.json
+++ /dev/null
@@ -1,20 +0,0 @@
-[
-    {
-        "goPackagePath": "github.com/Masterminds/vcs",
-        "fetch": {
-            "type": "git",
-            "url": "https://github.com/Masterminds/vcs",
-            "rev": "7af28b64c5ec41b1558f5514fd938379822c237c",
-            "sha256": "127pamr5lkym3iq6z747bm4y4gyc02glrqb61yv82z1rdyv1dcf6"
-        }
-    },
-    {
-        "goPackagePath": "github.com/jawher/mow.cli",
-        "fetch": {
-            "type": "git",
-            "url": "https://github.com/jawher/mow.cli",
-            "rev": "772320464101e904cd51198160eb4d489be9cc49",
-            "sha256": "1a8hnh2k3vc3prjhnz4rjbiwhqq6r3mi18h9cdb6fc6s6yzjc19j"
-        }
-    }
-]
diff --git a/pkgs/development/tools/go2nix/deps.nix b/pkgs/development/tools/go2nix/deps.nix
new file mode 100644
index 000000000000..8fc784f4b7f8
--- /dev/null
+++ b/pkgs/development/tools/go2nix/deps.nix
@@ -0,0 +1,20 @@
+[
+    {
+        goPackagePath = "github.com/Masterminds/vcs";
+        fetch = {
+            type = "git";
+            url = "https://github.com/Masterminds/vcs";
+            rev = "7af28b64c5ec41b1558f5514fd938379822c237c";
+            sha256 = "127pamr5lkym3iq6z747bm4y4gyc02glrqb61yv82z1rdyv1dcf6";
+        };
+    }
+    {
+        goPackagePath = "github.com/jawher/mow.cli";
+        fetch = {
+            type = "git";
+            url = "https://github.com/jawher/mow.cli";
+            rev = "772320464101e904cd51198160eb4d489be9cc49";
+            sha256 = "1a8hnh2k3vc3prjhnz4rjbiwhqq6r3mi18h9cdb6fc6s6yzjc19j";
+        };
+    }
+]
diff --git a/pkgs/development/tools/golint/default.nix b/pkgs/development/tools/golint/default.nix
index 29e5b28ad57f..c54a924a1a65 100644
--- a/pkgs/development/tools/golint/default.nix
+++ b/pkgs/development/tools/golint/default.nix
@@ -14,5 +14,5 @@ buildGoPackage rec {
     sha256 = "024dllcmpg8lx78cqgq551i6f9w6qlykfcx8l7yazak9kjwhpwjg";
   };
 
-  goDeps = ./deps.json;
+  goDeps = ./deps.nix;
 }
diff --git a/pkgs/development/tools/golint/deps.json b/pkgs/development/tools/golint/deps.json
deleted file mode 100644
index 387adc6cf069..000000000000
--- a/pkgs/development/tools/golint/deps.json
+++ /dev/null
@@ -1,11 +0,0 @@
-[
-    {
-        "goPackagePath": "golang.org/x/tools",
-        "fetch": {
-            "type": "git",
-            "url": "https://go.googlesource.com/tools",
-            "rev": "9ae4729fba20b3533d829a9c6ba8195b068f2abc",
-            "sha256": "1j51aaskfqc953p5s9naqimr04hzfijm4yczdsiway1xnnvvpfr1"
-        }
-    }
-]
diff --git a/pkgs/development/tools/golint/deps.nix b/pkgs/development/tools/golint/deps.nix
new file mode 100644
index 000000000000..f03bf9b5b23b
--- /dev/null
+++ b/pkgs/development/tools/golint/deps.nix
@@ -0,0 +1,11 @@
+[
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "9ae4729fba20b3533d829a9c6ba8195b068f2abc";
+      sha256 = "1j51aaskfqc953p5s9naqimr04hzfijm4yczdsiway1xnnvvpfr1";
+    };
+  }
+]
diff --git a/pkgs/development/tools/gotools/default.nix b/pkgs/development/tools/gotools/default.nix
index f00794a7eb0f..3408c90cda6a 100644
--- a/pkgs/development/tools/gotools/default.nix
+++ b/pkgs/development/tools/gotools/default.nix
@@ -14,7 +14,7 @@ buildGoPackage rec {
     sha256 = "1j51aaskfqc953p5s9naqimr04hzfijm4yczdsiway1xnnvvpfr1";
   };
 
-  goDeps = ./deps.json;
+  goDeps = ./deps.nix;
 
   preConfigure = ''
     # Make the builtin tools available here
diff --git a/pkgs/development/tools/gotools/deps.json b/pkgs/development/tools/gotools/deps.json
deleted file mode 100644
index 64ae72eb3ed4..000000000000
--- a/pkgs/development/tools/gotools/deps.json
+++ /dev/null
@@ -1,11 +0,0 @@
-[
-    {
-        "goPackagePath": "golang.org/x/net",
-        "fetch": {
-            "type": "git",
-            "url": "https://go.googlesource.com/net",
-            "rev": "62ac18b461605b4be188bbc7300e9aa2bc836cd4",
-            "sha256": "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p"
-        }
-    }
-]
diff --git a/pkgs/development/tools/gotools/deps.nix b/pkgs/development/tools/gotools/deps.nix
new file mode 100644
index 000000000000..d4be771e8d6b
--- /dev/null
+++ b/pkgs/development/tools/gotools/deps.nix
@@ -0,0 +1,11 @@
+[
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "62ac18b461605b4be188bbc7300e9aa2bc836cd4";
+      sha256 = "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p";
+    };
+  }
+]
diff --git a/pkgs/development/tools/gox/default.nix b/pkgs/development/tools/gox/default.nix
index 030a59ed20c5..92bb619be70a 100644
--- a/pkgs/development/tools/gox/default.nix
+++ b/pkgs/development/tools/gox/default.nix
@@ -14,5 +14,5 @@ buildGoPackage rec {
     sha256 = "14jb2vgfr6dv7zlw8i3ilmp125m5l28ljv41a66c9b8gijhm48k1";
   };
 
-  goDeps = ./deps.json;
+  goDeps = ./deps.nix;
 }
diff --git a/pkgs/development/tools/gox/deps.json b/pkgs/development/tools/gox/deps.json
deleted file mode 100644
index 3406194137cd..000000000000
--- a/pkgs/development/tools/gox/deps.json
+++ /dev/null
@@ -1,11 +0,0 @@
-[
-    {
-        "goPackagePath": "github.com/mitchellh/iochan",
-        "fetch": {
-            "type": "git",
-            "url": "https://github.com/mitchellh/iochan",
-            "rev": "b584a329b193e206025682ae6c10cdbe03b0cd77",
-            "sha256": "1fcwdhfci41ibpng2j4c1bqfng578cwzb3c00yw1lnbwwhaq9r6b"
-        }
-    }
-]
diff --git a/pkgs/development/tools/gox/deps.nix b/pkgs/development/tools/gox/deps.nix
new file mode 100644
index 000000000000..d15b8e7c0916
--- /dev/null
+++ b/pkgs/development/tools/gox/deps.nix
@@ -0,0 +1,11 @@
+[
+  {
+    goPackagePath = "github.com/mitchellh/iochan";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/iochan";
+      rev = "b584a329b193e206025682ae6c10cdbe03b0cd77";
+      sha256 = "1fcwdhfci41ibpng2j4c1bqfng578cwzb3c00yw1lnbwwhaq9r6b";
+    };
+  }
+]
diff --git a/pkgs/development/tools/java/visualvm/default.nix b/pkgs/development/tools/java/visualvm/default.nix
index 2620a5b7741a..29d2f13ca9a8 100644
--- a/pkgs/development/tools/java/visualvm/default.nix
+++ b/pkgs/development/tools/java/visualvm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip, lib, makeWrapper, jdk, gtk }:
+{ stdenv, fetchzip, lib, makeWrapper, jdk, gtk2 }:
 
 stdenv.mkDerivation rec {
   name = "visualvm-1.3.8";
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
     # To get the native LAF, JVM needs to see GTK’s .so-s.
     wrapProgram $out/bin/visualvm \
-      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gtk ]}"
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gtk2 ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/kube-aws/default.nix b/pkgs/development/tools/kube-aws/default.nix
new file mode 100644
index 000000000000..0a6d0ba32210
--- /dev/null
+++ b/pkgs/development/tools/kube-aws/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, fetchFromGitHub, buildGoPackage }:
+
+with lib;
+
+buildGoPackage rec {
+  name = "kube-aws-${version}";
+  version = "0.8.1";
+
+  goPackagePath = "github.com/coreos/coreos-kubernetes";
+
+  src = fetchFromGitHub {
+    owner = "coreos";
+    repo = "coreos-kubernetes";
+    rev = "v${version}";
+    sha256 = "067nc525km0f37w5km44fs5pr22a6zz3lkdwwg2akb4hhg6f45c2";
+  };
+
+  preBuild = ''
+    (cd go/src/github.com/coreos/coreos-kubernetes
+     go generate multi-node/aws/pkg/config/config.go)
+  '';
+
+  meta = {
+    description = "Tool for deploying kubernetes on aws using coreos";
+    license = licenses.asl20;
+    homepage = https://github.com/coreos/coreos-kubernetes;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/development/tools/leaps/default.nix b/pkgs/development/tools/leaps/default.nix
index d3e820767884..6db999eea543 100644
--- a/pkgs/development/tools/leaps/default.nix
+++ b/pkgs/development/tools/leaps/default.nix
@@ -14,7 +14,7 @@ buildGoPackage rec {
     fetchSubmodules = false;  
   };
 
-  goDeps = ./deps.json;
+  goDeps = ./deps.nix;
   meta = {
     description = "A pair programming tool and library written in Golang";
     homepage = "https://github.com/jeffail/leaps/";
diff --git a/pkgs/development/tools/leaps/deps.json b/pkgs/development/tools/leaps/deps.json
deleted file mode 100644
index 60141d5eeeeb..000000000000
--- a/pkgs/development/tools/leaps/deps.json
+++ /dev/null
@@ -1,11 +0,0 @@
-[
-  {
-   "goPackagePath": "golang.org/x/net",
-    "fetch": {
-      "type": "git",
-       "url": "https://go.googlesource.com/net",
-       "rev": "07b51741c1d6423d4a6abab1c49940ec09cb1aaf",
-       "sha256": "12lvdj0k2gww4hw5f79qb9yswqpy4i3bgv1likmf3mllgdxfm20w"
-    }
-  }
-]
diff --git a/pkgs/development/tools/leaps/deps.nix b/pkgs/development/tools/leaps/deps.nix
new file mode 100644
index 000000000000..0a6214a76d0b
--- /dev/null
+++ b/pkgs/development/tools/leaps/deps.nix
@@ -0,0 +1,11 @@
+[
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "07b51741c1d6423d4a6abab1c49940ec09cb1aaf";
+      sha256 = "12lvdj0k2gww4hw5f79qb9yswqpy4i3bgv1likmf3mllgdxfm20w";
+    };
+  }
+]
diff --git a/pkgs/development/tools/literate-programming/noweb/default.nix b/pkgs/development/tools/literate-programming/noweb/default.nix
index 756da8a85393..44df2b1e1534 100644
--- a/pkgs/development/tools/literate-programming/noweb/default.nix
+++ b/pkgs/development/tools/literate-programming/noweb/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   postInstall= ''
     substituteInPlace $out/bin/cpif --replace "PATH=/bin:/usr/bin" ""
     for f in $out/bin/{noweb,nountangle,noroots,noroff,noindex} \
-             $out/lib/noweb/{toroff,btdefn,totex,pipedoc,noidx,unmarkup,toascii,tohtml,emptydefn}; do
+             $out/lib/noweb/{toroff,btdefn,totex,noidx,unmarkup,toascii,tohtml,emptydefn}; do
       substituteInPlace $f --replace "nawk" "${gawk}/bin/awk"
     done
   '';
diff --git a/pkgs/development/tools/minizinc/default.nix b/pkgs/development/tools/minizinc/default.nix
new file mode 100644
index 000000000000..cd9bf94b904a
--- /dev/null
+++ b/pkgs/development/tools/minizinc/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, cmake, flex, bison }:
+let
+  version = "2.0.14";
+in
+stdenv.mkDerivation {
+  name = "minizinc-${version}";
+
+  buildInputs = [ cmake flex bison ];
+
+  src = fetchFromGitHub {
+    rev = "${version}";
+    owner = "MiniZinc";
+    repo = "libminizinc";
+    sha256 = "02wy91nv79lrvvhhimcxp7sqz5wd457n1n68zl7qcsm5vfn1hm4q";
+  };
+
+  # meta is all the information about the package..
+  meta = with stdenv.lib; {
+    homepage = "http://www.minizinc.org/";
+    description = "MiniZinc is a medium-level constraint modelling language.";
+
+    longDescription = ''
+      MiniZinc is a medium-level constraint modelling
+      language. It is high-level enough to express most
+      constraint problems easily, but low-level enough
+      that it can be mapped onto existing solvers easily and consistently.
+      It is a subset of the higher-level language Zinc.
+    '';
+
+    license = licenses.mpl20;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.sheenobu ];
+  };
+}
+
diff --git a/pkgs/development/tools/misc/autogen/default.nix b/pkgs/development/tools/misc/autogen/default.nix
index 8170fc46f340..251387e7bd51 100644
--- a/pkgs/development/tools/misc/autogen/default.nix
+++ b/pkgs/development/tools/misc/autogen/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "01d4m8ckww12sy50vgyxlnz83z9dxqpyqp153cscncc9w6jq19d7";
   };
 
-  outputs = [ "dev" "bin" "lib" "out" "man" "info" ];
+  outputs = [ "bin" "dev" "lib" "out" "man" "info" ];
 
   nativeBuildInputs = [ which pkgconfig perl ];
   buildInputs = [ guile libxml2 ];
diff --git a/pkgs/development/tools/misc/automake/automake-1.10.x.nix b/pkgs/development/tools/misc/automake/automake-1.10.x.nix
deleted file mode 100644
index 2d9937bc48c2..000000000000
--- a/pkgs/development/tools/misc/automake/automake-1.10.x.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ stdenv, fetchurl, perl, autoconf, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  name = "automake-1.10.3";
-
-  # TODO: Remove the `aclocal' wrapper when $ACLOCAL_PATH support is
-  # available upstream; see
-  # <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9026>.
-  builder = ./builder.sh;
-
-  setupHook = ./setup-hook.sh;
-
-  src = fetchurl {
-    url = "mirror://gnu/automake/${name}.tar.gz";
-    sha256 = "fda9b22ec8705780c8292510b3376bb45977f45a4f7eb3578c5ad126d7758028";
-  };
-
-  buildInputs = [perl autoconf makeWrapper];
-
-  # Disable indented log output from Make, otherwise "make.test" will
-  # fail.
-  preCheck = "unset NIX_INDENT_MAKE";
-
-  # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
-  # "fixed" path in generated files!
-  dontPatchShebangs = true;
-
-  # Run the test suite in parallel.
-  enableParallelBuilding = true;
-
-  meta = {
-    branch = "1.10";
-    homepage = http://www.gnu.org/software/automake/;
-    description = "GNU standard-compliant makefile generator";
-
-    longDescription = ''
-      GNU Automake is a tool for automatically generating
-      `Makefile.in' files compliant with the GNU Coding
-      Standards.  Automake requires the use of Autoconf.
-    '';
-
-    license = stdenv.lib.licenses.gpl2Plus;
-
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index bbdb01bdc65f..4c32255e8755 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -2,7 +2,7 @@
 , cross ? null, gold ? true, bison ? null
 }:
 
-let basename = "binutils-2.26.1"; in
+let basename = "binutils-2.27"; in
 
 with { inherit (stdenv.lib) optional optionals optionalString; };
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/binutils/${basename}.tar.bz2";
-    sha256 = "1n4zjibdvqwz63kkzkjdqdp1nh993pn0lml6yyr19yx4gb44dhrr";
+    sha256 = "125clslv17xh1sab74343fg6v31msavpmaa1c1394zsqa773g5rn";
   };
 
   patches = [
@@ -34,13 +34,16 @@ stdenv.mkDerivation rec {
     ./pt-pax-flags.patch
   ];
 
-  outputs = (optional (cross == null) "dev") ++ [ "out" "info" ];
+  outputs = [ "out" "info" ] ++ (optional (cross == null) "dev");
 
   nativeBuildInputs = [ bison ];
   buildInputs = [ zlib ];
 
   inherit noSysDirs;
 
+  # FIXME needs gcc 4.9 in bootstrap tools
+  hardeningDisable = [ "stackprotector" ];
+
   preConfigure = ''
     # Clear the default library search path.
     if test "$noSysDirs" = "1"; then
diff --git a/pkgs/development/tools/misc/bsdbuild/default.nix b/pkgs/development/tools/misc/bsdbuild/default.nix
new file mode 100644
index 000000000000..0fd9f143ce9a
--- /dev/null
+++ b/pkgs/development/tools/misc/bsdbuild/default.nix
@@ -0,0 +1,68 @@
+{ stdenv, fetchurl, perl, libtool, pkgconfig, gettext, groff, ed }:
+
+stdenv.mkDerivation rec {
+  name = "bsdbuild-${version}";
+  version = "3.1";
+
+  src = fetchurl {
+    url = "http://stable.hypertriton.com/bsdbuild/${name}.tar.gz";
+    sha256 = "1zrdjh7a6z4khhfw9zrp490afq306cpl5v8wqz2z55ys7k1n5ifl";
+  };
+
+  buildInputs = [ perl groff ed ];
+  nativeBuildInputs = [ pkgconfig libtool gettext ];
+
+  prePatch = ''
+    #ignore unfamiliar flags
+    substituteInPlace configure \
+      --replace '--sbindir=*' '--sbindir=* | --includedir=* | --oldincludedir=*'
+    #same for packages using bsdbuild
+    substituteInPlace mkconfigure.pl \
+      --replace '--sbindir=*' '--sbindir=* | --includedir=* | --oldincludedir=*'
+    #insert header for missing NULL macro
+    for f in db4.pm sdl_ttf.pm mysql.pm uim.pm strlcpy.pm getpwuid.pm \
+      getaddrinfo.pm strtoll.pm free_null.pm getpwnam_r.pm \
+      gettimeofday.pm gethostbyname.pm xinerama.pm strsep.pm \
+      fontconfig.pm gettext.pm pthreads.pm strlcat.pm kqueue.pm wgl.pm \
+      alsa.pm crypt.pm cracklib.pm freesg-rg.pm edacious.pm mmap.pm \
+      agar.pm x11.pm x11.pm execvp.pm agar-core.pm dyld.pm getopt.pm \
+      strtold.pm sdl_image.pm shl_load.pm glx.pm percgi.pm timerfd.pm \
+      glob.pm dlopen.pm freesg.pm csidl.pm perl.pm select.pm \
+      portaudio.pm etubestore.pm;
+    do
+ed -s -v BSDBuild/$f << EOF
+/#include
+i
+#include <stddef.h>
+.
+w
+EOF
+    done
+  '';
+
+  configureFlags = [
+    "--with-libtool=${libtool}/bin/libtool"
+    "--enable-nls=yes"
+    "--with-gettext=${gettext}"
+    "--with-manpages=yes"
+  ];
+
+  meta = {
+    homepage = http://bsdbuild.hypertriton.com;
+    description = "A cross-platform build system.";
+
+    longDescription = ''
+      BSDBuild is a cross-platform build system. Derived from the
+      traditional 4.4BSD make libraries, BSDBuild allows BSD-style
+      Makefiles (without BSD make extensions), and works natively
+      under most operating systems and make flavors. Since BSDBuild
+      is implemented as a library (as opposed to a macro package),
+      Makefiles are edited directly, as opposed to being compiled
+      (however, if the build directory is separate from the source
+      directory, BSDBuild will produce the required Makefiles in place).
+    '';
+
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/misc/distcc/default.nix b/pkgs/development/tools/misc/distcc/default.nix
index 7a2796b48ca8..32e212a09214 100644
--- a/pkgs/development/tools/misc/distcc/default.nix
+++ b/pkgs/development/tools/misc/distcc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, popt, avahi, pkgconfig, python, gtk, runCommand
+{ stdenv, fetchFromGitHub, popt, avahi, pkgconfig, python, gtk2, runCommand
 , gcc, autoconf, automake, which, procps, libiberty_static
 , sysconfDir ? ""   # set this parameter to override the default value $out/etc
 , static ? false
@@ -16,7 +16,7 @@ let
       sha256 = "1vj31wcdas8wy52hy6749mlrca9v6ynycdiigx5ay8pnya9z73c6";
     };
 
-    buildInputs = [popt avahi pkgconfig python gtk autoconf automake pkgconfig which procps libiberty_static];
+    buildInputs = [popt avahi pkgconfig python gtk2 autoconf automake pkgconfig which procps libiberty_static];
     preConfigure =
     ''
       export CPATH=$(ls -d ${gcc.cc}/lib/gcc/*/${gcc.cc.version}/plugin/include)
@@ -28,7 +28,7 @@ let
                             ${if static then "LDFLAGS=-static" else ""}
                             --with${if static == true || popt == null then "" else "out"}-included-popt
                             --with${if avahi != null then "" else "out"}-avahi
-                            --with${if gtk != null then "" else "out"}-gtk
+                            --with${if gtk2 != null then "" else "out"}-gtk
                             --without-gnome
                             --enable-rfc2553
                             --disable-Werror   # a must on gcc 4.6
diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix
index 0a62859d2075..d4a2f80599f7 100644
--- a/pkgs/development/tools/misc/elfutils/default.nix
+++ b/pkgs/development/tools/misc/elfutils/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
 
   patches = [ ./glibc-2.21.patch ];
 
+  hardeningDisable = [ "format" ];
+
   # We need bzip2 in NativeInputs because otherwise we can't unpack the src,
   # as the host-bzip2 will be in the path.
   nativeBuildInputs = [ m4 bison flex gettext bzip2 ];
diff --git a/pkgs/development/tools/misc/gnum4/default.nix b/pkgs/development/tools/misc/gnum4/default.nix
index 0670428005e4..0696dc906449 100644
--- a/pkgs/development/tools/misc/gnum4/default.nix
+++ b/pkgs/development/tools/misc/gnum4/default.nix
@@ -15,6 +15,9 @@ stdenv.mkDerivation rec {
   # Upstream is aware of it; it may be in the next release.
   patches = [ ./s_isdir.patch ];
 
+  # FIXME needs gcc 4.9 in bootstrap tools
+  hardeningDisable = [ "stackprotector" ];
+
   meta = {
     homepage = http://www.gnu.org/software/m4/;
     description = "GNU M4, a macro processor";
diff --git a/pkgs/development/tools/misc/gtkdialog/default.nix b/pkgs/development/tools/misc/gtkdialog/default.nix
index b9d034452861..2641a1ed04fc 100644
--- a/pkgs/development/tools/misc/gtkdialog/default.nix
+++ b/pkgs/development/tools/misc/gtkdialog/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, gtk, pkgconfig, hicolor_icon_theme }:
+{stdenv, fetchurl, gtk2, pkgconfig, hicolor_icon_theme }:
 
 stdenv.mkDerivation {
   name = "gtkdialog-0.8.3";
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "ff89d2d7f1e6488e5df5f895716ac1d4198c2467a2a5dc1f51ab408a2faec38e";
   };
 
-  buildInputs = [ gtk pkgconfig hicolor_icon_theme ];
+  buildInputs = [ gtk2 pkgconfig hicolor_icon_theme ];
 
   meta = {
     homepage = http://gtkdialog.googlecode.com/;
diff --git a/pkgs/development/tools/misc/indent/default.nix b/pkgs/development/tools/misc/indent/default.nix
index 594bef7e16a3..996043c16d87 100644
--- a/pkgs/development/tools/misc/indent/default.nix
+++ b/pkgs/development/tools/misc/indent/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
     sed -i 's|#include <malloc.h>|#include <malloc/malloc.h>|' ./man/texinfo2man.c
   '';
 
+  hardeningDisable = [ "format" ];
+
   meta = {
     homepage = https://www.gnu.org/software/indent/;
     description = "A source code reformatter";
diff --git a/pkgs/development/tools/misc/kconfig-frontends/default.nix b/pkgs/development/tools/misc/kconfig-frontends/default.nix
index 13e02fb9272b..8449cf9b6f38 100644
--- a/pkgs/development/tools/misc/kconfig-frontends/default.nix
+++ b/pkgs/development/tools/misc/kconfig-frontends/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ bison flex gperf ncurses pkgconfig ];
 
+  hardeningDisable = [ "format" ];
+
   configureFlags = [
     "--enable-frontends=conf,mconf,nconf"
   ];
diff --git a/pkgs/development/tools/misc/md2man/default.nix b/pkgs/development/tools/misc/md2man/default.nix
new file mode 100644
index 000000000000..9e458f2aca5a
--- /dev/null
+++ b/pkgs/development/tools/misc/md2man/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, buildGoPackage, go, fetchFromGitHub }:
+
+with lib;
+
+buildGoPackage rec {
+  name = "go-md2man-${version}";
+  version = "1.0.6";
+
+  goPackagePath = "github.com/cpuguy83/go-md2man";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "cpuguy83";
+    repo = "go-md2man";
+    sha256 = "1rm3zjrmfpzy0l3qp02xmd5pqzl77pdql9pbxhl0k1qw2vfzrjv6";
+  };
+
+  meta = {
+    description = "Go tool to convert markdown to man pages";
+    license = licenses.mit;
+    homepage = https://github.com/cpuguy83/go-md2man;
+    maintainers = with maintainers; [offline];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix
index 77a1f2661682..807b2a9a49db 100644
--- a/pkgs/development/tools/misc/patchelf/default.nix
+++ b/pkgs/development/tools/misc/patchelf/default.nix
@@ -10,6 +10,9 @@ stdenv.mkDerivation rec {
 
   setupHook = [ ./setup-hook.sh ];
 
+  # FIXME needs gcc 4.9 in bootstrap tools
+  hardeningDisable = [ "stackprotector" ];
+
   #doCheck = true; # problems when loading libc.so.6
 
   meta = {
diff --git a/pkgs/development/tools/misc/prelink/default.nix b/pkgs/development/tools/misc/prelink/default.nix
index 15abc1f48c1e..f2c5208d7ae8 100644
--- a/pkgs/development/tools/misc/prelink/default.nix
+++ b/pkgs/development/tools/misc/prelink/default.nix
@@ -6,7 +6,9 @@ in
 stdenv.mkDerivation rec {
   name = "prelink-${version}";
 
-  buildInputs = [ libelf ];
+  buildInputs = [
+    libelf stdenv.cc.libc (stdenv.lib.getOutput "static" stdenv.cc.libc)
+  ];
 
   src = fetchurl {
     url = "http://people.redhat.com/jakub/prelink/prelink-${version}.tar.bz2";
diff --git a/pkgs/development/tools/misc/rman/default.nix b/pkgs/development/tools/misc/rman/default.nix
index 01e4b22e5f14..702dabcf3955 100644
--- a/pkgs/development/tools/misc/rman/default.nix
+++ b/pkgs/development/tools/misc/rman/default.nix
@@ -2,16 +2,21 @@
 
 stdenv.mkDerivation {
   name = "rman-3.2";
+
   src = fetchurl {
     url = mirror://sourceforge/polyglotman/3.2/rman-3.2.tar.gz;
     sha256 = "0prdld6nbkdlkcgc2r1zp13h2fh8r0mlwxx423dnc695ddlk18b8";
   };
+
   makeFlags = "BINDIR=$(out)/bin MANDIR=$(out)/share/man";
+
   preInstall = ''
     mkdir -p $out/bin
     mkdir -p $out/share/man
   '';
-  
+
+  hardeningDisable = [ "format" ];
+
   meta = {
     description = "Parse formatted man pages and man page source from most flavors of UNIX and converts them to HTML, ASCII, TkMan, DocBook, and other formats";
     license = "artistic";
diff --git a/pkgs/development/tools/misc/saleae-logic/default.nix b/pkgs/development/tools/misc/saleae-logic/default.nix
index cd027c7b08d7..50e35928bba4 100644
--- a/pkgs/development/tools/misc/saleae-logic/default.nix
+++ b/pkgs/development/tools/misc/saleae-logic/default.nix
@@ -6,7 +6,7 @@
 #
 # In NixOS, simply add this package to services.udev.packages.
 
-{ stdenv, fetchurl, unzip, glib, libSM, libICE, gtk, libXext, libXft
+{ stdenv, fetchurl, unzip, glib, libSM, libICE, gtk2, libXext, libXft
 , fontconfig, libXrender, libXfixes, libX11, libXi, libXrandr, libXcursor
 , freetype, libXinerama, libxcb, zlib, pciutils
 , makeDesktopItem, xkeyboardconfig
@@ -15,7 +15,7 @@
 let
 
   libPath = stdenv.lib.makeLibraryPath [
-    glib libSM libICE gtk libXext libXft fontconfig libXrender libXfixes libX11
+    glib libSM libICE gtk2 libXext libXft fontconfig libXrender libXfixes libX11
     libXi libXrandr libXcursor freetype libXinerama libxcb zlib stdenv.cc.cc.lib
   ];
 
diff --git a/pkgs/development/tools/misc/texinfo/6.1.nix b/pkgs/development/tools/misc/texinfo/6.1.nix
index f19ccb35508f..e3001ffba7bd 100644
--- a/pkgs/development/tools/misc/texinfo/6.1.nix
+++ b/pkgs/development/tools/misc/texinfo/6.1.nix
@@ -17,6 +17,9 @@ stdenv.mkDerivation rec {
 
   configureFlags = stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk";
 
+  # FIXME needs gcc 4.9 in bootstrap tools
+  hardeningDisable = [ "stackprotector" ];
+
   preInstall = ''
     installFlags="TEXMF=$out/texmf-dist";
     installTargets="install install-tex";
diff --git a/pkgs/development/tools/node-webkit/nw11.nix b/pkgs/development/tools/node-webkit/nw11.nix
index 2fe1ddf42d43..5028ac9580c5 100644
--- a/pkgs/development/tools/node-webkit/nw11.nix
+++ b/pkgs/development/tools/node-webkit/nw11.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, buildEnv, makeWrapper
-, xorg, alsaLib, dbus, glib, gtk, atk, pango, freetype, fontconfig
-, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, libudev, libcap
+, xorg, alsaLib, dbus, glib, gtk2, atk, pango, freetype, fontconfig
+, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, systemd, libcap
 , libnotify}:
 let
   bits = if stdenv.system == "x86_64-linux" then "x64"
@@ -9,12 +9,14 @@ let
   nwEnv = buildEnv {
     name = "node-webkit-env";
     paths = [
-      xorg.libX11 xorg.libXrender glib gtk atk pango cairo gdk_pixbuf
+      xorg.libX11 xorg.libXrender glib gtk2 atk pango cairo gdk_pixbuf
       freetype fontconfig xorg.libXcomposite alsaLib xorg.libXdamage
       xorg.libXext xorg.libXfixes nss nspr gconf expat dbus stdenv.cc
       xorg.libXtst xorg.libXi xorg.libXcursor xorg.libXrandr libcap
       libnotify
     ];
+    
+    extraOutputsToInstall = [ "lib" "out" ];
   };
 
 in stdenv.mkDerivation rec {
@@ -35,7 +37,7 @@ in stdenv.mkDerivation rec {
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nw
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nwsnapshot
 
-    ln -s ${libudev.out}/lib/libudev.so $out/share/node-webkit/libudev.so.0
+    ln -s ${systemd.lib}/lib/libudev.so $out/share/node-webkit/libudev.so.0
 
     patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nw
     patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nwsnapshot
diff --git a/pkgs/development/tools/node-webkit/nw12.nix b/pkgs/development/tools/node-webkit/nw12.nix
index f0ede1e52378..30c40331a0f9 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, gtk, atk, pango, freetype, fontconfig
-, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, libudev, libcap
+, xorg, alsaLib, dbus, glib, gtk2, atk, pango, freetype, fontconfig
+, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, systemd, libcap
 , libnotify}:
 let
   bits = if stdenv.system == "x86_64-linux" then "x64"
@@ -9,7 +9,7 @@ let
   nwEnv = buildEnv {
     name = "nwjs-env";
     paths = [
-      xorg.libX11 xorg.libXrender glib gtk atk pango cairo gdk_pixbuf
+      xorg.libX11 xorg.libXrender glib gtk2 atk pango cairo gdk_pixbuf
       freetype fontconfig xorg.libXcomposite alsaLib xorg.libXdamage
       xorg.libXext xorg.libXfixes nss nspr gconf expat dbus
       xorg.libXtst xorg.libXi xorg.libXcursor xorg.libXrandr libcap
@@ -39,7 +39,7 @@ in stdenv.mkDerivation rec {
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/nwjs/nw
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/nwjs/nwjc
 
-    ln -s ${libudev.out}/lib/libudev.so $out/share/nwjs/libudev.so.0
+    ln -s ${systemd.lib}/lib/libudev.so $out/share/nwjs/libudev.so.0
 
     patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}:$out/share/nwjs" $out/share/nwjs/nw
     patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/nwjs" $out/share/nwjs/nwjc
diff --git a/pkgs/development/tools/node-webkit/nw9.nix b/pkgs/development/tools/node-webkit/nw9.nix
index d8601865c6d1..ba5d6c8e3343 100644
--- a/pkgs/development/tools/node-webkit/nw9.nix
+++ b/pkgs/development/tools/node-webkit/nw9.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, buildEnv, makeWrapper
-, xorg, alsaLib, dbus, glib, gtk, atk, pango, freetype, fontconfig
-, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, libudev }:
+, xorg, alsaLib, dbus, glib, gtk2, atk, pango, freetype, fontconfig
+, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, systemd }:
 let
   bits = if stdenv.system == "x86_64-linux" then "x64"
          else "ia32";
@@ -8,11 +8,13 @@ let
   nwEnv = buildEnv {
     name = "node-webkit-env";
     paths = [
-      xorg.libX11 xorg.libXrender glib gtk atk pango cairo gdk_pixbuf
+      xorg.libX11 xorg.libXrender glib gtk2 atk pango cairo gdk_pixbuf
       freetype fontconfig xorg.libXcomposite alsaLib xorg.libXdamage
       xorg.libXext xorg.libXfixes nss nspr gconf expat dbus stdenv.cc.cc
       xorg.libXtst xorg.libXi
     ];
+    
+    extraOutputsToInstall = [ "lib" "out" ];
   };
 
 in stdenv.mkDerivation rec {
@@ -33,7 +35,7 @@ in stdenv.mkDerivation rec {
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nw
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nwsnapshot
 
-    ln -s ${libudev.out}/lib/libudev.so $out/share/node-webkit/libudev.so.0
+    ln -s ${systemd.lib}/lib/libudev.so $out/share/node-webkit/libudev.so.0
 
     patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nw
     patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nwsnapshot
diff --git a/pkgs/development/tools/ocaml/opam/default.nix b/pkgs/development/tools/ocaml/opam/default.nix
index 0d765ec93bbb..afa480296f6f 100644
--- a/pkgs/development/tools/ocaml/opam/default.nix
+++ b/pkgs/development/tools/ocaml/opam/default.nix
@@ -1,4 +1,7 @@
-{ stdenv, fetchgit, fetchurl, ocaml, unzip, ncurses, curl }:
+{ stdenv, fetchgit, fetchurl, makeWrapper,
+  ocaml, unzip, ncurses, curl,
+  aspcudSupport ? !stdenv.isDarwin, aspcud
+}:
 
 assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12.1";
 
@@ -45,7 +48,7 @@ in stdenv.mkDerivation rec {
   name = "opam-${version}";
   version = "1.2.2";
 
-  buildInputs = [ unzip curl ncurses ocaml ];
+  buildInputs = [ unzip curl ncurses ocaml makeWrapper];
 
   src = srcs.opam;
 
@@ -69,6 +72,13 @@ in stdenv.mkDerivation rec {
   # Dirty, but apparently ocp-build requires a TERM
   makeFlags = ["TERM=screen"];
 
+  postInstall =
+    if aspcudSupport then ''
+      wrapProgram $out/bin/opam \
+        --suffix PATH : ${aspcud}/bin
+    ''
+    else "";
+
   doCheck = false;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/omniorb/default.nix b/pkgs/development/tools/omniorb/default.nix
index 09955ca5d70d..8488d47dea5f 100644
--- a/pkgs/development/tools/omniorb/default.nix
+++ b/pkgs/development/tools/omniorb/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ python ];
 
+  hardeningDisable = [ "format" ];
+
   meta = with stdenv.lib; {
     description = "omniORB is a robust high performance CORBA ORB for C++ and Python. It is freely available under the terms of the GNU Lesser General Public License (for the libraries), and GNU General Public License (for the tools). omniORB is largely CORBA 2.6 compliant";
     homepage    = "http://omniorb.sourceforge.net/";
diff --git a/pkgs/development/tools/packer/default.nix b/pkgs/development/tools/packer/default.nix
index 5b8c13e3baf9..7e8e2092ceb7 100644
--- a/pkgs/development/tools/packer/default.nix
+++ b/pkgs/development/tools/packer/default.nix
@@ -5,9 +5,9 @@ stdenv.mkDerivation rec {
   name = "packer-${version}";
   version = "0.10.1";
 
-  src = import ./deps.nix {
+  src = (import ./deps.nix {
     inherit stdenv lib gox gotools buildGoPackage fetchgit fetchhg fetchbzr fetchsvn;
-  };
+  }).out;
 
   buildInputs = [ src.go gox gotools ];
 
diff --git a/pkgs/development/tools/parsing/antlr/3.4.nix b/pkgs/development/tools/parsing/antlr/3.4.nix
new file mode 100644
index 000000000000..a92e8aa72518
--- /dev/null
+++ b/pkgs/development/tools/parsing/antlr/3.4.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl, jre}:
+
+stdenv.mkDerivation rec {
+  name = "antlr-${version}";
+  version = "3.4";
+  src = fetchurl {
+    url ="http://www.antlr3.org/download/antlr-${version}-complete.jar";
+    sha256 = "1xqbam8vf04q5fasb0m2n1pn5dbp2yw763sj492ncq04c5mqcglx";
+  };
+
+  unpackPhase = "true";
+ 
+  installPhase = ''
+    mkdir -p "$out"/{lib/antlr,bin}
+    cp "$src" "$out/lib/antlr/antlr-${version}-complete.jar"
+
+    echo "#! ${stdenv.shell}" >> "$out/bin/antlr"
+    echo "'${jre}/bin/java' -cp '$out/lib/antlr/antlr-${version}-complete.jar' -Xms200M -Xmx400M org.antlr.Tool \"\$@\"" >> "$out/bin/antlr"
+
+    chmod a+x "$out/bin/antlr"
+    ln -s "$out/bin/antlr"{,3}
+  '';
+
+  inherit jre;
+
+  meta = with stdenv.lib; {
+    description = "Powerful parser generator";
+    longDescription = ''
+      ANTLR (ANother Tool for Language Recognition) is a powerful parser
+      generator for reading, processing, executing, or translating structured
+      text or binary files. It's widely used to build languages, tools, and
+      frameworks. From a grammar, ANTLR generates a parser that can build and
+      walk parse trees.
+    '';
+    homepage = http://www.antlr.org/;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/parsing/antlr/3.5.nix b/pkgs/development/tools/parsing/antlr/3.5.nix
new file mode 100644
index 000000000000..5e10003dd6f9
--- /dev/null
+++ b/pkgs/development/tools/parsing/antlr/3.5.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl, jre}:
+
+stdenv.mkDerivation rec {
+  name = "antlr-${version}";
+  version = "3.5.2";
+  src = fetchurl {
+    url ="http://www.antlr3.org/download/antlr-${version}-complete.jar";
+    sha256 = "0srjwxipwsfzmpi0v32d1l5lzk9gi5in8ayg33sq8wyp8ygnbji6";
+  };
+
+  unpackPhase = "true";
+ 
+  installPhase = ''
+    mkdir -p "$out"/{lib/antlr,bin}
+    cp "$src" "$out/lib/antlr/antlr-${version}-complete.jar"
+
+    echo "#! ${stdenv.shell}" >> "$out/bin/antlr"
+    echo "'${jre}/bin/java' -cp '$out/lib/antlr/antlr-${version}-complete.jar' -Xms200M -Xmx400M org.antlr.Tool \"\$@\"" >> "$out/bin/antlr"
+
+    chmod a+x "$out/bin/antlr"
+    ln -s "$out/bin/antlr"{,3}
+  '';
+
+  inherit jre;
+
+  meta = with stdenv.lib; {
+    description = "Powerful parser generator";
+    longDescription = ''
+      ANTLR (ANother Tool for Language Recognition) is a powerful parser
+      generator for reading, processing, executing, or translating structured
+      text or binary files. It's widely used to build languages, tools, and
+      frameworks. From a grammar, ANTLR generates a parser that can build and
+      walk parse trees.
+    '';
+    homepage = http://www.antlr.org/;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/parsing/bison/3.x.nix b/pkgs/development/tools/parsing/bison/3.x.nix
index 6aa717c53cde..ebbee4e693dc 100644
--- a/pkgs/development/tools/parsing/bison/3.x.nix
+++ b/pkgs/development/tools/parsing/bison/3.x.nix
@@ -11,6 +11,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ m4 perl ] ++ stdenv.lib.optional stdenv.isSunOS help2man;
   propagatedBuildInputs = [ m4 ];
 
+  # FIXME needs gcc 4.9 in bootstrap tools
+  hardeningDisable = [ "stackprotector" ];
+
   meta = {
     homepage = "http://www.gnu.org/software/bison/";
     description = "Yacc-compatible parser generator";
diff --git a/pkgs/development/tools/profiling/sysprof/default.nix b/pkgs/development/tools/profiling/sysprof/default.nix
index e3dc3d77abcc..4be334e20ed9 100644
--- a/pkgs/development/tools/profiling/sysprof/default.nix
+++ b/pkgs/development/tools/profiling/sysprof/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, binutils
-, pkgconfig, gtk, glib, pango, libglade }:
+, pkgconfig, gtk2, glib, pango, libglade }:
 
 stdenv.mkDerivation rec {
   name = "sysprof-1.2.0";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1wb4d844rsy8qjg3z5m6rnfm72da4xwzrrkkb1q5r10sq1pkrw5s";
   };
 
-  buildInputs = [ binutils pkgconfig gtk glib pango libglade ];
+  buildInputs = [ binutils pkgconfig gtk2 glib pango libglade ];
 
   meta = {
     homepage = http://sysprof.com/;
diff --git a/pkgs/development/tools/remarshal/default.nix b/pkgs/development/tools/remarshal/default.nix
index 49de886654c8..ecf919a98298 100644
--- a/pkgs/development/tools/remarshal/default.nix
+++ b/pkgs/development/tools/remarshal/default.nix
@@ -12,7 +12,7 @@ buildGoPackage rec {
     sha256 = "0lhsqca3lq3xvdwsmrngv4p6b7k2lkbfnxnk5qj6jdd5y7f4b496";
   };
 
-  goDeps = ./deps.json;
+  goDeps = ./deps.nix;
 
   meta = with lib; {
     description = "Convert between TOML, YAML and JSON";
diff --git a/pkgs/development/tools/remarshal/deps.json b/pkgs/development/tools/remarshal/deps.json
deleted file mode 100644
index 1cc264181c4c..000000000000
--- a/pkgs/development/tools/remarshal/deps.json
+++ /dev/null
@@ -1,20 +0,0 @@
-[
-    {
-        "goPackagePath": "gopkg.in/yaml.v2",
-        "fetch": {
-            "type": "git",
-            "url": "https://gopkg.in/yaml.v2",
-            "rev": "a83829b6f1293c91addabc89d0571c246397bbf4",
-            "sha256": "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh"
-        }
-    },
-    {
-        "goPackagePath": "github.com/BurntSushi/toml",
-        "fetch": {
-            "type": "git",
-            "url": "https://github.com/BurntSushi/toml",
-            "rev": "056c9bc7be7190eaa7715723883caffa5f8fa3e4",
-            "sha256": "0gkgkw04ndr5y7hrdy0r4v2drs5srwfcw2bs1gyas066hwl84xyw"
-        }
-    }
-]
diff --git a/pkgs/development/tools/remarshal/deps.nix b/pkgs/development/tools/remarshal/deps.nix
new file mode 100644
index 000000000000..32f9f6eb0bb5
--- /dev/null
+++ b/pkgs/development/tools/remarshal/deps.nix
@@ -0,0 +1,20 @@
+[
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "a83829b6f1293c91addabc89d0571c246397bbf4";
+      sha256 = "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh";
+    };
+  }
+  {
+    goPackagePath = "github.com/BurntSushi/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/toml";
+      rev = "056c9bc7be7190eaa7715723883caffa5f8fa3e4";
+      sha256 = "0gkgkw04ndr5y7hrdy0r4v2drs5srwfcw2bs1gyas066hwl84xyw";
+    };
+  }
+]
diff --git a/pkgs/development/tools/rtags/default.nix b/pkgs/development/tools/rtags/default.nix
index 06ab4ffed3ca..959681c7e1a8 100644
--- a/pkgs/development/tools/rtags/default.nix
+++ b/pkgs/development/tools/rtags/default.nix
@@ -2,8 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "rtags-${version}";
-  version = "git-2016-04-29";
-  rev = "233543d343bf86fa31c35ee21242fa2da3a965ab";
+  version = "2.3";
 
   buildInputs = [ cmake llvmPackages.llvm openssl llvmPackages.clang emacs ];
 
@@ -13,10 +12,10 @@ stdenv.mkDerivation rec {
   '';
 
   src = fetchgit {
-    inherit rev;
+    rev = "refs/tags/v${version}";
     fetchSubmodules = true;
     url = "https://github.com/andersbakken/rtags.git";
-    sha256 = "10j1s7kvnd5823p1kgx3hyca9jz9j27y6xk0q208p095wf8hk105";
+    sha256 = "05kzch88x2wiimygfli6vsr9i5hzgkybsya8qx4zvb6daip4b7yf";
   };
 
   meta = {
diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix
index 1f2153bf3375..6a10f73cfe4f 100644
--- a/pkgs/development/tools/selenium/chromedriver/default.nix
+++ b/pkgs/development/tools/selenium/chromedriver/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cairo, fontconfig, freetype, gdk_pixbuf, glib
-, glibc, gtk, libX11, makeWrapper, nspr, nss, pango, unzip, gconf
+, glibc, gtk2, libX11, makeWrapper, nspr, nss, pango, unzip, gconf
 , libXi, libXrender, libXext
 }:
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     mv chromedriver $out/bin
     patchelf --set-interpreter ${glibc.out}/lib/ld-linux-x86-64.so.2 $out/bin/chromedriver
     wrapProgram "$out/bin/chromedriver" \
-      --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc.lib cairo fontconfig freetype gdk_pixbuf glib gtk libX11 nspr nss pango libXrender gconf libXext libXi ]}:\$LD_LIBRARY_PATH"
+      --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc.lib cairo fontconfig freetype gdk_pixbuf glib gtk2 libX11 nspr nss pango libXrender gconf libXext libXi ]}:\$LD_LIBRARY_PATH"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/textql/default.nix b/pkgs/development/tools/textql/default.nix
index 4caa659c17a3..65c0bb8e41e5 100644
--- a/pkgs/development/tools/textql/default.nix
+++ b/pkgs/development/tools/textql/default.nix
@@ -14,7 +14,7 @@ buildGoPackage rec {
     sha256 = "1b61w4pc5gl7m12mphricihzq7ifnzwn0yyw3ypv0d0fj26h5hc3";
   };
 
-  goDeps = ./deps.json;
+  goDeps = ./deps.nix;
 
   meta = with stdenv.lib; {
     description = "Execute SQL against structured text like CSV or TSV";
diff --git a/pkgs/development/tools/textql/deps.json b/pkgs/development/tools/textql/deps.json
deleted file mode 100644
index 01c5de1cdc62..000000000000
--- a/pkgs/development/tools/textql/deps.json
+++ /dev/null
@@ -1,11 +0,0 @@
-[
-    {
-        "goPackagePath": "github.com/mattn/go-sqlite3",
-        "fetch": {
-            "type": "git",
-            "url": "https://github.com/mattn/go-sqlite3",
-            "rev": "b4142c444a8941d0d92b0b7103a24df9cd815e42",
-            "sha256": "0xq2y4am8dz9w9aaq24s1npg1sn8pf2gn4nki73ylz2fpjwq9vla"
-        }
-    }
-]
diff --git a/pkgs/development/tools/textql/deps.nix b/pkgs/development/tools/textql/deps.nix
new file mode 100644
index 000000000000..e166e73a61fc
--- /dev/null
+++ b/pkgs/development/tools/textql/deps.nix
@@ -0,0 +1,11 @@
+[
+  {
+    goPackagePath = "github.com/mattn/go-sqlite3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-sqlite3";
+      rev = "b4142c444a8941d0d92b0b7103a24df9cd815e42";
+      sha256 = "0xq2y4am8dz9w9aaq24s1npg1sn8pf2gn4nki73ylz2fpjwq9vla";
+    };
+  }
+]
diff --git a/pkgs/development/tools/thrust/default.nix b/pkgs/development/tools/thrust/default.nix
index a59d656b625a..91a01edc23a6 100644
--- a/pkgs/development/tools/thrust/default.nix
+++ b/pkgs/development/tools/thrust/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, buildEnv, makeWrapper, glib, alsaLib , dbus, gtk, atk
+{ stdenv, fetchurl, buildEnv, makeWrapper, glib, alsaLib , dbus, gtk2, atk
 , pango, freetype, fontconfig, gdk_pixbuf , cairo, cups, expat, nspr, gconf, nss
 , xorg, libcap, unzip
 }:
@@ -7,7 +7,7 @@ let
   thrustEnv = buildEnv {
     name = "env-thrust";
     paths = [
-      stdenv.cc.cc glib dbus gtk atk pango freetype fontconfig gdk_pixbuf
+      stdenv.cc.cc glib dbus gtk2 atk pango freetype fontconfig gdk_pixbuf
       cairo cups expat alsaLib nspr gconf nss xorg.libXrender xorg.libX11
       xorg.libXext xorg.libXdamage xorg.libXtst xorg.libXcomposite
       xorg.libXi xorg.libXfixes xorg.libXrandr xorg.libXcursor libcap
diff --git a/pkgs/development/tools/toluapp/default.nix b/pkgs/development/tools/toluapp/default.nix
index c11e1b34f1ad..64a2f4346c79 100644
--- a/pkgs/development/tools/toluapp/default.nix
+++ b/pkgs/development/tools/toluapp/default.nix
@@ -20,8 +20,6 @@ stdenv.mkDerivation rec {
       --replace /usr/local $out
   '';
 
-  NIX_CFLAGS_COMPILE = "-fPIC";
-
   buildPhase = ''scons'';
 
   installPhase = ''scons install'';
diff --git a/pkgs/development/tools/unity3d/default.nix b/pkgs/development/tools/unity3d/default.nix
index 0a72e6bb91eb..b2c96beeeb34 100644
--- a/pkgs/development/tools/unity3d/default.nix
+++ b/pkgs/development/tools/unity3d/default.nix
@@ -4,7 +4,7 @@
 , cairo, dbus, expat, zlib, libpng12, nodejs, gnutar, gcc, gcc_32bit
 , libX11, libXcursor, libXdamage, libXfixes, libXrender, libXi
 , libXcomposite, libXext, libXrandr, libXtst, libSM, libICE, libxcb
-, mono, libgnomeui, gnome_vfs, gnome-sharp, gtk-sharp, chromium
+, mono, libgnomeui, gnome_vfs, gnome-sharp, gtk-sharp-2_0, chromium
 }:
 
 let
@@ -19,10 +19,10 @@ let
   binPath = lib.makeBinPath [ nodejs gnutar ];
   developBinPath = lib.makeBinPath [ mono ];
   developLibPath = lib.makeLibraryPath [
-    glib libgnomeui gnome_vfs gnome-sharp gtk-sharp gtk-sharp.gtk
+    glib libgnomeui gnome_vfs gnome-sharp gtk-sharp-2_0 gtk-sharp-2_0.gtk
   ];
   developDotnetPath = lib.concatStringsSep ":" [
-    gnome-sharp gtk-sharp
+    gnome-sharp gtk-sharp-2_0
   ];
 
   ver = "5.3.5";
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index 242782161d75..c9987aea8325 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, dpkg, curl, libarchive, openssl, ruby, buildRubyGem, libiconv
+{ stdenv, fetchurl, fetchpatch, dpkg, curl, libarchive, openssl, ruby, buildRubyGem, libiconv
 , libxml2, libxslt, makeWrapper }:
 
 assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
 
 let
-  version = "1.8.4";
+  version = "1.8.5";
   rake = buildRubyGem {
     inherit ruby;
     gemName = "rake";
@@ -12,22 +12,34 @@ let
     sha256 = "1rn03rqlf1iv6n87a78hkda2yqparhhaivfjpizblmxvlw2hk5r8";
   };
 
-in
-stdenv.mkDerivation rec {
+  sha256 = {
+    "x86_64-linux" = "1na5hxm3ilx268hk68dpgkks1jjh9q7p3ksjx8ssiijq6df47vih";
+    "i686-linux"   = "16psr5s0azpzavizh74085z7wygkfs4ribsfalvbd96phkrkp2wp";
+  }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
+
+  arch = builtins.replaceStrings ["-linux"] [""] stdenv.system;
+
+in stdenv.mkDerivation rec {
   name = "vagrant-${version}";
   inherit version;
 
-  src =
-    if stdenv.system == "x86_64-linux" then
-      fetchurl {
-        url    = "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_x86_64.deb";
-        sha256 = "fd38d8e00e494a617201facb42fc2cac627e5021db15e91c2a041eac6a2d8208";
-      }
-    else
-      fetchurl {
-        url    = "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_i686.deb";
-        sha256 = "555351717cacaa8660821df8988cc40a39923b06b698fca6bb90621008aab06f";
-      };
+  src = fetchurl {
+    url = "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_${arch}.deb";
+    inherit sha256;
+  };
+
+  # Remove the patchFlags/patches when 1.8.6 is released
+  patchFlags = [
+    "-p1"
+    "-d ./opt/vagrant/embedded/gems/gems/vagrant-${version}"
+  ];
+  patches = [
+    (fetchpatch {
+      url = "https://patch-diff.githubusercontent.com/raw/mitchellh/vagrant/pull/7611.diff";
+      name = "fix_incorrect_ssh_keys_permissions.patch";
+      sha256 = "0lqa9xpg79ggp9fc8gzb5lv675ydj2p8l55bx4hs1hf8zz2c1hjf";
+    })
+  ];
 
   meta = with stdenv.lib; {
     description = "A tool for building complete development environments";
diff --git a/pkgs/development/tools/wp-cli/default.nix b/pkgs/development/tools/wp-cli/default.nix
index 418e23eb0e71..a116e8b73e22 100644
--- a/pkgs/development/tools/wp-cli/default.nix
+++ b/pkgs/development/tools/wp-cli/default.nix
@@ -1,38 +1,40 @@
-{ stdenv, lib, writeText, bash, fetchurl, php }:
+{ stdenv, lib, writeText, writeScript, fetchurl, php }:
 
 let
+  version = "0.24.1";
+  name = "wp-cli-${version}";
+
   phpIni = writeText "wp-cli-php.ini" ''
     [Phar]
     phar.readonly = Off
   '';
 
-in stdenv.mkDerivation rec {
-  version = "0.23.1";
-  name = "wp-cli-${version}";
+  wpBin = writeScript "wp" ''
+    #! ${stdenv.shell} -e
+    exec ${php}/bin/php \
+      -c ${phpIni} \
+      -f ${src} "$@"
+  '';
 
   src = fetchurl {
     url = "https://github.com/wp-cli/wp-cli/releases/download/v${version}/${name}.phar";
-    sha256 = "1sjai8gjsx6j82lsxq9m827bczp4ajnldk6ibj4krcisn9pjva5f";
+    sha256 = "027nclp8qbfr624ja6aixzcwnvb55d7dskk9l1i042bc86hmphfd";
   };
 
-  propagatedBuildInputs = [ php ];
+in stdenv.mkDerivation rec {
+
+  inherit name;
 
   buildCommand = ''
     mkdir -p $out/bin
-
-    cat >$out/bin/wp <<EOF
-    #! ${bash}/bin/bash -e
-    exec ${php}/bin/php -c ${phpIni} -f ${src} "\$@"
-    EOF
-
-    chmod +x $out/bin/wp
+    ln -s ${wpBin} $out/bin/wp
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A command line interface for WordPress";
-    maintainers = [ stdenv.lib.maintainers.peterhoeg ];
-    platforms = stdenv.lib.platforms.all;
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms = platforms.all;
     homepage = https://wp-cli.org;
-    license = stdenv.lib.licenses.mit;
+    license = licenses.mit;
   };
 }