mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 12:10:06 +02:00
kio_extras24, add KF6 package (#11068)
This commit is contained in:
190
kde-apps/kio-extras/kio_extras24-24.08.0.recipe
Normal file
190
kde-apps/kio-extras/kio_extras24-24.08.0.recipe
Normal 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
|
||||
}
|
||||
100
kde-apps/kio-extras/patches/kio_extras-24.08.0.patchset
Normal file
100
kde-apps/kio-extras/patches/kio_extras-24.08.0.patchset
Normal 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
|
||||
|
||||
Reference in New Issue
Block a user