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) {
