mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-28 01:43:15 +00:00
Merge pull request #63707 from matthewbauer/fix-63043
Qt5 + Darwin fixes
This commit is contained in:
commit
e49729f9b1
@ -69,3 +69,18 @@ index 4318b16f..d60db4ff 100644
|
||||
_qt5_LinguistTools_check_file_exists(${imported_location})
|
||||
|
||||
set_target_properties(Qt5::lconvert PROPERTIES
|
||||
--- a/src/macdeployqt/shared/shared.cpp
|
||||
+++ b/src/macdeployqt/shared/shared.cpp
|
||||
@@ -1241,6 +1241,12 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
|
||||
if (!QFile(qmlImportScannerPath).exists())
|
||||
qmlImportScannerPath = QCoreApplication::applicationDirPath() + "/qmlimportscanner";
|
||||
|
||||
+#ifdef NIXPKGS_QMLIMPORTSCANNER
|
||||
+ // Fallback: Nixpkgs hardcoded path
|
||||
+ if (!QFile(qmlImportScannerPath).exists())
|
||||
+ qmlImportScannerPath = NIXPKGS_QMLIMPORTSCANNER;
|
||||
+#endif
|
||||
+
|
||||
// Verify that we found a qmlimportscanner binary
|
||||
if (!QFile(qmlImportScannerPath).exists()) {
|
||||
LogError() << "qmlimportscanner not found at" << qmlImportScannerPath;
|
||||
|
@ -66,6 +66,7 @@ let
|
||||
./qtwebkit-darwin-no-readline.patch
|
||||
./qtwebkit-darwin-no-qos-classes.patch
|
||||
];
|
||||
qttools = [ ./qttools.patch ];
|
||||
};
|
||||
|
||||
mkDerivation =
|
||||
|
@ -1094,3 +1094,63 @@ index 99d87e2e46..a4eab2aa72 100644
|
||||
!!ELSE
|
||||
set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
|
||||
!!ENDIF
|
||||
diff --git a/src/corelib/kernel/qcore_mac_p.h b/src/corelib/kernel/qcore_mac_p.h
|
||||
index b14a494296..779c4eda95 100644
|
||||
--- a/src/corelib/kernel/qcore_mac_p.h
|
||||
+++ b/src/corelib/kernel/qcore_mac_p.h
|
||||
@@ -211,7 +211,7 @@ private:
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
-#if !defined(QT_BOOTSTRAPPED)
|
||||
+#if 0
|
||||
|
||||
QT_END_NAMESPACE
|
||||
#include <os/activity.h>
|
||||
@@ -289,7 +289,19 @@ QT_MAC_WEAK_IMPORT(_os_activity_current);
|
||||
|
||||
#define QT_APPLE_SCOPED_LOG_ACTIVITY(...) QAppleLogActivity scopedLogActivity = QT_APPLE_LOG_ACTIVITY(__VA_ARGS__).enter();
|
||||
|
||||
-#endif // !defined(QT_BOOTSTRAPPED)
|
||||
+#else // !defined(QT_BOOTSTRAPPED)
|
||||
+
|
||||
+#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT3(...)
|
||||
+#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT2(...)
|
||||
+#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT(...)
|
||||
+
|
||||
+#define QT_APPLE_LOG_ACTIVITY2(...)
|
||||
+#define QT_APPLE_LOG_ACTIVITY1(...)
|
||||
+#define QT_APPLE_LOG_ACTIVITY(...)
|
||||
+
|
||||
+#define QT_APPLE_SCOPED_LOG_ACTIVITY(...)
|
||||
+
|
||||
+#endif
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
diff --git a/src/testlib/qappletestlogger.cpp b/src/testlib/qappletestlogger.cpp
|
||||
index 2c1005ad80..244147ea7d 100644
|
||||
--- a/src/testlib/qappletestlogger.cpp
|
||||
+++ b/src/testlib/qappletestlogger.cpp
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
|
||||
+#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
|
||||
|
||||
using namespace QTestPrivate;
|
||||
|
||||
diff --git a/src/testlib/qtestlog.cpp b/src/testlib/qtestlog.cpp
|
||||
index 1268730cc6..a50e9b0764 100644
|
||||
--- a/src/testlib/qtestlog.cpp
|
||||
+++ b/src/testlib/qtestlog.cpp
|
||||
@@ -524,7 +524,7 @@ void QTestLog::addLogger(LogMode mode, const char *filename)
|
||||
#endif
|
||||
}
|
||||
|
||||
-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
|
||||
+#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
|
||||
// Logger that also feeds messages to AUL. It needs to wrap the existing
|
||||
// logger, as it needs to be able to short circuit the existing logger
|
||||
// in case AUL prints to stderr.
|
||||
|
15
pkgs/development/libraries/qt-5/5.12/qttools.patch
Normal file
15
pkgs/development/libraries/qt-5/5.12/qttools.patch
Normal file
@ -0,0 +1,15 @@
|
||||
--- a/src/macdeployqt/shared/shared.cpp
|
||||
+++ b/src/macdeployqt/shared/shared.cpp
|
||||
@@ -1241,6 +1241,12 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
|
||||
if (!QFile(qmlImportScannerPath).exists())
|
||||
qmlImportScannerPath = QCoreApplication::applicationDirPath() + "/qmlimportscanner";
|
||||
|
||||
+#ifdef NIXPKGS_QMLIMPORTSCANNER
|
||||
+ // Fallback: Nixpkgs hardcoded path
|
||||
+ if (!QFile(qmlImportScannerPath).exists())
|
||||
+ qmlImportScannerPath = NIXPKGS_QMLIMPORTSCANNER;
|
||||
+#endif
|
||||
+
|
||||
// Verify that we found a qmlimportscanner binary
|
||||
if (!QFile(qmlImportScannerPath).exists()) {
|
||||
LogError() << "qmlimportscanner not found at" << qmlImportScannerPath;
|
@ -56,7 +56,7 @@ stdenv.mkDerivation {
|
||||
# TODO: move to buildInputs, this should not be propagated.
|
||||
AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
|
||||
CoreLocation CoreServices DiskArbitration Foundation OpenGL
|
||||
darwin.libobjc libiconv
|
||||
darwin.libobjc libiconv MetalKit
|
||||
]
|
||||
else
|
||||
[
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ qtModule, stdenv, lib, qtbase }:
|
||||
{ qtModule, stdenv, lib, qtbase, qtdeclarative }:
|
||||
|
||||
with lib;
|
||||
|
||||
@ -32,5 +32,8 @@ qtModule {
|
||||
"bin/macdeployqt"
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE =
|
||||
lib.optional stdenv.isDarwin ''-DNIXPKGS_QMLIMPORTSCANNER="${qtdeclarative.dev}/bin/qmlimportscanner"'';
|
||||
|
||||
setupHook = ../hooks/qttools-setup-hook.sh;
|
||||
}
|
||||
|
@ -211,6 +211,13 @@ in rec {
|
||||
--replace "QuartzCore/../Frameworks/CoreImage.framework/Headers" "CoreImage"
|
||||
'';
|
||||
});
|
||||
|
||||
MetalKit = stdenv.lib.overrideDerivation super.MetalKit (drv: {
|
||||
installPhase = drv.installPhase + ''
|
||||
mkdir -p $out/include/simd
|
||||
cp ${lib.getDev sdk}/include/simd/*.h $out/include/simd/
|
||||
'';
|
||||
});
|
||||
};
|
||||
|
||||
bareFrameworks = stdenv.lib.mapAttrs framework (import ./frameworks.nix {
|
||||
|
@ -74,6 +74,8 @@ with frameworks; with libs; {
|
||||
MediaAccessibility = [ CF CoreGraphics CoreText QuartzCore ];
|
||||
MediaToolbox = [ AudioToolbox AudioUnit CF CoreMedia ];
|
||||
Metal = [];
|
||||
MetalKit = [ ModelIO Metal ];
|
||||
ModelIO = [ ];
|
||||
NetFS = [ CF ];
|
||||
OSAKit = [ Carbon ];
|
||||
OpenAL = [];
|
||||
|
@ -12828,8 +12828,7 @@ in
|
||||
|
||||
libsForQt512 = recurseIntoAttrs (lib.makeScope qt512.newScope mkLibsForQt5);
|
||||
|
||||
# TODO bump to 5.12 on darwin once it's not broken
|
||||
qt5 = if stdenv.isDarwin then qt511 else qt512;
|
||||
qt5 = qt512;
|
||||
libsForQt5 = if stdenv.isDarwin then libsForQt511 else libsForQt512;
|
||||
|
||||
qt5ct = libsForQt5.callPackage ../tools/misc/qt5ct { };
|
||||
|
Loading…
Reference in New Issue
Block a user