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/asn2quickder/default.nix36
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix91
-rw-r--r--pkgs/development/tools/build-managers/bazel/java_stub_template.patch16
-rw-r--r--pkgs/development/tools/build-managers/buildbot/default.nix22
-rw-r--r--pkgs/development/tools/build-managers/buildbot/plugins.nix28
-rw-r--r--pkgs/development/tools/build-managers/buildbot/worker.nix10
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix5
-rw-r--r--pkgs/development/tools/hexio/default.nix36
-rw-r--r--pkgs/development/tools/mdk/default.nix2
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix7
-rw-r--r--pkgs/development/tools/misc/intel-gpu-tools/default.nix4
-rw-r--r--pkgs/development/tools/misc/intltool/default.nix2
-rw-r--r--pkgs/development/tools/misc/travis/default.nix25
-rw-r--r--pkgs/development/tools/ocaml/camlidl/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/utop/default.nix6
-rw-r--r--pkgs/development/tools/valadoc/default.nix24
-rw-r--r--pkgs/development/tools/xcbuild/default.nix43
17 files changed, 269 insertions, 92 deletions
diff --git a/pkgs/development/tools/asn2quickder/default.nix b/pkgs/development/tools/asn2quickder/default.nix
new file mode 100644
index 000000000000..69051714ab4c
--- /dev/null
+++ b/pkgs/development/tools/asn2quickder/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, pythonPackages, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "asn2quickder";
+  name = "${pname}-${version}";
+  version = "0.7-RC1";
+
+  src = fetchFromGitHub {
+    sha256 = "0ynajhbml28m4ipbj5mscjcv6g1a7frvxfimxh813rhgl0w3sgq8";
+    rev = "version-${version}";
+    owner = "vanrein";
+    repo = "${pname}";
+  };
+
+  propagatedBuildInputs = with pythonPackages; [ pyparsing makeWrapper ];
+
+  patchPhase = with pythonPackages; ''
+    substituteInPlace Makefile \
+      --replace '..' '..:$(DESTDIR)/${python.sitePackages}:${pythonPackages.pyparsing}/${python.sitePackages}' \
+    '';
+
+  installPhase = ''
+    mkdir -p $out/${pythonPackages.python.sitePackages}/
+    mkdir -p $out/bin $out/lib $out/sbin $out/man
+    make DESTDIR=$out PREFIX=/ all
+    make DESTDIR=$out PREFIX=/ install
+    '';
+
+  meta = with stdenv.lib; {
+    description = "An ASN.1 compiler with a backend for Quick DER";
+    homepage = https://github.com/vanrein/asn2quickder;
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ leenaars ];
+  };
+}
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index 002d3bde201e..5d57c9b4579a 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -1,35 +1,70 @@
-{ stdenv, fetchFromGitHub, jdk, zip, zlib, protobuf3_0, pkgconfig, libarchive, unzip, which, makeWrapper }:
-stdenv.mkDerivation rec {
-  version = "0.3.1";
-  name = "bazel-${version}";
-
-  src = fetchFromGitHub {
-    owner = "google";
-    repo = "bazel";
-    rev = version;
-    sha256 = "1cm8zjxf8y3ai6h9wndxvflfsijjqhg87fll9ar7ff0hbbbdf6l5";
+{ stdenv, fetchFromGitHub, buildFHSUserEnv, writeScript, jdk, zip, unzip,
+  which, makeWrapper, binutils }:
+
+let
+
+  version = "0.3.2";
+
+  meta = with stdenv.lib; {
+    homepage = http://github.com/bazelbuild/bazel/;
+    description = "Build tool that builds code quickly and reliably";
+    license = licenses.asl20;
+    maintainers = [ maintainers.philandstuff ];
+    platforms = platforms.linux;
   };
 
-  buildInputs = [ pkgconfig protobuf3_0 zlib zip libarchive unzip which makeWrapper jdk ];
+  bootstrapEnv = buildFHSUserEnv {
+    name = "bazel-bootstrap-env";
 
-  buildPhase = ''
-    export LD_LIBRARY_PATH="${stdenv.lib.makeLibraryPath [ stdenv.cc.cc.lib ]}"
+    targetPkgs = pkgs: [ ];
 
-    bash compile.sh
-  '';
+    inherit meta;
+  };
 
-  installPhase = ''
-    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.home}"
-  '';
+  bazelBinary = stdenv.mkDerivation rec {
+    name = "bazel-${version}";
 
-  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 ];
-    platforms = [ "x86_64-linux" ];
+    src = fetchFromGitHub {
+      owner = "bazelbuild";
+      repo = "bazel";
+      rev = version;
+      sha256 = "085cjz0qhm4a12jmhkjd9w3ic4a67035j01q111h387iklvgn6xg";
+    };
+    patches = [ ./java_stub_template.patch ];
+
+    packagesNotFromEnv = [
+        stdenv.cc stdenv.cc.cc.lib jdk which zip unzip binutils ];
+    buildInputs = packagesNotFromEnv ++ [ bootstrapEnv makeWrapper ];
+
+    buildTimeBinPath = stdenv.lib.makeBinPath packagesNotFromEnv;
+    buildTimeLibPath = stdenv.lib.makeLibraryPath packagesNotFromEnv;
+
+    runTimeBinPath = stdenv.lib.makeBinPath [ jdk stdenv.cc.cc ];
+    runTimeLibPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc.lib ];
+
+    buildWrapper = writeScript "build-wrapper.sh" ''
+      #! ${stdenv.shell} -e
+      export PATH="${buildTimeBinPath}:$PATH"
+      export LD_LIBRARY_PATH="${buildTimeLibPath}:$LD_LIBRARY_PATH"
+      ./compile.sh
+    '';
+
+    buildPhase = ''
+      bazel-bootstrap-env ${buildWrapper}
+    '';
+
+    installPhase = ''
+      mkdir -p $out/bin
+      cp output/bazel $out/bin/
+      wrapProgram $out/bin/bazel \
+          --suffix PATH ":" "${runTimeBinPath}" \
+          --suffix LD_LIBRARY_PATH ":" "${runTimeLibPath}"
+    '';
+
+    dontStrip = true;
+    dontPatchELF = true;
+
+    inherit meta;
   };
-}
+
+in bazelBinary
diff --git a/pkgs/development/tools/build-managers/bazel/java_stub_template.patch b/pkgs/development/tools/build-managers/bazel/java_stub_template.patch
new file mode 100644
index 000000000000..4e456a78d800
--- /dev/null
+++ b/pkgs/development/tools/build-managers/bazel/java_stub_template.patch
@@ -0,0 +1,16 @@
+commit 5525326e3287243e0e7417de96bf7d58d04b4c8b
+Author: Irene Knapp <ireneista@google.com>
+Date:   Sat Oct 8 19:36:12 2016 -0700
+
+    Change #!/bin/bash to #!/usr/bin/env bash.
+
+diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt
+index f77051f..fbf367a 100644
+--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt
++++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt
+@@ -1,4 +1,4 @@
+-#!/bin/bash --posix
++#!/usr/bin/env bash
+ # Copyright 2014 The Bazel Authors. All rights reserved.
+ #
+ # Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/pkgs/development/tools/build-managers/buildbot/default.nix b/pkgs/development/tools/build-managers/buildbot/default.nix
index 4431105d18f8..d16b83a2831c 100644
--- a/pkgs/development/tools/build-managers/buildbot/default.nix
+++ b/pkgs/development/tools/build-managers/buildbot/default.nix
@@ -1,16 +1,12 @@
-{ stdenv
-, pythonPackages
-, fetchurl
-, plugins ? []
-}:
+{ stdenv, pythonPackages, fetchurl, coreutils, plugins ? [] }:
 
 pythonPackages.buildPythonApplication (rec {
   name = "${pname}-${version}";
   pname = "buildbot";
-  version = "0.9.0rc3";
+  version = "0.9.0rc4";
   src = fetchurl {
     url = "mirror://pypi/b/${pname}/${name}.tar.gz";
-    sha256 = "18238n9l0pfivb23csy5lnkx91fcm4jgmhxn03f2nfnp00rlppzb";
+    sha256 = "16bnrr5qkfpnby9sw9azcagnw0ybi7d8bpdlga2a4c61jg2d5dnc";
   };
 
   buildInputs = with pythonPackages; [
@@ -61,16 +57,17 @@ pythonPackages.buildPythonApplication (rec {
   preInstall = ''
     # writes out a file that can't be read properly
     sed -i.bak -e '69,84d' buildbot/test/unit/test_www_config.py
+
+    # re-hardcode path to tail
+    sed -i.bak 's|/usr/bin/tail|${coreutils}/bin/tail|' buildbot/scripts/logwatcher.py
   '';
 
   postFixup = ''
-    buildPythonPath "$out"
-    patchPythonScript "$out/bin/buildbot"
     mv -v $out/bin/buildbot $out/bin/.wrapped-buildbot
-    echo "#!/bin/bash" > $out/bin/buildbot
-    echo "export PYTHONPATH=$out/lib/python2.7/site-packages:$PYTHONPATH" >> $out/bin/buildbot
+    echo "#!/bin/sh" > $out/bin/buildbot
+    echo "export PYTHONPATH=$PYTHONPATH" >> $out/bin/buildbot
     echo "exec $out/bin/.wrapped-buildbot \"\$@\"" >> $out/bin/buildbot
-    chmod -c 755 $out/bin/buildbot
+    chmod -c 555 $out/bin/buildbot
   '';
 
   meta = with stdenv.lib; {
@@ -78,5 +75,6 @@ pythonPackages.buildPythonApplication (rec {
     description = "Continuous integration system that automates the build/test cycle";
     maintainers = with maintainers; [ nand0p ryansydnor ];
     platforms = platforms.all;
+    license = licenses.gpl2;
   };
 })
diff --git a/pkgs/development/tools/build-managers/buildbot/plugins.nix b/pkgs/development/tools/build-managers/buildbot/plugins.nix
index 384452e27d9c..09f8b1e750a5 100644
--- a/pkgs/development/tools/build-managers/buildbot/plugins.nix
+++ b/pkgs/development/tools/build-managers/buildbot/plugins.nix
@@ -1,17 +1,14 @@
-{ stdenv
-, fetchurl
-, pythonPackages
-}:
+{ stdenv, fetchurl, pythonPackages }:
 
 let
   buildbot-pkg = pythonPackages.buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "buildbot-pkg";
-    version = "0.9.0rc3";
+    version = "0.9.0rc4";
 
     src = fetchurl {
       url = "mirror://pypi/b/${pname}/${name}.tar.gz";
-      sha256 = "0a05dgc5nn6sx3nicfvqwar9iy8yxhq92688dhs5p6mzjxaprlxm";
+      sha256 = "0dfdyc3x0926dynzdl9w7z0p84w287l362mxdl3r6wl87gkisr10";
     };
 
     propagatedBuildInputs = with pythonPackages; [ setuptools ];
@@ -21,6 +18,7 @@ let
       description = "Buildbot Packaging Helper";
       maintainers = with maintainers; [ nand0p ryansydnor ];
       platforms = platforms.all;
+      license = licenses.gpl2;
     };
   };
 
@@ -29,13 +27,14 @@ in {
   www = pythonPackages.buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "buildbot_www";
-    version = "0.9.0rc3";
+    version = "0.9.0rc4";
 
     # NOTE: wheel is used due to buildbot circular dependency
     format = "wheel";
+
     src = fetchurl {
-      url = "https://pypi.python.org/packages/93/1e/09e329fc831ae4f5be05eb3363c9028ab7e26e9c7e5d89e3aa66c3f25d9d/${name}-py2-none-any.whl";
-      sha256 = "0fy2v7y1kc53zm67ddx85yz5qh4b7hmcbfzmsziiv9n83a0qh1i6";
+      url = "https://pypi.python.org/packages/78/45/b43bd85695cd0178f8bac9c3b394062e9eb46f489b655c11e950e54278a2/${name}-py2-none-any.whl";
+      sha256 = "0ixi0y0jhbql55swsvy0jin1v6xf4q4mw9p5n9sll2h10lyp9h0p";
     };
 
     propagatedBuildInputs = [ buildbot-pkg ];
@@ -45,17 +44,18 @@ in {
       description = "Buildbot UI";
       maintainers = with maintainers; [ nand0p ryansydnor ];
       platforms = platforms.all;
+      license = licenses.gpl2;
     };
   };
 
   console-view = pythonPackages.buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "buildbot-console-view";
-    version = "0.9.0rc3";
+    version = "0.9.0rc4";
 
     src = fetchurl {
       url = "mirror://pypi/b/${pname}/${name}.tar.gz";
-      sha256 = "09yfqrnwfambg1j4x7ywnjg4xfhvv6f242zzh35fwj64cnqmqx07";
+      sha256 = "1fig635yg5dgn239g9wzfpw9wc3p91lcl9nnig9k7fijz85pwrva";
     };
 
     propagatedBuildInputs = [ buildbot-pkg ];
@@ -65,17 +65,18 @@ in {
       description = "Buildbot Console View Plugin";
       maintainers = with maintainers; [ nand0p ryansydnor ];
       platforms = platforms.all;
+      license = licenses.gpl2;
     };
   };
 
   waterfall-view = pythonPackages.buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "buildbot-waterfall-view";
-    version = "0.9.0rc3";
+    version = "0.9.0rc4";
 
     src = fetchurl {
       url = "mirror://pypi/b/${pname}/${name}.tar.gz";
-      sha256 = "0xpqxj3mmwl5xdhm3p52shl24d85qapdk4v66f9hrb9pnk5k4a81";
+      sha256 = "08kh966grj9b4mif337vv7bqy5ixz8xz31ml63wysjb65djnjbk8";
     };
 
     propagatedBuildInputs = [ buildbot-pkg ];
@@ -85,6 +86,7 @@ in {
       description = "Buildbot Waterfall View Plugin";
       maintainers = with maintainers; [ nand0p ryansydnor ];
       platforms = platforms.all;
+      license = licenses.gpl2;
     };
   };
 }
diff --git a/pkgs/development/tools/build-managers/buildbot/worker.nix b/pkgs/development/tools/build-managers/buildbot/worker.nix
index 2c8e17a37c00..01b2051aaa6d 100644
--- a/pkgs/development/tools/build-managers/buildbot/worker.nix
+++ b/pkgs/development/tools/build-managers/buildbot/worker.nix
@@ -1,16 +1,13 @@
-{ stdenv
-, fetchurl
-, pythonPackages
-}:
+{ stdenv, fetchurl, pythonPackages }:
 
 pythonPackages.buildPythonApplication (rec {
   name = "${pname}-${version}";
   pname = "buildbot-worker";
-  version = "0.9.0rc3";
+  version = "0.9.0rc4";
 
   src = fetchurl {
     url = "mirror://pypi/b/${pname}/${name}.tar.gz";
-    sha256 = "0wqn2176rk7hc27r4hfy5qnxp0nr9iis5nyzg5x07xljnsspnhy1";
+    sha256 = "1fv40pki1awv5f2z9vd7phjk7dlsy1cp4blsy2vdhqwbc7112a8c";
   };
 
   buildInputs = with pythonPackages; [ setuptoolsTrial mock ];
@@ -21,5 +18,6 @@ pythonPackages.buildPythonApplication (rec {
     description = "Buildbot Worker Daemon";
     maintainers = with maintainers; [ nand0p ryansydnor ];
     platforms = platforms.all;
+    license = licenses.gpl2;
   };
 })
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
index 47c6e12a5860..558b8acf70f1 100644
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -1,10 +1,11 @@
 { lib, python3Packages, fetchurl }:
 python3Packages.buildPythonPackage rec {
-  name = "meson-0.32.0";
+  version = "0.35.0";
+  name = "meson-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/m/meson/${name}.tar.gz";
-    sha256 = "1i5m4q53sr55aw8kx761kh0rsfwkpq0gfa0c0k3jf66y4aml6n54";
+    sha256 = "0w4vian55cwcv2m5qzn73aznf9a0y24cszqb7dkpahrb9yrg25l3";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/hexio/default.nix b/pkgs/development/tools/hexio/default.nix
new file mode 100644
index 000000000000..6d75c7256ee0
--- /dev/null
+++ b/pkgs/development/tools/hexio/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, fetchurl, python, pcsclite, pth, glibc }:
+
+stdenv.mkDerivation rec {
+  pname = "hexio";
+  name = "${pname}-${version}";
+  version = "201605";
+
+  src = fetchFromGitHub {
+    sha256 = "08jxkdi0gjsi8s793f9kdlad0a58a0xpsaayrsnpn9bpmm5cgihq";
+    rev = "f6f963bd0fcd2808977e0ad82dcb3100691cdd7c";
+    owner = "vanrein";
+    repo = "hexio";
+  };
+
+  buildInputs = [ python pcsclite pth glibc ];
+
+  patchPhase = ''
+    substituteInPlace Makefile \
+      --replace '-I/usr/local/include/PCSC/' '-I${pcsclite}/include/PCSC/' \
+      --replace '-L/usr/local/lib/pth' '-I${pth}/lib/'
+    '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/lib $out/sbin $out/man
+    make DESTDIR=$out PREFIX=/ all
+    make DESTDIR=$out PREFIX=/ install
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Low-level I/O helpers for hexadecimal, tty/serial devices and so on";
+    homepage = https://github.com/vanrein/hexio;
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ leenaars ];
+  };
+}
diff --git a/pkgs/development/tools/mdk/default.nix b/pkgs/development/tools/mdk/default.nix
index f54b409efb6d..ca8c2de9630f 100644
--- a/pkgs/development/tools/mdk/default.nix
+++ b/pkgs/development/tools/mdk/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "gnu-mdk-1.2.9";
   src = fetchurl {
     url = http://ftp.gnu.org/gnu/mdk/v1.2.9/mdk-1.2.9.tar.gz;
-    md5 = "08c96baa4b99dd9d25190dd15fe415a5";
+    sha256 = "0c24wzrzbk0l4z1p5nnxihaqra75amwmw59va44554infkfms9kc";
   };
   buildInputs = [ intltool pkgconfig glib ];
   postInstall = ''
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index 48e74cf2631d..da0447c49da8 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -12,7 +12,7 @@
 
 let
 
-  basename = "gdb-7.11.1";
+  basename = "gdb-7.12";
 
   # Whether (cross-)building for GNU/Hurd.  This is an approximation since
   # having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/gdb/${basename}.tar.xz";
-    sha256 = "0w7wi1llznlqdqk2lmzygz2xylb2c9mh580s9i0rypkmwfj6s8g9";
+    sha256 = "152g2qa8337cxif3lkvabjcxfd9jphfb2mza8f1p2c4bjk2z6kw3";
   };
 
   nativeBuildInputs = [ pkgconfig texinfo perl ]
@@ -43,6 +43,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # darwin build fails with format hardening since v7.12
+  hardeningDisable = stdenv.lib.optionals stdenv.isDarwin [ "format" ];
+
   configureFlags = with stdenv.lib;
     [ "--with-gmp=${gmp.dev}" "--with-mpfr=${mpfr.dev}" "--with-system-readline"
       "--with-system-zlib" "--with-expat" "--with-libexpat-prefix=${expat.dev}"
diff --git a/pkgs/development/tools/misc/intel-gpu-tools/default.nix b/pkgs/development/tools/misc/intel-gpu-tools/default.nix
index 3d3e457781ad..5ecc0421c361 100644
--- a/pkgs/development/tools/misc/intel-gpu-tools/default.nix
+++ b/pkgs/development/tools/misc/intel-gpu-tools/default.nix
@@ -2,11 +2,11 @@
 , libX11, libXext, libXv, libXrandr, glib, bison, libunwind, python3 }:
 
 stdenv.mkDerivation rec {
-  name = "intel-gpu-tools-1.14";
+  name = "intel-gpu-tools-1.16";
 
   src = fetchurl {
     url = "http://xorg.freedesktop.org/archive/individual/app/${name}.tar.bz2";
-    sha256 = "030g1akybk19y3jcxd8pp573ymrd4w7mmzxbspp064lwdv9y35im";
+    sha256 = "1q9sfb15081zm1rq4z67sfj13ryvbdha4fa6pdzdsfd9261nvgn6";
   };
 
   buildInputs = [ pkgconfig libdrm libpciaccess cairo dri2proto udev libX11
diff --git a/pkgs/development/tools/misc/intltool/default.nix b/pkgs/development/tools/misc/intltool/default.nix
index 4ab9fa284915..e59e4c23776d 100644
--- a/pkgs/development/tools/misc/intltool/default.nix
+++ b/pkgs/development/tools/misc/intltool/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   patches = [(fetchpatch {
     name = "perl-5.22.patch";
     url = "https://anonscm.debian.org/viewvc/pkg-gnome/desktop/unstable/intltool"
-      + "/debian/patches/perl5.22-regex-fixes?revision=47255&view=co";
+      + "/debian/patches/perl5.22-regex-fixes?revision=47258&view=co";
     sha256 = "17clqczb9fky7hp8czxa0fy82b5478irvz4f3fnans3sqxl95hx3";
   })];
 
diff --git a/pkgs/development/tools/misc/travis/default.nix b/pkgs/development/tools/misc/travis/default.nix
index adc63ce7c43f..a520c4deb342 100644
--- a/pkgs/development/tools/misc/travis/default.nix
+++ b/pkgs/development/tools/misc/travis/default.nix
@@ -1,29 +1,14 @@
-{ stdenv, lib, bundlerEnv, ruby }:
+{ lib, bundlerEnv, ruby }:
 
-stdenv.mkDerivation rec {
-  name = "travis-${version}";
-  version = env.gems.travis.version;
-
-  env = bundlerEnv {
-    inherit ruby;
-    name = "${name}-gems";
-    gemset = ./gemset.nix;
-    gemfile = ./Gemfile;
-    lockfile = ./Gemfile.lock;
-  };
-
-  phases = ["installPhase"];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    ln -s ${env}/bin/travis $out/bin/travis
-  '';
+bundlerEnv {
+  inherit ruby;
+  pname = "travis";
+  gemdir = ./.;
 
   meta = with lib; {
     description = "CLI and Ruby client library for Travis CI";
     homepage    = https://github.com/travis-ci/travis.rb;
     license     = licenses.mit;
     maintainers = with maintainers; [ zimbatm ];
-    platforms   = ruby.meta.platforms;
   };
 }
diff --git a/pkgs/development/tools/ocaml/camlidl/default.nix b/pkgs/development/tools/ocaml/camlidl/default.nix
index 093e90dd47f3..feedd8835485 100644
--- a/pkgs/development/tools/ocaml/camlidl/default.nix
+++ b/pkgs/development/tools/ocaml/camlidl/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, makeWrapper, gcc, ocaml, ncurses}:
+{ stdenv, fetchurl, makeWrapper, ocaml, ncurses }:
 
 let
   pname = "camlidl";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     mv config/Makefile.unix config/Makefile
     substituteInPlace config/Makefile --replace BINDIR=/usr/local/bin BINDIR=$out
     substituteInPlace config/Makefile --replace OCAMLLIB=/usr/local/lib/ocaml OCAMLLIB=$out/lib/ocaml/${ocaml.version}/site-lib/camlidl
-    substituteInPlace config/Makefile --replace CPP=/lib/cpp CPP=${gcc}/bin/cpp
+    substituteInPlace config/Makefile --replace CPP=/lib/cpp CPP=${stdenv.cc}/bin/cpp
     mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/camlidl/caml
   '';
 
diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix
index 45888924a2ef..b8740bc37932 100644
--- a/pkgs/development/tools/ocaml/utop/default.nix
+++ b/pkgs/development/tools/ocaml/utop/default.nix
@@ -1,5 +1,5 @@
-{stdenv, fetchurl, ocaml, findlib, lambdaTerm, ocaml_lwt, makeWrapper,
- ocaml_react, camomile, zed, cppo, camlp4, ppx_tools
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, camlp4, ocaml_react
+, lambdaTerm, ocaml_lwt, makeWrapper, camomile, zed, cppo, ppx_tools
 }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0hxybkqmrh0sz1yyyrgzdmxp46gda4vk22pv07s0qpfg2dpv56jh";
   };
 
-  buildInputs = [ ocaml findlib makeWrapper cppo camlp4 ppx_tools ];
+  buildInputs = [ ocaml findlib ocamlbuild makeWrapper cppo camlp4 ppx_tools ];
 
   propagatedBuildInputs = [ lambdaTerm ocaml_lwt ];
 
diff --git a/pkgs/development/tools/valadoc/default.nix b/pkgs/development/tools/valadoc/default.nix
new file mode 100644
index 000000000000..7d4e61c87995
--- /dev/null
+++ b/pkgs/development/tools/valadoc/default.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchgit, gnome3, automake, autoconf, which, libtool, pkgconfig, graphviz, glib, gobjectIntrospection, expat}:
+stdenv.mkDerivation rec {
+  version = "2016-10-09";
+  name = "valadoc-unstable-${version}";
+
+  src = fetchgit {
+    url = "git://git.gnome.org/valadoc";
+    rev = "37756970379d1363453562e9f2af2c354d172fb4";
+    sha256 = "1s9sf6f0srh5sqqikswnb3bgwv5s1r9bd4n10hs2lzfmh7z227qb";
+  };
+
+  nativeBuildInputs = [ automake autoconf which gnome3.vala libtool pkgconfig gobjectIntrospection ];
+  buildInputs = [ graphviz glib gnome3.libgee expat ];
+
+  preConfigure = "./autogen.sh";
+
+  meta = with stdenv.lib; {
+    description = "valadoc is a documentation generator for generating API documentation from Vala source code";
+    homepage = http://valadoc.org;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with maintainers; [ sternenseemann ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/development/tools/xcbuild/default.nix b/pkgs/development/tools/xcbuild/default.nix
new file mode 100644
index 000000000000..e313672aea3f
--- /dev/null
+++ b/pkgs/development/tools/xcbuild/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, cmake, fetchFromGitHub, zlib, libxml2, libpng, CoreServices, CoreGraphics, ImageIO }:
+
+let
+  googletest = fetchFromGitHub {
+    owner  = "google";
+    repo   = "googletest";
+    rev    = "43359642a1c16ad3f4fc575c7edd0cb935810815";
+    sha256 = "0y4xaah62fjr3isaryc3vfz3mn9xflr00vchdimj8785milxga4q";
+  };
+
+  linenoise = fetchFromGitHub {
+    owner  = "antirez";
+    repo   = "linenoise";
+    rev    = "c894b9e59f02203dbe4e2be657572cf88c4230c3";
+    sha256 = "0wasql7ph5g473zxhc2z47z3pjp42q0dsn4gpijwzbxawid71b4w";
+  };
+in stdenv.mkDerivation rec {
+  name    = "xcbuild-${stdenv.lib.substring 0 8 version}";
+  version = "49f8a5923f1381f87ac03ad4c1b138d1d2b74369";
+
+  src = fetchFromGitHub {
+    owner  = "facebook";
+    repo   = "xcbuild";
+    rev    = version;
+    sha256 = "0l107xkh7dab2xc58dqyrrhpd1gp12cpzh0wrx0i9jbh0idbwnk0";
+  };
+
+  prePatch = ''
+    rmdir ThirdParty/*
+    cp -r --no-preserve=all ${googletest} ThirdParty/googletest
+    cp -r --no-preserve=all ${linenoise} ThirdParty/linenoise
+  '';
+
+  enableParallelBuilding = true;
+
+  # TODO: instruct cmake not to put it in /usr, rather than cleaning up
+  postInstall = ''
+    mv $out/usr/* $out
+    rmdir $out/usr
+  '';
+
+  buildInputs = [ cmake zlib libxml2 libpng CoreServices CoreGraphics ImageIO ];
+}
\ No newline at end of file