- rebuilt (poppler)

This commit is contained in:
Lubomir Rintel 2010-11-14 17:10:36 +01:00
parent b3e24c2015
commit 633d0f8f18
2 changed files with 123 additions and 1 deletions

View File

@ -0,0 +1,117 @@
From 646a577c1a10ec62cd4e65e34f7af7e6f8900aee Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Sun, 14 Nov 2010 17:12:58 +0100
Subject: [PATCH] Fix build with Poppler 0.15.1
---
config.h.in | 3 ++
configure.ac | 29 ++++++++++++++++++++---
src/extension/internal/pdfinput/pdf-parser.cpp | 10 ++++++++
3 files changed, 38 insertions(+), 4 deletions(-)
diff --git a/config.h.in b/config.h.in
index 909c36b..cab6f0d 100644
--- a/config.h.in
+++ b/config.h.in
@@ -246,6 +246,9 @@
/* Use color space API from Poppler >= 0.12.2 */
#undef POPPLER_NEW_COLOR_SPACE_API
+/* GfxPatch no longer uses GfxColor in >= 0.15.1 */
+#undef POPPLER_NEW_GFXPATCH
+
/* Use GfxFont from Poppler >= 0.8.3 */
#undef POPPLER_NEW_GFXFONT
diff --git a/configure.ac b/configure.ac
index b3c9fd0..815a402 100644
--- a/configure.ac
+++ b/configure.ac
@@ -611,11 +611,12 @@ if test "x$popplernew" = "xyes"; then
AC_DEFINE(POPPLER_NEW_GFXFONT, 1, [Use GfxFont from Poppler >= 0.8.3])
fi
-AC_MSG_CHECKING(for new color space API in Poppler)
ink_svd_CPPFLAGS=$CPPFLAGS
ink_svd_LIBS=$LIBS
CPPFLAGS="$CPPFLAGS $POPPLER_CFLAGS"
LIBS="$LIBS $POPPLER_LIBS"
+
+AC_MSG_CHECKING(for new color space API in Poppler)
popplercolor="no"
AC_COMPILE_IFELSE([
#include <GfxState.h>
@@ -627,9 +628,6 @@ int main() {
return 0;
}
], [popplercolor=yes])
-CPPFLAGS=$ink_svd_CPPFLAGS
-LIBS=$ink_svd_LIBS
-
if test "x$popplercolor" = "xyes"; then
AC_DEFINE(POPPLER_NEW_COLOR_SPACE_API, 1, [Use color space API from Poppler >= 0.12.2])
AC_MSG_RESULT(yes)
@@ -637,6 +635,29 @@ else
AC_MSG_RESULT(no)
fi
+# Poppler's b604a008 commit changes this
+AC_MSG_CHECKING(whether Poppler''s GfxPatch no longer uses GfxColor)
+popplergfxcolor="no"
+AC_COMPILE_IFELSE([
+#include <GfxState.h>
+
+int main() {
+ GfxPatch::ColorValue color = {c: {0}};
+ GfxPatch patch;
+ patch.color[[0]][[0]] = color;
+ return 0;
+}
+], [popplergfxcolor=yes])
+if test "x$popplergfxcolor" = "xyes"; then
+ AC_DEFINE(POPPLER_NEW_GFXPATCH, 1, [GfxPatch no longer uses GfxColor in >= 0.15.1])
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_RESULT(no)
+fi
+
+CPPFLAGS=$ink_svd_CPPFLAGS
+LIBS=$ink_svd_LIBS
+
dnl ******************************
dnl Inkboard dependency checking
dnl ******************************
diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp
index b37cbb7..ef31cd3 100644
--- a/src/extension/internal/pdfinput/pdf-parser.cpp
+++ b/src/extension/internal/pdfinput/pdf-parser.cpp
@@ -1874,6 +1874,9 @@ void PdfParser::doPatchMeshShFill(GfxPatchMeshShading *shading) {
void PdfParser::fillPatch(GfxPatch *patch, int nComps, int depth) {
GfxPatch patch00, patch01, patch10, patch11;
+#ifdef POPPLER_NEW_GFXPATCH
+ GfxColor color;
+#endif
double xx[4][8], yy[4][8];
double xxm, yym;
double patchColorDelta = colorDeltas[pdfPatchMeshShading-1];
@@ -1890,9 +1893,16 @@ void PdfParser::fillPatch(GfxPatch *patch, int nComps, int depth) {
> patchColorDelta) {
break;
}
+#ifdef POPPLER_NEW_GFXPATCH
+ color.c[i] = GfxColorComp(patch->color[0][0].c[i]);
+#endif
}
if (i == nComps || depth == maxDepths[pdfPatchMeshShading-1]) {
+#ifdef POPPLER_NEW_GFXPATCH
+ state->setFillColor(&color);
+#else
state->setFillColor(&patch->color[0][0]);
+#endif
state->moveTo(patch->x[0][0], patch->y[0][0]);
state->curveTo(patch->x[0][1], patch->y[0][1],
patch->x[0][2], patch->y[0][2],
--
1.7.3.2

View File

@ -8,6 +8,7 @@ License: GPLv2+
URL: http://inkscape.sourceforge.net/
Source0: http://download.sourceforge.net/inkscape/%{name}-%{version}.tar.bz2
Patch0: inkscape-0.48.0-types.patch
Patch1: inkscape-0.48.0-poppler.patch
BuildRequires: atk-devel
BuildRequires: desktop-file-utils
@ -35,6 +36,9 @@ BuildRequires: perl(XML::Parser)
BuildRequires: perl(ExtUtils::Embed)
BuildRequires: intltool
BuildRequires: popt-devel
# We detect new poppler in inkscape-0.48.0-poppler.patch
BuildRequires: autoconf
BuildRequires: automake
# Disable all for now. TODO: Be smarter
%if 0
@ -128,6 +132,7 @@ dos2unix -k -q share/extensions/*.py
%build
autoreconf -i
%configure \
--with-python \
--with-perl \
@ -225,7 +230,7 @@ fi
%changelog
* Sat Nov 06 2010 Rex Dieter <rdieter@fedoraproject.org> - 0.48.0-6
* Sun Nov 14 2010 Lubomir Rintel <lkundrak@v3.sk> - 0.48.0-6
- rebuilt (poppler)
* Tue Oct 05 2010 Nils Philippsen <nils@redhat.com> - 0.48.0-5