diff options
Diffstat (limited to 'pkgs/development/libraries/qt-5/modules/qtwebengine.nix')
-rw-r--r-- | pkgs/development/libraries/qt-5/modules/qtwebengine.nix | 49 |
1 files changed, 12 insertions, 37 deletions
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix index ddb82832337..07fd048d653 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix @@ -33,6 +33,9 @@ qtModule { enableParallelBuilding = true; + # Don’t use the gn setup hook + dontUseGnConfigure = true; + # ninja builds some components with -Wno-format, # which cannot be set at the same time as -Wformat-security hardeningDisable = [ "format" ]; @@ -67,39 +70,19 @@ qtModule { src/3rdparty/chromium/gpu/config/gpu_info_collector_linux.cc '' + optionalString stdenv.isDarwin ('' - # Remove annoying xcode check - substituteInPlace mkspecs/features/platform.prf \ - --replace "lessThan(QMAKE_XCODE_VERSION, 7.3)" false \ - --replace "/usr/bin/xcodebuild" "xcodebuild" - - substituteInPlace src/3rdparty/chromium/build/mac_toolchain.py \ - --replace "/usr/bin/xcode-select" "xcode-select" - substituteInPlace src/core/config/mac_osx.pri \ - --replace /usr ${stdenv.cc} \ - --replace "isEmpty(QMAKE_MAC_SDK_VERSION)" false - + --replace /usr ${stdenv.cc} '' - # TODO remove when new Apple SDK is in - + (if lib.versionOlder qtCompatVersion "5.11" then '' - substituteInPlace src/3rdparty/chromium/base/mac/foundation_util.mm \ - --replace "NSArray<NSString*>*" "NSArray*" - substituteInPlace src/3rdparty/chromium/base/mac/sdk_forward_declarations.h \ - --replace "NSDictionary<VNImageOption, id>*" "NSDictionary*" \ - --replace "NSArray<VNRequest*>*" "NSArray*" \ - --replace "typedef NSString* VNImageOption NS_STRING_ENUM" "typedef NSString* VNImageOption" - '' else '' - substituteInPlace src/3rdparty/chromium/third_party/webrtc/sdk/objc/Framework/Classes/Common/RTCFieldTrials.mm \ - --replace "NSDictionary<NSString *, NSString *> *" "NSDictionary*" - substituteInPlace src/3rdparty/chromium/third_party/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFieldTrials.h \ - --replace "NSDictionary<NSString *, NSString *> *" "NSDictionary*" + + (optionalString (lib.versionAtLeast qtCompatVersion "5.11") '' + substituteInPlace src/3rdparty/chromium/third_party/crashpad/crashpad/util/BUILD.gn \ + --replace '$sysroot/usr' "${darwin.xnu}" '') + '' 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 @@ -114,9 +97,6 @@ print('sdk_platform_path=""') print('sdk_build="17B41"') EOF - substituteInPlace src/3rdparty/chromium/third_party/crashpad/crashpad/util/BUILD.gn \ - --replace '$sysroot/usr' "${darwin.xnu}" - # Apple has some secret stuff they don't share with OpenBSM substituteInPlace src/3rdparty/chromium/base/mac/mach_port_broker.mm \ --replace "audit_token_to_pid(msg.trailer.msgh_audit)" "msg.trailer.msgh_audit.val[5]" @@ -126,7 +106,10 @@ EOF ''); NIX_CFLAGS_COMPILE = - lib.optionalString stdenv.isDarwin [ + # it fails when compiled with -march=sandybridge https://github.com/NixOS/nixpkgs/pull/59148#discussion_r276696940 + # TODO: investigate and fix properly + lib.optionals (stdenv.hostPlatform.platform.gcc.arch or "" == "sandybridge") [ "-march=westmere" ] ++ + lib.optionals stdenv.isDarwin [ "-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_10" "-DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_10" @@ -217,14 +200,6 @@ EOF (runCommand "MacOS_SDK_sandbox.h" {} '' install -Dm444 "${lib.getDev darwin.apple_sdk.sdk}"/include/sandbox.h "$out"/include/sandbox.h '') - - # For: - # _NSDefaultRunLoopMode - # _OBJC_CLASS_$_NSDate - # _OBJC_CLASS_$_NSDictionary - # _OBJC_CLASS_$_NSRunLoop - # _OBJC_CLASS_$_NSURL - darwin.cf-private ]); __impureHostDeps = optional stdenv.isDarwin "/usr/lib/libsandbox.1.dylib"; |