about summary refs log tree commit diff
path: root/pkgs/development/tools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools')
-rw-r--r--pkgs/development/tools/analysis/checkstyle/default.nix4
-rw-r--r--pkgs/development/tools/analysis/coan/default.nix2
-rw-r--r--pkgs/development/tools/analysis/cppcheck/default.nix20
-rw-r--r--pkgs/development/tools/analysis/spin/default.nix13
-rw-r--r--pkgs/development/tools/backblaze-b2/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/default.nix9
-rw-r--r--pkgs/development/tools/build-managers/buildbot-slave/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/buildbot/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/cargo/common.nix3
-rw-r--r--pkgs/development/tools/build-managers/cargo/head.nix8
-rw-r--r--pkgs/development/tools/build-managers/cargo/snapshot.nix10
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/gup/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/icmake/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/leiningen/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/rebar3/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix4
-rw-r--r--pkgs/development/tools/compass/default.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/cide/Gemfile6
-rw-r--r--pkgs/development/tools/continuous-integration/cide/Gemfile.lock40
-rw-r--r--pkgs/development/tools/continuous-integration/cide/default.nix32
-rw-r--r--pkgs/development/tools/continuous-integration/cide/gemset.nix103
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rw-r--r--pkgs/development/tools/dcadec/default.nix24
-rw-r--r--pkgs/development/tools/devpi-client/default.nix2
-rw-r--r--pkgs/development/tools/flamegraph/default.nix27
-rw-r--r--pkgs/development/tools/galen/default.nix35
-rw-r--r--pkgs/development/tools/grabserial/default.nix4
-rw-r--r--pkgs/development/tools/literate-programming/eweb/default.nix2
-rw-r--r--pkgs/development/tools/literate-programming/nuweb/default.nix2
-rw-r--r--pkgs/development/tools/mdk/default.nix21
-rw-r--r--pkgs/development/tools/misc/ctags/default.nix3
-rw-r--r--pkgs/development/tools/misc/dialog/default.nix4
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix11
-rw-r--r--pkgs/development/tools/misc/msitools/default.nix21
-rw-r--r--pkgs/development/tools/misc/nixbang/default.nix2
-rw-r--r--pkgs/development/tools/misc/patchelf/setup-hook.sh18
-rw-r--r--pkgs/development/tools/misc/pkgconfig/default.nix5
-rw-r--r--pkgs/development/tools/misc/premake/3.nix2
-rw-r--r--pkgs/development/tools/misc/rolespec/default.nix48
-rw-r--r--pkgs/development/tools/misc/ycmd/default.nix2
-rw-r--r--pkgs/development/tools/nimble/default.nix43
-rw-r--r--pkgs/development/tools/ocaml/findlib/default.nix11
-rw-r--r--pkgs/development/tools/ocaml/findlib/install_topfind.patch9
-rw-r--r--pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix2
-rw-r--r--pkgs/development/tools/omniorb/default.nix2
-rw-r--r--pkgs/development/tools/parsing/flex/default.nix6
-rw-r--r--pkgs/development/tools/parsing/ragel/default.nix13
-rw-r--r--pkgs/development/tools/profiling/gprof2dot/default.nix2
-rw-r--r--pkgs/development/tools/repository-managers/nexus/default.nix29
-rw-r--r--pkgs/development/tools/rust/rustfmt/default.nix8
-rw-r--r--pkgs/development/tools/sauce-connect/default.nix18
-rw-r--r--pkgs/development/tools/watchman/default.nix4
-rw-r--r--pkgs/development/tools/winpdb/default.nix4
54 files changed, 580 insertions, 98 deletions
diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix
index 8341f1a5bd901..168e9ce95be0c 100644
--- a/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "6.14.1";
+  version = "6.16";
   name = "checkstyle-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/checkstyle/${name}-bin.tar.gz";
-    sha256 = "1dcg7libqs797v6x5vdvvc44rqfvwcjh125wczy9v87nl8imc2l3";
+    sha256 = "0kmddfzn7p6fads6crw4gnahvi36xwqyw35i7a2lplrdp8dn9xdd";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/coan/default.nix b/pkgs/development/tools/analysis/coan/default.nix
index bf749b694a2c6..3ce5f23f6457f 100644
--- a/pkgs/development/tools/analysis/coan/default.nix
+++ b/pkgs/development/tools/analysis/coan/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "coan-${version}";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/coan2/v${version}/${name}.tar.gz";
+    url = "mirror://sourceforge/project/coan2/v${version}/${name}.tar.gz";
     sha256 = "1d041j0nd1hc0562lbj269dydjm4rbzagdgzdnmwdxr98544yw44";
   };
 
diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix
index 53397786dc49f..5955f34b58e9a 100644
--- a/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, libxslt, docbook_xsl, docbook_xml_dtd_45 }:
 
 let
-  name = "cppcheck";
-  version = "1.69";
+  pname = "cppcheck";
+  version = "1.72";
 in
-stdenv.mkDerivation {
-  name = "${name}-${version}";
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/${name}/${name}-${version}.tar.bz2";
-    sha256 = "0bjkqy4c6ph6nzparcnbxrdn52i3hiind4jc99v2kvsq281wimab";
+    url = "mirror://sourceforge/${pname}/${name}.tar.bz2";
+    sha256 = "085lm8v7biixy6rykq836gfy91jcccpz9qpk8i9x339dzy2b2q4l";
   };
 
   buildInputs = [ libxslt docbook_xsl docbook_xml_dtd_45 ];
@@ -22,15 +22,15 @@ stdenv.mkDerivation {
     cp cppcheck.1 $out/share/man/man1/cppcheck.1
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A static analysis tool for C/C++ code";
     longDescription = ''
       Check C/C++ code for memory leaks, mismatching
       allocation-deallocation, buffer overruns and more.
     '';
     homepage = http://cppcheck.sourceforge.net/;
-    license = stdenv.lib.licenses.gpl3Plus;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.simons ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ simons joachifm ];
   };
 }
diff --git a/pkgs/development/tools/analysis/spin/default.nix b/pkgs/development/tools/analysis/spin/default.nix
index f1295060d3c4f..29559bf8b0ef8 100644
--- a/pkgs/development/tools/analysis/spin/default.nix
+++ b/pkgs/development/tools/analysis/spin/default.nix
@@ -2,13 +2,15 @@
 
 stdenv.mkDerivation rec {
   name = "spin-${version}";
-  version = "6.4.3";
+  version = "6.4.5";
   url-version = stdenv.lib.replaceChars ["."] [""] version;
 
   src = fetchurl {
-    url = "http://spinroot.com/spin/Src/spin${url-version}.tar.gz";
-    curlOpts = "--user-agent 'Mozilla/5.0'";
-    sha256 = "0cldhxvfw6llh4spcx0x0535pffx89pvvxpdi0bpqy9a6da85ln1";
+    # The homepage is behind CloudFlare anti-DDoS protection, which blocks cURL.
+    # Dropbox mirror from developers:
+    # https://www.dropbox.com/sh/fgzipzp4wpo3qc1/AADZPqS4aoR-pjNF6OQXRLQHa
+    url = "https://www.dropbox.com/sh/fgzipzp4wpo3qc1/AAANRpxsSyWC7iHZB-XgBwJFa/spin645.tar.gz?raw=1";
+    sha256 = "0x8qnwm2xa8f176c52mzpvnfzglxs6xgig7bcgvrvkb3xf114224";
   };
 
   buildInputs = [ yacc ];
@@ -20,7 +22,8 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Formal verification tool for distributed software systems";
     homepage = http://spinroot.com/;
-    license = stdenv.lib.licenses.free;
+    license = licenses.free;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ mornfall pSub ];
   };
 }
diff --git a/pkgs/development/tools/backblaze-b2/default.nix b/pkgs/development/tools/backblaze-b2/default.nix
index 433aadebb6ced..3c7d69bc1b40e 100644
--- a/pkgs/development/tools/backblaze-b2/default.nix
+++ b/pkgs/development/tools/backblaze-b2/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Command-line tool for accessing the Backblaze B2 storage service.";
+    description = "Command-line tool for accessing the Backblaze B2 storage service";
     homepage    = https://github.com/Backblaze/B2_Command_Line_Tool;
     license     = licenses.mit;
     maintainers = with maintainers; [ kevincox ];
diff --git a/pkgs/development/tools/build-managers/apache-ant/default.nix b/pkgs/development/tools/build-managers/apache-ant/default.nix
index b15c9065e0ecd..8816a005ca0fc 100644
--- a/pkgs/development/tools/build-managers/apache-ant/default.nix
+++ b/pkgs/development/tools/build-managers/apache-ant/default.nix
@@ -23,9 +23,14 @@ stdenv.mkDerivation {
       mv * $out/lib/ant/
 
       # Get rid of the manual (35 MiB).  Maybe we should put this in a
-      # separate output.  Also get rid of the Ant scripts since we
-      # provide our own.
+      # separate output.  Keep the antRun script since it's vanilla sh
+      # and needed for the <exec/> task (but since we set ANT_HOME to
+      # a weird value, we have to move antRun to a weird location).
+      # Get rid of the other Ant scripts since we provide our own.
+      mv $out/lib/ant/bin/antRun $out/bin/
       rm -rf $out/lib/ant/{manual,bin,WHATSNEW}
+      mkdir $out/lib/ant/bin
+      mv $out/bin/antRun $out/lib/ant/bin/
 
       # Install ant-contrib.
       unpackFile $contrib
diff --git a/pkgs/development/tools/build-managers/buildbot-slave/default.nix b/pkgs/development/tools/build-managers/buildbot-slave/default.nix
index 715b009a17efd..30fbe056926ef 100644
--- a/pkgs/development/tools/build-managers/buildbot-slave/default.nix
+++ b/pkgs/development/tools/build-managers/buildbot-slave/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, buildPythonPackage, fetchurl, coreutils, twisted }:
+{ stdenv, buildPythonApplication, fetchurl, coreutils, twisted }:
 
-buildPythonPackage (rec {
+buildPythonApplication (rec {
   name = "buildbot-slave-0.8.10";
   namePrefix = "";
 
diff --git a/pkgs/development/tools/build-managers/buildbot/default.nix b/pkgs/development/tools/build-managers/buildbot/default.nix
index a7c4fb89007be..a246044d6f1ea 100644
--- a/pkgs/development/tools/build-managers/buildbot/default.nix
+++ b/pkgs/development/tools/build-managers/buildbot/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, buildPythonPackage, fetchurl, twisted, dateutil, jinja2
-, sqlalchemy , sqlalchemy_migrate_0_7
+{ stdenv, buildPythonApplication, fetchurl, twisted, dateutil, jinja2
+, sqlalchemy_migrate_0_7
 , enableDebugClient ? false, pygobject ? null, pyGtkGlade ? null
 }:
 
@@ -8,7 +8,7 @@
 
 assert enableDebugClient -> pygobject != null && pyGtkGlade != null;
 
-buildPythonPackage (rec {
+buildPythonApplication (rec {
   name = "buildbot-0.8.12";
   namePrefix = "";
 
diff --git a/pkgs/development/tools/build-managers/cargo/common.nix b/pkgs/development/tools/build-managers/cargo/common.nix
index 941fe80730759..110956ebf85d7 100644
--- a/pkgs/development/tools/build-managers/cargo/common.nix
+++ b/pkgs/development/tools/build-managers/cargo/common.nix
@@ -12,7 +12,8 @@
        "$out/lib/rustlib/uninstall.sh" \
        "$out/lib/rustlib/manifest-cargo"
 
-     wrapProgram "$out/bin/cargo" --suffix PATH : "${rustc}/bin"
+     wrapProgram "$out/bin/cargo" --suffix PATH : "${rustc}/bin" \
+       ${stdenv.lib.optionalString stdenv.isDarwin ''--suffix DYLD_LIBRARY_PATH : "${rustc}/lib"''}
   '';
 
   platform = if stdenv.system == "i686-linux"
diff --git a/pkgs/development/tools/build-managers/cargo/head.nix b/pkgs/development/tools/build-managers/cargo/head.nix
index d5a2dce668282..298177296a6cd 100644
--- a/pkgs/development/tools/build-managers/cargo/head.nix
+++ b/pkgs/development/tools/build-managers/cargo/head.nix
@@ -5,7 +5,7 @@ with rustPlatform;
 
 with ((import ./common.nix) {
   inherit stdenv rustc;
-  version = "2016-01-10";
+  version = "2016-02-25";
 });
 
 buildRustPackage rec {
@@ -14,11 +14,11 @@ buildRustPackage rec {
   # Needs to use fetchgit instead of fetchFromGitHub to fetch submodules
   src = fetchgit {
     url = "git://github.com/rust-lang/cargo";
-    rev = "ca373452de159491354cf38279dbc19308c91e72";
-    sha256 = "0fx88b3ndvzhfwq159xavs0z5c7jww231kd65cbzyih9g0ab9x65";
+    rev = "e7212896dc1b182493a0252a2a126db8be067153";
+    sha256 = "1qbic7gp7cpihi40kfv3kagja8zsngica8sq9jcm9czb6ba44dsa";
   };
 
-  depsSha256 = "0csagk2dnwg5z0vbxilz1kzcygd4llw7s81ka0xn1g05x30jqrnn";
+  depsSha256 = "1xfpj1233p4314j6jmip0jjl5m3kj2wbac1ll3yvh7383zb83i1s";
 
   buildInputs = [ file curl pkgconfig python openssl cmake zlib makeWrapper ];
 
diff --git a/pkgs/development/tools/build-managers/cargo/snapshot.nix b/pkgs/development/tools/build-managers/cargo/snapshot.nix
index 5a061e4b7c8d4..12f07f2b7777e 100644
--- a/pkgs/development/tools/build-managers/cargo/snapshot.nix
+++ b/pkgs/development/tools/build-managers/cargo/snapshot.nix
@@ -34,6 +34,16 @@ stdenv.mkDerivation {
 
   dontStrip = true;
 
+  __propagatedImpureHostDeps = [
+    "/usr/lib/libiconv.2.dylib"
+    "/usr/lib/libssl.0.9.8.dylib"
+    "/usr/lib/libcurl.4.dylib"
+    "/System/Library/Frameworks/GSS.framework/GSS"
+    "/System/Library/Frameworks/GSS.framework/Versions/Current"
+    "/System/Library/PrivateFrameworks/Heimdal.framework/Heimdal"
+    "/System/Library/PrivateFrameworks/Heimdal.framework/Versions/Current"
+  ];
+
   installPhase = ''
     mkdir -p "$out"
     ./install.sh "--prefix=$out"
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index f97b7b432ea3d..9d0ff6e1f1746 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -11,7 +11,7 @@ assert wantPS -> (ps != null);
 let
   os = stdenv.lib.optionalString;
   majorVersion = "3.4";
-  minorVersion = "0";
+  minorVersion = "3";
   version = "${majorVersion}.${minorVersion}";
 in
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
-    sha256 = "1shwim3gfdybjx9f11ykxz5l09rh58vmvz8ip76q3i76mkv2pf55";
+    sha256 = "1yl0z422gr7zfc638chifv343vx0ig5gasvrh7nzf7b15488qgxp";
   };
 
   patches =
diff --git a/pkgs/development/tools/build-managers/gup/default.nix b/pkgs/development/tools/build-managers/gup/default.nix
index 0f1ecdcaa545f..a907e6ace9e42 100644
--- a/pkgs/development/tools/build-managers/gup/default.nix
+++ b/pkgs/development/tools/build-managers/gup/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchgit, lib, python, which }:
 let
-  version = "0.5.3";
+  version = "0.5.4";
   src = fetchgit {
     url = "https://github.com/gfxmonk/gup.git";
-    rev = "55ffd8828ddc28a2a786b75422d672d6569f961f";
-    sha256 = "7c2abbf5d3814c6b84da0de1c91f9f7d299c2362cf091da96f6a68d8fffcb5ce";
+    rev = "b3980e529c860167b48e31634d2b479fc4d10274";
+    sha256 = "bb02ba0a7f1680ed5b9a8e8c9cc42aa07016329840f397d914b94744f9ed7c85";
   };
 in
 import ./build.nix
diff --git a/pkgs/development/tools/build-managers/icmake/default.nix b/pkgs/development/tools/build-managers/icmake/default.nix
index b3788d7f324d6..e4bad4f500c80 100644
--- a/pkgs/development/tools/build-managers/icmake/default.nix
+++ b/pkgs/development/tools/build-managers/icmake/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "icmake-${version}";
-  version = "8.00.05";
+  version = "8.01.00";
 
   src = fetchFromGitHub {
-    sha256 = "06bfz9awi2vh2mzikw4sp7wqrp0nlcg89b9br43awz2801k15hpf";
+    sha256 = "1vgjywbc4w1agkakfndr2qf0z0ncxisihdv8sz9ipry9f170np39";
     rev = version;
     repo = "icmake";
     owner = "fbb-git";
diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix
index f4f18dac487c7..8a8ab9ba91f18 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.5.3";
+  version = "2.6.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://raw.github.com/technomancy/leiningen/${version}/bin/lein-pkg";
-    sha256 = "0xbfg6v6f3qyi99dbqragh3za2a0agrcq9c0qbkshvp5yd0fx4h1";
+    sha256 = "1ndirl36gbba12cs5vw22k2zrbpqdmnpi1gciwqb1zbib2s1akg8";
   };
 
   jarsrc = fetchurl {
     # NOTE: This is actually a .jar, Github has issues
     url = "https://github.com/technomancy/leiningen/releases/download/${version}/${name}-standalone.zip";
-    sha256 = "1p93j03v02mf1cnli6lv9qqnx7gwxr571g8z7y06p0d4nq31c32b";
+    sha256 = "1533msarx6gb3xc2sp2nmspllnqy7anpnv9a0ifl0psxm3xph06p";
   };
 
   patches = [ ./lein-fix-jar-path.patch ];
diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix
index 35a5b1b4d4056..ac3a5ac9e4023 100644
--- a/pkgs/development/tools/build-managers/rebar3/default.nix
+++ b/pkgs/development/tools/build-managers/rebar3/default.nix
@@ -120,7 +120,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = "https://github.com/rebar/rebar3";
-    description = "rebar 3.0 is an Erlang build tool that makes it easy to compile and test Erlang applications, port drivers and releases.";
+    description = "rebar 3.0 is an Erlang build tool that makes it easy to compile and test Erlang applications, port drivers and releases";
 
     longDescription = ''
       rebar is a self-contained Erlang script, so it's easy to distribute or
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index 585e9ff101a45..206792ab48338 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "sbt-${version}";
-  version = "0.13.9";
+  version = "0.13.11";
 
   src = fetchurl {
     url = "https://dl.bintray.com/sbt/native-packages/sbt/${version}/${name}.tgz";
-    sha256 = "148f2801f2993773de6f8859fe0e6520fcabe649d66bb316e13aff8b2fd7f504";
+    sha256 = "19mg2xbc2vbqg33b986zvn7pj05cx106rccdzf9zs2npdnznysm3";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/tools/compass/default.nix b/pkgs/development/tools/compass/default.nix
index 2b0a5aaf90a02..9b21ec48c1c6c 100644
--- a/pkgs/development/tools/compass/default.nix
+++ b/pkgs/development/tools/compass/default.nix
@@ -9,7 +9,7 @@ bundlerEnv {
   gemset = ./gemset.nix;
 
   meta = with lib; {
-    description = "Stylesheet Authoring Environment that makes your website design simpler to implement and easier to maintain.";
+    description = "Stylesheet Authoring Environment that makes your website design simpler to implement and easier to maintain";
     homepage    = https://github.com/Compass/compass;
     license     = with licenses; mit;
     maintainers = with maintainers; [ offline ];
diff --git a/pkgs/development/tools/continuous-integration/cide/Gemfile b/pkgs/development/tools/continuous-integration/cide/Gemfile
new file mode 100644
index 0000000000000..7e72ac0529d6d
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/cide/Gemfile
@@ -0,0 +1,6 @@
+source "https://rubygems.org"
+
+gem 'cide'
+
+# Optional dependency, only used by `cide upload`
+gem 'aws-sdk', '~> 2'
diff --git a/pkgs/development/tools/continuous-integration/cide/Gemfile.lock b/pkgs/development/tools/continuous-integration/cide/Gemfile.lock
new file mode 100644
index 0000000000000..736b2bfca1a28
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/cide/Gemfile.lock
@@ -0,0 +1,40 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    aws-sdk (2.2.17)
+      aws-sdk-resources (= 2.2.17)
+    aws-sdk-core (2.2.17)
+      jmespath (~> 1.0)
+    aws-sdk-resources (2.2.17)
+      aws-sdk-core (= 2.2.17)
+    axiom-types (0.1.1)
+      descendants_tracker (~> 0.0.4)
+      ice_nine (~> 0.11.0)
+      thread_safe (~> 0.3, >= 0.3.1)
+    cide (0.9.0)
+      thor (~> 0.19)
+      virtus (~> 1.0)
+    coercible (1.0.0)
+      descendants_tracker (~> 0.0.1)
+    descendants_tracker (0.0.4)
+      thread_safe (~> 0.3, >= 0.3.1)
+    equalizer (0.0.11)
+    ice_nine (0.11.2)
+    jmespath (1.1.3)
+    thor (0.19.1)
+    thread_safe (0.3.5)
+    virtus (1.0.5)
+      axiom-types (~> 0.1)
+      coercible (~> 1.0)
+      descendants_tracker (~> 0.0, >= 0.0.3)
+      equalizer (~> 0.0, >= 0.0.9)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  aws-sdk (~> 2)
+  cide
+
+BUNDLED WITH
+   1.10.6
diff --git a/pkgs/development/tools/continuous-integration/cide/default.nix b/pkgs/development/tools/continuous-integration/cide/default.nix
new file mode 100644
index 0000000000000..4a64d8bf303eb
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/cide/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, lib, bundlerEnv, makeWrapper, docker, git, gnutar, gzip }:
+
+stdenv.mkDerivation rec {
+  name = "cide-${version}";
+  version = "0.9.0";
+
+  env = bundlerEnv {
+    name = "${name}-gems";
+
+    gemfile = ./Gemfile;
+    lockfile = ./Gemfile.lock;
+    gemset = ./gemset.nix;
+  };
+
+  phases = ["installPhase"];
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    makeWrapper ${env}/bin/cide $out/bin/cide \
+      --set PATH ${docker}/bin:${git}/bin:${gnutar}/bin:${gzip}/bin
+  '';
+
+  meta = with lib; {
+    description = "Isolated test runner with Docker";
+    homepage    = http://zimbatm.github.io/cide/;
+    license     = licenses.mit;
+    maintainers = with maintainers; [ zimbatm ];
+    platforms   = docker.meta.platforms;
+  };
+}
diff --git a/pkgs/development/tools/continuous-integration/cide/gemset.nix b/pkgs/development/tools/continuous-integration/cide/gemset.nix
new file mode 100644
index 0000000000000..df8f7c9f20883
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/cide/gemset.nix
@@ -0,0 +1,103 @@
+{
+  virtus = {
+    dependencies = ["axiom-types" "coercible" "descendants_tracker" "equalizer"];
+    source = {
+      sha256 = "06iphwi3c4f7y9i2rvhvaizfswqbaflilziz4dxqngrdysgkn1fk";
+      type = "gem";
+    };
+    version = "1.0.5";
+  };
+  thread_safe = {
+    source = {
+      sha256 = "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr";
+      type = "gem";
+    };
+    version = "0.3.5";
+  };
+  thor = {
+    source = {
+      sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
+      type = "gem";
+    };
+    version = "0.19.1";
+  };
+  jmespath = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0vpvd61kc60f98jn28kw7x7vi82qrwgglam42nvzh98i43yxwsfb";
+      type = "gem";
+    };
+    version = "1.1.3";
+  };
+  ice_nine = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x";
+      type = "gem";
+    };
+    version = "0.11.2";
+  };
+  equalizer = {
+    source = {
+      sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4";
+      type = "gem";
+    };
+    version = "0.0.11";
+  };
+  descendants_tracker = {
+    dependencies = ["thread_safe"];
+    source = {
+      sha256 = "15q8g3fcqyb41qixn6cky0k3p86291y7xsh1jfd851dvrza1vi79";
+      type = "gem";
+    };
+    version = "0.0.4";
+  };
+  coercible = {
+    dependencies = ["descendants_tracker"];
+    source = {
+      sha256 = "1p5azydlsz0nkxmcq0i1gzmcfq02lgxc4as7wmf47j1c6ljav0ah";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  cide = {
+    version = "0.9.0";
+    source = {
+      type = "gem";
+      remotes = ["https://rubygems.org"];
+      sha256 = "1wykwv0jnrh49jm9zsy1cb5wddv65iw4ixh072hr242wb83dcyl0";
+    };
+  };
+  axiom-types = {
+    dependencies = ["descendants_tracker" "ice_nine" "thread_safe"];
+    source = {
+      sha256 = "10q3k04pll041mkgy0m5fn2b1lazm6ly1drdbcczl5p57lzi3zy1";
+      type = "gem";
+    };
+    version = "0.1.1";
+  };
+  aws-sdk-resources = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0vdnpjmil99n9d1fpk1w6ssgvmzx4wfmrqcij8nyd0iqdaacx3fj";
+      type = "gem";
+    };
+    version = "2.2.17";
+  };
+  aws-sdk-core = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vq7ny5n3rdfzkdqdm76r48slmp2a5v7565llrl4bw5hb5k4p75z";
+      type = "gem";
+    };
+    version = "2.2.17";
+  };
+  aws-sdk = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1cwycrdk21blzjzf8fj1wlmdix94rj9aixj6phx6lwbqykn2dzx9";
+      type = "gem";
+    };
+    version = "2.2.17";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index e18d2dd4b4751..f416345028f9f 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 = "1.643";
+  version = "1.650";
 
   src = fetchurl {
     url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
-    sha256 = "b8c6387e56d04a0a4a7ec8d9dacd379fbd5d4001d01fdfcd443f9864809f9293";
+    sha256 = "0iypkyjcsfj36j683a6yis4q0wil6m8l065fx8v2p7ba4j2ql00n";
   };
   meta = with stdenv.lib; {
     description = "An extendable open source continuous integration server";
diff --git a/pkgs/development/tools/dcadec/default.nix b/pkgs/development/tools/dcadec/default.nix
new file mode 100644
index 0000000000000..439e224c4550a
--- /dev/null
+++ b/pkgs/development/tools/dcadec/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = pname + "-" + version;
+  pname = "dcadec";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "foo86";
+    repo = pname;
+    rev = "v" + version;
+    sha256 = "07nd0ajizrp1w02bsyfcv18431r8m8rq8gjfmz9wmckpg7cxj2hs";
+  };
+
+  installPhase = "make PREFIX=/ DESTDIR=$out install";
+
+  meta = with stdenv.lib; {
+    description = "DTS Coherent Acoustics decoder with support for HD extensions";
+    maintainers = with maintainers; [ edwtjo ];
+    homepage = http://github.com/foo86/dcadec;
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/devpi-client/default.nix b/pkgs/development/tools/devpi-client/default.nix
index 5db62da06d852..f3db234cd9691 100644
--- a/pkgs/development/tools/devpi-client/default.nix
+++ b/pkgs/development/tools/devpi-client/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pythonPackages, python} :
 
-pythonPackages.buildPythonPackage rec {
+pythonPackages.buildPythonApplication rec {
   name = "devpi-client-${version}";
   version = "2.3.2";
 
diff --git a/pkgs/development/tools/flamegraph/default.nix b/pkgs/development/tools/flamegraph/default.nix
new file mode 100644
index 0000000000000..1a57afbfa904a
--- /dev/null
+++ b/pkgs/development/tools/flamegraph/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, perl }:
+
+stdenv.mkDerivation {
+  name = "FlameGraph-2015-10-10";
+
+  src = fetchFromGitHub {
+    owner = "brendangregg";
+    repo = "FlameGraph";
+    rev = "182b24fb635345d48c91ed1de58a08b620312f3d";
+    sha256 = "1djz0wl8202a6j87ka9j3d8iw3bli056lrn73gv2i65p16rwk9kc";
+  };
+
+  buildInputs = [ perl ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    for x in $src/*.pl $src/*.awk $src/dev/*.pl $src/dev/*.d; do
+      cp $x $out/bin
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    license = licenses.cddl;
+    homepage = http://www.brendangregg.com/flamegraphs.html;
+    description = "Visualization for profiled code";
+  };
+}
diff --git a/pkgs/development/tools/galen/default.nix b/pkgs/development/tools/galen/default.nix
new file mode 100644
index 0000000000000..169c8fdd68a0e
--- /dev/null
+++ b/pkgs/development/tools/galen/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, jdk, unzip }:
+
+stdenv.mkDerivation rec {
+  pname = "galen";
+  version = "2.2.1";
+  name = "${pname}-${version}";
+
+  inherit jdk;
+
+  src = fetchurl {
+    url = "https://github.com/galenframework/galen/releases/download/galen-2.2.1/galen-bin-${version}.zip";
+    sha256 = "0zwrh3bxcgkwip6z9lvy3hn53kfr99cdij64c57ff8d95xilclhb";
+  };
+
+  buildInputs = [ unzip ];
+  phases = [ "unpackPhase" "buildPhase" "installPhase" ];
+
+  buildPhase = ''
+  mkdir -p $out/bin
+  '';
+
+  installPhase = ''
+  cat galen | sed -e "s,java,$jdk/bin/java," > $out/bin/galen
+  chmod +x $out/bin/galen
+  cp galen.jar $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://galenframework.com;
+    description = "Automated layout testing for websites";
+    license = licenses.asl20;
+    maintainers = [ ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/development/tools/grabserial/default.nix b/pkgs/development/tools/grabserial/default.nix
index bafde1f96873a..34a45fa0b8468 100644
--- a/pkgs/development/tools/grabserial/default.nix
+++ b/pkgs/development/tools/grabserial/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchgit, buildPythonPackage, pythonPackages }:
+{ stdenv, fetchgit, buildPythonApplication, pythonPackages }:
 
-buildPythonPackage rec {
+buildPythonApplication rec {
 
   name = "grabserial-20141120";
   namePrefix = "";
diff --git a/pkgs/development/tools/literate-programming/eweb/default.nix b/pkgs/development/tools/literate-programming/eweb/default.nix
index f996c567fcb53..17a7731896eeb 100644
--- a/pkgs/development/tools/literate-programming/eweb/default.nix
+++ b/pkgs/development/tools/literate-programming/eweb/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec{
   name = "eweb-${meta.version}";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/eweb/${name}.tar.bz2";
+    url = "mirror://sourceforge/project/eweb/${name}.tar.bz2";
     sha256 = "1xy7vm2sj5q6s620fm25klmnwnz9xkrxmx4q2f8h6c85ydisayd5";
   };
 
diff --git a/pkgs/development/tools/literate-programming/nuweb/default.nix b/pkgs/development/tools/literate-programming/nuweb/default.nix
index 54c2125a08c1f..5930d4789a463 100644
--- a/pkgs/development/tools/literate-programming/nuweb/default.nix
+++ b/pkgs/development/tools/literate-programming/nuweb/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec{
   version = "1.58";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/nuweb/${name}.tar.gz";
+    url = "mirror://sourceforge/project/nuweb/${name}.tar.gz";
     sha256 = "0q51i3miy15fv4njjp82yws01qfjxvqx5ly3g3vh8z3h7iq9p47y";
   };
 
diff --git a/pkgs/development/tools/mdk/default.nix b/pkgs/development/tools/mdk/default.nix
new file mode 100644
index 0000000000000..f54b409efb6d2
--- /dev/null
+++ b/pkgs/development/tools/mdk/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, intltool, pkgconfig, glib }:
+
+stdenv.mkDerivation {
+  name = "gnu-mdk-1.2.9";
+  src = fetchurl {
+    url = http://ftp.gnu.org/gnu/mdk/v1.2.9/mdk-1.2.9.tar.gz;
+    md5 = "08c96baa4b99dd9d25190dd15fe415a5";
+  };
+  buildInputs = [ intltool pkgconfig glib ];
+  postInstall = ''
+    mkdir -p $out/share/emacs/site-lisp/
+    cp -v ./misc/*.el $out/share/emacs/site-lisp
+  '';
+
+  meta = {
+    description = "GNU MIX Development Kit (MDK)";
+    homepage = https://www.gnu.org/software/mdk/;
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/misc/ctags/default.nix b/pkgs/development/tools/misc/ctags/default.nix
index 26b186c11eabe..584095c904d5f 100644
--- a/pkgs/development/tools/misc/ctags/default.nix
+++ b/pkgs/development/tools/misc/ctags/default.nix
@@ -29,6 +29,9 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ simons ];
     platforms = platforms.unix;
+
+    # So that Exuberant ctags is preferred over emacs's ctags
+    priority = 1;
   };
 
 }
diff --git a/pkgs/development/tools/misc/dialog/default.nix b/pkgs/development/tools/misc/dialog/default.nix
index f33ac04fdea64..76d34bfd5640a 100644
--- a/pkgs/development/tools/misc/dialog/default.nix
+++ b/pkgs/development/tools/misc/dialog/default.nix
@@ -13,11 +13,11 @@ assert unicodeSupport -> ncurses.unicode && ncurses != null;
 
 stdenv.mkDerivation rec {
   name = "dialog-${version}";
-  version = "1.2-20150920";
+  version = "1.3-20160209";
 
   src = fetchurl {
     url = "ftp://invisible-island.net/dialog/${name}.tgz";
-    sha256 = "01ccd585c241nkj02n0zdbx8jqhylgcfpcmmshynh0c7fv2ixrn4";
+    sha256 = "11rzh14xy9s99gxdi5i7fgmgihjqsv0ls0ksavkmip2y37rgf503";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index 547f7a81ab6cb..472bb4de58b9e 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -3,6 +3,8 @@
 , python ? null
 , guile ? null
 , target ? null
+# Support all known targets in one gdb binary.
+, multitarget ? false
 # Additional dependencies for GNU/Hurd.
 , mig ? null, hurd ? null
 
@@ -10,7 +12,7 @@
 
 let
 
-  basename = "gdb-7.10.1";
+  basename = "gdb-7.11";
 
   # Whether (cross-)building for GNU/Hurd.  This is an approximation since
   # having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and
@@ -29,7 +31,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/gdb/${basename}.tar.xz";
-    sha256 = "1mfnjcwnwm5cg4rc9pncs9v356a0bz6ymjyac56mbj6784yjzir5";
+    sha256 = "1hg5kwwdvi9b9nxzxfjnx8fx3gip75fqyvkp82xpf3b3rcb42hvs";
   };
 
   nativeBuildInputs = [ pkgconfig texinfo perl ]
@@ -47,6 +49,7 @@ stdenv.mkDerivation rec {
       "--with-separate-debug-dir=/run/current-system/sw/lib/debug"
     ]
     ++ optional (target != null) "--target=${target.config}"
+    ++ optional multitarget "--enable-targets=all"
     ++ optional (elem stdenv.system platforms.cygwin) "--without-python";
 
   crossAttrs = {
@@ -54,7 +57,9 @@ stdenv.mkDerivation rec {
     configureFlags = with stdenv.lib;
       [ "--with-gmp=${gmp.crossDrv}" "--with-mpfr=${mpfr.crossDrv}" "--with-system-readline"
         "--with-system-zlib" "--with-expat" "--with-libexpat-prefix=${expat.crossDrv}" "--without-python"
-      ] ++ optional (target != null) "--target=${target.config}";
+      ]
+      ++ optional (target != null) "--target=${target.config}"
+      ++ optional multitarget "--enable-targets=all";
   };
 
   postInstall =
diff --git a/pkgs/development/tools/misc/msitools/default.nix b/pkgs/development/tools/misc/msitools/default.nix
new file mode 100644
index 0000000000000..bdc7f4f04148d
--- /dev/null
+++ b/pkgs/development/tools/misc/msitools/default.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl, intltool, glib, pkgconfig, libgsf, libuuid, gcab, bzip2}:
+
+stdenv.mkDerivation rec {
+  version = "0.94";
+  name = "msitools-${version}";
+
+  src = fetchurl {
+    url = "http://ftp.gnome.org/pub/GNOME/sources/msitools/0.94/${name}.tar.xz";
+    sha256 = "0bndnm3mgcqkw5dhwy5l1zri4lqvjbhbn5rxz651fkxlkhab8bhm";
+  };
+
+  buildInputs = [intltool glib pkgconfig libgsf libuuid gcab bzip2];
+
+  meta = with stdenv.lib; {
+    description = "Set of programs to inspect and build Windows Installer (.MSI) files";
+    homepage = https://wiki.gnome.org/msitools;
+    license = [licenses.gpl2 licenses.lgpl21];
+    maintainer = [maintainers.vcunat];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/misc/nixbang/default.nix b/pkgs/development/tools/misc/nixbang/default.nix
index a97dc3a249a0c..ade9954021a1c 100644
--- a/pkgs/development/tools/misc/nixbang/default.nix
+++ b/pkgs/development/tools/misc/nixbang/default.nix
@@ -1,7 +1,7 @@
 { lib, pythonPackages, fetchFromGitHub }:
 
 let version = "0.1.2"; in
-pythonPackages.buildPythonPackage {
+pythonPackages.buildPythonApplication {
   name = "nixbang-${version}";
   namePrefix = "";
 
diff --git a/pkgs/development/tools/misc/patchelf/setup-hook.sh b/pkgs/development/tools/misc/patchelf/setup-hook.sh
index a76fbfbd509ca..563ef57fce11a 100644
--- a/pkgs/development/tools/misc/patchelf/setup-hook.sh
+++ b/pkgs/development/tools/misc/patchelf/setup-hook.sh
@@ -5,12 +5,16 @@
 fixupOutputHooks+=('if [ -z "$dontPatchELF" ]; then patchELF "$prefix"; fi')
 
 patchELF() {
-    header "patching ELF executables and libraries in $prefix"
-    if [ -e "$prefix" ]; then
-        find "$prefix" \( \
-            \( -type f -a -name "*.so*" \) -o \
-            \( -type f -a -perm -0100 \) \
-            \) -print -exec patchelf --shrink-rpath '{}' \;
-    fi
+    local dir="$1"
+    header "shrinking RPATHs of ELF executables and libraries in $dir"
+
+    local i
+    while IFS= read -r -d $'\0' i; do
+        if [[ "$i" =~ .build-id ]]; then continue; fi
+        if ! isELF "$i"; then continue; fi
+        echo "shrinking $i"
+        patchelf --shrink-rpath "$i" || true
+    done < <(find "$dir" -type f -print0)
+
     stopNest
 }
diff --git a/pkgs/development/tools/misc/pkgconfig/default.nix b/pkgs/development/tools/misc/pkgconfig/default.nix
index c98bddf53c091..d0e63469987be 100644
--- a/pkgs/development/tools/misc/pkgconfig/default.nix
+++ b/pkgs/development/tools/misc/pkgconfig/default.nix
@@ -9,7 +9,10 @@ stdenv.mkDerivation rec {
   setupHook = ./setup-hook.sh;
 
   src = fetchurl {
-    url = "http://pkgconfig.freedesktop.org/releases/${name}.tar.gz";
+    urls = [
+      "https://pkgconfig.freedesktop.org/releases/${name}.tar.gz"
+      "http://fossies.org/linux/misc/${name}.tar.gz"
+    ];
     sha256 = "0sq09a39wj4cxf8l2jvkq067g08ywfma4v6nhprnf351s82pfl68";
   };
     # Process Requires.private properly, see
diff --git a/pkgs/development/tools/misc/premake/3.nix b/pkgs/development/tools/misc/premake/3.nix
index 94a2880e1348f..59ce43bf891d8 100644
--- a/pkgs/development/tools/misc/premake/3.nix
+++ b/pkgs/development/tools/misc/premake/3.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
   name = "${baseName}-${version}";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/sourceforge/premake/${baseName}-src-${version}.zip";
+    url = "mirror://sourceforge/sourceforge/premake/${baseName}-src-${version}.zip";
     sha256 = "b59841a519e75d5b6566848a2c5be2f91455bf0cc6ae4d688fcbd4c40db934d5";
   };
 
diff --git a/pkgs/development/tools/misc/rolespec/default.nix b/pkgs/development/tools/misc/rolespec/default.nix
new file mode 100644
index 0000000000000..ccfe19496c15a
--- /dev/null
+++ b/pkgs/development/tools/misc/rolespec/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchFromGitHub, makeWrapper }:
+
+stdenv.mkDerivation rec {
+
+  name = "rolespec-${meta.version}";
+
+  src = fetchFromGitHub {
+    owner = "nickjj";
+    repo = "rolespec";
+    rev = "64a2092773b77f7a888522ceddd815e97b129321";
+    sha256 = "1867acxy18a3cgi84iwsp37sxglaljn1dq50amahp5zkmd8x8vnz";
+    inherit name;
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  # The default build phase (`make`) runs the test code. It's difficult to do
+  # the test in the build environment because it depends on the system package
+  # managers (apt/yum/pacman). We simply skip this phase since RoleSpec is
+  # shell based.
+  dontBuild = true;
+
+  # Wrap the program because `ROLESPEC_LIB` defaults to
+  # `/usr/local/lib/rolespec`.
+  installPhase = ''
+    make install PREFIX=$out
+    wrapProgram $out/bin/rolespec --set ROLESPEC_LIB $out/lib/rolespec
+  '';
+
+  # Since RoleSpec installs the shell script files in `lib` directory, the
+  # fixup phase shows some warnings. Disable these actions.
+  dontPatchELF = true;
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/nickjj/rolespec";
+    description = "A test library for testing Ansible roles";
+    longDescription = ''
+      A shell based test library for Ansible that works both locally and over
+      Travis-CI.
+    '';
+    downloadPage = "https://github.com/nickjj/rolespec";
+    license = licenses.gpl3;
+    version = "20160105";
+    maintainers = [ maintainers.dochang ];
+  };
+
+}
diff --git a/pkgs/development/tools/misc/ycmd/default.nix b/pkgs/development/tools/misc/ycmd/default.nix
index 029e76e0c9967..44bf2ac855c99 100644
--- a/pkgs/development/tools/misc/ycmd/default.nix
+++ b/pkgs/development/tools/misc/ycmd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, cmake, python, llvmPackages, boost, pythonPackages, buildPythonPackage, makeWrapper
+{ stdenv, fetchgit, cmake, python, llvmPackages, boost, pythonPackages, buildPythonApplication, makeWrapper
 }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/tools/nimble/default.nix b/pkgs/development/tools/nimble/default.nix
new file mode 100644
index 0000000000000..10a19d9e0963c
--- /dev/null
+++ b/pkgs/development/tools/nimble/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub, nim }:
+
+let
+  srcs = {
+    nimble = fetchFromGitHub {
+      owner = "nim-lang";
+      repo = "nimble";
+      rev = "v0.7.2";
+      sha256 = "0j9b519cv91xwn6k0alynakh7grbq4m6yy5bdwdrqmc7lag35r0i";
+    };
+    nim = fetchFromGitHub {
+      owner = "nim-lang";
+      repo = "nim";
+      rev = "v0.13.0";
+      sha256 = "14grhkwdva4wmvihm1413ly86sf0qk96bd473pvsbgkp46cg8rii";
+    };
+  };
+in
+stdenv.mkDerivation rec {
+  name = "nimble-${version}";
+  version = "0.7.2";
+
+  src = srcs.nimble;
+
+  buildInputs = [ nim ];
+
+  postUnpack = ''
+    mkdir -p $sourceRoot/vendor
+    ln -s ${srcs.nim} $sourceRoot/vendor/nim
+  '';
+  buildPhase   = ''
+    nim c src/nimble
+  '';
+  installPhase = "installBin src/nimble";
+
+  meta = with stdenv.lib; {
+    description = "Package manager for the Nim programming language";
+    homepage = https://github.com/nim-lang/nimble;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ kamilchm ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/development/tools/ocaml/findlib/default.nix b/pkgs/development/tools/ocaml/findlib/default.nix
index a9673be26ee3e..746be6dd08129 100644
--- a/pkgs/development/tools/ocaml/findlib/default.nix
+++ b/pkgs/development/tools/ocaml/findlib/default.nix
@@ -4,12 +4,13 @@ let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
 in
 
-stdenv.mkDerivation {
-  name = "ocaml-findlib-1.5.3";
+stdenv.mkDerivation rec {
+  name = "ocaml-findlib-${version}";
+  version = "1.6.1";
 
   src = fetchurl {
-    url = http://download.camlcity.org/download/findlib-1.5.3.tar.gz;
-    sha256 = "1kw2siv4pc8q060m9xpgxvjs07ic1kiphyxmkwcz6nyb91p8286r";
+    url = "http://download.camlcity.org/download/findlib-${version}.tar.gz";
+    sha256 = "02abg1lsnwvjg3igdyb8qjgr5kv1nbwl4gaf8mdinzfii5p82721";
   };
 
   buildInputs = [m4 ncurses ocaml];
@@ -57,3 +58,5 @@ stdenv.mkDerivation {
     ];
   };
 }
+
+
diff --git a/pkgs/development/tools/ocaml/findlib/install_topfind.patch b/pkgs/development/tools/ocaml/findlib/install_topfind.patch
index f152feaaecfba..7c9f8e1a6ccea 100644
--- a/pkgs/development/tools/ocaml/findlib/install_topfind.patch
+++ b/pkgs/development/tools/ocaml/findlib/install_topfind.patch
@@ -1,11 +1,12 @@
---- findlib-1.5.3/src/findlib/Makefile	2014-09-16 13:21:46.000000000 +0200
-+++ findlib-1.5.3/src/findlib/Makefile.new	2014-10-01 14:30:54.141082521 +0200
-@@ -89,7 +89,7 @@
+--- a/src/findlib/Makefile
++++ b/src/findlib/Makefile
+@@ -114,7 +114,7 @@ clean:
  install: all
  	mkdir -p "$(prefix)$(OCAML_SITELIB)/$(NAME)"
  	mkdir -p "$(prefix)$(OCAMLFIND_BIN)"
 -	test $(INSTALL_TOPFIND) -eq 0 || cp topfind "$(prefix)$(OCAML_CORE_STDLIB)"
 +	test $(INSTALL_TOPFIND) -eq 0 || cp topfind "$(prefix)$(OCAML_SITELIB)"
- 	files=`$(TOP)/tools/collect_files $(TOP)/Makefile.config findlib.cmi findlib.mli findlib.cma topfind.cmi topfind.mli fl_package_base.mli fl_package_base.cmi fl_metascanner.mli fl_metascanner.cmi fl_metatoken.cmi findlib_top.cma findlib.cmxa findlib.a findlib.cmxs META` && \
+ 	files=`$(TOP)/tools/collect_files $(TOP)/Makefile.config findlib.cmi findlib.mli findlib.cma topfind.cmi topfind.mli fl_package_base.mli fl_package_base.cmi fl_metascanner.mli fl_metascanner.cmi fl_metatoken.cmi findlib_top.cma findlib.cmxa findlib.a findlib.cmxs findlib_dynload.cma findlib_dynload.cmxa findlib_dynload.a findlib_dynload.cmxs fl_dynload.mli fl_dynload.cmi META` && \
  	cp $$files "$(prefix)$(OCAML_SITELIB)/$(NAME)"
  	f="ocamlfind$(EXEC_SUFFIX)"; { test -f ocamlfind_opt$(EXEC_SUFFIX) && f="ocamlfind_opt$(EXEC_SUFFIX)"; }; \
+
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 986bd4609d5cd..40188734a9961 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 = "${webpage}/downloads/${pname}-${version}.tar.gz";
+    url = "http://pkgs.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/omniorb/default.nix b/pkgs/development/tools/omniorb/default.nix
index 180e714b81e00..0fe4b191e5038 100644
--- a/pkgs/development/tools/omniorb/default.nix
+++ b/pkgs/development/tools/omniorb/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ python ];
 
   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.";
+    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/";
     license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ smironov ];
diff --git a/pkgs/development/tools/parsing/flex/default.nix b/pkgs/development/tools/parsing/flex/default.nix
index 57ce29f517532..dc25633005b6e 100644
--- a/pkgs/development/tools/parsing/flex/default.nix
+++ b/pkgs/development/tools/parsing/flex/default.nix
@@ -17,6 +17,12 @@ stdenv.mkDerivation rec {
   '';
 
   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
diff --git a/pkgs/development/tools/parsing/ragel/default.nix b/pkgs/development/tools/parsing/ragel/default.nix
index e55a2015a7057..594ec7de53a2b 100644
--- a/pkgs/development/tools/parsing/ragel/default.nix
+++ b/pkgs/development/tools/parsing/ragel/default.nix
@@ -1,21 +1,24 @@
-{stdenv, fetchurl, transfig, texLiveAggregationFun, texLive, texLiveExtra, ghostscript
-, build-manual ? false
+{stdenv, fetchurl, transfig, tex , ghostscript, colm,  build-manual ? false
 }:
 
 stdenv.mkDerivation rec {
   name = "ragel-${version}";
-  version = "6.9";
+  version = "7.0.0.6";
 
   src = fetchurl {
     url = "http://www.colm.net/files/ragel/${name}.tar.gz";
-    sha256 = "02k6rwh8cr95f1p5sjjr3wa6dilg06572xz1v71dk8awmc7vw1vf";
+    sha256 = "1ns3kbcvhinn4rwm54ajg49d1la8filxskl3rgbwws0irzw507vs";
   };
 
-  buildInputs = stdenv.lib.optional build-manual [ transfig ghostscript (texLiveAggregationFun { paths=[ texLive texLiveExtra ]; }) ];
+  buildInputs = stdenv.lib.optional build-manual [ transfig ghostscript tex ];
    
   preConfigure = stdenv.lib.optional build-manual ''
     sed -i "s/build_manual=no/build_manual=yes/g" DIST
   '';
+
+  configureFlags = [ "--with-colm=${colm}" ];
+
+  doCheck = true;
   
   meta = with stdenv.lib; {
     homepage = http://www.complang.org/ragel;
diff --git a/pkgs/development/tools/profiling/gprof2dot/default.nix b/pkgs/development/tools/profiling/gprof2dot/default.nix
index 38315116eeb73..154c0da93d49b 100644
--- a/pkgs/development/tools/profiling/gprof2dot/default.nix
+++ b/pkgs/development/tools/profiling/gprof2dot/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, pythonPackages }:
 
-pythonPackages.buildPythonPackage {
+pythonPackages.buildPythonApplication {
   name = "gprof2dot-2015-04-27";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/tools/repository-managers/nexus/default.nix b/pkgs/development/tools/repository-managers/nexus/default.nix
new file mode 100644
index 0000000000000..1b2f48b696c30
--- /dev/null
+++ b/pkgs/development/tools/repository-managers/nexus/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, makeWrapper, jre }:
+stdenv.mkDerivation rec {
+  name = "nexus-${version}";
+  version = "2.12.0-01";
+
+  src = fetchurl {
+    url = "https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-${version}-bundle.tar.gz";
+    sha256 = "1k3z7kwcmr1pxaxfnak99fq5s8br9zbqbfpyw1afi86ykkph4g5z";
+  };
+
+  sourceRoot = name;
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = 
+    ''
+      mkdir -p $out
+      cp -rfv * $out
+      rm -fv $out/bin/nexus.bat
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Repository manager for binary software components";
+    homepage = http://www.sonatype.org/nexus;
+    license = licenses.epl10;
+    platforms = platforms.all;
+    maintainers = [ maintainers.aespinosa ];
+  };
+}
diff --git a/pkgs/development/tools/rust/rustfmt/default.nix b/pkgs/development/tools/rust/rustfmt/default.nix
index f67b1f00a0f83..28c88d6c15a2c 100644
--- a/pkgs/development/tools/rust/rustfmt/default.nix
+++ b/pkgs/development/tools/rust/rustfmt/default.nix
@@ -3,15 +3,15 @@
 with rustPlatform;
 
 buildRustPackage rec {
-  name = "rustfmt-git-2015-12-23";
+  name = "rustfmt-git-2016-02-15";
   src = fetchFromGitHub {
     owner = "rust-lang-nursery";
     repo = "rustfmt";
-    rev = "c0b7de7c521dc65b2ad2b5a3c81fb56030f4af22";
-    sha256 = "1axnp8w26c3dwlx7bby3qi6385n301rlk1ndh5yaz7vkbpn4w9km";
+    rev = "65bc5c242de86f0651b34fd913ca338a880696e8";
+    sha256 = "02rdim0y5zg1r2zkfy6kj53idlbdybf3ckardbjsvdna5idc1hpz";
   };
 
-  depsSha256 = "1s2as7qc7jbksc16gj5cxxm52zw8h4nfgka66dmwwjlv9679wj9f";
+  depsSha256 = "1297vy5sgiq4xqdm27pa8f99qiwrl15hb2r1dydzgk7n4iqyir6c";
 
   meta = with stdenv.lib; {
     description = "A tool for formatting Rust code according to style guidelines";
diff --git a/pkgs/development/tools/sauce-connect/default.nix b/pkgs/development/tools/sauce-connect/default.nix
index 7f925da376b8a..3818020d931f0 100644
--- a/pkgs/development/tools/sauce-connect/default.nix
+++ b/pkgs/development/tools/sauce-connect/default.nix
@@ -1,21 +1,27 @@
-{ stdenv, lib, fetchurl, zlib }:
+{ stdenv, lib, fetchurl, zlib, unzip }:
 
 with lib;
 
 stdenv.mkDerivation rec {
   name = "sauce-connect-${version}";
-  version = "4.3.6";
+  version = "4.3.13";
 
   src = fetchurl (
     if stdenv.system == "x86_64-linux" then {
       url = "https://saucelabs.com/downloads/sc-${version}-linux.tar.gz";
-      sha1 = "0d7d2dc12766ac137e62a3e4dad3025b590f9782";
-    } else {
+      sha256 = "1flhsssb7wvfbwyvhc9k2di3nd7dlq832xp6dg658xbqk7mr9rvw";
+    } else if stdenv.system == "i686-linux" then {
       url = "https://saucelabs.com/downloads/sc-${version}-linux32.tar.gz";
-      sha1 = "ee2c3002eae3b29df801a2ac1db77bb5f1c97bcc";
+      sha256 = "1hy0riljgjf4sf4cg7kn0hd18w393bdwhp0ajyimzvscg05nx8fq";
+    } else {
+      url = "https://saucelabs.com/downloads/sc-${version}-osx.zip";
+      sha256 = "1fhclbc79rk6pmf5qzc2pkz1z3nsawr9pfi5bzqs8r1514ki4m4p";
     }
   );
 
+  buildInputs = [ unzip ];
+  phases = "unpackPhase installPhase " + (if stdenv.system == "x86_64-darwin" then "" else "patchPhase");
+
   patchPhase = ''
     patchelf \
       --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
@@ -35,6 +41,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     homepage = https://docs.saucelabs.com/reference/sauce-connect/;
     maintainers = with maintainers; [offline];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/tools/watchman/default.nix b/pkgs/development/tools/watchman/default.nix
index 2f02a7a4a1f8f..9c09277deb788 100644
--- a/pkgs/development/tools/watchman/default.nix
+++ b/pkgs/development/tools/watchman/default.nix
@@ -5,13 +5,13 @@
 stdenv.mkDerivation rec {
   name = "watchman-${version}";
 
-  version = "4.3.0";
+  version = "4.5.0";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "watchman";
     rev = "v${version}";
-    sha256 = "0dcaklw4d42z8hndy9zsdqqv1q8r18wnwldgdgjvp5c9vijvgyrd";
+    sha256 = "0hyj7nbsm5mv8zq2fldd06f92a3wamavha20311518qv7q5jj72v";
   };
 
   buildInputs = [ autoconf automake pcre ];
diff --git a/pkgs/development/tools/winpdb/default.nix b/pkgs/development/tools/winpdb/default.nix
index fd6e0a9913872..58a857c221482 100644
--- a/pkgs/development/tools/winpdb/default.nix
+++ b/pkgs/development/tools/winpdb/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, buildPythonPackage, wxPython, makeDesktopItem }:
+{ stdenv, fetchurl, buildPythonApplication, wxPython, makeDesktopItem }:
 
-buildPythonPackage rec {
+buildPythonApplication rec {
   name = "winpdb-1.4.8";
   namePrefix = "";