summary refs log tree commit diff
path: root/pkgs/development/tools
diff options
context:
space:
mode:
authorTimo Kaufmann <eisfreak7@gmail.com>2017-10-04 21:47:01 -0500
committerTimo Kaufmann <eisfreak7@gmail.com>2017-10-04 21:47:01 -0500
commitf8244623a7dbd50b7937373d47472980431a41f5 (patch)
tree9bca3869c7de08da0bf1c0a1d8d4455da9156632 /pkgs/development/tools
parent18774fb82b5f3a2bce5d0aba9fd565c0b3021c0d (diff)
parentf66d92a1614f11dfdc1233daaa125d0298a23dc5 (diff)
downloadnixlib-f8244623a7dbd50b7937373d47472980431a41f5.tar
nixlib-f8244623a7dbd50b7937373d47472980431a41f5.tar.gz
nixlib-f8244623a7dbd50b7937373d47472980431a41f5.tar.bz2
nixlib-f8244623a7dbd50b7937373d47472980431a41f5.tar.lz
nixlib-f8244623a7dbd50b7937373d47472980431a41f5.tar.xz
nixlib-f8244623a7dbd50b7937373d47472980431a41f5.tar.zst
nixlib-f8244623a7dbd50b7937373d47472980431a41f5.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'pkgs/development/tools')
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/analysis/radare/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/bazel/0.4.nix91
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/shards/default.nix2
-rw-r--r--pkgs/development/tools/casperjs/default.nix1
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix18
-rw-r--r--pkgs/development/tools/devtodo/default.nix23
-rw-r--r--pkgs/development/tools/documentation/mkdocs/default.nix39
-rw-r--r--pkgs/development/tools/guile/g-wrap/default.nix31
-rw-r--r--pkgs/development/tools/guile/guile-lint/default.nix29
-rw-r--r--pkgs/development/tools/jq/default.nix17
-rw-r--r--pkgs/development/tools/kafkacat/default.nix26
-rw-r--r--pkgs/development/tools/misc/iozone/default.nix6
-rw-r--r--pkgs/development/tools/misc/universal-ctags/default.nix6
-rw-r--r--pkgs/development/tools/phantomjs2/default.nix6
-rw-r--r--pkgs/development/tools/vagrant/default.nix8
-rw-r--r--pkgs/development/tools/vcstool/default.nix28
19 files changed, 282 insertions, 63 deletions
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index cbf890ab1ec6..fc93d8dc6f84 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -3,14 +3,14 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  version = "0.55.0";
+  version = "0.56.0";
   name = "flow-${version}";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "042q2197m9l7r6j053dd4hqaqv7dsc5wh8h6aifkcmqa4ypp4w5r";
+    sha256 = "0979hcz5qqblcnkc4whkklzdhm4f45gzfl6y4zp0wbq0qi1gv7x4";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/radare/default.nix b/pkgs/development/tools/analysis/radare/default.nix
index 6b7ba2a81cb2..7ca0291fad98 100644
--- a/pkgs/development/tools/analysis/radare/default.nix
+++ b/pkgs/development/tools/analysis/radare/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
     homepage = http://radare.org/;
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; all;
+    platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/development/tools/build-managers/bazel/0.4.nix b/pkgs/development/tools/build-managers/bazel/0.4.nix
new file mode 100644
index 000000000000..2137c5c1497b
--- /dev/null
+++ b/pkgs/development/tools/build-managers/bazel/0.4.nix
@@ -0,0 +1,91 @@
+{ stdenv, fetchurl, jdk, zip, unzip, bash, makeWrapper, which }:
+
+stdenv.mkDerivation rec {
+
+  version = "0.4.5";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/bazelbuild/bazel/;
+    description = "Build tool that builds code quickly and reliably";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ cstrahan philandstuff ];
+    platforms = platforms.linux;
+  };
+
+  name = "bazel-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
+    sha256 = "0asmq3kxnl4326zhgh13mvcrc8jvmiswjj4ymrq0943q4vj7nwrb";
+  };
+
+  sourceRoot = ".";
+
+  postPatch = ''
+    for f in $(grep -l -r '#!/bin/bash'); do
+      substituteInPlace "$f" --replace '#!/bin/bash' '#!${bash}/bin/bash'
+    done
+    for f in \
+      src/main/java/com/google/devtools/build/lib/analysis/CommandHelper.java \
+      src/main/java/com/google/devtools/build/lib/bazel/rules/BazelConfiguration.java \
+      src/main/java/com/google/devtools/build/lib/bazel/rules/sh/BazelShRuleClasses.java \
+      src/main/java/com/google/devtools/build/lib/rules/cpp/LinkCommandLine.java \
+      ; do
+      substituteInPlace "$f" --replace /bin/bash ${bash}/bin/bash
+    done
+  '';
+
+  buildInputs = [
+    stdenv.cc
+    stdenv.cc.cc.lib
+    jdk
+    zip
+    unzip
+    makeWrapper
+    which
+  ];
+
+  # These must be propagated since the dependency is hidden in a compressed
+  # archive.
+
+  propagatedBuildInputs = [
+    bash
+  ];
+
+  # If TMPDIR is in the unpack dir we run afoul of blaze's infinite symlink
+  # detector (see com.google.devtools.build.lib.skyframe.FileFunction).
+  # Change this to $(mktemp -d) as soon as we figure out why.
+
+  buildPhase = ''
+    export TMPDIR=/tmp
+    ./compile.sh
+    ./output/bazel --output_user_root=/tmp/.bazel build //scripts:bash_completion \
+      --spawn_strategy=standalone \
+      --genrule_strategy=standalone
+    cp bazel-bin/scripts/bazel-complete.bash output/
+  '';
+
+  # Build the CPP and Java examples to verify that Bazel works.
+
+  doCheck = true;
+  checkPhase = ''
+    export TEST_TMPDIR=$(pwd)
+    ./output/bazel test --test_output=errors \
+        examples/cpp:hello-success_test \
+        examples/java-native/src/test/java/com/example/myproject:hello
+  '';
+
+  # Bazel expects gcc and java to be in the path.
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv output/bazel $out/bin
+    wrapProgram "$out/bin/bazel" --prefix PATH : "${stdenv.cc}/bin:${jdk}/bin"
+    mkdir -p $out/share/bash-completion/completions $out/share/zsh/site-functions
+    mv output/bazel-complete.bash $out/share/bash-completion/completions/
+    cp scripts/zsh_completion/_bazel $out/share/zsh/site-functions/
+  '';
+
+  dontStrip = true;
+  dontPatchELF = true;
+}
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index f30aed29ba13..e0c027ee632e 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
 
-  version = "0.5.4";
+  version = "0.6.0";
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/bazelbuild/bazel/";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "1jdb8zbgafhz2qi0ajk34845kpmfhxchdimvwkq6lkb1159v0mr1";
+    sha256 = "13jr00jb34ibpqvy1qzzmswc7zfcy82ks7w36iwzh7jlm4l3grd0";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index 45a4d8a8358b..a5ea6df3c8df 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -52,12 +52,12 @@ rec {
   };
 
   gradle_latest = gradleGen rec {
-    name = "gradle-4.1";
+    name = "gradle-4.2.1";
     nativeVersion = "0.14";
 
     src = fetchurl {
       url = "http://services.gradle.org/distributions/${name}-bin.zip";
-      sha256 = "0hzdz5cy5dmyqz73qy80q74aiy87jl5vnxcy3imahgaszffglpfm";
+      sha256 = "1h7v133rm81jf0bgv9mgvydl7rgh4430dnsfs66wflfay82cqldm";
     };
   };
 
diff --git a/pkgs/development/tools/build-managers/shards/default.nix b/pkgs/development/tools/build-managers/shards/default.nix
index 52c5417456ca..b7d75999fdf6 100644
--- a/pkgs/development/tools/build-managers/shards/default.nix
+++ b/pkgs/development/tools/build-managers/shards/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     homepage = https://crystal-lang.org/;
     license = licenses.asl20;
     description = "Dependency manager for the Crystal language";
-    maintainers = with maintainers; [ mingchuan ];
+    maintainers = with maintainers; [ sifmelcara ];
     platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/development/tools/casperjs/default.nix b/pkgs/development/tools/casperjs/default.nix
index 4485e678ab50..e07b3cd9db74 100644
--- a/pkgs/development/tools/casperjs/default.nix
+++ b/pkgs/development/tools/casperjs/default.nix
@@ -50,5 +50,6 @@ in stdenv.mkDerivation rec {
 
     maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
     platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index d6b2ce42cdc5..b1607aaaecd8 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,22 +1,22 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }:
 
 let
-  version = "9.5.0";
+  version = "10.0.0";
   # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
   docker_x86_64 = fetchurl {
-    url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-x86_64.tar.xz";
-    sha256 = "05vph5pqw3wlrh76bfgrmhgzsjsf7llzscr9vr7nk3b2pcigawdp";
+    url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-x86_64.tar.xz";
+    sha256 = "13rfpyzrld20pjhkjzx78qfdmi4w86v6nhq3460bcjpi4kwyd24w";
   };
 
   docker_arm = fetchurl {
-    url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
-    sha256 = "0ilp793kbw0n6nhbcdqc1cb05h2ir27c1rkijyxaqvpczrm11lqj";
+    url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
+    sha256 = "19z3rmkmv6z6g27bsjkqkfj8xwpyf9v1fhk2vb81xj5fisjzhmlw";
   };
 in
 buildGoPackage rec {
   inherit version;
   name = "gitlab-runner-${version}";
-  goPackagePath = "gitlab.com/gitlab-org/gitlab-ci-multi-runner";
+  goPackagePath = "gitlab.com/gitlab-org/gitlab-runner";
   commonPackagePath = "${goPackagePath}/common";
   buildFlagsArray = ''
     -ldflags=
@@ -27,9 +27,9 @@ buildGoPackage rec {
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
-    repo = "gitlab-ci-multi-runner";
+    repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "0zpyvaflq62qazjw60xnzfw52fqbcmjaqig9y8i6wjzdzlm803f0";
+    sha256 = "11gp6l5kqcz4spxq552hsnw480vdhp70zmqlgjr906px3r31j7h3";
   };
 
   patches = [ ./fix-shell-path.patch ];
@@ -54,8 +54,6 @@ buildGoPackage rec {
 
   postInstall = ''
     install -d $out/bin
-    # The recommended name is gitlab-runner so we create a symlink with that name
-    ln -sf gitlab-ci-multi-runner $bin/bin/gitlab-runner
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/devtodo/default.nix b/pkgs/development/tools/devtodo/default.nix
new file mode 100644
index 000000000000..36c489b1171a
--- /dev/null
+++ b/pkgs/development/tools/devtodo/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, readline, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "devtodo-${version}";
+  version = "0.1.20";
+
+  src = fetchurl {
+    url = "http://swapoff.org/files/devtodo/${name}.tar.gz";
+    sha256 = "029y173njydzlznxmdizrrz4wcky47vqhl87fsb7xjcz9726m71p";
+  };
+
+  buildInputs = [ readline ncurses ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://swapoff.org/devtodo1.html;
+    description = "A hierarchical command-line task manager";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.woffs ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/documentation/mkdocs/default.nix b/pkgs/development/tools/documentation/mkdocs/default.nix
new file mode 100644
index 000000000000..144bd059634f
--- /dev/null
+++ b/pkgs/development/tools/documentation/mkdocs/default.nix
@@ -0,0 +1,39 @@
+{ lib, python, fetchFromGitHub }:
+
+with python.pkgs;
+
+buildPythonApplication rec {
+  pname = "mkdocs";
+  version = "0.16.3";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "mkdocs";
+    repo = "mkdocs";
+    rev = version;
+    sha256 = "0gssa5gbd1y2v3azdhf2zh7ayx4ncfag4r2a6fi96jbic64r3qrs";
+  };
+
+  checkInputs = [
+    nose nose-exclude mock
+  ];
+
+  NOSE_EXCLUDE_TESTS="mkdocs.tests.gh_deploy_tests.TestGitHubDeploy;mkdocs.tests.config.config_tests.ConfigTests";
+
+  checkPhase = "nosetests mkdocs";
+
+  propagatedBuildInputs = [
+    tornado
+    livereload
+    click
+    pyyaml
+    markdown
+    jinja2
+  ];
+
+  meta = {
+    homepage = http://mkdocs.org/;
+    description = "Project documentation with Markdown";
+    license = lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/development/tools/guile/g-wrap/default.nix b/pkgs/development/tools/guile/g-wrap/default.nix
index da664093d8ac..7c8653a82bea 100644
--- a/pkgs/development/tools/guile/g-wrap/default.nix
+++ b/pkgs/development/tools/guile/g-wrap/default.nix
@@ -1,30 +1,33 @@
-{ fetchurl, stdenv, guile, libffi, pkgconfig, glib, guile-lib }:
+{ fetchurl, stdenv, guile, guile-lib, libffi, pkgconfig, glib }:
 
 stdenv.mkDerivation rec {
-  name = "g-wrap-1.9.15";
+  name = "${pname}-${version}";
+  pname = "g-wrap";
+  version = "1.9.15";
+
   src = fetchurl {
-    url = "mirror://savannah/g-wrap/${name}.tar.gz";
+    url = "mirror://savannah/${pname}/${name}.tar.gz";
     sha256 = "0ak0bha37dfpj9kmyw1r8fj8nva639aw5xr66wr5gd3l1rqf5xhg";
   };
 
-  # Note: Glib support is optional, but it's quite useful (e.g., it's
-  # used by Guile-GNOME).
+  # Note: Glib support is optional, but it's quite useful (e.g., it's used by
+  # Guile-GNOME).
   buildInputs = [ guile pkgconfig glib guile-lib ];
 
   propagatedBuildInputs = [ libffi ];
 
   doCheck = true;
 
-  meta = {
-    description = "G-Wrap, a wrapper generator for Guile";
+  meta = with stdenv.lib; {
+    description = "A wrapper generator for Guile";
     longDescription = ''
-      G-Wrap is a tool (and Guile library) for generating function
-      wrappers for inter-language calls.  It currently only supports
-      generating Guile wrappers for C functions.
+      G-Wrap is a tool (and Guile library) for generating function wrappers for
+      inter-language calls.  It currently only supports generating Guile
+      wrappers for C functions.
     '';
-    homepage = http://www.nongnu.org/g-wrap/;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.taktoa ];
-    platforms = stdenv.lib.platforms.linux;
+    homepage = "http://www.nongnu.org/g-wrap/";
+    license = licenses.lgpl2Plus;
+    maintainers = with maintainers; [ vyp ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/guile/guile-lint/default.nix b/pkgs/development/tools/guile/guile-lint/default.nix
index 7ca54365be5b..19441c540179 100644
--- a/pkgs/development/tools/guile/guile-lint/default.nix
+++ b/pkgs/development/tools/guile/guile-lint/default.nix
@@ -1,27 +1,30 @@
-{stdenv, fetchurl, guile}:
+{ stdenv, fetchurl, guile }:
 
 stdenv.mkDerivation rec {
-  name = "guile-lint-14";
+  name = "guile-lint-${version}";
+  version = "14";
+
   src = fetchurl {
-    url = "http://download.tuxfamily.org/user42/" + name + ".tar.bz2";
-    sha256 = "5bfcf7a623338b2ef81ac097e3e136eaf32856dd0730b7eeaff3161067b5d0be";
+    url = "https://download.tuxfamily.org/user42/${name}.tar.bz2";
+    sha256 = "1gnhnmki05pkmzpbfc07vmb2iwza6vhy75y03bw2x2rk4fkggz2v";
   };
 
   buildInputs = [ guile ];
 
   unpackPhase = ''tar xjvf "$src" && sourceRoot="$PWD/${name}"'';
-  patchPhase = ''
-    cat guile-lint.in |						\
-    sed 's|^exec guile|exec $\{GUILE:-${guile}/bin/guile}|g' > ,,tmp &&	\
-    mv ,,tmp guile-lint.in
+
+  prePatch = ''
+    substituteInPlace guile-lint.in --replace \
+      "exec guile" "exec ${guile}/bin/guile"
   '';
 
   doCheck = true;
 
-  meta = {
-    description = "Guile-Lint checks syntax and semantics in a Guile program or module";
-    homepage = http://user42.tuxfamily.org/guile-lint/index.html;
-    license = "GPL";
-    broken = true;
+  meta = with stdenv.lib; {
+    description = "Checks syntax and semantics in a Guile program or module";
+    homepage = "https://user42.tuxfamily.org/guile-lint/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ vyp ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/jq/default.nix b/pkgs/development/tools/jq/default.nix
index d79aa0980003..491d65d8882e 100644
--- a/pkgs/development/tools/jq/default.nix
+++ b/pkgs/development/tools/jq/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, fetchpatch, oniguruma }:
+{ stdenv, fetchurl, fetchpatch, oniguruma }:
 
 stdenv.mkDerivation rec {
   name = "jq-${version}";
@@ -26,15 +26,16 @@ stdenv.mkDerivation rec {
   patchFlags = [ "-p2" ]; # `src` subdir was introduced after v1.5 was released
 
   # jq is linked to libjq:
-  configureFlags = [
-    "LDFLAGS=-Wl,-rpath,\\\${libdir}"
-  ];
+  configureFlags = stdenv.lib.optional (!stdenv.isDarwin) "LDFLAGS=-Wl,-rpath,\\\${libdir}";
+
+  installCheckPhase = "$out/bin/jq --help";
+  doInstallCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = ''A lightweight and flexible command-line JSON processor'';
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ raskin ];
-    platforms = with lib.platforms; linux ++ darwin;
+    license = licenses.mit;
+    maintainers = with maintainers; [ raskin ];
+    platforms = with platforms; linux ++ darwin;
     downloadPage = "http://stedolan.github.io/jq/download/";
     updateWalker = true;
     inherit version;
diff --git a/pkgs/development/tools/kafkacat/default.nix b/pkgs/development/tools/kafkacat/default.nix
new file mode 100644
index 000000000000..0d5c6e83c01e
--- /dev/null
+++ b/pkgs/development/tools/kafkacat/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, pkgconfig, zlib, rdkafka, yajl }:
+
+stdenv.mkDerivation rec {
+  name = "kafkacat-${version}";
+
+  version = "1.3.1";
+
+  src = fetchFromGitHub {
+    owner = "edenhill";
+    repo = "kafkacat";
+    rev = "${version}";
+    sha256 = "1fgs04rclgfwri6vd9lj0mw545nmscav9p6kh7r28k5ap2g0gak5";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ zlib rdkafka yajl ];
+
+  meta = with stdenv.lib; {
+    description = "A generic non-JVM producer and consumer for Apache Kafka";
+    homepage = https://github.com/edenhill/kafkacat;
+    license = licenses.bsd2;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ nyarly ];
+  };
+}
diff --git a/pkgs/development/tools/misc/iozone/default.nix b/pkgs/development/tools/misc/iozone/default.nix
index 7e2416808879..4bcf5f1599a6 100644
--- a/pkgs/development/tools/misc/iozone/default.nix
+++ b/pkgs/development/tools/misc/iozone/default.nix
@@ -7,6 +7,8 @@ let
     "linux-AMD64"
   else if stdenv.system == "x86_64-darwin" then
     "macosx"
+  else if stdenv.system == "aarch64-linux" then
+    "linux-arm"
   else abort "Platform ${stdenv.system} not yet supported.";
 in
 
@@ -53,7 +55,7 @@ stdenv.mkDerivation rec {
     description = "IOzone Filesystem Benchmark";
     homepage    = http://www.iozone.org/;
     license     = stdenv.lib.licenses.unfreeRedistributable;
-    platforms   = ["i686-linux" "x86_64-linux" "x86_64-darwin"];
-    maintainers = [ stdenv.lib.maintainers.Baughn ];
+    platforms   = ["i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
+    maintainers = with stdenv.lib.maintainers; [ Baughn makefu ];
   };
 }
diff --git a/pkgs/development/tools/misc/universal-ctags/default.nix b/pkgs/development/tools/misc/universal-ctags/default.nix
index ceff549f3736..2a77fc42602a 100644
--- a/pkgs/development/tools/misc/universal-ctags/default.nix
+++ b/pkgs/development/tools/misc/universal-ctags/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, perl, pythonPackages }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, perl, pythonPackages, libiconv }:
 
 stdenv.mkDerivation rec {
   name = "universal-ctags-${version}";
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "1kbw9ycl2ddzpfs1v4rbqa4gdhw4inrisf4awyaxb7zxfxmbzk1g";
   };
 
-  nativeBuildInputs = [ pythonPackages.docutils ];
-  buildInputs = [ autoreconfHook pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig pythonPackages.docutils ];
+  buildInputs = stdenv.lib.optional stdenv.isDarwin libiconv;
 
   autoreconfPhase = ''
     ./autogen.sh --tmpdir
diff --git a/pkgs/development/tools/phantomjs2/default.nix b/pkgs/development/tools/phantomjs2/default.nix
index 8c03c32655a9..ee5de04a782d 100644
--- a/pkgs/development/tools/phantomjs2/default.nix
+++ b/pkgs/development/tools/phantomjs2/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, fetchpatch
 , bison2, flex, fontconfig, freetype, gperf, icu, openssl, libjpeg
 , libpng, perl, python, ruby, sqlite, qtwebkit, qmake, qtbase
-, darwin, writeScriptBin, cups
+, darwin, writeScriptBin, cups, makeWrapper
 }:
 
 let
@@ -47,6 +47,7 @@ in stdenv.mkDerivation rec {
   buildInputs = [
     bison2 flex fontconfig freetype gperf icu openssl
     libjpeg libpng perl python ruby sqlite qtwebkit qtbase
+    makeWrapper
   ] ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
     AGL ApplicationServices AppKit Cocoa OpenGL
     darwin.libobjc fakeClang cups
@@ -98,6 +99,9 @@ in stdenv.mkDerivation rec {
         ${darwin.configd}/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration \
         /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration \
     $out/bin/phantomjs
+  '' + ''
+    wrapProgram $out/bin/phantomjs \
+    --prefix PATH : ${stdenv.lib.makeBinPath [ qtbase ]}
   '';
 
   preFixup = ''
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index 8d86c96e4bfe..91c0054fe91a 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -2,7 +2,7 @@
 , libxml2, libxslt, libffi, makeWrapper, p7zip, xar, gzip, cpio }:
 
 let
-  version = "1.9.5";
+  version = "2.0.0";
   rake = buildRubyGem {
     inherit ruby;
     gemName = "rake";
@@ -17,9 +17,9 @@ let
       else "system ${stdenv.system} not supported";
 
   sha256 = {
-    "x86_64-linux"  = "16ijzaacfbqrgh561bf51747d2rv8kydgs14dfdr572qi0f88baw";
-    "i686-linux"    = "0lvkb4k0a34a8hzlsi0apf056rhyprh5w0gn16d0n2ijnaf9j2yk";
-    "x86_64-darwin" = "070mrczsx1j0jl9sx6963l3hrk9anqa13r008wk1d22d25xj25mc";
+    "x86_64-linux"  = "184amybyxqlxqr8fk6lyx2znmci1fazsiby90q7d1xx2ihz3hm5x";
+    "i686-linux"    = "19r1m5jila40x69m1qz2hslz7v1hdg8wwdhcq8d5qjnzwfmlw2qz";
+    "x86_64-darwin" = "154400iqs01235bclr8ic7g9jv01lfs766bmv7p8784r3xsblvsr";
   }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
   arch = builtins.replaceStrings ["-linux" "-darwin"] ["" ""] stdenv.system;
diff --git a/pkgs/development/tools/vcstool/default.nix b/pkgs/development/tools/vcstool/default.nix
new file mode 100644
index 000000000000..fae0ca88124f
--- /dev/null
+++ b/pkgs/development/tools/vcstool/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, python3Packages
+, git, bazaar, subversion }:
+
+with python3Packages;
+
+buildPythonApplication rec {
+  name = "${pname}-${version}";
+  pname = "vcstool";
+  version = "0.1.31";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0n2zkvy2km9ky9lljf1mq5nqyqi5qqzfy2a6sgkjg2grvsk7abxc";
+  };
+
+  propagatedBuildInputs = [ pyyaml ];
+
+  makeWrapperArgs = ["--prefix" "PATH" ":" "${stdenv.lib.makeBinPath [ git bazaar subversion ]}"];
+
+  doCheck = false; # requires network
+
+  meta = with stdenv.lib; {
+    description = "Provides a command line tool to invoke vcs commands on multiple repositories";
+    homepage = https://github.com/dirk-thomas/vcstool;
+    license = licenses.asl20;
+    maintainer = with maintainers; [ sivteck ];
+  };
+}