about summary refs log tree commit diff
path: root/pkgs/development/libraries/harfbuzz/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/harfbuzz/default.nix')
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix27
1 files changed, 19 insertions, 8 deletions
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 1202ab5825d7..8340660e3923 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -1,25 +1,36 @@
-{ stdenv, fetchurl, pkgconfig, glib, freetype,
-  icu ? null, graphite2 ? null, libintlOrEmpty }:
+{ stdenv, fetchurl, pkgconfig, glib, freetype, cairo, libintlOrEmpty
+, icu, graphite2
+, withIcu ? false # recommended by upstream as default, but most don't needed and it's big
+, withGraphite2 ? true # it is small and major distros do include it
+}:
+
+# TODO: split non-icu and icu lib into different outputs?
+# (icu is a ~30 MB dependency, the rest is very small in comparison)
 
 stdenv.mkDerivation rec {
-  name = "harfbuzz-0.9.12";
+  name = "harfbuzz-0.9.33";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2";
-    sha256 = "19cx5y2m20rp7z5j7mwqfb4ph2g8lrri69zim44x362y4w5gfly6";
+    sha256 = "1iql2ghlndqgx9q6p098xf253rjz5rnrv5qniwgd1b5q0jzwa4yk";
   };
 
-  buildInputs = [ pkgconfig glib freetype ]
+  configureFlags = [
+    ( "--with-graphite2=" + (if withGraphite2 then "yes" else "no") ) # not auto-detected by default
+    ( "--with-icu=" +       (if withIcu       then "yes" else "no") )
+  ];
+
+  buildInputs = [ pkgconfig glib freetype cairo ] # recommended by upstream
     ++ libintlOrEmpty;
   propagatedBuildInputs = []
-    ++ (stdenv.lib.optionals (icu != null) [icu])
-    ++ (stdenv.lib.optionals (graphite2 != null) [graphite2])
+    ++ stdenv.lib.optional withGraphite2 graphite2
+    ++ stdenv.lib.optional withIcu icu
     ;
 
   meta = {
     description = "An OpenType text shaping engine";
     homepage = http://www.freedesktop.org/wiki/Software/HarfBuzz;
     maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }