summaryrefslogtreecommitdiff
path: root/graphics/cairo
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2008-08-25 15:36:18 +0000
committerjoerg <joerg@pkgsrc.org>2008-08-25 15:36:18 +0000
commit7c15ccf613cdce453b2f7a667282bdb1c8631bc6 (patch)
treefe3dfbbf42ef408d88af5837abbb871fecfcc473 /graphics/cairo
parenta2c26cad6f2517c31e702ab493e33ec3cf2a4887 (diff)
downloadpkgsrc-7c15ccf613cdce453b2f7a667282bdb1c8631bc6.tar.gz
Fix png backend with libpng 1.2.30. Older libpng versions flushed the
output at the end of the write and this was restored with 1.2.30, but cairo didn't override the flush function, resulting in fflush on a non-stream. This in turn resulted in crashes of graphviz when compiling doxygen. Bump revision.
Diffstat (limited to 'graphics/cairo')
-rw-r--r--graphics/cairo/Makefile4
-rw-r--r--graphics/cairo/distinfo3
-rw-r--r--graphics/cairo/patches/patch-ad27
3 files changed, 31 insertions, 3 deletions
diff --git a/graphics/cairo/Makefile b/graphics/cairo/Makefile
index a4f2bf3afa7..ce3fec87019 100644
--- a/graphics/cairo/Makefile
+++ b/graphics/cairo/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.65 2008/06/23 16:15:43 joerg Exp $
+# $NetBSD: Makefile,v 1.66 2008/08/25 15:36:18 joerg Exp $
DISTNAME= cairo-1.6.4
-PKGREVISION= 2
+PKGREVISION= 3
CATEGORIES= graphics
MASTER_SITES= http://cairographics.org/releases/
diff --git a/graphics/cairo/distinfo b/graphics/cairo/distinfo
index 9e0763bed04..609eca5ba43 100644
--- a/graphics/cairo/distinfo
+++ b/graphics/cairo/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.42 2008/05/14 15:26:14 obache Exp $
+$NetBSD: distinfo,v 1.43 2008/08/25 15:36:18 joerg Exp $
SHA1 (cairo-1.6.4.tar.gz) = 9d990fe39a125ceb07221623c237cd7015855d5c
RMD160 (cairo-1.6.4.tar.gz) = ccae736a40d985b72bda7c2f0a98a0838020658e
@@ -6,3 +6,4 @@ Size (cairo-1.6.4.tar.gz) = 5042623 bytes
SHA1 (patch-aa) = 92b1a9746f4f22ceb2f548eca2cfcf14481fae2a
SHA1 (patch-ab) = 2a0a99846fab962b552efa79c9261927de792dfd
SHA1 (patch-ac) = 8baca078827ebc7c03eecc14c575a440239c3f03
+SHA1 (patch-ad) = 41ebd6097c2e523ae4618bb248a3d66a1b0f9b4a
diff --git a/graphics/cairo/patches/patch-ad b/graphics/cairo/patches/patch-ad
new file mode 100644
index 00000000000..fcf66041b0e
--- /dev/null
+++ b/graphics/cairo/patches/patch-ad
@@ -0,0 +1,27 @@
+$NetBSD: patch-ad,v 1.5 2008/08/25 15:36:18 joerg Exp $
+
+--- src/cairo-png.c.orig 2008-04-11 23:07:25.000000000 +0200
++++ src/cairo-png.c
+@@ -119,6 +119,13 @@ png_simple_warning_callback (png_structp
+ }
+
+
++/* Starting with libpng-1.2.30, we must explicitly specify an output_flush_fn.
++ * Otherwise, we will segfault if we are writing to a stream. */
++static void
++png_simple_output_flush_fn (png_structp png_ptr)
++{
++}
++
+ static cairo_status_t
+ write_png (cairo_surface_t *surface,
+ png_rw_ptr write_func,
+@@ -179,7 +186,7 @@ write_png (cairo_surface_t *surface,
+ goto BAIL3;
+ #endif
+
+- png_set_write_fn (png, closure, write_func, NULL);
++ png_set_write_fn (png, closure, write_func, png_simple_output_flush_fn);
+
+ switch (image->format) {
+ case CAIRO_FORMAT_ARGB32: