[packaging/craft-blueprints-kde] kde/frameworks: Update to KDE Frameworks 6.29.0
Volker Krause <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit 61e2618c29fa27f5ce76f7b1d14907462ef6d272 by Volker Krause.
Committed on 15/08/2026 at 10:38.
Pushed by vkrause into branch 'master'.
Update to KDE Frameworks 6.29.0
M +2 -2 kde/frameworks/tier1/breeze-icons/breeze-icons.py
A +25 -0 kde/frameworks/tier1/kirigami/6ab05f892e620d4d086d677d40bce871ba05f36b.diff
M +2 -0 kde/frameworks/tier1/kirigami/kirigami.py
D +0 -115 kde/frameworks/tier3/kio/kio-6-24-macos-build-fix.patch
D +0 -102 kde/frameworks/tier3/kio/kio-6-24-nanosecs-fix.patch
M +0 -2 kde/frameworks/tier3/kio/kio.py
M +2 -2 kde/frameworks/version.ini
https://invent.kde.org/packaging/craft-blueprints-kde/-/commit/61e2618c29fa27f5ce76f7b1d14907462ef6d272
diff --git a/kde/frameworks/tier1/breeze-icons/breeze-icons.py b/kde/frameworks/tier1/breeze-icons/breeze-icons.py
index 4bf87f41a..0d3da5ea7 100644
--- a/kde/frameworks/tier1/breeze-icons/breeze-icons.py
+++ b/kde/frameworks/tier1/breeze-icons/breeze-icons.py
@@ -12,8 +12,6 @@ from CraftCore import CraftCore
class subinfo(info.infoclass):
def setTargets(self):
self.versionInfo.setDefaultValues()
- self.patchToApply["6.24.0"] = [("breeze-icons-6.23.0-symlink-fix.diff", 1)]
- self.patchLevel["6.24.0"] = 1
self.patchToApply["6.25.0"] = [("breeze-icons-6.23.0-symlink-fix.diff", 1)]
self.patchLevel["6.25.0"] = 1
self.patchToApply["6.26.0"] = [("breeze-icons-6.23.0-symlink-fix.diff", 1)]
@@ -22,6 +20,8 @@ class subinfo(info.infoclass):
self.patchLevel["6.27.0"] = 1
self.patchToApply["6.28.0"] = [("breeze-icons-6.23.0-symlink-fix.diff", 1)]
self.patchLevel["6.28.0"] = 1
+ self.patchToApply["6.29.0"] = [("breeze-icons-6.23.0-symlink-fix.diff", 1)]
+ self.patchLevel["6.29.0"] = 1
self.description = "Breeze icon theme."
diff --git a/kde/frameworks/tier1/kirigami/6ab05f892e620d4d086d677d40bce871ba05f36b.diff b/kde/frameworks/tier1/kirigami/6ab05f892e620d4d086d677d40bce871ba05f36b.diff
new file mode 100644
index 000000000..7a17a510e
--- /dev/null
+++ b/kde/frameworks/tier1/kirigami/6ab05f892e620d4d086d677d40bce871ba05f36b.diff
@@ -0,0 +1,25 @@
+commit 6ab05f892e620d4d086d677d40bce871ba05f36b
+Author: Volker Krause <[email protected]>
+Date: Thu Aug 13 18:59:01 2026 +0200
+
+ Add another safety check before automatically popping hidden pages
+
+ trailingVisibleItem doesn't seem to be reliable during the transition away
+ from a dialog layer in mobile mode, so also check whether the page in
+ question is beyond the current index.
+
+ This fixes the editor page in Itinerary getting popped when selecting
+ an element in a Kirigami Addons FormComboBoxDelegate in mobile mode.
+
+diff --git a/src/controls/PageRow.qml b/src/controls/PageRow.qml
+index ce13ac542..b8353415c 100644
+--- a/src/controls/PageRow.qml
++++ b/src/controls/PageRow.qml
+@@ -1141,6 +1141,7 @@ QT.Control {
+
+ // pop every page that isn't visible and at the top of the stack
+ while (lastItem && columnView.trailingVisibleItem &&
++ columnView.currentIndex !== columnView.contentChildren.length - 1 &&
+ lastItem !== columnView.trailingVisibleItem && columnView.containsItem(lastItem)) {
+ root.pop();
+ }
diff --git a/kde/frameworks/tier1/kirigami/kirigami.py b/kde/frameworks/tier1/kirigami/kirigami.py
index 944aa9b22..0584a7fd6 100644
--- a/kde/frameworks/tier1/kirigami/kirigami.py
+++ b/kde/frameworks/tier1/kirigami/kirigami.py
@@ -7,6 +7,8 @@ class subinfo(info.infoclass):
self.versionInfo.setDefaultValues()
self.patchToApply["6.26.0"] = [("565d1605c10d37663c772c93a6765ee30f2418f8.patch", 1), ("fix-double-page-pop.diff", 1)]
self.patchLevel["6.26.0"] = 2
+ self.patchToApply["6.29.0"] = [("6ab05f892e620d4d086d677d40bce871ba05f36b.diff", 1)]
+ self.patchLevel["6.26.0"] = 1
def setDependencies(self):
self.buildDependencies["virtual/base"] = None
diff --git a/kde/frameworks/tier3/kio/kio-6-24-macos-build-fix.patch b/kde/frameworks/tier3/kio/kio-6-24-macos-build-fix.patch
deleted file mode 100644
index 49fb3b162..000000000
--- a/kde/frameworks/tier3/kio/kio-6-24-macos-build-fix.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-commit b526db12e6ddb746910d6147cf597515015ff42c
-Author: Albert Vaca Cintora <[email protected]>
-Date: Wed Mar 18 13:41:33 2026 +0100
-
- Fix build on macOS relating to tv_nsec
-
- Was missed in 431453b7, macOS uses differently named fields to access the nanosecond time info: `st_mtim` -> `st_mtimespec` and `st_atim` -> `st_atimespec`
-
-diff --git a/src/core/udsentry.cpp b/src/core/udsentry.cpp
-index cc766e700..be00664ba 100644
---- a/src/core/udsentry.cpp
-+++ b/src/core/udsentry.cpp
-@@ -10,6 +10,7 @@
-
- #include "udsentry.h"
-
-+#include "../kioworkers/file/stat_unix.h"
- #include "../utils_p.h"
-
- #include <QDataStream>
-@@ -363,11 +364,11 @@ UDSEntry::UDSEntry(const QT_STATBUF &buff, const QString &name)
- d->insert(UDS_INODE, buff.st_ino);
- d->insert(UDS_FILE_TYPE, buff.st_mode & QT_STAT_MASK); // extract file type
- d->insert(UDS_ACCESS, buff.st_mode & 07777); // extract permissions
-- d->insert(UDS_MODIFICATION_TIME, buff.st_mtime);
-- d->insert(UDS_ACCESS_TIME, buff.st_atime);
--#ifndef Q_OS_WIN
-- d->insert(UDS_MODIFICATION_TIME_NS_OFFSET, buff.st_mtim.tv_nsec);
-- d->insert(UDS_ACCESS_TIME_NS_OFFSET, buff.st_atim.tv_nsec);
-+ d->insert(UDS_MODIFICATION_TIME, stat_mtime(buff));
-+ d->insert(UDS_MODIFICATION_TIME_NS_OFFSET, stat_mtime_ns(buff));
-+ d->insert(UDS_ACCESS_TIME, stat_atime(buff));
-+ d->insert(UDS_ACCESS_TIME_NS_OFFSET, stat_atime_ns(buff));
-+#if !defined(Q_OS_WIN)
- d->insert(UDS_LOCAL_USER_ID, buff.st_uid);
- d->insert(UDS_LOCAL_GROUP_ID, buff.st_gid);
- #endif
-diff --git a/src/kioworkers/file/stat_unix.h b/src/kioworkers/file/stat_unix.h
-index 5dc6c77fb..f0a821d32 100644
---- a/src/kioworkers/file/stat_unix.h
-+++ b/src/kioworkers/file/stat_unix.h
-@@ -136,7 +136,7 @@ inline static uint64_t stat_mnt_id(const struct statx &buf)
- }
- #endif
- #else
--// regular stat struct
-+// regular stat struct (no statx)
- inline int LSTAT(const char *path, QT_STATBUF *buff, KIO::StatDetails details)
- {
- Q_UNUSED(details)
-@@ -147,6 +147,9 @@ inline int STAT(const char *path, QT_STATBUF *buff, KIO::StatDetails details)
- Q_UNUSED(details)
- return QT_STAT(path, buff);
- }
-+#endif
-+
-+// QT_STATBUF overloads (always available regardless of HAVE_STATX)
- inline static mode_t stat_mode(const QT_STATBUF &buf)
- {
- return buf.st_mode;
-@@ -177,8 +180,10 @@ inline static time_t stat_atime(const QT_STATBUF &buf)
- }
- inline static int64_t stat_atime_ns(const QT_STATBUF &buf)
- {
--#ifdef Q_OS_WIN
-+#if defined(Q_OS_WIN)
- return 0;
-+#elif defined(Q_OS_DARWIN)
-+ return buf.st_atimespec.tv_nsec;
- #else
- return buf.st_atim.tv_nsec;
- #endif
-@@ -189,12 +194,13 @@ inline static time_t stat_mtime(const QT_STATBUF &buf)
- }
- inline static int64_t stat_mtime_ns(const QT_STATBUF &buf)
- {
--#ifdef Q_OS_WIN
-+#if defined(Q_OS_WIN)
- return 0;
-+#elif defined(Q_OS_DARWIN)
-+ return buf.st_mtimespec.tv_nsec;
- #else
- return buf.st_mtim.tv_nsec;
- #endif
- }
--#endif
-
- #endif // STAT_UNIX_H
-diff --git a/src/kioworkers/trash/kio_trash.cpp b/src/kioworkers/trash/kio_trash.cpp
-index befff9417..e8267d42b 100644
---- a/src/kioworkers/trash/kio_trash.cpp
-+++ b/src/kioworkers/trash/kio_trash.cpp
-@@ -7,6 +7,7 @@
-
- #include "kio_trash.h"
- #include "../../utils_p.h"
-+#include "../kioworkers/file/stat_unix.h"
- #include "kiotrashdebug.h"
- #include "transferjob.h"
-
-@@ -495,10 +496,10 @@ bool TrashProtocol::createUDSEntry(const QString &physicalPath,
- entry.fastInsert(KIO::UDSEntry::UDS_SIZE, buff.st_size);
- entry.fastInsert(KIO::UDSEntry::UDS_USER, m_userName); // assumption
- entry.fastInsert(KIO::UDSEntry::UDS_GROUP, m_groupName); // assumption
-- entry.fastInsert(KIO::UDSEntry::UDS_MODIFICATION_TIME, buff.st_mtim.tv_sec);
-- entry.fastInsert(KIO::UDSEntry::UDS_MODIFICATION_TIME_NS_OFFSET, buff.st_mtim.tv_nsec);
-- entry.fastInsert(KIO::UDSEntry::UDS_ACCESS_TIME, buff.st_atim.tv_sec); // ## or use it for deletion time?
-- entry.fastInsert(KIO::UDSEntry::UDS_ACCESS_TIME_NS_OFFSET, buff.st_atim.tv_nsec);
-+ entry.fastInsert(KIO::UDSEntry::UDS_MODIFICATION_TIME, stat_mtime(buff));
-+ entry.fastInsert(KIO::UDSEntry::UDS_MODIFICATION_TIME_NS_OFFSET, stat_mtime_ns(buff));
-+ entry.fastInsert(KIO::UDSEntry::UDS_ACCESS_TIME, stat_atime(buff)); // ## or use it for deletion time?
-+ entry.fastInsert(KIO::UDSEntry::UDS_ACCESS_TIME_NS_OFFSET, stat_atime_ns(buff));
- entry.fastInsert(KIO::UDSEntry::UDS_EXTRA, info.origPath);
- entry.fastInsert(KIO::UDSEntry::UDS_EXTRA + 1, info.deletionDate.toString(Qt::ISODate));
- return true;
diff --git a/kde/frameworks/tier3/kio/kio-6-24-nanosecs-fix.patch b/kde/frameworks/tier3/kio/kio-6-24-nanosecs-fix.patch
deleted file mode 100644
index 9a78d3f08..000000000
--- a/kde/frameworks/tier3/kio/kio-6-24-nanosecs-fix.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-commit d59a5dcf5663e61ac674479c2a454301f3145137
-Author: Méven Car <[email protected]>
-Date: Mon Mar 16 13:05:51 2026 +0100
-
- core/udsentry: don't reduce nanosecond precision to millisecond
-
- Also add support for nano sec time for *BSD.
-
- Add a test for Linux/statx.
-
- Amends: 431453b7c809e1a71a3367102a674030e521b181
-
-diff --git a/autotests/jobtest.cpp b/autotests/jobtest.cpp
-index 83f091034..35bbe00c7 100644
---- a/autotests/jobtest.cpp
-+++ b/autotests/jobtest.cpp
-@@ -6,6 +6,7 @@
- */
-
- #include "jobtest.h"
-+#include "../src/core/config-stat-unix.h"
- #include "mockcoredelegateextensions.h"
-
- #include "kio/job.h"
-@@ -3117,6 +3118,8 @@ void JobTest::statWithNanosecondTimeOffset()
- QVERIFY(entry.contains(KIO::UDSEntry::UDS_MODIFICATION_TIME_NS_OFFSET));
- QVERIFY(entry.contains(KIO::UDSEntry::UDS_ACCESS_TIME));
- QVERIFY(entry.contains(KIO::UDSEntry::UDS_ACCESS_TIME_NS_OFFSET));
-+ QVERIFY(entry.contains(KIO::UDSEntry::UDS_CREATION_TIME));
-+ QVERIFY(entry.contains(KIO::UDSEntry::UDS_CREATION_TIME_NS_OFFSET));
-
- const auto modificationTimeInSec = entry.numberValue(KIO::UDSEntry::UDS_MODIFICATION_TIME);
- auto modificationDateTime = QDateTime::fromSecsSinceEpoch(modificationTimeInSec);
-@@ -3129,6 +3132,18 @@ void JobTest::statWithNanosecondTimeOffset()
- const auto fileInfo = QFileInfo(testFilePath.toLocalFile());
- QCOMPARE(modificationDateTime, fileInfo.lastModified());
- QCOMPARE(accessDateTime, fileInfo.lastRead());
-+
-+#if HAVE_STATX
-+ struct statx buff;
-+ auto result = statx(AT_FDCWD, QFile::encodeName(testFilePath.toLocalFile()).data(), AT_SYMLINK_NOFOLLOW, STATX_ATIME | STATX_MTIME | STATX_BTIME, &buff);
-+ QVERIFY(result == 0);
-+ QCOMPARE(buff.stx_mtime.tv_sec, entry.numberValue(KIO::UDSEntry::UDS_MODIFICATION_TIME));
-+ QCOMPARE(buff.stx_mtime.tv_nsec, entry.numberValue(KIO::UDSEntry::UDS_MODIFICATION_TIME_NS_OFFSET));
-+ QCOMPARE(buff.stx_atime.tv_sec, entry.numberValue(KIO::UDSEntry::UDS_ACCESS_TIME));
-+ QCOMPARE(buff.stx_atime.tv_nsec, entry.numberValue(KIO::UDSEntry::UDS_ACCESS_TIME_NS_OFFSET));
-+ QCOMPARE(buff.stx_btime.tv_sec, entry.numberValue(KIO::UDSEntry::UDS_CREATION_TIME));
-+ QCOMPARE(buff.stx_btime.tv_nsec, entry.numberValue(KIO::UDSEntry::UDS_CREATION_TIME_NS_OFFSET));
-+#endif
- }
-
- #include "moc_jobtest.cpp"
-diff --git a/src/core/udsentry.cpp b/src/core/udsentry.cpp
-index 7712d54ca..cc766e700 100644
---- a/src/core/udsentry.cpp
-+++ b/src/core/udsentry.cpp
-@@ -366,8 +366,8 @@ UDSEntry::UDSEntry(const QT_STATBUF &buff, const QString &name)
- d->insert(UDS_MODIFICATION_TIME, buff.st_mtime);
- d->insert(UDS_ACCESS_TIME, buff.st_atime);
- #ifndef Q_OS_WIN
-- d->insert(UDS_MODIFICATION_TIME_NS_OFFSET, buff.st_mtim.tv_nsec / 1000000);
-- d->insert(UDS_ACCESS_TIME_NS_OFFSET, buff.st_atim.tv_nsec / 1000000);
-+ d->insert(UDS_MODIFICATION_TIME_NS_OFFSET, buff.st_mtim.tv_nsec);
-+ d->insert(UDS_ACCESS_TIME_NS_OFFSET, buff.st_atim.tv_nsec);
- d->insert(UDS_LOCAL_USER_ID, buff.st_uid);
- d->insert(UDS_LOCAL_GROUP_ID, buff.st_gid);
- #endif
-diff --git a/src/kioworkers/file/file_unix.cpp b/src/kioworkers/file/file_unix.cpp
-index b2b13b604..554210b25 100644
---- a/src/kioworkers/file/file_unix.cpp
-+++ b/src/kioworkers/file/file_unix.cpp
-@@ -273,19 +273,29 @@ static bool createUDSEntry(const QString &filename, const QByteArray &path, UDSE
- * it if it is greater than 0. */
- if (buff.st_birthtime > 0) {
- entry.fastInsert(KIO::UDSEntry::UDS_CREATION_TIME, buff.st_birthtime);
-+
-+ if ((details & KIO::StatTimeNsOffset) == KIO::StatTimeNsOffset) {
-+ entry.fastInsert(KIO::UDSEntry::UDS_CREATION_TIME_NS_OFFSET, buff.st_birthtimespec.tv_nsec);
-+ }
- }
-+
- #elif defined __st_birthtime
- /* As above, but OpenBSD calls it slightly differently. */
- if (buff.__st_birthtime > 0) {
- entry.fastInsert(KIO::UDSEntry::UDS_CREATION_TIME, buff.__st_birthtime);
-+
-+ if ((details & KIO::StatTimeNsOffset) == KIO::StatTimeNsOffset) {
-+ entry.fastInsert(KIO::UDSEntry::UDS_CREATION_TIME_NS_OFFSET, buff.__st_birthtimensec);
-+ }
- }
-+
- #elif HAVE_STATX
- /* And linux version using statx syscall */
- if (buff.stx_mask & STATX_BTIME) {
- entry.fastInsert(KIO::UDSEntry::UDS_CREATION_TIME, buff.stx_btime.tv_sec);
-
- if ((details & KIO::StatTimeNsOffset) == KIO::StatTimeNsOffset) {
-- entry.fastInsert(KIO::UDSEntry::UDS_CREATION_TIME_NS_OFFSET, buff.stx_btime.tv_nsec / 1000000);
-+ entry.fastInsert(KIO::UDSEntry::UDS_CREATION_TIME_NS_OFFSET, buff.stx_btime.tv_nsec);
- }
- }
- #endif
diff --git a/kde/frameworks/tier3/kio/kio.py b/kde/frameworks/tier3/kio/kio.py
index 9de0b2f43..53083b73c 100644
--- a/kde/frameworks/tier3/kio/kio.py
+++ b/kde/frameworks/tier3/kio/kio.py
@@ -6,8 +6,6 @@ from CraftCore import CraftCore
class subinfo(info.infoclass):
def setTargets(self):
self.versionInfo.setDefaultValues()
- self.patchToApply["6.24.0"] = [("kio-6-24-nanosecs-fix.patch", 1), ("kio-6-24-macos-build-fix.patch", 1)]
- self.patchLevel["6.24.0"] = 1
def setDependencies(self):
self.buildDependencies["virtual/base"] = None
diff --git a/kde/frameworks/version.ini b/kde/frameworks/version.ini
index 0b0569873..0d14abd05 100644
--- a/kde/frameworks/version.ini
+++ b/kde/frameworks/version.ini
@@ -5,10 +5,10 @@ branches = master
; all releases we want to support for building
; restrict to last 5 stable releases
; if you remove releases here, consider to cleanup the scripts/patches for special handling of old releases
-tarballs = 6.24.0;6.25.0;6.26.0;6.27.0;6.28.0
+tarballs = 6.25.0;6.26.0;6.27.0;6.28.0;6.29.0
; release target to build
-defaulttarget = 6.28.0
+defaulttarget = 6.29.0
tarballUrl = https://download.kde.org/stable/frameworks/${VERSION_MAJOR}.${VERSION_MINOR}/${PACKAGE_NAME}-${VERSION}.tar.xz
tarballDigestUrl = https://download.kde.org/stable/frameworks/${VERSION_MAJOR}.${VERSION_MINOR}/${PACKAGE_NAME}-${VERSION}.tar.xz.sha256