summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/libraries/atk/default.nix2
-rw-r--r--pkgs/development/libraries/dyncall/default.nix22
-rw-r--r--pkgs/development/libraries/gtksourceview/3.x.nix6
-rw-r--r--pkgs/development/libraries/libite/default.nix4
-rw-r--r--pkgs/development/libraries/libmediainfo/default.nix4
-rw-r--r--pkgs/development/libraries/libvterm-neovim/default.nix33
-rw-r--r--pkgs/development/libraries/mlt/qt-5.nix4
-rw-r--r--pkgs/development/node-packages/default-v6.nix1
-rw-r--r--pkgs/development/node-packages/default-v8.nix1
-rw-r--r--pkgs/development/python-modules/ipython/5.nix4
-rw-r--r--pkgs/development/python-modules/uproot/default.nix22
-rw-r--r--pkgs/development/tools/fac/default.nix17
-rw-r--r--pkgs/development/tools/fac/deps.nix66
-rw-r--r--pkgs/development/tools/jbake/default.nix6
-rw-r--r--pkgs/development/tools/profiling/sysprof/configure.patch17
-rw-r--r--pkgs/development/tools/profiling/sysprof/default.nix55
-rw-r--r--pkgs/development/tools/sass/Gemfile.lock12
-rw-r--r--pkgs/development/tools/sass/default.nix11
-rw-r--r--pkgs/development/tools/sass/gemset.nix39
-rw-r--r--pkgs/development/tools/watchman/default.nix6
20 files changed, 267 insertions, 65 deletions
diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix
index 63fd7a4986f9..813f8c3c9640 100644
--- a/pkgs/development/libraries/atk/default.nix
+++ b/pkgs/development/libraries/atk/default.nix
@@ -34,8 +34,6 @@ stdenv.mkDerivation rec {
     glib
   ];
 
-  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
-
   doCheck = true;
 
   passthru = {
diff --git a/pkgs/development/libraries/dyncall/default.nix b/pkgs/development/libraries/dyncall/default.nix
new file mode 100644
index 000000000000..b60f61299f32
--- /dev/null
+++ b/pkgs/development/libraries/dyncall/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "dyncall-${version}";
+  version = "1.0";
+
+  src = fetchurl {
+    url = http://www.dyncall.org/r1.0/dyncall-1.0.tar.gz;
+    # http://www.dyncall.org/r1.0/SHA256
+    sha256 = "d1b6d9753d67dcd4d9ea0708ed4a3018fb5bfc1eca5f37537fba2bc4f90748f2";
+  };
+
+  doCheck = true;
+  checkTarget = "run-tests";
+
+  meta = with stdenv.lib; {
+    description = "Highly dynamic multi-platform foreign function call interface library";
+    homepage = http://dyncall.org;
+    license = licenses.isc;
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/pkgs/development/libraries/gtksourceview/3.x.nix b/pkgs/development/libraries/gtksourceview/3.x.nix
index 673eb1e52c44..fe81c97ab6eb 100644
--- a/pkgs/development/libraries/gtksourceview/3.x.nix
+++ b/pkgs/development/libraries/gtksourceview/3.x.nix
@@ -21,10 +21,10 @@ in stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig intltool gettext perl gobjectIntrospection vala_0_40 ]
+  nativeBuildInputs = [ pkgconfig intltool perl gobjectIntrospection vala_0_40 ]
     ++ stdenv.lib.optionals doCheck checkInputs;
 
-  buildInputs = [ atk cairo glib pango libxml2 ];
+  buildInputs = [ atk cairo glib pango libxml2 gettext ];
 
   preBuild = ''
     substituteInPlace gtksourceview/gtksourceview-utils.c --replace "@NIX_SHARE_PATH@" "$out/share"
@@ -32,8 +32,6 @@ in stdenv.mkDerivation rec {
 
   patches = [ ./3.x-nix_share_path.patch ];
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
   enableParallelBuilding = true;
 
   doCheck = stdenv.isLinux;
diff --git a/pkgs/development/libraries/libite/default.nix b/pkgs/development/libraries/libite/default.nix
index 51a7ab4851c3..7580c1b092e2 100644
--- a/pkgs/development/libraries/libite/default.nix
+++ b/pkgs/development/libraries/libite/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libite-${version}";
-  version = "2.0.1";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner = "troglobit";
     repo = "libite";
     rev = "v${version}";
-    sha256 = "07zypi3f02ygl7h5yc9sy136iiwgdi3r3nkjai9bq4gzjmzsvyl9";
+    sha256 = "0qk7231c1xwvjhkc9w7hasvafvgns10cx9kdhfdbc4r1hsh6d1ca";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix
index 8c204ba4006f..3ba513f90781 100644
--- a/pkgs/development/libraries/libmediainfo/default.nix
+++ b/pkgs/development/libraries/libmediainfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "18.03.1";
+  version = "18.05";
   name = "libmediainfo-${version}";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz";
-    sha256 = "183gcb6h81blgvssfl5lxsv8h5izkgg6b86z0jy9g699adgkchq2";
+    sha256 = "08ajrmbvqn2cvfq3jjdh64lma77kx4di5vg632c6bmbir89rcxbn";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/libvterm-neovim/default.nix b/pkgs/development/libraries/libvterm-neovim/default.nix
new file mode 100644
index 000000000000..4e0e87c19a97
--- /dev/null
+++ b/pkgs/development/libraries/libvterm-neovim/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, fetchFromGitHub
+, perl
+, libtool
+}:
+
+stdenv.mkDerivation rec {
+  name = "neovim-libvterm-${version}";
+  version = "2017-11-05";
+
+  src = fetchFromGitHub {
+    owner = "neovim";
+    repo = "libvterm";
+    rev = "4ca7ebf7d25856e90bc9d9cc49412e80be7c4ea8";
+    sha256 = "05kyvvz8af90mvig11ya5xd8f4mbvapwyclyrihm9lwas706lzf6";
+  };
+
+  buildInputs = [ perl ];
+  nativeBuildInputs = [ libtool ];
+
+  makeFlags = [ "PREFIX=$(out)" ]
+    ++ stdenv.lib.optional stdenv.isDarwin "LIBTOOL=${libtool}/bin/libtool";
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "VT220/xterm/ECMA-48 terminal emulator library";
+    homepage = http://www.leonerd.org.uk/code/libvterm/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ garbas ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/mlt/qt-5.nix b/pkgs/development/libraries/mlt/qt-5.nix
index 27f7cf31cbf2..96b21601ccae 100644
--- a/pkgs/development/libraries/mlt/qt-5.nix
+++ b/pkgs/development/libraries/mlt/qt-5.nix
@@ -7,13 +7,13 @@ let inherit (stdenv.lib) getDev; in
 
 stdenv.mkDerivation rec {
   name = "mlt-${version}";
-  version = "6.6.0";
+  version = "6.8.0";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "mlt";
     rev = "v${version}";
-    sha256 = "0b2fq0819r7n141l6hhr66hpayqqcmjr2yxw9azxkapg1h0div6q";
+    sha256 = "0hmxlz3i9yasw5jdkrczak8shzlnpi1acaahn50lvgg9b14kg7b8";
   };
 
   buildInputs = [
diff --git a/pkgs/development/node-packages/default-v6.nix b/pkgs/development/node-packages/default-v6.nix
index 2be09eb16324..97f759ef0cbe 100644
--- a/pkgs/development/node-packages/default-v6.nix
+++ b/pkgs/development/node-packages/default-v6.nix
@@ -59,6 +59,7 @@ nodePackages // {
 
   ios-deploy = nodePackages.ios-deploy.override (oldAttrs: {
     preRebuild = ''
+      LD=$CC
       tmp=$(mktemp -d)
       ln -s /usr/bin/xcodebuild $tmp
       export PATH="$PATH:$tmp"
diff --git a/pkgs/development/node-packages/default-v8.nix b/pkgs/development/node-packages/default-v8.nix
index ed0477a639a7..701648da2280 100644
--- a/pkgs/development/node-packages/default-v8.nix
+++ b/pkgs/development/node-packages/default-v8.nix
@@ -59,6 +59,7 @@ nodePackages // {
 
   ios-deploy = nodePackages.ios-deploy.override (oldAttrs: {
     preRebuild = ''
+      LD=$CC
       tmp=$(mktemp -d)
       ln -s /usr/bin/xcodebuild $tmp
       export PATH="$PATH:$tmp"
diff --git a/pkgs/development/python-modules/ipython/5.nix b/pkgs/development/python-modules/ipython/5.nix
index 083c1f3b08dd..a91988bd97d0 100644
--- a/pkgs/development/python-modules/ipython/5.nix
+++ b/pkgs/development/python-modules/ipython/5.nix
@@ -27,11 +27,11 @@
 
 buildPythonPackage rec {
   pname = "ipython";
-  version = "5.6.0";
+  version = "5.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00g696r9rk1c4p3sycnv7by55cp9mm7r6zkkdqbiw9l0mk8k58wb";
+    sha256 = "0g1jm06qriq48m58311cs7askp83ipq3yq96hv4kg431nxzkmd4d";
   };
 
   prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/python-modules/uproot/default.nix b/pkgs/development/python-modules/uproot/default.nix
new file mode 100644
index 000000000000..e58bbde1353f
--- /dev/null
+++ b/pkgs/development/python-modules/uproot/default.nix
@@ -0,0 +1,22 @@
+{lib, fetchPypi, buildPythonPackage, numpy}:
+
+buildPythonPackage rec {
+  pname = "uproot";
+  version = "2.8.23";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "121ggyl5s0q66yrbdfznvzrc793zq1w2xnr3baadlzfvqdlkhgj7";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  meta = with lib; {
+    homepage = https://github.com/scikit-hep/uproot;
+    description = "ROOT I/O in pure Python and Numpy";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ktf ];
+  };
+}
diff --git a/pkgs/development/tools/fac/default.nix b/pkgs/development/tools/fac/default.nix
index c587505600c9..0fae9fad5d14 100644
--- a/pkgs/development/tools/fac/default.nix
+++ b/pkgs/development/tools/fac/default.nix
@@ -1,14 +1,8 @@
 { stdenv, buildGoPackage, fetchFromGitHub, fetchurl, makeWrapper, git }:
 
-let
-  # TODO: Remove this on next update, should be included
-  fac_1 = fetchurl {
-    url = https://raw.githubusercontent.com/mkchoi212/fac/0a500c2a2dba9017fe7c2a45f15c328755f561a6/doc/fac.1;
-    sha256 = "1fsyx9i20ryhpihdpvs2z7vccl13b9bnh5hcdxn7bvqjz78mbqhw";
-  };
-in buildGoPackage rec {
+buildGoPackage rec {
   name = "fac-${version}";
-  version = "1.0.4";
+  version = "1.1.0";
 
   goPackagePath = "github.com/mkchoi212/fac";
 
@@ -16,16 +10,19 @@ in buildGoPackage rec {
     owner = "mkchoi212";
     repo = "fac";
     rev = "v${version}";
-    sha256 = "0jhx80jbkxfxj95hmdpb9wwwya064xpfkaa218l1lwm3qwfbpk95";
+    sha256 = "054j8yrblf1frcfn3dwrjbgf000i3ngbaz2c172nwbx75g309ihx";
   };
 
+  goDeps = ./deps.nix;
+
   nativeBuildInputs = [ makeWrapper ];
 
   postInstall = ''
     wrapProgram $bin/bin/fac \
       --prefix PATH : ${git}/bin
 
-    install -D ${fac_1} $out/share/man/man1/fac.1
+    # Install man page, not installed by default
+    install -D go/src/${goPackagePath}/assets/doc/fac.1 $out/share/man/man1/fac.1
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/fac/deps.nix b/pkgs/development/tools/fac/deps.nix
new file mode 100644
index 000000000000..65ec5ded5ad5
--- /dev/null
+++ b/pkgs/development/tools/fac/deps.nix
@@ -0,0 +1,66 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+  {
+    goPackagePath  = "github.com/alecthomas/chroma";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/chroma";
+      rev =  "1b755a90bd109f170385cb3964f0abdfd3451145";
+      sha256 = "1ilmavg291qhb0xq881f5h172zw40aaynqfb0y4yjyq13jnrf8p8";
+    };
+  }
+  {
+    goPackagePath  = "github.com/danwakefield/fnmatch";
+    fetch = {
+      type = "git";
+      url = "https://github.com/danwakefield/fnmatch";
+      rev =  "cbb64ac3d964b81592e64f957ad53df015803288";
+      sha256 = "0cbf511ppsa6hf59mdl7nbyn2b2n71y0bpkzbmfkdqjhanqh1lqz";
+    };
+  }
+  {
+    goPackagePath  = "github.com/dlclark/regexp2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dlclark/regexp2";
+      rev =  "7632a260cbaf5e7594fc1544a503456ecd0827f1";
+      sha256 = "0vhp5r0ywv9p1c74fm8xzclnwx2mg9f0764b3id7a9nwh0plisx2";
+    };
+  }
+  {
+    goPackagePath  = "github.com/jroimartin/gocui";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jroimartin/gocui";
+      rev =  "c055c87ae801372cd74a0839b972db4f7697ae5f";
+      sha256 = "1b1cbjg925l1c5v3ls8amni9716190yzf847cqs9wjnj82z8qa47";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev =  "ce7b0b5c7b45a81508558cd1dba6bb1e4ddb51bb";
+      sha256 = "0lc39b6xrxv7h3v3y1kgz49cgi5qxwlygs715aam6ba35m48yi7g";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mkchoi212/fac";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mkchoi212/fac";
+      rev =  "642a3ad8d8b4b76c7eb201e6f69b3bddb210c502";
+      sha256 = "10rsmnixs3lybnj4xv09b2ya6x0hjjd03y148f78qfppyz2hsvaz";
+    };
+  }
+  {
+    goPackagePath  = "github.com/nsf/termbox-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nsf/termbox-go";
+      rev =  "21a4d435a86280a2927985fd6296de56cbce453e";
+      sha256 = "0afbb0nr9rqzlpg5n7dg070w5scdvckyzyy525mhndp8phhzwpg7";
+    };
+  }
+]
\ No newline at end of file
diff --git a/pkgs/development/tools/jbake/default.nix b/pkgs/development/tools/jbake/default.nix
index f4fb1b5a9e9c..152cddc101d6 100644
--- a/pkgs/development/tools/jbake/default.nix
+++ b/pkgs/development/tools/jbake/default.nix
@@ -17,6 +17,12 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/jbake --set JAVA_HOME "${jre}"
   '';
 
+  checkPhase = ''
+    export JAVA_HOME=${jre}
+    bin/jbake | grep -q "${version}" || (echo "jbake did not return correct version"; exit 1)
+  '';
+  doCheck = true;
+
   meta = with stdenv.lib; {
     description = "JBake is a Java based, open source, static site/blog generator for developers & designers";
     homepage = "https://jbake.org/";
diff --git a/pkgs/development/tools/profiling/sysprof/configure.patch b/pkgs/development/tools/profiling/sysprof/configure.patch
deleted file mode 100644
index 212840ee4064..000000000000
--- a/pkgs/development/tools/profiling/sysprof/configure.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- sysprof-1.0.10/configure	2008-04-28 01:41:25.000000000 +0200
-+++ sysprof-1.0.10/configure	2008-06-07 15:40:07.000000000 +0200
-@@ -3342,14 +3342,6 @@ if test $kernel_module = "yes"; then
-      echo \*
-      exit 1
-   fi
--
--  if  ! test -f /lib/modules/`uname -r`/build/Makefile  ; then
--     echo \*
--     echo \* Sysprof requires the kernel source code to be installed.
--     echo \* On a Fedora Core system the relevant package is kernel-devel
--     echo \*
--     exit 1
--  fi
- fi
- 
- # Pkgconfig dependencies
diff --git a/pkgs/development/tools/profiling/sysprof/default.nix b/pkgs/development/tools/profiling/sysprof/default.nix
index a2ea3444db60..f28fe187e6cf 100644
--- a/pkgs/development/tools/profiling/sysprof/default.nix
+++ b/pkgs/development/tools/profiling/sysprof/default.nix
@@ -1,24 +1,53 @@
 { stdenv
-, fetchurl, pkgconfig
-, gtk2, glib, pango, libglade
+, desktop-file-utils
+, fetchurl
+, gettext
+, glib
+, gtk3
+, itstool
+, libxml2
+, meson, ninja
+, pango
+, pkgconfig
+, polkit
+, shared-mime-info
+, systemd
+, wrapGAppsHook
+, gnome3
 }:
+let
+  version = "3.28.1";
+  pname = "sysprof";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
-stdenv.mkDerivation rec {
-  name = "sysprof-1.2.0";
+  outputs = [ "out" "lib" "dev" ];
 
   src = fetchurl {
-    url = "http://www.sysprof.com/sysprof-1.2.0.tar.gz";
-    sha256 = "1wb4d844rsy8qjg3z5m6rnfm72da4xwzrrkkb1q5r10sq1pkrw5s";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+    sha256 = "05534dvwrzrmryb4y2m1sb2q0r8i6nr88pzjg7xs5nr9zq8a87p3";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 glib pango libglade ];
+  nativeBuildInputs = [ desktop-file-utils gettext itstool libxml2 meson ninja pkgconfig shared-mime-info wrapGAppsHook ];
+  buildInputs = [ glib gtk3 pango polkit systemd.dev systemd.lib ];
 
-  meta = {
-    homepage = http://sysprof.com/;
-    description = "System-wide profiler for Linux";
-    license = stdenv.lib.licenses.gpl2Plus;
+  mesonFlags = [
+    "-Dsystemdunitdir=lib/systemd/system"
+  ];
+
+  postInstall = ''
+    rm $out/share/applications/mimeinfo.cache
+  '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "System-wide profiler for Linux";
+    homepage = https://wiki.gnome.org/Apps/Sysprof;
     longDescription = ''
       Sysprof is a sampling CPU profiler for Linux that uses the perf_event_open
       system call to profile the entire system, not just a single
@@ -26,6 +55,8 @@ stdenv.mkDerivation rec {
       do not need to be recompiled.  In fact they don't even have to
       be restarted.
     '';
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/sass/Gemfile.lock b/pkgs/development/tools/sass/Gemfile.lock
index 82dcddb9ece1..ecd1404e3398 100644
--- a/pkgs/development/tools/sass/Gemfile.lock
+++ b/pkgs/development/tools/sass/Gemfile.lock
@@ -1,7 +1,15 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    sass (3.4.22)
+    ffi (1.9.23)
+    rb-fsevent (0.10.3)
+    rb-inotify (0.9.10)
+      ffi (>= 0.5.0, < 2)
+    sass (3.5.6)
+      sass-listen (~> 4.0.0)
+    sass-listen (4.0.0)
+      rb-fsevent (~> 0.9, >= 0.9.4)
+      rb-inotify (~> 0.9, >= 0.9.7)
 
 PLATFORMS
   ruby
@@ -10,4 +18,4 @@ DEPENDENCIES
   sass
 
 BUNDLED WITH
-   1.11.2
+   1.14.6
diff --git a/pkgs/development/tools/sass/default.nix b/pkgs/development/tools/sass/default.nix
index cfeb3ccc0f9d..96354acaec48 100644
--- a/pkgs/development/tools/sass/default.nix
+++ b/pkgs/development/tools/sass/default.nix
@@ -1,14 +1,13 @@
-{ lib, bundlerEnv, ruby }:
+{ lib, bundlerApp }:
 
-bundlerEnv {
-  name = "sass-3.4.22";
-
-  inherit ruby;
+bundlerApp {
+  pname = "sass";
   gemdir = ./.;
+  exes = [ "sass" "sass-convert" "scss" ];
 
   meta = with lib; {
     description = "Tools and Ruby libraries for the CSS3 extension languages: Sass and SCSS";
-    homepage    = http://sass-lang.com/;
+    homepage    = https://sass-lang.com;
     license     = licenses.mit;
     maintainers = [ maintainers.romildo ];
     platforms   = platforms.unix;
diff --git a/pkgs/development/tools/sass/gemset.nix b/pkgs/development/tools/sass/gemset.nix
index 31e4e6ab6d37..bd25281f14fc 100644
--- a/pkgs/development/tools/sass/gemset.nix
+++ b/pkgs/development/tools/sass/gemset.nix
@@ -1,10 +1,45 @@
 {
+  ffi = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0zw6pbyvmj8wafdc7l5h7w20zkp1vbr2805ql5d941g2b20pk4zr";
+      type = "gem";
+    };
+    version = "1.9.23";
+  };
+  rb-fsevent = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8";
+      type = "gem";
+    };
+    version = "0.10.3";
+  };
+  rb-inotify = {
+    dependencies = ["ffi"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71";
+      type = "gem";
+    };
+    version = "0.9.10";
+  };
   sass = {
+    dependencies = ["sass-listen"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19wyzp9qsg8hdkkxlsv713w0qmy66qrdp0shj42587ssx4qhrlag";
+      type = "gem";
+    };
+    version = "3.5.6";
+  };
+  sass-listen = {
+    dependencies = ["rb-fsevent" "rb-inotify"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dkj6v26fkg1g0majqswwmhxva7cd6p3psrhdlx93qal72dssywy";
+      sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df";
       type = "gem";
     };
-    version = "3.4.22";
+    version = "4.0.0";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/tools/watchman/default.nix b/pkgs/development/tools/watchman/default.nix
index 15f265e31e3f..b349ecf61e13 100644
--- a/pkgs/development/tools/watchman/default.nix
+++ b/pkgs/development/tools/watchman/default.nix
@@ -1,6 +1,7 @@
 { stdenv, lib, config, fetchFromGitHub, autoconf, automake, pcre,
   libtool, pkgconfig, openssl,
-  confFile ? config.watchman.confFile or null
+  confFile ? config.watchman.confFile or null,
+  withApple ? stdenv.isDarwin, CoreServices, CoreFoundation
 }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +16,8 @@ stdenv.mkDerivation rec {
     sha256 = "0fdaj5pmicm6j17d5q7px800m5rmam1a400x3hv1iiifnmhgnkal";
   };
 
-  buildInputs = [ pcre openssl ];
+  buildInputs = [ pcre openssl ]
+               ++ lib.optionals withApple [ CoreFoundation CoreServices ];
   nativeBuildInputs = [ autoconf automake pkgconfig libtool ];
 
   configureFlags = [