kio_extras24, add KF6 package (#11068)

This commit is contained in:
Schrijvers Luc
2024-09-06 17:49:34 +02:00
committed by GitHub
parent fb2477ffef
commit d9f9973bad
2 changed files with 290 additions and 0 deletions

View File

@@ -0,0 +1,190 @@
SUMMARY="Additional components to increase the functionality of KIO"
DESCRIPTION="A kioslave is a plugin designed to be intimately familiar with a \
certain protocol, so that a standardized interface can be used to get at data \
from any number of places. A few examples are the http and ftp kioslaves, \
which using nearly identical methods will retrieve data from an http or ftp \
server respectively.
This package also supports the following protocols:
* fish
* mtp
* sftp
* smb"
HOMEPAGE="https://invent.kde.org/network/kio-extras/"
COPYRIGHT="2010-2024 KDE Organisation"
LICENSE="GNU LGPL v2"
REVISION="1"
SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/kio-extras-$portVersion.tar.xz"
SOURCE_DIR="kio-extras-$portVersion"
CHECKSUM_SHA256="7590f4897962388149c0fec25e7eb8b691597dacfd4aedf3343bbeeb4b98445c"
PATCHES="kio_extras-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="6.1.0"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
kio_extras24$secondaryArchSuffix = $portVersion
lib:libkioarchive6$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libkdsoap$secondaryArchSuffix
lib:libKDSoapWSDiscoveryClient$secondaryArchSuffix
lib:libmtp$secondaryArchSuffix
lib:libphonon4Qt6$secondaryArchSuffix
lib:libsmbclient$secondaryArchSuffix
lib:libssh$secondaryArchSuffix
lib:libssp$secondaryArchSuffix
# KF 6
lib:libPlasmaActivities$secondaryArchSuffix
lib:libKF6Archive$secondaryArchSuffix
lib:libKF6AuthCore$secondaryArchSuffix
lib:libKF6Bookmarks$secondaryArchSuffix
lib:libKF6Codecs$secondaryArchSuffix
lib:libKF6Completion$secondaryArchSuffix
lib:libKF6ConfigCore$secondaryArchSuffix
lib:libKF6ConfigWidgets$secondaryArchSuffix
lib:libKF6CoreAddons$secondaryArchSuffix
lib:libKF6DBusAddons$secondaryArchSuffix
lib:libKF6DNSSD$secondaryArchSuffix
lib:libKF6GuiAddons$secondaryArchSuffix
lib:libKF6I18n$secondaryArchSuffix
lib:libKF6IconThemes$secondaryArchSuffix
lib:libKF6ItemViews$secondaryArchSuffix
lib:libKF6KIOCore$secondaryArchSuffix
lib:libKF6JobWidgets$secondaryArchSuffix
lib:libKF6Pty$secondaryArchSuffix
lib:libKF6Service$secondaryArchSuffix
lib:libKF6Solid$secondaryArchSuffix
lib:libKF6SyntaxHighlighting$secondaryArchSuffix
lib:libKF6WidgetsAddons$secondaryArchSuffix
lib:libKF6WindowSystem$secondaryArchSuffix
lib:libKF6XmlGui$secondaryArchSuffix
# Qt6
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Network$secondaryArchSuffix
"
PROVIDES_devel="
kio_extras24${secondaryArchSuffix}_devel = $portVersion
devel:libkioarchive6$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
kio_extras24$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
kdsoap_ws_discovery_client_qt6${secondaryArchSuffix}_devel
devel:libkdsoap_qt6$secondaryArchSuffix
devel:libmtp$secondaryArchSuffix
devel:libphonon4Qt6$secondaryArchSuffix
devel:libQCoro6Core$secondaryArchSuffix
devel:libsmbclient$secondaryArchSuffix
devel:libssh$secondaryArchSuffix
devel:libtag$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libz$secondaryArchSuffix
# KF 6
extra_cmake_modules$secondaryArchSuffix >= 6.0.0
devel:libPlasmaActivities$secondaryArchSuffix
devel:libPlasmaActivitiesStats$secondaryArchSuffix
devel:libKExiv2Qt6$secondaryArchSuffix
devel:libKF6Archive$secondaryArchSuffix
devel:libKF6AuthCore$secondaryArchSuffix
devel:libKF6Bookmarks$secondaryArchSuffix
devel:libKF6Codecs$secondaryArchSuffix
devel:libKF6ColorScheme$secondaryArchSuffix
devel:libKF6Completion$secondaryArchSuffix
devel:libKF6ConfigCore$secondaryArchSuffix
devel:libKF6ConfigWidgets$secondaryArchSuffix
devel:libKF6CoreAddons$secondaryArchSuffix
devel:libKF6DBusAddons$secondaryArchSuffix
devel:libKF6DNSSD$secondaryArchSuffix
devel:libKF6DocTools$secondaryArchSuffix
devel:libKF6GuiAddons$secondaryArchSuffix
devel:libKF6I18n$secondaryArchSuffix
devel:libKF6IconThemes$secondaryArchSuffix
devel:libKF6ItemViews$secondaryArchSuffix
devel:libKF6JobWidgets$secondaryArchSuffix
devel:libKF6KCMUtils$secondaryArchSuffix
devel:libKF6KIOCore$secondaryArchSuffix
devel:libKF6Pty$secondaryArchSuffix
devel:libKF6Service$secondaryArchSuffix
devel:libKF6Solid$secondaryArchSuffix
devel:libKF6SyntaxHighlighting$secondaryArchSuffix
devel:libKF6TextWidgets$secondaryArchSuffix
devel:libKF6WidgetsAddons$secondaryArchSuffix
devel:libKF6WindowSystem$secondaryArchSuffix
devel:libKF6XmlGui$secondaryArchSuffix
# Qt6
devel:libQt6Core$secondaryArchSuffix
devel:libQt6Core5Compat$secondaryArchSuffix
devel:libQt6DBus$secondaryArchSuffix
devel:libQt6Gui$secondaryArchSuffix
devel:libQt6Network$secondaryArchSuffix
devel:libQt6Qml$secondaryArchSuffix
devel:libQt6Svg$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:find
cmd:gcc$secondaryArchSuffix
cmd:gperf
cmd:make
cmd:msgfmt
cmd:msgmerge
cmd:pkg_config$secondaryArchSuffix
cmd:update_mime_database$secondaryArchSuffix
"
PATCH()
{
sed -e '/add_subdirectory(doc)/ s/^#*/#/' -i CMakeLists.txt
sed -e '/kdoctools_install(po)/ s/^#*/#/' -i CMakeLists.txt
}
TEST_REQUIRES="
qthaikuplugins$secondaryArchSuffix
"
BUILD()
{
mkdir -p build
cd build
cmake .. $cmakeDirArgs \
-DCMAKE_BUILD_TYPE=Release \
-DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt6 \
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake \
-DCMAKE_CXX_FLAGS="-fno-stack-protector"
make $jobArgs
}
INSTALL()
{
cd build
make $jobArgs install
rm -rf $dataDir/mime/{aliases,generic-icons,globs,globs2,icons,magic}
rm -rf $dataDir/mime/{mime.cache,subclasses,treemagic,types,version,XMLnamespaces}
rm -rf $dataDir/applications
prepareInstalledDevelLib \
libkioarchive6 \
packageEntries devel \
$developDir \
$libDir/cmake
}
TEST()
{
export LIBRARY_PATH="$sourceDir/build/bin${LIBRARY_PATH:+:$LIBRARY_PATH}"
cd build
make test
}

View File

@@ -0,0 +1,100 @@
From 4de6d82451ba65987e32929a9083c88b3e3af2ed Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Wed, 11 May 2022 10:49:55 +1000
Subject: Disable shm for haiku
diff --git a/thumbnail/thumbnail.cpp b/thumbnail/thumbnail.cpp
index 78b1e5b..c4fb28a 100644
--- a/thumbnail/thumbnail.cpp
+++ b/thumbnail/thumbnail.cpp
@@ -17,7 +17,9 @@
#include <windows.h>
#else
#include <sys/ipc.h>
+#ifndef Q_OS_HAIKU
#include <sys/shm.h>
+#endif
#include <unistd.h> // nice()
#endif
@@ -297,7 +299,7 @@ KIO::WorkerResult ThumbnailProtocol::get(const QUrl &url)
// qDebug() << "IMAGE TO STREAM";
stream << img;
}
-#ifndef Q_OS_WIN
+#if !defined(Q_OS_WIN) && !defined(Q_OS_HAIKU)
else {
// qDebug() << "IMAGE TO SHMID";
void *shmaddr = shmat(shmid.toInt(), nullptr, 0);
--
2.45.1
From b1b397c94b985470a1bd0d69eaaaa6072478238c Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Wed, 11 May 2022 10:50:23 +1000
Subject: Disable smbclient notify
diff --git a/smb/kded/notifier.cpp b/smb/kded/notifier.cpp
index cb11a2d..fec7f03 100644
--- a/smb/kded/notifier.cpp
+++ b/smb/kded/notifier.cpp
@@ -97,12 +97,14 @@ public:
if (m_url.isEmpty()) {
return;
}
+#ifndef Q_OS_HAIKU
if (action == SMBC_NOTIFY_ACTION_OLD_NAME && url == m_url) {
qCDebug(KIO_SMB_LOG) << "Discarding pending remove because it was followed by a move from the same url" << m_url;
resetWithLock();
} else {
sendWithLock();
}
+#endif
}
private:
@@ -209,12 +211,14 @@ int main(int argc, char **argv)
Frontend frontend;
SMBContext smbcContext(new SMBAuthenticator(frontend));
+#ifndef Q_OS_HAIKU
struct NotifyContext {
const QUrl url;
// Modification happens a lot, rate limit the notifications going through dbus.
ModificationLimiter modificationLimiter;
PendingRemove pendingRemove;
};
+
NotifyContext context{QUrl(parser.positionalArguments().at(0)), {}, {}};
auto notify = [](const struct smbc_notify_callback_action *actions, size_t num_actions, void *private_data) -> int {
@@ -244,7 +248,6 @@ int main(int argc, char **argv)
}
context->pendingRemove.newEventFor(actions->action, url);
-
switch (actions->action) {
case SMBC_NOTIFY_ACTION_ADDED:
OrgKdeKDirNotifyInterface::emitFilesAdded(context->url /* dir */);
@@ -295,7 +298,6 @@ int main(int argc, char **argv)
// Values @ 2.2.35 SMB2 CHANGE_NOTIFY Request
// https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-smb2/598f395a-e7a2-4cc8-afb3-ccb30dd2df7c
// Not subscribing to stream changes see the callback handler for details.
-
const int nh = smbc_notify(dh,
0 /* not recursive */,
SMBC_NOTIFY_CHANGE_FILE_NAME | SMBC_NOTIFY_CHANGE_DIR_NAME | SMBC_NOTIFY_CHANGE_ATTRIBUTES | SMBC_NOTIFY_CHANGE_SIZE
@@ -309,6 +311,7 @@ int main(int argc, char **argv)
return 2;
}
Q_ASSERT(nh == 0);
+#endif
return app.exec();
}
--
2.45.1