[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