Dominique Leuenberger 2019-12-11 11:02:40 +00:00 committed by Git OBS Bridge
commit 5bf416a22f
3 changed files with 116 additions and 2 deletions

View File

@ -0,0 +1,105 @@
From b5360a807b12d4e8318475ffd0464b84882788b5 Mon Sep 17 00:00:00 2001
From: Jan Tojnar <jtojnar@gmail.com>
Date: Tue, 3 Dec 2019 00:17:05 +0100
Subject: [PATCH] Fix build with Poppler 0.83.0
(cherry picked from commit 51351358a62acb6887eab49bc0dc4a7a3d18c17a)
---
src/extension/internal/pdfinput/pdf-input.cpp | 6 +++---
src/extension/internal/pdfinput/pdf-parser.cpp | 4 ++--
.../internal/pdfinput/poppler-transition-api.h | 12 ++++++++++++
src/extension/internal/pdfinput/svg-builder.cpp | 4 ++--
4 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/src/extension/internal/pdfinput/pdf-input.cpp b/src/extension/internal/pdfinput/pdf-input.cpp
index 9621e306a0..7027b7e642 100644
--- a/src/extension/internal/pdfinput/pdf-input.cpp
+++ b/src/extension/internal/pdfinput/pdf-input.cpp
@@ -689,12 +689,12 @@ PdfInput::open(::Inkscape::Extension::Input * /*mod*/, const gchar * uri) {
//
gchar const *poppler_datadir = g_getenv("POPPLER_DATADIR");
if (poppler_datadir != NULL) {
- globalParams = new GlobalParams(poppler_datadir);
+ globalParams = _POPPLER_NEW_GLOBAL_PARAMS(poppler_datadir);
} else {
- globalParams = new GlobalParams();
+ globalParams = _POPPLER_NEW_GLOBAL_PARAMS();
}
#else
- globalParams = new GlobalParams();
+ globalParams = _POPPLER_NEW_GLOBAL_PARAMS();
#endif // ENABLE_OSX_APP_LOCATIONS
}
diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp
index e71bb79381..2ff448828d 100644
--- a/src/extension/internal/pdfinput/pdf-parser.cpp
+++ b/src/extension/internal/pdfinput/pdf-parser.cpp
@@ -272,7 +272,7 @@ public:
ClipHistoryEntry *save();
ClipHistoryEntry *restore();
GBool hasSaves() { return saved != NULL; }
- void setClip(GfxPath *newClipPath, GfxClipType newClipType = clipNormal);
+ void setClip(_POPPLER_CONST_83 GfxPath *newClipPath, GfxClipType newClipType = clipNormal);
GfxPath *getClipPath() { return clipPath; }
GfxClipType getClipType() { return clipType; }
@@ -3394,7 +3394,7 @@ ClipHistoryEntry::~ClipHistoryEntry()
}
}
-void ClipHistoryEntry::setClip(GfxPath *clipPathA, GfxClipType clipTypeA) {
+void ClipHistoryEntry::setClip(_POPPLER_CONST_83 GfxPath *clipPathA, GfxClipType clipTypeA) {
// Free previous clip path
if (clipPath) {
delete clipPath;
diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h
index 93c0f99ba1..1118c0849f 100644
--- a/src/extension/internal/pdfinput/poppler-transition-api.h
+++ b/src/extension/internal/pdfinput/poppler-transition-api.h
@@ -3,6 +3,12 @@
#include <glib/poppler-features.h>
+#if POPPLER_CHECK_VERSION(0, 83, 0)
+#define _POPPLER_CONST_83 const
+#else
+#define _POPPLER_CONST_83
+#endif
+
#if POPPLER_CHECK_VERSION(0, 82, 0)
#define _POPPLER_CONST_82 const
#else
@@ -15,6 +21,12 @@
#define _POPPLER_NEW_PARSER(xref, obj) Parser(xref, new Lexer(xref, obj), gFalse)
#endif
+#if POPPLER_CHECK_VERSION(0, 83, 0)
+#define _POPPLER_NEW_GLOBAL_PARAMS(args...) std::unique_ptr<GlobalParams>(new GlobalParams(args))
+#else
+#define _POPPLER_NEW_GLOBAL_PARAMS(args...) new GlobalParams(args)
+#endif
+
#if POPPLER_CHECK_VERSION(0, 72, 0)
#define getCString c_str
diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp
index ea2940ffe1..6454089134 100644
--- a/src/extension/internal/pdfinput/svg-builder.cpp
+++ b/src/extension/internal/pdfinput/svg-builder.cpp
@@ -264,10 +264,10 @@ static void svgSetTransform(Inkscape::XML::Node *node, double c0, double c1,
/**
* \brief Generates a SVG path string from poppler's data structure
*/
-static gchar *svgInterpretPath(GfxPath *path) {
+static gchar *svgInterpretPath(_POPPLER_CONST_83 GfxPath *path) {
Inkscape::SVG::PathString pathString;
for (int i = 0 ; i < path->getNumSubpaths() ; ++i ) {
- GfxSubpath *subpath = path->getSubpath(i);
+ _POPPLER_CONST_83 GfxSubpath *subpath = path->getSubpath(i);
if (subpath->getNumPoints() > 0) {
pathString.moveTo(subpath->getX(0), subpath->getY(0));
int j = 1;
--
2.22.0

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Thu Dec 5 18:13:25 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
- Add inkscape-fix-for-poppler-0.83.patch: Fix build with poppler
0.83 and newer.
- Update URL to new homepage.
-------------------------------------------------------------------
Sat Nov 2 11:46:16 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package inkscape
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2019 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -22,7 +22,7 @@ Release: 0
Summary: Vector Illustration Program
License: GPL-3.0-only
Group: Productivity/Graphics/Vector Editors
Url: http://www.inkscape.org/
URL: https://inkscape.org/
#Source: https://media.inkscape.org/dl/resources/file/%%{name}-%%{version}.tar.bz2
Source: %{name}-%{version}.tar.bz2
@ -47,6 +47,8 @@ Patch6: f5e0ea893f34_extensions_python3_compatibility.patch
Patch7: mr_582_extensions_python3_compatibility.patch
# PATCH-FIX-UPSTREAM inkscape-fix-for-poppler-0.82.patch -- Fix build poppler 0.82
Patch8: inkscape-fix-for-poppler-0.82.patch
# PATCH-FIX-UPSTREAM inkscape-fix-for-poppler-0.83.patch -- Fix build poppler 0.83
Patch9: inkscape-fix-for-poppler-0.83.patch
BuildRequires: gtkspell-devel
%if 0%{?suse_version} > 1325