Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ki18n for openSUSE:Factory checked 
in at 2022-06-17 21:19:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ki18n (Old)
 and      /work/SRC/openSUSE:Factory/.ki18n.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ki18n"

Fri Jun 17 21:19:16 2022 rev:108 rq:982268 version:5.95.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/ki18n/ki18n.changes      2022-05-16 
18:08:44.493286797 +0200
+++ /work/SRC/openSUSE:Factory/.ki18n.new.1548/ki18n.changes    2022-06-17 
21:21:12.458730904 +0200
@@ -1,0 +2,11 @@
+Fri Jun 10 14:12:30 UTC 2022 - Christophe Giboudeaux <christo...@krop.fr>
+
+- Update to 5.95.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/frameworks/5/5.95.0
+- Changes since 5.94.0:
+  * Directly load catalogs from Android assets
+  * Port to ECMQmlModule
+
+-------------------------------------------------------------------

Old:
----
  ki18n-5.94.0.tar.xz
  ki18n-5.94.0.tar.xz.sig

New:
----
  ki18n-5.95.0.tar.xz
  ki18n-5.95.0.tar.xz.sig

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

Other differences:
------------------
++++++ ki18n.spec ++++++
--- /var/tmp/diff_new_pack.i3FvWl/_old  2022-06-17 21:21:13.102731253 +0200
+++ /var/tmp/diff_new_pack.i3FvWl/_new  2022-06-17 21:21:13.106731255 +0200
@@ -17,14 +17,14 @@
 
 
 %define lname   libKF5I18n5
-%define _tar_path 5.94
+%define _tar_path 5.95
 # Full KF5 version (e.g. 5.33.0)
 %{!?_kf5_version: %global _kf5_version %{version}}
 # Last major and minor KF5 version (e.g. 5.33)
 %{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | 
awk -F. '{print $1"."$2}')}
 %bcond_without released
 Name:           ki18n
-Version:        5.94.0
+Version:        5.95.0
 Release:        0
 Summary:        KDE Gettext-based UI text internationalization
 License:        LGPL-2.1-or-later


++++++ ki18n-5.94.0.tar.xz -> ki18n-5.95.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ki18n-5.94.0/CMakeLists.txt 
new/ki18n-5.95.0/CMakeLists.txt
--- old/ki18n-5.94.0/CMakeLists.txt     2022-05-07 23:22:09.000000000 +0200
+++ new/ki18n-5.95.0/CMakeLists.txt     2022-06-09 23:20:19.000000000 +0200
@@ -1,11 +1,11 @@
 cmake_minimum_required(VERSION 3.16)
 
-set(KF_VERSION "5.94.0") # handled by release scripts
+set(KF_VERSION "5.95.0") # handled by release scripts
 project(KI18n VERSION ${KF_VERSION})
 
 # ECM setup
 include(FeatureSummary)
-find_package(ECM 5.93.0  NO_MODULE)
+find_package(ECM 5.95.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)
 
@@ -22,6 +22,7 @@
 include(ECMGenerateHeaders)
 include(ECMAddQch)
 include(ECMQtDeclareLoggingCategory)
+include(ECMQmlModule)
 
 
 ecm_setup_version(
@@ -42,6 +43,9 @@
 if (BUILD_WITH_QML)
    find_package(Qt${QT_MAJOR_VERSION}Qml ${REQUIRED_QT_VERSION} CONFIG 
REQUIRED)
 endif()
+if (ANDROID AND QT_MAJOR_VERSION EQUAL "5")
+   find_package(Qt5AndroidExtras ${REQUIRED_QT_VERSION} CONFIG REQUIRED)
+endif()
 
 find_package(LibIntl)
 set_package_properties(LibIntl PROPERTIES TYPE REQUIRED
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ki18n-5.94.0/po/ca@valencia/ki18n5.po 
new/ki18n-5.95.0/po/ca@valencia/ki18n5.po
--- old/ki18n-5.94.0/po/ca@valencia/ki18n5.po   2022-05-07 23:22:09.000000000 
+0200
+++ new/ki18n-5.95.0/po/ca@valencia/ki18n5.po   2022-06-09 23:20:19.000000000 
+0200
@@ -95,7 +95,7 @@
 #: kuitmarkup.cpp:340
 msgctxt "keyboard-key-name"
 msgid "Delete"
-msgstr "Suprimeix"
+msgstr "Suprimix"
 
 #: kuitmarkup.cpp:341
 msgctxt "keyboard-key-name"
@@ -105,7 +105,7 @@
 #: kuitmarkup.cpp:342
 msgctxt "keyboard-key-name"
 msgid "End"
-msgstr "Finalitza"
+msgstr "Finalisa"
 
 #: kuitmarkup.cpp:343
 msgctxt "keyboard-key-name"
@@ -140,7 +140,7 @@
 #: kuitmarkup.cpp:349
 msgctxt "keyboard-key-name"
 msgid "Insert"
-msgstr "Insereix"
+msgstr "Inserix"
 
 #: kuitmarkup.cpp:350
 msgctxt "keyboard-key-name"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ki18n-5.94.0/po/zh_CN/ki18n5.po 
new/ki18n-5.95.0/po/zh_CN/ki18n5.po
--- old/ki18n-5.94.0/po/zh_CN/ki18n5.po 2022-05-07 23:22:09.000000000 +0200
+++ new/ki18n-5.95.0/po/zh_CN/ki18n5.po 2022-06-09 23:20:19.000000000 +0200
@@ -16,7 +16,7 @@
 "Project-Id-Version: kdeorg\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2022-01-02 00:43+0000\n"
-"PO-Revision-Date: 2022-04-26 15:18\n"
+"PO-Revision-Date: 2022-06-05 04:17\n"
 "Last-Translator: \n"
 "Language-Team: Chinese Simplified\n"
 "Language: zh_CN\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ki18n-5.94.0/src/i18n/CMakeLists.txt 
new/ki18n-5.95.0/src/i18n/CMakeLists.txt
--- old/ki18n-5.94.0/src/i18n/CMakeLists.txt    2022-05-07 23:22:09.000000000 
+0200
+++ new/ki18n-5.95.0/src/i18n/CMakeLists.txt    2022-06-09 23:20:19.000000000 
+0200
@@ -46,6 +46,12 @@
 target_link_libraries(KF5I18n PUBLIC Qt${QT_MAJOR_VERSION}::Core)
 # This is only required for platforms which don't use glibc (with glibc 
LibIntl_LIBRARIES will be empty)
 target_link_libraries(KF5I18n PRIVATE ${LibIntl_LIBRARIES})
+if (ANDROID)
+    if (QT_MAJOR_VERSION EQUAL "5")
+        target_link_libraries(KF5I18n PRIVATE Qt5::AndroidExtras)
+    endif()
+    target_link_libraries(KF5I18n PRIVATE android)
+endif()
 target_compile_options(KF5I18n PRIVATE -DTRANSLATION_DOMAIN=\"ki18n5\")
 
 set_target_properties(KF5I18n PROPERTIES VERSION   ${KI18N_VERSION}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ki18n-5.94.0/src/i18n/kcatalog.cpp 
new/ki18n-5.95.0/src/i18n/kcatalog.cpp
--- old/ki18n-5.94.0/src/i18n/kcatalog.cpp      2022-05-07 23:22:09.000000000 
+0200
+++ new/ki18n-5.95.0/src/i18n/kcatalog.cpp      2022-06-09 23:20:19.000000000 
+0200
@@ -22,6 +22,26 @@
 #include <QStandardPaths>
 #include <QStringList>
 
+#ifdef Q_OS_ANDROID
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#include <QAndroidJniEnvironment>
+#include <QAndroidJniObject>
+#include <QtAndroid>
+#else
+#include <QCoreApplication>
+#include <QJniEnvironment>
+#include <QJniObject>
+using QAndroidJniObject = QJniObject;
+#endif
+
+#include <android/asset_manager.h>
+#include <android/asset_manager_jni.h>
+
+#if __ANDROID_API__ < 23
+#include <dlfcn.h>
+#endif
+#endif
+
 #include <locale.h>
 #include <stdlib.h>
 
@@ -47,10 +67,35 @@
 public:
     KCatalogStaticData()
     {
+#ifdef Q_OS_ANDROID
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+        QAndroidJniEnvironment env;
+        QAndroidJniObject context = QtAndroid::androidContext();
+        m_assets = context.callObjectMethod("getAssets", 
"()Landroid/content/res/AssetManager;");
+        m_assetMgr = AAssetManager_fromJava(env, m_assets.object());
+#else
+        QJniEnvironment env;
+        QJniObject context = QNativeInterface::QAndroidApplication::context();
+        m_assets = context.callObjectMethod("getAssets", 
"()Landroid/content/res/AssetManager;");
+        m_assetMgr = AAssetManager_fromJava(env.jniEnv(), m_assets.object());
+#endif
+
+#if __ANDROID_API__ < 23
+        fmemopenFunc = 
reinterpret_cast<decltype(fmemopenFunc)>(dlsym(RTLD_DEFAULT, "fmemopen"));
+#endif
+#endif
     }
 
     QHash<QByteArray /*domain*/, QString /*directory*/> customCatalogDirs;
     QMutex mutex;
+
+#ifdef Q_OS_ANDROID
+    QAndroidJniObject m_assets;
+    AAssetManager *m_assetMgr = nullptr;
+#if __ANDROID_API__ < 23
+    FILE *(*fmemopenFunc)(void *, size_t, const char *);
+#endif
+#endif
 };
 
 Q_GLOBAL_STATIC(KCatalogStaticData, catalogStaticData)
@@ -108,7 +153,7 @@
 
 KCatalog::~KCatalog() = default;
 
-#if defined(Q_OS_ANDROID)
+#if defined(Q_OS_ANDROID) && __ANDROID_API__ < 23
 static QString androidUnpackCatalog(const QString &relpath)
 {
     // the catalog files are no longer extracted to the local file system
@@ -156,7 +201,19 @@
     }
 
 #if defined(Q_OS_ANDROID)
-    return androidUnpackCatalog(relpath);
+#if __ANDROID_API__ < 23
+    // fall back to copying the catalog to the file system on old systems
+    // without fmemopen()
+    if (!catalogStaticData->fmemopenFunc) {
+        return androidUnpackCatalog(relpath);
+    }
+#endif
+    const QString assetPath = QLatin1String("assets:/share/locale/") + relpath;
+    if (!QFileInfo::exists(assetPath)) {
+        return {};
+    }
+    return assetPath;
+
 #else
     QString file = QStandardPaths::locate(QStandardPaths::GenericDataLocation, 
QStringLiteral("locale/") + relpath);
 #ifdef Q_OS_WIN
@@ -209,6 +266,28 @@
     return availableLanguages;
 }
 
+#ifdef Q_OS_ANDROID
+static void androidAssetBindtextdomain(const QByteArray &domain, const 
QByteArray &localeDir)
+{
+    AAsset *asset = AAssetManager_open(catalogStaticData->m_assetMgr, 
localeDir.mid(8).constData(), AASSET_MODE_UNKNOWN);
+    if (!asset) {
+        qWarning() << "unable to load asset" << localeDir;
+        return;
+    }
+
+    off64_t size = AAsset_getLength64(asset);
+    const void *buffer = AAsset_getBuffer(asset);
+#if __ANDROID_API__ >= 23
+    FILE *moFile = fmemopen(const_cast<void *>(buffer), size, "r");
+#else
+    FILE *moFile = catalogStaticData->fmemopenFunc(const_cast<void *>(buffer), 
size, "r");
+#endif
+    loadMessageCatalogFile(domain, moFile);
+    fclose(moFile);
+    AAsset_close(asset);
+}
+#endif
+
 void KCatalogPrivate::setupGettextEnv()
 {
     // Point Gettext to current language, recording system value for recovery.
@@ -234,7 +313,15 @@
         bindDone = true;
 
         // qDebug() << "bindtextdomain" << domain << localeDir;
+#ifdef Q_OS_ANDROID
+        if (localeDir.startsWith("assets:/")) {
+            androidAssetBindtextdomain(domain, localeDir);
+        } else {
+            bindtextdomain(domain, localeDir);
+        }
+#else
         bindtextdomain(domain, localeDir);
+#endif
 
 #if HAVE_NL_MSG_CAT_CNTR
         // Magic to make sure GNU Gettext doesn't use stale cached translation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ki18n-5.94.0/src/localedata-qml/CMakeLists.txt 
new/ki18n-5.95.0/src/localedata-qml/CMakeLists.txt
--- old/ki18n-5.94.0/src/localedata-qml/CMakeLists.txt  2022-05-07 
23:22:09.000000000 +0200
+++ new/ki18n-5.95.0/src/localedata-qml/CMakeLists.txt  2022-06-09 
23:20:19.000000000 +0200
@@ -1,15 +1,15 @@
 # SPDX-FileCopyrightText: 2021 Volker Krause <vkra...@kde.org>
+# SPDX-FileCopyrightText: 2022 Julius K??nzel <jk.kde...@smartlab.uber.space>
 # SPDX-License-Identifier: BSD-3-Clause
 
-add_library(ki18nlocaledataqmlplugin ki18nlocaledataqmlplugin.cpp)
+ecm_add_qml_module(ki18nlocaledataqmlplugin URI "org.kde.i18n.localeData" 
VERSION 1.0)
+
+target_sources(ki18nlocaledataqmlplugin PRIVATE
+    ki18nlocaledataqmlplugin.cpp
+)
 target_link_libraries(ki18nlocaledataqmlplugin PRIVATE
     Qt${QT_MAJOR_VERSION}::Qml
     KF5::I18nLocaleData
 )
 
-# make examples work without installation
-set_property(TARGET ki18nlocaledataqmlplugin PROPERTY LIBRARY_OUTPUT_DIRECTORY 
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/org/kde/i18n/localeData)
-file(COPY qmldir DESTINATION 
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/org/kde/i18n/localeData)
-
-install(TARGETS ki18nlocaledataqmlplugin DESTINATION 
${KDE_INSTALL_QMLDIR}/org/kde/i18n/localeData)
-install(FILES qmldir ${qml_SRC} DESTINATION 
${KDE_INSTALL_QMLDIR}/org/kde/i18n/localeData)
+ecm_finalize_qml_module(ki18nlocaledataqmlplugin DESTINATION 
${KDE_INSTALL_QMLDIR})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ki18n-5.94.0/src/localedata-qml/qmldir 
new/ki18n-5.95.0/src/localedata-qml/qmldir
--- old/ki18n-5.94.0/src/localedata-qml/qmldir  2022-05-07 23:22:09.000000000 
+0200
+++ new/ki18n-5.95.0/src/localedata-qml/qmldir  1970-01-01 01:00:00.000000000 
+0100
@@ -1,3 +0,0 @@
-module org.kde.i18n.localeData
-plugin ki18nlocaledataqmlplugin
-classname KI18nLocaleDataQmlPlugin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ki18n-5.94.0/src/localedata-qml/qmldir.license 
new/ki18n-5.95.0/src/localedata-qml/qmldir.license
--- old/ki18n-5.94.0/src/localedata-qml/qmldir.license  2022-05-07 
23:22:09.000000000 +0200
+++ new/ki18n-5.95.0/src/localedata-qml/qmldir.license  1970-01-01 
01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-SPDX-License-Identifier: CC0-1.0
-SPDX-FileCopyrightText: 2021 Volker Krause <vkra...@kde.org>

Reply via email to