Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package inkscape for openSUSE:Factory 
checked in at 2026-07-15 16:22:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/inkscape (Old)
 and      /work/SRC/openSUSE:Factory/.inkscape.new.1991 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "inkscape"

Wed Jul 15 16:22:36 2026 rev:158 rq:1365691 version:1.4.4+git2.3454cb1dab

Changes:
--------
--- /work/SRC/openSUSE:Factory/inkscape/inkscape.changes        2026-06-18 
18:37:20.628819975 +0200
+++ /work/SRC/openSUSE:Factory/.inkscape.new.1991/inkscape.changes      
2026-07-15 16:24:24.363258789 +0200
@@ -1,0 +2,10 @@
+Tue Jul 14 10:00:00 UTC 2026 - Dominique Leuenberger <[email protected]>
+
+- Update to version 1.4.4+git2.3454cb1dab:
+  * update translations
+- Add fix_build_with_poppler_26.07.patch:
+  + Fix support for poppler >= 26.07
+    https://gitlab.com/inkscape/inkscape/-/merge_requests/8034
+- Adjust _Service: strip +git0 when we're actually on the tag.
+
+-------------------------------------------------------------------

Old:
----
  inkscape-1.4.4+git0.dcaf3e7d9e.obscpio

New:
----
  fix_build_with_poppler_26.07.patch
  inkscape-1.4.4+git2.3454cb1dab.obscpio

----------(New B)----------
  New:  * update translations
- Add fix_build_with_poppler_26.07.patch:
  + Fix support for poppler >= 26.07
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ inkscape.spec ++++++
--- /var/tmp/diff_new_pack.os6Eeg/_old  2026-07-15 16:24:47.872059359 +0200
+++ /var/tmp/diff_new_pack.os6Eeg/_new  2026-07-15 16:24:47.876059496 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           inkscape
-Version:        1.4.4+git0.dcaf3e7d9e
+Version:        1.4.4+git2.3454cb1dab
 Release:        0
 Summary:        Vector Illustration Program
 License:        GPL-3.0-only
@@ -31,7 +31,8 @@
 Patch0:         
https://gitlab.com/inkscape/inkscape/-/commit/98828255aa0c1212329236b3ff4ac7f41efb4a67.patch
 # PATCH-FIX-UPSTREAM fix_build_with_poppler_26.06.patch -- Fix support for 
poppler >= 26.06
 Patch1:         fix_build_with_poppler_26.06.patch
-
+# PATCH-FIX-UPSTREAM 
https://gitlab.archlinux.org/archlinux/packaging/packages/inkscape/-/raw/main/fix_build_with_poppler_26.07.patch?ref_type=heads
+Patch2:         fix_build_with_poppler_26.07.patch
 BuildRequires:  cmake
 BuildRequires:  double-conversion-devel
 BuildRequires:  fdupes

++++++ _service ++++++
--- /var/tmp/diff_new_pack.os6Eeg/_old  2026-07-15 16:24:47.940061675 +0200
+++ /var/tmp/diff_new_pack.os6Eeg/_new  2026-07-15 16:24:47.940061675 +0200
@@ -5,8 +5,8 @@
     <param name="url">https://gitlab.com/inkscape/inkscape.git</param>
     <param name="revision">1.4.x</param>
     <param name="versionformat">@PARENT_TAG@+git@TAG_OFFSET@.%h</param>
-    <param name="versionrewrite-pattern">INKSCAPE_1_4_4</param>
-    <param name="versionrewrite-replacement">1.4.4</param>
+    <param 
name="versionrewrite-pattern">INKSCAPE_([0-9]+)_([0-9]+)_([0-9]+)(?:\+git0\.[0-9a-f]+)?</param>
+    <param name="versionrewrite-replacement">\1.\2.\3</param>
     <param name="changesgenerate">enable</param>
   </service>
   <service name="tar" mode="buildtime"/>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.os6Eeg/_old  2026-07-15 16:24:47.968062629 +0200
+++ /var/tmp/diff_new_pack.os6Eeg/_new  2026-07-15 16:24:47.972062765 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://gitlab.com/inkscape/inkscape.git</param>
-              <param 
name="changesrevision">dcaf3e7d9e6724cd18d6bd2b4f3d4f12ab691871</param></service></servicedata>
+              <param 
name="changesrevision">3454cb1dab41c7234c0baaec8c92bc46ce4b97f5</param></service></servicedata>
 (No newline at EOF)
 

++++++ fix_build_with_poppler_26.07.patch ++++++
>From eebf0342cbfcd23c6cba6053dd6ab7306d0de065 Mon Sep 17 00:00:00 2001
From: KrIr17 <[email protected]>
Date: Sat, 4 Jul 2026 14:07:44 +0200
Subject: [PATCH] Fix building with Poppler 26.07.0

1. `arrayGetfoo()` to `getArray()->getFoo()`  [1]
2. `streamGetFoo()` to `getStream()->getFoo()` [2]
3. indextolabel now requires an `std::string *` and not `GooString *`
   introduced _POPPLER_STRING_26_7 that changes accordingly.

Relevant poppler commits:

[1]  [Remove 
Object::arrayGetNF](https://gitlab.freedesktop.org/poppler/poppler/-/commit/d9ffc4c29d1975a5c81d6bac9d8a1b6dc5aa1f50):
 Technically only arrayGetNF was removed, but perusing the commit shows that 
all `arrayGetFoo` are being changed. I assume they are slated for removal in 
future releases.

[2]  [Remove 
Object::streamGetDict](gitlab.freedesktop.org/poppler/poppler/-/commit/87edb5a5c40e67e782e54a14a2251547b4acdfb5)

[3]  [Use std::string instead of GooString for 
label](https://gitlab.freedesktop.org/poppler/poppler/-/commit/9e34004aae04064f1b798b5e711e13d0dddacf9e)

(cherry picked from commit 9262f83aff7d8a6cadcb42446f9b943a561910cf)
---
 src/extension/internal/pdfinput/pdf-input.cpp |  5 +-
 .../internal/pdfinput/pdf-parser.cpp          | 50 +++++++++----------
 .../pdfinput/poppler-transition-api.h         |  6 +++
 .../internal/pdfinput/poppler-utils.cpp       | 29 ++++++-----
 .../internal/pdfinput/poppler-utils.h         |  1 +
 5 files changed, 52 insertions(+), 39 deletions(-)

diff --git a/src/extension/internal/pdfinput/pdf-input.cpp 
b/src/extension/internal/pdfinput/pdf-input.cpp
index 441871bb10..3507ce4173 100644
--- a/src/extension/internal/pdfinput/pdf-input.cpp
+++ b/src/extension/internal/pdfinput/pdf-input.cpp
@@ -855,9 +855,10 @@ PdfInput::add_builder_page(std::shared_ptr<PDFDoc>pdf_doc, 
SvgBuilder *builder,
 
     // Parse the annotations
     if (auto annots = page->getAnnotsObject(); annots.isArray()) {
-        auto const size = annots.arrayGetLength();
+        auto* annotsArray = annots.getArray();
+        auto const size = annotsArray->getLength();
         for (int i = 0; i < size; i++) {
-            pdf_parser.build_annots(annots.arrayGet(i), page_num);
+            pdf_parser.build_annots(annotsArray->get(i), page_num);
         }
     }
 }
diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp 
b/src/extension/internal/pdfinput/pdf-parser.cpp
index e32fa24b32..bf8daaac1b 100644
--- a/src/extension/internal/pdfinput/pdf-parser.cpp
+++ b/src/extension/internal/pdfinput/pdf-parser.cpp
@@ -293,8 +293,8 @@ PdfParser::PdfParser(std::shared_ptr<PDFDoc> pdf_doc, 
Inkscape::Extension::Inter
     if (page) {
         // Increment the page building here and set page label
         Catalog *catalog = pdf_doc->getCatalog();
-        GooString *label = new GooString("");
-        catalog->indexToLabel(page->getNum() - 1, label);
+        _POPPLER_STRING_26_7 label;
+        catalog->indexToLabel(page->getNum() - 1, &label);
         builder->pushPage(getString(label), state);
     }
 
@@ -370,8 +370,8 @@ void PdfParser::parse(Object *obj, GBool topLevel) {
   Object obj2;
 
   if (obj->isArray()) {
-    for (int i = 0; i < obj->arrayGetLength(); ++i) {
-      _POPPLER_CALL_ARGS(obj2, obj->arrayGet, i);
+    for (int i = 0; i < obj->getArray()->getLength(); ++i) {
+      _POPPLER_CALL_ARGS(obj2, obj->getArray()->get, i);
       if (!obj2.isStream()) {
        error(errInternal, -1, "Weird page contents");
        _POPPLER_FREE(obj2);
@@ -808,8 +808,8 @@ void PdfParser::opSetExtGState(Object args[], int 
/*numArgs*/)
                 for (int &i : backdropColor.c) {
                     i = 0;
                 }
-                for (int i = 0; i < obj3.arrayGetLength() && i < 
gfxColorMaxComps; ++i) {
-                    _POPPLER_CALL_ARGS(obj4, obj3.arrayGet, i);
+                for (int i = 0; i < obj3.getArray()->getLength() && i < 
gfxColorMaxComps; ++i) {
+                    _POPPLER_CALL_ARGS(obj4, obj3.getArray()->get, i);
                     if (obj4.isNum()) {
                         backdropColor.c[i] = dblToCol(obj4.getNum());
                     }
@@ -818,7 +818,7 @@ 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()) {
+                if (_POPPLER_CALL_ARGS_DEREF(obj4, 
obj3.getStream()->getDict()->lookup, "Group").isDict()) {
                     std::unique_ptr<GfxColorSpace> blendingColorSpace;
                     GBool isolated = gFalse;
                     GBool knockout = gFalse;
@@ -881,7 +881,7 @@ void PdfParser::doSoftMask(Object *str, GBool alpha,
   }
 
   // get stream dict
-  dict = str->streamGetDict();
+  dict = str->getStream()->getDict();
 
   // check form type
   _POPPLER_CALL_ARGS(obj1, dict->lookup, "FormType");
@@ -898,7 +898,7 @@ void PdfParser::doSoftMask(Object *str, GBool alpha,
     return;
   }
   for (i = 0; i < 4; ++i) {
-    _POPPLER_CALL_ARGS(obj2, obj1.arrayGet, i);
+    _POPPLER_CALL_ARGS(obj2, obj1.getArray()->get, i);
     bbox[i] = obj2.getNum();
     _POPPLER_FREE(obj2);
   }
@@ -908,7 +908,7 @@ void PdfParser::doSoftMask(Object *str, GBool alpha,
   _POPPLER_CALL_ARGS(obj1, dict->lookup, "Matrix");
   if (obj1.isArray()) {
     for (i = 0; i < 6; ++i) {
-      _POPPLER_CALL_ARGS(obj2, obj1.arrayGet, i);
+      _POPPLER_CALL_ARGS(obj2, obj1.getArray()->get, i);
       m[i] = obj2.getNum();
       _POPPLER_FREE(obj2);
     }
@@ -2378,7 +2378,7 @@ void PdfParser::opXObject(Object args[], int /*numArgs*/)
     }
 
 //add layer at root if xObject has type OCG
-    _POPPLER_CALL_ARGS(obj2, obj1.streamGetDict()->lookup, "OC");
+    _POPPLER_CALL_ARGS(obj2, obj1.getStream()->getDict()->lookup, "OC");
     if(obj2.isDict()){
         auto type_dict = obj2.getDict();
         if (type_dict->lookup("Type").isName("OCG")) {
@@ -2396,7 +2396,7 @@ void PdfParser::opXObject(Object args[], int /*numArgs*/)
         }
     }
 
-    _POPPLER_CALL_ARGS(obj2, obj1.streamGetDict()->lookup, "Subtype");
+    _POPPLER_CALL_ARGS(obj2, obj1.getStream()->getDict()->lookup, "Subtype");
     if (obj2.isName(const_cast<char*>("Image"))) {
         _POPPLER_CALL_ARGS(refObj, res->lookupXObjectNF, name);
         doImage(&refObj, obj1.getStream(), gFalse);
@@ -2404,7 +2404,7 @@ void PdfParser::opXObject(Object args[], int /*numArgs*/)
     } else if (obj2.isName(const_cast<char*>("Form"))) {
         doForm(&obj1);
     } else if (obj2.isName(const_cast<char*>("PS"))) {
-        _POPPLER_CALL_ARGS(obj3, obj1.streamGetDict()->lookup, "Level1");
+        _POPPLER_CALL_ARGS(obj3, obj1.getStream()->getDict()->lookup, 
"Level1");
     } else if (obj2.isName()) {
         error(errSyntaxError, getPos(), "Unknown XObject subtype '{0:s}'", 
obj2.getName());
     } else {
@@ -2535,7 +2535,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, 
GBool inlineImg)
             _POPPLER_CALL_ARGS(obj1, dict->lookup, "D");
         }
         if (obj1.isArray()) {
-            _POPPLER_CALL_ARGS(obj2, obj1.arrayGet, 0);
+            _POPPLER_CALL_ARGS(obj2, obj1.getArray()->get, 0);
             if (obj2.isInt() && obj2.getInt() == 1) {
                 invert = gTrue;
             }
@@ -2597,7 +2597,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, 
GBool inlineImg)
                    goto err1;
             }
             maskStr = smaskObj.getStream();
-            maskDict = smaskObj.streamGetDict();
+            maskDict = smaskObj.getStream()->getDict();
             _POPPLER_CALL_ARGS(obj1, maskDict->lookup, "Width");
             if (obj1.isNull()) {
                     _POPPLER_FREE(obj1);
@@ -2663,8 +2663,8 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, 
GBool inlineImg)
         } else if (maskObj.isArray()) {
             // color key mask
             int i;
-            for (i = 0; i < maskObj.arrayGetLength() && i < 
2*gfxColorMaxComps; ++i) {
-                _POPPLER_CALL_ARGS(obj1, maskObj.arrayGet, i);
+            for (i = 0; i < maskObj.getArray()->getLength() && i < 
2*gfxColorMaxComps; ++i) {
+                _POPPLER_CALL_ARGS(obj1, maskObj.getArray()->get, i);
                 maskColors[i] = obj1.getInt();
                 _POPPLER_FREE(obj1);
             }
@@ -2675,7 +2675,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, 
GBool inlineImg)
                 goto err1;
             }
             maskStr = maskObj.getStream();
-            maskDict = maskObj.streamGetDict();
+            maskDict = maskObj.getStream()->getDict();
             _POPPLER_CALL_ARGS(obj1, maskDict->lookup, "Width");
             if (obj1.isNull()) {
                 _POPPLER_FREE(obj1);
@@ -2722,7 +2722,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, 
GBool inlineImg)
                 _POPPLER_CALL_ARGS(obj1, maskDict->lookup, "D");
             }
             if (obj1.isArray()) {
-                _POPPLER_CALL_ARGS(obj2, obj1.arrayGet, 0);
+                _POPPLER_CALL_ARGS(obj2, obj1.getArray()->get, 0);
                 if (obj2.isInt() && obj2.getInt() == 1) {
                     maskInvert = gTrue;
                 }
@@ -2775,7 +2775,7 @@ void PdfParser::doForm(Object *str, double *offset)
     }
 
     // get stream dict
-    dict = str->streamGetDict();
+    dict = str->getStream()->getDict();
 
     // check form type
     _POPPLER_CALL_ARGS(obj1, dict->lookup, "FormType");
@@ -2792,7 +2792,7 @@ void PdfParser::doForm(Object *str, double *offset)
         return;
     }
     for (i = 0; i < 4; ++i) {
-        _POPPLER_CALL_ARGS(obj1, bboxObj.arrayGet, i);
+        _POPPLER_CALL_ARGS(obj1, bboxObj.getArray()->get, i);
         bbox[i] = obj1.getNum();
         _POPPLER_FREE(obj1);
     }
@@ -2802,7 +2802,7 @@ void PdfParser::doForm(Object *str, double *offset)
     _POPPLER_CALL_ARGS(matrixObj, dict->lookup, "Matrix");
     if (matrixObj.isArray()) {
         for (i = 0; i < 6; ++i) {
-        _POPPLER_CALL_ARGS(obj1, matrixObj.arrayGet, i);
+        _POPPLER_CALL_ARGS(obj1, matrixObj.getArray()->get, i);
         m[i] = obj1.getNum();
         _POPPLER_FREE(obj1);
         }
@@ -3194,10 +3194,10 @@ void PdfParser::loadColorProfile()
         return;
 
     Object outputIntents = catDict.dictLookup("OutputIntents");
-    if (!outputIntents.isArray() || outputIntents.arrayGetLength() != 1)
+    if (!outputIntents.isArray() || outputIntents.getArray()->getLength() != 1)
         return;
 
-    Object firstElement = outputIntents.arrayGet(0);
+    Object firstElement = outputIntents.getArray()->get(0);
     if (!firstElement.isDict())
         return;
 
@@ -3245,7 +3245,7 @@ void PdfParser::build_annots(const Object &annot, int 
page_num)
             _POPPLER_CALL_ARGS(Rect_obj, annot_dict->lookup, "Rect");
             if (Rect_obj.isArray()) {
                 for (int i = 0; i < 2; i++) {
-                    _POPPLER_CALL_ARGS(xy_obj, Rect_obj.arrayGet, i);
+                    _POPPLER_CALL_ARGS(xy_obj, Rect_obj.getArray()->get, i);
                     offset[i] = xy_obj.getNum();
                 }
                 doForm(&first_state_obj, offset);
diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h 
b/src/extension/internal/pdfinput/poppler-transition-api.h
index bf42f54142..058c91f379 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(26, 7, 0)
+#define _POPPLER_STRING_26_7 std::string
+#else
+#define _POPPLER_STRING_26_7 GooString
+#endif
+
 #if POPPLER_CHECK_VERSION(26, 6, 0)
 #define _POPPLER_GET_GRAY(color, gray) getGray(color, gray)
 #define _POPPLER_GET_RGB(color, rgb) getRGB(color, rgb)
diff --git a/src/extension/internal/pdfinput/poppler-utils.cpp 
b/src/extension/internal/pdfinput/poppler-utils.cpp
index 902736281a..d084d9218a 100644
--- a/src/extension/internal/pdfinput/poppler-utils.cpp
+++ b/src/extension/internal/pdfinput/poppler-utils.cpp
@@ -186,15 +186,16 @@ void InkFontDict::hashFontObject1(const Object *obj, 
FNVHash *h)
         case objNull:
             h->hash('z');
             break;
-        case objArray:
-            h->hash('a');
-            n = obj->arrayGetLength();
-            h->hash((char *)&n, sizeof(int));
-            for (i = 0; i < n; ++i) {
-                const Object &obj2 = obj->arrayGetNF(i);
-                hashFontObject1(&obj2, h);
-            }
-            break;
+        case objArray: {
+                h->hash('a');
+                Array * objArray = obj->getArray();
+                n = objArray->getLength();
+                h->hash((char *)&n, sizeof(int));
+                for (i = 0; i < n; ++i) {
+                    const Object &obj2 = objArray->getNF(i);
+                    hashFontObject1(&obj2, h);
+                }
+            } break;
         case objDict: {
                 h->hash('d');
                 auto objdict = obj->getDict();
@@ -206,8 +207,7 @@ void InkFontDict::hashFontObject1(const Object *obj, 
FNVHash *h)
                     const Object &obj2 = objdict->getValNF(i);
                     hashFontObject1(&obj2, h);
                 }
-            }
-            break;
+            } break;
         case objStream:
             // this should never happen - streams must be indirect refs
             break;
@@ -545,7 +545,7 @@ void _getFontsRecursive(std::shared_ptr<PDFDoc> pdf_doc, 
Dict *resources, const
                 continue;
 
             Ref resourcesRef;
-            const Object resObj = obj2.streamGetDict()->lookup("Resources", 
&resourcesRef);
+            const Object resObj = 
obj2.getStream()->getDict()->lookup("Resources", &resourcesRef);
             if (resourcesRef != Ref::INVALID() && 
!visitedObjects.insert(resourcesRef.num).second)
                 continue;
 
@@ -610,6 +610,11 @@ std::string getString(const GooString *value)
     return "";
 }
 
+std::string getString(const GooString &value)
+{
+    return getString(value.toStr());
+}
+
 /**
  * Convert PDF strings, which can be formatted as UTF8, UTF16BE or UTF16LE into
  * a predictable UTF8 string consistant with svg requirements.
diff --git a/src/extension/internal/pdfinput/poppler-utils.h 
b/src/extension/internal/pdfinput/poppler-utils.h
index 13123d79a9..2b1978bf0f 100644
--- a/src/extension/internal/pdfinput/poppler-utils.h
+++ b/src/extension/internal/pdfinput/poppler-utils.h
@@ -86,6 +86,7 @@ std::string getDictString(Dict *dict, const char *key);
 std::string getString(const std::string &value);
 std::string getString(const std::unique_ptr<GooString> &value);
 std::string getString(const GooString *value);
+std::string getString(const GooString &value);
 std::string validateString(std::string const &in);
 
 // Replacate poppler FontDict
-- 
2.54.0




++++++ inkscape-1.4.4+git0.dcaf3e7d9e.obscpio -> 
inkscape-1.4.4+git2.3454cb1dab.obscpio ++++++
/work/SRC/openSUSE:Factory/inkscape/inkscape-1.4.4+git0.dcaf3e7d9e.obscpio 
/work/SRC/openSUSE:Factory/.inkscape.new.1991/inkscape-1.4.4+git2.3454cb1dab.obscpio
 differ: char 48, line 1

++++++ inkscape.obsinfo ++++++
--- /var/tmp/diff_new_pack.os6Eeg/_old  2026-07-15 16:24:48.056065626 +0200
+++ /var/tmp/diff_new_pack.os6Eeg/_new  2026-07-15 16:24:48.060065762 +0200
@@ -1,5 +1,5 @@
 name: inkscape
-version: 1.4.4+git0.dcaf3e7d9e
-mtime: 1777910791
-commit: dcaf3e7d9e6724cd18d6bd2b4f3d4f12ab691871
+version: 1.4.4+git2.3454cb1dab
+mtime: 1782872530
+commit: 3454cb1dab41c7234c0baaec8c92bc46ce4b97f5
 

Reply via email to