Your message dated Tue, 29 Jul 2025 17:41:30 +0000
with message-id <[email protected]>
and subject line unblock kclock
has caused the Debian Bug report #1110062,
regarding unblock: kclock/25.04.3-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1110062: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1110062
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: [email protected], Debian Qt/KDE Maintainers 
<[email protected]>
Control: affects -1 + src:kclock
User: [email protected]
Usertags: unblock

Dear Release Team,

please unblock package kclock.

[ Reason ]
It contains the following changes:
* New upstream release (25.04.3).
  - Add X-Plasma-API-Minimum-Version to applet metadata. (kde#505837)
  - Use KPackageStructure instead of ServiceTypes in metadata.json.
  (#505837)
  - Timers: Fix preset creation and usage (25.04). (kde#505636)
  - Fix alarm form overflowing on larger screens. (kde#505695)
* Backport upstream commit:
  - Correctly honor configured sound theme for default alarm sound.
  [8c656dc4]

The complete debdiff is huge with translation fixes so I’m attaching a
simple diff trimmed of these for your convinience :
    diff -ur --exclude=po --exclude=*.desktop kclock-25.04.[03]

[ Tests ]
Tested stopwatch, timer, adding clock for another timezone.

[ Risks ]
Only contains the latest upstream point release for the 25.04 Gear
branch. Further fixes can easily be backported or the changes reverted.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing


Thanks !


unblock kclock/25.04.3-1

Attachment: kclock_25.04.0-1.dsc_kclock_25.04.3-1.dsc.debdiff.gz
Description: application/gzip

diff -ur '--exclude=po' '--exclude=*.desktop' kclock-25.04.0/CMakeLists.txt 
kclock-25.04.3/CMakeLists.txt
--- kclock-25.04.0/CMakeLists.txt       2025-04-11 05:12:02.000000000 +0200
+++ kclock-25.04.3/CMakeLists.txt       2025-06-30 18:54:48.000000000 +0200
@@ -11,7 +11,7 @@
 # KDE Applications version, managed by release script.
 set(RELEASE_SERVICE_VERSION_MAJOR "25")
 set(RELEASE_SERVICE_VERSION_MINOR "04")
-set(RELEASE_SERVICE_VERSION_MICRO "0")
+set(RELEASE_SERVICE_VERSION_MICRO "3")
 set(RELEASE_SERVICE_VERSION 
"${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
 
 project(kclock VERSION ${RELEASE_SERVICE_VERSION})
diff -ur '--exclude=po' '--exclude=*.desktop' kclock-25.04.0/debian/changelog 
kclock-25.04.3/debian/changelog
--- kclock-25.04.0/debian/changelog     2025-04-17 18:59:13.000000000 +0200
+++ kclock-25.04.3/debian/changelog     2025-07-23 18:01:27.000000000 +0200
@@ -1,3 +1,20 @@
+kclock (25.04.3-1) unstable; urgency=medium
+
+  * Team upload.
+
+  [ Aurélien COUDERC ]
+  * New upstream release (25.04.3).
+    - Add X-Plasma-API-Minimum-Version to applet metadata. (kde#505837)
+    - Use KPackageStructure instead of ServiceTypes in metadata.json.
+    (#505837)
+    - Timers: Fix preset creation and usage (25.04). (kde#505636)
+    - Fix alarm form overflowing on larger screens. (kde#505695)
+  * Backport upstream commit:
+    - Correctly honor configured sound theme for default alarm sound.
+    [8c656dc4]
+
+ -- Aurélien COUDERC <[email protected]>  Wed, 23 Jul 2025 18:01:27 +0200
+
 kclock (25.04.0-1) unstable; urgency=medium
 
   * Team upload.
Seulement dans kclock-25.04.3/debian: patches
diff -ur '--exclude=po' '--exclude=*.desktop' 
kclock-25.04.0/org.kde.kclock.appdata.xml 
kclock-25.04.3/org.kde.kclock.appdata.xml
--- kclock-25.04.0/org.kde.kclock.appdata.xml   2025-04-11 05:12:02.000000000 
+0200
+++ kclock-25.04.3/org.kde.kclock.appdata.xml   2025-06-30 18:54:48.000000000 
+0200
@@ -77,6 +77,7 @@
   <summary xml:lang="lt">Sekti laiką ir nusistatyti žadintuvus</summary>
   <summary xml:lang="lv">Sekojiet laikam un lieciet modinātājus</summary>
   <summary xml:lang="nl">Tijd bijhouden en wekkers zetten</summary>
+  <summary xml:lang="nn">Vis klokka og still inn alarmar</summary>
   <summary xml:lang="pl">Pilnuj czasu i ustawiaj alarmy</summary>
   <summary xml:lang="pt-BR">Manter o horário e configurar os alarmes</summary>
   <summary xml:lang="ru">Просмотр времени и установка напоминаний</summary>
@@ -115,6 +116,7 @@
     <p xml:lang="lt">Universali laikrodžio programa, skirta kompiuteriams ir 
mobiliesiems įrenginiams. Laikrodis leidžia nustatyti daug žadintuvų bei 
laikmačių, be to, jame yra chronometras ir pasaulio laikrodžiai.</p>
     <p xml:lang="lv">Universāla pulksteņa lietotne datoram un viedierīcēm. 
Pulkstenis satur hronometru un pasaules pulksteni, kā arī ļauj uzlikt dažādus 
modinātājus un taimerus.</p>
     <p xml:lang="nl">Een universele kloktoepassing voor bureaublad en mobiel. 
Kclock omvat een stopwatch en een wereldklok en biedt u het zetten meerdere 
wekkers en timers.</p>
+    <p xml:lang="nn">Eit universelt klokkeprogram for skrivebord og mobil. 
Inneheld stoppeklokke og verdsklokke, og lèt deg stilla inn fleire alarmar og 
nedteljarar.</p>
     <p xml:lang="pl">Wszechstronny zegar na urządzenia przenośne i biurkowe. 
Zegar zawiera stoper oraz zegar światowy. Umożliwia ustawienie wielu alarmów i 
minutników.</p>
     <p xml:lang="pt-BR">Um aplicativo de relógio universal para desktop e 
celular. O relógio inclui um cronômetro e um relógio mundial, e permite que 
você defina vários alarmes e timers.</p>
     <p xml:lang="ru">Универсальные часы для стационарных компьютеров и 
мобильных устройств. В программе есть секундомер и мировые часы, поддерживается 
установка напоминаний и таймеров.</p>
@@ -457,6 +459,9 @@
   <url 
type="donation">https://www.kde.org/community/donations/?app=kclock&amp;source=appdata</url>
   <url type="vcs-browser">https://invent.kde.org/utilities/kclock</url>
   <releases>
+    <release version="25.04.3" date="2025-07-03"/>
+    <release version="25.04.2" date="2025-06-05"/>
+    <release version="25.04.1" date="2025-05-08"/>
     <release version="25.04.0" date="2025-04-17"/>
     <release version="24.12.3" date="2025-03-06"/>
     <release version="24.12.2" date="2025-02-06"/>
diff -ur '--exclude=po' '--exclude=*.desktop' 
kclock-25.04.0/.pc/applied-patches kclock-25.04.3/.pc/applied-patches
--- kclock-25.04.0/.pc/applied-patches  2025-07-27 13:27:32.636652284 +0200
+++ kclock-25.04.3/.pc/applied-patches  2025-07-27 13:27:32.780641035 +0200
@@ -0,0 +1 @@
+upstream_8c656dc4_Honor-configured-sound-theme-for-default-alarm-sound.patch
Seulement dans kclock-25.04.3/.pc: 
upstream_8c656dc4_Honor-configured-sound-theme-for-default-alarm-sound.patch
diff -ur '--exclude=po' '--exclude=*.desktop' 
kclock-25.04.0/src/kclock/qml/alarm/AlarmForm.qml 
kclock-25.04.3/src/kclock/qml/alarm/AlarmForm.qml
--- kclock-25.04.0/src/kclock/qml/alarm/AlarmForm.qml   2025-04-11 
05:12:02.000000000 +0200
+++ kclock-25.04.3/src/kclock/qml/alarm/AlarmForm.qml   2025-06-30 
18:54:48.000000000 +0200
@@ -82,6 +82,7 @@
     // repeat day picker
     DialogComboBox {
         implicitWidth: root.width
+        Layout.maximumWidth: 540
 
         Kirigami.FormData.label: i18n("Days to repeat:")
         text: FormatUtil.getRepeatFormat(root.formDaysOfWeek)
@@ -117,6 +118,7 @@
     DialogComboBox {
         id: ringDurationPicker
         implicitWidth: root.width
+        Layout.maximumWidth: 540
 
         Kirigami.FormData.label: i18n("Ring Duration:")
         text: {
@@ -160,6 +162,7 @@
     DialogComboBox {
         id: snoozeLengthPicker
         implicitWidth: root.width
+        Layout.maximumWidth: 540
 
         Kirigami.FormData.label: i18n("Snooze Length:")
         title: i18n("Select Snooze Length")
@@ -194,6 +197,7 @@
         id: audioPathField
         implicitWidth: root.width
         width: root.width
+        Layout.maximumWidth: 540
 
         Kirigami.FormData.label: i18n("Ring Sound:")
 
diff -ur '--exclude=po' '--exclude=*.desktop' 
kclock-25.04.0/src/kclock/qml/timer/TimerFormDialog.qml 
kclock-25.04.3/src/kclock/qml/timer/TimerFormDialog.qml
--- kclock-25.04.0/src/kclock/qml/timer/TimerFormDialog.qml     2025-04-11 
05:12:02.000000000 +0200
+++ kclock-25.04.3/src/kclock/qml/timer/TimerFormDialog.qml     2025-06-30 
18:54:48.000000000 +0200
@@ -16,10 +16,6 @@
 Kirigami.Dialog {
     id: root
 
-    function createTimer(duration, label, commandTimeout) {
-        TimerModel.addNew(duration, label, commandTimeout);
-    }
-
     property bool showPresets: false
     property bool showDelete: false
 
@@ -37,20 +33,6 @@
             id: timerForm
             Layout.fillWidth: true
         }
-        Flow {
-            spacing: Kirigami.Units.smallSpacing
-            visible: showPresets
-            Layout.fillWidth: true
-
-            Repeater {
-                model: TimerPresetModel
-
-                Button {
-                    text: showDelete ? "Delete" : preset.presetName
-                    onClicked: showDelete ? 
TimerPresetModel.deletePreset(index) : 
root.createTimer(timerForm.getDuration(), timerForm.name) & close();
-                }
-            }
-        }
     }
 
     customFooterActions: [
@@ -70,7 +52,7 @@
             icon.name: "dialog-ok"
             text: i18n("Done")
             onTriggered: {
-                root.createTimer(timerForm.getDuration(), timerForm.name, 
timerForm.commandTimeout);
+                TimerModel.addNew(timerForm.getDuration(), timerForm.name, 
timerForm.commandTimeout);
                 close();
             }
         }
diff -ur '--exclude=po' '--exclude=*.desktop' 
kclock-25.04.0/src/kclock/qml/timer/TimerForm.qml 
kclock-25.04.3/src/kclock/qml/timer/TimerForm.qml
--- kclock-25.04.0/src/kclock/qml/timer/TimerForm.qml   2025-04-11 
05:12:02.000000000 +0200
+++ kclock-25.04.3/src/kclock/qml/timer/TimerForm.qml   2025-06-30 
18:54:48.000000000 +0200
@@ -19,6 +19,8 @@
     property alias name: label.text
     property alias commandTimeout: commandTimeoutField.text
 
+    signal closeFormRequested()
+
     function setDuration(duration) {
         hours = duration / 60 / 60;
         minutes = duration % (60 * 60) / 60;
@@ -39,7 +41,7 @@
                 text: i18n("1 m")
                 hours: 0
                 minutes: 1
-                hoursSpinBox: spinBoxHours 
+                hoursSpinBox: spinBoxHours
                 minutesSpinBox: spinBoxMinutes
                 secondsSpinBox: spinBoxSeconds
             }
@@ -47,7 +49,7 @@
                 text: i18n("5 m")
                 hours: 0
                 minutes: 5
-                hoursSpinBox: spinBoxHours 
+                hoursSpinBox: spinBoxHours
                 minutesSpinBox: spinBoxMinutes
                 secondsSpinBox: spinBoxSeconds
             }
@@ -55,7 +57,7 @@
                 text: i18n("10 m")
                 hours: 0
                 minutes: 10
-                hoursSpinBox: spinBoxHours 
+                hoursSpinBox: spinBoxHours
                 minutesSpinBox: spinBoxMinutes
                 secondsSpinBox: spinBoxSeconds
             }
@@ -67,7 +69,7 @@
                 text: i18n("15 m")
                 hours: 0
                 minutes: 15
-                hoursSpinBox: spinBoxHours 
+                hoursSpinBox: spinBoxHours
                 minutesSpinBox: spinBoxMinutes
                 secondsSpinBox: spinBoxSeconds
             }
@@ -75,7 +77,7 @@
                 text: i18n("30 m")
                 hours: 0
                 minutes: 30
-                hoursSpinBox: spinBoxHours 
+                hoursSpinBox: spinBoxHours
                 minutesSpinBox: spinBoxMinutes
                 secondsSpinBox: spinBoxSeconds
             }
@@ -83,7 +85,7 @@
                 text: i18n("1 h")
                 hours: 1
                 minutes: 0
-                hoursSpinBox: spinBoxHours 
+                hoursSpinBox: spinBoxHours
                 minutesSpinBox: spinBoxMinutes
                 secondsSpinBox: spinBoxSeconds
             }
@@ -151,7 +153,7 @@
                 showPresets = true;
             }
         }
-        
+
         Button {
             id: presetButton
             text: showPresets ? i18n("Hide Presets") : i18n("Show Presets")
@@ -168,7 +170,7 @@
     }
     Flow {
         spacing: Kirigami.Units.smallSpacing
-        visible: showPresets && Kirigami.Settings.isMobile && repeater.count > 0
+        visible: showPresets && repeater.count > 0
         Layout.fillWidth: true
 
         Repeater {
@@ -177,8 +179,14 @@
 
             Button {
                 text: showDelete ? "Delete" : preset.presetName
-                onClicked: showDelete ? TimerPresetModel.deletePreset(index) : 
loader.createTimer(timerForm.getDuration(), timerForm.name, 
timerForm.commandTimeout) & close();
-
+                onClicked: {
+                    if (showDelete) {
+                        TimerPresetModel.deletePreset(index);
+                    } else {
+                        TimerModel.addNew(preset.presetDuration, 
preset.presetName, timerForm.commandTimeout);
+                        root.closeFormRequested();
+                    }
+                }
             }
         }
     }
diff -ur '--exclude=po' '--exclude=*.desktop' 
kclock-25.04.0/src/kclockd/alarm.cpp kclock-25.04.3/src/kclockd/alarm.cpp
--- kclock-25.04.0/src/kclockd/alarm.cpp        2025-04-11 05:12:02.000000000 
+0200
+++ kclock-25.04.3/src/kclockd/alarm.cpp        2025-07-27 13:27:32.000000000 
+0200
@@ -305,7 +305,8 @@
 
     // play sound (it will loop)
     qDebug() << "Alarm sound: " << m_audioPath;
-    AlarmPlayer::instance().setSource(m_audioPath);
+    // TODO clean up usage of audio path as URL.
+    AlarmPlayer::instance().setSource(m_audioPath.toLocalFile());
     AlarmPlayer::instance().play();
     setRinging(true);
 
diff -ur '--exclude=po' '--exclude=*.desktop' 
kclock-25.04.0/src/kclockd/alarmplayer.cpp 
kclock-25.04.3/src/kclockd/alarmplayer.cpp
--- kclock-25.04.0/src/kclockd/alarmplayer.cpp  2025-04-11 05:12:02.000000000 
+0200
+++ kclock-25.04.3/src/kclockd/alarmplayer.cpp  2025-07-27 13:27:32.000000000 
+0200
@@ -9,8 +9,14 @@
 
 #include <QDateTime>
 #include <QFile>
+#include <QFileInfo>
 #include <QStandardPaths>
 
+#include <KConfigGroup>
+#include <KSharedConfig>
+
+using namespace Qt::Literals::StringLiterals;
+
 AlarmPlayer &AlarmPlayer::instance()
 {
     static AlarmPlayer singleton;
@@ -21,6 +27,7 @@
     : QObject{parent}
     , m_player(new QMediaPlayer(this))
     , m_audio(new QAudioOutput)
+    , 
m_soundThemeWatcher(KConfigWatcher::create(KSharedConfig::openConfig(QStringLiteral("kdeglobals"))))
 {
     m_player->setAudioOutput(m_audio);
     connect(m_player, &QMediaPlayer::playbackStateChanged, this, 
&AlarmPlayer::loopAudio);
@@ -60,16 +67,37 @@
     Q_EMIT volumeChanged();
 }
 
-void AlarmPlayer::setSource(const QUrl &path)
+void AlarmPlayer::setSource(const QString &path)
 {
-    // if user set a invalid audio path or doesn't even specified a path, 
resort to default
-    if (!path.isValid() || !QFile::exists(path.toLocalFile())) {
-        const QUrl url = QUrl::fromLocalFile(
-            QStandardPaths::locate(QStandardPaths::GenericDataLocation, 
QStringLiteral("sounds/freedesktop/stereo/alarm-clock-elapsed.oga")));
-        m_player->setSource(url);
+    if (path.isEmpty() || !QFileInfo::exists(path)) {
+        m_player->setSource(QUrl::fromLocalFile(defaultAlarmSoundPath()));
     } else {
-        m_player->setSource(path);
+        m_player->setSource(QUrl::fromLocalFile(path));
     }
 }
 
+QString AlarmPlayer::soundThemeName() const
+{
+    const KConfigGroup soundGroup = 
m_soundThemeWatcher->config()->group(QStringLiteral("Sounds"));
+    const QString themeName = soundGroup.readEntry(QStringLiteral("Theme"), 
QStringLiteral("ocean"));
+    return themeName;
+}
+
+QString AlarmPlayer::defaultAlarmSoundPath() const
+{
+    const QString soundPath = 
QStringLiteral("sounds/%1/stereo/alarm-clock-elapsed.%2");
+
+    for (const QString &theme : {soundThemeName(), u"freedesktop"_s}) {
+        for (const QLatin1String extension : {"wav"_L1, "oga"_L1, "ogg"_L1}) {
+            const QString path = 
QStandardPaths::locate(QStandardPaths::GenericDataLocation, 
soundPath.arg(theme, extension));
+            if (!path.isEmpty()) {
+                return path;
+            }
+        }
+    }
+
+    qCritical() << "Failed to find any alarm clock sound!";
+    return QString();
+}
+
 #include "moc_alarmplayer.cpp"
diff -ur '--exclude=po' '--exclude=*.desktop' 
kclock-25.04.0/src/kclockd/alarmplayer.h 
kclock-25.04.3/src/kclockd/alarmplayer.h
--- kclock-25.04.0/src/kclockd/alarmplayer.h    2025-04-11 05:12:02.000000000 
+0200
+++ kclock-25.04.3/src/kclockd/alarmplayer.h    2025-07-27 13:27:32.000000000 
+0200
@@ -12,6 +12,8 @@
 
 #include <QAudioOutput>
 
+#include <KConfigWatcher>
+
 class AlarmPlayer : public QObject
 {
     Q_OBJECT
@@ -22,10 +24,13 @@
 
     int volume();
     Q_INVOKABLE void setVolume(int volume);
-    Q_INVOKABLE void setSource(const QUrl &path);
+    Q_INVOKABLE void setSource(const QString &path);
     Q_INVOKABLE void play();
     Q_INVOKABLE void stop();
 
+    QString soundThemeName() const;
+    QString defaultAlarmSoundPath() const;
+
 Q_SIGNALS:
     void volumeChanged();
 
@@ -35,6 +40,7 @@
 private:
     QMediaPlayer *m_player;
     QAudioOutput *m_audio;
+    KConfigWatcher::Ptr m_soundThemeWatcher;
 
     bool m_userStop = false; // indicate if user asks to stop
 
diff -ur '--exclude=po' '--exclude=*.desktop' 
kclock-25.04.0/src/kclockd/timer.cpp kclock-25.04.3/src/kclockd/timer.cpp
--- kclock-25.04.0/src/kclockd/timer.cpp        2025-04-11 05:12:02.000000000 
+0200
+++ kclock-25.04.3/src/kclockd/timer.cpp        2025-07-27 13:27:32.000000000 
+0200
@@ -263,7 +263,7 @@
 
     Utilities::pauseMprisSources();
 
-    AlarmPlayer::instance().setSource(findRingSoundLocation());
+    AlarmPlayer::instance().setSource(QString()); // use default.
     AlarmPlayer::instance().play();
 
     m_ringing = true;
@@ -290,18 +290,4 @@
     }
 }
 
-QUrl Timer::findRingSoundLocation()
-{
-    const auto locations = 
QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
-    const QString path = 
QStringLiteral("/sounds/freedesktop/stereo/alarm-clock-elapsed.oga");
-    QString alarmSoundPath;
-
-    for (const auto &directory : locations) {
-        if (QFile(directory + path).exists()) {
-            return QUrl(directory + path);
-        }
-    }
-
-    return QUrl();
-}
 #include "moc_timer.cpp"
diff -ur '--exclude=po' '--exclude=*.desktop' 
kclock-25.04.0/src/kclockd/timer.h kclock-25.04.3/src/kclockd/timer.h
--- kclock-25.04.0/src/kclockd/timer.h  2025-04-11 05:12:02.000000000 +0200
+++ kclock-25.04.3/src/kclockd/timer.h  2025-07-27 13:27:32.000000000 +0200
@@ -81,7 +81,6 @@
     void reschedule();
 
 private:
-    QUrl findRingSoundLocation();
     void setRunning(bool running);
     void ring();
 
diff -ur '--exclude=po' '--exclude=*.desktop' 
kclock-25.04.0/src/plasmoid/KClock_1x2/package/metadata.json 
kclock-25.04.3/src/plasmoid/KClock_1x2/package/metadata.json
--- kclock-25.04.0/src/plasmoid/KClock_1x2/package/metadata.json        
2025-04-11 05:12:02.000000000 +0200
+++ kclock-25.04.3/src/plasmoid/KClock_1x2/package/metadata.json        
2025-06-30 18:54:48.000000000 +0200
@@ -1,4 +1,5 @@
 {
+    "KPackageStructure": "Plasma/Applet",
     "KPlugin": {
         "Authors": [
             {
@@ -26,6 +27,7 @@
                 "Name[lt]": "HanY",
                 "Name[lv]": "HanY",
                 "Name[nl]": "HanY",
+                "Name[nn]": "HanY",
                 "Name[pa]": "ਹਾਂਯੇ",
                 "Name[pl]": "HanY",
                 "Name[pt]": "HanY",
@@ -66,6 +68,7 @@
         "Description[lt]": "KClock valdiklis (1x2)",
         "Description[lv]": "„KClock“ logdaļa (1×2)",
         "Description[nl]": "KClock-widget (1x2)",
+        "Description[nn]": "KClock-element (1 × 2)",
         "Description[pa]": "ਕੇ-ਘੜੀ ਵਿਜੈਟ (1x2)",
         "Description[pl]": "Element interfejsu KClock (1x2)",
         "Description[pt]": "Elemento do KClock (1x2)",
@@ -112,6 +115,7 @@
         "Name[lt]": "KClock_1x2",
         "Name[lv]": "KClock_1x2",
         "Name[nl]": "KClock_1x2",
+        "Name[nn]": "KClock_1x2",
         "Name[pa]": "ਕੇ-ਘੜੀ_1x2",
         "Name[pl]": "KClock_1x2",
         "Name[pt]": "KClock_1x2",
@@ -126,13 +130,11 @@
         "Name[x-test]": "xxKClock_1x2xx",
         "Name[zh_CN]": "KClock_1x2",
         "Name[zh_TW]": "KClock_1x2",
-        "ServiceTypes": [
-            "Plasma/Applet"
-        ],
         "Version": "1.0",
         "Website": "https://apps.kde.org/kclock";
     },
     "X-Plasma-API": "declarativeappletscript",
+    "X-Plasma-API-Minimum-Version": "6.0",
     "X-Plasma-DBusActivationService": "org.kde.kclock.*",
     "X-Plasma-MainScript": "ui/main.qml",
     "X-Plasma-NotificationArea": "true",
diff -ur '--exclude=po' '--exclude=*.desktop' 
kclock-25.04.0/src/plasmoid/KClock_KWeather_3x3/package/metadata.json 
kclock-25.04.3/src/plasmoid/KClock_KWeather_3x3/package/metadata.json
--- kclock-25.04.0/src/plasmoid/KClock_KWeather_3x3/package/metadata.json       
2025-04-11 05:12:02.000000000 +0200
+++ kclock-25.04.3/src/plasmoid/KClock_KWeather_3x3/package/metadata.json       
2025-06-30 18:54:48.000000000 +0200
@@ -1,4 +1,5 @@
 {
+    "KPackageStructure": "Plasma/Applet",
     "KPlugin": {
         "Authors": [
             {
@@ -26,6 +27,7 @@
                 "Name[lt]": "HanY",
                 "Name[lv]": "HanY",
                 "Name[nl]": "HanY",
+                "Name[nn]": "HanY",
                 "Name[pa]": "ਹਾਂਯੇ",
                 "Name[pl]": "HanY",
                 "Name[pt]": "HanY",
@@ -66,6 +68,7 @@
         "Description[lt]": "KClock valdiklis (3x3 su informacija apie orus)",
         "Description[lv]": "„KCloc“k logdaļa (3×3 ar laikapstākļu 
informāciju)",
         "Description[nl]": "KClock-widget (3x3 met weerinformatie)",
+        "Description[nn]": "KClock-element (3 × 3 med vêrmelding)",
         "Description[pa]": "ਕੇ-ਘੜੀ ਵਿਜੈਟ (ਮੌਸਮੀ ਜਾਣਕਾਰੀ ਸਮੇਤ 3x3)",
         "Description[pl]": "Element interfejsu (3x3 z danymi pogodowymi)",
         "Description[pt]": "Elemento do KClock (3x3 com Dados Meteorológicos)",
@@ -107,6 +110,7 @@
         "Name[lt]": "KClock_KWeather_3x3",
         "Name[lv]": "KClock_KWeather_3x3",
         "Name[nl]": "KClock_KWeather_3x3",
+        "Name[nn]": "KClock_KWeather_3x3",
         "Name[pa]": "ਕੇ-ਘੜੀ_ਕੇ-ਮੌਸਮ_3x3",
         "Name[pl]": "KClock_KWeather_3x3",
         "Name[pt]": "KClock_KWeather_3x3",
@@ -121,9 +125,6 @@
         "Name[x-test]": "xxKClock_KWeather_3x3xx",
         "Name[zh_CN]": "KClock_KWeather_3x3",
         "Name[zh_TW]": "KClock_KWeather_3x3",
-        "ServiceTypes": [
-            "Plasma/Applet"
-        ],
         "Version": "1.0",
         "Website": "https://apps.kde.org/kclock";
     },

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply via email to