Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kf6-sonnet for openSUSE:Factory 
checked in at 2025-12-16 15:52:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kf6-sonnet (Old)
 and      /work/SRC/openSUSE:Factory/.kf6-sonnet.new.1939 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kf6-sonnet"

Tue Dec 16 15:52:32 2025 rev:22 rq:1322753 version:6.21.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kf6-sonnet/kf6-sonnet.changes    2025-11-17 
12:19:44.340561714 +0100
+++ /work/SRC/openSUSE:Factory/.kf6-sonnet.new.1939/kf6-sonnet.changes  
2025-12-16 15:59:01.165826187 +0100
@@ -1,0 +2,13 @@
+Fri Dec 12 20:17:37 UTC 2025 - Christophe Marin <[email protected]>
+
+- Update to 6.21.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/frameworks/6/6.21.0
+- Changes since 6.20.0:
+  * Update dependency version to 6.21.0
+  * hunspell: load flatpak sources as well
+  * Update version to 6.21.0
+  * Adapt CMake version 4.1 or later
+
+-------------------------------------------------------------------

Old:
----
  sonnet-6.20.0.tar.xz
  sonnet-6.20.0.tar.xz.sig

New:
----
  sonnet-6.21.0.tar.xz
  sonnet-6.21.0.tar.xz.sig

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

Other differences:
------------------
++++++ kf6-sonnet.spec ++++++
--- /var/tmp/diff_new_pack.pYRtXU/_old  2025-12-16 15:59:02.889899043 +0100
+++ /var/tmp/diff_new_pack.pYRtXU/_new  2025-12-16 15:59:02.893899212 +0100
@@ -19,11 +19,11 @@
 %define qt6_version 6.8.0
 
 %define rname sonnet
-# Full KF6 version (e.g. 6.20.0)
+# Full KF6 version (e.g. 6.21.0)
 %{!?_kf6_version: %global _kf6_version %{version}}
 %bcond_without released
 Name:           kf6-sonnet
-Version:        6.20.0
+Version:        6.21.0
 Release:        0
 Summary:        KDE spell checking library
 License:        LGPL-2.1-or-later


++++++ sonnet-6.20.0.tar.xz -> sonnet-6.21.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sonnet-6.20.0/CMakeLists.txt 
new/sonnet-6.21.0/CMakeLists.txt
--- old/sonnet-6.20.0/CMakeLists.txt    2025-11-07 20:04:46.000000000 +0100
+++ new/sonnet-6.21.0/CMakeLists.txt    2025-12-05 14:27:50.000000000 +0100
@@ -1,11 +1,11 @@
 cmake_minimum_required(VERSION 3.16)
 
-set(KF_VERSION "6.20.0") # handled by release scripts
+set(KF_VERSION "6.21.0") # handled by release scripts
 project(Sonnet VERSION ${KF_VERSION})
 
 include(FeatureSummary)
 include(CMakeDependentOption)
-find_package(ECM 6.20.0  NO_MODULE)
+find_package(ECM 6.21.0  NO_MODULE)
 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake 
Modules." URL "https://commits.kde.org/extra-cmake-modules";)
 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sonnet-6.20.0/poqm/cs/sonnet6_qt.po 
new/sonnet-6.21.0/poqm/cs/sonnet6_qt.po
--- old/sonnet-6.20.0/poqm/cs/sonnet6_qt.po     2025-11-07 20:04:46.000000000 
+0100
+++ new/sonnet-6.21.0/poqm/cs/sonnet6_qt.po     2025-12-05 14:27:50.000000000 
+0100
@@ -11,7 +11,7 @@
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n";
 "POT-Creation-Date: 2014-03-23 01:50+0000\n"
 "PO-Revision-Date: 2024-05-29 11:23+0200\n"
-"Last-Translator: Vit Pelcak <[email protected]>\n"
+"Last-Translator: Vit Pelcak <[email protected]>\n"
 "Language-Team: Czech <[email protected]>\n"
 "Language: cs\n"
 "MIME-Version: 1.0\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sonnet-6.20.0/src/plugins/CMakeLists.txt 
new/sonnet-6.21.0/src/plugins/CMakeLists.txt
--- old/sonnet-6.20.0/src/plugins/CMakeLists.txt        2025-11-07 
20:04:46.000000000 +0100
+++ new/sonnet-6.21.0/src/plugins/CMakeLists.txt        2025-12-05 
14:27:50.000000000 +0100
@@ -2,7 +2,11 @@
 # you can find find_package() in 
kdelibs/cmake/modules/OptionalFindPackage.cmake
 # it is the same as FIND_PACKAGE(<name>) but additionally creates an 
OPTION(WITH_<name>)
 # so the checking for the software can be disabled via ccmake or 
-DWITH_<name>=OFF
-find_package(ASPELL)
+if(CMAKE_VERSION VERSION_GREATER_EQUAL 4.1)
+    find_package(ASPELL COMPONENTS ASPELL)
+else()
+    find_package(ASPELL)
+endif()
 set_package_properties(ASPELL PROPERTIES
     URL "http://aspell.net/";
     DESCRIPTION "Spell checking support via Aspell"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sonnet-6.20.0/src/plugins/hunspell/hunspellclient.cpp 
new/sonnet-6.21.0/src/plugins/hunspell/hunspellclient.cpp
--- old/sonnet-6.20.0/src/plugins/hunspell/hunspellclient.cpp   2025-11-07 
20:04:46.000000000 +0100
+++ new/sonnet-6.21.0/src/plugins/hunspell/hunspellclient.cpp   2025-12-05 
14:27:50.000000000 +0100
@@ -2,6 +2,7 @@
  * kspell_hunspellclient.cpp
  *
  * SPDX-FileCopyrightText: 2009 Montel Laurent <[email protected]>
+ * SPDX-FileCopyrightText: 2025 Harald Sitter <[email protected]>
  *
  * SPDX-License-Identifier: LGPL-2.1-or-later
  */
@@ -12,8 +13,53 @@
 #include <QDir>
 #include <QStandardPaths>
 #include <QString>
+#include <QVersionNumber>
 
 using namespace Sonnet;
+using namespace Qt::StringLiterals;
+
+namespace
+{
+
+[[nodiscard]] QStringList flatpakSources()
+{
+    QMap<QVersionNumber, QString> versionedPaths;
+    // TODO: could load all paths from libflatpak. For now we hardcode the 
known ones.
+    for (const auto &flatpakPath :
+         {u"/var/lib/flatpak/runtime/org.kde.Platform.Locale/"_s,
+          QStandardPaths::locate(QStandardPaths::GenericDataLocation, 
u"flatpak/runtime/org.kde.Platform.Locale"_s, 
QStandardPaths::LocateDirectory)}) {
+        for (const auto &architectureEntry : QDirListing(flatpakPath, 
QDirListing::IteratorFlag::DirsOnly)) {
+            const auto &architecturePath = architectureEntry.filePath();
+            for (const auto &versionEntry : QDirListing(architecturePath, 
QDirListing::IteratorFlag::DirsOnly)) {
+                const auto filesPath = versionEntry.filePath() + 
"/active/files/"_L1;
+                if (!QFileInfo::exists(filesPath)) {
+                    continue;
+                }
+
+                
versionedPaths.insert(QVersionNumber::fromString(versionEntry.fileName()), 
filesPath);
+            }
+        }
+    }
+
+    if (versionedPaths.isEmpty()) {
+        qCDebug(SONNET_HUNSPELL) << "No flatpak hunspell location found";
+        return {};
+    }
+
+    const QString latestActiveVersionPath = versionedPaths.values().last();
+    qCDebug(SONNET_HUNSPELL) << "Found flatpak location" << 
latestActiveVersionPath;
+
+    QStringList sources;
+    for (const auto &parentLanguageEntry : 
QDirListing(latestActiveVersionPath, QDirListing::IteratorFlag::DirsOnly)) {
+        const auto &parentLanguagePath = parentLanguageEntry.filePath() + 
"/share/"_L1;
+        for (const auto &languageEntry : QDirListing(parentLanguagePath, 
QDirListing::IteratorFlag::DirsOnly)) {
+            sources.append(languageEntry.filePath() + "/hunspell/"_L1);
+        }
+    }
+    return sources;
+}
+
+} // namespace
 
 HunspellClient::HunspellClient(QObject *parent)
     : Client(parent)
@@ -51,6 +97,10 @@
     maybeAddPath(QStringLiteral("/System/Library/Spelling"));
     maybeAddPath(QStringLiteral("/usr/share/hunspell/"));
     maybeAddPath(QStringLiteral("/usr/share/myspell/"));
+    // Load supplementary dictionaries from our flatpak platform if available
+    for (const auto &flatpakSource : flatpakSources()) {
+        maybeAddPath(flatpakSource);
+    }
 #endif
 
     for (const QString &dirString : dirList) {

Reply via email to