summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Kluger2022-12-29 06:22:30 +0000
committerAndy Kluger2022-12-29 06:22:30 +0000
commit9b01f382a39f311e3834ba46d4bced3927ba6f69 (patch)
tree7ed043d5381be7b1a9d591bb04ca03d2684d52b2
parent25048994fee6413d96e1338f1732b64a1fd2ff7c (diff)
downloadaur-9b01f382a39f311e3834ba46d4bced3927ba6f69.tar.gz
Merge in upstream PKGBUILD changes
-rw-r--r--.SRCINFO17
-rw-r--r--PKGBUILD19
-rw-r--r--c8aed8ac.patch94
-rw-r--r--dolphin-pr480.patch265
4 files changed, 382 insertions, 13 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d784a74fe6d7..311e43aba65a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = dolphin-meld
pkgdesc = KDE File Manager, using Meld rather than Kompare
- pkgver = 22.04.2
+ pkgver = 22.12.0
pkgrel = 1
url = https://apps.kde.org/dolphin/
arch = x86_64
@@ -21,16 +21,21 @@ pkgbase = dolphin-meld
optdepends = kdegraphics-thumbnailers: PDF and PS thumbnails
optdepends = konsole: terminal panel
optdepends = purpose: share context menu
- provides = dolphin=22.04.2
- conflicts = dolphin=22.04.2
- source = https://download.kde.org/stable/release-service/22.04.2/src/dolphin-22.04.2.tar.xz
- source = https://download.kde.org/stable/release-service/22.04.2/src/dolphin-22.04.2.tar.xz.sig
+ provides = dolphin=22.12.0
+ conflicts = dolphin=22.12.0
+ options = debug
+ source = https://download.kde.org/stable/release-service/22.12.0/src/dolphin-22.12.0.tar.xz
+ source = https://download.kde.org/stable/release-service/22.12.0/src/dolphin-22.12.0.tar.xz.sig
source = dolphin-meld.patch
+ source = https://invent.kde.org/system/dolphin/-/commit/c8aed8ac.patch
+ source = dolphin-pr480.patch::https://invent.kde.org/system/dolphin/-/merge_requests/480.patch
validpgpkeys = CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7
validpgpkeys = F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87
validpgpkeys = D81C0CB38EB725EF6691C385BB463350D6EF31EF
- sha256sums = c2e3c4c16ff42a224f3dc72c79b2f641d1648d439bfa8c06635784843e58d147
+ sha256sums = 487c04953a7b505a638adce16cb3d4df3a3345ffc27e069d4f84730e4ad6ac26
sha256sums = SKIP
sha256sums = 9bf8e1d53bb482e3cc2f3a114fb894fc3d0216ad2933d0c6e1f0b7df6d640b7a
+ sha256sums = ce74e2e5079ebe2522bf2420c25a74a524cef47502311bb7e602d906813fcf24
+ sha256sums = df86b0fad61a6be28361456983b462af180bf3fc891ae095fc611a11ba8dee86
pkgname = dolphin-meld
diff --git a/PKGBUILD b/PKGBUILD
index dc9c2145a79c..7dc92f5e9ebe 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@
pkgname=dolphin-meld
_pkgname=dolphin
-pkgver=22.04.2
+pkgver=22.12.0
pkgrel=1
pkgdesc='KDE File Manager, using Meld rather than Kompare'
arch=(x86_64)
@@ -21,18 +21,23 @@ optdepends=('kde-cli-tools: for editing file type options' 'ffmpegthumbs: video
'konsole: terminal panel' 'purpose: share context menu')
groups=(kde-applications kde-system)
source=(https://download.kde.org/stable/release-service/$pkgver/src/$_pkgname-$pkgver.tar.xz{,.sig}
- "dolphin-meld.patch")
-sha256sums=('c2e3c4c16ff42a224f3dc72c79b2f641d1648d439bfa8c06635784843e58d147'
+ dolphin-meld.patch
+ https://invent.kde.org/system/dolphin/-/commit/c8aed8ac.patch
+ dolphin-pr480.patch::https://invent.kde.org/system/dolphin/-/merge_requests/480.patch)
+sha256sums=('487c04953a7b505a638adce16cb3d4df3a3345ffc27e069d4f84730e4ad6ac26'
'SKIP'
- '9bf8e1d53bb482e3cc2f3a114fb894fc3d0216ad2933d0c6e1f0b7df6d640b7a')
+ '9bf8e1d53bb482e3cc2f3a114fb894fc3d0216ad2933d0c6e1f0b7df6d640b7a'
+ 'ce74e2e5079ebe2522bf2420c25a74a524cef47502311bb7e602d906813fcf24'
+ 'df86b0fad61a6be28361456983b462af180bf3fc891ae095fc611a11ba8dee86')
validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7 # Albert Astals Cid <aacid@kde.org>
F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87 # Christoph Feck <cfeck@kde.org>
D81C0CB38EB725EF6691C385BB463350D6EF31EF) # Heiko Becker <heiko.becker@kde.org>
+options=(debug)
prepare() {
- mkdir -p build
- cd $_pkgname-$pkgver
- patch -p1 -i ../$pkgname.patch
+ patch -d $_pkgname-$pkgver -p1 < $pkgname.patch
+ patch -d $_pkgname-$pkgver -p1 < c8aed8ac.patch # Fix copy-pasting issues
+ patch -d $_pkgname-$pkgver -p1 < dolphin-pr480.patch
}
build() {
diff --git a/c8aed8ac.patch b/c8aed8ac.patch
new file mode 100644
index 000000000000..417c3f340c6a
--- /dev/null
+++ b/c8aed8ac.patch
@@ -0,0 +1,94 @@
+From c8aed8ac81d9f7f3dc93a7570037041228a98bf4 Mon Sep 17 00:00:00 2001
+From: Felix Ernst <felixernst@kde.org>
+Date: Wed, 14 Dec 2022 12:33:51 +0000
+Subject: [PATCH] Revert "portalize drag urls"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This reverts commit 8d7e600f63a1961294dfe2c278a710b4ce0716e9.
+
+While this revert unfortunately removes Dolphin's ability to copy to
+sandboxed applications, the bugs being temporarily fixed by this seem
+more important. See the bugs mentioned below for details.
+
+Especially copy-pasting needs to work flawlessly for an application
+like Dolphin. After the revert this will either work correctly or – in
+the case of sandboxed applications – not at all.
+
+CCBUG: 457529
+CCBUG: 462928
+---
+ src/kitemviews/kitemlistcontroller.cpp | 4 +---
+ src/panels/folders/treeviewcontextmenu.cpp | 1 -
+ src/views/dolphinview.cpp | 5 +----
+ 3 files changed, 2 insertions(+), 8 deletions(-)
+
+diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp
+index 955e418e8..29dd13aac 100644
+--- a/src/kitemviews/kitemlistcontroller.cpp
++++ b/src/kitemviews/kitemlistcontroller.cpp
+@@ -17,7 +17,6 @@
+
+ #include <KTwoFingerSwipe>
+ #include <KTwoFingerTap>
+-#include <KUrlMimeData>
+
+ #include <QAccessible>
+ #include <QApplication>
+@@ -1334,11 +1333,10 @@ void KItemListController::startDragging()
+ return;
+ }
+
+- QMimeData *data = m_model->createMimeData(selectedItems);
++ QMimeData* data = m_model->createMimeData(selectedItems);
+ if (!data) {
+ return;
+ }
+- KUrlMimeData::exportUrlsToPortal(data);
+
+ // The created drag object will be owned and deleted
+ // by QApplication::activeWindow().
+diff --git a/src/panels/folders/treeviewcontextmenu.cpp b/src/panels/folders/treeviewcontextmenu.cpp
+index 893a494fb..e0da9e976 100644
+--- a/src/panels/folders/treeviewcontextmenu.cpp
++++ b/src/panels/folders/treeviewcontextmenu.cpp
+@@ -168,7 +168,6 @@ void TreeViewContextMenu::populateMimeData(QMimeData* mimeData, bool cut)
+ bool dummy;
+ mostLocalUrls.append(m_fileItem.mostLocalUrl(&dummy));
+ KIO::setClipboardDataCut(mimeData, cut);
+- KUrlMimeData::exportUrlsToPortal(mimeData);
+ KUrlMimeData::setUrls(kdeUrls, mostLocalUrls, mimeData);
+ }
+
+diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
+index e8603858f..88f275557 100644
+--- a/src/views/dolphinview.cpp
++++ b/src/views/dolphinview.cpp
+@@ -45,7 +45,6 @@
+ #include <KLocalizedString>
+ #include <KMessageBox>
+ #include <KProtocolManager>
+-#include <KUrlMimeData>
+
+ #include <kwidgetsaddons_version.h>
+
+@@ -802,14 +801,12 @@ void DolphinView::cutSelectedItemsToClipboard()
+ {
+ QMimeData* mimeData = selectionMimeData();
+ KIO::setClipboardDataCut(mimeData, true);
+- KUrlMimeData::exportUrlsToPortal(mimeData);
+ QApplication::clipboard()->setMimeData(mimeData);
+ }
+
+ void DolphinView::copySelectedItemsToClipboard()
+ {
+- QMimeData *mimeData = selectionMimeData();
+- KUrlMimeData::exportUrlsToPortal(mimeData);
++ QMimeData* mimeData = selectionMimeData();
+ QApplication::clipboard()->setMimeData(mimeData);
+ }
+
+--
+GitLab
+
diff --git a/dolphin-pr480.patch b/dolphin-pr480.patch
new file mode 100644
index 000000000000..892569e0bdf9
--- /dev/null
+++ b/dolphin-pr480.patch
@@ -0,0 +1,265 @@
+From 9059742323460bf69729c7b2387228f7e025dced Mon Sep 17 00:00:00 2001
+From: Felix Ernst <fe.a.ernst@gmail.com>
+Date: Wed, 14 Dec 2022 14:30:50 +0100
+Subject: [PATCH 1/3] Revert "Fix build with older KF versions"
+
+This reverts commit 1d04d04cf301e82971d90cceb541f368192e2167.
+---
+ src/trash/dolphintrash.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/trash/dolphintrash.cpp b/src/trash/dolphintrash.cpp
+index 906da2b9d..236f9817d 100644
+--- a/src/trash/dolphintrash.cpp
++++ b/src/trash/dolphintrash.cpp
+@@ -75,7 +75,7 @@ void Trash::empty(QWidget *window)
+ KIO::Job* job = KIO::emptyTrash();
+ KJobWidgets::setWindow(job, window);
+ job->uiDelegate()->setAutoErrorHandlingEnabled(true);
+- QObject::connect(job, &KIO::Job::result, notifyEmptied);
++ QObject::connect(emptyJob, &KIO::Job::result, notifyEmptied);
+ }
+ #endif
+ }
+--
+GitLab
+
+
+From f0a6120eb95f44eb97bb801869b5b19812e6d517 Mon Sep 17 00:00:00 2001
+From: Felix Ernst <fe.a.ernst@gmail.com>
+Date: Wed, 14 Dec 2022 14:31:18 +0100
+Subject: [PATCH 2/3] Revert "Port away from deprecated KIO API"
+
+This reverts commit 197a7f690571256c8007b78a8fea30edb176a978.
+---
+ src/panels/folders/treeviewcontextmenu.cpp | 22 ++--------------------
+ src/views/dolphinview.cpp | 20 --------------------
+ 2 files changed, 2 insertions(+), 40 deletions(-)
+
+diff --git a/src/panels/folders/treeviewcontextmenu.cpp b/src/panels/folders/treeviewcontextmenu.cpp
+index e0da9e976..f4181d064 100644
+--- a/src/panels/folders/treeviewcontextmenu.cpp
++++ b/src/panels/folders/treeviewcontextmenu.cpp
+@@ -14,6 +14,8 @@
+ #include <KFileItemListProperties>
+ #include <KIO/CopyJob>
+ #include <KIO/DeleteJob>
++#include <KIO/FileUndoManager>
++#include <KIO/JobUiDelegate>
+ #include <KIO/Paste>
+ #include <KIO/PasteJob>
+ #include <KJobWidgets>
+@@ -22,14 +24,6 @@
+ #include <KSharedConfig>
+ #include <KUrlMimeData>
+
+-#include <kio_version.h>
+-#if KIO_VERSION >= QT_VERSION_CHECK(5, 100, 0)
+-#include <KIO/DeleteOrTrashJob>
+-#else
+-#include <KIO/FileUndoManager>
+-#include <KIO/JobUiDelegate>
+-#endif
+-
+ #include <QApplication>
+ #include <QClipboard>
+ #include <QMenu>
+@@ -198,11 +192,6 @@ void TreeViewContextMenu::rename()
+
+ void TreeViewContextMenu::moveToTrash()
+ {
+-#if KIO_VERSION >= QT_VERSION_CHECK(5, 100, 0)
+- using Iface = KIO::AskUserActionInterface;
+- auto *deleteJob = new KIO::DeleteOrTrashJob(QList{m_fileItem.url()}, Iface::Trash, Iface::DefaultConfirmation, m_parent);
+- deleteJob->start();
+-#else
+ const QList<QUrl> list{m_fileItem.url()};
+ KIO::JobUiDelegate uiDelegate;
+ uiDelegate.setWindow(m_parent);
+@@ -212,16 +201,10 @@ void TreeViewContextMenu::moveToTrash()
+ KJobWidgets::setWindow(job, m_parent);
+ job->uiDelegate()->setAutoErrorHandlingEnabled(true);
+ }
+-#endif
+ }
+
+ void TreeViewContextMenu::deleteItem()
+ {
+-#if KIO_VERSION >= QT_VERSION_CHECK(5, 100, 0)
+- using Iface = KIO::AskUserActionInterface;
+- auto *deleteJob = new KIO::DeleteOrTrashJob(QList{m_fileItem.url()}, Iface::Delete, Iface::DefaultConfirmation, m_parent);
+- deleteJob->start();
+-#else
+ const QList<QUrl> list{m_fileItem.url()};
+ KIO::JobUiDelegate uiDelegate;
+ uiDelegate.setWindow(m_parent);
+@@ -230,7 +213,6 @@ void TreeViewContextMenu::deleteItem()
+ KJobWidgets::setWindow(job, m_parent);
+ job->uiDelegate()->setAutoErrorHandlingEnabled(true);
+ }
+-#endif
+ }
+
+ void TreeViewContextMenu::showProperties()
+diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
+index 88f275557..c3ef4e0c6 100644
+--- a/src/views/dolphinview.cpp
++++ b/src/views/dolphinview.cpp
+@@ -48,11 +48,6 @@
+
+ #include <kwidgetsaddons_version.h>
+
+-#include <kio_version.h>
+-#if KIO_VERSION >= QT_VERSION_CHECK(5, 100, 0)
+-#include <KIO/DeleteOrTrashJob>
+-#endif
+-
+ #include <QAbstractItemView>
+ #include <QActionGroup>
+ #include <QApplication>
+@@ -757,13 +752,6 @@ void DolphinView::renameSelectedItems()
+ void DolphinView::trashSelectedItems()
+ {
+ const QList<QUrl> list = simplifiedSelectedUrls();
+-
+-#if KIO_VERSION >= QT_VERSION_CHECK(5, 100, 0)
+- using Iface = KIO::AskUserActionInterface;
+- auto *trashJob = new KIO::DeleteOrTrashJob(list, Iface::Trash, Iface::DefaultConfirmation, this);
+- connect(trashJob, &KJob::result, this, &DolphinView::slotTrashFileFinished);
+- trashJob->start();
+-#else
+ KIO::JobUiDelegate uiDelegate;
+ uiDelegate.setWindow(window());
+ if (uiDelegate.askDeleteConfirmation(list, KIO::JobUiDelegate::Trash, KIO::JobUiDelegate::DefaultConfirmation)) {
+@@ -773,19 +761,12 @@ void DolphinView::trashSelectedItems()
+ connect(job, &KIO::Job::result,
+ this, &DolphinView::slotTrashFileFinished);
+ }
+-#endif
+ }
+
+ void DolphinView::deleteSelectedItems()
+ {
+ const QList<QUrl> list = simplifiedSelectedUrls();
+
+-#if KIO_VERSION >= QT_VERSION_CHECK(5, 100, 0)
+- using Iface = KIO::AskUserActionInterface;
+- auto *trashJob = new KIO::DeleteOrTrashJob(list, Iface::Delete, Iface::DefaultConfirmation, this);
+- connect(trashJob, &KJob::result, this, &DolphinView::slotTrashFileFinished);
+- trashJob->start();
+-#else
+ KIO::JobUiDelegate uiDelegate;
+ uiDelegate.setWindow(window());
+ if (uiDelegate.askDeleteConfirmation(list, KIO::JobUiDelegate::Delete, KIO::JobUiDelegate::DefaultConfirmation)) {
+@@ -794,7 +775,6 @@ void DolphinView::deleteSelectedItems()
+ connect(job, &KIO::Job::result,
+ this, &DolphinView::slotDeleteFileFinished);
+ }
+-#endif
+ }
+
+ void DolphinView::cutSelectedItemsToClipboard()
+--
+GitLab
+
+
+From 72fb5462931440a88ccf669d18cefdee97b685bf Mon Sep 17 00:00:00 2001
+From: Felix Ernst <fe.a.ernst@gmail.com>
+Date: Wed, 14 Dec 2022 14:31:45 +0100
+Subject: [PATCH 3/3] Revert "DolphinTrash: port away from deprecated KIO API"
+
+This reverts commit a0c0b43b97017280f6290fc720f41307a5b85d22.
+---
+ src/trash/dolphintrash.cpp | 40 ++++++++++++--------------------------
+ src/trash/dolphintrash.h | 2 +-
+ 2 files changed, 13 insertions(+), 29 deletions(-)
+
+diff --git a/src/trash/dolphintrash.cpp b/src/trash/dolphintrash.cpp
+index 236f9817d..1446ab388 100644
+--- a/src/trash/dolphintrash.cpp
++++ b/src/trash/dolphintrash.cpp
+@@ -7,20 +7,15 @@
+
+ #include "dolphintrash.h"
+
++#include <KIO/JobUiDelegate>
++#include <kio_version.h>
++#include <KJobWidgets>
+ #include <QList>
+ #include <KNotification>
+ #include <KConfig>
+ #include <KConfigGroup>
+ #include <KLocalizedString>
+
+-#include <kio_version.h>
+-#if KIO_VERSION >= QT_VERSION_CHECK(5, 100, 0)
+-#include <KIO/DeleteOrTrashJob>
+-#else
+-#include <KIO/JobUiDelegate>
+-#include <KJobWidgets>
+-#endif
+-
+ Trash::Trash()
+ : m_trashDirLister(new KDirLister())
+ {
+@@ -49,25 +44,8 @@ Trash &Trash::instance()
+ return result;
+ }
+
+-static void notifyEmptied()
+-{
+- // As long as KIO doesn't do this, do it ourselves
+- KNotification::event(QStringLiteral("Trash: emptied"),
+- i18n("Trash Emptied"),
+- i18n("The Trash was emptied."),
+- QStringLiteral("user-trash"),
+- nullptr,
+- KNotification::DefaultEvent);
+-}
+-
+-void Trash::empty(QWidget *window)
++KIO::Job *Trash::empty(QWidget *window)
+ {
+-#if KIO_VERSION >= QT_VERSION_CHECK(5, 100, 0)
+- using Iface = KIO::AskUserActionInterface;
+- auto *emptyJob = new KIO::DeleteOrTrashJob(QList<QUrl>{}, Iface::EmptyTrash, Iface::DefaultConfirmation, window);
+- QObject::connect(emptyJob, &KIO::Job::result, notifyEmptied);
+- emptyJob->start();
+-#else
+ KIO::JobUiDelegate uiDelegate;
+ uiDelegate.setWindow(window);
+ bool confirmed = uiDelegate.askDeleteConfirmation(QList<QUrl>(), KIO::JobUiDelegate::EmptyTrash, KIO::JobUiDelegate::DefaultConfirmation);
+@@ -75,9 +53,15 @@ void Trash::empty(QWidget *window)
+ KIO::Job* job = KIO::emptyTrash();
+ KJobWidgets::setWindow(job, window);
+ job->uiDelegate()->setAutoErrorHandlingEnabled(true);
+- QObject::connect(emptyJob, &KIO::Job::result, notifyEmptied);
++ // as long as KIO doesn't do this, do it ourselves
++ connect(job, &KIO::Job::result, []() {
++ KNotification::event(QStringLiteral("Trash: emptied"), i18n("Trash Emptied"),
++ i18n("The Trash was emptied."), QStringLiteral("user-trash"),
++ nullptr, KNotification::DefaultEvent);
++ });
++ return job;
+ }
+-#endif
++ return nullptr;
+ }
+
+ bool Trash::isEmpty()
+diff --git a/src/trash/dolphintrash.h b/src/trash/dolphintrash.h
+index c65cf9232..2ee85e89a 100644
+--- a/src/trash/dolphintrash.h
++++ b/src/trash/dolphintrash.h
+@@ -25,7 +25,7 @@ public:
+ Trash& operator=(Trash &&) = delete;
+
+ static Trash& instance();
+- static void empty(QWidget *window);
++ static KIO::Job* empty(QWidget *window);
+ static bool isEmpty();
+
+ Q_SIGNALS:
+--
+GitLab
+