summary refs log tree commit diff
path: root/pkgs/development/libraries/cairo/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/cairo/default.nix')
-rw-r--r--pkgs/development/libraries/cairo/default.nix21
1 files changed, 8 insertions, 13 deletions
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index 4a4810cbbe3..24d3bf5d3a6 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -1,10 +1,11 @@
 { postscriptSupport ? true
 , pdfSupport ? true
 , pngSupport ? true
-, xcbSupport ? false
+, xcbSupport ? true # no longer experimental since 1.12
 , glSupport ? false
 , gobjectSupport ? true, glib
 , stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype, xlibs
+, expat
 , zlib, libpng, pixman, libxcb ? null, xcbutil ? null, mesa ? null
 , gettext, libiconvOrEmpty
 }:
@@ -15,15 +16,15 @@ assert xcbSupport -> libxcb != null && xcbutil != null;
 assert glSupport -> mesa != null;
 
 stdenv.mkDerivation rec {
-  name = "cairo-1.12.4";
+  name = "cairo-1.12.14";
 
   src = fetchurl {
     url = "http://cairographics.org/releases/${name}.tar.xz";
-    sha1 = "f4158981ed01e73c94fb8072074b17feee61a68b";
+    sha256 = "04xcykglff58ygs0dkrmmnqljmpjwp2qgwcz8sijqkdpz7ix3l4n";
   };
 
-  buildInputs =
-    [ pkgconfig x11 fontconfig xlibs.libXrender ]
+  buildInputs = with xlibs;
+    [ pkgconfig x11 fontconfig libXrender expat ]
     ++ stdenv.lib.optionals xcbSupport [ libxcb xcbutil ]
     ++ stdenv.lib.optionals glSupport [ mesa ]
 
@@ -44,15 +45,9 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional glSupport "--enable-gl"
     ++ stdenv.lib.optional pdfSupport "--enable-pdf";
 
-  preConfigure = ''
-    # Work around broken `Requires.private' that prevents Freetype
-    # `-I' flags to be propagated.
-    sed -i "src/cairo.pc.in" \
-        -es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype}/include/freetype2 -I${freetype}/include|g'
-  ''
-
+  preConfigure =
   # On FreeBSD, `-ldl' doesn't exist.
-  + (stdenv.lib.optionalString stdenv.isFreeBSD
+    (stdenv.lib.optionalString stdenv.isFreeBSD
        '' for i in "util/"*"/Makefile.in" boilerplate/Makefile.in
           do
             cat "$i" | sed -es/-ldl//g > t