From f700090e521f4ec43ea2194b168580658993c7a2 Mon Sep 17 00:00:00 2001 From: Albert Schwarzkopf Date: Mon, 12 Dec 2022 16:27:55 +0100 Subject: [PATCH] inkscape: rebuild for poppler-22.12.0 --- .../inkscape-1.2.1-poppler-22.09.0.patch | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 srcpkgs/inkscape/patches/inkscape-1.2.1-poppler-22.09.0.patch diff --git a/srcpkgs/inkscape/patches/inkscape-1.2.1-poppler-22.09.0.patch b/srcpkgs/inkscape/patches/inkscape-1.2.1-poppler-22.09.0.patch new file mode 100644 index 00000000000..36d4192c862 --- /dev/null +++ b/srcpkgs/inkscape/patches/inkscape-1.2.1-poppler-22.09.0.patch @@ -0,0 +1,53 @@ +From 2f3101417a04721c42b6b101dde07fa961a56f1b Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Tue, 6 Sep 2022 10:10:25 +0000 +Subject: [PATCH] Fix build with Poppler 22.09.0 + +Adapt to changes in Poppler's getLineDash/setLineDash interface to allow building with Poppler 22.09.0. +--- + src/extension/internal/pdfinput/pdf-parser.cpp | 4 ++++ + src/extension/internal/pdfinput/svg-builder.cpp | 9 ++++++++- + 2 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp +index cca1e84096..80d64c9b86 100644 +--- 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*/) + _POPPLER_FREE(obj); + } + } ++#if POPPLER_CHECK_VERSION(22, 9, 0) ++ state->setLineDash(std::vector (dash, dash + length), args[1].getNum()); ++#else + state->setLineDash(dash, length, args[1].getNum()); ++#endif + builder->updateStyle(state); + } + +diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp +index 12f71dd921..9fc56fe63c 100644 +--- a/src/extension/internal/pdfinput/svg-builder.cpp ++++ b/src/extension/internal/pdfinput/svg-builder.cpp +@@ -389,10 +389,17 @@ void SvgBuilder::_setStrokeStyle(SPCSSAttr *css, GfxState *state) { + sp_repr_css_set_property(css, "stroke-miterlimit", os_ml.str().c_str()); + + // Line dash +- double *dash_pattern; + int dash_length; + double dash_start; ++#if POPPLER_CHECK_VERSION(22, 9, 0) ++ const double *dash_pattern; ++ const std::vector &dash = state->getLineDash(&dash_start); ++ dash_pattern = dash.data(); ++ dash_length = dash.size(); ++#else ++ double *dash_pattern; + state->getLineDash(&dash_pattern, &dash_length, &dash_start); ++#endif + if ( dash_length > 0 ) { + Inkscape::CSSOStringStream os_array; + for ( int i = 0 ; i < dash_length ; i++ ) { +-- +GitLab +