mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-09 05:10:05 +02:00
dolphin24, add KF6 version (#11116)
This commit is contained in:
234
kde-apps/dolphin/dolphin24-24.08.0.recipe
Normal file
234
kde-apps/dolphin/dolphin24-24.08.0.recipe
Normal file
@@ -0,0 +1,234 @@
|
||||
SUMMARY="KDE File Manager"
|
||||
DESCRIPTION="Dolphin is a lightweight file manager. It has been designed with ease of \
|
||||
use and simplicity in mind, while still allowing flexibility and customisation. This m\
|
||||
eans that you can do your file management exactly the way you want to do it.
|
||||
|
||||
* Simple to use and dedicated file manager
|
||||
* Focus on usability
|
||||
* Breadcrumb navigation bar
|
||||
* Optional panels for convenient navigation and information display
|
||||
* Remote and pseudo-filesystem file management through KIO
|
||||
* Tag files and folders, and find files by content, using Baloo
|
||||
|
||||
At first look, this is a simple file manager, but it has many talents. Some features include:
|
||||
|
||||
* Split windows - view and use two directories at the same time
|
||||
* Viewing attributes can be set (and remembered) independently for each window
|
||||
* Tabbed browsing
|
||||
* Use the optional informational panel on the right
|
||||
* Or elect to have essential attribute information displayed in the window
|
||||
* Use 'breadcrumb' navigation for speed
|
||||
* One-click change to editable navigation bar
|
||||
* Add Folders panel for traditional navigation
|
||||
* Add a terminal in the directory you are currently browsing
|
||||
* Many functions controlled by keyboard shortcuts"
|
||||
HOMEPAGE="https://userbase.kde.org/Dolphin"
|
||||
COPYRIGHT="2000-2023 KDE"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/dolphin-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="4a9d52dcd6513d2193c0c34944b270b399150f1da4ff37da06a0f8af87f6d8d7"
|
||||
SOURCE_DIR="dolphin-$portVersion"
|
||||
PATCHES="dolphin24-$portVersion.patchset"
|
||||
ADDITIONAL_FILES="dolphin.rdef.in"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
commandSuffix=$secondaryArchSuffix
|
||||
commandBinDir=$binDir
|
||||
if [ "$targetArchitecture" = x86_gcc2 ]; then
|
||||
commandSuffix=
|
||||
commandBinDir=$prefix/bin
|
||||
fi
|
||||
|
||||
libVersion="$portVersion"
|
||||
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
|
||||
|
||||
PROVIDES="
|
||||
dolphin24$secondaryArchSuffix = $portVersion
|
||||
app:Dolphin$secondaryArchSuffix = $portVersion
|
||||
cmd:dolphin$commandSuffix = $portVersion
|
||||
cmd:servicemenuinstaller$commandSuffix = $portVersion
|
||||
lib:libdolphinprivate$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libdolphinvcs$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
cmd:dbus_launch$secondaryArchSuffix
|
||||
lib:libKF6BalooWidgets$secondaryArchSuffix
|
||||
lib:libphonon4Qt6$secondaryArchSuffix
|
||||
lib:libphonon4Qt6experimental$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
# KF6
|
||||
lib:libGL$secondaryArchSuffix
|
||||
lib:libKF6Archive$secondaryArchSuffix
|
||||
lib:libKF6Attica$secondaryArchSuffix
|
||||
lib:libKF6AuthCore$secondaryArchSuffix
|
||||
lib:libKF6Baloo$secondaryArchSuffix
|
||||
lib:libKF6Bookmarks$secondaryArchSuffix
|
||||
lib:libKF6Codecs$secondaryArchSuffix
|
||||
lib:libKF6ColorScheme$secondaryArchSuffix
|
||||
lib:libKF6Completion$secondaryArchSuffix
|
||||
lib:libKF6ConfigCore$secondaryArchSuffix
|
||||
lib:libKF6ConfigWidgets$secondaryArchSuffix
|
||||
lib:libKF6CoreAddons$secondaryArchSuffix
|
||||
lib:libKF6Crash$secondaryArchSuffix
|
||||
lib:libKF6DBusAddons$secondaryArchSuffix
|
||||
lib:libKF6DocTools$secondaryArchSuffix
|
||||
lib:libKF6FileMetadata$secondaryArchSuffix
|
||||
lib:libKF6GuiAddons$secondaryArchSuffix
|
||||
lib:libKF6I18n$secondaryArchSuffix
|
||||
lib:libKF6IconThemes$secondaryArchSuffix
|
||||
lib:libKF6ItemViews$secondaryArchSuffix
|
||||
lib:libKF6JobWidgets$secondaryArchSuffix
|
||||
lib:libKF6KCMUtils$secondaryArchSuffix
|
||||
lib:libKF6KIOCore$secondaryArchSuffix
|
||||
lib:libKF6NewStuffCore$secondaryArchSuffix
|
||||
lib:libKF6NewStuffCore$secondaryArchSuffix
|
||||
lib:libKF6Notifications$secondaryArchSuffix
|
||||
lib:libKF6Package$secondaryArchSuffix
|
||||
lib:libKF6Parts$secondaryArchSuffix
|
||||
lib:libKF6Service$secondaryArchSuffix
|
||||
lib:libKF6Solid$secondaryArchSuffix
|
||||
lib:libKF6SonnetCore$secondaryArchSuffix
|
||||
lib:libKF6TextWidgets$secondaryArchSuffix
|
||||
lib:libKF6UserFeedbackCore$secondaryArchSuffix
|
||||
lib:libKF6Wallet$secondaryArchSuffix
|
||||
lib:libKF6WidgetsAddons$secondaryArchSuffix
|
||||
lib:libKF6WindowSystem$secondaryArchSuffix
|
||||
lib:libKF6XmlGui$secondaryArchSuffix
|
||||
lib:libPlasmaActivities$secondaryArchSuffix
|
||||
# Qt6
|
||||
lib:libQt6Core$secondaryArchSuffix
|
||||
lib:libQt6Gui$secondaryArchSuffix
|
||||
lib:libQt6PrintSupport$secondaryArchSuffix
|
||||
lib:libQt6Qml$secondaryArchSuffix
|
||||
lib:libQt6Widgets$secondaryArchSuffix
|
||||
"
|
||||
CONFLICTS="
|
||||
dolphin$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libKF6BalooWidgets$secondaryArchSuffix
|
||||
devel:libPlasmaActivities$secondaryArchSuffix
|
||||
devel:libphonon4Qt6$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
# KF6
|
||||
extra_cmake_modules$secondaryArchSuffix
|
||||
devel:libKF6Archive$secondaryArchSuffix
|
||||
devel:libKF6Attica$secondaryArchSuffix
|
||||
devel:libKF6AuthCore$secondaryArchSuffix
|
||||
devel:libKF6Baloo$secondaryArchSuffix
|
||||
devel:libKF6Bookmarks$secondaryArchSuffix
|
||||
devel:libKF6Codecs$secondaryArchSuffix
|
||||
devel:libKF6ColorScheme$secondaryArchSuffix
|
||||
devel:libKF6Completion$secondaryArchSuffix
|
||||
devel:libKF6ConfigCore$secondaryArchSuffix
|
||||
devel:libKF6ConfigWidgets$secondaryArchSuffix
|
||||
devel:libKF6CoreAddons$secondaryArchSuffix
|
||||
devel:libKF6Crash$secondaryArchSuffix
|
||||
devel:libKF6DBusAddons$secondaryArchSuffix
|
||||
# devel:libKF6DocTools$secondaryArchSuffix
|
||||
devel:libKF6FileMetadata$secondaryArchSuffix
|
||||
devel:libKF6GuiAddons$secondaryArchSuffix
|
||||
devel:libKF6I18n$secondaryArchSuffix
|
||||
devel:libKF6IconThemes$secondaryArchSuffix
|
||||
devel:libKF6ItemViews$secondaryArchSuffix
|
||||
devel:libKF6JobWidgets$secondaryArchSuffix
|
||||
devel:libKF6KCMUtils$secondaryArchSuffix
|
||||
devel:libKF6KIOCore$secondaryArchSuffix
|
||||
devel:libKF6NewStuffCore$secondaryArchSuffix
|
||||
devel:libKF6Notifications$secondaryArchSuffix
|
||||
devel:libKF6Package$secondaryArchSuffix
|
||||
devel:libKF6Parts$secondaryArchSuffix
|
||||
devel:libKF6Service$secondaryArchSuffix
|
||||
devel:libKF6Solid$secondaryArchSuffix
|
||||
devel:libKF6SonnetCore$secondaryArchSuffix
|
||||
devel:libKF6TextWidgets$secondaryArchSuffix
|
||||
devel:libKF6UserFeedbackCore$secondaryArchSuffix
|
||||
devel:libKF6Wallet$secondaryArchSuffix
|
||||
devel:libKF6WidgetsAddons$secondaryArchSuffix
|
||||
devel:libKF6WindowSystem$secondaryArchSuffix
|
||||
devel:libKF6XmlGui$secondaryArchSuffix
|
||||
# Qt6
|
||||
devel:libQt6Core$secondaryArchSuffix
|
||||
devel:libQt6Gui$secondaryArchSuffix
|
||||
devel:libQt6PrintSupport$secondaryArchSuffix
|
||||
devel:libQt6Qml$secondaryArchSuffix
|
||||
devel:libQt6Widgets$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
dolphin24${secondaryArchSuffix}_devel = $portVersion
|
||||
devel:libdolphinprivate$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libdolphinvcs$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES_devel="
|
||||
dolphin24$secondaryArchSuffix == $portVersion base
|
||||
"
|
||||
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cmake
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:msgfmt
|
||||
cmd:msgmerge
|
||||
"
|
||||
|
||||
|
||||
PATCH()
|
||||
{
|
||||
# disable docs
|
||||
sed -e '/add_subdirectory(doc)/ s/^#*/#/' -i CMakeLists.txt
|
||||
sed -e '/kdoctools_install(po)/ s/^#*/#/' -i CMakeLists.txt
|
||||
}
|
||||
|
||||
BUILD()
|
||||
{
|
||||
cmake -Bbuild -S. $cmakeDirArgs \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_BINDIR=$commandBinDir \
|
||||
-DKDE_INSTALL_DATAROOTDIR=$dataDir \
|
||||
-DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt6 \
|
||||
-DECM_DIR="/system/data/cmake/Modules/ECM/cmake" \
|
||||
-DHAVE_PACKAGEKIT=FALSE -Wno-dev
|
||||
make -Cbuild $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make -Cbuild install
|
||||
|
||||
# cleanup
|
||||
rm -rf $libDir/systemd
|
||||
rm -rf $dataDir/{applications,icons,metainfo}
|
||||
|
||||
mkdir -p "$dataDir/deskbar/menu/Applications/KDE"
|
||||
|
||||
local APP_SIGNATURE="application/x-vnd.kde-dolphin"
|
||||
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
|
||||
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
|
||||
local MINOR="`echo "$portVersion" | cut -d. -f3`"
|
||||
local LONG_INFO="$SUMMARY"
|
||||
sed \
|
||||
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
|
||||
-e "s|@MAJOR@|$MAJOR|" \
|
||||
-e "s|@MIDDLE@|$MIDDLE|" \
|
||||
-e "s|@MINOR@|$MINOR|" \
|
||||
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
||||
$portDir/additional-files/dolphin.rdef.in > dolphin.rdef
|
||||
|
||||
addResourcesToBinaries dolphin.rdef $commandBinDir/dolphin
|
||||
addAppDeskbarSymlink $commandBinDir/dolphin "KDE/Dolphin"
|
||||
|
||||
prepareInstalledDevelLibs \
|
||||
libdolphinprivate \
|
||||
libdolphinvcs
|
||||
|
||||
packageEntries devel \
|
||||
$libDir/cmake \
|
||||
$developDir
|
||||
}
|
||||
139
kde-apps/dolphin/patches/dolphin24-24.08.0.patchset
Normal file
139
kde-apps/dolphin/patches/dolphin24-24.08.0.patchset
Normal file
@@ -0,0 +1,139 @@
|
||||
From 8bc9086dbf3d5e86c3081e3e9b692815df3e249e Mon Sep 17 00:00:00 2001
|
||||
From: Schrijvers Luc <begasus@gmail.com>
|
||||
Date: Tue, 16 Jul 2024 17:19:06 +0200
|
||||
Subject: Build fix
|
||||
|
||||
|
||||
diff --git a/src/panels/information/informationpanel.cpp b/src/panels/information/informationpanel.cpp
|
||||
index 02fe3e3..63303a2 100644
|
||||
--- a/src/panels/information/informationpanel.cpp
|
||||
+++ b/src/panels/information/informationpanel.cpp
|
||||
@@ -8,7 +8,9 @@
|
||||
|
||||
#include "informationpanelcontent.h"
|
||||
|
||||
-#include <KDirNotify>
|
||||
+#ifndef __HAIKU__
|
||||
+ #include <KDirNotify>
|
||||
+#endif
|
||||
#include <KIO/StatJob>
|
||||
#include <KJobWidgets>
|
||||
#include <KLocalizedString>
|
||||
@@ -406,6 +408,7 @@ void InformationPanel::init()
|
||||
Q_ASSERT(m_urlChangedTimer->interval() < m_infoTimer->interval());
|
||||
Q_ASSERT(m_urlChangedTimer->interval() < m_resetUrlTimer->interval());
|
||||
|
||||
+#ifndef __HAIKU__
|
||||
org::kde::KDirNotify *dirNotify = new org::kde::KDirNotify(QString(), QString(), QDBusConnection::sessionBus(), this);
|
||||
connect(dirNotify, &OrgKdeKDirNotifyInterface::FileRenamed, this, &InformationPanel::slotFileRenamed);
|
||||
connect(dirNotify, &OrgKdeKDirNotifyInterface::FilesAdded, this, &InformationPanel::slotFilesAdded);
|
||||
@@ -413,6 +416,7 @@ void InformationPanel::init()
|
||||
connect(dirNotify, &OrgKdeKDirNotifyInterface::FilesRemoved, this, &InformationPanel::slotFilesRemoved);
|
||||
connect(dirNotify, &OrgKdeKDirNotifyInterface::enteredDirectory, this, &InformationPanel::slotEnteredDirectory);
|
||||
connect(dirNotify, &OrgKdeKDirNotifyInterface::leftDirectory, this, &InformationPanel::slotLeftDirectory);
|
||||
+#endif
|
||||
|
||||
m_content = new InformationPanelContent(this);
|
||||
connect(m_content, &InformationPanelContent::urlActivated, this, &InformationPanel::urlActivated);
|
||||
--
|
||||
2.45.2
|
||||
|
||||
|
||||
From 7ec9ca6e8c8b4d6ac3e728c3c4ba5691999bb0ab Mon Sep 17 00:00:00 2001
|
||||
From: Schrijvers Luc <begasus@gmail.com>
|
||||
Date: Sun, 25 Aug 2024 18:38:57 +0200
|
||||
Subject: Fix for Haiku
|
||||
|
||||
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 29eef57..eb62a0c 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -594,7 +594,7 @@ endif()
|
||||
|
||||
if(NOT WIN32)
|
||||
add_subdirectory(settings/contextmenu/servicemenuinstaller)
|
||||
- install( FILES settings/contextmenu/servicemenu.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR} )
|
||||
+ install( FILES settings/contextmenu/servicemenu.knsrc DESTINATION ${KDE_INSTALL_DATADIR}/knsrcfiles )
|
||||
endif()
|
||||
|
||||
########### install files ###############
|
||||
diff --git a/src/main.cpp b/src/main.cpp
|
||||
index 703161b..36d1453 100644
|
||||
--- a/src/main.cpp
|
||||
+++ b/src/main.cpp
|
||||
@@ -45,6 +45,11 @@
|
||||
#ifndef Q_OS_WIN
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+#include <QProcess>
|
||||
+#include <QString>
|
||||
+#include <QStringList>
|
||||
+#endif
|
||||
#include <iostream>
|
||||
|
||||
constexpr auto dolphinTranslationDomain{"dolphin"};
|
||||
@@ -220,6 +225,21 @@ int main(int argc, char **argv)
|
||||
|
||||
mainWindow->show();
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+ if (getenv("DBUS_SESSION_BUS_PID") == NULL) {
|
||||
+ QProcess dbusProcess;
|
||||
+ QString exec = "/bin/dbus-launch";
|
||||
+ QStringList params;
|
||||
+ dbusProcess.start(exec, params);
|
||||
+ dbusProcess.waitForFinished();
|
||||
+ QString output(dbusProcess.readAllStandardOutput());
|
||||
+
|
||||
+ QStringList list = output.split("\n", Qt::SkipEmptyParts);
|
||||
+ for (int i = 0; i < list.count(); i++)
|
||||
+ putenv(list.at(i).toLatin1().data());
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
// Allow starting Dolphin on a system that is not running DBus:
|
||||
KDBusService::StartupOptions serviceOptions = KDBusService::Multiple;
|
||||
if (!QDBusConnection::sessionBus().isConnected()) {
|
||||
@@ -270,5 +290,12 @@ int main(int argc, char **argv)
|
||||
Q_UNUSED(feedbackProvider)
|
||||
#endif
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+ int status=app.exec();
|
||||
+// kwalletProcess.kill();
|
||||
+ system("kill -3 $DBUS_SESSION_BUS_PID");
|
||||
+ return status;
|
||||
+#else
|
||||
return app.exec(); // krazy:exclude=crash;
|
||||
+#endif
|
||||
}
|
||||
--
|
||||
2.45.2
|
||||
|
||||
|
||||
From 5c6bcd7a081714e0baf5b718f76c2a63849c075d Mon Sep 17 00:00:00 2001
|
||||
From: Schrijvers Luc <begasus@gmail.com>
|
||||
Date: Sat, 7 Sep 2024 08:00:04 +0200
|
||||
Subject: Disable KICONTHEMES_VERSION, use Haiku icon theme
|
||||
|
||||
|
||||
diff --git a/src/main.cpp b/src/main.cpp
|
||||
index 36d1453..1974230 100644
|
||||
--- a/src/main.cpp
|
||||
+++ b/src/main.cpp
|
||||
@@ -74,8 +74,10 @@ int main(int argc, char **argv)
|
||||
/**
|
||||
* trigger initialisation of proper icon theme
|
||||
*/
|
||||
+#if !defined(Q_OS_HAIKU)
|
||||
#if KICONTHEMES_VERSION >= QT_VERSION_CHECK(6, 3, 0)
|
||||
KIconTheme::initTheme();
|
||||
+#endif
|
||||
#endif
|
||||
|
||||
QApplication app(argc, argv);
|
||||
--
|
||||
2.45.2
|
||||
|
||||
Reference in New Issue
Block a user