summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-09-02 06:26:16 +0100
committerSam James <sam@gentoo.org>2022-09-02 06:32:13 +0100
commit8b48848a1b4238b6e3abb3e9b546014bc72d5c8e (patch)
treeb0fa0ad6c73736f7a78e259e66f8c967bfb507a8
parentmedia-video/bino: Stabilize 1.6.8 amd64, #867946 (diff)
downloadgentoo-8b48848a1b4238b6e3abb3e9b546014bc72d5c8e.tar.gz
gentoo-8b48848a1b4238b6e3abb3e9b546014bc72d5c8e.tar.bz2
gentoo-8b48848a1b4238b6e3abb3e9b546014bc72d5c8e.zip
media-gfx/inkscape: add link to upstream PR for poppler fix
Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--media-gfx/inkscape/files/inkscape-1.2.1-poppler-22.09.0.patch38
1 files changed, 38 insertions, 0 deletions
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 <sam@gentoo.org>
+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 <sam@gentoo.org>
--- 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*/)