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/ammonite/default.nix9
-rw-r--r--pkgs/development/tools/backblaze-b2/default.nix2
-rw-r--r--pkgs/development/tools/boomerang/default.nix49
-rw-r--r--pkgs/development/tools/boomerang/fix-install.patch48
-rw-r--r--pkgs/development/tools/boomerang/fix-output.patch24
-rw-r--r--pkgs/development/tools/build-managers/cmake/search-path-3.2.patch13
-rw-r--r--pkgs/development/tools/build-managers/doit/default.nix38
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix24
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix2
-rw-r--r--pkgs/development/tools/misc/hydra/default.nix6
-rw-r--r--pkgs/development/tools/misc/premake/5.nix40
-rw-r--r--pkgs/development/tools/misc/sysbench/default.nix20
-rw-r--r--pkgs/development/tools/ocaml/cppo/default.nix6
-rw-r--r--pkgs/development/tools/ocaml/utop/default.nix52
-rw-r--r--pkgs/development/tools/parsing/antlr/3.4.nix2
-rw-r--r--pkgs/development/tools/parsing/byacc/default.nix22
-rw-r--r--pkgs/development/tools/rust/bindgen/default.nix6
-rw-r--r--pkgs/development/tools/yarn/default.nix4
21 files changed, 286 insertions, 101 deletions
diff --git a/pkgs/development/tools/ammonite/default.nix b/pkgs/development/tools/ammonite/default.nix
index 049ea51b8f9..04916b1ef75 100644
--- a/pkgs/development/tools/ammonite/default.nix
+++ b/pkgs/development/tools/ammonite/default.nix
@@ -1,12 +1,13 @@
 { stdenv, lib, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  name = "ammonite-repl-${version}";
-  version = "0.8.2";
+  name = "ammonite-${version}";
+  version = "0.8.4";
+  scalaVersion = "2.12";
 
   src = fetchurl {
-    url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/2.12-${version}";
-    sha256 = "0fgwqdvk0nljd6xm16r8qdhjcp7ix4vx91w5ab856hllf4911120";
+    url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}";
+    sha256 = "04kni08yd53w8dhkkgbydzkka4cnp31l2d8g23iinkn10ckmz5jm";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/pkgs/development/tools/backblaze-b2/default.nix b/pkgs/development/tools/backblaze-b2/default.nix
index 045272e19d3..850affb0610 100644
--- a/pkgs/development/tools/backblaze-b2/default.nix
+++ b/pkgs/development/tools/backblaze-b2/default.nix
@@ -11,7 +11,7 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "1gl1z7zg3s1xgx45i6b1bvx9iwviiiinl4my00h66qkhrw7ag8p1";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ futures requests2 six tqdm4 ];
+  propagatedBuildInputs = with pythonPackages; [ futures requests2 six tqdm ];
 
   checkPhase = ''
     python test_b2_command_line.py test
diff --git a/pkgs/development/tools/boomerang/default.nix b/pkgs/development/tools/boomerang/default.nix
index cfd8c03af6d..1e84a05cc85 100644
--- a/pkgs/development/tools/boomerang/default.nix
+++ b/pkgs/development/tools/boomerang/default.nix
@@ -1,43 +1,31 @@
-{ stdenv, fetchgit, cmake, expat }:
+{ stdenv, fetchgit, cmake, expat, qt5, boost }:
 
 stdenv.mkDerivation rec {
   name = "boomerang-${version}";
-  version = "0.3.2alpha";
+  version = "0.3.99-alpha-2016-11-02";
 
   src = fetchgit {
     url = "https://github.com/nemerle/boomerang.git";
-    rev = "78c6b9dd33790be43dcb07edc549161398904006";
-    sha256 = "1n49wx2v9r40mh5kdkspqvc8rccpb4s004qxqvn4fwc59dm0pqbs";
+    rev = "f95d6436845e9036c8cfbd936731449475f79b7a";
+    sha256 = "1q3q92lfj24ij5sxdbdhcqyan28r6db1w80yrks4csf9zjij1ixh";
   };
 
-  buildInputs = [ cmake expat ];
+  buildInputs = [ cmake expat qt5.qtbase boost ];
+
+  patches = [ ./fix-install.patch ./fix-output.patch ];
 
   postPatch = ''
-    sed -i -e 's/-std=c++0x/-std=c++11 -fpermissive/' CMakeLists.txt
-
-    # Hardcode library base path ("lib/" is appended elsewhere)
-    sed -i -e 's|::m_base_path = "|&'"$out"'/|' loader/BinaryFileFactory.cpp
-    # Deactivate setting base path at runtime
-    sed -i -e 's/m_base_path *=[^}]*//' include/BinaryFile.h
-
-    # Fix up shared directory locations
-    shared="$out/share/boomerang/"
-    find frontend -name '*.cpp' -print | xargs sed -i -e \
-      's|Boomerang::get()->getProgPath()|std::string("'"$shared"'")|'
-
-    cat >> loader/CMakeLists.txt <<CMAKE
-    INSTALL(TARGETS bffDump BinaryFile
-            ElfBinaryFile Win32BinaryFile ExeBinaryFile HpSomBinaryFile
-            PalmBinaryFile DOS4GWBinaryFile MachOBinaryFile
-            RUNTIME DESTINATION bin
-            LIBRARY DESTINATION lib)
-    CMAKE
-
-    cat >> CMakeLists.txt <<CMAKE
-    INSTALL(TARGETS boomerang DESTINATION bin)
-    INSTALL(DIRECTORY signatures DESTINATION share/boomerang)
-    INSTALL(DIRECTORY frontend/machine DESTINATION share/boomerang/frontend)
-    CMAKE
+    substituteInPlace loader/BinaryFileFactory.cpp \
+      --replace '"lib"' '"../lib"'
+
+    substituteInPlace ui/DecompilerThread.cpp \
+      --replace '"output"' '"./output"'
+
+    substituteInPlace boomerang.cpp \
+      --replace 'progPath("./")' "progPath(\"$out/share/boomerang/\")"
+
+    substituteInPlace ui/commandlinedriver.cpp \
+      --replace "QFileInfo(args[0]).absolutePath()" "\"$out/share/boomerang/\""
   '';
 
   enableParallelBuilding = true;
@@ -46,6 +34,5 @@ stdenv.mkDerivation rec {
     homepage = "http://boomerang.sourceforge.net/";
     license = stdenv.lib.licenses.bsd3;
     description = "A general, open source, retargetable decompiler";
-    broken = true;
   };
 }
diff --git a/pkgs/development/tools/boomerang/fix-install.patch b/pkgs/development/tools/boomerang/fix-install.patch
new file mode 100644
index 00000000000..bc656acfd6a
--- /dev/null
+++ b/pkgs/development/tools/boomerang/fix-install.patch
@@ -0,0 +1,48 @@
+From 5851256422a4debc34c956439d8129a4d5f80722 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Thu, 30 Mar 2017 10:06:03 -0500
+Subject: [PATCH] cmake: add install bits
+
+---
+ CMakeLists.txt        | 3 +++
+ loader/CMakeLists.txt | 2 ++
+ ui/CMakeLists.txt     | 2 ++
+ 3 files changed, 7 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 826fe307..740861db 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -113,3 +113,6 @@ SET_PROPERTY(TARGET boom_base PROPERTY CXX_STANDARD_REQUIRED ON)
+ 
+ ADD_SUBDIRECTORY(loader)
+ ADD_SUBDIRECTORY(ui)
++
++INSTALL(DIRECTORY signatures DESTINATION share/boomerang)
++INSTALL(DIRECTORY frontend/machine DESTINATION share/boomerang/frontend)
+diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
+index b371d366..dcf715fd 100644
+--- a/loader/CMakeLists.txt
++++ b/loader/CMakeLists.txt
+@@ -6,6 +6,8 @@ macro(BOOMERANG_ADD_LOADER name)
+     endif()
+     qt5_use_modules(${target_name} Core)
+     set_target_properties(${target_name} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/out/lib")
++    install(TARGETS "${target_name}"
++      LIBRARY DESTINATION lib)
+ endmacro()
+ 
+ BOOMERANG_ADD_LOADER(Elf      elf/ElfBinaryFile.cpp elf/ElfBinaryFile.h)
+diff --git a/ui/CMakeLists.txt b/ui/CMakeLists.txt
+index f6fe3271..8729b522 100644
+--- a/ui/CMakeLists.txt
++++ b/ui/CMakeLists.txt
+@@ -26,3 +26,5 @@ boom_base frontend db type boomerang_DSLs codegen util boom_base
+ ${CMAKE_THREAD_LIBS_INIT} boomerang_passes
+ )
+ qt5_use_modules(boomerang Core Xml Widgets)
++
++INSTALL(TARGETS boomerang DESTINATION bin)
+-- 
+2.11.0
+
diff --git a/pkgs/development/tools/boomerang/fix-output.patch b/pkgs/development/tools/boomerang/fix-output.patch
new file mode 100644
index 00000000000..18fbe74177b
--- /dev/null
+++ b/pkgs/development/tools/boomerang/fix-output.patch
@@ -0,0 +1,24 @@
+From f3f5f888a1b1fe72ea8fc8cc96ef4ee386011e1c Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Thu, 30 Mar 2017 11:21:38 -0500
+Subject: [PATCH] don't default to writing to program directory
+
+---
+ boomerang.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/boomerang.cpp b/boomerang.cpp
+index 5951ed91..b592f482 100644
+--- a/boomerang.cpp
++++ b/boomerang.cpp
+@@ -601,7 +601,6 @@ int Boomerang::processCommand(QStringList &args) {
+  */
+ void Boomerang::setProgPath(const QString &p) {
+     progPath = p + "/";
+-    outputPath = progPath + "/output/"; // Default output path (can be overridden with -o below)
+ }
+ 
+ /**
+-- 
+2.11.0
+
diff --git a/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch b/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch
index ba7438d2c0f..623a7208a86 100644
--- a/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch
+++ b/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch
@@ -62,3 +62,16 @@ diff -ru3 cmake-3.4.3/Modules/Platform/UnixPaths.cmake cmake-3.4.3-new/Modules/P
    )
  
  # Enable use of lib64 search path variants by default.
+diff -ur cmake-3.7.2-orig/Modules/Platform/WindowsPaths.cmake cmake-3.7.2/Modules/Platform/WindowsPaths.cmake
+--- cmake-3.7.2-orig/Modules/Platform/WindowsPaths.cmake	2017-04-26 09:08:39.095674666 -0700
++++ cmake-3.7.2/Modules/Platform/WindowsPaths.cmake	2017-04-28 22:32:10.379015998 -0700
+@@ -66,7 +66,7 @@
+ 
+ if(CMAKE_CROSSCOMPILING AND NOT CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
+   # MinGW (useful when cross compiling from linux with CMAKE_FIND_ROOT_PATH set)
+-  list(APPEND CMAKE_SYSTEM_PREFIX_PATH /)
++  # list(APPEND CMAKE_SYSTEM_PREFIX_PATH /)
+ endif()
+ 
+ list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
+diff -ur cmake-3.7.2-orig/Source/cmFindPackageCommand.cxx cmake-3.7.2/Source/cmFindPackageCommand.cxx
diff --git a/pkgs/development/tools/build-managers/doit/default.nix b/pkgs/development/tools/build-managers/doit/default.nix
new file mode 100644
index 00000000000..61f6a402cab
--- /dev/null
+++ b/pkgs/development/tools/build-managers/doit/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, python3Packages }:
+
+let
+
+  name = "doit";
+  version = "0.30.3";
+
+in python3Packages.buildPythonApplication {
+  name = "${name}-${version}";
+
+  src = fetchurl {
+    url = "mirror://pypi/d/${name}/${name}-${version}.tar.gz";
+    sha256 = "1fcsslc3mc4bszq5xdqbxv37720s1s31d6pbfwc2iyxk1x2wi219";
+  };
+
+  buildInputs = with python3Packages; [ mock pytest ];
+
+  propagatedBuildInputs = with python3Packages; [ cloudpickle pyinotify ];
+
+  # Tests fail due to mysterious gdbm.open() resource temporarily
+  # unavailable errors.
+  doCheck = false;
+  checkPhase = "py.test";
+
+  meta = {
+    homepage = "http://pydoit.org/";
+    description = "A task management & automation tool";
+    license = stdenv.lib.licenses.mit;
+    longDescription = ''
+      doit is a modern open-source build-tool written in python
+      designed to be simple to use and flexible to deal with complex
+      work-flows. It is specially suitable for building and managing
+      custom work-flows where there is no out-of-the-box solution
+      available.
+    '';
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
index 558b8acf70f..d4dbc6b46d2 100644
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -1,13 +1,23 @@
-{ lib, python3Packages, fetchurl }:
-python3Packages.buildPythonPackage rec {
-  version = "0.35.0";
-  name = "meson-${version}";
+{ lib, python3Packages }:
+python3Packages.buildPythonApplication rec {
+  version = "0.40.0";
+  pname = "meson";
+  name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "mirror://pypi/m/meson/${name}.tar.gz";
-    sha256 = "0w4vian55cwcv2m5qzn73aznf9a0y24cszqb7dkpahrb9yrg25l3";
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "1hb6y5phzd5738rlpz78w8hfzk7sbxj81551mb7bbkkqz8ql1gjw";
   };
 
+  postFixup = ''
+    pushd $out/bin
+    # undo shell wrapper as meson tools are called with python
+    for i in *; do
+      mv ".$i-wrapped" "$i"
+    done
+    popd
+  '';
+
   meta = with lib; {
     homepage = http://mesonbuild.com;
     description = "SCons-like build system that use python as a front-end language and Ninja as a building backend";
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 97e195f592e..d7f13de1d26 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }:
 
 let
-  version = "9.0.0";
+  version = "9.1.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 = "1f170akb7j7imgr18m32fy6v3rk98inrjl5a4xymfpivwwqyv9p8";
+    sha256 = "1mdcw755fygnf30v0gr13mx20zjqmxg5w2kj3k2jgcsh3gyrvymr";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
-    sha256 = "15mlix8j7bqjg5y07c439d7s197c16zxffknx42z1i3qxcz2mpa4";
+    sha256 = "1m5p6mlhy3xf0chrjlfpdyp24pv32b61s8iryh6a617i91vpzjg6";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-ci-multi-runner";
     rev = "v${version}";
-    sha256 = "1csha30lcwm1mk6hqbh0j8bb25apyni23szw79l8xjhmiw2ch619";
+    sha256 = "0n8hcj2b1pb95x4bd7fb9ri43vgc4h2dj2v3iiziw2imqjyphfx4";
   };
 
   buildInputs = [ go-bindata ];
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix
index d49221d6e6a..cfc952395c2 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }:
 
 let
-  version = "1.11.1";
+  version = "1.11.2";
   # 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 = "1fahwvwdli6glxsljrd030x15y18jwk72lg1xmrgms409r9y308m";
+    sha256 = "08lacd2p7915y7yjnwkj2k0b0x4qj9kc53p7qgvmq8kdi31xnh4z";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
-    sha256 = "0nqda27qcb6r1p2xc2973g08fwb8cnmyc9rswy6776r8ypagn2zw";
+    sha256 = "0lzvx3jfy8493q8zkbs7kgm5a3jgsi3f2x25jwg4lx7agcwwsygw";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-ci-multi-runner";
     rev = "v${version}";
-    sha256 = "0ix00p9f01fg8m6p3b1c20hqrcv7pivh6hq92pb9qyiyzmcfap47";
+    sha256 = "1sjvlb5981ykc8hr4kp1ibh9jw2wdjjp9zs2nqs9lpsav4nda5fr";
   };
 
   buildInputs = [ go-bindata ];
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 5a0cb4911e1..b2cf8b5a0ce 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jenkins-${version}";
-  version = "2.53";
+  version = "2.56";
 
   src = fetchurl {
     url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
-    sha256 = "16lgwgp4n161j4vjwkzzdz4v2d6vv62rrqmcfmb6zalyvp6wpj9r";
+    sha256 = "1n0rqvnqv8dsqz8nmcxifg2qqs5hjqvi4bw3a3rjchndqyc3azij";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 7b71a8e95d9..b0819f6133b 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -95,6 +95,6 @@ stdenv.mkDerivation rec {
 
     /* Give binutils a lower priority than gcc-wrapper to prevent a
        collision due to the ld/as wrappers/symlinks in the latter. */
-    priority = "10";
+    priority = 10;
   };
 }
diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix
index 1e04a10eccd..f7c410ecfb2 100644
--- a/pkgs/development/tools/misc/hydra/default.nix
+++ b/pkgs/development/tools/misc/hydra/default.nix
@@ -62,15 +62,15 @@ let
   };
 in releaseTools.nixBuild rec {
   name = "hydra-${version}";
-  version = "2017-03-21";
+  version = "2017-04-26";
 
   inherit stdenv;
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "hydra";
-    rev = "57bc0eaead8c76ffd71ddc49adfacc47bb8a75ac";
-    sha256 = "1kshl6ms42fgh621s1ba3a224rawqzgvl89rq1k6c9qhlplpndd9";
+    rev = "1f94f0369937c9187b158f53a4a361507a62c5e9";
+    sha256 = "0h013690pwm20vykccr6l4k0q1jdb065127pblfhs23a287ayqlm";
   };
 
   buildInputs =
diff --git a/pkgs/development/tools/misc/premake/5.nix b/pkgs/development/tools/misc/premake/5.nix
new file mode 100644
index 00000000000..b0bb32449a4
--- /dev/null
+++ b/pkgs/development/tools/misc/premake/5.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, CoreServices }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "premake-${version}";
+  version = "5.0.0pre.alpha.11";
+
+  src = fetchFromGitHub {
+    owner = "premake";
+    repo = "premake-core";
+    rev = "5dfb0238bc309df04819dd430def621ce854678d";
+    sha256 = "0k9xbqrnbwj0hnmdgcrwn70py1kiqvr10l42aw42xnlmdyg1sgsc";
+  };
+
+  buildInputs = optional stdenv.isDarwin [ CoreServices ];
+
+  patchPhase = optional stdenv.isDarwin ''
+    substituteInPlace premake5.lua \
+      --replace -mmacosx-version-min=10.4 -mmacosx-version-min=10.5
+  '';
+
+  buildPhase =
+    if stdenv.isDarwin then ''
+       make -f Bootstrap.mak osx
+    '' else ''
+       make -f Bootstrap.mak linux
+    '';
+
+  installPhase = ''
+    install -Dm755 bin/release/premake5 $out/bin/premake5
+  '';
+
+  meta = {
+    homepage = https://premake.github.io;
+    description = "A simple build configuration and project generation tool using lua";
+    license = stdenv.lib.licenses.bsd3;
+    platforms = platforms.darwin ++ platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/misc/sysbench/default.nix b/pkgs/development/tools/misc/sysbench/default.nix
index b6223230c1c..540db210eb4 100644
--- a/pkgs/development/tools/misc/sysbench/default.nix
+++ b/pkgs/development/tools/misc/sysbench/default.nix
@@ -1,20 +1,18 @@
-{ stdenv, fetchgit, libmysql, libxslt, zlib, autoreconfHook }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, vim, libmysql,
+  libaio }:
 
 stdenv.mkDerivation rec {
-  name = "sysbench-2015-04-22";
+  name = "sysbench-1.0.6";
 
-  buildInputs = [ autoreconfHook libmysql libxslt zlib ];
+  buildInputs = [ autoreconfHook pkgconfig vim libmysql libaio ];
 
-  src = fetchgit {
-    url = git://github.com/akopytov/sysbench.git;
-    rev = "2b3042883090c9cf8cb9be2b24d3590cdcee112f";
-    sha256 = "1xlb3fracha3wva3dmmjk36b262vblynkmiz8n0mn1vkc78bssaw";
+  src = fetchFromGitHub {
+    owner = "akopytov";
+    repo = "sysbench";
+    rev = "1.0.6";
+    sha256 = "0y3hlhzrggyyxwf378n006zlg2kwhmhh6vq6il0qn9agjmjmhl5l";
   };
 
-  preAutoreconf = ''
-    touch NEWS AUTHORS
-  '';
-
   meta = {
     description = "Modular, cross-platform and multi-threaded benchmark tool";
     license = stdenv.lib.licenses.gpl2;
diff --git a/pkgs/development/tools/ocaml/cppo/default.nix b/pkgs/development/tools/ocaml/cppo/default.nix
index 59130bec50e..e778337ca5c 100644
--- a/pkgs/development/tools/ocaml/cppo/default.nix
+++ b/pkgs/development/tools/ocaml/cppo/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild }:
 let
   pname = "cppo";
-  version = "1.3.2";
+  version = "1.5.0";
   webpage = "http://mjambon.com/${pname}.html";
 in
-assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12";
+assert stdenv.lib.versionAtLeast ocaml.version "3.12";
 stdenv.mkDerivation rec {
 
   name = "${pname}-${version}";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     owner = "mjambon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "06j0zr78f04ahxi2459vjn61z25hkvs4dfj76200ydg3g6ifb3k1";
+    sha256 = "1xqldjz9risndnabvadw41fdbi5sa2hl4fnqls7j9xfbby1izbg8";
   };
 
   buildInputs = [ ocaml findlib ocamlbuild ];
diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix
index 31549729cfe..8ab1371af9c 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, ocamlbuild, camlp4, ocaml_react
-, lambdaTerm, ocaml_lwt, makeWrapper, camomile, zed, cppo, ppx_tools
+{ stdenv, fetchurl, bash, ocaml, findlib, ocamlbuild, camlp4, ocaml_react
+, lambdaTerm, ocaml_lwt, camomile, zed, cppo, ppx_tools
 }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "16z02vp9n97iax4fqpbi7v86r75vbabxvnd1rirh8w2miixs1g4x";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild makeWrapper cppo camlp4 ppx_tools ];
+  buildInputs = [ ocaml findlib ocamlbuild cppo camlp4 ppx_tools ];
 
   propagatedBuildInputs = [ lambdaTerm ocaml_lwt ];
 
@@ -28,21 +28,41 @@ stdenv.mkDerivation rec {
   dontStrip = true;
 
   postFixup =
-   let p = p: "${p}/lib/ocaml/${ocaml.version}/site-lib"; in
-   ''
-   pushd $out/bin
-   for prog in *
+   let
+     path = "etc/utop/env";
+
+     # derivation of just runtime deps so env vars created by
+     # setup-hooks can be saved for use at runtime
+     runtime = stdenv.mkDerivation rec {
+       name = "utop-runtime-env-${version}";
+
+       buildInputs = [ findlib ] ++ propagatedBuildInputs;
+
+       phases = [ "installPhase" ];
+
+       installPhase = ''
+         mkdir -p "$out"/${path}
+         for e in OCAMLPATH CAML_LD_LIBRARY_PATH; do
+           printf %s "''${!e}" > "$out"/${path}/$e
+         done
+       '';
+     };
+
+     get = key: ''$(cat "${runtime}/${path}/${key}")'';
+   in ''
+   for prog in "$out"/bin/*
    do
-    mv $prog .$prog-wrapped
-    cat > $prog <<EOF
-#!/bin/sh
-export CAML_LD_LIBRARY_PATH=${p ocaml_lwt}/lwt:${p lambdaTerm}/lambda-term:'\$CAML_LD_LIBRARY_PATH'
-export OCAMLPATH=${p ocaml_lwt}:${p ocaml_react}:${p camomile}:${p zed}:${p lambdaTerm}:"$out"/lib/ocaml/${ocaml.version}/site-lib:'\$OCAMLPATH'
-${ocaml}/bin/ocamlrun $out/bin/.$prog-wrapped \$*
-EOF
-    chmod +x $prog
+
+    # Note: wrapProgram by default calls 'exec -a $0 ...', but this
+    # breaks utop on Linux with OCaml 4.04, and is disabled with
+    # '--argv0 ""' flag. See https://github.com/NixOS/nixpkgs/issues/24496
+    wrapProgram "$prog" \
+      --argv0 "" \
+      --prefix CAML_LD_LIBRARY_PATH ":" "${get "CAML_LD_LIBRARY_PATH"}" \
+      --prefix OCAMLPATH ":" "${get "OCAMLPATH"}" \
+      --prefix OCAMLPATH ":" $(unset OCAMLPATH; addOCamlPath "$out"; printf %s "$OCAMLPATH")
+
    done
-   popd
    '';
 
   meta = {
diff --git a/pkgs/development/tools/parsing/antlr/3.4.nix b/pkgs/development/tools/parsing/antlr/3.4.nix
index a92e8aa7251..e6765806e4f 100644
--- a/pkgs/development/tools/parsing/antlr/3.4.nix
+++ b/pkgs/development/tools/parsing/antlr/3.4.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
       walk parse trees.
     '';
     homepage = http://www.antlr.org/;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/tools/parsing/byacc/default.nix b/pkgs/development/tools/parsing/byacc/default.nix
index fdfac484bf1..c34eb9fc708 100644
--- a/pkgs/development/tools/parsing/byacc/default.nix
+++ b/pkgs/development/tools/parsing/byacc/default.nix
@@ -1,17 +1,23 @@
 { stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "byacc-1.9";
+stdenv.mkDerivation rec {
+  name = "byacc-${version}";
+  version = "20170201";
 
   src = fetchurl {
-    url = ftp://invisible-island.net/byacc/byacc-20140715.tgz;
-    sha256 = "1rbzx5ipkvih9rjfdfv6310wcr6mxjbdlsh9zcv5aaz6yxxxil7c";
+    urls = [
+      "ftp://invisible-island.net/byacc/${name}.tgz"
+      "http://invisible-mirror.net/archives/byacc/${name}.tgz"
+    ];
+    sha256 = "90b768d177f91204e6e7cef226ae1dc7cac831b625774cebd3e233a917754f91";
   };
 
-  meta = {
+  doCheck = true;
+
+  meta = with stdenv.lib; {
     description = "Berkeley YACC";
-    homepage = http://dickey.his.com/byacc/byacc.html;
-    license = stdenv.lib.licenses.publicDomain;
-    platforms = stdenv.lib.platforms.unix;
+    homepage = http://invisible-island.net/byacc/byacc.html;
+    license = licenses.publicDomain;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/rust/bindgen/default.nix b/pkgs/development/tools/rust/bindgen/default.nix
index 232be1fea38..4a4738e069c 100644
--- a/pkgs/development/tools/rust/bindgen/default.nix
+++ b/pkgs/development/tools/rust/bindgen/default.nix
@@ -4,13 +4,13 @@
 
 rustPlatform.buildRustPackage rec {
   name = "rust-bindgen-${version}";
-  version = "0.22.1";
+  version = "0.23.0";
 
   src = fetchFromGitHub {
     owner = "servo";
     repo = "rust-bindgen";
     rev = "v${version}";
-    sha256 = "10cavj6rrbdqi4ldfmhxy6xxp0q65pxiypdgq2ckz0c37g04qqqs";
+    sha256 = "1cr7wgb13pavjpv2glq02wf5sqigcl1k0qgf3cqi9c5mjca2cg5y";
   };
 
   buildInputs = [ llvmPackages.clang-unwrapped ];
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
     export LIBCLANG_PATH="${llvmPackages.clang-unwrapped}/lib"
   '';
 
-  depsSha256 = "1gvva6f64ndzsswv1a7c31wym12yp4cg1la4zjwlzkrx62kgyk8x";
+  depsSha256 = "1qrnd9a73vxr7572byjjlhwbax3z4slc7qmwjx3aiwjix3r250dh";
 
   doCheck = false; # A test fails because it can't find standard headers in NixOS
 
diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix
index 770eb9cc78b..ff2d48e1a6e 100644
--- a/pkgs/development/tools/yarn/default.nix
+++ b/pkgs/development/tools/yarn/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "yarn-${version}";
-  version = "0.22.0";
+  version = "0.23.2";
 
   src = fetchzip {
     url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz";
-    sha256 = "1hs4fqjj9rg47ipcagpdk3grh7aa0ls3vsxq4q20d5hb43s9n5gs";
+    sha256 = "06vqi78q1wsybr4nsh8xjnqmjynljmb36h21j2ffmni1adxf4syq";
   };
 
   buildInputs = [makeWrapper nodejs];