summaryrefslogtreecommitdiff
path: root/print
diff options
context:
space:
mode:
authordrochner <drochner@pkgsrc.org>2011-01-11 12:17:15 +0000
committerdrochner <drochner@pkgsrc.org>2011-01-11 12:17:15 +0000
commitc3c5a6db2828955ca6ba018ef1b21bfaa9ed840d (patch)
treecd5e41678756e86d0a48e4de46d583ae4c938000 /print
parent8d75abb07045fd94e23db73d36143638e2179b51 (diff)
downloadpkgsrc-c3c5a6db2828955ca6ba018ef1b21bfaa9ed840d.tar.gz
add patch from upstream which fixes a colorspace problem in the
glib/cairo frontend (ie pdf generation), bump PKGREV
Diffstat (limited to 'print')
-rw-r--r--print/poppler-glib/Makefile4
-rw-r--r--print/poppler/distinfo4
-rw-r--r--print/poppler/patches/patch-ar66
-rw-r--r--print/poppler/patches/patch-as12
4 files changed, 83 insertions, 3 deletions
diff --git a/print/poppler-glib/Makefile b/print/poppler-glib/Makefile
index 524d728b2c7..c4af89a6c63 100644
--- a/print/poppler-glib/Makefile
+++ b/print/poppler-glib/Makefile
@@ -1,10 +1,10 @@
-# $NetBSD: Makefile,v 1.35 2010/12/23 11:44:55 dsainty Exp $
+# $NetBSD: Makefile,v 1.36 2011/01/11 12:17:15 drochner Exp $
#
.include "../../print/poppler/Makefile.common"
PKGNAME= poppler-glib-${POPPLER_VERS}
-PKGREVISION= 1
+PKGREVISION= 2
COMMENT= PDF rendering library (GLib wrapper)
MAINTAINER= reed@reedmedia.net
diff --git a/print/poppler/distinfo b/print/poppler/distinfo
index 2a3bbd38b89..ce26dfc99c3 100644
--- a/print/poppler/distinfo
+++ b/print/poppler/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.63 2010/11/15 15:13:20 drochner Exp $
+$NetBSD: distinfo,v 1.64 2011/01/11 12:17:15 drochner Exp $
SHA1 (poppler-0.14.5.tar.gz) = e23b115e4ebc06c937318688b06a7c6b3319a00a
RMD160 (poppler-0.14.5.tar.gz) = 80d4441912b02d89777405ce03f8e175c4ccfa9e
@@ -10,5 +10,7 @@ SHA1 (patch-ag) = 4b914e85bb08ce83305d20de9c0a3e74d3cabdd2
SHA1 (patch-ai) = a51dba3fb0e7131873ef82ae5e256fb1d17cee53
SHA1 (patch-ao) = cf7e0f086522147a91f59b1b26ca510d1971ac74
SHA1 (patch-aq) = 01e115ca868e0bbd398bade92485d83edbe98d66
+SHA1 (patch-ar) = 0c77eb223d27545942f2b2d6081f07c3d796bb2d
+SHA1 (patch-as) = 9ce48a302cdb83f4dcb811d36a3b23cfb6652bbb
SHA1 (patch-bc) = 456af841d297ce365878c9756d2c6327f9d7658e
SHA1 (patch-bg) = b0353bf4bbee7a85f2a81e346119747897c7289f
diff --git a/print/poppler/patches/patch-ar b/print/poppler/patches/patch-ar
new file mode 100644
index 00000000000..89b5575849b
--- /dev/null
+++ b/print/poppler/patches/patch-ar
@@ -0,0 +1,66 @@
+$NetBSD: patch-ar,v 1.1 2011/01/11 12:17:15 drochner Exp $
+
+--- poppler/CairoOutputDev.cc.orig 2010-11-02 19:20:36.000000000 +0000
++++ poppler/CairoOutputDev.cc
+@@ -2286,6 +2286,36 @@ GBool CairoOutputDev::getStreamData (Str
+ return gTrue;
+ }
+
++void CairoOutputDev::setMimeData(Stream *str, cairo_surface_t *image)
++{
++ char *strBuffer;
++ int len;
++ Object obj;
++
++ if (!printing || !(str->getKind() == strDCT || str->getKind() == strJPX))
++ return;
++
++ // colorspace in stream dict may be different from colorspace in jpx
++ // data
++ if (str->getKind() == strJPX) {
++ GBool hasColorSpace = !str->getDict()->lookup("ColorSpace", &obj)->isNull();
++ obj.free();
++ if (hasColorSpace)
++ return;
++ }
++
++ if (getStreamData (str->getNextStream(), &strBuffer, &len)) {
++ cairo_status_t st;
++ st = cairo_surface_set_mime_data (image,
++ str->getKind() == strDCT ?
++ CAIRO_MIME_TYPE_JPEG : CAIRO_MIME_TYPE_JP2,
++ (const unsigned char *)strBuffer, len,
++ gfree, strBuffer);
++ if (st)
++ gfree (strBuffer);
++ }
++}
++
+ void CairoOutputDev::drawImage(GfxState *state, Object *ref, Stream *str,
+ int width, int height,
+ GfxImageColorMap *colorMap,
+@@ -2399,23 +2429,7 @@ void CairoOutputDev::drawImage(GfxState
+
+ cairo_surface_mark_dirty (image);
+
+-#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 9, 6)
+- if (printing && (str->getKind() == strDCT || str->getKind() == strJPX)) {
+- char *strBuffer;
+- int len;
+-
+- if (getStreamData (str->getNextStream(), &strBuffer, &len)) {
+- cairo_status_t st;
+- st = cairo_surface_set_mime_data (image,
+- str->getKind() == strDCT ?
+- CAIRO_MIME_TYPE_JPEG : CAIRO_MIME_TYPE_JP2,
+- (const unsigned char *)strBuffer, len,
+- gfree, strBuffer);
+- if (st)
+- gfree (strBuffer);
+- }
+- }
+-#endif /* CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 9, 6) */
++ setMimeData(str, image);
+
+ pattern = cairo_pattern_create_for_surface (image);
+ cairo_surface_destroy (image);
diff --git a/print/poppler/patches/patch-as b/print/poppler/patches/patch-as
new file mode 100644
index 00000000000..8cea3eedb09
--- /dev/null
+++ b/print/poppler/patches/patch-as
@@ -0,0 +1,12 @@
+$NetBSD: patch-as,v 1.1 2011/01/11 12:17:15 drochner Exp $
+
+--- poppler/CairoOutputDev.h.orig 2010-11-02 19:20:36.000000000 +0000
++++ poppler/CairoOutputDev.h
+@@ -275,6 +275,7 @@ protected:
+ cairo_filter_t getFilterForSurface(cairo_surface_t *image,
+ GBool interpolate);
+ GBool getStreamData (Stream *str, char **buffer, int *length);
++ void setMimeData(Stream *str, cairo_surface_t *image);
+
+ GfxRGB fill_color, stroke_color;
+ cairo_pattern_t *fill_pattern, *stroke_pattern;