From 908f8583d613116e9fd09fb1d3869d84d52c3035 Mon Sep 17 00:00:00 2001 From: suvari Date: Wed, 22 Oct 2025 15:49:54 +0300 Subject: [PATCH] inkscape: version bump to 1.4.2 --- .../files/inkscape-1.4-poppler-25.06.0.patch | 123 ++++++++++++++++++ multimedia/graphics/inkscape/pspec.xml | 22 ++-- 2 files changed, 135 insertions(+), 10 deletions(-) create mode 100644 multimedia/graphics/inkscape/files/inkscape-1.4-poppler-25.06.0.patch diff --git a/multimedia/graphics/inkscape/files/inkscape-1.4-poppler-25.06.0.patch b/multimedia/graphics/inkscape/files/inkscape-1.4-poppler-25.06.0.patch new file mode 100644 index 0000000000..3f4b4ee49d --- /dev/null +++ b/multimedia/graphics/inkscape/files/inkscape-1.4-poppler-25.06.0.patch @@ -0,0 +1,123 @@ +From https://gitlab.com/inkscape/inkscape/-/merge_requests/7264 + +From 97bd8f29a61e691ceea98ca2444b974cf4256ae0 Mon Sep 17 00:00:00 2001 +From: Rafael Siejakowski +Date: Sun, 8 Jun 2025 21:30:44 +0200 +Subject: [PATCH] Fix build against Poppler 25.06 + +Accommodate for the private API change, whereby an array of pointers +has been replaced with a vector of unique_ptr. + +Backported from MR 7261 +https://gitlab.com/inkscape/inkscape/-/merge_requests/7261 + +Fixes https://gitlab.com/inkscape/inkscape/-/issues/5836 +--- + .../internal/pdfinput/pdf-parser.cpp | 23 +++++++++++-------- + .../pdfinput/poppler-transition-api.h | 12 ++++++++++ + 2 files changed, 25 insertions(+), 10 deletions(-) + +diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp +index 01d7bf6ef0e..0d31eda16f4 100644 +--- a/src/extension/internal/pdfinput/pdf-parser.cpp ++++ b/src/extension/internal/pdfinput/pdf-parser.cpp +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + #include // std::call_once() + #include + #include +@@ -686,7 +687,6 @@ void PdfParser::opSetLineWidth(Object args[], int /*numArgs*/) + void PdfParser::opSetExtGState(Object args[], int /*numArgs*/) + { + Object obj1, obj2, obj3, obj4, obj5; +- Function *funcs[4] = {nullptr, nullptr, nullptr, nullptr}; + GfxColor backdropColor; + GBool haveBackdropColor = gFalse; + GBool alpha = gFalse; +@@ -744,13 +744,14 @@ void PdfParser::opSetExtGState(Object args[], int /*numArgs*/) + state->setLineWidth(obj2.getNum()); + } + ++ _POPPLER_DECLARE_TRANSFER_FUNCTION_VECTOR(funcs); ++ + // transfer function + if (_POPPLER_CALL_ARGS_DEREF(obj2, obj1.dictLookup, "TR2").isNull()) { + _POPPLER_CALL_ARGS(obj2, obj1.dictLookup, "TR"); + } + if (obj2.isName(const_cast("Default")) || obj2.isName(const_cast("Identity"))) { +- funcs[0] = funcs[1] = funcs[2] = funcs[3] = nullptr; +- state->setTransfer(funcs); ++ state->setTransfer(std::move(funcs)); + } else if (obj2.isArray() && obj2.arrayGetLength() == 4) { + int pos = 4; + for (int i = 0; i < 4; ++i) { +@@ -763,12 +764,14 @@ void PdfParser::opSetExtGState(Object args[], int /*numArgs*/) + } + _POPPLER_FREE(obj3); + if (pos == 4) { +- state->setTransfer(funcs); ++ state->setTransfer(std::move(funcs)); + } + } else if (obj2.isName() || obj2.isDict() || obj2.isStream()) { + if ((funcs[0] = Function::parse(&obj2))) { +- funcs[1] = funcs[2] = funcs[3] = nullptr; +- state->setTransfer(funcs); ++ funcs[1] = nullptr; ++ funcs[2] = nullptr; ++ funcs[3] = nullptr; ++ state->setTransfer(std::move(funcs)); + } + } else if (!obj2.isNull()) { + error(errSyntaxError, getPos(), "Invalid transfer function in ExtGState"); +@@ -790,8 +793,7 @@ void PdfParser::opSetExtGState(Object args[], int /*numArgs*/) + funcs[0] = Function::parse(&obj3); + if (funcs[0]->getInputSize() != 1 || funcs[0]->getOutputSize() != 1) { + error(errSyntaxError, getPos(), "Invalid transfer function in soft mask in ExtGState"); +- delete funcs[0]; +- funcs[0] = nullptr; ++ _POPPLER_DELETE_TRANSFER_FUNCTION(funcs[0]); + } + } + _POPPLER_FREE(obj3); +@@ -835,9 +837,10 @@ void PdfParser::opSetExtGState(Object args[], int /*numArgs*/) + } + } + } +- doSoftMask(&obj3, alpha, blendingColorSpace.get(), isolated, knockout, funcs[0], &backdropColor); ++ doSoftMask(&obj3, alpha, blendingColorSpace.get(), isolated, knockout, ++ _POPPLER_GET_TRANSFER_FUNCTION_POINTER(funcs[0]), &backdropColor); + if (funcs[0]) { +- delete funcs[0]; ++ _POPPLER_DELETE_TRANSFER_FUNCTION(funcs[0]); + } + } else { + error(errSyntaxError, getPos(), "Invalid soft mask in ExtGState - missing group"); +diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h +index a67132ba6bd..d04412757bc 100644 +--- a/src/extension/internal/pdfinput/poppler-transition-api.h ++++ b/src/extension/internal/pdfinput/poppler-transition-api.h +@@ -15,6 +15,18 @@ + #include + #include + ++#if POPPLER_CHECK_VERSION(25, 6, 0) ++#define _POPPLER_DECLARE_TRANSFER_FUNCTION_VECTOR(name) std::vector> name(4) ++#define _POPPLER_DELETE_TRANSFER_FUNCTION(name) name.reset() ++#define _POPPLER_GET_TRANSFER_FUNCTION_POINTER(name) name.get() ++#else ++#define _POPPLER_DECLARE_TRANSFER_FUNCTION_VECTOR(name) Function *name[4] = {} ++#define _POPPLER_DELETE_TRANSFER_FUNCTION(name) \ ++ delete name; \ ++ name = nullptr ++#define _POPPLER_GET_TRANSFER_FUNCTION_POINTER(name) name ++#endif ++ + #if POPPLER_CHECK_VERSION(25,2,0) + #define _POPPLER_GET_CODE_TO_GID_MAP(ff, len) getCodeToGIDMap(ff) + #define _POPPLER_GET_CID_TO_GID_MAP(len) getCIDToGIDMap() +-- +GitLab + diff --git a/multimedia/graphics/inkscape/pspec.xml b/multimedia/graphics/inkscape/pspec.xml index f92a2084c0..b97bddbd2a 100644 --- a/multimedia/graphics/inkscape/pspec.xml +++ b/multimedia/graphics/inkscape/pspec.xml @@ -15,8 +15,8 @@ app:gui SVG vector graphics application. Inkscape is an application to create, edit, and convert SVG vector graphics images that can also import from and export to bitmap image files. - - https://inkscape.org/gallery/item/53679/inkscape-1.4.tar.xz + + https://inkscape.org/gallery/item/56344/inkscape-1.4.2.tar.xz cmake @@ -60,7 +60,6 @@ libwpd-devel liblqr-devel libxslt-devel - libsoup-devel python3-devel boost-python3 poppler-devel @@ -68,6 +67,7 @@ libyaml-devel libvisio-devel libspiro-devel + pstoedit-devel gtkspell3-devel dbus-glib-devel librevenge-devel @@ -81,12 +81,7 @@ python3-pygobject3-devel - inkscape-1.4-cmake4.patch - inkscape-1.4-gcc15.patch - inkscape-1.4-poppler-24.10-fix-backport.patch - inkscape-1.4-poppler-24.11.0.patch - inkscape-1.4-poppler-24.12.0.patch - inkscape-1.4-poppler-25.02.0.patch + inkscape-1.4-poppler-25.06.0.patch @@ -118,7 +113,6 @@ potrace cairomm libgomp - libsoup libxml2 libxslt pangomm @@ -130,6 +124,7 @@ libvisio libspiro libepoxy + pstoedit dbus-glib gtkspell3 libsigc++ @@ -192,6 +187,13 @@ + + 2025-10-22 + 1.4.2 + Version bump + Kamil Atlı + suvari@pisilinux.org + 2025-04-29 1.4