Skip to Content.
Sympa Menu

sm-commit - [[SM-Commit] ] GIT changes to master grimoire by Thomas Orgis (c2049168ffb64f5490e89275b2741865377124a9)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Thomas Orgis <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org, sm-commit AT lists.sourcemage.org
  • Subject: [[SM-Commit] ] GIT changes to master grimoire by Thomas Orgis (c2049168ffb64f5490e89275b2741865377124a9)
  • Date: Mon, 1 Sep 2025 15:10:44 +0000

GIT changes to master grimoire by Thomas Orgis <sobukus AT sourcemage.org>:

graphics/inkscape/DETAILS
| 9
graphics/inkscape/HISTORY
| 10

graphics/inkscape/patches/0001-Future-proof-against-poppler-24.10-changes.patch
| 432 ----------
graphics/inkscape/patches/0001-blfs-poppler-25.07-fix.patch
| 262 ++++++
graphics/inkscape/patches/0002-Fix-building-with-Poppler-24.11.patch
| 62 -
graphics/inkscape/patches/0003-Fix-Poppler-private-includes.patch
| 42
graphics/inkscape/patches/0004-Fix-building-with-poppler-24.12.0.patch
| 56 -
http/firefox-esr/DETAILS
| 6
http/firefox-esr/HISTORY
| 3
9 files changed, 282 insertions(+), 600 deletions(-)

New commits:
commit c2049168ffb64f5490e89275b2741865377124a9
Author: Thomas Orgis <sobukus AT sourcemage.org>
Commit: Thomas Orgis <sobukus AT sourcemage.org>

firefox-esr: version 128.14.0esr, ++SECURITY_PATCH

commit 18085ffcfa5af1634e6192b7c7173da599b244b8
Author: Thomas Orgis <sobukus AT sourcemage.org>
Commit: Thomas Orgis <sobukus AT sourcemage.org>

inkscape: update to 1.4.2 and fix up build with poppler

diff --git a/graphics/inkscape/DETAILS b/graphics/inkscape/DETAILS
index 1dd08c0..a804f1c 100755
--- a/graphics/inkscape/DETAILS
+++ b/graphics/inkscape/DETAILS
@@ -1,14 +1,13 @@
# Watch: https://inkscape.org/release/ /release/inkscape-([0-9.]+)/source/
. "$GRIMOIRE"/CMAKE_FUNCTIONS
SPELL=inkscape
- VERSION=1.4
+ VERSION=1.4.2
PATCHLEVEL=1
- XVERSION=2024-10-09_e7c3feb100
- ITEM=53679
+ XVERSION=2025-05-08_ebf0e940d0
SOURCE=$SPELL-$VERSION.tar.xz
SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-${VERSION}_$XVERSION"
- SOURCE_URL[0]="https://inkscape.org/gallery/item/$ITEM/$SOURCE";
-
SOURCE_HASH=sha512:3b81306b81416597073e7eda2a103112cee63493bcf96fa737bb1edfbd682ebb329e415bbbbfda877aef2a78dc376460040ebc5c0cc2c90c0fe60db5d7d12368
+ SOURCE_URL[0]="https://media.inkscape.org/dl/resources/file/$SOURCE";
+
SOURCE_HASH=sha256:2000530c7917e5260c9e8575a7154ff6926643d2006487d714e304a963f0c782:UPSTREAM_HASH
WEB_SITE=http://www.inkscape.org/
ENTERED=20031207
SECURITY_PATCH=2
diff --git a/graphics/inkscape/HISTORY b/graphics/inkscape/HISTORY
index d83f0a6..94e0b4d 100644
--- a/graphics/inkscape/HISTORY
+++ b/graphics/inkscape/HISTORY
@@ -1,3 +1,13 @@
+2025-08-20 Thomas Orgis <sobukus AT sourcemage.org>
+ * DETAILS: version 1.4.2
+ * patches/0001-Future-proof-against-poppler-24.10-changes.patch,
+ patches/0002-Fix-building-with-Poppler-24.11.patch,
+ patches/0003-Fix-Poppler-private-includes.patch,
+ patches/0004-Fix-building-with-poppler-24.12.0.patch: removed,
upstreamed
+ * patches/0001-blfs-poppler-25.07-fix.patch:
+ fix poppler yet again, to be removed on release of 1.4.3 (if they
+ include the bit for poppler 25.06 to 25.07, that is)
+
2025-01-15 Ismael Luceno <ismael AT sourcemage.org>
* DETAILS: PATCHLEVEL++
* patches/0001-Future-proof-against-poppler-24.10-changes.patch,
diff --git
a/graphics/inkscape/patches/0001-Future-proof-against-poppler-24.10-changes.patch

b/graphics/inkscape/patches/0001-Future-proof-against-poppler-24.10-changes.patch
deleted file mode 100644
index c069116..0000000
---
a/graphics/inkscape/patches/0001-Future-proof-against-poppler-24.10-changes.patch
+++ /dev/null
@@ -1,432 +0,0 @@
-From 22304ae8034d067670a9f95022083a75fac92b4c Mon Sep 17 00:00:00 2001
-From: PBS <pbs3141 AT gmail.com>
-Date: Tue, 22 Oct 2024 14:48:31 +0100
-Subject: [PATCH 1/4] Future-proof against poppler 24.10 changes
-
-Upstream-Status: Backport
-Signed-off-by: Ismael Luceno <ismael AT sourcemage.org>
----
- .../internal/pdfinput/pdf-parser.cpp | 120 ++++++++----------
- src/extension/internal/pdfinput/pdf-parser.h | 4 +-
- .../pdfinput/poppler-transition-api.h | 6 +
- 3 files changed, 61 insertions(+), 69 deletions(-)
-
-diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp
b/src/extension/internal/pdfinput/pdf-parser.cpp
-index 97b2909218a..28000a87b0c 100644
---- a/src/extension/internal/pdfinput/pdf-parser.cpp
-+++ b/src/extension/internal/pdfinput/pdf-parser.cpp
-@@ -817,11 +817,11 @@ void PdfParser::opSetExtGState(Object args[], int
/*numArgs*/)
- _POPPLER_FREE(obj3);
- if (_POPPLER_CALL_ARGS_DEREF(obj3, obj2.dictLookup,
"G").isStream()) {
- if (_POPPLER_CALL_ARGS_DEREF(obj4,
obj3.streamGetDict()->lookup, "Group").isDict()) {
-- GfxColorSpace *blendingColorSpace = nullptr;
-+ std::unique_ptr<GfxColorSpace> blendingColorSpace;
- GBool isolated = gFalse;
- GBool knockout = gFalse;
- if (!_POPPLER_CALL_ARGS_DEREF(obj5, obj4.dictLookup,
"CS").isNull()) {
-- blendingColorSpace = GfxColorSpace::parse(nullptr,
&obj5, nullptr, state);
-+ blendingColorSpace =
std::unique_ptr<GfxColorSpace>(GfxColorSpace::parse(nullptr, &obj5, nullptr,
state));
- }
- _POPPLER_FREE(obj5);
- if (_POPPLER_CALL_ARGS_DEREF(obj5, obj4.dictLookup,
"I").isBool()) {
-@@ -842,7 +842,7 @@ void PdfParser::opSetExtGState(Object args[], int
/*numArgs*/)
- }
- }
- }
-- doSoftMask(&obj3, alpha, blendingColorSpace, isolated,
knockout, funcs[0], &backdropColor);
-+ doSoftMask(&obj3, alpha, blendingColorSpace.get(),
isolated, knockout, funcs[0], &backdropColor);
- if (funcs[0]) {
- delete funcs[0];
- }
-@@ -927,9 +927,6 @@ void PdfParser::doSoftMask(Object *str, GBool alpha,
- alpha, transferFunc, backdropColor);
- --formDepth;
-
-- if (blendingColorSpace) {
-- delete blendingColorSpace;
-- }
- _POPPLER_FREE(obj1);
- }
-
-@@ -946,42 +943,43 @@ void PdfParser::opSetRenderingIntent(Object
/*args*/[], int /*numArgs*/)
- *
- * Maintains a cache for named color spaces to avoid expensive re-parsing.
- */
--GfxColorSpace *PdfParser::lookupColorSpaceCopy(Object &arg)
-+std::unique_ptr<GfxColorSpace> PdfParser::lookupColorSpaceCopy(Object &arg)
- {
- assert(!arg.isNull());
-- GfxColorSpace *colorSpace = nullptr;
-
- if (char const *name = arg.isName() ? arg.getName() : nullptr) {
- auto const cache_name = std::to_string(formDepth) + "-" + name;
-- if ((colorSpace = colorSpacesCache[cache_name].get())) {
-- return colorSpace->copy();
-+ if (auto cached = colorSpacesCache[cache_name].get()) {
-+ return std::unique_ptr<GfxColorSpace>(cached->copy());
- }
-
-- Object obj = res->lookupColorSpace(name);
-- if (obj.isNull()) {
-- colorSpace = GfxColorSpace::parse(res, &arg, nullptr, state);
-+ std::unique_ptr<GfxColorSpace> colorSpace;
-+ if (auto obj = res->lookupColorSpace(name); !obj.isNull()) {
-+ colorSpace =
std::unique_ptr<GfxColorSpace>(GfxColorSpace::parse(res, &obj, nullptr,
state));
- } else {
-- colorSpace = GfxColorSpace::parse(res, &obj, nullptr, state);
-+ colorSpace =
std::unique_ptr<GfxColorSpace>(GfxColorSpace::parse(res, &arg, nullptr,
state));
- }
-
- if (colorSpace && colorSpace->getMode() != csPattern) {
-- colorSpacesCache[cache_name].reset(colorSpace->copy());
-+ colorSpacesCache[cache_name] =
std::unique_ptr<GfxColorSpace>(colorSpace->copy());
- }
-+
-+ return colorSpace;
- } else {
- // We were passed in an object directly.
-- colorSpace = GfxColorSpace::parse(res, &arg, nullptr, state);
-+ return std::unique_ptr<GfxColorSpace>(GfxColorSpace::parse(res,
&arg, nullptr, state));
- }
-- return colorSpace;
- }
-
- /**
- * Look up pattern/gradients from the GfxResource dictionary
- */
--GfxPattern *PdfParser::lookupPattern(Object *obj, GfxState *state)
-+std::unique_ptr<GfxPattern> PdfParser::lookupPattern(Object *obj, GfxState
*state)
- {
-- if (!obj->isName())
-- return nullptr;
-- return res->lookupPattern(obj->getName(), nullptr, state);
-+ if (!obj->isName()) {
-+ return {};
-+ }
-+ return std::unique_ptr<GfxPattern>(res->lookupPattern(obj->getName(),
nullptr, state));
- }
-
- // TODO not good that numArgs is ignored but args[] is used:
-@@ -990,7 +988,7 @@ void PdfParser::opSetFillGray(Object args[], int
/*numArgs*/)
- GfxColor color;
- builder->beforeStateChange(state);
- state->setFillPattern(nullptr);
-- state->setFillColorSpace(new GfxDeviceGrayColorSpace());
-+
state->setFillColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(std::make_unique<GfxDeviceGrayColorSpace>()));
- color.c[0] = dblToCol(args[0].getNum());
- state->setFillColor(&color);
- builder->updateStyle(state);
-@@ -1002,7 +1000,7 @@ void PdfParser::opSetStrokeGray(Object args[], int
/*numArgs*/)
- GfxColor color;
- builder->beforeStateChange(state);
- state->setStrokePattern(nullptr);
-- state->setStrokeColorSpace(new GfxDeviceGrayColorSpace());
-+
state->setStrokeColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(std::make_unique<GfxDeviceGrayColorSpace>()));
- color.c[0] = dblToCol(args[0].getNum());
- state->setStrokeColor(&color);
- builder->updateStyle(state);
-@@ -1015,7 +1013,7 @@ void PdfParser::opSetFillCMYKColor(Object args[], int
/*numArgs*/)
- int i;
- builder->beforeStateChange(state);
- state->setFillPattern(nullptr);
-- state->setFillColorSpace(new GfxDeviceCMYKColorSpace());
-+
state->setFillColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(std::make_unique<GfxDeviceCMYKColorSpace>()));
- for (i = 0; i < 4; ++i) {
- color.c[i] = dblToCol(args[i].getNum());
- }
-@@ -1029,7 +1027,7 @@ void PdfParser::opSetStrokeCMYKColor(Object args[],
int /*numArgs*/)
- GfxColor color;
- builder->beforeStateChange(state);
- state->setStrokePattern(nullptr);
-- state->setStrokeColorSpace(new GfxDeviceCMYKColorSpace());
-+
state->setStrokeColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(std::make_unique<GfxDeviceCMYKColorSpace>()));
- for (int i = 0; i < 4; ++i) {
- color.c[i] = dblToCol(args[i].getNum());
- }
-@@ -1043,7 +1041,7 @@ void PdfParser::opSetFillRGBColor(Object args[], int
/*numArgs*/)
- GfxColor color;
- builder->beforeStateChange(state);
- state->setFillPattern(nullptr);
-- state->setFillColorSpace(new GfxDeviceRGBColorSpace());
-+
state->setFillColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(std::make_unique<GfxDeviceRGBColorSpace>()));
- for (int i = 0; i < 3; ++i) {
- color.c[i] = dblToCol(args[i].getNum());
- }
-@@ -1056,7 +1054,7 @@ void PdfParser::opSetStrokeRGBColor(Object args[], int
/*numArgs*/) {
- GfxColor color;
- builder->beforeStateChange(state);
- state->setStrokePattern(nullptr);
-- state->setStrokeColorSpace(new GfxDeviceRGBColorSpace());
-+
state->setStrokeColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(std::make_unique<GfxDeviceRGBColorSpace>()));
- for (int i = 0; i < 3; ++i) {
- color.c[i] = dblToCol(args[i].getNum());
- }
-@@ -1068,14 +1066,14 @@ void PdfParser::opSetStrokeRGBColor(Object args[],
int /*numArgs*/) {
- void PdfParser::opSetFillColorSpace(Object args[], int numArgs)
- {
- assert(numArgs >= 1);
-- GfxColorSpace *colorSpace = lookupColorSpaceCopy(args[0]);
-+ auto colorSpace = lookupColorSpaceCopy(args[0]);
- builder->beforeStateChange(state);
- state->setFillPattern(nullptr);
-
- if (colorSpace) {
- GfxColor color;
-- state->setFillColorSpace(colorSpace);
- colorSpace->getDefaultColor(&color);
-+ state->setFillColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(colorSpace));
- state->setFillColor(&color);
- builder->updateStyle(state);
- } else {
-@@ -1089,14 +1087,14 @@ void PdfParser::opSetStrokeColorSpace(Object args[],
int numArgs)
- assert(numArgs >= 1);
- builder->beforeStateChange(state);
-
-- GfxColorSpace *colorSpace = lookupColorSpaceCopy(args[0]);
-+ auto colorSpace = lookupColorSpaceCopy(args[0]);
-
- state->setStrokePattern(nullptr);
-
- if (colorSpace) {
- GfxColor color;
-- state->setStrokeColorSpace(colorSpace);
- colorSpace->getDefaultColor(&color);
-+ state->setStrokeColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(colorSpace));
- state->setStrokeColor(&color);
- builder->updateStyle(state);
- } else {
-@@ -1159,7 +1157,7 @@ void PdfParser::opSetFillColorN(Object args[], int
numArgs) {
- builder->updateStyle(state);
- }
- if (auto pattern = lookupPattern(&(args[numArgs - 1]), state)) {
-- state->setFillPattern(pattern);
-+ state->setFillPattern(_POPPLER_CONSUME_UNIQPTR_ARG(pattern));
- builder->updateStyle(state);
- }
-
-@@ -1202,7 +1200,7 @@ void PdfParser::opSetStrokeColorN(Object args[], int
numArgs) {
- builder->updateStyle(state);
- }
- if (auto pattern = lookupPattern(&(args[numArgs - 1]), state)) {
-- state->setStrokePattern(pattern);
-+ state->setStrokePattern(_POPPLER_CONSUME_UNIQPTR_ARG(pattern));
- builder->updateStyle(state);
- }
-
-@@ -1579,11 +1577,11 @@ void
PdfParser::doShadingPatternFillFallback(GfxShadingPattern *sPat,
- // TODO not good that numArgs is ignored but args[] is used:
- void PdfParser::opShFill(Object args[], int /*numArgs*/)
- {
-- GfxShading *shading = nullptr;
- GfxPath *savedPath = nullptr;
- bool savedState = false;
-
-- if (!(shading = res->lookupShading(args[0].getName(), nullptr, state))) {
-+ auto shading =
std::unique_ptr<GfxShading>(res->lookupShading(args[0].getName(), nullptr,
state));
-+ if (!shading) {
- return;
- }
-
-@@ -1615,19 +1613,19 @@ void PdfParser::opShFill(Object args[], int
/*numArgs*/)
- // do shading type-specific operations
- switch (shading->getType()) {
- case 1: // Function-based shading
-- doFunctionShFill(static_cast<GfxFunctionShading *>(shading));
-+ doFunctionShFill(static_cast<GfxFunctionShading *>(shading.get()));
- break;
- case 2: // Axial shading
- case 3: // Radial shading
-- builder->addClippedFill(shading, stateToAffine(state));
-+ builder->addClippedFill(shading.get(), stateToAffine(state));
- break;
- case 4: // Free-form Gouraud-shaded triangle mesh
- case 5: // Lattice-form Gouraud-shaded triangle mesh
-- doGouraudTriangleShFill(static_cast<GfxGouraudTriangleShading
*>(shading));
-+ doGouraudTriangleShFill(static_cast<GfxGouraudTriangleShading
*>(shading.get()));
- break;
- case 6: // Coons patch mesh
- case 7: // Tensor-product patch mesh
-- doPatchMeshShFill(static_cast<GfxPatchMeshShading *>(shading));
-+ doPatchMeshShFill(static_cast<GfxPatchMeshShading *>(shading.get()));
- break;
- }
-
-@@ -1636,8 +1634,6 @@ void PdfParser::opShFill(Object args[], int
/*numArgs*/)
- restoreState();
- state->setPath(savedPath);
- }
--
-- delete shading;
- }
-
- void PdfParser::doFunctionShFill(GfxFunctionShading *shading) {
-@@ -2528,7 +2524,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str,
GBool inlineImg)
-
- } else {
- // get color space and color map
-- GfxColorSpace *colorSpace;
-+ std::unique_ptr<GfxColorSpace> colorSpace;
- _POPPLER_CALL_ARGS(obj1, dict->lookup, "ColorSpace");
- if (obj1.isNull()) {
- _POPPLER_FREE(obj1);
-@@ -2537,13 +2533,11 @@ void PdfParser::doImage(Object * /*ref*/, Stream
*str, GBool inlineImg)
- if (!obj1.isNull()) {
- colorSpace = lookupColorSpaceCopy(obj1);
- } else if (csMode == streamCSDeviceGray) {
-- colorSpace = new GfxDeviceGrayColorSpace();
-+ colorSpace = std::make_unique<GfxDeviceGrayColorSpace>();
- } else if (csMode == streamCSDeviceRGB) {
-- colorSpace = new GfxDeviceRGBColorSpace();
-+ colorSpace = std::make_unique<GfxDeviceRGBColorSpace>();
- } else if (csMode == streamCSDeviceCMYK) {
-- colorSpace = new GfxDeviceCMYKColorSpace();
-- } else {
-- colorSpace = nullptr;
-+ colorSpace = std::make_unique<GfxDeviceCMYKColorSpace>();
- }
- _POPPLER_FREE(obj1);
- if (!colorSpace) {
-@@ -2554,10 +2548,9 @@ void PdfParser::doImage(Object * /*ref*/, Stream
*str, GBool inlineImg)
- _POPPLER_FREE(obj1);
- _POPPLER_CALL_ARGS(obj1, dict->lookup, "D");
- }
-- GfxImageColorMap *colorMap = new GfxImageColorMap(bits, &obj1,
colorSpace);
-+ auto colorMap = std::make_unique<GfxImageColorMap>(bits, &obj1,
_POPPLER_CONSUME_UNIQPTR_ARG(colorSpace));
- _POPPLER_FREE(obj1);
- if (!colorMap->isOk()) {
-- delete colorMap;
- goto err1;
- }
-
-@@ -2568,7 +2561,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str,
GBool inlineImg)
- int maskWidth = 0;
- int maskHeight = 0;
- maskInvert = gFalse;
-- GfxImageColorMap *maskColorMap = nullptr;
-+ std::unique_ptr<GfxImageColorMap> maskColorMap;
- _POPPLER_CALL_ARGS(maskObj, dict->lookup, "Mask");
- _POPPLER_CALL_ARGS(smaskObj, dict->lookup, "SMask");
- Dict* maskDict;
-@@ -2624,7 +2617,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str,
GBool inlineImg)
- _POPPLER_FREE(obj1);
- _POPPLER_CALL_ARGS(obj1, maskDict->lookup, "CS");
- }
-- GfxColorSpace *maskColorSpace = lookupColorSpaceCopy(obj1);
-+ auto maskColorSpace = lookupColorSpaceCopy(obj1);
- _POPPLER_FREE(obj1);
- if (!maskColorSpace || maskColorSpace->getMode() !=
csDeviceGray) {
- goto err1;
-@@ -2634,10 +2627,9 @@ void PdfParser::doImage(Object * /*ref*/, Stream
*str, GBool inlineImg)
- _POPPLER_FREE(obj1);
- _POPPLER_CALL_ARGS(obj1, maskDict->lookup, "D");
- }
-- maskColorMap = new GfxImageColorMap(maskBits, &obj1,
maskColorSpace);
-+ maskColorMap = std::make_unique<GfxImageColorMap>(maskBits,
&obj1, _POPPLER_CONSUME_UNIQPTR_ARG(maskColorSpace));
- _POPPLER_FREE(obj1);
- if (!maskColorMap->isOk()) {
-- delete maskColorMap;
- goto err1;
- }
- //~ handle the Matte entry
-@@ -2718,17 +2710,15 @@ void PdfParser::doImage(Object * /*ref*/, Stream
*str, GBool inlineImg)
-
- // draw it
- if (haveSoftMask) {
-- builder->addSoftMaskedImage(state, str, width, height, colorMap,
interpolate,
-- maskStr, maskWidth, maskHeight, maskColorMap,
maskInterpolate);
-- delete maskColorMap;
-+ builder->addSoftMaskedImage(state, str, width, height,
colorMap.get(), interpolate,
-+ maskStr, maskWidth, maskHeight,
maskColorMap.get(), maskInterpolate);
- } else if (haveExplicitMask) {
-- builder->addMaskedImage(state, str, width, height, colorMap,
interpolate,
-+ builder->addMaskedImage(state, str, width, height,
colorMap.get(), interpolate,
- maskStr, maskWidth, maskHeight, maskInvert,
maskInterpolate);
- } else {
-- builder->addImage(state, str, width, height, colorMap,
interpolate,
-- haveColorKeyMask ? maskColors : static_cast<int
*>(nullptr));
-+ builder->addImage(state, str, width, height, colorMap.get(),
interpolate,
-+ haveColorKeyMask ? maskColors : nullptr);
- }
-- delete colorMap;
-
- _POPPLER_FREE(maskObj);
- _POPPLER_FREE(smaskObj);
-@@ -2746,7 +2736,6 @@ void PdfParser::doForm(Object *str, double *offset)
- {
- Dict *dict;
- GBool transpGroup, isolated, knockout;
-- GfxColorSpace *blendingColorSpace;
- Object matrixObj, bboxObj;
- double m[6], bbox[4];
- Object resObj;
-@@ -2812,12 +2801,12 @@ void PdfParser::doForm(Object *str, double *offset)
-
- // check for a transparency group
- transpGroup = isolated = knockout = gFalse;
-- blendingColorSpace = nullptr;
-+ std::unique_ptr<GfxColorSpace> blendingColorSpace;
- if (_POPPLER_CALL_ARGS_DEREF(obj1, dict->lookup, "Group").isDict()) {
- if (_POPPLER_CALL_ARGS_DEREF(obj2, obj1.dictLookup,
"S").isName("Transparency")) {
- transpGroup = gTrue;
- if (!_POPPLER_CALL_ARGS_DEREF(obj3, obj1.dictLookup,
"CS").isNull()) {
-- blendingColorSpace = GfxColorSpace::parse(nullptr, &obj3,
nullptr, state);
-+ blendingColorSpace =
std::unique_ptr<GfxColorSpace>(GfxColorSpace::parse(nullptr, &obj3, nullptr,
state));
- }
- _POPPLER_FREE(obj3);
- if (_POPPLER_CALL_ARGS_DEREF(obj3, obj1.dictLookup, "I").isBool()) {
-@@ -2835,12 +2824,9 @@ void PdfParser::doForm(Object *str, double *offset)
-
- // draw it
- ++formDepth;
-- doForm1(str, resDict, m, bbox, transpGroup, gFalse, blendingColorSpace,
isolated, knockout);
-+ doForm1(str, resDict, m, bbox, transpGroup, gFalse,
blendingColorSpace.get(), isolated, knockout);
- --formDepth;
-
-- if (blendingColorSpace) {
-- delete blendingColorSpace;
-- }
- _POPPLER_FREE(resObj);
- }
-
-diff --git a/src/extension/internal/pdfinput/pdf-parser.h
b/src/extension/internal/pdfinput/pdf-parser.h
-index c7c10caefed..8325ea24364 100644
---- a/src/extension/internal/pdfinput/pdf-parser.h
-+++ b/src/extension/internal/pdfinput/pdf-parser.h
-@@ -137,7 +137,7 @@ public:
- void loadPatternColorProfiles(Dict *resources);
- void loadColorProfile();
- void loadColorSpaceProfile(GfxColorSpace *space, Object *obj);
-- GfxPattern *lookupPattern(Object *obj, GfxState *state);
-+ std::unique_ptr<GfxPattern> lookupPattern(Object *obj, GfxState *state);
-
- std::shared_ptr<CairoFontEngine> getFontEngine();
-
-@@ -176,7 +176,7 @@ private:
- //! Caches color spaces by name
- std::map<std::string, std::unique_ptr<GfxColorSpace>> colorSpacesCache;
-
-- GfxColorSpace *lookupColorSpaceCopy(Object &);
-+ std::unique_ptr<GfxColorSpace> lookupColorSpaceCopy(Object &);
-
- void setDefaultApproximationPrecision(); // init color deltas
- void pushOperator(const char *name);
-diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h
b/src/extension/internal/pdfinput/poppler-transition-api.h
-index 481aefadf46..8f03aa17779 100644
---- a/src/extension/internal/pdfinput/poppler-transition-api.h
-+++ b/src/extension/internal/pdfinput/poppler-transition-api.h
-@@ -15,6 +15,12 @@
- #include <glib/poppler-features.h>
- #include <poppler/UTF.h>
-
-+#if POPPLER_CHECK_VERSION(24, 10, 0)
-+#define _POPPLER_CONSUME_UNIQPTR_ARG(value) std::move(value)
-+#else
-+#define _POPPLER_CONSUME_UNIQPTR_ARG(value) value.release()
-+#endif
-+
- #if POPPLER_CHECK_VERSION(24, 5, 0)
- #define _POPPLER_HAS_UNICODE_BOM(value)
(hasUnicodeByteOrderMark(value->toStr()))
- #define _POPPLER_HAS_UNICODE_BOMLE(value)
(hasUnicodeByteOrderMarkLE(value->toStr()))
---
-GitLab
-
diff --git a/graphics/inkscape/patches/0001-blfs-poppler-25.07-fix.patch
b/graphics/inkscape/patches/0001-blfs-poppler-25.07-fix.patch
new file mode 100644
index 0000000..fc4ca7f
--- /dev/null
+++ b/graphics/inkscape/patches/0001-blfs-poppler-25.07-fix.patch
@@ -0,0 +1,262 @@
+Fetched from:
https://www.linuxfromscratch.org/patches/blfs/svn/inkscape-1.4.2-poppler_fixes-3.patch
+
+Submitted By: Douglas R. Reno <renodr at linuxfromscratch dot org>
+Date: 2025-06-09
+Initial Package Version: 1.4.2
+Upstream Status: Pending (but approved)
+Origin: Upstream
(https://gitlab.com/inkscape/inkscape/-/merge_requests/7264)
+Description: Fixes building Inkscape against poppler-25.06 by
+ adapting to a private API change where an array of
+ pointers was changed to a vector of unique_ptr. The
MR
+ upstream also adapted the source to be able to build
+ with a copy of poppler built but not installed to
the
+ system, but I didn't carry that part of the patch in
+ as it was both not needed and does not apply without
+ more backports to this version of Inkscape.
+ As such, the only commit we needed was:
+ 97bd8f29a61e691ceea98ca2444b974cf4256ae0
+ Tested with importing clisp-link.pdf from the clisp
+ docs in /usr/share/doc/clisp-2.49.
+
+Updated by: Bruce Dubbs <bdubbs AT linuxfromscratch.org>
+Date: 2025-07-10
+Upstream Status: Pending (but approved)
+Origin: Upstream
(https://gitlab.com/inkscape/inkscape/-/merge_requests/7321)
+Description: Fixes building Inkscape against poppler-25.07
+ Combines previous patch for poppler-25.06 with the
new patch.
+
+
+
+diff -Naurp
inkscape-1.4.2_2025-05-08_ebf0e940d0.orig/src/extension/internal/pdfinput/pdf-parser.cpp

inkscape-1.4.2_2025-05-08_ebf0e940d0/src/extension/internal/pdfinput/pdf-parser.cpp
+---
inkscape-1.4.2_2025-05-08_ebf0e940d0.orig/src/extension/internal/pdfinput/pdf-parser.cpp
2025-06-09 11:22:00.642525421 -0500
++++
inkscape-1.4.2_2025-05-08_ebf0e940d0/src/extension/internal/pdfinput/pdf-parser.cpp
2025-06-09 11:22:07.963786719 -0500
+@@ -27,6 +27,7 @@
+ #include <cstdio>
+ #include <cstdlib>
+ #include <cstring>
++#include <memory>
+ #include <mutex> // std::call_once()
+ #include <utility>
+ #include <vector>
+@@ -686,7 +687,6 @@ void PdfParser::opSetLineWidth(Object ar
+ 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 ar
+ 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<char *>("Default")) ||
obj2.isName(const_cast<char *>("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 ar
+ }
+ _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 ar
+ 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 ar
+ }
+ }
+ }
+- 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 -Naurp
inkscape-1.4.2_2025-05-08_ebf0e940d0.orig/src/extension/internal/pdfinput/poppler-transition-api.h

inkscape-1.4.2_2025-05-08_ebf0e940d0/src/extension/internal/pdfinput/poppler-transition-api.h
+---
inkscape-1.4.2_2025-05-08_ebf0e940d0.orig/src/extension/internal/pdfinput/poppler-transition-api.h
2025-06-09 11:22:00.642572932 -0500
++++
inkscape-1.4.2_2025-05-08_ebf0e940d0/src/extension/internal/pdfinput/poppler-transition-api.h
2025-06-09 11:22:07.963963819 -0500
+@@ -15,6 +15,18 @@
+ #include <glib/poppler-features.h>
+ #include <poppler/UTF.h>
+
++#if POPPLER_CHECK_VERSION(25, 6, 0)
++#define _POPPLER_DECLARE_TRANSFER_FUNCTION_VECTOR(name)
std::vector<std::unique_ptr<Function>> 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()
+
+From ce52c5f96106ae5747171663a46831f21aa52d95 Mon Sep 17 00:00:00 2001
+From: KrIr17 <elendil.krir17 AT gmail.com>
+Date: Sun, 6 Jul 2025 15:42:13 +0200
+Subject: [PATCH] Fix building with Poppler 25.07.0
+
+Fix building issues with
+
+1.
[`GfxState::shift()`](https://gitlab.freedesktop.org/poppler/poppler/-/commit/71bf5552d448a6fdb666f2b61764b61ca197617d)
+
+2. [`FoFiTrueType::make` and `FoFiType1C::make`](FoFiTrueType::make)
+
+3. Fix typo from 5c4c6d116dae5250d75d34a45f0d9220824d2e20
+---
+ src/extension/internal/pdfinput/pdf-parser.cpp | 4 ++--
+ .../pdfinput/poppler-cairo-font-engine.cpp | 16 +++++++++++-----
+ .../internal/pdfinput/poppler-transition-api.h | 14 ++++++++++++++
+ 3 files changed, 27 insertions(+), 7 deletions(-)
+
+diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp
b/src/extension/internal/pdfinput/pdf-parser.cpp
+index f46d12f72e5..4071e464a44 100644
+--- a/src/extension/internal/pdfinput/pdf-parser.cpp
++++ b/src/extension/internal/pdfinput/pdf-parser.cpp
+@@ -2322,11 +2322,11 @@ void PdfParser::doShowText(GooString *s) {
+ state->textTransformDelta(originX, originY, &tOriginX, &tOriginY);
+
+ // In Gfx.cc this is drawChar(...)
+- builder->addChar(state, state->getCurX() + riseX, state->getCurY()
+ riseY,
++ builder->addChar(state, state->_POPPLER_GET_CUR_TEXT_X() + riseX,
state->_POPPLER_GET_CUR_TEXT_Y() + riseY,
+ dx, dy, ax, ay, tOriginX, tOriginY, code, n, u,
uLen);
+
+ // Move onto next unicode character.
+- state->shift(tdx, tdy);
++ state->_POPPLER_TEXT_SHIFT_WITH_USER_COORDS(tdx, tdy);
+ p += n;
+ len -= n;
+ }
+diff --git a/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
b/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
+index bd1d4e49367..cfc6961f629 100644
+--- a/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
++++ b/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
+@@ -316,7 +316,11 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont
*gfxFont, XRef *xref, FT_Li
+ #endif
+ char **enc;
+ const char *name;
++#if POPPLER_CHECK_VERSION(25, 7, 0)
++ std::unique_ptr<FoFiType1C> ff1c;
++#else
+ FoFiType1C *ff1c;
++#endif
+ std::optional<FreeTypeFontFace> font_face;
+ std::vector<int> codeToGID;
+ bool substitute = false;
+@@ -427,7 +431,7 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont
*gfxFont, XRef *xref, FT_Li
+ FoFiTrueType *ff;
+ #endif
+ if (!font_data.empty()) {
+- ff = FoFiTrueType::make((fontchar)font_data.data(),
font_data.size(), 0);
++ ff = _POPPLER_FOFI_TRUETYPE_MAKE(font_data, 0);
+ } else {
+ ff = FoFiTrueType::load(fileName.c_str(), 0);
+ }
+@@ -457,7 +461,7 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont
*gfxFont, XRef *xref, FT_Li
+ FoFiTrueType *ff;
+ #endif
+ if (!font_data.empty()) {
+- ff = FoFiTrueType::make((fontchar)font_data.data(),
font_data.size(), 0);
++ ff = _POPPLER_FOFI_TRUETYPE_MAKE(font_data, 0);
+ } else {
+ ff = FoFiTrueType::load(fileName.c_str(), 0);
+ }
+@@ -491,7 +495,7 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont
*gfxFont, XRef *xref, FT_Li
+ case fontCIDType0C:
+ if (!useCIDs) {
+ if (!font_data.empty()) {
+- ff1c = FoFiType1C::make((fontchar)font_data.data(),
font_data.size());
++ ff1c = _POPPLER_FOFI_TYPE1C_MAKE(font_data);
+ } else {
+ ff1c = FoFiType1C::load(fileName.c_str());
+ }
+@@ -504,7 +508,9 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont
*gfxFont, XRef *xref, FT_Li
+ codeToGID.insert(codeToGID.begin(), src, src + n);
+ gfree(src);
+ #endif
++#if !(POPPLER_CHECK_VERSION(25, 7, 0))
+ delete ff1c;
++#endif
+ }
+ }
+
+@@ -540,13 +546,13 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont
*gfxFont, XRef *xref, FT_Li
+ FoFiTrueType *ff;
+ #endif
+ if (!font_data.empty()) {
+- ff = FoFiTrueType::make((fontchar)font_data.data(),
font_data.size(), 0);
++ ff = _POPPLER_FOFI_TRUETYPE_MAKE(font_data, 0);
+ } else {
+ ff = FoFiTrueType::load(fileName.c_str(), 0);
+ }
+ if (ff) {
+ if (ff->isOpenTypeCFF()) {
+- auto src =
ff1c->_POPPLER_GET_CID_TO_GID_MAP(&n);
++ auto src = ff->_POPPLER_GET_CID_TO_GID_MAP(&n);
+ #if POPPLER_CHECK_VERSION(25,2,0)
+ codeToGID = std::move(src);
+ #else
+diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h
b/src/extension/internal/pdfinput/poppler-transition-api.h
+index d04412757bc..866b630bb67 100644
+--- a/src/extension/internal/pdfinput/poppler-transition-api.h
++++ b/src/extension/internal/pdfinput/poppler-transition-api.h
+@@ -15,6 +15,20 @@
+ #include <glib/poppler-features.h>
+ #include <poppler/UTF.h>
+
++#if POPPLER_CHECK_VERSION(25, 7, 0)
++#define _POPPLER_TEXT_SHIFT_WITH_USER_COORDS(dx, dy)
textShiftWithUserCoords(dx, dy)
++#define _POPPLER_FOFI_TRUETYPE_MAKE(font_data, faceIndex)
FoFiTrueType::make(std::span(font_data), faceIndex)
++#define _POPPLER_FOFI_TYPE1C_MAKE(font_data)
FoFiType1C::make(std::span(font_data))
++#define _POPPLER_GET_CUR_TEXT_X() getCurTextX()
++#define _POPPLER_GET_CUR_TEXT_Y() getCurTextY()
++#else
++#define _POPPLER_TEXT_SHIFT_WITH_USER_COORDS(dx, dy) shift(dx, dy)
++#define _POPPLER_FOFI_TRUETYPE_MAKE(font_data, faceIndex)
FoFiTrueType::make((fontchar)font_data.data(), font_data.size(), faceIndex)
++#define _POPPLER_FOFI_TYPE1C_MAKE(font_data)
FoFiType1C::make((fontchar)font_data.data(), font_data.size())
++#define _POPPLER_GET_CUR_TEXT_X() getCurX()
++#define _POPPLER_GET_CUR_TEXT_Y() getCurY()
++#endif
++
+ #if POPPLER_CHECK_VERSION(25, 6, 0)
+ #define _POPPLER_DECLARE_TRANSFER_FUNCTION_VECTOR(name)
std::vector<std::unique_ptr<Function>> name(4)
+ #define _POPPLER_DELETE_TRANSFER_FUNCTION(name) name.reset()
+--
+GitLab
+
diff --git
a/graphics/inkscape/patches/0002-Fix-building-with-Poppler-24.11.patch
b/graphics/inkscape/patches/0002-Fix-building-with-Poppler-24.11.patch
deleted file mode 100644
index 355d8e1..0000000
--- a/graphics/inkscape/patches/0002-Fix-building-with-Poppler-24.11.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 0399372ec240d23e0e70548237a541f2b5bf0f34 Mon Sep 17 00:00:00 2001
-From: KrIr17 <elendil.krir17 AT gmail.com>
-Date: Tue, 5 Nov 2024 00:40:15 +0100
-Subject: [PATCH 2/4] Fix building with Poppler 24.11
-
-Poppler 24.11 no longer sets the default value for faceIndex to 0 in
-`FoFiTrueType::make()` and `FoFiTrueType::load()` [1], so we do it
-on our end instead.
-
-Fixes https://gitlab.com/inkscape/inkscape/-/issues/5370
-
-[1]
https://gitlab.freedesktop.org/poppler/poppler/-/commit/94467509a013dd5cf46c942baa598f2b296571f4
-
-Upstream-Status: Backport
-Signed-off-by: Ismael Luceno <ismael AT sourcemage.org>
----
- .../internal/pdfinput/poppler-cairo-font-engine.cpp | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
b/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
-index 34a8eed682d..728b1d1aac4 100644
---- a/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
-+++ b/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
-@@ -419,9 +419,9 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont
*gfxFont, XRef *xref, FT_Li
- FoFiTrueType *ff;
- #endif
- if (!font_data.empty()) {
-- ff = FoFiTrueType::make((fontchar)font_data.data(),
font_data.size());
-+ ff = FoFiTrueType::make((fontchar)font_data.data(),
font_data.size(), 0);
- } else {
-- ff = FoFiTrueType::load(fileName.c_str());
-+ ff = FoFiTrueType::load(fileName.c_str(), 0);
- }
- if (!ff) {
- goto err2;
-@@ -444,9 +444,9 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont
*gfxFont, XRef *xref, FT_Li
- FoFiTrueType *ff;
- #endif
- if (!font_data.empty()) {
-- ff = FoFiTrueType::make((fontchar)font_data.data(),
font_data.size());
-+ ff = FoFiTrueType::make((fontchar)font_data.data(),
font_data.size(), 0);
- } else {
-- ff = FoFiTrueType::load(fileName.c_str());
-+ ff = FoFiTrueType::load(fileName.c_str(), 0);
- }
- if (!ff) {
- error(errSyntaxError, -1, "failed to load truetype font\n");
-@@ -512,9 +512,9 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont
*gfxFont, XRef *xref, FT_Li
- FoFiTrueType *ff;
- #endif
- if (!font_data.empty()) {
-- ff = FoFiTrueType::make((fontchar)font_data.data(),
font_data.size());
-+ ff = FoFiTrueType::make((fontchar)font_data.data(),
font_data.size(), 0);
- } else {
-- ff = FoFiTrueType::load(fileName.c_str());
-+ ff = FoFiTrueType::load(fileName.c_str(), 0);
- }
- if (ff) {
- if (ff->isOpenTypeCFF()) {
---
-GitLab
-
diff --git
a/graphics/inkscape/patches/0003-Fix-Poppler-private-includes.patch
b/graphics/inkscape/patches/0003-Fix-Poppler-private-includes.patch
deleted file mode 100644
index 1430ab4..0000000
--- a/graphics/inkscape/patches/0003-Fix-Poppler-private-includes.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 874dcfbd303bc7a1bddb6f34aebbb4dba8eda771 Mon Sep 17 00:00:00 2001
-From: Rafael Siejakowski <rs AT rs-math.net>
-Date: Sun, 10 Nov 2024 13:20:48 +0100
-Subject: [PATCH 3/4] Fix Poppler private includes
-
-In the PDF parser, include the Poppler private headers using
-the angular brackets and the poppler/ directory prefix, as is
-done in other places in the code which need Poppler's private
-headers.
-
-This fixes build against Poppler installed at a custom path.
-
-Upstream-Status: Backport
-Signed-off-by: Ismael Luceno <ismael AT sourcemage.org>
----
- src/extension/internal/pdfinput/pdf-parser.h | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/src/extension/internal/pdfinput/pdf-parser.h
b/src/extension/internal/pdfinput/pdf-parser.h
-index 8325ea24364..7d9189dfc0a 100644
---- a/src/extension/internal/pdfinput/pdf-parser.h
-+++ b/src/extension/internal/pdfinput/pdf-parser.h
-@@ -24,13 +24,12 @@
- #pragma interface
- #endif
-
--#include "glib/poppler-features.h"
--#include "Object.h"
--
-+#include <2geom/affine.h>
-+#include <glib/poppler-features.h>
- #include <map>
- #include <memory>
-+#include <poppler/Object.h>
- #include <string>
--#include <2geom/affine.h>
-
- #define Operator Operator_Gfx
- #include <poppler/Gfx.h>
---
-GitLab
-
diff --git
a/graphics/inkscape/patches/0004-Fix-building-with-poppler-24.12.0.patch
b/graphics/inkscape/patches/0004-Fix-building-with-poppler-24.12.0.patch
deleted file mode 100644
index 4fcf16b..0000000
--- a/graphics/inkscape/patches/0004-Fix-building-with-poppler-24.12.0.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From c9046810d899a408bfbd489aad91872b1203ee6d Mon Sep 17 00:00:00 2001
-From: KrIr17 <elendil.krir17 AT gmail.com>
-Date: Thu, 5 Dec 2024 15:03:47 +0100
-Subject: [PATCH 4/4] Fix building with poppler 24.12.0
-
-Fixes https://gitlab.com/inkscape/inkscape/-/issues/5415
-
-Upstream-Status: Backport
-Signed-off-by: Ismael Luceno <ismael AT sourcemage.org>
----
- src/extension/internal/pdfinput/pdf-parser.cpp | 4 +++-
- src/extension/internal/pdfinput/poppler-transition-api.h | 6 ++++++
- 2 files changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp
b/src/extension/internal/pdfinput/pdf-parser.cpp
-index 28000a87b0c..9ea30b90a48 100644
---- a/src/extension/internal/pdfinput/pdf-parser.cpp
-+++ b/src/extension/internal/pdfinput/pdf-parser.cpp
-@@ -2403,6 +2403,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str,
GBool inlineImg)
- int bits;
- GBool interpolate;
- StreamColorSpaceMode csMode;
-+ GBool hasAlpha;
- GBool mask;
- GBool invert;
- Object maskObj, smaskObj;
-@@ -2414,7 +2415,8 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str,
GBool inlineImg)
- // get info from the stream
- bits = 0;
- csMode = streamCSNone;
-- str->getImageParams(&bits, &csMode);
-+ hasAlpha = false;
-+ str->_POPPLER_GET_IMAGE_PARAMS(&bits, &csMode, &hasAlpha);
-
- // get stream dict
- dict = str->getDict();
-diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h
b/src/extension/internal/pdfinput/poppler-transition-api.h
-index 8f03aa17779..b7a54828e74 100644
---- a/src/extension/internal/pdfinput/poppler-transition-api.h
-+++ b/src/extension/internal/pdfinput/poppler-transition-api.h
-@@ -39,6 +39,12 @@
- #define _POPPLER_FUNCTION_TYPE_STITCHING 3
- #endif
-
-+#if POPPLER_CHECK_VERSION(24,12,0)
-+#define _POPPLER_GET_IMAGE_PARAMS(bits, csMode, hasAlpha)
getImageParams(bits, csMode, hasAlpha)
-+#else
-+#define _POPPLER_GET_IMAGE_PARAMS(bits, csMode, hasAlpha)
getImageParams(bits, csMode)
-+#endif
-+
- #if POPPLER_CHECK_VERSION(22, 4, 0)
- #define _POPPLER_FONTPTR_TO_GFX8(font_ptr) ((Gfx8BitFont *)font_ptr.get())
- #else
---
-GitLab
-
diff --git a/http/firefox-esr/DETAILS b/http/firefox-esr/DETAILS
index 8539933..4862e72 100755
--- a/http/firefox-esr/DETAILS
+++ b/http/firefox-esr/DETAILS
@@ -1,11 +1,11 @@
SPELL=firefox-esr
SPELLX=firefox
- VERSION=128.9.0esr
- SECURITY_PATCH=187
+ VERSION=128.14.0esr
+ SECURITY_PATCH=188
SOURCE="${SPELLX}-${VERSION}.source.tar.xz"

SOURCE_URL[0]="http://releases.mozilla.org/pub/${SPELLX}/releases/${VERSION}/source/${SOURCE}";
# Download SHA512SUMS and SHA512SUMS.asc, verify, then place hash here.
-
SOURCE_HASH="sha512:c0c8ac8374291cc93279064c73c17786c6f4fba7505ebc2cbd7a4ce7c82710620abdae7be15f60c43f9d10c3614fc9fd31f094e787105d528031c6f0510f7339:UPSTREAM_HASH"
+
SOURCE_HASH="sha512:a3cf267e82b6f5ab8b6497a62b12f85afb78fcaef6b12c43ef79564ce8270d3327a873368ce48fc018e46fef5e07339c07b9a494a5ff6c22a84099f939f6a9de:UPSTREAM_HASH"
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELLX}-${VERSION%esr}"
WEB_SITE=https://www.mozilla.org/en-US/firefox/fx/
GATHER_DOCS=off
diff --git a/http/firefox-esr/HISTORY b/http/firefox-esr/HISTORY
index e6115b2..fa9c854 100644
--- a/http/firefox-esr/HISTORY
+++ b/http/firefox-esr/HISTORY
@@ -1,3 +1,6 @@
+2025-09-01 Thomas Orgis <sobukus AT sourcemage.org>
+ * DETAILS: version 128.14.0esr, ++SECURITY_PATCH
+
2025-04-01 Thomas Orgis <sobukus AT sourcemage.org>
* DETAILS: version 128.9.0esr, ++SECURITY_PATCH



  • [[SM-Commit] ] GIT changes to master grimoire by Thomas Orgis (c2049168ffb64f5490e89275b2741865377124a9), Thomas Orgis, 09/01/2025

Archive powered by MHonArc 2.6.24.

Top of Page