commit:     8b48848a1b4238b6e3abb3e9b546014bc72d5c8e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Sep  2 05:26:16 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Sep  2 05:32:13 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b48848a

media-gfx/inkscape: add link to upstream PR for poppler fix

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/inkscape-1.2.1-poppler-22.09.0.patch     | 38 ++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/media-gfx/inkscape/files/inkscape-1.2.1-poppler-22.09.0.patch 
b/media-gfx/inkscape/files/inkscape-1.2.1-poppler-22.09.0.patch
index 2e5d3b4782f3..87583019d6e3 100644
--- a/media-gfx/inkscape/files/inkscape-1.2.1-poppler-22.09.0.patch
+++ b/media-gfx/inkscape/files/inkscape-1.2.1-poppler-22.09.0.patch
@@ -1,3 +1,41 @@
+https://gitlab.com/inkscape/inkscape/-/merge_requests/4719
+
+From dce083204c62f1185ad079fc124f7fb40a1d0bb6 Mon Sep 17 00:00:00 2001
+From: Sam James <[email protected]>
+Date: Fri, 2 Sep 2022 06:21:28 +0100
+Subject: [PATCH] Fix build with Poppler 22.09.0
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+With Poppler 22.09.0, inkscape fails to build with:
+```
+/var/tmp/portage/media-gfx/inkscape-1.2.1/work/inkscape-1.2.1/src/extension/internal/pdfinput/svg-builder.cpp:394:23:
 error: no matching function for call to ‘GfxState::getLineDash(double**, int*, 
double*)’
+  394 |     state->getLineDash(&dash_pattern, &dash_length, &dash_start);
+      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from 
/var/tmp/portage/media-gfx/inkscape-1.2.1/work/inkscape-1.2.1/src/extension/internal/pdfinput/svg-builder.cpp:44:
+/usr/include/poppler/GfxState.h:1506:32: note: candidate: ‘const 
std::vector<double>& GfxState::getLineDash(double*)’
+ 1506 |     const std::vector<double> &getLineDash(double *start)
+      |                                ^~~~~~~~~~~
+[...]
+/var/tmp/portage/media-gfx/inkscape-1.2.1/work/inkscape-1.2.1/src/extension/internal/pdfinput/pdf-parser.cpp:700:21:
 error: no matching function for call to ‘GfxState::setLineDash(double*&, int&, 
double)’
+  700 |   state->setLineDash(dash, length, args[1].getNum());
+      |   ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+```
+
+Poppler changed the getLineDash interface:
+```
+-    void getLineDash(double **dash, int *length, double *start)
++    const std::vector<double> &getLineDash(double *start)
+```
+
+... and the setLineDash interface:
+````
+-    void setLineDash(double *dash, int length, double start);
++    void setLineDash(std::vector<double> &&dash, double start);
+```
+
+Signed-off-by: Sam James <[email protected]>
 --- a/src/extension/internal/pdfinput/pdf-parser.cpp
 +++ b/src/extension/internal/pdfinput/pdf-parser.cpp
 @@ -697,7 +697,11 @@ void PdfParser::opSetDash(Object args[], int /*numArgs*/)

Reply via email to