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/flow/default.nix4
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix2
-rw-r--r--pkgs/development/tools/apktool/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/apache-maven/builder.sh10
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix7
-rw-r--r--pkgs/development/tools/build-managers/boot/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/cargo/default.nix3
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix10
-rw-r--r--pkgs/development/tools/build-managers/icmake/default.nix31
-rw-r--r--pkgs/development/tools/build-managers/leiningen/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/ninja/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix7
-rw-r--r--pkgs/development/tools/build-managers/scons/default.nix4
-rw-r--r--pkgs/development/tools/etcdctl/default.nix25
-rw-r--r--pkgs/development/tools/golint/default.nix28
-rw-r--r--pkgs/development/tools/guile/g-wrap/default.nix9
-rw-r--r--pkgs/development/tools/haskell/cabal2nix/cabal2nix.nix37
-rw-r--r--pkgs/development/tools/haskell/cabal2nix/default.nix49
-rw-r--r--pkgs/development/tools/haskell/cabal2nix/distribution-nixpkgs.nix31
-rw-r--r--pkgs/development/tools/haskell/cabal2nix/hackage2nix.nix32
-rw-r--r--pkgs/development/tools/haskell/cabal2nix/language-nix.nix25
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix10
-rw-r--r--pkgs/development/tools/misc/autogen/default.nix87
-rw-r--r--pkgs/development/tools/misc/bin_replace_string/default.nix2
-rw-r--r--pkgs/development/tools/misc/ccache/default.nix19
-rw-r--r--pkgs/development/tools/misc/ccache/test-drop-perl-requirement.patch36
-rw-r--r--pkgs/development/tools/misc/cl-launch/default.nix8
-rw-r--r--pkgs/development/tools/misc/dfu-util/default.nix31
-rw-r--r--pkgs/development/tools/misc/elfutils/CVE-2014-0172.patch32
-rw-r--r--pkgs/development/tools/misc/elfutils/default.nix9
-rw-r--r--pkgs/development/tools/misc/fswatch/default.nix4
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix6
-rw-r--r--pkgs/development/tools/misc/gnum4/default.nix4
-rw-r--r--pkgs/development/tools/misc/gtkdialog/default.nix4
-rw-r--r--pkgs/development/tools/misc/lsof/default.nix6
-rw-r--r--pkgs/development/tools/misc/openocd/default.nix12
-rw-r--r--pkgs/development/tools/misc/pahole/default.nix4
-rw-r--r--pkgs/development/tools/misc/patchelf/setup-hook.sh2
-rw-r--r--pkgs/development/tools/misc/texinfo/6.0.nix44
-rw-r--r--pkgs/development/tools/misc/yodl/default.nix24
-rw-r--r--pkgs/development/tools/ocaml/camlp4/default.nix16
-rw-r--r--pkgs/development/tools/ocaml/oasis/default.nix6
-rw-r--r--pkgs/development/tools/ocaml/utop/default.nix12
-rw-r--r--pkgs/development/tools/omniorb/default.nix22
-rw-r--r--pkgs/development/tools/packer/default.nix4
-rw-r--r--pkgs/development/tools/parsing/flexc++/default.nix25
-rw-r--r--pkgs/development/tools/parsing/re2c/default.nix4
-rw-r--r--pkgs/development/tools/phantomjs2/default.nix49
-rw-r--r--pkgs/development/tools/rhc/Gemfile2
-rw-r--r--pkgs/development/tools/rhc/Gemfile.lock35
-rw-r--r--pkgs/development/tools/rhc/default.nix17
-rw-r--r--pkgs/development/tools/rhc/gemset.nix95
-rw-r--r--pkgs/development/tools/slimerjs/default.nix18
-rw-r--r--pkgs/development/tools/vagrant/default.nix10
57 files changed, 630 insertions, 373 deletions
diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix
index f5c6a9bcd1a5..5817edbf2e35 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.8.1";
+  version = "6.9";
   name = "checkstyle-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/checkstyle/${name}-bin.tar.gz";
-    sha256 = "12da8msz5459ra0g5smr8daqh88mfa653nn475acjp1ycsm395hv";
+    sha256 = "122lzqai6nb1wx9z9hc92sld9ghrynywf4f4lz6wk50kywcp0p70";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 0777b5a5f9a6..b0e021f54cc7 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, ocaml, libelf }:
 
 stdenv.mkDerivation rec {
-  version = "0.1.0";
+  version = "0.14.0";
   name = "flow-${version}";
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "1f33zmajd6agb36gp8bwj0yqihjhxnkpig9x3a4ggn369x6ixhn3";
+    sha256 = "02adbn2h5bfc4drcpbalq7acx573a657ik3008fr8s9qyqdp2nl6";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index 3c59bf45effe..da127b2f8eef 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
     sha256 = "14sgsvjjalbcqpcayyv5cndc9hfm5bigkp684b6cr6virksmlk19";
   }) ./linux-4.0.patch];
 
+  outputs = [ "out" "doc" ];
+
   # 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/apktool/default.nix b/pkgs/development/tools/apktool/default.nix
index 239416535755..71e8dcc49537 100644
--- a/pkgs/development/tools/apktool/default.nix
+++ b/pkgs/development/tools/apktool/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ makeWrapper ];
 
+  sourceRoot = ".";
+
   installPhase = ''
     install -D apktool.jar "$out/libexec/apktool/apktool.jar"
     mkdir -p "$out/bin"
diff --git a/pkgs/development/tools/build-managers/apache-ant/default.nix b/pkgs/development/tools/build-managers/apache-ant/default.nix
index 476d2cb8ac52..b15c9065e0ec 100644
--- a/pkgs/development/tools/build-managers/apache-ant/default.nix
+++ b/pkgs/development/tools/build-managers/apache-ant/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, stdenv, coreutils, makeWrapper }:
 
-let version = "1.9.4"; in
+let version = "1.9.6"; in
 
 stdenv.mkDerivation {
   name = "ant-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2";
-    sha256 = "1kw801p8h5x4f0g8i5yknppssrj5a3xy1aqrkpfnk22bd1snbh90";
+    sha256 = "1cwd5vq175gyicw0hkm8idwa33zxwhf7xlxywaqxcqqdjql0jfx4";
   };
 
   contrib = fetchurl {
diff --git a/pkgs/development/tools/build-managers/apache-maven/builder.sh b/pkgs/development/tools/build-managers/apache-maven/builder.sh
index 03e4a0414026..8d06352b1356 100644
--- a/pkgs/development/tools/build-managers/apache-maven/builder.sh
+++ b/pkgs/development/tools/build-managers/apache-maven/builder.sh
@@ -2,16 +2,16 @@ source $stdenv/setup
 
 unpackPhase
 
-mkdir -p $out
-cp -r $name/* $out
+mkdir -p $out/maven
+cp -r $name/* $out/maven
 
-wrapProgram $out/bin/mvn --set JAVA_HOME "$jdk"
+makeWrapper $out/maven/bin/mvn $out/bin/mvn --set JAVA_HOME "$jdk"
 
 # Add the maven-axis and JIRA plugin by default when using maven 1.x
-if [ -e $out/bin/maven ]
+if [ -e $out/maven/bin/maven ]
 then
   export OLD_HOME=$HOME
   export HOME=.
-  $out/bin/maven plugin:download -DgroupId=maven-plugins -DartifactId=maven-axis-plugin -Dversion=0.7
+  $out/maven/bin/maven plugin:download -DgroupId=maven-plugins -DartifactId=maven-axis-plugin -Dversion=0.7
   export HOME=OLD_HOME
 fi
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index e9ddc17bb026..ff23390d79ca 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, jdk, zip, zlib, protobuf, pkgconfig, libarchive, unzip, makeWrapper }:
+{ stdenv, fetchFromGitHub, jdk, zip, zlib, protobuf2_5, pkgconfig, libarchive, unzip, which, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "bazel-20150326.981b7bc1";
@@ -10,19 +10,20 @@ stdenv.mkDerivation rec {
     sha256 = "0i9gxgqhfmix7hmkb15s7h9f8ssln08pixqm26pd1d20g0kfyxj7";
   };
 
-  buildInputs = [ pkgconfig protobuf zlib zip jdk libarchive unzip makeWrapper ];
+  buildInputs = [ pkgconfig protobuf2_5 zlib zip jdk libarchive unzip which makeWrapper ];
 
   installPhase = ''
     PROTOC=protoc bash compile.sh
     mkdir -p $out/bin $out/share
     cp -R output $out/share/bazel
     ln -s $out/share/bazel/bazel $out/bin/bazel
-    wrapProgram $out/bin/bazel --set JAVA_HOME "${jdk}"
+    wrapProgram $out/bin/bazel --set JAVA_HOME "${jdk.home}"
   '';
 
   meta = {
     homepage = http://github.com/google/bazel/;
     description = "Build tool that builds code quickly and reliably";
     license = stdenv.lib.licenses.asl20;
+    maintainers = [ stdenv.lib.maintainers.philandstuff ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/boot/default.nix b/pkgs/development/tools/build-managers/boot/default.nix
index 778019ea541a..99a11e9fbf75 100644
--- a/pkgs/development/tools/build-managers/boot/default.nix
+++ b/pkgs/development/tools/build-managers/boot/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jdk }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.0";
+  version = "2.2.0";
   name = "boot-${version}";
 
   src = fetchurl {
     url = "https://github.com/boot-clj/boot/releases/download/${version}/boot.sh";
-    sha256 = "0hvznr0z5ck32wpaqhjv2fr9365b8h0h8brnsmwijpv699l0rf1c";
+    sha256 = "0czavpdhmpgp20vywf326ix1f94dky51mqiwyblrmrd33d89qz9f";
   };
 
   inherit jdk;
diff --git a/pkgs/development/tools/build-managers/cargo/default.nix b/pkgs/development/tools/build-managers/cargo/default.nix
index d849ad5de944..9ffc9b0cbb99 100644
--- a/pkgs/development/tools/build-managers/cargo/default.nix
+++ b/pkgs/development/tools/build-managers/cargo/default.nix
@@ -11,8 +11,7 @@ buildRustPackage rec {
   src = fetchgit {
     url = "https://github.com/rust-lang/cargo.git";
     rev = "refs/tags/0.3.0";
-    sha256 = "1ckb2xd7nm8357imw6b1ci2ar8grnihzan94kvmjrijq6sz8yv9i";
-    leaveDotGit = true;
+    sha256 = "0p7p7yivydjkpqb53a8i7pjl719z3gxa6czi0255ccwsh6n9z793";
   };
 
   depsSha256 = "1sgdr2akd9xrfmf5g0lbf842b2pdj1ymxk37my0cf2x349rjsf0w";
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 112950b690d6..c39fa657f84e 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -10,8 +10,8 @@ assert wantPS -> (ps != null);
 
 let
   os = stdenv.lib.optionalString;
-  majorVersion = "3.2";
-  minorVersion = "2";
+  majorVersion = "3.3";
+  minorVersion = "1";
   version = "${majorVersion}.${minorVersion}";
 in
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
-    sha256 = "0y3w83al0vh9ll7fnqm3nx7l8hsl85k8iv9abxb791q36rp4xsdd";
+    sha256 = "1mp32dqywk4dfw7zmpgp31axszv7h74yk69g273z21q7d8n04rfd";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index 3bff9d59e7fa..185f4a29e00d 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl, unzip, jdk, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "gradle-2.2.1";
+  name = "gradle-2.6";
 
   src = fetchurl {
     url = "http://services.gradle.org/distributions/${name}-bin.zip";
-    sha256 = "420aa50738299327b611c10b8304b749e8d3a579407ee9e755b15921d95ff418";
+    sha256 = "10ww9vqyi5jkdw5bna14y63fjfhh40n81q7qsfhdycgj19b8ra8q";
   };
 
   installPhase = ''
-    mkdir -pv $out
-    cp -rv lib $out
+    mkdir -pv $out/gradle
+    cp -rv lib $out/gradle
 
-    gradle_launcher_jar=$(echo $out/lib/gradle-launcher-*.jar)
+    gradle_launcher_jar=$(echo $out/gradle/lib/gradle-launcher-*.jar)
     test -f $gradle_launcher_jar
     makeWrapper ${jdk}/bin/java $out/bin/gradle \
       --set JAVA_HOME ${jdk} \
diff --git a/pkgs/development/tools/build-managers/icmake/default.nix b/pkgs/development/tools/build-managers/icmake/default.nix
index d83ae51aaaad..181a00ce7e14 100644
--- a/pkgs/development/tools/build-managers/icmake/default.nix
+++ b/pkgs/development/tools/build-managers/icmake/default.nix
@@ -1,28 +1,37 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+let version = "7.22.01"; in
+stdenv.mkDerivation {
   name = "icmake-${version}";
-  version = "7.22.01";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/icmake/icmake_${version}.orig.tar.gz";
-    sha256 = "1iv6p9cyvr9i2sjhklplr65llg1ycxqy7z4dfgn0nkwxgs9yf8mm";
+  src = fetchFromGitHub {
+    sha256 = "1pgl8bami4v86ja40in4fsdx940f6q85l1s4b9k53zl29pm85v5k";
+    rev = version;
+    repo = "icmake";
+    owner = "fbb-git";
   };
 
+  sourceRoot = "icmake-${version}-src/icmake";
+
   preConfigure = ''
     patchShebangs ./
-    sed -i "s;usr/;;g" INSTALL.im
+    substituteInPlace INSTALL.im --replace "usr/" ""
   '';
 
-  buildPhase = "./icm_bootstrap $out";
+  buildPhase = ''
+    ./icm_bootstrap $out
+  '';
 
-  installPhase = "./icm_install all /";
+  installPhase = ''
+    ./icm_install all /
+  '';
 
   meta = with stdenv.lib; {
+    inherit version;
     description = "A program maintenance (make) utility using a C-like grammar";
-    homepage = http://icmake.sourceforge.net/;
+    homepage = https://fbb-git.github.io/icmake/;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ pSub ];
+    maintainers = with maintainers; [ nckx pSub ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix
index 5fb7d1a6995b..70a6fac7bab3 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.1";
+  version = "2.5.2";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://raw.github.com/technomancy/leiningen/${version}/bin/lein-pkg";
-    sha256 = "0pqqb2bh0a17426diwyhk5vbxcfz45rppbxmjydsmai94jm3cgix";
+    sha256 = "0pzs645315nvn981w3nj8fi30g6kq67cmj7hq7da658qlk0p6r7i";
   };
 
   jarsrc = fetchurl {
     # NOTE: This is actually a .jar, Github has issues
     url = "https://github.com/technomancy/leiningen/releases/download/${version}/${name}-standalone.zip";
-    sha256 = "1irl3w66xq1xbbs4g10dnw1vknfw8al70nhr744gfn2za27w0xdl";
+    sha256 = "0qhvgvii4x3p49bx494f6fc7dfvxx2crp2wbkldxx2brvh105iv4";
   };
 
   patches = [ ./lein-fix-jar-path.patch ];
diff --git a/pkgs/development/tools/build-managers/ninja/default.nix b/pkgs/development/tools/build-managers/ninja/default.nix
index 5ba5d86ac77a..c1ef980e82d3 100644
--- a/pkgs/development/tools/build-managers/ninja/default.nix
+++ b/pkgs/development/tools/build-managers/ninja/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "ninja-${version}";
-  version = "1.5.3";
+  version = "1.6.0";
 
   src = fetchurl {
     name = "${name}.tar.gz";
     url = "https://github.com/martine/ninja/archive/v${version}.tar.gz";
-    sha256 = "1h3yfwcfl61v493vna6jia2fizh8rpig7qw2504cvkr6gid3p5bw";
+    sha256 = "1ryd1686bd31gfdjxnqm6k1ybnjmjz8v97px7lmdkr4g0vxqhgml";
   };
 
   buildInputs = [ python asciidoc re2c ];
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index 01a3b740e6e1..b4cfc0bf0c1a 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.8";
+  version = "0.13.9";
 
   src = fetchurl {
     url = "http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/${version}/sbt-launch.jar";
-    sha256 = "0n4ivla8s8ygfnf95dj624nhcyganigf7fy0gamgyf31vw1vnw35";
+    sha256 = "04k411gcrq35ayd2xj79bcshczslyqkicwvhkf07hkyr4j3blxda";
   };
 
   phases = [ "installPhase" ];
@@ -15,6 +15,9 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
     cat > $out/bin/sbt << EOF
     #! ${stdenv.shell}
+    if [ ! -v JAVA_HOME ]; then
+        export JAVA_HOME="${jre.home}"
+    fi
     ${jre}/bin/java \$SBT_OPTS -jar ${src} "\$@"
     EOF
     chmod +x $out/bin/sbt
diff --git a/pkgs/development/tools/build-managers/scons/default.nix b/pkgs/development/tools/build-managers/scons/default.nix
index 9e54be8aa90f..a2b79d77e22c 100644
--- a/pkgs/development/tools/build-managers/scons/default.nix
+++ b/pkgs/development/tools/build-managers/scons/default.nix
@@ -2,7 +2,7 @@
 
 let
   name = "scons";
-  version = "2.3.5";
+  version = "2.3.6";
 in
 
 stdenv.mkDerivation {
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/scons/${name}-${version}.tar.gz";
-    sha256 = "0hlwkrr5fkjpjgmwipp9a2bnc9riqks2pjc3rvjsq0a8j7hr72ca";
+    sha256 = "1pq44h0ndclbrwvx901zih63jnzqsyyr865zlml40klg3lssmbcq";
   };
 
   buildInputs = [python makeWrapper];
diff --git a/pkgs/development/tools/etcdctl/default.nix b/pkgs/development/tools/etcdctl/default.nix
deleted file mode 100644
index ae2c06d5a229..000000000000
--- a/pkgs/development/tools/etcdctl/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, goPackages, fetchFromGitHub }:
-
-with goPackages;
-
-buildGoPackage rec {
-  version = "0.4.5";
-  name = "etcdctl-${version}";
-  goPackagePath = "github.com/coreos/etcdctl";
-  src = fetchFromGitHub {
-    owner = "coreos";
-    repo = "etcdctl";
-    rev = "v${version}";
-    sha256 = "1kbri59ppil52v7s992q8r6i1zk9lac0s2w00z2lsgc9w1z59qs0";
-  };
-
-  dontInstallSrc = true;
-
-  meta = with lib; {
-    description = "A simple command line client for etcd";
-    homepage = http://coreos.com/using-coreos/etcd/;
-    license = licenses.asl20;
-    maintainers = with maintainers; [ cstrahan ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/tools/golint/default.nix b/pkgs/development/tools/golint/default.nix
deleted file mode 100644
index 7be4f84680af..000000000000
--- a/pkgs/development/tools/golint/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib, goPackages, fetchFromGitHub }:
-
-with goPackages;
-
-buildGoPackage rec {
-  rev = "8ca23475bcb43213a55dd8210b69363f6b0e09c1";
-  name = "golint-${lib.strings.substring 0 7 rev}";
-  goPackagePath = "github.com/golang/lint";
-
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "golang";
-    repo = "lint";
-    sha256 = "16wbykik6dw3x9s7iqi4ln8kvzsh3g621wb8mk4nfldw7lyqp3cs";
-  };
-
-  subPackages = [ "golint" ];
-
-  dontInstallSrc = true;
-
-  meta = with lib; {
-    description = "Linter for Go source code";
-    homepage = https://github.com/golang/lint;
-    license = licenses.mit;
-    maintainers = with maintainers; [ offline ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/tools/guile/g-wrap/default.nix b/pkgs/development/tools/guile/g-wrap/default.nix
index e62ce13ebf7f..ed492a0b82df 100644
--- a/pkgs/development/tools/guile/g-wrap/default.nix
+++ b/pkgs/development/tools/guile/g-wrap/default.nix
@@ -1,11 +1,10 @@
-{ fetchurl, stdenv, guile, libffi, pkgconfig, glib
-, guile_lib }:
+{ fetchurl, stdenv, guile, libffi, pkgconfig, glib, guile_lib }:
 
 stdenv.mkDerivation rec {
-  name = "g-wrap-1.9.13";
+  name = "g-wrap-1.9.15";
   src = fetchurl {
     url = "mirror://savannah/g-wrap/${name}.tar.gz";
-    sha256 = "0fc874zlwzjahyliqnva1zfsv0chlx4cvfhwchij9n2d3kmsss9v";
+    sha256 = "140fcvp24pqmfmiibhjxl3s75hj26ln7pkl2wxas84lnchbj9m4d";
   };
 
   # Note: Glib support is optional, but it's quite useful (e.g., it's
@@ -26,6 +25,6 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://www.nongnu.org/g-wrap/;
     license = stdenv.lib.licenses.lgpl2Plus;
-    maintainers = [ ];
+    maintainers = [ stdenv.lib.maintainers.taktoa ];
   };
 }
diff --git a/pkgs/development/tools/haskell/cabal2nix/cabal2nix.nix b/pkgs/development/tools/haskell/cabal2nix/cabal2nix.nix
new file mode 100644
index 000000000000..537e427f66c1
--- /dev/null
+++ b/pkgs/development/tools/haskell/cabal2nix/cabal2nix.nix
@@ -0,0 +1,37 @@
+{ mkDerivation, ansi-wl-pprint, base, Cabal, containers, distribution-nixpkgs
+, language-nix, lens, optparse-applicative, pretty
+, pretty-show, stdenv, fetchFromGitHub, nix-prefetch-scripts, makeWrapper
+}:
+
+mkDerivation rec {
+  pname = "cabal2nix";
+  version = "20180903";
+  src = fetchFromGitHub {
+    owner = "nixos";
+    repo = "cabal2nix";
+    rev = "v${version}";
+    sha256 = "1qb7h4bgd1gv025hdbrpwaajpfkyz95id7br3k3danrj1havr9ja";
+  };
+  postUnpack = "sourceRoot+=/${pname}";
+  isLibrary = false;
+  isExecutable = true;
+  enableSharedExecutables = false;
+  executableHaskellDepends = [
+    ansi-wl-pprint base Cabal containers distribution-nixpkgs
+    language-nix lens optparse-applicative
+    pretty pretty-show
+  ];
+  executableToolDepends = [ makeWrapper ];
+  postInstall = ''
+    exe=$out/libexec/${pname}-${version}/${pname}
+    install -D $out/bin/${pname} $exe
+    rm -rf $out/{bin,lib,share}
+    makeWrapper $exe $out/bin/${pname} --prefix PATH ":" "${nix-prefetch-scripts}/bin"
+    mkdir -p $out/share/bash-completion/completions
+    $exe --bash-completion-script $exe >$out/share/bash-completion/completions/${pname}
+  '';
+  homepage = "https://github.com/nixos/cabal2nix#readme";
+  description = "Convert Cabal files into Nix build instructions";
+  license = stdenv.lib.licenses.bsd3;
+  maintainers = with stdenv.lib.maintainers; [ simons ];
+}
diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix
deleted file mode 100644
index 3da457bdf76c..000000000000
--- a/pkgs/development/tools/haskell/cabal2nix/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ mkDerivation, fetchgit, aeson, base, bytestring, Cabal, containers
-, deepseq, deepseq-generics, directory, doctest, filepath, gitMinimal
-, hackage-db, hspec, lens, monad-par, monad-par-extras, mtl, pretty
-, process, QuickCheck, regex-posix, SHA, split, stdenv, transformers
-, utf8-string, cartel, nix-prefetch-scripts, optparse-applicative
-, makeWrapper
-}:
-
-mkDerivation rec {
-  pname = "cabal2nix";
-  version = "20150531";
-  src = fetchgit {
-    url = "http://github.com/NixOS/cabal2nix.git";
-    rev = "513a5fce6cfabe0b062424f6deb191a12f7e2187";
-    sha256 = "1j4x85cqj823d9swi473b4i9rz9wlm9m7c1il73h02dq5i67wida";
-    deepClone = true;
-  };
-  isExecutable = true;
-  enableSharedLibraries = false;
-  enableSharedExecutables = false;
-  buildDepends = [
-    aeson base bytestring Cabal containers deepseq-generics directory
-    filepath hackage-db lens monad-par monad-par-extras mtl pretty
-    process regex-posix SHA split transformers utf8-string cartel
-    optparse-applicative
-  ];
-  testDepends = [
-    aeson base bytestring Cabal containers deepseq deepseq-generics
-    directory doctest filepath hackage-db hspec lens monad-par
-    monad-par-extras mtl pretty process QuickCheck regex-posix SHA
-    split transformers utf8-string
-  ];
-  buildTools = [ gitMinimal makeWrapper ];
-  preConfigure = ''
-    git reset --hard # Re-create the index that fetchgit destroyed in the name of predictable hashes.
-    runhaskell $setupCompileFlags generate-cabal-file --release >cabal2nix.cabal
-  '';
-  postInstall = ''
-    exe=$out/libexec/${pname}-${version}/cabal2nix
-    install -D $out/bin/cabal2nix $exe
-    rm -rf $out/{bin,lib,share}
-    makeWrapper $exe $out/bin/cabal2nix --prefix PATH ":" "${nix-prefetch-scripts}/bin"
-    mkdir -p $out/share/bash-completion/completions
-    $exe --bash-completion-script $exe >$out/share/bash-completion/completions/cabal2nix
-  '';
-  homepage = "http://github.com/NixOS/cabal2nix/";
-  description = "Convert Cabal files into Nix build instructions";
-  license = stdenv.lib.licenses.bsd3;
-}
diff --git a/pkgs/development/tools/haskell/cabal2nix/distribution-nixpkgs.nix b/pkgs/development/tools/haskell/cabal2nix/distribution-nixpkgs.nix
new file mode 100644
index 000000000000..3262008e25a3
--- /dev/null
+++ b/pkgs/development/tools/haskell/cabal2nix/distribution-nixpkgs.nix
@@ -0,0 +1,31 @@
+{ mkDerivation, aeson, base, bytestring, Cabal, containers, deepseq
+, deepseq-generics, directory, doctest, filepath, hackage-db, hspec
+, language-nix, lens, pretty, process, SHA, split, stdenv
+, transformers, utf8-string, fetchFromGitHub
+}:
+
+mkDerivation rec {
+  pname = "distribution-nixpkgs";
+  version = "20180903";
+  src = fetchFromGitHub {
+    owner = "nixos";
+    repo = "cabal2nix";
+    rev = "v${version}";
+    sha256 = "1qb7h4bgd1gv025hdbrpwaajpfkyz95id7br3k3danrj1havr9ja";
+  };
+  postUnpack = "sourceRoot+=/${pname}";
+  libraryHaskellDepends = [
+    aeson base bytestring Cabal containers deepseq deepseq-generics
+    directory doctest filepath hackage-db hspec language-nix lens
+    pretty process SHA split transformers utf8-string
+  ];
+  testHaskellDepends = [
+    aeson base bytestring Cabal containers deepseq deepseq-generics
+    directory doctest filepath hackage-db hspec language-nix lens
+    pretty process SHA split transformers utf8-string
+  ];
+  homepage = "https://github.com/nixos/cabal2nix#readme";
+  description = "Convert Cabal files into Nix build instructions";
+  license = stdenv.lib.licenses.bsd3;
+  maintainers = with stdenv.lib.maintainers; [ simons ];
+}
diff --git a/pkgs/development/tools/haskell/cabal2nix/hackage2nix.nix b/pkgs/development/tools/haskell/cabal2nix/hackage2nix.nix
new file mode 100644
index 000000000000..28a767e31f00
--- /dev/null
+++ b/pkgs/development/tools/haskell/cabal2nix/hackage2nix.nix
@@ -0,0 +1,32 @@
+{ mkDerivation, base, Cabal, containers, distribution-nixpkgs
+, filepath, language-nix, lens, monad-par, monad-par-extras, mtl
+, optparse-applicative, pretty, stdenv, fetchFromGitHub
+}:
+
+mkDerivation rec {
+  pname = "hackage2nix";
+  version = "20180903";
+  src = fetchFromGitHub {
+    owner = "nixos";
+    repo = "cabal2nix";
+    rev = "v${version}";
+    sha256 = "1qb7h4bgd1gv025hdbrpwaajpfkyz95id7br3k3danrj1havr9ja";
+  };
+  postUnpack = "sourceRoot+=/${pname}";
+  isLibrary = false;
+  isExecutable = true;
+  enableSharedExecutables = false;
+  executableHaskellDepends = [
+    base Cabal containers distribution-nixpkgs filepath language-nix
+    lens monad-par monad-par-extras mtl optparse-applicative pretty
+  ];
+  postInstall = ''
+    exe=$out/bin/${pname}
+    mkdir -p $out/share/bash-completion/completions
+    $exe --bash-completion-script $exe >$out/share/bash-completion/completions/${pname}
+  '';
+  homepage = "https://github.com/nixos/cabal2nix#readme";
+  description = "Convert Cabal files into Nix build instructions";
+  license = stdenv.lib.licenses.bsd3;
+  maintainers = with stdenv.lib.maintainers; [ simons ];
+}
diff --git a/pkgs/development/tools/haskell/cabal2nix/language-nix.nix b/pkgs/development/tools/haskell/cabal2nix/language-nix.nix
new file mode 100644
index 000000000000..ea282d751018
--- /dev/null
+++ b/pkgs/development/tools/haskell/cabal2nix/language-nix.nix
@@ -0,0 +1,25 @@
+{ mkDerivation, base, deepseq, doctest, lens, pretty, regex-posix
+, stdenv, fetchFromGitHub, QuickCheck
+}:
+
+mkDerivation rec {
+  pname = "language-nix";
+  version = "20180903";
+  src = fetchFromGitHub {
+    owner = "nixos";
+    repo = "cabal2nix";
+    rev = "v${version}";
+    sha256 = "1qb7h4bgd1gv025hdbrpwaajpfkyz95id7br3k3danrj1havr9ja";
+  };
+  postUnpack = "sourceRoot+=/${pname}";
+  libraryHaskellDepends = [
+    base deepseq lens pretty regex-posix
+  ];
+  testHaskellDepends = [
+    base deepseq doctest lens pretty regex-posix QuickCheck
+  ];
+  homepage = "https://github.com/nixos/cabal2nix#readme";
+  description = "Data types and useful functions to represent and manipulate the Nix language";
+  license = stdenv.lib.licenses.bsd3;
+  maintainers = with stdenv.lib.maintainers; [ simons ];
+}
diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
index a6a457c2b583..67c32c0a8065 100644
--- a/pkgs/development/tools/misc/arcanist/default.nix
+++ b/pkgs/development/tools/misc/arcanist/default.nix
@@ -3,18 +3,18 @@
 let
   libphutil = fetchgit {
     url    = "git://github.com/phacility/libphutil.git";
-    rev    = "3753a09dfc7e7ee2626946735e420e5b50480f89";
-    sha256 = "86c2613fed23edff58452ceb9fa98ceb559c7e41abdb6752f87ebcf0f50a1a66";
+    rev    = "e509fc30ae782af97f3535b1febbf50d0f919d5a";
+    sha256 = "087dc5aadf1f78ebc7cf2b9107422f211b98ac96493fab8cf6bd9924ba77d986";
   };
   arcanist = fetchgit {
     url    = "git://github.com/phacility/arcanist.git";
-    rev    = "4d6d3feb7fc1fb63789554dddee8e489999c1201";
-    sha256 = "e3a9314544c4430ac6e67ba2ae180a96b009b3ab848ba8712fc2b308cf880372";
+    rev    = "fe8ed2a6f8b09b8c56e476ed1f9624d35732b776";
+    sha256 = "602fe03671c424d55af63e6288e906b350183bb42d558498ded005ae7e83fc85";
   };
 in
 stdenv.mkDerivation rec {
   name    = "arcanist-${version}";
-  version = "20150707";
+  version = "20150817";
 
   src = [ arcanist libphutil ];
   buildInputs = [ php makeWrapper flex ];
diff --git a/pkgs/development/tools/misc/autogen/default.nix b/pkgs/development/tools/misc/autogen/default.nix
index 01c5fd7dcbad..9c7185e1021c 100644
--- a/pkgs/development/tools/misc/autogen/default.nix
+++ b/pkgs/development/tools/misc/autogen/default.nix
@@ -1,55 +1,32 @@
-{ fetchurl, stdenv, guile, which, libffi }:
-
-let version = "5.18"; in
-
-  stdenv.mkDerivation {
-    name = "autogen-${version}";
-
-    src = fetchurl {
-      url = "mirror://gnu/autogen/rel${version}/autogen-${version}.tar.gz";
-      sha256 = "1h2d3wpzkla42igxyisaqh2nwpq01vwad1wp9671xmm5ahvkw5f7";
-    };
-
-    buildInputs = [ guile which libffi ];
-
-    patchPhase =
-      '' for i in $(find -name \*.in)
-         do
-           sed -i "$i" -e's|/usr/bin/||g'
-         done
-      '';
-
-    # The tests rely on being able to find `libopts.a'.
-    configureFlags = "--enable-static";
-
-    #doCheck = true; # 2 tests fail because of missing /dev/tty
-
-    meta = with stdenv.lib; {
-      description = "Automated text and program generation tool";
-
-      longDescription = ''
-        AutoGen is a tool designed to simplify the creation and maintenance
-        of programs that contain large amounts of repetitious text.  It is
-        especially valuable in programs that have several blocks of text that
-        must be kept synchronized.
-
-        AutoGen can now accept XML files as definition input, in addition to
-        CGI data (for producing dynamic HTML) and traditional AutoGen
-        definitions.
-
-        A common example where this would be useful is in creating and
-        maintaining the code required for processing program options.
-        Processing options requires multiple constructs to be maintained in
-        parallel in different places in your program.  Options maintenance
-        needs to be done countless times.  So, AutoGen comes with an add-on
-        package named AutoOpts that simplifies the maintenance and
-        documentation of program options.
-      '';
-
-      license = with licenses; [ gpl3Plus lgpl3Plus ];
-
-      homepage = http://www.gnu.org/software/autogen/;
-
-      maintainers = [ ];
-    };
-  }
+{ stdenv, fetchurl, which, pkgconfig, perl, guile, libxml2 }:
+
+stdenv.mkDerivation rec {
+  name = "autogen-${version}";
+  version = "5.18.5";
+
+  src = fetchurl {
+    url = "mirror://gnu/autogen/rel${version}/autogen-${version}.tar.gz";
+    sha256 = "1flnbnmkbqmbfgammkl8m36wrlk6rhpgnf9pdm6gdfhqalxvggbv";
+  };
+
+  nativeBuildInputs = [ which pkgconfig perl ];
+  buildInputs = [ guile libxml2 ];
+
+  postPatch = ''
+    # Fix a broken sed expression used for detecting the minor
+    # version of guile we are using
+    sed -i "s,sed '.*-I.*',sed 's/\\\(^\\\| \\\)-I/\\\1/g',g" configure
+
+    substituteInPlace pkg/libopts/mklibsrc.sh --replace /tmp $TMPDIR
+  '';
+
+  #doCheck = true; # 2 tests fail because of missing /dev/tty
+
+  meta = with stdenv.lib; {
+    description = "Automated text and program generation tool";
+    license = with licenses; [ gpl3Plus lgpl3Plus ];
+    homepage = http://www.gnu.org/software/autogen/;
+    platforms = platforms.all;
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/development/tools/misc/bin_replace_string/default.nix b/pkgs/development/tools/misc/bin_replace_string/default.nix
index 7d33d8ee3c3d..9e4b77c196e7 100644
--- a/pkgs/development/tools/misc/bin_replace_string/default.nix
+++ b/pkgs/development/tools/misc/bin_replace_string/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, libelf, txt2man }:
 
 let version = "0.2"; in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   name = "bin_replace_string-${version}";
 
   src = fetchurl {
diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix
index 0762d175e89d..41a6095a9a46 100644
--- a/pkgs/development/tools/misc/ccache/default.nix
+++ b/pkgs/development/tools/misc/ccache/default.nix
@@ -1,10 +1,9 @@
 { stdenv, fetchurl, runCommand, gcc, zlib }:
 
 let
-  # TODO: find out if there's harm in just using 'rec' instead.
   name = "ccache-${version}";
-  version = "3.2.2";
-  sha256 = "1jm0qb3h5sypllaiyj81zp6m009vm50hzjnx994ril94kxlrj3ag";
+  version = "3.2.3";
+  sha256 = "03k0fvblwqb80zwdgas8a5fjrwvghgsn587wp3lfr0jr8gy1817c";
 
   ccache =
 stdenv.mkDerivation {
@@ -14,16 +13,19 @@ stdenv.mkDerivation {
     url = "mirror://samba/ccache/${name}.tar.xz";
   };
 
-  patches = [ ./test-drop-perl-requirement.patch ];
-
   buildInputs = [ zlib ];
 
+  postPatch = ''
+    substituteInPlace Makefile.in --replace 'objs) $(extra_libs)' 'objs)'
+  '';
+
   doCheck = true;
 
   passthru = {
     # A derivation that provides gcc and g++ commands, but that
     # will end up calling ccache for the given cacheDir
-    links = extraConfig : (runCommand "ccache-links" { passthru.gcc = gcc; }
+    links = extraConfig: (runCommand "ccache-links"
+      { passthru.gcc = gcc; passthru.isGNU = true; }
       ''
         mkdir -p $out/bin
         if [ -x "${gcc.cc}/bin/gcc" ]; then
@@ -42,6 +44,11 @@ stdenv.mkDerivation {
         EOF
           chmod +x $out/bin/g++
         fi
+        for executable in $(ls ${gcc.cc}/bin); do
+          if [ ! -x "$out/bin/$executable" ]; then
+            ln -s ${gcc.cc}/bin/$executable $out/bin/$executable
+          fi
+        done
       '');
   };
 
diff --git a/pkgs/development/tools/misc/ccache/test-drop-perl-requirement.patch b/pkgs/development/tools/misc/ccache/test-drop-perl-requirement.patch
deleted file mode 100644
index ca4c39edc300..000000000000
--- a/pkgs/development/tools/misc/ccache/test-drop-perl-requirement.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Since perl is used in just one place and can easily be replaced by a
-little bit of shell, do so.  This makes testing on limited systems
-easier.
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- INSTALL.txt | 1 -
- test.sh     | 2 +-
- 2 files changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/INSTALL.txt b/INSTALL.txt
-index 256beab..f77cbe6 100644
---- a/INSTALL.txt
-+++ b/INSTALL.txt
-@@ -67,7 +67,6 @@ In addition to the prerequisites mentioned above, you also need:
-
- To debug and run the performance test suite you'll also need:
-
--- Perl (http://www.perl.org/)
- - Python (http://www.python.org/)
-
- Run "./autogen.sh" and then follow the steps mentioned under "Installation"
-diff --git a/test.sh b/test.sh
-index f14e287..1090649 100755
---- a/test.sh
-+++ b/test.sh
-@@ -1834,7 +1834,7 @@ prepare_cleanup_test() {
-     mkdir -p $dir
-     i=0
-     while [ $i -lt 10 ]; do
--        perl -e 'print "A" x 4017' >$dir/result$i-4017.o
-+        printf '%4017s' '' | tr ' ' 'A' >$dir/result$i-4017.o
-         touch $dir/result$i-4017.stderr
-         touch $dir/result$i-4017.d
-         if [ $i -gt 5 ]; then
---
diff --git a/pkgs/development/tools/misc/cl-launch/default.nix b/pkgs/development/tools/misc/cl-launch/default.nix
index 40c4085adab4..17b1f3382cca 100644
--- a/pkgs/development/tools/misc/cl-launch/default.nix
+++ b/pkgs/development/tools/misc/cl-launch/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="cl-launch";
-    version="4.1.3.3";
+    version="4.1.4";
     name="${baseName}-${version}";
-    hash="1al7jrj4fy9w4lpgizgb1ppk4rhhlcrfkz1yxpjv3w0wij1h67zl";
-    url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.1.3.3.tar.gz";
-    sha256="1al7jrj4fy9w4lpgizgb1ppk4rhhlcrfkz1yxpjv3w0wij1h67zl";
+    hash="0j3lapjsqzdkc7ackqdk13li299lp706gdc9bh28kvs0diyamjiv";
+    url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.1.4.tar.gz";
+    sha256="0j3lapjsqzdkc7ackqdk13li299lp706gdc9bh28kvs0diyamjiv";
   };
   buildInputs = [
   ];
diff --git a/pkgs/development/tools/misc/dfu-util/default.nix b/pkgs/development/tools/misc/dfu-util/default.nix
new file mode 100644
index 000000000000..f3a986e64323
--- /dev/null
+++ b/pkgs/development/tools/misc/dfu-util/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig, libusb1 }:
+
+stdenv.mkDerivation rec {
+  name="dfu-util-${version}";
+  version = "0.8";
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libusb1 ];
+
+  src = fetchurl {
+    url = "mirror://debian/pool/main/d/dfu-util/dfu-util_0.8.orig.tar.gz";
+    sha256 = "0n7h08avlzin04j93m6hkq9id6hxjiiix7ff9gc2n89aw6dxxjsm";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Device firmware update (DFU) USB programmer";
+    longDescription = ''
+      dfu-util is a program that implements the host (PC) side of the USB
+      DFU 1.0 and 1.1 (Universal Serial Bus Device Firmware Upgrade) protocol.
+
+      DFU is intended to download and upload firmware to devices connected over
+      USB. It ranges from small devices like micro-controller boards up to mobile
+      phones. With dfu-util you are able to download firmware to your device or
+      upload firmware from it.
+    '';
+    homepage = http://dfu-util.gnumonks.org/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.fpletz ];
+  };
+}
diff --git a/pkgs/development/tools/misc/elfutils/CVE-2014-0172.patch b/pkgs/development/tools/misc/elfutils/CVE-2014-0172.patch
deleted file mode 100644
index 6553dea7b4c3..000000000000
--- a/pkgs/development/tools/misc/elfutils/CVE-2014-0172.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-https://bugzilla.redhat.com/show_bug.cgi?id=1085663
-
-Reported-by: Florian Weimer <fweimer at redhat.com>
-Signed-off-by: Mark Wielaard <mjw at redhat.com>
----
- libdw/dwarf_begin_elf.c |    8 +++++++-
- 2 files changed, 12 insertions(+), 1 deletions(-)
-
-diff --git a/libdw/dwarf_begin_elf.c b/libdw/dwarf_begin_elf.c
-index 79daeac..34ea373 100644
---- a/libdw/dwarf_begin_elf.c
-+++ b/libdw/dwarf_begin_elf.c
-@@ -1,5 +1,5 @@
- /* Create descriptor from ELF descriptor for processing file.
--   Copyright (C) 2002-2011 Red Hat, Inc.
-+   Copyright (C) 2002-2011, 2014 Red Hat, Inc.
-    This file is part of elfutils.
-    Written by Ulrich Drepper <drepper at redhat.com>, 2002.
- 
-@@ -282,6 +282,12 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp)
- 	    memcpy (&size, data->d_buf + 4, sizeof size);
- 	    size = be64toh (size);
- 
-+	    /* Check for unsigned overflow so malloc always allocated
-+	       enough memory for both the Elf_Data header and the
-+	       uncompressed section data.  */
-+	    if (unlikely (sizeof (Elf_Data) + size < size))
-+	      break;
-+
- 	    Elf_Data *zdata = malloc (sizeof (Elf_Data) + size);
- 	    if (unlikely (zdata == NULL))
- 	      break;
diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix
index 53e4bd6821f2..95ccdd89de19 100644
--- a/pkgs/development/tools/misc/elfutils/default.nix
+++ b/pkgs/development/tools/misc/elfutils/default.nix
@@ -3,21 +3,20 @@
 # TODO: Look at the hardcoded paths to kernel, modules etc.
 stdenv.mkDerivation rec {
   name = "elfutils-${version}";
-  version = "0.158";
+  version = "0.163";
 
   src = fetchurl {
     urls = [
       "http://fedorahosted.org/releases/e/l/elfutils/${version}/${name}.tar.bz2"
       "mirror://gentoo/distfiles/${name}.tar.bz2"
       ];
-    sha256 = "0z9rprmizd7rwb3xwfmz5liii7hbiv3g2arl23h56brm45fay9xy";
+    sha256 = "7c774f1eef329309f3b05e730bdac50013155d437518a2ec0e24871d312f2e23";
   };
 
   patches = [
-    ./CVE-2014-0172.patch
     (fetchurl {
-      url = "http://fedorahosted.org/releases/e/l/elfutils/${version}/elfutils-portability.patch";
-      sha256 = "0y2fyjis5xrd3g2pcbcm145q2kmh52n5c74w8dwv3hqdp5ky7igd";
+      url = "http://fedorahosted.org/releases/e/l/elfutils/${version}/elfutils-portability-${version}.patch";
+      sha256 = "e4e82315dad2efaa4e4476503e7537e01b7c1b1f98a96de4ca1c7fa85f4f1045";
     }) ];
 
   # We need bzip2 in NativeInputs because otherwise we can't unpack the src,
diff --git a/pkgs/development/tools/misc/fswatch/default.nix b/pkgs/development/tools/misc/fswatch/default.nix
index 487c57c54848..8f3818fb6b4c 100644
--- a/pkgs/development/tools/misc/fswatch/default.nix
+++ b/pkgs/development/tools/misc/fswatch/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   name = "fswatch-${version}";
-  version = "1.4.7";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "emcrisostomo";
     repo = "fswatch";
     rev = version;
-    sha256 = "0f6aa14v31gy3j7qx563ml37r8mylpbqfjrz2v5g44zrrg6086w7";
+    sha256 = "09np75m9df2nk7lc5y9wgq467ca6jsd2p5666d5rkzjvy6s0a51n";
   };
 
   buildInputs = [ autoreconfHook gettext libtool makeWrapper texinfo ];
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index 16ab1f8e5dc4..d50822d49491 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -8,7 +8,7 @@
 
 let
 
-  basename = "gdb-7.9";
+  basename = "gdb-7.9.1";
 
   # Whether (cross-)building for GNU/Hurd.  This is an approximation since
   # having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and
@@ -27,11 +27,9 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/gdb/${basename}.tar.xz";
-    sha256 = "14l3hhsy7fmpn2dk7ivc67gnbjdhkxlq90kxijpzfa35l58mcccv";
+    sha256 = "0h5sfg4ndhb8q4fxbq0hdxfjp35n6ih96f6x8yvb418s84x5976d";
   };
 
-  # patches = [ ./edit-signals.patch ];
-
   # I think python is not a native input, but I leave it
   # here while I will not need it cross building
   nativeBuildInputs = [ texinfo python perl ]
diff --git a/pkgs/development/tools/misc/gnum4/default.nix b/pkgs/development/tools/misc/gnum4/default.nix
index 67688254a407..7174f4b41c3c 100644
--- a/pkgs/development/tools/misc/gnum4/default.nix
+++ b/pkgs/development/tools/misc/gnum4/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
   name = "gnum4-1.4.17";
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
     && !stdenv.isCygwin                    # XXX: `test-dup2' fails on Cygwin
     && !stdenv.isSunOS;                    # XXX: `test-setlocale2.sh' fails
 
+  configureFlags = "--with-syscmd-shell=${stdenv.shell}";
+
   # Upstream is aware of it; it may be in the next release.
   patches = [ ./s_isdir.patch ];
 
diff --git a/pkgs/development/tools/misc/gtkdialog/default.nix b/pkgs/development/tools/misc/gtkdialog/default.nix
index cd8ad0d64cd7..d58ba8cddf26 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}:
+{stdenv, fetchurl, gtk, pkgconfig, hicolor_icon_theme }:
 
 stdenv.mkDerivation {
   name = "gtkdialog-0.8.3";
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "ff89d2d7f1e6488e5df5f895716ac1d4198c2467a2a5dc1f51ab408a2faec38e";
   };
 
-  buildInputs = [ gtk pkgconfig ];
+  buildInputs = [ gtk pkgconfig hicolor_icon_theme ];
 
   meta = {
     homepage = http://gtkdialog.googlecode.com/;
diff --git a/pkgs/development/tools/misc/lsof/default.nix b/pkgs/development/tools/misc/lsof/default.nix
index 53bbcf228428..f7feeca5d9d6 100644
--- a/pkgs/development/tools/misc/lsof/default.nix
+++ b/pkgs/development/tools/misc/lsof/default.nix
@@ -5,7 +5,11 @@ stdenv.mkDerivation rec {
   version = "4.89";
 
   src = fetchurl {
-    url = "ftp://sunsite.ualberta.ca/pub/Mirror/lsof/lsof_${version}.tar.bz2";
+    urls = map (
+      # the tarball is moved after new version is released
+      isOld: "ftp://sunsite.ualberta.ca/pub/Mirror/lsof/"
+      + "${stdenv.lib.optionalString isOld "OLD/"}lsof_${version}.tar.bz2"
+    ) [ false true ];
     sha256 = "061p18v0mhzq517791xkjs8a5dfynq1418a1mwxpji69zp2jzb41";
   };
 
diff --git a/pkgs/development/tools/misc/openocd/default.nix b/pkgs/development/tools/misc/openocd/default.nix
index 7334fa8754f4..ea52fff64ccb 100644
--- a/pkgs/development/tools/misc/openocd/default.nix
+++ b/pkgs/development/tools/misc/openocd/default.nix
@@ -1,19 +1,15 @@
-{ stdenv, fetchurl, libftdi, libusb1, pkgconfig }:
-
-# TODO: Add "hidapi" as dependency to gain access to CMSIS-DAP debuggers.
-# Support should be auto-detected, but if not, pass "--enable-cmsis-dap" to
-# configure.
+{ stdenv, fetchurl, libftdi, libusb1, pkgconfig, hidapi }:
 
 stdenv.mkDerivation rec {
   name = "openocd-${version}";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/openocd/openocd-${version}.tar.bz2";
-    sha256 = "0byk7hnccgmhw0f84qlkfhps38gp2xp628bfrsc03vq08hr6q1sv";
+    sha256 = "0hzlnm19c4b35vsxs6ik94xbigv3ykdgr8gzrdir6sqmkan44w43";
   };
 
-  buildInputs = [ libftdi libusb1 pkgconfig ];
+  buildInputs = [ libftdi libusb1 pkgconfig hidapi ];
 
   configureFlags = [
     "--enable-jtag_vpi"
diff --git a/pkgs/development/tools/misc/pahole/default.nix b/pkgs/development/tools/misc/pahole/default.nix
index 739cc7e5143d..38de21872b9f 100644
--- a/pkgs/development/tools/misc/pahole/default.nix
+++ b/pkgs/development/tools/misc/pahole/default.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation {
 
   postInstall = ''
     for p in $out/bin/*; do
-      rpath=`patchelf --print-rpath $p`:$out
-      patchelf --set-rpath $rpath $p
+      rpath=`patchelf --print-rpath $p || true`:$out
+      patchelf --set-rpath "$rpath" $p || true
     done
   '';
 
diff --git a/pkgs/development/tools/misc/patchelf/setup-hook.sh b/pkgs/development/tools/misc/patchelf/setup-hook.sh
index b0d37b73e2b6..944b418d1b47 100644
--- a/pkgs/development/tools/misc/patchelf/setup-hook.sh
+++ b/pkgs/development/tools/misc/patchelf/setup-hook.sh
@@ -9,7 +9,7 @@ patchELF() {
     if [ -e "$prefix" ]; then
         find "$prefix" \( \
             \( -type f -a -name "*.so*" \) -o \
-            \( -type f -a -perm +0100 \) \
+            \( -type f -a -perm /0100 \) \
             \) -print -exec patchelf --shrink-rpath '{}' \;
     fi
     stopNest
diff --git a/pkgs/development/tools/misc/texinfo/6.0.nix b/pkgs/development/tools/misc/texinfo/6.0.nix
new file mode 100644
index 000000000000..ffeae17eb57d
--- /dev/null
+++ b/pkgs/development/tools/misc/texinfo/6.0.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, ncurses, perl, xz, interactive ? false }:
+
+stdenv.mkDerivation rec {
+  name = "texinfo-6.0";
+
+  src = fetchurl {
+    url = "mirror://gnu/texinfo/${name}.tar.xz";
+    sha256 = "1r3i6jyynn6ab45fxw5bms8mflk9ry4qpj6gqyry72vfd5c47fhi";
+  };
+
+  buildInputs = [ perl xz ]
+    ++ stdenv.lib.optional interactive ncurses;
+
+  preInstall = ''
+    installFlags="TEXMF=$out/texmf-dist";
+    installTargets="install install-tex";
+  '';
+
+  doCheck = !stdenv.isDarwin;
+
+  meta = {
+    homepage = "http://www.gnu.org/software/texinfo/";
+    description = "The GNU documentation system";
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = stdenv.lib.platforms.all;
+
+    longDescription = ''
+      Texinfo is the official documentation format of the GNU project.
+      It was invented by Richard Stallman and Bob Chassell many years
+      ago, loosely based on Brian Reid's Scribe and other formatting
+      languages of the time.  It is used by many non-GNU projects as
+      well.
+
+      Texinfo uses a single source file to produce output in a number
+      of formats, both online and printed (dvi, html, info, pdf, xml,
+      etc.).  This means that instead of writing different documents
+      for online information and another for a printed manual, you
+      need write only one document.  And when the work is revised, you
+      need revise only that one document.  The Texinfo system is
+      well-integrated with GNU Emacs.
+    '';
+    branch = "5.2";
+  };
+}
diff --git a/pkgs/development/tools/misc/yodl/default.nix b/pkgs/development/tools/misc/yodl/default.nix
index e58627857171..529e18417c79 100644
--- a/pkgs/development/tools/misc/yodl/default.nix
+++ b/pkgs/development/tools/misc/yodl/default.nix
@@ -1,20 +1,24 @@
-{ stdenv, fetchurl, perl, icmake, utillinux }:
+{ stdenv, fetchFromGitHub, perl, icmake, utillinux }:
 
-stdenv.mkDerivation rec {
+let version = "3.05.01"; in
+stdenv.mkDerivation {
   name = "yodl-${version}";
-  version = "3.05.01";
 
   buildInputs = [ perl icmake ];
 
-  src = fetchurl {
-    url = "mirror://sourceforge/yodl/yodl_${version}.orig.tar.gz";
-    sha256 = "0ghdzr3lzgfzvfymnjbj4mw8vpq098swvipxghhqgfmv58dhwgas";
+  src = fetchFromGitHub {
+    sha256 = "02vbayvnz5p0055456i8kc8qxywkhn7agfrx1kwxaalbsnrd4g9h";
+    rev = version;
+    repo = "yodl";
+    owner = "fbb-git";
   };
 
+  sourceRoot = "yodl-${version}-src/yodl";
+
   preConfigure = ''
-    patchShebangs scripts/.
-    substituteInPlace INSTALL.im --replace /usr $out
     patchShebangs ./build
+    patchShebangs scripts/
+    substituteInPlace INSTALL.im --replace /usr $out
     substituteInPlace macros/rawmacros/startdoc.pl --replace /usr/bin/perl ${perl}/bin/perl
     substituteInPlace scripts/yodl2whatever.in --replace getopt ${utillinux}/bin/getopt
   '';
@@ -33,9 +37,9 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A package that implements a pre-document language and tools to process it";
-    homepage = http://yodl.sourceforge.net/;
+    homepage = https://fbb-git.github.io/yodl/;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ pSub ];
+    maintainers = with maintainers; [ nckx pSub ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/ocaml/camlp4/default.nix b/pkgs/development/tools/ocaml/camlp4/default.nix
index a8043a9fc5ee..20373c923e7e 100644
--- a/pkgs/development/tools/ocaml/camlp4/default.nix
+++ b/pkgs/development/tools/ocaml/camlp4/default.nix
@@ -1,15 +1,17 @@
-{stdenv, fetchurl, which, ocaml}:
+{stdenv, fetchzip, which, ocaml}:
 let
   ocaml_version = (stdenv.lib.getVersion ocaml);
+  version = "4.02+6";
+
 in
 
 assert stdenv.lib.versionAtLeast ocaml_version "4.02";
 
 stdenv.mkDerivation {
-  name = "camlp4-4.02.0+1";
-  src = fetchurl {
-    url = https://github.com/ocaml/camlp4/archive/4.02.0+1.tar.gz;
-    sha256 = "0055f4jiz82rgn581xhq3mr4qgq2qgdxqppmp8i2x1xnsim4h9pn";
+  name = "camlp4-${version}";
+  src = fetchzip {
+    url = "https://github.com/ocaml/camlp4/archive/${version}.tar.gz";
+    sha256 = "06yl4q0qazl7g25b0axd1gdkfd4qpqzs1gr5fkvmkrcbz113h1hj";
   };
 
   buildInputs = [ which ocaml ];
@@ -27,10 +29,6 @@ stdenv.mkDerivation {
   postConfigure = ''
     substituteInPlace camlp4/META.in \
     --replace +camlp4 $out/lib/ocaml/${ocaml_version}/site-lib/camlp4
-    substituteInPlace camlp4/config/Camlp4_config.ml \
-    --replace \
-      "Filename.concat ocaml_standard_library" \
-      "Filename.concat \"$out/lib/ocaml/${ocaml_version}/site-lib\""
   '';
 
 
diff --git a/pkgs/development/tools/ocaml/oasis/default.nix b/pkgs/development/tools/ocaml/oasis/default.nix
index e823466f4174..da94fed0831e 100644
--- a/pkgs/development/tools/ocaml/oasis/default.nix
+++ b/pkgs/development/tools/ocaml/oasis/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, findlib, ocaml_data_notation, type_conv, camlp4,
+{stdenv, fetchurl, ocaml, findlib, ocaml-data-notation, type-conv, camlp4,
  ocamlmod, ocamlify, ounit, expect}:
 
 stdenv.mkDerivation {
@@ -13,10 +13,10 @@ stdenv.mkDerivation {
 
   buildInputs =
     [
-      ocaml findlib type_conv ocamlmod ocamlify ounit camlp4
+      ocaml findlib type-conv ocamlmod ocamlify ounit camlp4
     ];
 
-  propagatedBuildInputs = [ ocaml_data_notation ];
+  propagatedBuildInputs = [ ocaml-data-notation ];
 
   configurePhase = "ocaml setup.ml -configure --prefix $out";
   buildPhase     = "ocaml setup.ml -build";
diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix
index c5c0ac9a3ed8..c9addf55312c 100644
--- a/pkgs/development/tools/ocaml/utop/default.nix
+++ b/pkgs/development/tools/ocaml/utop/default.nix
@@ -1,22 +1,24 @@
 {stdenv, fetchurl, ocaml, findlib, lambdaTerm, ocaml_lwt, makeWrapper,
- ocaml_react, camomile, zed
+ ocaml_react, camomile, zed, cppo, camlp4
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.15";
+  version = "1.17";
   name = "utop-${version}";
 
   src = fetchurl {
-    url = https://github.com/diml/utop/archive/1.15.tar.gz;
-    sha256 = "106v0x6sa2x10zgmjf73mpzws7xiqanxswivd00iqnpc0bcpkmrr";
+    url = "https://github.com/diml/utop/archive/${version}.tar.gz";
+    sha256 = "0l9lz2nypl2ls3kqzmp738m02yvscabhsfpj70ckp0p98pimnnfd";
   };
 
-  buildInputs = [ ocaml findlib makeWrapper];
+  buildInputs = [ ocaml findlib makeWrapper cppo camlp4 ];
 
   propagatedBuildInputs = [ lambdaTerm ocaml_lwt ];
 
   createFindlibDestdir = true;
 
+  configureFlags = "--enable-camlp4";
+
   buildPhase = ''
     make
     make doc
diff --git a/pkgs/development/tools/omniorb/default.nix b/pkgs/development/tools/omniorb/default.nix
new file mode 100644
index 000000000000..180e714b81e0
--- /dev/null
+++ b/pkgs/development/tools/omniorb/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, python }:
+stdenv.mkDerivation rec {
+
+  name = "omniorb-${version}";
+
+  version = "4.2.0";
+
+  src = fetchurl rec {
+    url = "http://sourceforge.net/projects/omniorb/files/omniORB/omniORB-${version}/omniORB-${version}.tar.bz2";
+    sha256 = "1g58xcw4641wyisp9wscrkzaqrz0vf123dgy52qq2a3wk7y77hkl";
+  };
+
+  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.";
+    homepage    = "http://omniorb.sourceforge.net/";
+    license     = licenses.gpl2Plus;
+    maintainers = with maintainers; [ smironov ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/packer/default.nix b/pkgs/development/tools/packer/default.nix
index 8b89e8ae82db..651e64467c49 100644
--- a/pkgs/development/tools/packer/default.nix
+++ b/pkgs/development/tools/packer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, gox, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+{ stdenv, lib, go, gox, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   name = "packer-0.7.5";
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
     inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
   };
 
-  buildInputs = [ gox ];
+  buildInputs = [ go gox ];
 
   installPhase = ''
     export GOPATH=$src
diff --git a/pkgs/development/tools/parsing/flexc++/default.nix b/pkgs/development/tools/parsing/flexc++/default.nix
index 515fb9d251f2..3cfd86f477e6 100644
--- a/pkgs/development/tools/parsing/flexc++/default.nix
+++ b/pkgs/development/tools/parsing/flexc++/default.nix
@@ -1,30 +1,33 @@
-{ stdenv, fetchurl, bobcat, gcc49, icmake, yodl }:
+{ stdenv, fetchFromGitHub, bobcat, icmake, yodl }:
 
-let version = "2.02.00"; in
-stdenv.mkDerivation rec {
+let version = "2.03.00"; in
+stdenv.mkDerivation {
   name = "flexc++-${version}";
 
-  src = fetchurl {
-    sha256 = "0mz5d0axr4c8rrmn4iw7b5llmf6f3g9cnjzzz3kw02mfzwll79rz";
-    url = "mirror://sourceforge/flexcpp/${version}/flexc++_${version}.orig.tar.gz";
+  src = fetchFromGitHub {
+    sha256 = "1knb5h6l71n5zi9xzml5f6v7wspbk7vrcaiy2div8bnj7na3z717";
+    rev = version;
+    repo = "flexcpp";
+    owner = "fbb-git";
   };
 
   meta = with stdenv.lib; {
     inherit version;
-    description = "";
+    description = "C++ tool for generating lexical scanners";
     longDescription = ''
       Flexc++ was designed after `flex'. Flexc++ offers a cleaner class design
       and requires simpler specification files than offered by flex's C++
       option.
     '';
-    homepage = http://flexcpp.sourceforge.net/;
-    downloadPage = http://sourceforge.net/projects/flexcpp/files/;
+    homepage = https://fbb-git.github.io/flexcpp/;
     license = licenses.gpl3;
-    platforms = with platforms; linux;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ nckx ];
   };
 
-  buildInputs = [ bobcat gcc49 ];
+  sourceRoot = "flexcpp-${version}-src/flexc++";
+
+  buildInputs = [ bobcat ];
   nativeBuildInputs = [ icmake yodl ];
 
   postPatch = ''
diff --git a/pkgs/development/tools/parsing/re2c/default.nix b/pkgs/development/tools/parsing/re2c/default.nix
index ce9941b2362b..d4b3e56ebe33 100644
--- a/pkgs/development/tools/parsing/re2c/default.nix
+++ b/pkgs/development/tools/parsing/re2c/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "re2c-${version}";
-  version = "0.14.2";
+  version = "0.14.3";
 
   src = fetchurl {
     url    = "mirror://sourceforge/re2c/re2c/${version}/${name}.tar.gz";
-    sha256 = "0c0w5w1dp9v9d0a6smjbnk6zvfs77fx1xd7damap3x3sjxiyn0m7";
+    sha256 = "113yj5h38isfsjigqvb2j3ammfmxckgwyxmm0h4fyflzb7ghcs0w";
   };
 
   meta = {
diff --git a/pkgs/development/tools/phantomjs2/default.nix b/pkgs/development/tools/phantomjs2/default.nix
new file mode 100644
index 000000000000..8ef68f93a2f7
--- /dev/null
+++ b/pkgs/development/tools/phantomjs2/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl,
+  bison2, flex, fontconfig, freetype, gperf, icu, openssl, libjpeg, libpng, perl, python, ruby, sqlite
+}:
+
+stdenv.mkDerivation rec {
+  name = "phantomjs-${version}";
+  version = "2.0.0-20150528";
+
+  src = fetchurl {
+    url = "https://github.com/bprodoehl/phantomjs/archive/v2.0.0-20150528.tar.gz";
+    sha256 = "18h37bxxg25lacry9k3vb5yim057bqcxmsifw97jrjp7gzfx56v5";
+  };
+
+  buildInputs = [ bison2 flex fontconfig freetype gperf icu openssl libjpeg libpng perl python ruby sqlite ];
+
+  patchPhase = ''
+    patchShebangs .
+    sed -i -e 's|/bin/pwd|pwd|' src/qt/qtbase/configure 
+  '';
+
+  buildPhase = "./build.sh --confirm";
+
+  installPhase = ''
+    mkdir -p $out/share/doc/phantomjs
+    cp -a bin $out
+    cp -a ChangeLog examples LICENSE.BSD README.md third-party.txt $out/share/doc/phantomjs
+  '';
+
+  meta = {
+    description = "Headless WebKit with JavaScript API";
+    longDescription = ''
+      PhantomJS2 is a headless WebKit with JavaScript API.
+      It has fast and native support for various web standards:
+      DOM handling, CSS selector, JSON, Canvas, and SVG.
+
+      PhantomJS is an optimal solution for:
+      - Headless Website Testing
+      - Screen Capture
+      - Page Automation
+      - Network Monitoring
+    '';
+
+    homepage = http://phantomjs.org/;
+    license = stdenv.lib.licenses.bsd3;
+
+    maintainers = [ stdenv.lib.maintainers.aflatter ];
+    platforms = with stdenv.lib.platforms; darwin ++ linux;
+  };
+}
diff --git a/pkgs/development/tools/rhc/Gemfile b/pkgs/development/tools/rhc/Gemfile
new file mode 100644
index 000000000000..ad167c7422ff
--- /dev/null
+++ b/pkgs/development/tools/rhc/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'rhc'
diff --git a/pkgs/development/tools/rhc/Gemfile.lock b/pkgs/development/tools/rhc/Gemfile.lock
new file mode 100644
index 000000000000..83fa877550db
--- /dev/null
+++ b/pkgs/development/tools/rhc/Gemfile.lock
@@ -0,0 +1,35 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    archive-tar-minitar (0.5.2)
+    commander (4.2.1)
+      highline (~> 1.6.11)
+    highline (1.6.21)
+    httpclient (2.6.0.1)
+    net-scp (1.2.1)
+      net-ssh (>= 2.6.5)
+    net-ssh (2.9.2)
+    net-ssh-gateway (1.2.0)
+      net-ssh (>= 2.6.5)
+    net-ssh-multi (1.2.1)
+      net-ssh (>= 2.6.5)
+      net-ssh-gateway (>= 1.2.0)
+    open4 (1.3.4)
+    rhc (1.36.4)
+      archive-tar-minitar
+      commander (>= 4.0, < 4.3.0)
+      highline (~> 1.6.11)
+      httpclient (>= 2.4.0)
+      net-scp (>= 1.1.2)
+      net-ssh (>= 2.0.11, < 2.9.3)
+      net-ssh-multi (>= 1.2.0)
+      open4
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  rhc
+
+BUNDLED WITH
+   1.10.5
diff --git a/pkgs/development/tools/rhc/default.nix b/pkgs/development/tools/rhc/default.nix
new file mode 100644
index 000000000000..e9efdb9f423c
--- /dev/null
+++ b/pkgs/development/tools/rhc/default.nix
@@ -0,0 +1,17 @@
+{ lib, bundlerEnv, ruby }:
+
+bundlerEnv {
+  name = "rhc-1.36.4";
+
+  inherit ruby;
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+  gemset = ./gemset.nix;
+
+  meta = with lib; {
+    homepage = https://github.com/openshift/rhc;
+    description = "OpenShift client tools";
+    license = licenses.asl20;
+    maintaners = maintainers.szczyp;
+  };
+}
diff --git a/pkgs/development/tools/rhc/gemset.nix b/pkgs/development/tools/rhc/gemset.nix
new file mode 100644
index 000000000000..6b2733968901
--- /dev/null
+++ b/pkgs/development/tools/rhc/gemset.nix
@@ -0,0 +1,95 @@
+{
+  "archive-tar-minitar" = {
+    version = "0.5.2";
+    source = {
+      type = "gem";
+      sha256 = "1j666713r3cc3wb0042x0wcmq2v11vwwy5pcaayy5f0lnd26iqig";
+    };
+  };
+  "commander" = {
+    version = "4.2.1";
+    source = {
+      type = "gem";
+      sha256 = "1zwfhswnbhwv0zzj2b3s0qvpqijbbnmh7zvq6v0274rqbxyf1jwc";
+    };
+    dependencies = [
+      "highline"
+    ];
+  };
+  "highline" = {
+    version = "1.6.21";
+    source = {
+      type = "gem";
+      sha256 = "06bml1fjsnrhd956wqq5k3w8cyd09rv1vixdpa3zzkl6xs72jdn1";
+    };
+  };
+  "httpclient" = {
+    version = "2.6.0.1";
+    source = {
+      type = "gem";
+      sha256 = "0haz4s9xnzr73mkfpgabspj43bhfm9znmpmgdk74n6gih1xlrx1l";
+    };
+  };
+  "net-scp" = {
+    version = "1.2.1";
+    source = {
+      type = "gem";
+      sha256 = "0b0jqrcsp4bbi4n4mzyf70cp2ysyp6x07j8k8cqgxnvb4i3a134j";
+    };
+    dependencies = [
+      "net-ssh"
+    ];
+  };
+  "net-ssh" = {
+    version = "2.9.2";
+    source = {
+      type = "gem";
+      sha256 = "1p0bj41zrmw5lhnxlm1pqb55zfz9y4p9fkrr9a79nrdmzrk1ph8r";
+    };
+  };
+  "net-ssh-gateway" = {
+    version = "1.2.0";
+    source = {
+      type = "gem";
+      sha256 = "1nqkj4wnj26r81rp3g4jqk7bkd2nqzjil3c9xqwchi0fsbwv2niy";
+    };
+    dependencies = [
+      "net-ssh"
+    ];
+  };
+  "net-ssh-multi" = {
+    version = "1.2.1";
+    source = {
+      type = "gem";
+      sha256 = "13kxz9b6kgr9mcds44zpavbndxyi6pvyzyda6bhk1kfmb5c10m71";
+    };
+    dependencies = [
+      "net-ssh"
+      "net-ssh-gateway"
+    ];
+  };
+  "open4" = {
+    version = "1.3.4";
+    source = {
+      type = "gem";
+      sha256 = "1cgls3f9dlrpil846q0w7h66vsc33jqn84nql4gcqkk221rh7px1";
+    };
+  };
+  "rhc" = {
+    version = "1.36.4";
+    source = {
+      type = "gem";
+      sha256 = "1dkg39x3y3sxq71md5c8akq4y7ynjwcdy8ysm6d1k9b2rj0s5wdb";
+    };
+    dependencies = [
+      "archive-tar-minitar"
+      "commander"
+      "highline"
+      "httpclient"
+      "net-scp"
+      "net-ssh"
+      "net-ssh-multi"
+      "open4"
+    ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/slimerjs/default.nix b/pkgs/development/tools/slimerjs/default.nix
index a35816e2511c..5fd7be063f54 100644
--- a/pkgs/development/tools/slimerjs/default.nix
+++ b/pkgs/development/tools/slimerjs/default.nix
@@ -3,11 +3,13 @@ let
   s = # Generated upstream information
   rec {
     baseName="slimerjs";
-    version="0.9.6";
+    version="0.9.6.2015.08.20";
     name="${baseName}-${version}";
     hash="0wry296iv63bmvm3qbkbgk42nbs80cbir0kv27v0ah5f6kvjc9cq";
-    url="http://download.slimerjs.org/releases/0.9.6/slimerjs-0.9.6.zip";
-    sha256="0wry296iv63bmvm3qbkbgk42nbs80cbir0kv27v0ah5f6kvjc9cq";
+    #url="http://download.slimerjs.org/releases/0.9.6/slimerjs-0.9.6.zip";
+    url = "https://github.com/laurentj/slimerjs.git";
+    rev = "87e0ff1d666897754a914131d8f1744195ee4d7a";
+    sha256="0ifgr8pi40id7vcv8ipc754bys22bhij0kkhd691285x19f52alc";
   };
   buildInputs = [
     unzip zip
@@ -16,12 +18,12 @@ in
 stdenv.mkDerivation {
   inherit (s) name version;
   inherit buildInputs;
-   src = fetchurl {
-     inherit (s) url sha256;
-   };
-  #src = fetchgit {
-  #  inherit (s) url sha256 rev;
+  #src = fetchurl {
+  #  inherit (s) url sha256;
   #};
+  src = fetchgit {
+    inherit (s) url sha256 rev;
+  };
   preConfigure = ''
     test -d src && cd src
     test -f omni.ja || zip omni.ja -r */
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index 97136aa255ee..085807e1bfad 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -4,7 +4,7 @@
 assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
 
 let
-  version = "1.7.3";
+  version = "1.7.4";
   rake = buildRubyGem {
     inherit ruby;
     name = "rake-10.3.2";
@@ -19,12 +19,12 @@ stdenv.mkDerivation rec {
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url    = "https://dl.bintray.com/mitchellh/vagrant/vagrant_${version}_x86_64.deb";
-        sha256 = "0zg2sdxgrmwqvzqw4z8d6ji8d0cby33nggv0n9ncjxp0wjiv8nkm";
+        sha256 = "0dl3cskpz7d8mmv0ah86426vlx0lj1wkjdlb5gc868dfsysw5lnw";
       }
     else
       fetchurl {
         url    = "https://dl.bintray.com/mitchellh/vagrant/vagrant_${version}_i686.deb";
-        sha256 = "0r23w49jwl3c3g4nns5xnrsrqyfkqsgln91cj30hxkw50d0ldpvs";
+        sha256 = "0sns9q48c6b2sabp6bwkppx8ffp774jhv69jrv225qrnifx12105";
       };
 
   meta = with stdenv.lib; {
@@ -93,12 +93,12 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     # 'hide' the template file from shebang-patching
-    chmod -x $out/opt/vagrant/embedded/gems/gems/bundler-1.7.11/lib/bundler/templates/Executable
+    chmod -x $out/opt/vagrant/embedded/gems/gems/bundler-1.10.5/lib/bundler/templates/Executable
     chmod -x $out/opt/vagrant/embedded/gems/gems/vagrant-${version}/plugins/provisioners/salt/bootstrap-salt.sh
   '';
 
   postFixup = ''
-    chmod +x $out/opt/vagrant/embedded/gems/gems/bundler-1.7.11/lib/bundler/templates/Executable
+    chmod +x $out/opt/vagrant/embedded/gems/gems/bundler-1.10.5/lib/bundler/templates/Executable
     chmod +x $out/opt/vagrant/embedded/gems/gems/vagrant-${version}/plugins/provisioners/salt/bootstrap-salt.sh
   '';
 }