diff options
Diffstat (limited to 'pkgs/development/libraries/qt-5')
18 files changed, 28 insertions, 801 deletions
diff --git a/pkgs/development/libraries/qt-5/5.11/default.nix b/pkgs/development/libraries/qt-5/5.11/default.nix index 379c370e1fc..0014a1452aa 100644 --- a/pkgs/development/libraries/qt-5/5.11/default.nix +++ b/pkgs/development/libraries/qt-5/5.11/default.nix @@ -20,7 +20,7 @@ top-level attribute to `top-level/all-packages.nix`. stdenv, fetchurl, fetchFromGitHub, makeSetupHook, bison, cups ? null, harfbuzz, libGL, perl, gstreamer, gst-plugins-base, gtk3, dconf, - cf-private, + cf-private, llvmPackages_5, # options developerBuild ? false, @@ -51,34 +51,24 @@ let patches = { qtbase = [ ./qtbase.patch - ./qtbase-darwin.patch - ./qtbase-revert-no-macos10.10.patch ./qtbase-fixguicmake.patch - ] ++ optionals stdenv.isDarwin [ - ./qtbase-darwin-nseventtype.patch - ./qtbase-darwin-revert-69221.patch ]; qtdeclarative = [ ./qtdeclarative.patch ]; qtscript = [ ./qtscript.patch ]; qtserialport = [ ./qtserialport.patch ]; qttools = [ ./qttools.patch ]; - qtwebengine = [ ./qtwebengine-no-build-skip.patch ] - ++ optional stdenv.cc.isClang ./qtwebengine-clang-fix.patch - ++ optionals stdenv.isDarwin [ - ./qtwebengine-darwin-no-platform-check.patch - ./qtwebengine-darwin-sdk-10.10.patch - ./qtwebengine-darwin-old-sdk.patch - ]; - qtwebkit = [ ./qtwebkit.patch ] - ++ optionals stdenv.isDarwin [ - ./qtwebkit-darwin-no-readline.patch - ./qtwebkit-darwin-no-qos-classes.patch - ]; + qtwebengine = [ + ./qtwebengine-no-build-skip.patch + ./qtwebengine-darwin-no-platform-check.patch + ]; + qtwebkit = [ ./qtwebkit.patch ]; }; mkDerivation = - import ../mkDerivation.nix - { inherit stdenv; inherit (stdenv) lib; } + import ../mkDerivation.nix { + inherit (stdenv) lib; + stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv; + } { inherit debug; }; qtModule = @@ -109,7 +99,7 @@ let qtdoc = callPackage ../modules/qtdoc.nix {}; qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {}; qtimageformats = callPackage ../modules/qtimageformats.nix {}; - qtlocation = callPackage ../modules/qtlocation.nix {}; + qtlocation = callPackage ../modules/qtlocation.nix { }; qtmacextras = callPackage ../modules/qtmacextras.nix { inherit cf-private; }; diff --git a/pkgs/development/libraries/qt-5/5.11/qtbase-darwin-nseventtype.patch b/pkgs/development/libraries/qt-5/5.11/qtbase-darwin-nseventtype.patch deleted file mode 100644 index 9ef6e8ef069..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/qtbase-darwin-nseventtype.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/src/plugins/platforms/cocoa/qcocoawindow.mm -+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm -@@ -404,8 +404,8 @@ void QCocoaWindow::setVisible(bool visible) - removeMonitor(); - monitor = [NSEvent addGlobalMonitorForEventsMatchingMask:NSLeftMouseDownMask|NSRightMouseDownMask|NSOtherMouseDownMask|NSMouseMovedMask handler:^(NSEvent *e) { - QPointF localPoint = QCocoaScreen::mapFromNative([NSEvent mouseLocation]); -- const auto button = e.type == NSEventTypeMouseMoved ? Qt::NoButton : cocoaButton2QtButton([e buttonNumber]); -- const auto eventType = e.type == NSEventTypeMouseMoved ? QEvent::MouseMove : QEvent::MouseButtonPress; -+ const auto button = e.type == NSMouseMoved ? Qt::NoButton : cocoaButton2QtButton([e buttonNumber]); -+ const auto eventType = e.type == NSMouseMoved ? QEvent::MouseMove : QEvent::MouseButtonPress; - QWindowSystemInterface::handleMouseEvent(window(), window()->mapFromGlobal(localPoint.toPoint()), localPoint, - Qt::MouseButtons(uint(NSEvent.pressedMouseButtons & 0xFFFF)), button, eventType); - }]; diff --git a/pkgs/development/libraries/qt-5/5.11/qtbase-darwin-revert-69221.patch b/pkgs/development/libraries/qt-5/5.11/qtbase-darwin-revert-69221.patch deleted file mode 100644 index 73eea435f84..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/qtbase-darwin-revert-69221.patch +++ /dev/null @@ -1,73 +0,0 @@ -diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm -index 00c3f7c22c..94d35f59d6 100644 ---- a/src/plugins/platforms/cocoa/qcocoawindow.mm -+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm -@@ -1355,15 +1355,6 @@ QCocoaNSWindow *QCocoaWindow::createNSWindow(bool shouldBePanel) - { - QMacAutoReleasePool pool; - -- Qt::WindowType type = window()->type(); -- Qt::WindowFlags flags = window()->flags(); -- -- // Note: The macOS window manager has a bug, where if a screen is rotated, it will not allow -- // a window to be created within the area of the screen that has a Y coordinate (I quadrant) -- // higher than the height of the screen in its non-rotated state, unless the window is -- // created with the NSWindowStyleMaskBorderless style mask. -- NSWindowStyleMask styleMask = windowStyleMask(flags); -- - QRect rect = geometry(); - - QScreen *targetScreen = nullptr; -@@ -1375,22 +1366,26 @@ QCocoaNSWindow *QCocoaWindow::createNSWindow(bool shouldBePanel) - } - - if (!targetScreen) { -- qCWarning(lcQpaCocoaWindow) << "Window position" << rect << "outside any known screen, using primary screen"; -+ qCWarning(lcQpaCocoaWindow) << "Window position outside any known screen, using primary screen"; - targetScreen = QGuiApplication::primaryScreen(); -- // AppKit will only reposition a window that's outside the target screen area if -- // the window has a title bar. If left out, the window ends up with no screen. -- // The style mask will be corrected to the original style mask in setWindowFlags. -- styleMask |= NSWindowStyleMaskTitled; - } - - rect.translate(-targetScreen->geometry().topLeft()); - QCocoaScreen *cocoaScreen = static_cast<QCocoaScreen *>(targetScreen->handle()); - NSRect frame = QCocoaScreen::mapToNative(rect, cocoaScreen); - -+ // Note: The macOS window manager has a bug, where if a screen is rotated, it will not allow -+ // a window to be created within the area of the screen that has a Y coordinate (I quadrant) -+ // higher than the height of the screen in its non-rotated state, unless the window is -+ // created with the NSWindowStyleMaskBorderless style mask. -+ -+ Qt::WindowType type = window()->type(); -+ Qt::WindowFlags flags = window()->flags(); -+ - // Create NSWindow - Class windowClass = shouldBePanel ? [QNSPanel class] : [QNSWindow class]; - QCocoaNSWindow *nsWindow = [[windowClass alloc] initWithContentRect:frame -- styleMask:styleMask -+ styleMask:windowStyleMask(flags) - // Deferring window creation breaks OpenGL (the GL context is - // set up before the window is shown and needs a proper window) - backing:NSBackingStoreBuffered defer:NO -@@ -1399,9 +1394,6 @@ QCocoaNSWindow *QCocoaWindow::createNSWindow(bool shouldBePanel) - Q_ASSERT_X(nsWindow.screen == cocoaScreen->nativeScreen(), "QCocoaWindow", - "Resulting NSScreen should match the requested NSScreen"); - -- if (targetScreen != window()->screen()) -- QWindowSystemInterface::handleWindowScreenChanged(window(), targetScreen); -- - nsWindow.delegate = [[QNSWindowDelegate alloc] initWithQCocoaWindow:this]; - - // Prevent Cocoa from releasing the window on close. Qt -@@ -1421,6 +1413,9 @@ QCocoaNSWindow *QCocoaWindow::createNSWindow(bool shouldBePanel) - }); - } - -+ if (targetScreen != window()->screen()) -+ QWindowSystemInterface::handleWindowScreenChanged(window(), targetScreen); -+ - nsWindow.restorable = NO; - nsWindow.level = windowLevel(flags); - diff --git a/pkgs/development/libraries/qt-5/5.11/qtbase-darwin.patch b/pkgs/development/libraries/qt-5/5.11/qtbase-darwin.patch deleted file mode 100644 index f6635175205..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/qtbase-darwin.patch +++ /dev/null @@ -1,70 +0,0 @@ -diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm -index 341d3bccf2..3368234c26 100644 ---- a/src/plugins/bearer/corewlan/qcorewlanengine.mm -+++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm -@@ -287,7 +287,7 @@ void QScanThread::getUserConfigurations() - QMacAutoReleasePool pool; - userProfiles.clear(); - -- NSArray<NSString *> *wifiInterfaces = [CWWiFiClient interfaceNames]; -+ NSArray *wifiInterfaces = [CWWiFiClient interfaceNames]; - for (NSString *ifName in wifiInterfaces) { - - CWInterface *wifiInterface = [[CWWiFiClient sharedWiFiClient] interfaceWithName:ifName]; -@@ -602,7 +602,7 @@ void QCoreWlanEngine::doRequestUpdate() - - QMacAutoReleasePool pool; - -- NSArray<NSString *> *wifiInterfaces = [CWWiFiClient interfaceNames]; -+ NSArray *wifiInterfaces = [CWWiFiClient interfaceNames]; - for (NSString *ifName in wifiInterfaces) { - scanThread->interfaceName = QString::fromNSString(ifName); - scanThread->start(); -diff --git a/src/plugins/platforms/cocoa/qcocoascreen.mm b/src/plugins/platforms/cocoa/qcocoascreen.mm -index a17a02b629..d76c42fa03 100644 ---- a/src/plugins/platforms/cocoa/qcocoascreen.mm -+++ b/src/plugins/platforms/cocoa/qcocoascreen.mm -@@ -114,7 +114,7 @@ void QCocoaScreen::updateGeometry() - return; - - // The reference screen for the geometry is always the primary screen -- QRectF primaryScreenGeometry = QRectF::fromCGRect([[NSScreen screens] firstObject].frame); -+ QRectF primaryScreenGeometry = QRectF::fromCGRect([[[NSScreen screens] firstObject] frame]); - m_geometry = qt_mac_flip(QRectF::fromCGRect(nsScreen.frame), primaryScreenGeometry).toRect(); - m_availableGeometry = qt_mac_flip(QRectF::fromCGRect(nsScreen.visibleFrame), primaryScreenGeometry).toRect(); - -diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm -index 72f3bc0075..a9c058a850 100644 ---- a/src/plugins/platforms/cocoa/qcocoawindow.mm -+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm -@@ -1676,7 +1676,7 @@ void QCocoaWindow::applyContentBorderThickness(NSWindow *window) - - if (!m_drawContentBorderGradient) { - window.styleMask = window.styleMask & ~NSTexturedBackgroundWindowMask; -- [window.contentView.superview setNeedsDisplay:YES]; -+ [[window.contentView superview] setNeedsDisplay:YES]; - window.titlebarAppearsTransparent = NO; - return; - } -diff --git a/src/plugins/platforms/cocoa/qnswindow.mm b/src/plugins/platforms/cocoa/qnswindow.mm -index cb13b7d184..0159d68dca 100644 ---- a/src/plugins/platforms/cocoa/qnswindow.mm -+++ b/src/plugins/platforms/cocoa/qnswindow.mm -@@ -231,7 +231,7 @@ static bool isMouseEvent(NSEvent *ev) - if (pw->frameStrutEventsEnabled() && isMouseEvent(theEvent)) { - NSPoint loc = [theEvent locationInWindow]; - NSRect windowFrame = [self convertRectFromScreen:self.frame]; -- NSRect contentFrame = self.contentView.frame; -+ NSRect contentFrame = [self.contentView frame]; - if (NSMouseInRect(loc, windowFrame, NO) && !NSMouseInRect(loc, contentFrame, NO)) - [qnsview_cast(pw->view()) handleFrameStrutMouseEvent:theEvent]; - } -@@ -260,7 +260,7 @@ static bool isMouseEvent(NSEvent *ev) - + (void)applicationActivationChanged:(NSNotification*)notification - { - const id sender = self; -- NSEnumerator<NSWindow*> *windowEnumerator = nullptr; -+ NSEnumerator *windowEnumerator = nullptr; - NSApplication *application = [NSApplication sharedApplication]; - - #if QT_MACOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_12) diff --git a/pkgs/development/libraries/qt-5/5.11/qtbase-revert-no-macos10.10.patch b/pkgs/development/libraries/qt-5/5.11/qtbase-revert-no-macos10.10.patch deleted file mode 100644 index 29776518379..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/qtbase-revert-no-macos10.10.patch +++ /dev/null @@ -1,102 +0,0 @@ -Revert "Remove code paths for macOS < 10.11" - -This reverts commit 138a65e0cfa80b13fd018a01e7d8b33341a3cfd3. - -From 138a65e0cfa80b13fd018a01e7d8b33341a3cfd3 Mon Sep 17 00:00:00 2001 -From: Jake Petroules <jake.petroules@qt.io> -Date: Thu, 8 Feb 2018 11:05:42 -0800 -Subject: [PATCH] Remove code paths for macOS < 10.11 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Change-Id: I5ae02d88aa3dcd97d1f2ebf6255a68643e5d6daa -Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> -Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io> -Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> ---- - .../fontdatabases/mac/qfontengine_coretext.mm | 16 +++------------- - src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm | 6 +----- - src/plugins/platforms/cocoa/qnswindowdelegate.mm | 16 ---------------- - 3 files changed, 4 insertions(+), 34 deletions(-) - -diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm -index 98b753eff9..489d9cd031 100644 ---- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm -+++ b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm -@@ -47,18 +47,28 @@ - - #include <cmath> - --#if defined(Q_OS_MACOS) -+#if defined(Q_OS_OSX) && !QT_OSX_DEPLOYMENT_TARGET_BELOW(__MAC_10_11) - #import <AppKit/AppKit.h> - #endif - --#if defined(QT_PLATFORM_UIKIT) -+#if defined(QT_PLATFORM_UIKIT) && !QT_IOS_DEPLOYMENT_TARGET_BELOW(__IPHONE_8_2) - #import <UIKit/UIKit.h> - #endif - - // These are available cross platform, exported as kCTFontWeightXXX from CoreText.framework, - // but they are not documented and are not in public headers so are private API and exposed - // only through the NSFontWeightXXX and UIFontWeightXXX aliases in AppKit and UIKit (rdar://26109857) --#if defined(Q_OS_MACOS) -+#if QT_MAC_DEPLOYMENT_TARGET_BELOW(__MAC_10_11, __IPHONE_8_2) -+#define kCTFontWeightUltraLight -0.8 -+#define kCTFontWeightThin -0.6 -+#define kCTFontWeightLight -0.4 -+#define kCTFontWeightRegular 0 -+#define kCTFontWeightMedium 0.23 -+#define kCTFontWeightSemibold 0.3 -+#define kCTFontWeightBold 0.4 -+#define kCTFontWeightHeavy 0.56 -+#define kCTFontWeightBlack 0.62 -+#elif defined(Q_OS_OSX) - #define kCTFontWeightUltraLight NSFontWeightUltraLight - #define kCTFontWeightThin NSFontWeightThin - #define kCTFontWeightLight NSFontWeightLight -diff --git a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm -index 94f2125bad..272cd9f3dc 100644 ---- a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm -+++ b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm -@@ -162,7 +162,11 @@ QT_NAMESPACE_ALIAS_OBJC_CLASS(QNSOpenSavePanelDelegate); - // resetting our mCurrentDir, set the delegate - // here to make sure it gets the correct value. - [mSavePanel setDelegate:self]; -- mOpenPanel.accessoryViewDisclosed = YES; -+ -+#if QT_OSX_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_11) -+ if (__builtin_available(macOS 10.11, *)) -+ mOpenPanel.accessoryViewDisclosed = YES; -+#endif - - if (mOptions->isLabelExplicitlySet(QFileDialogOptions::Accept)) - [mSavePanel setPrompt:[self strip:options->labelText(QFileDialogOptions::Accept)]]; -diff --git a/src/plugins/platforms/cocoa/qnswindowdelegate.mm b/src/plugins/platforms/cocoa/qnswindowdelegate.mm -index 057a4c2943..eb55e50622 100644 ---- a/src/plugins/platforms/cocoa/qnswindowdelegate.mm -+++ b/src/plugins/platforms/cocoa/qnswindowdelegate.mm -@@ -103,6 +103,22 @@ static QRegExp whitespaceRegex = QRegExp(QStringLiteral("\\s*")); - return QCocoaScreen::mapToNative(maximizedFrame); - } - -+#if QT_MACOS_DEPLOYMENT_TARGET_BELOW(__MAC_10_11) -+/* -+ AppKit on OS X 10.10 wrongly calls windowWillUseStandardFrame:defaultFrame -+ from -[NSWindow _frameForFullScreenMode] when going into fullscreen, resulting -+ in black bars on top and bottom of the window. By implementing the following -+ method, AppKit will choose that instead, and resolve the right fullscreen -+ geometry. -+*/ -+- (NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize -+{ -+ Q_UNUSED(proposedSize); -+ Q_ASSERT(window == m_cocoaWindow->nativeWindow()); -+ return NSSizeFromCGSize(m_cocoaWindow->screen()->geometry().size().toCGSize()); -+} -+#endif -+ - - (BOOL)window:(NSWindow *)window shouldPopUpDocumentPathMenu:(NSMenu *)menu - { - Q_UNUSED(window); diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebengine-clang-fix.patch b/pkgs/development/libraries/qt-5/5.11/qtwebengine-clang-fix.patch deleted file mode 100644 index 8dafd65cd34..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/qtwebengine-clang-fix.patch +++ /dev/null @@ -1,30 +0,0 @@ -Fix a following build error: - -In file included from ../../3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm:7: -../../3rdparty/chromium/base/bind.h:59:3: error: static_assert failed "Bound argument |i| of type |Arg| cannot be forwarded as |Unwrapped| to the bound functor, which declares it as |Param|." - static_assert( - ^ -../../3rdparty/chromium/base/bind.h:91:7: note: in instantiation of template class 'base::internal::AssertConstructible<1, long, long, const long &, NSError *>' requested here - : AssertConstructible<Ns, Args, std::decay_t<Args>, Unwrapped, Params>... { - ^ -../../3rdparty/chromium/base/bind.h:213:27: note: in instantiation of template class 'base::internal::AssertBindArgsValidity<std::__1::integer_sequence<unsigned long, 0, 1>, base::internal::TypeList<base::WeakPtr<device::BluetoothRemoteGattCharacteristicMac>, long>, base::internal::TypeList<device::BluetoothRemoteGattCharacteristicMac *, const long &>, base::internal::TypeList<device::BluetoothRemoteGattCharacteristicMac *, NSError *> >' requested here - static_assert(internal::AssertBindArgsValidity< - ^ -../../3rdparty/chromium/base/bind.h:242:16: note: in instantiation of function template specialization 'base::BindRepeating<void (device::BluetoothRemoteGattCharacteristicMac::*)(NSError *), base::WeakPtr<device::BluetoothRemoteGattCharacteristicMac>, long>' requested here - return base::BindRepeating(std::forward<Functor>(functor), - ^ -../../3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm:211:15: note: in instantiation of function template specialization 'base::Bind<void (device::BluetoothRemoteGattCharacteristicMac::*)(NSError *), base::WeakPtr<device::BluetoothRemoteGattCharacteristicMac>, long>' requested here - base::Bind(&BluetoothRemoteGattCharacteristicMac::DidWriteValue, - ^ - ---- a/src/3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm -+++ b/src/3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm -@@ -209,7 +209,7 @@ void BluetoothRemoteGattCharacteristicMac::WriteRemoteCharacteristic( - base::ThreadTaskRunnerHandle::Get()->PostTask( - FROM_HERE, - base::Bind(&BluetoothRemoteGattCharacteristicMac::DidWriteValue, -- weak_ptr_factory_.GetWeakPtr(), nil)); -+ weak_ptr_factory_.GetWeakPtr(), nullptr)); - } - } - diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-old-sdk.patch b/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-old-sdk.patch deleted file mode 100644 index b065c221101..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-old-sdk.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/src/3rdparty/chromium/third_party/webrtc/sdk/objc/Framework/Classes/Common/RTCFieldTrials.mm b/src/3rdparty/chromium/third_party/webrtc/sdk/objc/Framework/Classes/Common/RTCFieldTrials.mm ---- a/src/3rdparty/chromium/third_party/webrtc/sdk/objc/Framework/Classes/Common/RTCFieldTrials.mm -+++ b/src/3rdparty/chromium/third_party/webrtc/sdk/objc/Framework/Classes/Common/RTCFieldTrials.mm -@@ -45,7 +45,7 @@ NSString *RTCFieldTrialTrendlineFilterValue( - return [NSString stringWithFormat:format, windowSize, smoothingCoeff, thresholdGain]; - } - --void RTCInitFieldTrialDictionary(NSDictionary<NSString *, NSString *> *fieldTrials) { -+void RTCInitFieldTrialDictionary(NSDictionary *fieldTrials) { - if (!fieldTrials) { - RTCLogWarning(@"No fieldTrials provided."); - return; -diff --git a/src/3rdparty/chromium/third_party/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFieldTrials.h b/src/3rdparty/chromium/third_party/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFieldTrials.h ---- a/src/3rdparty/chromium/third_party/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFieldTrials.h -+++ b/src/3rdparty/chromium/third_party/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFieldTrials.h -@@ -40,4 +40,4 @@ RTC_EXTERN NSString *RTCFieldTrialTrendlineFilterValue( - * Must be called before any other call into WebRTC. See: - * webrtc/system_wrappers/include/field_trial_default.h - */ --RTC_EXTERN void RTCInitFieldTrialDictionary(NSDictionary<NSString *, NSString *> *fieldTrials); -+RTC_EXTERN void RTCInitFieldTrialDictionary(NSDictionary *fieldTrials); diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-sdk-10.10.patch b/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-sdk-10.10.patch deleted file mode 100644 index d43b09b9538..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-sdk-10.10.patch +++ /dev/null @@ -1,160 +0,0 @@ -Fix build against 10.10 SDK - -The SecKey part perhaps could be fixed by implementing a revert to -https://chromium.googlesource.com/chromium/src.git/+/8418e098b9cbedf884878b61dcd3292c515845cf%5E%21/#F0 - ---- a/src/3rdparty/chromium/content/browser/renderer_host/input/web_input_event_builders_mac.mm -+++ b/src/3rdparty/chromium/content/browser/renderer_host/input/web_input_event_builders_mac.mm -@@ -1,3 +1,4 @@ -+#define NSEventTypeScrollWheel 22 - // Copyright 2015 The Chromium Authors. All rights reserved. - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. ---- a/src/3rdparty/chromium/net/ssl/ssl_platform_key_mac.cc -+++ b/src/3rdparty/chromium/net/ssl/ssl_platform_key_mac.cc -@@ -48,21 +48,6 @@ namespace net { - - namespace { - --// TODO(davidben): Remove this when we switch to building to the 10.13 --// SDK. https://crbug.com/780980 --#if !defined(MAC_OS_X_VERSION_10_13) || \ -- MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_13 --API_AVAILABLE(macosx(10.13)) --const SecKeyAlgorithm kSecKeyAlgorithmRSASignatureDigestPSSSHA256 = -- CFSTR("algid:sign:RSA:digest-PSS:SHA256:SHA256:32"); --API_AVAILABLE(macosx(10.13)) --const SecKeyAlgorithm kSecKeyAlgorithmRSASignatureDigestPSSSHA384 = -- CFSTR("algid:sign:RSA:digest-PSS:SHA384:SHA384:48"); --API_AVAILABLE(macosx(10.13)) --const SecKeyAlgorithm kSecKeyAlgorithmRSASignatureDigestPSSSHA512 = -- CFSTR("algid:sign:RSA:digest-PSS:SHA512:SHA512:64"); --#endif -- - class ScopedCSSM_CC_HANDLE { - public: - ScopedCSSM_CC_HANDLE() : handle_(0) {} -@@ -187,109 +172,6 @@ class SSLPlatformKeyCSSM : public ThreadedSSLPrivateKey::Delegate { - DISALLOW_COPY_AND_ASSIGN(SSLPlatformKeyCSSM); - }; - --// Returns the corresponding SecKeyAlgorithm or nullptr if unrecognized. --API_AVAILABLE(macosx(10.12)) --SecKeyAlgorithm GetSecKeyAlgorithm(uint16_t algorithm) { -- switch (algorithm) { -- case SSL_SIGN_RSA_PKCS1_SHA512: -- return kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA512; -- case SSL_SIGN_RSA_PKCS1_SHA384: -- return kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA384; -- case SSL_SIGN_RSA_PKCS1_SHA256: -- return kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA256; -- case SSL_SIGN_RSA_PKCS1_SHA1: -- return kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA1; -- case SSL_SIGN_RSA_PKCS1_MD5_SHA1: -- return kSecKeyAlgorithmRSASignatureDigestPKCS1v15Raw; -- case SSL_SIGN_ECDSA_SECP521R1_SHA512: -- return kSecKeyAlgorithmECDSASignatureDigestX962SHA512; -- case SSL_SIGN_ECDSA_SECP384R1_SHA384: -- return kSecKeyAlgorithmECDSASignatureDigestX962SHA384; -- case SSL_SIGN_ECDSA_SECP256R1_SHA256: -- return kSecKeyAlgorithmECDSASignatureDigestX962SHA256; -- case SSL_SIGN_ECDSA_SHA1: -- return kSecKeyAlgorithmECDSASignatureDigestX962SHA1; -- } -- -- if (base::mac::IsAtLeastOS10_13()) { -- switch (algorithm) { -- case SSL_SIGN_RSA_PSS_SHA512: -- return kSecKeyAlgorithmRSASignatureDigestPSSSHA512; -- case SSL_SIGN_RSA_PSS_SHA384: -- return kSecKeyAlgorithmRSASignatureDigestPSSSHA384; -- case SSL_SIGN_RSA_PSS_SHA256: -- return kSecKeyAlgorithmRSASignatureDigestPSSSHA256; -- } -- } -- -- return nullptr; --} -- --class API_AVAILABLE(macosx(10.12)) SSLPlatformKeySecKey -- : public ThreadedSSLPrivateKey::Delegate { -- public: -- SSLPlatformKeySecKey(int type, size_t max_length, SecKeyRef key) -- : key_(key, base::scoped_policy::RETAIN) { -- // Determine the algorithms supported by the key. -- for (uint16_t algorithm : SSLPrivateKey::DefaultAlgorithmPreferences( -- type, true /* include PSS */)) { -- SecKeyAlgorithm sec_algorithm = GetSecKeyAlgorithm(algorithm); -- if (sec_algorithm && -- SecKeyIsAlgorithmSupported(key_.get(), kSecKeyOperationTypeSign, -- sec_algorithm)) { -- preferences_.push_back(algorithm); -- } -- } -- } -- -- ~SSLPlatformKeySecKey() override {} -- -- std::vector<uint16_t> GetAlgorithmPreferences() override { -- return preferences_; -- } -- -- Error Sign(uint16_t algorithm, -- base::span<const uint8_t> input, -- std::vector<uint8_t>* signature) override { -- SecKeyAlgorithm sec_algorithm = GetSecKeyAlgorithm(algorithm); -- if (!sec_algorithm) { -- NOTREACHED(); -- return ERR_FAILED; -- } -- -- const EVP_MD* md = SSL_get_signature_algorithm_digest(algorithm); -- uint8_t digest[EVP_MAX_MD_SIZE]; -- unsigned digest_len; -- if (!md || !EVP_Digest(input.data(), input.size(), digest, &digest_len, md, -- nullptr)) { -- return ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED; -- } -- -- base::ScopedCFTypeRef<CFDataRef> digest_ref(CFDataCreateWithBytesNoCopy( -- kCFAllocatorDefault, digest, base::checked_cast<CFIndex>(digest_len), -- kCFAllocatorNull)); -- -- base::ScopedCFTypeRef<CFErrorRef> error; -- base::ScopedCFTypeRef<CFDataRef> signature_ref(SecKeyCreateSignature( -- key_, sec_algorithm, digest_ref, error.InitializeInto())); -- if (!signature_ref) { -- LOG(ERROR) << error; -- return ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED; -- } -- -- signature->assign( -- CFDataGetBytePtr(signature_ref), -- CFDataGetBytePtr(signature_ref) + CFDataGetLength(signature_ref)); -- return OK; -- } -- -- private: -- std::vector<uint16_t> preferences_; -- base::ScopedCFTypeRef<SecKeyRef> key_; -- -- DISALLOW_COPY_AND_ASSIGN(SSLPlatformKeySecKey); --}; -- - scoped_refptr<SSLPrivateKey> CreateSSLPrivateKeyForSecKey( - const X509Certificate* certificate, - SecKeyRef private_key) { -@@ -298,13 +180,6 @@ scoped_refptr<SSLPrivateKey> CreateSSLPrivateKeyForSecKey( - if (!GetClientCertInfo(certificate, &key_type, &max_length)) - return nullptr; - -- if (base::mac::IsAtLeastOS10_12()) { -- return base::MakeRefCounted<ThreadedSSLPrivateKey>( -- std::make_unique<SSLPlatformKeySecKey>(key_type, max_length, -- private_key), -- GetSSLPlatformKeyTaskRunner()); -- } -- - const CSSM_KEY* cssm_key; - OSStatus status = SecKeyGetCSSMKey(private_key, &cssm_key); - if (status != noErr) { diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebkit-darwin-no-qos-classes.patch b/pkgs/development/libraries/qt-5/5.11/qtwebkit-darwin-no-qos-classes.patch deleted file mode 100644 index a7087f51762..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/qtwebkit-darwin-no-qos-classes.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --git a/Source/cmake/OptionsQt.cmake b/Source/cmake/OptionsQt.cmake ---- a/Source/cmake/OptionsQt.cmake -+++ b/Source/cmake/OptionsQt.cmake -@@ -683,7 +683,6 @@ if (WIN32 AND COMPILER_IS_GCC_OR_CLANG) - endif () - - if (APPLE) -- SET_AND_EXPOSE_TO_BUILD(HAVE_QOS_CLASSES 1) - endif () - - if (ENABLE_MATHML) diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebkit-darwin-no-readline.patch b/pkgs/development/libraries/qt-5/5.11/qtwebkit-darwin-no-readline.patch deleted file mode 100644 index 26d189d8601..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/qtwebkit-darwin-no-readline.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff --git a/Source/JavaScriptCore/shell/CMakeLists.txt b/Source/JavaScriptCore/shell/CMakeLists.txt ---- a/Source/JavaScriptCore/shell/CMakeLists.txt -+++ b/Source/JavaScriptCore/shell/CMakeLists.txt -@@ -9,7 +9,6 @@ set(JSC_LIBRARIES - ) - - if (WTF_OS_MAC_OS_X) -- list(APPEND JSC_LIBRARIES edit) - endif () - - if ("${JavaScriptCore_LIBRARY_TYPE}" MATCHES "STATIC") -diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h ---- a/Source/WTF/wtf/Platform.h -+++ b/Source/WTF/wtf/Platform.h -@@ -563,7 +563,6 @@ - #if PLATFORM(IOS) - - #define HAVE_NETWORK_EXTENSION 1 --#define HAVE_READLINE 1 - #if USE(APPLE_INTERNAL_SDK) - #define USE_CFNETWORK 1 - #endif -@@ -650,7 +649,6 @@ - #define HAVE_MADV_DONTNEED 1 - #define HAVE_MERGESORT 1 - #define HAVE_PTHREAD_SETNAME_NP 1 --#define HAVE_READLINE 1 - #define HAVE_SYS_TIMEB_H 1 - - #if !PLATFORM(GTK) && !PLATFORM(QT) -diff --git a/Source/WTF/wtf/PlatformMac.cmake b/Source/WTF/wtf/PlatformMac.cmake ---- a/Source/WTF/wtf/PlatformMac.cmake -+++ b/Source/WTF/wtf/PlatformMac.cmake -@@ -2,11 +2,9 @@ set(WTF_LIBRARY_TYPE SHARED) - - find_library(COCOA_LIBRARY Cocoa) - find_library(COREFOUNDATION_LIBRARY CoreFoundation) --find_library(READLINE_LIBRARY Readline) - list(APPEND WTF_LIBRARIES - ${COREFOUNDATION_LIBRARY} - ${COCOA_LIBRARY} -- ${READLINE_LIBRARY} - libicucore.dylib - ) - diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix index 6d0e241d7a5..d84596bd054 100644 --- a/pkgs/development/libraries/qt-5/5.12/default.nix +++ b/pkgs/development/libraries/qt-5/5.12/default.nix @@ -20,7 +20,7 @@ top-level attribute to `top-level/all-packages.nix`. stdenv, fetchurl, fetchFromGitHub, makeSetupHook, bison, cups ? null, harfbuzz, libGL, perl, gstreamer, gst-plugins-base, gtk3, dconf, - cf-private, + cf-private, llvmPackages_5, # options developerBuild ? false, @@ -51,11 +51,7 @@ let patches = { qtbase = [ ./qtbase.patch - ./qtbase-darwin.patch - ./qtbase-revert-no-macos10.10.patch ./qtbase-fixguicmake.patch - ] ++ optionals stdenv.isDarwin [ - ./qtbase-darwin-nseventtype.patch ]; qtdeclarative = [ ./qtdeclarative.patch ]; qtscript = [ ./qtscript.patch ]; @@ -73,8 +69,10 @@ let }; mkDerivation = - import ../mkDerivation.nix - { inherit stdenv; inherit (stdenv) lib; } + import ../mkDerivation.nix { + inherit (stdenv) lib; + stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv; + } { inherit debug; }; qtModule = diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase-darwin-nseventtype.patch b/pkgs/development/libraries/qt-5/5.12/qtbase-darwin-nseventtype.patch deleted file mode 100644 index 9ef6e8ef069..00000000000 --- a/pkgs/development/libraries/qt-5/5.12/qtbase-darwin-nseventtype.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/src/plugins/platforms/cocoa/qcocoawindow.mm -+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm -@@ -404,8 +404,8 @@ void QCocoaWindow::setVisible(bool visible) - removeMonitor(); - monitor = [NSEvent addGlobalMonitorForEventsMatchingMask:NSLeftMouseDownMask|NSRightMouseDownMask|NSOtherMouseDownMask|NSMouseMovedMask handler:^(NSEvent *e) { - QPointF localPoint = QCocoaScreen::mapFromNative([NSEvent mouseLocation]); -- const auto button = e.type == NSEventTypeMouseMoved ? Qt::NoButton : cocoaButton2QtButton([e buttonNumber]); -- const auto eventType = e.type == NSEventTypeMouseMoved ? QEvent::MouseMove : QEvent::MouseButtonPress; -+ const auto button = e.type == NSMouseMoved ? Qt::NoButton : cocoaButton2QtButton([e buttonNumber]); -+ const auto eventType = e.type == NSMouseMoved ? QEvent::MouseMove : QEvent::MouseButtonPress; - QWindowSystemInterface::handleMouseEvent(window(), window()->mapFromGlobal(localPoint.toPoint()), localPoint, - Qt::MouseButtons(uint(NSEvent.pressedMouseButtons & 0xFFFF)), button, eventType); - }]; diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase-darwin.patch b/pkgs/development/libraries/qt-5/5.12/qtbase-darwin.patch deleted file mode 100644 index 7ce27a99758..00000000000 --- a/pkgs/development/libraries/qt-5/5.12/qtbase-darwin.patch +++ /dev/null @@ -1,70 +0,0 @@ -diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm -index c3dd49ff3e..6871399817 100644 ---- a/src/plugins/bearer/corewlan/qcorewlanengine.mm -+++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm -@@ -283,7 +283,7 @@ void QScanThread::getUserConfigurations() - QMacAutoReleasePool pool; - userProfiles.clear(); - -- NSArray<NSString *> *wifiInterfaces = [CWWiFiClient interfaceNames]; -+ NSArray *wifiInterfaces = [CWWiFiClient interfaceNames]; - for (NSString *ifName in wifiInterfaces) { - - CWInterface *wifiInterface = [[CWWiFiClient sharedWiFiClient] interfaceWithName:ifName]; -@@ -598,7 +598,7 @@ void QCoreWlanEngine::doRequestUpdate() - - QMacAutoReleasePool pool; - -- NSArray<NSString *> *wifiInterfaces = [CWWiFiClient interfaceNames]; -+ NSArray *wifiInterfaces = [CWWiFiClient interfaceNames]; - for (NSString *ifName in wifiInterfaces) { - scanThread->interfaceName = QString::fromNSString(ifName); - scanThread->start(); -diff --git a/src/plugins/platforms/cocoa/qcocoascreen.mm b/src/plugins/platforms/cocoa/qcocoascreen.mm -index afe14e623c..74d69c2fa1 100644 ---- a/src/plugins/platforms/cocoa/qcocoascreen.mm -+++ b/src/plugins/platforms/cocoa/qcocoascreen.mm -@@ -127,7 +127,7 @@ void QCocoaScreen::updateProperties() - const qreal previousRefreshRate = m_refreshRate; - - // The reference screen for the geometry is always the primary screen -- QRectF primaryScreenGeometry = QRectF::fromCGRect([[NSScreen screens] firstObject].frame); -+ QRectF primaryScreenGeometry = QRectF::fromCGRect([[[NSScreen screens] firstObject] frame]); - m_geometry = qt_mac_flip(QRectF::fromCGRect(nsScreen.frame), primaryScreenGeometry).toRect(); - m_availableGeometry = qt_mac_flip(QRectF::fromCGRect(nsScreen.visibleFrame), primaryScreenGeometry).toRect(); - -diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm -index df1ad82592..0318a4ff96 100644 ---- a/src/plugins/platforms/cocoa/qcocoawindow.mm -+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm -@@ -1704,7 +1704,7 @@ void QCocoaWindow::applyContentBorderThickness(NSWindow *window) - - if (!m_drawContentBorderGradient) { - window.styleMask = window.styleMask & ~NSWindowStyleMaskTexturedBackground; -- [window.contentView.superview setNeedsDisplay:YES]; -+ [[window.contentView superview] setNeedsDisplay:YES]; - window.titlebarAppearsTransparent = NO; - return; - } -diff --git a/src/plugins/platforms/cocoa/qnswindow.mm b/src/plugins/platforms/cocoa/qnswindow.mm -index c17ad47aba..a0f1dd38fb 100644 ---- a/src/plugins/platforms/cocoa/qnswindow.mm -+++ b/src/plugins/platforms/cocoa/qnswindow.mm -@@ -230,7 +230,7 @@ static bool isMouseEvent(NSEvent *ev) - if (pw->frameStrutEventsEnabled() && isMouseEvent(theEvent)) { - NSPoint loc = [theEvent locationInWindow]; - NSRect windowFrame = [self convertRectFromScreen:self.frame]; -- NSRect contentFrame = self.contentView.frame; -+ NSRect contentFrame = [self.contentView frame]; - if (NSMouseInRect(loc, windowFrame, NO) && !NSMouseInRect(loc, contentFrame, NO)) - [qnsview_cast(pw->view()) handleFrameStrutMouseEvent:theEvent]; - } -@@ -257,7 +257,7 @@ static bool isMouseEvent(NSEvent *ev) - + (void)applicationActivationChanged:(NSNotification*)notification - { - const id sender = self; -- NSEnumerator<NSWindow*> *windowEnumerator = nullptr; -+ NSEnumerator *windowEnumerator = nullptr; - NSApplication *application = [NSApplication sharedApplication]; - - // Unfortunately there's no NSWindowListOrderedBackToFront, diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase-revert-no-macos10.10.patch b/pkgs/development/libraries/qt-5/5.12/qtbase-revert-no-macos10.10.patch deleted file mode 100644 index 29776518379..00000000000 --- a/pkgs/development/libraries/qt-5/5.12/qtbase-revert-no-macos10.10.patch +++ /dev/null @@ -1,102 +0,0 @@ -Revert "Remove code paths for macOS < 10.11" - -This reverts commit 138a65e0cfa80b13fd018a01e7d8b33341a3cfd3. - -From 138a65e0cfa80b13fd018a01e7d8b33341a3cfd3 Mon Sep 17 00:00:00 2001 -From: Jake Petroules <jake.petroules@qt.io> -Date: Thu, 8 Feb 2018 11:05:42 -0800 -Subject: [PATCH] Remove code paths for macOS < 10.11 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Change-Id: I5ae02d88aa3dcd97d1f2ebf6255a68643e5d6daa -Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> -Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io> -Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> ---- - .../fontdatabases/mac/qfontengine_coretext.mm | 16 +++------------- - src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm | 6 +----- - src/plugins/platforms/cocoa/qnswindowdelegate.mm | 16 ---------------- - 3 files changed, 4 insertions(+), 34 deletions(-) - -diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm -index 98b753eff9..489d9cd031 100644 ---- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm -+++ b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm -@@ -47,18 +47,28 @@ - - #include <cmath> - --#if defined(Q_OS_MACOS) -+#if defined(Q_OS_OSX) && !QT_OSX_DEPLOYMENT_TARGET_BELOW(__MAC_10_11) - #import <AppKit/AppKit.h> - #endif - --#if defined(QT_PLATFORM_UIKIT) -+#if defined(QT_PLATFORM_UIKIT) && !QT_IOS_DEPLOYMENT_TARGET_BELOW(__IPHONE_8_2) - #import <UIKit/UIKit.h> - #endif - - // These are available cross platform, exported as kCTFontWeightXXX from CoreText.framework, - // but they are not documented and are not in public headers so are private API and exposed - // only through the NSFontWeightXXX and UIFontWeightXXX aliases in AppKit and UIKit (rdar://26109857) --#if defined(Q_OS_MACOS) -+#if QT_MAC_DEPLOYMENT_TARGET_BELOW(__MAC_10_11, __IPHONE_8_2) -+#define kCTFontWeightUltraLight -0.8 -+#define kCTFontWeightThin -0.6 -+#define kCTFontWeightLight -0.4 -+#define kCTFontWeightRegular 0 -+#define kCTFontWeightMedium 0.23 -+#define kCTFontWeightSemibold 0.3 -+#define kCTFontWeightBold 0.4 -+#define kCTFontWeightHeavy 0.56 -+#define kCTFontWeightBlack 0.62 -+#elif defined(Q_OS_OSX) - #define kCTFontWeightUltraLight NSFontWeightUltraLight - #define kCTFontWeightThin NSFontWeightThin - #define kCTFontWeightLight NSFontWeightLight -diff --git a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm -index 94f2125bad..272cd9f3dc 100644 ---- a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm -+++ b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm -@@ -162,7 +162,11 @@ QT_NAMESPACE_ALIAS_OBJC_CLASS(QNSOpenSavePanelDelegate); - // resetting our mCurrentDir, set the delegate - // here to make sure it gets the correct value. - [mSavePanel setDelegate:self]; -- mOpenPanel.accessoryViewDisclosed = YES; -+ -+#if QT_OSX_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_11) -+ if (__builtin_available(macOS 10.11, *)) -+ mOpenPanel.accessoryViewDisclosed = YES; -+#endif - - if (mOptions->isLabelExplicitlySet(QFileDialogOptions::Accept)) - [mSavePanel setPrompt:[self strip:options->labelText(QFileDialogOptions::Accept)]]; -diff --git a/src/plugins/platforms/cocoa/qnswindowdelegate.mm b/src/plugins/platforms/cocoa/qnswindowdelegate.mm -index 057a4c2943..eb55e50622 100644 ---- a/src/plugins/platforms/cocoa/qnswindowdelegate.mm -+++ b/src/plugins/platforms/cocoa/qnswindowdelegate.mm -@@ -103,6 +103,22 @@ static QRegExp whitespaceRegex = QRegExp(QStringLiteral("\\s*")); - return QCocoaScreen::mapToNative(maximizedFrame); - } - -+#if QT_MACOS_DEPLOYMENT_TARGET_BELOW(__MAC_10_11) -+/* -+ AppKit on OS X 10.10 wrongly calls windowWillUseStandardFrame:defaultFrame -+ from -[NSWindow _frameForFullScreenMode] when going into fullscreen, resulting -+ in black bars on top and bottom of the window. By implementing the following -+ method, AppKit will choose that instead, and resolve the right fullscreen -+ geometry. -+*/ -+- (NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize -+{ -+ Q_UNUSED(proposedSize); -+ Q_ASSERT(window == m_cocoaWindow->nativeWindow()); -+ return NSSizeFromCGSize(m_cocoaWindow->screen()->geometry().size().toCGSize()); -+} -+#endif -+ - - (BOOL)window:(NSWindow *)window shouldPopUpDocumentPathMenu:(NSMenu *)menu - { - Q_UNUSED(window); diff --git a/pkgs/development/libraries/qt-5/5.9/default.nix b/pkgs/development/libraries/qt-5/5.9/default.nix index be84691e6c3..d1e9af29926 100644 --- a/pkgs/development/libraries/qt-5/5.9/default.nix +++ b/pkgs/development/libraries/qt-5/5.9/default.nix @@ -38,7 +38,7 @@ let srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; }; patches = { - qtbase = [ ./qtbase.patch ./qtbase-fixguicmake.patch ] ++ optional stdenv.isDarwin ./qtbase-darwin.patch; + qtbase = [ ./qtbase.patch ./qtbase-fixguicmake.patch ]; qtdeclarative = [ ./qtdeclarative.patch ]; qtscript = [ ./qtscript.patch ]; qtserialport = [ ./qtserialport.patch ]; diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase-darwin.patch b/pkgs/development/libraries/qt-5/5.9/qtbase-darwin.patch deleted file mode 100644 index 875fba12e2f..00000000000 --- a/pkgs/development/libraries/qt-5/5.9/qtbase-darwin.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm -index 341d3bc..3368234 100644 ---- a/src/plugins/bearer/corewlan/qcorewlanengine.mm -+++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm -@@ -287,7 +287,7 @@ void QScanThread::getUserConfigurations() - QMacAutoReleasePool pool; - userProfiles.clear(); - -- NSArray<NSString *> *wifiInterfaces = [CWWiFiClient interfaceNames]; -+ NSArray *wifiInterfaces = [CWWiFiClient interfaceNames]; - for (NSString *ifName in wifiInterfaces) { - - CWInterface *wifiInterface = [[CWWiFiClient sharedWiFiClient] interfaceWithName:ifName]; -@@ -602,7 +602,7 @@ void QCoreWlanEngine::doRequestUpdate() - - QMacAutoReleasePool pool; - -- NSArray<NSString *> *wifiInterfaces = [CWWiFiClient interfaceNames]; -+ NSArray *wifiInterfaces = [CWWiFiClient interfaceNames]; - for (NSString *ifName in wifiInterfaces) { - scanThread->interfaceName = QString::fromNSString(ifName); - scanThread->start(); -diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm -index 5cd4beb..84919e6 100644 ---- a/src/plugins/platforms/cocoa/qcocoawindow.mm -+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm -@@ -320,7 +320,7 @@ static void qt_closePopups() - + (void)applicationActivationChanged:(NSNotification*)notification - { - const id sender = self; -- NSEnumerator<NSWindow*> *windowEnumerator = nullptr; -+ NSEnumerator *windowEnumerator = nullptr; - NSApplication *application = [NSApplication sharedApplication]; - - #if QT_MACOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_12) diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix index 71d27c33a92..bd92d9bc27c 100644 --- a/pkgs/development/libraries/qt-5/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix @@ -2,7 +2,7 @@ stdenv, lib, src, patches, version, qtCompatVersion, - coreutils, bison, flex, gdb, gperf, lndir, patchelf, perl, pkgconfig, python2, + coreutils, bison, flex, gdb, gperf, lndir, perl, pkgconfig, python2, which, # darwin support darwin, libiconv, @@ -78,17 +78,15 @@ stdenv.mkDerivation { [ libinput ] ++ lib.optional withGtk3 gtk3 ) - ++ lib.optional stdenv.isDarwin - # Needed for OBJC_CLASS_$_NSDate symbols. - [ darwin.cf-private ] + # Needed for OBJC_CLASS_$_NSDate symbols. + ++ lib.optional stdenv.isDarwin darwin.cf-private ++ lib.optional developerBuild gdb ++ lib.optional (cups != null) cups ++ lib.optional (mysql != null) mysql.connector-c ++ lib.optional (postgresql != null) postgresql; nativeBuildInputs = - [ bison flex gperf lndir perl pkgconfig python2 which ] - ++ lib.optional (!stdenv.isDarwin) patchelf; + [ bison flex gperf lndir perl pkgconfig python2 which ]; propagatedNativeBuildInputs = [ lndir ]; @@ -199,26 +197,11 @@ stdenv.mkDerivation { ''-DNIXPKGS_LIBXCURSOR="${libXcursor.out}/lib/libXcursor"'' ] - ++ ( - if stdenv.isDarwin - then - [ - "-Wno-missing-sysroot" - "-D__MAC_OS_X_VERSION_MAX_ALLOWED=1090" - "-D__AVAILABILITY_INTERNAL__MAC_10_10=__attribute__((availability(macosx,introduced=10.10)))" - # Note that nixpkgs's objc4 is from macOS 10.11 while the SDK is - # 10.9 which necessitates the above macro definition that mentions - # 10.10 - ] - else - lib.optional libGLSupported ''-DNIXPKGS_MESA_GL="${libGL.out}/lib/libGL"'' - ++ lib.optionals withGtk3 - [ - ''-DNIXPKGS_QGTK3_XDG_DATA_DIRS="${gtk3}/share/gsettings-schemas/${gtk3.name}"'' - ''-DNIXPKGS_QGTK3_GIO_EXTRA_MODULES="${dconf.lib}/lib/gio/modules"'' - ] - ) - + ++ lib.optional libGLSupported ''-DNIXPKGS_MESA_GL="${libGL.out}/lib/libGL"'' + ++ lib.optionals withGtk3 [ + ''-DNIXPKGS_QGTK3_XDG_DATA_DIRS="${gtk3}/share/gsettings-schemas/${gtk3.name}"'' + ''-DNIXPKGS_QGTK3_GIO_EXTRA_MODULES="${dconf.lib}/lib/gio/modules"'' + ] ++ lib.optional decryptSslTraffic "-DQT_DECRYPT_SSL_TRAFFIC"; prefixKey = "-prefix "; @@ -395,6 +378,7 @@ stdenv.mkDerivation { license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ]; maintainers = with maintainers; [ qknight ttuegel periklis bkchr ]; platforms = platforms.unix; + broken = stdenv.isDarwin && (compareVersion "5.9.0" < 0); }; } diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix index af580401887..86897cb3f16 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix @@ -79,7 +79,7 @@ qtModule { cat <<EOF > src/3rdparty/chromium/build/mac/find_sdk.py #!/usr/bin/env python print("${darwin.apple_sdk.sdk}") -print("10.10.0") +print("10.12.0") EOF cat <<EOF > src/3rdparty/chromium/build/config/mac/sdk_info.py |