Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion pkgs/applications/kde/calendarsupport.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
mkDerivation, lib, kdepimTeam,
mkDerivation, lib, kdepimTeam, fetchpatch,
extra-cmake-modules, kdoctools,
akonadi, akonadi-calendar, akonadi-mime, akonadi-notes, kcalutils, kdepim-apps-libs,
kholidays, kidentitymanagement, kmime, pimcommon, qttools,
Expand All @@ -11,6 +11,13 @@ mkDerivation {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
maintainers = kdepimTeam;
};
patches = [
# Patch for Qt 5.15.2 until version 20.12.0
(fetchpatch {
url = "https://invent.kde.org/pim/calendarsupport/-/commit/b4193facb223bd5b73a65318dec8ced51b66adf7.patch";
sha256 = "sha256:1da11rqbxxrl06ld3avc41p064arz4n6w5nxq8r008v8ws3s64dy";
})
];
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
akonadi akonadi-mime akonadi-notes kcalutils kdepim-apps-libs kholidays pimcommon qttools
Expand Down
9 changes: 8 additions & 1 deletion pkgs/applications/kde/kaddressbook.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
mkDerivation, lib, kdepimTeam,
mkDerivation, lib, kdepimTeam, fetchpatch,
extra-cmake-modules, kdoctools,
akonadi, akonadi-search, grantlee, grantleetheme, kcmutils, kcompletion,
kcrash, kdbusaddons, kdepim-apps-libs, ki18n, kontactinterface, kparts,
Expand All @@ -13,6 +13,13 @@ mkDerivation {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
maintainers = kdepimTeam;
};
patches = [
# Patch for Qt 5.15.2 until version 20.12.0
(fetchpatch {
url = "https://invent.kde.org/pim/kaddressbook/-/commit/8aee8d40ae2a1c920d3520163d550d3b49720226.patch";
sha256 = "sha256:0dsy119cd5w9khiwgk6fb7xnjzmj94rfphf327k331lf15zq4853";
})
];
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
akonadi akonadi-search grantlee grantleetheme kcmutils kcompletion kcrash
Expand Down
13 changes: 12 additions & 1 deletion pkgs/applications/kde/kompare.nix
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
mkDerivation, lib,
extra-cmake-modules, kdoctools,
kiconthemes, kparts, ktexteditor, kwidgetsaddons, libkomparediff2
kiconthemes, kparts, ktexteditor, kwidgetsaddons, libkomparediff2,
fetchpatch
}:

mkDerivation {
Expand All @@ -11,5 +12,15 @@ mkDerivation {
buildInputs = [
kiconthemes kparts ktexteditor kwidgetsaddons libkomparediff2
];

patches = [
(fetchpatch {
# Portaway from Obsolete methods of QPrinter
# Part of v20.12.0
url = "https://invent.kde.org/sdk/kompare/-/commit/68d3eee36c48a2f44ccfd3f9e5a36311b829104b.patch";
sha256 = "B2i5n5cUDjCqTEF0OyTb1+LhPa5yWCnFycwijf35kwU=";
})
];

outputs = [ "out" "dev" ];
}
9 changes: 8 additions & 1 deletion pkgs/development/libraries/kde-frameworks/purpose.nix
Original file line number Diff line number Diff line change
@@ -1,14 +1,21 @@
{
mkDerivation, lib, extra-cmake-modules, qtbase
, qtdeclarative, kconfig, kcoreaddons, ki18n, kio, kirigami2
, fetchpatch
}:

mkDerivation {
name = "purpose";
meta = { maintainers = [ lib.maintainers.bkchr ]; };
nativeBuildInputs = [ extra-cmake-modules ];
patches = [
(fetchpatch {
url = "https://github.com/KDE/purpose/commit/b3842a0941858792e997bb35b679a3fdf3ef54ca.patch";
sha256 = "14brpryrrfrli1amk4flpnd03wr4zyycpiirndn9sjz0krqlgf3j";
})
];
buildInputs = [
qtbase qtdeclarative kconfig kcoreaddons
qtbase qtdeclarative kconfig kcoreaddons
ki18n kio kirigami2
];
}
18 changes: 7 additions & 11 deletions pkgs/development/libraries/qt-5/5.15/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,12 @@ let

# Downgrade minimal required SDK to 10.12
./qtbase.patch.d/0013-define-kiosurfacesuccess.patch
./qtbase.patch.d/macos-sdk-10.12/0001-Revert-QCocoaDrag-set-image-only-on-the-first-drag-i.patch
./qtbase.patch.d/macos-sdk-10.12/0002-Revert-QCocoaDrag-drag-make-sure-clipboard-is-ours-a.patch
./qtbase.patch.d/macos-sdk-10.12/0003-Revert-QCocoaDrag-maybeDragMultipleItems-fix-erroneo.patch
./qtbase.patch.d/macos-sdk-10.12/0004-Revert-QCocoaDrag-avoid-using-the-deprecated-API-if-.patch
./qtbase.patch.d/macos-sdk-10.12/0005-Revert-macOS-Fix-use-of-deprecated-NSOffState.patch
./qtbase.patch.d/macos-sdk-10.12/0006-git-checkout-v5.15.0-src-plugins-platforms-cocoa-qco.patch
./qtbase.patch.d/qtbase-sdk-10.12-mac.patch
]
++ [
Expand All @@ -73,17 +79,7 @@ let
qtdeclarative = [ ./qtdeclarative.patch ];
qtscript = [ ./qtscript.patch ];
qtserialport = [ ./qtserialport.patch ];
qtwebengine = [
# Fix build with bison-3.7: https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=1a53f599
(fetchpatch {
name = "qtwebengine-bison-3.7-build.patch";
url = "https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=1a53f599";
sha256 = "1nqpyn5fq37q7i9nasag6i14lnz0d7sld5ikqhlm8qwq9d7gbmjy";
stripLen = 1;
extraPrefix = "src/3rdparty/";
})
]
++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch;
qtwebengine = optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch;
qtwebkit = [ ./qtwebkit.patch ]
++ optionals stdenv.isDarwin [
./qtwebkit-darwin-no-readline.patch
Expand Down
2 changes: 1 addition & 1 deletion pkgs/development/libraries/qt-5/5.15/fetch.sh
Original file line number Diff line number Diff line change
@@ -1 +1 @@
WGET_ARGS=( http://download.qt.io/official_releases/qt/5.15/5.15.0/submodules/ )
WGET_ARGS=( http://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/ )
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
From f156c35975e7844d2369ec5a6633ee40ec56f17a Mon Sep 17 00:00:00 2001
From: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
Date: Mon, 7 Dec 2020 12:32:29 -0500
Subject: [PATCH 1/6] Revert "QCocoaDrag - set image only on the first drag
item"

This reverts commit 7ee9bfc158a290776f622f62d0202220c6d159bc.
---
src/plugins/platforms/cocoa/qcocoadrag.mm | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/src/plugins/platforms/cocoa/qcocoadrag.mm b/src/plugins/platforms/cocoa/qcocoadrag.mm
index 4bd1b129bd..a506126c72 100644
--- a/src/plugins/platforms/cocoa/qcocoadrag.mm
+++ b/src/plugins/platforms/cocoa/qcocoadrag.mm
@@ -217,18 +217,13 @@ bool QCocoaDrag::maybeDragMultipleItems()
// 0. We start from URLs, which can be actually in a list (thus technically
// only ONE item in the pasteboard. The fact it's only one does not help, we are
// still getting an exception because of the number of items/images mismatch ...
- // We only set the image for the first item and nil for the rest, the image already
- // contains a combined picture for all urls we drag.
- auto imageOrNil = dragImage;
for (const auto &qtUrl : qtUrls) {
NSURL *nsUrl = qtUrl.toNSURL();
auto *newItem = [[[NSDraggingItem alloc] initWithPasteboardWriter:nsUrl] autorelease];
const NSRect itemFrame = NSMakeRect(itemLocation.x, itemLocation.y,
dragImage.size.width,
dragImage.size.height);
-
- [newItem setDraggingFrame:itemFrame contents:imageOrNil];
- imageOrNil = nil;
+ [newItem setDraggingFrame:itemFrame contents:dragImage];
[dragItems addObject:newItem];
}
// 1. Repeat for non-url items, if any:
@@ -237,7 +232,7 @@ bool QCocoaDrag::maybeDragMultipleItems()
const NSRect itemFrame = NSMakeRect(itemLocation.x, itemLocation.y,
dragImage.size.width,
dragImage.size.height);
- [newItem setDraggingFrame:itemFrame contents:imageOrNil];
+ [newItem setDraggingFrame:itemFrame contents:dragImage];
[dragItems addObject:newItem];
}

--
2.21.0

Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
From 9aaac67e3c3bf40ef3efc3b07b1655f72c8c54aa Mon Sep 17 00:00:00 2001
From: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
Date: Mon, 7 Dec 2020 12:32:31 -0500
Subject: [PATCH 2/6] Revert "QCocoaDrag::drag - make sure clipboard is ours
and populated"

This reverts commit 720e2e0c92ca6635c5f05f318770a70cf653c1c7.
---
src/plugins/platforms/cocoa/qcocoadrag.mm | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/plugins/platforms/cocoa/qcocoadrag.mm b/src/plugins/platforms/cocoa/qcocoadrag.mm
index a506126c72..c6ee4323ce 100644
--- a/src/plugins/platforms/cocoa/qcocoadrag.mm
+++ b/src/plugins/platforms/cocoa/qcocoadrag.mm
@@ -131,10 +131,6 @@ Qt::DropAction QCocoaDrag::drag(QDrag *o)
m_drag = o;
m_executed_drop_action = Qt::IgnoreAction;

- QMacPasteboard dragBoard(CFStringRef(NSPasteboardNameDrag), QMacInternalPasteboardMime::MIME_DND);
- m_drag->mimeData()->setData(QLatin1String("application/x-qt-mime-type-name"), QByteArray("dummy"));
- dragBoard.setMimeData(m_drag->mimeData(), QMacPasteboard::LazyRequest);
-
if (maybeDragMultipleItems())
return m_executed_drop_action;

@@ -143,6 +139,10 @@ Qt::DropAction QCocoaDrag::drag(QDrag *o)
NSImage *dragImage = [NSImage imageFromQImage:pm.toImage()];
Q_ASSERT(dragImage);

+ QMacPasteboard dragBoard(CFStringRef(NSPasteboardNameDrag), QMacInternalPasteboardMime::MIME_DND);
+ m_drag->mimeData()->setData(QLatin1String("application/x-qt-mime-type-name"), QByteArray("dummy"));
+ dragBoard.setMimeData(m_drag->mimeData(), QMacPasteboard::LazyRequest);
+
NSPoint event_location = [m_lastEvent locationInWindow];
NSWindow *theWindow = [m_lastEvent window];
Q_ASSERT(theWindow);
--
2.21.0

Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
From d1626c55d10537274c6f365855342a1c619a4c3a Mon Sep 17 00:00:00 2001
From: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
Date: Mon, 7 Dec 2020 12:32:32 -0500
Subject: [PATCH 3/6] Revert "QCocoaDrag::maybeDragMultipleItems - fix
erroneous size check"

This reverts commit b8a03411784803c07ecc1f769860756d6fdc04cd.
---
src/plugins/platforms/cocoa/qcocoadrag.mm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/plugins/platforms/cocoa/qcocoadrag.mm b/src/plugins/platforms/cocoa/qcocoadrag.mm
index c6ee4323ce..ab6863a432 100644
--- a/src/plugins/platforms/cocoa/qcocoadrag.mm
+++ b/src/plugins/platforms/cocoa/qcocoadrag.mm
@@ -187,7 +187,7 @@ bool QCocoaDrag::maybeDragMultipleItems()
const auto &qtUrls = m_drag->mimeData()->urls();
NSPasteboard *dragBoard = [NSPasteboard pasteboardWithName:NSPasteboardNameDrag];

- if (qtUrls.size() <= 1) {
+ if (int(dragBoard.pasteboardItems.count) == 1 && qtUrls.size() <= 1) {
// Good old -dragImage: works perfectly for this ...
return false;
}
--
2.21.0

Loading