From 62a49104f21107582f9644db33427910f50527da Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Fri, 11 Jan 2019 01:27:36 +0100 Subject: media-gfx/inkscape: Fix build with poppler-0.72 Closes: https://bugs.gentoo.org/674812 Package-Manager: Portage-2.3.54, Repoman-2.3.12 Signed-off-by: Andreas Sturmlechner --- .../files/inkscape-0.92.3-poppler-0.64-2.patch | 160 --------- .../files/inkscape-0.92.3-poppler-0.64.patch | 121 ------- .../files/inkscape-0.92.3-poppler-0.65.patch | 29 -- .../files/inkscape-0.92.3-poppler-0.69.patch | 400 --------------------- .../files/inkscape-0.92.3-poppler-0.71.patch | 31 -- 5 files changed, 741 deletions(-) delete mode 100644 media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.64-2.patch delete mode 100644 media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.64.patch delete mode 100644 media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.65.patch delete mode 100644 media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.69.patch delete mode 100644 media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.71.patch (limited to 'media-gfx/inkscape/files') diff --git a/media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.64-2.patch b/media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.64-2.patch deleted file mode 100644 index 4608bc79ecde..000000000000 --- a/media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.64-2.patch +++ /dev/null @@ -1,160 +0,0 @@ -From 66d05776ea2d403f2f48437f70d096a09724dfec Mon Sep 17 00:00:00 2001 -From: Eduard Braun -Date: Wed, 5 Sep 2018 00:31:06 +0200 -Subject: [PATCH] Modified fix for compatibility with poppler 0.64 - -This is slightly uglier than f0697de012598ea84edafea9a326e5e101eccd2a -but avoids duplicating strings (which is unnecessary and leaked memory). - -It's also closer to what upstream intended with the changes in 0.64. - -(cherry picked from commit 722e121361d0f784083d10e897155b7d4e44e515) ---- - .../internal/pdfinput/pdf-parser.cpp | 19 ++++++++++++++++--- - src/extension/internal/pdfinput/pdf-parser.h | 6 ++++++ - .../internal/pdfinput/svg-builder.cpp | 6 +++--- - src/extension/internal/pdfinput/svg-builder.h | 4 ++-- - 4 files changed, 27 insertions(+), 8 deletions(-) - -diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp -index a3aa3213a1..ea9f902e09 100644 ---- a/src/extension/internal/pdfinput/pdf-parser.cpp -+++ b/src/extension/internal/pdfinput/pdf-parser.cpp -@@ -36,6 +36,7 @@ extern "C" { - #include "pdf-parser.h" - #include "util/units.h" - -+#include "glib/poppler-features.h" - #include "goo/gmem.h" - #include "goo/GooString.h" - #include "GlobalParams.h" -@@ -2581,7 +2582,11 @@ void PdfParser::opShowSpaceText(Object args[], int /*numArgs*/) - } - } - -+#if POPPLER_CHECK_VERSION(0,64,0) - void PdfParser::doShowText(const GooString *s) { -+#else -+void PdfParser::doShowText(GooString *s) { -+#endif - GfxFont *font; - int wMode; - double riseX, riseY; -@@ -2594,7 +2599,11 @@ void PdfParser::doShowText(const GooString *s) { - Object charProc; - Dict *resDict; - Parser *oldParser; -+#if POPPLER_CHECK_VERSION(0,64,0) -+ const char *p; -+#else - char *p; -+#endif - int len, n, uLen; - - font = state->getFont(); -@@ -2630,7 +2639,7 @@ void PdfParser::doShowText(const GooString *s) { - double lineX = state->getLineX(); - double lineY = state->getLineY(); - oldParser = parser; -- p = g_strdup(s->getCString()); -+ p = s->getCString(); - len = s->getLength(); - while (len > 0) { - n = font->getNextChar(p, len, &code, -@@ -2685,7 +2694,7 @@ void PdfParser::doShowText(const GooString *s) { - - } else { - state->textTransformDelta(0, state->getRise(), &riseX, &riseY); -- p = g_strdup(s->getCString()); -+ p = s->getCString(); - len = s->getLength(); - while (len > 0) { - n = font->getNextChar(p, len, &code, -@@ -2731,7 +2740,11 @@ void PdfParser::opXObject(Object args[], int /*numArgs*/) - { - Object obj1, obj2, obj3, refObj; - -- char *name = g_strdup(args[0].getName()); -+#if POPPLER_CHECK_VERSION(0,64,0) -+ const char *name = args[0].getName(); -+#else -+ char *name = args[0].getName(); -+#endif - #if defined(POPPLER_NEW_OBJECT_API) - if ((obj1 = res->lookupXObject(name)).isNull()) { - #else -diff --git a/src/extension/internal/pdfinput/pdf-parser.h b/src/extension/internal/pdfinput/pdf-parser.h -index f985b15cad..ed28274f42 100644 ---- a/src/extension/internal/pdfinput/pdf-parser.h -+++ b/src/extension/internal/pdfinput/pdf-parser.h -@@ -25,6 +25,7 @@ namespace Inkscape { - // TODO clean up and remove using: - using Inkscape::Extension::Internal::SvgBuilder; - -+#include "glib/poppler-features.h" - #include "goo/gtypes.h" - #include "Object.h" - -@@ -287,7 +288,12 @@ private: - void opMoveShowText(Object args[], int numArgs); - void opMoveSetShowText(Object args[], int numArgs); - void opShowSpaceText(Object args[], int numArgs); -+#if POPPLER_CHECK_VERSION(0,64,0) - void doShowText(const GooString *s); -+#else -+ void doShowText(GooString *s); -+#endif -+ - - // XObject operators - void opXObject(Object args[], int numArgs); -diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp -index 617861928d..767c8af4d4 100644 ---- a/src/extension/internal/pdfinput/svg-builder.cpp -+++ b/src/extension/internal/pdfinput/svg-builder.cpp -@@ -1020,9 +1020,9 @@ void SvgBuilder::updateFont(GfxState *state) { - GfxFont *font = state->getFont(); - // Store original name - if (font->getName()) { -- _font_specification = g_strdup(font->getName()->getCString()); -+ _font_specification = font->getName()->getCString(); - } else { -- _font_specification = (char*) "Arial"; -+ _font_specification = "Arial"; - } - - // Prune the font name to get the correct font family name -@@ -1030,7 +1030,7 @@ void SvgBuilder::updateFont(GfxState *state) { - char *font_family = NULL; - char *font_style = NULL; - char *font_style_lowercase = NULL; -- char *plus_sign = strstr(_font_specification, "+"); -+ const char *plus_sign = strstr(_font_specification, "+"); - if (plus_sign) { - font_family = g_strdup(plus_sign + 1); - _font_specification = plus_sign + 1; -diff --git a/src/extension/internal/pdfinput/svg-builder.h b/src/extension/internal/pdfinput/svg-builder.h -index ed2a4d48e0..55daacee74 100644 ---- a/src/extension/internal/pdfinput/svg-builder.h -+++ b/src/extension/internal/pdfinput/svg-builder.h -@@ -80,7 +80,7 @@ struct SvgGlyph { - bool style_changed; // Set to true if style has to be reset - SPCSSAttr *style; - int render_mode; // Text render mode -- char *font_specification; // Pointer to current font specification -+ const char *font_specification; // Pointer to current font specification - }; - - /** -@@ -202,7 +202,7 @@ private: - - SPCSSAttr *_font_style; // Current font style - GfxFont *_current_font; -- char *_font_specification; -+ const char *_font_specification; - double _font_scaling; - bool _need_font_update; - Geom::Affine _text_matrix; --- -2.19.0 - diff --git a/media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.64.patch b/media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.64.patch deleted file mode 100644 index b31786add1b3..000000000000 --- a/media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.64.patch +++ /dev/null @@ -1,121 +0,0 @@ -From f0697de012598ea84edafea9a326e5e101eccd2a Mon Sep 17 00:00:00 2001 -From: Eduard Braun -Date: Tue, 24 Apr 2018 19:18:26 +0200 -Subject: [PATCH] Fix compilation with poppler 0.64 - -(cherry picked from commit a600c6438fef2f4c06f9a4a7d933d99fb054a973) ---- - src/extension/internal/pdfinput/pdf-parser.cpp | 10 +++++----- - src/extension/internal/pdfinput/pdf-parser.h | 2 +- - src/extension/internal/pdfinput/svg-builder.cpp | 4 ++-- - src/extension/internal/pdfinput/svg-builder.h | 3 +-- - 4 files changed, 9 insertions(+), 10 deletions(-) - -diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp -index 604b7f8079..721524e10a 100644 ---- a/src/extension/internal/pdfinput/pdf-parser.cpp -+++ b/src/extension/internal/pdfinput/pdf-parser.cpp -@@ -2582,7 +2582,7 @@ void PdfParser::opShowSpaceText(Object args[], int /*numArgs*/) - } - } - --void PdfParser::doShowText(GooString *s) { -+void PdfParser::doShowText(const GooString *s) { - GfxFont *font; - int wMode; - double riseX, riseY; -@@ -2601,7 +2601,7 @@ void PdfParser::doShowText(GooString *s) { - font = state->getFont(); - wMode = font->getWMode(); - -- builder->beginString(state, s); -+ builder->beginString(state); - - // handle a Type 3 char - if (font->getType() == fontType3 && 0) {//out->interpretType3Chars()) { -@@ -2631,7 +2631,7 @@ void PdfParser::doShowText(GooString *s) { - double lineX = state->getLineX(); - double lineY = state->getLineY(); - oldParser = parser; -- p = s->getCString(); -+ p = g_strdup(s->getCString()); - len = s->getLength(); - while (len > 0) { - n = font->getNextChar(p, len, &code, -@@ -2686,7 +2686,7 @@ void PdfParser::doShowText(GooString *s) { - - } else { - state->textTransformDelta(0, state->getRise(), &riseX, &riseY); -- p = s->getCString(); -+ p = g_strdup(s->getCString()); - len = s->getLength(); - while (len > 0) { - n = font->getNextChar(p, len, &code, -@@ -2732,7 +2732,7 @@ void PdfParser::opXObject(Object args[], int /*numArgs*/) - { - Object obj1, obj2, obj3, refObj; - -- char *name = args[0].getName(); -+ char *name = g_strdup(args[0].getName()); - #if defined(POPPLER_NEW_OBJECT_API) - if ((obj1 = res->lookupXObject(name)).isNull()) { - #else -diff --git a/src/extension/internal/pdfinput/pdf-parser.h b/src/extension/internal/pdfinput/pdf-parser.h -index e28fecc2e1..f985b15cad 100644 ---- a/src/extension/internal/pdfinput/pdf-parser.h -+++ b/src/extension/internal/pdfinput/pdf-parser.h -@@ -287,7 +287,7 @@ private: - void opMoveShowText(Object args[], int numArgs); - void opMoveSetShowText(Object args[], int numArgs); - void opShowSpaceText(Object args[], int numArgs); -- void doShowText(GooString *s); -+ void doShowText(const GooString *s); - - // XObject operators - void opXObject(Object args[], int numArgs); -diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp -index a448be6397..617861928d 100644 ---- a/src/extension/internal/pdfinput/svg-builder.cpp -+++ b/src/extension/internal/pdfinput/svg-builder.cpp -@@ -1020,7 +1020,7 @@ void SvgBuilder::updateFont(GfxState *state) { - GfxFont *font = state->getFont(); - // Store original name - if (font->getName()) { -- _font_specification = font->getName()->getCString(); -+ _font_specification = g_strdup(font->getName()->getCString()); - } else { - _font_specification = (char*) "Arial"; - } -@@ -1361,7 +1361,7 @@ void SvgBuilder::_flushText() { - _glyphs.clear(); - } - --void SvgBuilder::beginString(GfxState *state, GooString * /*s*/) { -+void SvgBuilder::beginString(GfxState *state) { - if (_need_font_update) { - updateFont(state); - } -diff --git a/src/extension/internal/pdfinput/svg-builder.h b/src/extension/internal/pdfinput/svg-builder.h -index ad15c9c06f..ed2a4d48e0 100644 ---- a/src/extension/internal/pdfinput/svg-builder.h -+++ b/src/extension/internal/pdfinput/svg-builder.h -@@ -29,7 +29,6 @@ namespace Inkscape { - #include - - #include "CharTypes.h" --class GooString; - class Function; - class GfxState; - struct GfxColor; -@@ -136,7 +135,7 @@ public: - void clearSoftMask(GfxState *state); - - // Text handling -- void beginString(GfxState *state, GooString *s); -+ void beginString(GfxState *state); - void endString(GfxState *state); - void addChar(GfxState *state, double x, double y, - double dx, double dy, --- -2.17.0 - diff --git a/media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.65.patch b/media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.65.patch deleted file mode 100644 index 86d9e48396df..000000000000 --- a/media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.65.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 332a80f4847715546be9a00756f693b4aa1316e2 Mon Sep 17 00:00:00 2001 -From: Jan Palus -Date: Fri, 25 May 2018 00:30:17 +0200 -Subject: [PATCH] Fix compilation with poppler 0.65.0 - -replace unused includes with one that is actually used - -Signed-off-by: Jan Palus ---- - src/extension/internal/pdfinput/pdf-parser.cpp | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp -index 6c498f9..caaeca1 100644 ---- a/src/extension/internal/pdfinput/pdf-parser.cpp -+++ b/src/extension/internal/pdfinput/pdf-parser.cpp -@@ -37,8 +37,7 @@ extern "C" { - #include "util/units.h" - - #include "goo/gmem.h" --#include "goo/GooTimer.h" --#include "goo/GooHash.h" -+#include "goo/GooString.h" - #include "GlobalParams.h" - #include "CharTypes.h" - #include "Object.h" --- -2.17.0 - diff --git a/media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.69.patch b/media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.69.patch deleted file mode 100644 index 593ba242db4d..000000000000 --- a/media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.69.patch +++ /dev/null @@ -1,400 +0,0 @@ -From 96781f5cea8af9777d87e056506b2bce660c397e Mon Sep 17 00:00:00 2001 -From: Thomas Holder -Date: Fri, 28 Sep 2018 18:05:30 +0000 -Subject: [PATCH] fix 1789208 poppler 0.69 - ---- - CMakeScripts/DefineDependsandFlags.cmake | 12 ----- - src/extension/internal/pdfinput/pdf-input.cpp | 2 +- - src/extension/internal/pdfinput/pdf-input.h | 1 + - .../internal/pdfinput/pdf-parser.cpp | 46 ++++++++----------- - src/extension/internal/pdfinput/pdf-parser.h | 12 +++-- - .../pdfinput/poppler-transition-api.h | 39 ++++++++++++++++ - .../internal/pdfinput/svg-builder.cpp | 22 ++++----- - src/extension/internal/pdfinput/svg-builder.h | 3 +- - 8 files changed, 80 insertions(+), 57 deletions(-) - create mode 100644 src/extension/internal/pdfinput/poppler-transition-api.h - -diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake -index c0fce145be..c1244055d5 100644 ---- a/CMakeScripts/DefineDependsandFlags.cmake -+++ b/CMakeScripts/DefineDependsandFlags.cmake -@@ -116,18 +116,6 @@ if(ENABLE_POPPLER) - set(HAVE_POPPLER_GLIB ON) - endif() - endif() -- if(POPPLER_VERSION VERSION_GREATER "0.26.0" OR -- POPPLER_VERSION VERSION_EQUAL "0.26.0") -- set(POPPLER_EVEN_NEWER_COLOR_SPACE_API ON) -- endif() -- if(POPPLER_VERSION VERSION_GREATER "0.29.0" OR -- POPPLER_VERSION VERSION_EQUAL "0.29.0") -- set(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API ON) -- endif() -- if(POPPLER_VERSION VERSION_GREATER "0.58.0" OR -- POPPLER_VERSION VERSION_EQUAL "0.58.0") -- set(POPPLER_NEW_OBJECT_API ON) -- endif() - else() - set(ENABLE_POPPLER_CAIRO OFF) - endif() -diff --git a/src/extension/internal/pdfinput/pdf-input.cpp b/src/extension/internal/pdfinput/pdf-input.cpp -index e3115620e3..9621e306a0 100644 ---- a/src/extension/internal/pdfinput/pdf-input.cpp -+++ b/src/extension/internal/pdfinput/pdf-input.cpp -@@ -793,7 +793,7 @@ PdfInput::open(::Inkscape::Extension::Input * /*mod*/, const gchar * uri) { - dlg->getImportSettings(prefs); - - // Apply crop settings -- PDFRectangle *clipToBox = NULL; -+ _POPPLER_CONST PDFRectangle *clipToBox = NULL; - double crop_setting; - sp_repr_get_double(prefs, "cropTo", &crop_setting); - -diff --git a/src/extension/internal/pdfinput/pdf-input.h b/src/extension/internal/pdfinput/pdf-input.h -index 6e36603c31..73bbfe2a71 100644 ---- a/src/extension/internal/pdfinput/pdf-input.h -+++ b/src/extension/internal/pdfinput/pdf-input.h -@@ -15,6 +15,7 @@ - #endif - - #ifdef HAVE_POPPLER -+#include "poppler-transition-api.h" - - #include - -diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp -index ea9f902e09..4a7fd8a5e5 100644 ---- a/src/extension/internal/pdfinput/pdf-parser.cpp -+++ b/src/extension/internal/pdfinput/pdf-parser.cpp -@@ -295,8 +295,8 @@ PdfParser::PdfParser(XRef *xrefA, - int /*pageNum*/, - int rotate, - Dict *resDict, -- PDFRectangle *box, -- PDFRectangle *cropBox) : -+ _POPPLER_CONST PDFRectangle *box, -+ _POPPLER_CONST PDFRectangle *cropBox) : - xref(xrefA), - builder(builderA), - subPage(gFalse), -@@ -318,7 +318,7 @@ PdfParser::PdfParser(XRef *xrefA, - builder->setDocumentSize(Inkscape::Util::Quantity::convert(state->getPageWidth(), "pt", "px"), - Inkscape::Util::Quantity::convert(state->getPageHeight(), "pt", "px")); - -- double *ctm = state->getCTM(); -+ const double *ctm = state->getCTM(); - double scaledCTM[6]; - for (int i = 0; i < 6; ++i) { - baseMatrix[i] = ctm[i]; -@@ -353,7 +353,7 @@ PdfParser::PdfParser(XRef *xrefA, - PdfParser::PdfParser(XRef *xrefA, - Inkscape::Extension::Internal::SvgBuilder *builderA, - Dict *resDict, -- PDFRectangle *box) : -+ _POPPLER_CONST PDFRectangle *box) : - xref(xrefA), - builder(builderA), - subPage(gTrue), -@@ -572,7 +572,7 @@ const char *PdfParser::getPreviousOperator(unsigned int look_back) { - - void PdfParser::execOp(Object *cmd, Object args[], int numArgs) { - PdfOperator *op; -- char *name; -+ const char *name; - Object *argPtr; - int i; - -@@ -620,7 +620,7 @@ void PdfParser::execOp(Object *cmd, Object args[], int numArgs) { - (this->*op->func)(argPtr, numArgs); - } - --PdfOperator* PdfParser::findOp(char *name) { -+PdfOperator* PdfParser::findOp(const char *name) { - int a = -1; - int b = numOps; - int cmp = -1; -@@ -1752,7 +1752,7 @@ void PdfParser::doShadingPatternFillFallback(GfxShadingPattern *sPat, - GBool stroke, GBool eoFill) { - GfxShading *shading; - GfxPath *savedPath; -- double *ctm, *btm, *ptm; -+ const double *ctm, *btm, *ptm; - double m[6], ictm[6], m1[6]; - double xMin, yMin, xMax, yMax; - double det; -@@ -1994,7 +1994,7 @@ void PdfParser::doFunctionShFill1(GfxFunctionShading *shading, - GfxColor color0M, color1M, colorM0, colorM1, colorMM; - GfxColor colors2[4]; - double functionColorDelta = colorDeltas[pdfFunctionShading-1]; -- double *matrix; -+ const double *matrix; - double xM, yM; - int nComps, i, j; - -@@ -2174,7 +2174,7 @@ void PdfParser::doPatchMeshShFill(GfxPatchMeshShading *shading) { - } - } - --void PdfParser::fillPatch(GfxPatch *patch, int nComps, int depth) { -+void PdfParser::fillPatch(_POPPLER_CONST GfxPatch *patch, int nComps, int depth) { - GfxPatch patch00 = blankPatch(); - GfxPatch patch01 = blankPatch(); - GfxPatch patch10 = blankPatch(); -@@ -2595,7 +2595,7 @@ void PdfParser::doShowText(GooString *s) { - double x, y, dx, dy, tdx, tdy; - double originX, originY, tOriginX, tOriginY; - double oldCTM[6], newCTM[6]; -- double *mat; -+ const double *mat; - Object charProc; - Dict *resDict; - Parser *oldParser; -@@ -3669,7 +3669,6 @@ void PdfParser::opBeginImage(Object /*args*/[], int /*numArgs*/) - Stream *PdfParser::buildImageStream() { - Object dict; - Object obj; -- char *key; - Stream *str; - - // build dictionary -@@ -3687,26 +3686,17 @@ Stream *PdfParser::buildImageStream() { - obj.free(); - #endif - } else { -- key = copyString(obj.getName()); --#if defined(POPPLER_NEW_OBJECT_API) -- obj = parser->getObj(); --#else -- obj.free(); -- parser->getObj(&obj); --#endif -- if (obj.isEOF() || obj.isError()) { -- gfree(key); -+ Object obj2; -+ _POPPLER_CALL(obj2, parser->getObj); -+ if (obj2.isEOF() || obj2.isError()) { -+ _POPPLER_FREE(obj); - break; - } --#if defined(POPPLER_NEW_OBJECT_API) -- dict.dictAdd(key, std::move(obj)); -+ _POPPLER_DICTADD(dict, obj.getName(), obj2); -+ _POPPLER_FREE(obj); -+ _POPPLER_FREE(obj2); - } -- obj = parser->getObj(); --#else -- dict.dictAdd(key, &obj); -- } -- parser->getObj(&obj); --#endif -+ _POPPLER_CALL(obj, parser->getObj); - } - if (obj.isEOF()) { - error(errSyntaxError, getPos(), "End of file in inline image"); -diff --git a/src/extension/internal/pdfinput/pdf-parser.h b/src/extension/internal/pdfinput/pdf-parser.h -index ed28274f42..0a04c81d46 100644 ---- a/src/extension/internal/pdfinput/pdf-parser.h -+++ b/src/extension/internal/pdfinput/pdf-parser.h -@@ -9,6 +9,7 @@ - #define PDF_PARSER_H - - #ifdef HAVE_POPPLER -+#include "poppler-transition-api.h" - - #ifdef USE_GCC_PRAGMAS - #pragma interface -@@ -128,11 +129,14 @@ public: - - // Constructor for regular output. - PdfParser(XRef *xrefA, SvgBuilder *builderA, int pageNum, int rotate, -- Dict *resDict, PDFRectangle *box, PDFRectangle *cropBox); -+ Dict *resDict, -+ _POPPLER_CONST PDFRectangle *box, -+ _POPPLER_CONST PDFRectangle *cropBox); - - // Constructor for a sub-page object. - PdfParser(XRef *xrefA, Inkscape::Extension::Internal::SvgBuilder *builderA, -- Dict *resDict, PDFRectangle *box); -+ Dict *resDict, -+ _POPPLER_CONST PDFRectangle *box); - - virtual ~PdfParser(); - -@@ -186,7 +190,7 @@ private: - - void go(GBool topLevel); - void execOp(Object *cmd, Object args[], int numArgs); -- PdfOperator *findOp(char *name); -+ PdfOperator *findOp(const char *name); - GBool checkArg(Object *arg, TchkType type); - int getPos(); - -@@ -257,7 +261,7 @@ private: - double x2, double y2, GfxColor *color2, - int nComps, int depth); - void doPatchMeshShFill(GfxPatchMeshShading *shading); -- void fillPatch(GfxPatch *patch, int nComps, int depth); -+ void fillPatch(_POPPLER_CONST GfxPatch *patch, int nComps, int depth); - void doEndPath(); - - // path clipping operators -diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h -new file mode 100644 -index 0000000000..898e64bf2b ---- /dev/null -+++ b/src/extension/internal/pdfinput/poppler-transition-api.h -@@ -0,0 +1,39 @@ -+#ifndef SEEN_POPPLER_TRANSITION_API_H -+#define SEEN_POPPLER_TRANSITION_API_H -+ -+#include -+ -+#if POPPLER_CHECK_VERSION(0,70,0) -+#define _POPPLER_CONST const -+#else -+#define _POPPLER_CONST -+#endif -+ -+#if POPPLER_CHECK_VERSION(0,69,0) -+#define _POPPLER_DICTADD(dict, key, obj) (dict).dictAdd(key, std::move(obj)) -+#elif POPPLER_CHECK_VERSION(0,58,0) -+#define _POPPLER_DICTADD(dict, key, obj) (dict).dictAdd(copyString(key), std::move(obj)) -+#else -+#define _POPPLER_DICTADD(dict, key, obj) (dict).dictAdd(copyString(key), &obj) -+#endif -+ -+#if POPPLER_CHECK_VERSION(0,58,0) -+#define POPPLER_NEW_OBJECT_API -+#define _POPPLER_FREE(obj) -+#define _POPPLER_CALL(ret, func) (ret = func()) -+#define _POPPLER_CALL_ARGS(ret, func, ...) (ret = func(__VA_ARGS__)) -+#else -+#define _POPPLER_FREE(obj) (obj).free() -+#define _POPPLER_CALL(ret, func) (*func(&ret)) -+#define _POPPLER_CALL_ARGS(ret, func, ...) (*func(__VA_ARGS__, &ret)) -+#endif -+ -+#if POPPLER_CHECK_VERSION(0, 29, 0) -+#define POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API -+#endif -+ -+#if POPPLER_CHECK_VERSION(0, 25, 0) -+#define POPPLER_EVEN_NEWER_COLOR_SPACE_API -+#endif -+ -+#endif -diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp -index 767c8af4d4..d449d1af52 100644 ---- a/src/extension/internal/pdfinput/svg-builder.cpp -+++ b/src/extension/internal/pdfinput/svg-builder.cpp -@@ -625,7 +625,7 @@ gchar *SvgBuilder::_createPattern(GfxPattern *pattern, GfxState *state, bool is_ - if ( pattern != NULL ) { - if ( pattern->getType() == 2 ) { // Shading pattern - GfxShadingPattern *shading_pattern = static_cast(pattern); -- double *ptm; -+ const double *ptm; - double m[6] = {1, 0, 0, 1, 0, 0}; - double det; - -@@ -672,7 +672,7 @@ gchar *SvgBuilder::_createTilingPattern(GfxTilingPattern *tiling_pattern, - - Inkscape::XML::Node *pattern_node = _xml_doc->createElement("svg:pattern"); - // Set pattern transform matrix -- double *p2u = tiling_pattern->getMatrix(); -+ const double *p2u = tiling_pattern->getMatrix(); - double m[6] = {1, 0, 0, 1, 0, 0}; - double det; - det = _ttm[0] * _ttm[3] - _ttm[1] * _ttm[2]; // see LP Bug 1168908 -@@ -698,7 +698,7 @@ gchar *SvgBuilder::_createTilingPattern(GfxTilingPattern *tiling_pattern, - pattern_node->setAttribute("patternUnits", "userSpaceOnUse"); - // Set pattern tiling - // FIXME: don't ignore XStep and YStep -- double *bbox = tiling_pattern->getBBox(); -+ const double *bbox = tiling_pattern->getBBox(); - sp_repr_set_svg_double(pattern_node, "x", 0.0); - sp_repr_set_svg_double(pattern_node, "y", 0.0); - sp_repr_set_svg_double(pattern_node, "width", bbox[2] - bbox[0]); -@@ -751,7 +751,7 @@ gchar *SvgBuilder::_createTilingPattern(GfxTilingPattern *tiling_pattern, - */ - gchar *SvgBuilder::_createGradient(GfxShading *shading, double *matrix, bool for_shading) { - Inkscape::XML::Node *gradient; -- Function *func; -+ _POPPLER_CONST Function *func; - int num_funcs; - bool extend0, extend1; - -@@ -865,7 +865,7 @@ static bool svgGetShadingColorRGB(GfxShading *shading, double offset, GfxRGB *re - - #define INT_EPSILON 8 - bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *shading, -- Function *func) { -+ _POPPLER_CONST Function *func) { - int type = func->getType(); - if ( type == 0 || type == 2 ) { // Sampled or exponential function - GfxRGB stop1, stop2; -@@ -877,9 +877,9 @@ bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *sh - _addStopToGradient(gradient, 1.0, &stop2, 1.0); - } - } else if ( type == 3 ) { // Stitching -- StitchingFunction *stitchingFunc = static_cast(func); -- double *bounds = stitchingFunc->getBounds(); -- double *encode = stitchingFunc->getEncode(); -+ auto stitchingFunc = static_cast<_POPPLER_CONST StitchingFunction*>(func); -+ const double *bounds = stitchingFunc->getBounds(); -+ const double *encode = stitchingFunc->getEncode(); - int num_funcs = stitchingFunc->getNumFuncs(); - - // Add stops from all the stitched functions -@@ -890,7 +890,7 @@ bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *sh - svgGetShadingColorRGB(shading, bounds[i + 1], &color); - // Add stops - if (stitchingFunc->getFunc(i)->getType() == 2) { // process exponential fxn -- double expE = (static_cast(stitchingFunc->getFunc(i)))->getE(); -+ double expE = (static_cast<_POPPLER_CONST ExponentialFunction*>(stitchingFunc->getFunc(i)))->getE(); - if (expE > 1.0) { - expE = (bounds[i + 1] - bounds[i])/expE; // approximate exponential as a single straight line at x=1 - if (encode[2*i] == 0) { // normal sequence -@@ -1148,7 +1148,7 @@ void SvgBuilder::updateFont(GfxState *state) { - Inkscape::CSSOStringStream os_font_size; - double css_font_size = _font_scaling * state->getFontSize(); - if ( font->getType() == fontType3 ) { -- double *font_matrix = font->getFontMatrix(); -+ const double *font_matrix = font->getFontMatrix(); - if ( font_matrix[0] != 0.0 ) { - css_font_size *= font_matrix[3] / font_matrix[0]; - } -@@ -1193,7 +1193,7 @@ void SvgBuilder::updateTextPosition(double tx, double ty) { - void SvgBuilder::updateTextMatrix(GfxState *state) { - _flushText(); - // Update text matrix -- double *text_matrix = state->getTextMat(); -+ const double *text_matrix = state->getTextMat(); - double w_scale = sqrt( text_matrix[0] * text_matrix[0] + text_matrix[2] * text_matrix[2] ); - double h_scale = sqrt( text_matrix[1] * text_matrix[1] + text_matrix[3] * text_matrix[3] ); - double max_scale; -diff --git a/src/extension/internal/pdfinput/svg-builder.h b/src/extension/internal/pdfinput/svg-builder.h -index 55daacee74..34b42e17b8 100644 ---- a/src/extension/internal/pdfinput/svg-builder.h -+++ b/src/extension/internal/pdfinput/svg-builder.h -@@ -15,6 +15,7 @@ - #endif - - #ifdef HAVE_POPPLER -+#include "poppler-transition-api.h" - - class SPDocument; - namespace Inkscape { -@@ -174,7 +175,7 @@ private: - void _addStopToGradient(Inkscape::XML::Node *gradient, double offset, - GfxRGB *color, double opacity); - bool _addGradientStops(Inkscape::XML::Node *gradient, GfxShading *shading, -- Function *func); -+ _POPPLER_CONST Function *func); - gchar *_createTilingPattern(GfxTilingPattern *tiling_pattern, GfxState *state, - bool is_stroke=false); - // Image/mask creation --- -2.19.1 - diff --git a/media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.71.patch b/media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.71.patch deleted file mode 100644 index fe6ee81260cf..000000000000 --- a/media-gfx/inkscape/files/inkscape-0.92.3-poppler-0.71.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 493aa253fe5c5b1879c0aa26bdad0aa84ba5d6db Mon Sep 17 00:00:00 2001 -From: Lars Wendler -Date: Wed, 7 Nov 2018 16:36:22 +0100 -Subject: [PATCH] Fix build with poppler-0.71.0 - -Fix blatantly backported from -https://launchpadlibrarian.net/396085203/inkscape-poppler-v071.patch ---- - src/extension/internal/pdfinput/poppler-transition-api.h | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h -index 6ed911b04b..4437052593 100644 ---- a/src/extension/internal/pdfinput/poppler-transition-api.h -+++ b/src/extension/internal/pdfinput/poppler-transition-api.h -@@ -3,6 +3,12 @@ - - #include - -+#if POPPLER_CHECK_VERSION(0,71,0) -+typedef bool GBool; -+#define gTrue true -+#define gFalse false -+#endif -+ - #if POPPLER_CHECK_VERSION(0,70,0) - #define _POPPLER_CONST const - #else --- -2.19.1 - -- cgit v1.2.3-65-gdbad