From b8ed439fa545cf805da11327cc5e768155b083988da18391be4baf1dfde0947c Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Fri, 18 Dec 2009 13:27:08 +0000 Subject: [PATCH] Accepting request 27003 from GNOME:Factory Copy from GNOME:Factory/inkscape based on submit request 27003 from user vuntz OBS-URL: https://build.opensuse.org/request/show/27003 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/inkscape?expand=0&rev=31 --- inkscape-poppler-0.12.2.patch | 110 ++++++++++++++++++++++++++++++++++ inkscape.changes | 7 +++ inkscape.spec | 5 +- 3 files changed, 121 insertions(+), 1 deletion(-) create mode 100644 inkscape-poppler-0.12.2.patch diff --git a/inkscape-poppler-0.12.2.patch b/inkscape-poppler-0.12.2.patch new file mode 100644 index 0000000..5830561 --- /dev/null +++ b/inkscape-poppler-0.12.2.patch @@ -0,0 +1,110 @@ +Fix Rawhide build (more recent poppler) + +Lubomir Rintel + + +Index: inkscape-svn/src/extension/internal/pdfinput/pdf-parser.cpp +=================================================================== +--- inkscape-svn/src/extension/internal/pdfinput/pdf-parser.cpp (revision 22620) ++++ inkscape-svn/src/extension/internal/pdfinput/pdf-parser.cpp (working copy) +@@ -56,6 +56,13 @@ + #define M_PI 3.14159265358979323846 + #endif + ++#include ++#if POPPLER_CHECK_VERSION(0,12,2) ++#define PGFX ,NULL ++#else ++#define PGFX ++#endif ++ + //------------------------------------------------------------------------ + // constants + //------------------------------------------------------------------------ +@@ -809,7 +816,7 @@ + blendingColorSpace = NULL; + isolated = knockout = gFalse; + if (!obj4.dictLookup(const_cast("CS"), &obj5)->isNull()) { +- blendingColorSpace = GfxColorSpace::parse(&obj5); ++ blendingColorSpace = GfxColorSpace::parse(&obj5 PGFX); + } + obj5.free(); + if (obj4.dictLookup(const_cast("I"), &obj5)->isBool()) { +@@ -1009,9 +1016,9 @@ + state->setFillPattern(NULL); + res->lookupColorSpace(args[0].getName(), &obj); + if (obj.isNull()) { +- colorSpace = GfxColorSpace::parse(&args[0]); ++ colorSpace = GfxColorSpace::parse(&args[0] PGFX); + } else { +- colorSpace = GfxColorSpace::parse(&obj); ++ colorSpace = GfxColorSpace::parse(&obj PGFX); + } + obj.free(); + if (colorSpace) { +@@ -1032,9 +1039,9 @@ + state->setStrokePattern(NULL); + res->lookupColorSpace(args[0].getName(), &obj); + if (obj.isNull()) { +- colorSpace = GfxColorSpace::parse(&args[0]); ++ colorSpace = GfxColorSpace::parse(&args[0] PGFX); + } else { +- colorSpace = GfxColorSpace::parse(&obj); ++ colorSpace = GfxColorSpace::parse(&obj PGFX); + } + obj.free(); + if (colorSpace) { +@@ -1101,7 +1108,7 @@ + builder->updateStyle(state); + } + if (args[numArgs-1].isName() && +- (pattern = res->lookupPattern(args[numArgs-1].getName()))) { ++ (pattern = res->lookupPattern(args[numArgs-1].getName() PGFX))) { + state->setFillPattern(pattern); + builder->updateStyle(state); + } +@@ -1145,7 +1152,7 @@ + builder->updateStyle(state); + } + if (args[numArgs-1].isName() && +- (pattern = res->lookupPattern(args[numArgs-1].getName()))) { ++ (pattern = res->lookupPattern(args[numArgs-1].getName() PGFX))) { + state->setStrokePattern(pattern); + builder->updateStyle(state); + } +@@ -1543,7 +1550,7 @@ + double *matrix = NULL; + GBool savedState = gFalse; + +- if (!(shading = res->lookupShading(args[0].getName()))) { ++ if (!(shading = res->lookupShading(args[0].getName() PGFX))) { + return; + } + +@@ -2507,7 +2514,7 @@ + } + } + if (!obj1.isNull()) { +- colorSpace = GfxColorSpace::parse(&obj1); ++ colorSpace = GfxColorSpace::parse(&obj1 PGFX); + } else if (csMode == streamCSDeviceGray) { + colorSpace = new GfxDeviceGrayColorSpace(); + } else if (csMode == streamCSDeviceRGB) { +@@ -2592,7 +2599,7 @@ + obj2.free(); + } + } +- maskColorSpace = GfxColorSpace::parse(&obj1); ++ maskColorSpace = GfxColorSpace::parse(&obj1 PGFX); + obj1.free(); + if (!maskColorSpace || maskColorSpace->getMode() != csDeviceGray) { + goto err1; +@@ -2767,7 +2774,7 @@ + if (obj1.dictLookup(const_cast("S"), &obj2)->isName(const_cast("Transparency"))) { + transpGroup = gTrue; + if (!obj1.dictLookup(const_cast("CS"), &obj3)->isNull()) { +- blendingColorSpace = GfxColorSpace::parse(&obj3); ++ blendingColorSpace = GfxColorSpace::parse(&obj3 PGFX); + } + obj3.free(); + if (obj1.dictLookup(const_cast("I"), &obj3)->isBool()) { diff --git a/inkscape.changes b/inkscape.changes index 0fd9227..ed62a0a 100644 --- a/inkscape.changes +++ b/inkscape.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Dec 16 15:06:57 CET 2009 - vuntz@opensuse.org + +- Add inkscape-poppler-0.12.2.patch to fix build with recent + poppler. This patch comes from Fedora, but was not committed + upstream. See lp#487038 for the discussion, and another patch. + ------------------------------------------------------------------- Fri Nov 27 14:50:21 CET 2009 - dimstar@opensuse.org diff --git a/inkscape.spec b/inkscape.spec index c45bafb..63c9487 100644 --- a/inkscape.spec +++ b/inkscape.spec @@ -19,7 +19,7 @@ Name: inkscape Version: 0.47 -Release: 1 +Release: 2 License: GPLv2 ; LGPLv2.1 Summary: Vector Illustration Program Url: http://www.inkscape.org/ @@ -30,6 +30,8 @@ Source1: openSUSE.gpl Source2: inkscape-split-extensions-extra.sh #PATCH-FIX-OPENSUSE inkscape-packages.patch sbrabec@suse.cz -- Suggest packages instead of compilation from source. Patch1: inkscape-packages.patch +# PATCH-FIX-UPSTREAM inkscape-poppler-0.12.2.patch lp#487038 vuntz@opensuse.org -- Fix compilation with recent poppler +Patch2: inkscape-poppler-0.12.2.patch # PATCH-FIX-OPENSUSE inkscape-remove-datetime.patch vuntz@novell.com -- Do not put date/time in the compiled binary (needed for build-compare) Patch18: inkscape-remove-datetime.patch BuildRequires: boost-devel @@ -156,6 +158,7 @@ Inkscape is a vector illustration program for the GNOME desktop. %prep %setup -q %patch1 -p1 +%patch2 -p1 %patch18 -p1 %build