summary refs log tree commit diff
path: root/pkgs/development/libraries/cairo
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2013-03-17 11:28:28 +0100
committerVladimír Čunát <vcunat@gmail.com>2013-03-17 11:28:28 +0100
commitb1eeae8cacf4e32f25781f9835312b545365468d (patch)
treeb241b3c5394d6f62909296cd36c49924f0fef627 /pkgs/development/libraries/cairo
parent516133a4fd078514f54dcd00c5b56f641e7bb9dc (diff)
parent8acaea6d5717866133ad00e3f6f05ef7b84be176 (diff)
downloadnixlib-b1eeae8cacf4e32f25781f9835312b545365468d.tar
nixlib-b1eeae8cacf4e32f25781f9835312b545365468d.tar.gz
nixlib-b1eeae8cacf4e32f25781f9835312b545365468d.tar.bz2
nixlib-b1eeae8cacf4e32f25781f9835312b545365468d.tar.lz
nixlib-b1eeae8cacf4e32f25781f9835312b545365468d.tar.xz
nixlib-b1eeae8cacf4e32f25781f9835312b545365468d.tar.zst
nixlib-b1eeae8cacf4e32f25781f9835312b545365468d.zip
Merge branch 'master' into x-updates
Conflicts (easy):
	pkgs/desktops/xfce/core/xfdesktop.nix
	pkgs/development/libraries/cairo/default.nix
	pkgs/development/libraries/pango/default.nix
Diffstat (limited to 'pkgs/development/libraries/cairo')
-rw-r--r--pkgs/development/libraries/cairo/1.12.2.nix85
-rw-r--r--pkgs/development/libraries/cairo/default.nix3
2 files changed, 87 insertions, 1 deletions
diff --git a/pkgs/development/libraries/cairo/1.12.2.nix b/pkgs/development/libraries/cairo/1.12.2.nix
new file mode 100644
index 000000000000..254998b6e7a1
--- /dev/null
+++ b/pkgs/development/libraries/cairo/1.12.2.nix
@@ -0,0 +1,85 @@
+{ postscriptSupport ? true
+, pdfSupport ? true
+, pngSupport ? true
+, xcbSupport ? false
+, gobjectSupport ? true, glib
+, stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype, xlibs
+, zlib, libpng, pixman, libxcb ? null, xcbutil ? null
+, gettext, libiconvOrEmpty
+}:
+
+assert postscriptSupport -> zlib != null;
+assert pngSupport -> libpng != null;
+assert xcbSupport -> libxcb != null && xcbutil != null;
+
+stdenv.mkDerivation rec {
+  name = "cairo-1.12.2";
+
+  src = fetchurl {
+    url = "http://cairographics.org/releases/${name}.tar.xz";
+    sha1 = "bc2ee50690575f16dab33af42a2e6cdc6451e3f9";
+  };
+
+  buildInputs =
+    [ pkgconfig x11 fontconfig xlibs.libXrender ]
+    ++ stdenv.lib.optionals xcbSupport [ libxcb xcbutil ]
+
+    # On non-GNU systems we need GNU Gettext for libintl.
+    ++ stdenv.lib.optional (!stdenv.isLinux) gettext
+
+    ++ libiconvOrEmpty;
+
+  propagatedBuildInputs =
+    [ freetype pixman ] ++
+    stdenv.lib.optional gobjectSupport glib ++
+    stdenv.lib.optional postscriptSupport zlib ++
+    stdenv.lib.optional pngSupport libpng;
+
+  configureFlags =
+    [ "--enable-tee" ]
+    ++ stdenv.lib.optional xcbSupport "--enable-xcb"
+    ++ 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'
+  ''
+
+  # On FreeBSD, `-ldl' doesn't exist.
+  + (stdenv.lib.optionalString stdenv.isFreeBSD
+       '' for i in "util/"*"/Makefile.in" boilerplate/Makefile.in
+          do
+            cat "$i" | sed -es/-ldl//g > t
+            mv t "$i"
+          done
+       '');
+
+  enableParallelBuilding = true;
+
+  # The default `--disable-gtk-doc' is ignored.
+  postInstall = "rm -rf $out/share/gtk-doc";
+
+  meta = {
+    description = "A 2D graphics library with support for multiple output devices";
+
+    longDescription = ''
+      Cairo is a 2D graphics library with support for multiple output
+      devices.  Currently supported output targets include the X
+      Window System, Quartz, Win32, image buffers, PostScript, PDF,
+      and SVG file output.  Experimental backends include OpenGL
+      (through glitz), XCB, BeOS, OS/2, and DirectFB.
+
+      Cairo is designed to produce consistent output on all output
+      media while taking advantage of display hardware acceleration
+      when available (e.g., through the X Render Extension).
+    '';
+
+    homepage = http://cairographics.org/;
+
+    licenses = [ "LGPLv2+" "MPLv1" ];
+
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index 24d3bf5d3a6e..0f49c656d8e8 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -24,7 +24,8 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = with xlibs;
-    [ pkgconfig x11 fontconfig libXrender expat ]
+    [ pkgconfig x11 fontconfig expat ]
+    ++ stdenv.lib.optional (!stdenv.isDarwin) libXrender
     ++ stdenv.lib.optionals xcbSupport [ libxcb xcbutil ]
     ++ stdenv.lib.optionals glSupport [ mesa ]