summaryrefslogtreecommitdiff
path: root/user/kio
diff options
context:
space:
mode:
Diffstat (limited to 'user/kio')
-rw-r--r--user/kio/APKBUILD33
-rw-r--r--user/kio/cxx17.patch21
-rw-r--r--user/kio/favicon-url.patch14
-rw-r--r--user/kio/unmounted-root.patch37
4 files changed, 76 insertions, 29 deletions
diff --git a/user/kio/APKBUILD b/user/kio/APKBUILD
index d11ea594f..89eca1dc4 100644
--- a/user/kio/APKBUILD
+++ b/user/kio/APKBUILD
@@ -1,26 +1,28 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=kio
-pkgver=5.94.0
+pkgver=5.116.0
pkgrel=0
pkgdesc="Framework for data and file management"
url="https://www.kde.org/"
arch="all"
-options="!checkroot !check" # Test requires X11; segfault bug #34
+options="!checkroot checkx11"
license="LGPL-2.1-only AND LGPL-2.1+ AND (LGPL-2.1-only OR LGPL-3.0-only)"
depends="kded"
depends_dev="qt5-qtbase-dev attica-dev kbookmarks-dev kcompletion-dev
kconfig-dev kcoreaddons-dev kiconthemes-dev kitemviews-dev
kjobwidgets-dev kservice-dev kwidgetsaddons-dev solid-dev"
+checkdepends="udisks2"
docdepends="kcoreaddons-doc kservice-doc kcompletion-doc kwidgetsaddons-doc
kjobwidgets-doc kbookmarks-doc kitemviews-doc kxmlgui-doc solid-doc
kwindowsystem-doc kconfig-doc kconfigwidgets-doc kcodecs-doc kauth-doc"
-makedepends="$depends_dev cmake extra-cmake-modules kdoctools-dev python3
+makedepends="$depends_dev cmake extra-cmake-modules kdoctools-dev python3 chelf
qt5-qttools-dev doxygen graphviz karchive-dev kdbusaddons-dev ki18n-dev
knotifications-dev kwallet-dev acl-dev kded-dev krb5-dev $docdepends"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
source="https://download.kde.org/stable/frameworks/${pkgver%.*}/kio-$pkgver.tar.xz
- cxx17.patch
+ favicon-url.patch
+ unmounted-root.patch
"
build() {
@@ -31,21 +33,36 @@ build() {
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=RelWithDebugInfo \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
-DCMAKE_C_FLAGS="$CFLAGS" \
-DBUILD_QCH:BOOL=ON \
${CMAKE_CROSSOPTS} .
make
+ # KIO threads use a lot of stack space. We need to make sure they don't
+ # run out of stack space during file operations.
+ chelf -s 1048576 bin/libKF5KIOCore.so.5
}
check() {
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+ # Multiple tests require umask to be 077; example: JobTest::storedPut().
+ # Disable these due to #1348:
+ # 44 - kiowidgets-kdirlistertest (Failed)
+ # 45 - kiowidgets-kdirmodeltest (Failed)
+ # 60 - kiofilewidgets-kfilewidgettest (Failed)
+ # Disable this due to known musl limitations (#1349):
+ # 70 - kioworker-httpheaderdispositiontest (Failed)
+ # These try to connect to google.com:
+ # 12 - kiocore-ktcpsockettest (Failed)
+ # 14 - kiocore-mimetypefinderjobtest (Failed)
+ # 28 - kiogui-openurljobtest (Failed)
+ (umask 077; CTEST_OUTPUT_ON_FAILURE=TRUE ctest -E '(kdirlistertest|kdirmodeltest|kfilewidgettest|httpheaderdispositiontest|ktcpsockettest|mimetypefinderjobtest|openurljobtest)')
}
package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="acf7456ab0a3d122d8bbf6e7dbff51f958b1c6bf29f7295c21c78c5c707d5fee05b76d30e51832f35220cd08bf06a2e27c11153559b25f74b7c8f5f532f50955 kio-5.94.0.tar.xz
-a3be4ad4800ada7331a47833f51d13bc5cf47e9e6153fffff27d18462f77083221a7aa02a36c0afe57d992a5292777628c09c5443ff58ca1803ddfbc482fa745 cxx17.patch"
+sha512sums="a07661717846860db3a64bcead9c2b80192d8c5b8e66a25f0f83ced6b596c4e8af7eb94e68b17770f45b36b22ccbcecaef4f8590d790cf69fceb140ab9e47376 kio-5.116.0.tar.xz
+9dc784fe35a09b145ff3dd1e1f3b02242891c0f39b087b31fcc11ca7fc98ed900f63b91213d33affd9ef0b9982e11fd16f50cc7dd274b78f187c20ac3f08dba0 favicon-url.patch
+35e2e4525ee1b8779d9e42d5e280f0ca84ee5932d633392c483d069bc9d7f52240ee1d7111cc1751f11bf6e92e344e8254d29e589ef27a30622e44a970798705 unmounted-root.patch"
diff --git a/user/kio/cxx17.patch b/user/kio/cxx17.patch
deleted file mode 100644
index d73e93b65..000000000
--- a/user/kio/cxx17.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-G++ does not have transform_reduce until C++20, despite being part of the
-C++17 standard. This reverts the only usage of Parallelism TR2 in KIO.
-
---- kio-5.94.0/src/filewidgets/kurlnavigator.cpp.old 2022-05-12 07:14:39.000000000 -0500
-+++ kio-5.94.0/src/filewidgets/kurlnavigator.cpp 2022-06-03 01:42:48.541164895 -0500
-@@ -729,11 +729,11 @@
- availableWidth -= m_protocols->width();
- }
-
-- auto MinWidth = [](const KUrlNavigatorButton *button) {
-- return button->minimumWidth();
-- };
- // Check whether buttons must be hidden at all...
-- const int requiredButtonWidth = std::transform_reduce(m_navButtons.cbegin(), m_navButtons.cend(), 0, std::plus<>(), MinWidth);
-+ int requiredButtonWidth = 0;
-+ for (const KUrlNavigatorButton *button : std::as_const(m_navButtons)) {
-+ requiredButtonWidth += button->minimumWidth();
-+ }
-
- if (requiredButtonWidth > availableWidth) {
- // At least one button must be hidden. This implies that the
diff --git a/user/kio/favicon-url.patch b/user/kio/favicon-url.patch
new file mode 100644
index 000000000..bcf4d432a
--- /dev/null
+++ b/user/kio/favicon-url.patch
@@ -0,0 +1,14 @@
+Set the URL to one we control that is >65KB.
+
+Some KDE mirrors have dropped KCalc 4.x, which makes this test flaky.
+--- kio-5.116.0/autotests/favicontest.cpp.old 2024-05-04 11:40:29.000000000 +0000
++++ kio-5.116.0/autotests/favicontest.cpp 2025-08-10 05:32:25.751427228 +0000
+@@ -216,7 +216,7 @@
+
+ // Set icon URL to a >65KB file
+ KIO::FavIconRequestJob *job = new KIO::FavIconRequestJob(url);
+- job->setIconUrl(QUrl("http://download.kde.org/Attic/4.13.2/src/kcalc-4.13.2.tar.xz"));
++ job->setIconUrl(QUrl("http://distfiles.adelielinux.org/source/adelie-kde-theme-1.0.tar.xz"));
+ QVERIFY(willDownload(job));
+ QVERIFY(!job->exec());
+ QCOMPARE(job->error(), int(KIO::ERR_WORKER_DEFINED));
diff --git a/user/kio/unmounted-root.patch b/user/kio/unmounted-root.patch
new file mode 100644
index 000000000..520703d1f
--- /dev/null
+++ b/user/kio/unmounted-root.patch
@@ -0,0 +1,37 @@
+These tests fail if / (root) is not a mountpoint.
+
+Upstream-URL: https://invent.kde.org/frameworks/kio/-/issues/43
+
+--- kio-5.116.0/autotests/jobtest.cpp.old 2024-05-04 11:40:29.000000000 +0000
++++ kio-5.116.0/autotests/jobtest.cpp 2025-08-10 05:18:18.789195125 +0000
+@@ -60,8 +60,7 @@
+ {
+ KMountPoint::Ptr srcMountPoint = KMountPoint::currentMountPoints().findByPath(homeTmpDir());
+ KMountPoint::Ptr destMountPoint = KMountPoint::currentMountPoints().findByPath(otherTmpDir());
+- Q_ASSERT(srcMountPoint);
+- Q_ASSERT(destMountPoint);
++ if (srcMountPoint == nullptr || destMountPoint == nullptr) return true;
+ return srcMountPoint->mountedFrom() == destMountPoint->mountedFrom();
+ }
+
+--- kio-5.116.0/autotests/kmountpointtest.cpp.old 2024-05-04 11:40:29.000000000 +0000
++++ kio-5.116.0/autotests/kmountpointtest.cpp 2025-08-10 05:26:09.210428498 +0000
+@@ -56,9 +56,15 @@
+ // Check findByPath
+ #ifdef Q_OS_UNIX
+ const KMountPoint::Ptr rootMountPoint = mountPoints.findByPath(QStringLiteral("/"));
+- QVERIFY(rootMountPoint);
+- QCOMPARE(rootMountPoint->mountPoint(), QStringLiteral("/"));
+- QVERIFY(!rootMountPoint->probablySlow());
++ if (!rootMountPoint) {
++ // This happens on Linux systems running inside chroot jails.
++ QSKIP("Couldn't find a root mountpoint, skipping those tests");
++ return;
++ } else {
++ QVERIFY(rootMountPoint);
++ QCOMPARE(rootMountPoint->mountPoint(), QStringLiteral("/"));
++ QVERIFY(!rootMountPoint->probablySlow());
++ }
+
+ QT_STATBUF rootStatBuff;
+ QCOMPARE(QT_STAT("/", &rootStatBuff), 0);