[packages/inkscape] - up to 1.4.3

mrozowik mrozowik at pld-linux.org
Sun Dec 28 21:03:31 CET 2025


commit b47eefc4407a229734f3870a3c1e08c3b1e84980
Author: Krzysztof Mrozowicz <mrozowik at pld-linux.org>
Date:   Sun Dec 28 20:03:21 2025 +0000

    - up to 1.4.3

 inkscape.spec       |  14 ++----
 poppler-25.06.patch | 118 ----------------------------------------------
 poppler-25.07.patch | 133 ----------------------------------------------------
 3 files changed, 4 insertions(+), 261 deletions(-)
---
diff --git a/inkscape.spec b/inkscape.spec
index e4dd101..0ca3ff5 100644
--- a/inkscape.spec
+++ b/inkscape.spec
@@ -7,15 +7,13 @@
 Summary:	Scalable vector graphics editor
 Summary(pl.UTF-8):	Edytor skalowalnej grafiki wektorowej
 Name:		inkscape
-Version:	1.4.2
-Release:	4
+Version:	1.4.3
+Release:	1
 License:	GPL v2+, LGPL v2.1+
 Group:		X11/Applications/Graphics
 # download: follow https://inkscape.org/release/
 Source0:	https://media.inkscape.org/dl/resources/file/%{name}-%{version}.tar.xz
-# Source0-md5:	0c24e84085bed3f0237d1cdf0856a855
-Patch0:		poppler-25.06.patch
-Patch1:		poppler-25.07.patch
+# Source0-md5:	51779347adc1e9dafa3ab1f4d79aca13
 URL:		https://inkscape.org/
 %{!?with_imagick:BuildRequires:	GraphicsMagick-c++-devel}
 %{?with_imagick:BuildRequires:	ImageMagick6-c++-devel < 7}
@@ -63,7 +61,6 @@ BuildRequires:	popt-devel
 BuildRequires:	potrace-devel
 BuildRequires:	ragel
 BuildRequires:	rpm-build >= 4.6
-BuildRequires:	rpm-pythonprov
 BuildRequires:	rpmbuild(macros) >= 1.752
 BuildRequires:	sed >= 4.0
 BuildRequires:	tar >= 1:1.22
@@ -75,7 +72,6 @@ Requires(post,postun):	gtk-update-icon-cache
 Requires:	cairo >= 1.10
 Requires:	cairomm >= 1.9.8
 Requires:	gc >= 7.2
-#Requires:	gdl >= 3.6
 Requires:	glib2 >= 1:2.28
 Requires:	glibmm >= 2.28
 Requires:	gtk+3 >= 3.22
@@ -113,9 +109,7 @@ Bash completion for inkscape arguments.
 Bashowe dopełnianie argumentów programu inkscape.
 
 %prep
-%setup -q -n %{name}-%{version}_2025-05-08_ebf0e940d0
-%patch -P0 -p1
-%patch -P1 -p1
+%setup -q -n %{name}-%{version}_2025-12-25_0d15f75042
 
 # python3-only
 %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' \
diff --git a/poppler-25.06.patch b/poppler-25.06.patch
deleted file mode 100644
index 676a2e7..0000000
--- a/poppler-25.06.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-From 1fdfb889bba9ee146c8b826e97bc58a88cb1e529 Mon Sep 17 00:00:00 2001
-From: Rafael Siejakowski <rs at rs-math.net>
-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.
-
-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 b0b6aa9eec4..22c86fbc3a4 100644
---- a/src/extension/internal/pdfinput/pdf-parser.cpp
-+++ b/src/extension/internal/pdfinput/pdf-parser.cpp
-@@ -24,6 +24,7 @@
- #include <cstdio>
- #include <cstdlib>
- #include <cstring>
-+#include <memory>
- #include <mutex> // std::call_once()
- #include <utility>
- #include <vector>
-@@ -693,7 +694,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;
-@@ -751,13 +751,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<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) {
-@@ -770,12 +771,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");
-@@ -797,8 +800,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);
-@@ -842,9 +844,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 <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()
--- 
-GitLab
-
diff --git a/poppler-25.07.patch b/poppler-25.07.patch
deleted file mode 100644
index dd6d7a7..0000000
--- a/poppler-25.07.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-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
-
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/inkscape.git/commitdiff/b47eefc4407a229734f3870a3c1e08c3b1e84980



More information about the pld-cvs-commit mailing list