summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/inkscape/files/inkscape-1.1.2-r1-poppler-22.03.0.patch')
-rw-r--r--media-gfx/inkscape/files/inkscape-1.1.2-r1-poppler-22.03.0.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/media-gfx/inkscape/files/inkscape-1.1.2-r1-poppler-22.03.0.patch b/media-gfx/inkscape/files/inkscape-1.1.2-r1-poppler-22.03.0.patch
new file mode 100644
index 00000000000..4083c942664
--- /dev/null
+++ b/media-gfx/inkscape/files/inkscape-1.1.2-r1-poppler-22.03.0.patch
@@ -0,0 +1,43 @@
+https://gitlab.com/inkscape/inkscape/-/commit/f7857a4fc2b916e64d9689ccc89914ad19f3ef0a.patch
+https://bugs.gentoo.org/843275
+
+From f7857a4fc2b916e64d9689ccc89914ad19f3ef0a Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras <evangelos@foutrelis.com>
+Date: Sun, 20 Mar 2022 22:41:51 -0300
+Subject: [PATCH] Ensure compatibility with Poppler 22.03 and later
+
+This change ensures that Inkscape will build against Poppler 22.03 after
+the changes that were made to the constructor of `PDFDoc`.
+
+See: https://gitlab.freedesktop.org/poppler/poppler/-/commit/4f2abd3ef
+
+Co-authored-by: Rafael Siejakowski <rs@rs-math.net>
+(cherry picked from commit a18c57ffff313fd08bc8a44f6b6bf0b01d7e9b75)
+--- a/src/extension/internal/pdfinput/pdf-input.cpp
++++ b/src/extension/internal/pdfinput/pdf-input.cpp
+@@ -668,8 +668,7 @@ PdfInput::open(::Inkscape::Extension::Input * /*mod*/, const gchar * uri) {
+
+ // poppler does not use glib g_open. So on win32 we must use unicode call. code was copied from
+ // glib gstdio.c
+- GooString *filename_goo = new GooString(uri);
+- pdf_doc = std::make_shared<PDFDoc>(filename_goo, nullptr, nullptr, nullptr); // TODO: Could ask for password
++ pdf_doc = _POPPLER_MAKE_SHARED_PDFDOC(uri); // TODO: Could ask for password
+
+ if (!pdf_doc->isOk()) {
+ int error = pdf_doc->getErrorCode();
+--- a/src/extension/internal/pdfinput/poppler-transition-api.h
++++ b/src/extension/internal/pdfinput/poppler-transition-api.h
+@@ -14,6 +14,12 @@
+
+ #include <glib/poppler-features.h>
+
++#if POPPLER_CHECK_VERSION(22, 3, 0)
++#define _POPPLER_MAKE_SHARED_PDFDOC(uri) std::make_shared<PDFDoc>(std::make_unique<GooString>(uri))
++#else
++#define _POPPLER_MAKE_SHARED_PDFDOC(uri) std::make_shared<PDFDoc>(new GooString(uri), nullptr, nullptr, nullptr)
++#endif
++
+ #if POPPLER_CHECK_VERSION(0, 83, 0)
+ #define _POPPLER_CONST_83 const
+ #else
+GitLab