[inkscape] - rebuilt (poppler)

Lubomir Rintel lkundrak at fedoraproject.org
Sun Nov 14 16:15:06 UTC 2010


commit 633d0f8f1822b6c43880277048d9d69f6949b469
Author: Lubomir Rintel <lkundrak at v3.sk>
Date:   Sun Nov 14 17:10:36 2010 +0100

    - rebuilt (poppler)

 inkscape-0.48.0-poppler.patch |  117 +++++++++++++++++++++++++++++++++++++++++
 inkscape.spec                 |    7 ++-
 2 files changed, 123 insertions(+), 1 deletions(-)
---
diff --git a/inkscape-0.48.0-poppler.patch b/inkscape-0.48.0-poppler.patch
new file mode 100644
index 0000000..377304c
--- /dev/null
+++ b/inkscape-0.48.0-poppler.patch
@@ -0,0 +1,117 @@
+From 646a577c1a10ec62cd4e65e34f7af7e6f8900aee Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lkundrak at 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
+
diff --git a/inkscape.spec b/inkscape.spec
index c4b73dc..1328d00 100644
--- a/inkscape.spec
+++ b/inkscape.spec
@@ -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 at fedoraproject.org> - 0.48.0-6
+* Sun Nov 14 2010 Lubomir Rintel <lkundrak at v3.sk> - 0.48.0-6
 - rebuilt (poppler)
 
 * Tue Oct 05 2010 Nils Philippsen <nils at redhat.com> - 0.48.0-5


More information about the scm-commits mailing list