Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kf6-ki18n for openSUSE:Factory checked in at 2026-05-11 16:51:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kf6-ki18n (Old) and /work/SRC/openSUSE:Factory/.kf6-ki18n.new.1966 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf6-ki18n" Mon May 11 16:51:24 2026 rev:28 rq:1352086 version:6.26.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kf6-ki18n/kf6-ki18n.changes 2026-04-11 22:28:04.220550540 +0200 +++ /work/SRC/openSUSE:Factory/.kf6-ki18n.new.1966/kf6-ki18n.changes 2026-05-11 16:57:06.456227440 +0200 @@ -1,0 +2,17 @@ +Sat May 2 07:52:38 UTC 2026 - Christophe Marin <[email protected]> + +- Update to 6.26.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/6/6.26.0 +- Changes since 6.25.0: + * Update dependency version to 6.26.0 + * ktranscript: avoid that engine deletes the object + * ktranscript: parent the QJEngine instead of using deleteLater + * Enable LSAN in CI + * CI: Remove alpine. It has been failing for 4 consecutive weeks + * Fix static build + * fix: no translation will be loaded on macOS + * Update version to 6.26.0 + +------------------------------------------------------------------- Old: ---- ki18n-6.25.0.tar.xz ki18n-6.25.0.tar.xz.sig New: ---- ki18n-6.26.0.tar.xz ki18n-6.26.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kf6-ki18n.spec ++++++ --- /var/tmp/diff_new_pack.ZzHeC5/_old 2026-05-11 16:57:08.520312622 +0200 +++ /var/tmp/diff_new_pack.ZzHeC5/_new 2026-05-11 16:57:08.520312622 +0200 @@ -16,14 +16,14 @@ # -%define qt6_version 6.8.0 +%define qt6_version 6.9.0 %define rname ki18n -# Full KF6 version (e.g. 6.25.0) +# Full KF6 version (e.g. 6.26.0) %{!?_kf6_version: %global _kf6_version %{version}} %bcond_without released Name: kf6-ki18n -Version: 6.25.0 +Version: 6.26.0 Release: 0 Summary: KDE Gettext-based UI text internationalization License: LGPL-2.1-or-later ++++++ ki18n-6.25.0.tar.xz -> ki18n-6.26.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ki18n-6.25.0/.gitlab-ci.yml new/ki18n-6.26.0/.gitlab-ci.yml --- old/ki18n-6.25.0/.gitlab-ci.yml 2026-04-03 19:09:07.000000000 +0200 +++ new/ki18n-6.26.0/.gitlab-ci.yml 2026-05-01 13:53:20.000000000 +0200 @@ -10,6 +10,6 @@ - /gitlab-templates/android-qt6.yml - /gitlab-templates/freebsd-qt6.yml - /gitlab-templates/windows-qt6.yml - - /gitlab-templates/alpine-qt6.yml + # - /gitlab-templates/alpine-qt6.yml - /gitlab-templates/xml-lint.yml - /gitlab-templates/yaml-lint.yml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ki18n-6.25.0/.kde-ci.yml new/ki18n-6.26.0/.kde-ci.yml --- old/ki18n-6.25.0/.kde-ci.yml 2026-04-03 19:09:07.000000000 +0200 +++ new/ki18n-6.26.0/.kde-ci.yml 2026-05-01 13:53:20.000000000 +0200 @@ -6,3 +6,4 @@ Options: test-before-installing: True require-passing-tests-on: ['Linux', 'FreeBSD', 'Android'] + enable-lsan: True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ki18n-6.25.0/CMakeLists.txt new/ki18n-6.26.0/CMakeLists.txt --- old/ki18n-6.25.0/CMakeLists.txt 2026-04-03 19:09:07.000000000 +0200 +++ new/ki18n-6.26.0/CMakeLists.txt 2026-05-01 13:53:20.000000000 +0200 @@ -1,11 +1,11 @@ cmake_minimum_required(VERSION 3.29) -set(KF_VERSION "6.25.0") # handled by release scripts +set(KF_VERSION "6.26.0") # handled by release scripts project(KI18n VERSION ${KF_VERSION}) # ECM setup include(FeatureSummary) -find_package(ECM 6.25.0 NO_MODULE) +find_package(ECM 6.26.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/ki18n-6.25.0/autotests/CMakeLists.txt new/ki18n-6.26.0/autotests/CMakeLists.txt --- old/ki18n-6.25.0/autotests/CMakeLists.txt 2026-04-03 19:09:07.000000000 +0200 +++ new/ki18n-6.26.0/autotests/CMakeLists.txt 2026-05-01 13:53:20.000000000 +0200 @@ -36,11 +36,14 @@ target_compile_definitions(ki18n-ktranscripttest PRIVATE "KTRANSCRIPT_PATH=\"$<TARGET_FILE:ktranscript>\"") # ktranscriptcleantest needs to directly compile ktranscript.cpp with an addition DEFINE -ecm_add_test(ktranscriptcleantest.cpp ../src/i18n/ktranscript.cpp ../src/i18n/common_helpers.cpp +ecm_add_test(ktranscriptcleantest.cpp ../src/i18n/common_helpers.cpp TEST_NAME ki18n-ktranscriptcleantest LINK_LIBRARIES Qt6::Qml Qt6::Test Qt6::Concurrent KF6::I18n ) -target_compile_definitions(ki18n-ktranscriptcleantest PRIVATE "KTRANSCRIPT_TESTBUILD") +if (BUILD_SHARED_LIBS) + target_sources(ki18n-ktranscriptcleantest PRIVATE ../src/i18n/ktranscript.cpp) + target_compile_definitions(ki18n-ktranscriptcleantest PRIVATE "KTRANSCRIPT_TESTBUILD") +endif() target_include_directories(ki18n-ktranscriptcleantest PRIVATE ..) endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ki18n-6.25.0/autotests/ktranscriptcleantest.cpp new/ki18n-6.26.0/autotests/ktranscriptcleantest.cpp --- old/ki18n-6.25.0/autotests/ktranscriptcleantest.cpp 2026-04-03 19:09:07.000000000 +0200 +++ new/ki18n-6.26.0/autotests/ktranscriptcleantest.cpp 2026-05-01 13:53:20.000000000 +0200 @@ -11,6 +11,8 @@ #include <QDebug> #include <ktranscript_p.h> +KTranscript *autotestCreateKTranscriptImp(); +void autotestDestroyKTranscriptImp(); QTEST_MAIN(KTranscriptCleanTest) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ki18n-6.25.0/po/fr/ki18n6.po new/ki18n-6.26.0/po/fr/ki18n6.po --- old/ki18n-6.25.0/po/fr/ki18n6.po 2026-04-03 19:09:07.000000000 +0200 +++ new/ki18n-6.26.0/po/fr/ki18n6.po 2026-05-01 13:53:20.000000000 +0200 @@ -1,6 +1,6 @@ # translation of kdelibs4.po to Français # translation of kdelibs4.po to -# SPDX-FileCopyrightText: 2020, 2021, 2024 Xavier Besnard <[email protected]> +# SPDX-FileCopyrightText: 2020, 2021, 2024, 2026 Xavier Besnard <[email protected]> # Matthieu Robin <[email protected]>, 2002,2003, 2004. # Robert Jacolin <[email protected]>, 2003,2004. # Gilles Caulier <[email protected]>, 2003. @@ -25,15 +25,15 @@ "Project-Id-Version: kdelibs4\n" "Report-Msgid-Bugs-To: https://bugs.kde.org\n" "POT-Creation-Date: 2025-11-17 11:49+0000\n" -"PO-Revision-Date: 2024-04-29 14:20+0200\n" +"PO-Revision-Date: 2026-04-04 20:17+0200\n" "Last-Translator: Xavier Besnard <[email protected]>\n" -"Language-Team: French <French <[email protected]>>\n" +"Language-Team: fr\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Lokalize 23.08.5\n" +"X-Generator: Lokalize 25.12.3\n" "X-Environment: kde\n" "X-Accelerator-Marker: &\n" "X-Text-Markup: kde4\n" @@ -188,7 +188,7 @@ #: kuitsetup.cpp:357 msgctxt "keyboard-key-name" msgid "PgDown" -msgstr "Page Suiv." +msgstr "Page suivante" #: kuitsetup.cpp:358 msgctxt "keyboard-key-name" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ki18n-6.25.0/src/i18n/kcatalog.cpp new/ki18n-6.26.0/src/i18n/kcatalog.cpp --- old/ki18n-6.25.0/src/i18n/kcatalog.cpp 2026-04-03 19:09:07.000000000 +0200 +++ new/ki18n-6.26.0/src/i18n/kcatalog.cpp 2026-05-01 13:53:20.000000000 +0200 @@ -213,7 +213,11 @@ return assetPath; #else +#ifdef Q_OS_MACOS + QString file = QStandardPaths::locate(QStandardPaths::AppLocalDataLocation, QStringLiteral("locale/") + relpath); +#else QString file = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("locale/") + relpath); +#endif #ifdef Q_OS_WIN // QStandardPaths fails on Windows for executables that aren't properly deployed yet, such as unit tests if (file.isEmpty()) { @@ -236,7 +240,11 @@ QSet<QString> KCatalog::availableCatalogLanguages(const QByteArray &domain_) { QString domain = QFile::decodeName(domain_); +#ifdef Q_OS_MACOS + QStringList localeDirPaths = QStandardPaths::locateAll(QStandardPaths::AppLocalDataLocation, QStringLiteral("locale"), QStandardPaths::LocateDirectory); +#else QStringList localeDirPaths = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("locale"), QStandardPaths::LocateDirectory); +#endif #ifdef Q_OS_WIN // QStandardPaths fails on Windows for executables that aren't properly deployed yet, such as unit tests localeDirPaths += QLatin1String(INSTALLED_LOCALE_PREFIX) + QLatin1String("/bin/data/locale/"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ki18n-6.25.0/src/i18n/ktranscript.cpp new/ki18n-6.26.0/src/i18n/ktranscript.cpp --- old/ki18n-6.25.0/src/i18n/ktranscript.cpp 2026-04-03 19:09:07.000000000 +0200 +++ new/ki18n-6.26.0/src/i18n/ktranscript.cpp 2026-05-01 13:53:20.000000000 +0200 @@ -5,6 +5,8 @@ SPDX-License-Identifier: LGPL-2.0-or-later */ +#include <config.h> + #include <common_helpers_p.h> #include <ktranscript_p.h> @@ -405,36 +407,36 @@ return QJSValue::UndefinedValue; } -#ifdef KTRANSCRIPT_TESTBUILD - -// ---------------------------------------------------------------------- -// Test build creation/destruction hooks -static KTranscriptImp *s_transcriptInstance = nullptr; - +Q_GLOBAL_STATIC(std::unique_ptr<KTranscriptImp>, globalKTIPtr) KTranscriptImp *globalKTI() { - return s_transcriptInstance; + if (!*globalKTIPtr()) { + *globalKTIPtr() = std::make_unique<KTranscriptImp>(); + } + return globalKTIPtr()->get(); } +// Test build creation/destruction hooks +#if defined(KTRANSCRIPT_TESTBUILD) || HAVE_STATIC_KTRANSCRIPT + KTranscript *autotestCreateKTranscriptImp() { - Q_ASSERT(s_transcriptInstance == nullptr); - s_transcriptInstance = new KTranscriptImp; - return s_transcriptInstance; + Q_ASSERT(!*globalKTIPtr()); + *globalKTIPtr() = std::make_unique<KTranscriptImp>(); + return globalKTIPtr()->get(); } void autotestDestroyKTranscriptImp() { - Q_ASSERT(s_transcriptInstance != nullptr); - delete s_transcriptInstance; - s_transcriptInstance = nullptr; + Q_ASSERT(*globalKTIPtr()); + globalKTIPtr()->reset(); } -#else +#endif +#ifndef KTRANSCRIPT_TESTBUILD // ---------------------------------------------------------------------- // Dynamic loading. -Q_GLOBAL_STATIC(KTranscriptImp, globalKTI) extern "C" { KTRANSCRIPT_EXPORT KTranscript *load_transcript() { @@ -659,11 +661,15 @@ Scriptface::Scriptface(const TsConfigGroup &config_, QObject *parent) : QObject(parent) - , scriptEngine(new QJSEngine) + , scriptEngine(new QJSEngine(this)) , fallbackRequest(nullptr) , config(config_) { + // register 'this' as object and avoid that the engine will delete it, we own the engine QJSValue object = scriptEngine->newQObject(this); + scriptEngine->setObjectOwnership(this, QJSEngine::CppOwnership); + Q_ASSERT(scriptEngine->objectOwnership(this) == QJSEngine::CppOwnership); + scriptEngine->globalObject().setProperty(QStringLiteral(SFNAME), object); scriptEngine->evaluate(QStringLiteral("Ts.acall = function() { return Ts.acallInternal(Array.prototype.slice.call(arguments)); };")); } @@ -671,7 +677,6 @@ Scriptface::~Scriptface() { qDeleteAll(loadedPmapHandles); - scriptEngine->deleteLater(); } void Scriptface::put(const QString &propertyName, const QJSValue &value)
