Unverified Commit 4bb131ec authored by Randy Eckenrode's avatar Randy Eckenrode
Browse files

qt5: build Qt 5 modules with the 14.4 SDK

This change ensures all Qt modules build with the latest SDK.
parent 578b04cd
Loading
Loading
Loading
Loading
+6 −27
Original line number Diff line number Diff line
@@ -250,23 +250,15 @@ let
        inherit bison cups harfbuzz libGL;
        withGtk3 = !stdenv.hostPlatform.isDarwin; inherit dconf gtk3;
        inherit developerBuild decryptSslTraffic;
        inherit (darwin.apple_sdk_11_0.frameworks) AGL AppKit ApplicationServices AVFoundation Carbon Cocoa CoreAudio CoreBluetooth
          CoreLocation CoreServices DiskArbitration Foundation OpenGL MetalKit IOKit;
        libobjc = darwin.apple_sdk_11_0.objc4;
        xcbuild = darwin.apple_sdk_11_0.xcodebuild;
      };

      qt3d = callPackage ../modules/qt3d.nix {};
      qtcharts = callPackage ../modules/qtcharts.nix {};
      qtconnectivity = callPackage ../modules/qtconnectivity.nix {
        inherit (darwin.apple_sdk_11_0.frameworks) IOBluetooth;
      };
      qtconnectivity = callPackage ../modules/qtconnectivity.nix { };
      qtdatavis3d = callPackage ../modules/qtdatavis3d.nix {};
      qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
      qtdoc = callPackage ../modules/qtdoc.nix {};
      qtgamepad = callPackage ../modules/qtgamepad.nix {
        inherit (darwin.apple_sdk_11_0.frameworks) GameController;
      };
      qtgamepad = callPackage ../modules/qtgamepad.nix { };
      qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {};
      qtimageformats = callPackage ../modules/qtimageformats.nix {};
      qtlocation = callPackage ../modules/qtlocation.nix {};
@@ -278,9 +270,7 @@ let
      qtnetworkauth = callPackage ../modules/qtnetworkauth.nix {};
      qtpim = callPackage ../modules/qtpim.nix {};
      qtpositioning = callPackage ../modules/qtpositioning.nix {};
      qtpurchasing = callPackage ../modules/qtpurchasing.nix {
        inherit (darwin.apple_sdk_11_0.frameworks) Foundation StoreKit;
      };
      qtpurchasing = callPackage ../modules/qtpurchasing.nix { };
      qtquick1 = null;
      qtquick3d = callPackage ../modules/qtquick3d.nix { };
      qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {};
@@ -313,24 +303,13 @@ let
          let stdenv' = if stdenv.cc.isClang then overrideLibcxx llvmPackages_15.stdenv else stdenv;
          in if stdenv'.hostPlatform.isDarwin then overrideSDK stdenv' "11.0" else stdenv';
        inherit (srcs.qtwebengine) version;
        inherit (darwin) bootstrap_cmds;
        python = python3;
        inherit (darwin) xnu;
        inherit (darwin.apple_sdk_11_0) libpm libunwind;
        inherit (darwin.apple_sdk_11_0.libs) sandbox;
        inherit (darwin.apple_sdk_11_0.frameworks) ApplicationServices AVFoundation Foundation ForceFeedback GameController AppKit
          ImageCaptureCore CoreBluetooth IOBluetooth CoreWLAN Quartz Cocoa LocalAuthentication
          MediaPlayer MediaAccessibility SecurityInterface Vision CoreML OpenDirectory Accelerate;
        libobjc = darwin.apple_sdk_11_0.objc4;
      };
      qtwebglplugin = callPackage ../modules/qtwebglplugin.nix {};
      qtwebkit = callPackage ../modules/qtwebkit.nix {
        inherit (darwin) ICU;
        inherit (darwin.apple_sdk_11_0.frameworks) OpenGL;
      };
      qtwebkit = callPackage ../modules/qtwebkit.nix { };
      qtwebsockets = callPackage ../modules/qtwebsockets.nix {};
      qtwebview = callPackage ../modules/qtwebview.nix {
        inherit (darwin.apple_sdk_11_0.frameworks) CoreFoundation WebKit;
      };
      qtwebview = callPackage ../modules/qtwebview.nix { };
      qtx11extras = callPackage ../modules/qtx11extras.nix {};
      qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};

+1 −3
Original line number Diff line number Diff line
{ qtModule, lib, stdenv, qtbase, qtdeclarative, bluez, IOBluetooth }:
{ qtModule, lib, stdenv, qtbase, qtdeclarative, bluez }:

qtModule {
  pname = "qtconnectivity";
@@ -6,8 +6,6 @@ qtModule {
  propagatedBuildInputs = [
    qtbase
    qtdeclarative
  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
    IOBluetooth
  ];
  outputs = [ "out" "dev" "bin" ];
}
+2 −3
Original line number Diff line number Diff line
{ lib, stdenv, qtModule, qtbase, qtdeclarative, GameController, pkg-config }:
{ qtModule, qtbase, qtdeclarative, pkg-config }:

qtModule {
  pname = "qtgamepad";
  propagatedBuildInputs = [ qtbase qtdeclarative ]
    ++ lib.optional stdenv.hostPlatform.isDarwin GameController;
  propagatedBuildInputs = [ qtbase qtdeclarative ];
  nativeBuildInputs = [ pkg-config ];
  outputs = [ "out" "dev" "bin" ];
}
+1 −9
Original line number Diff line number Diff line
{ stdenv
, lib
, qtModule
, qtbase
, qtdeclarative
, StoreKit
, Foundation
}:
{ qtModule, qtbase, qtdeclarative }:

qtModule {
  pname = "qtpurchasing";
  propagatedBuildInputs = [ qtbase qtdeclarative ];
  buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Foundation StoreKit ];
}
+3 −53
Original line number Diff line number Diff line
@@ -20,11 +20,7 @@
, systemd
, enableProprietaryCodecs ? true
, gn
, cctools, libobjc, libpm, libunwind, sandbox, xnu
, ApplicationServices, AVFoundation, Foundation, ForceFeedback, GameController, AppKit
, ImageCaptureCore, CoreBluetooth, IOBluetooth, CoreWLAN, Quartz, Cocoa, LocalAuthentication
, MediaPlayer, MediaAccessibility, SecurityInterface, Vision, CoreML, OpenDirectory, Accelerate
, cups, openbsm, xcbuild, writeScriptBin
, cctools, cups, bootstrap_cmds, xcbuild, writeScriptBin
, ffmpeg ? null
, lib, stdenv
, version ? null
@@ -65,7 +61,7 @@ qtModule ({
    pkgsBuildBuild.pkg-config
    (lib.getDev pkgsBuildTarget.targetPackages.qt5.qtquickcontrols)
    pkg-config-wrapped-without-prefix
  ] ++ lib.optional stdenv.hostPlatform.isDarwin xcbuild;
  ] ++ lib.optional stdenv.hostPlatform.isDarwin [ bootstrap_cmds xcbuild ];
  doCheck = true;
  outputs = [ "bin" "dev" "out" ];

@@ -158,22 +154,6 @@ qtModule ({
    substituteInPlace src/buildtools/config/mac_osx.pri \
      --replace 'QMAKE_CLANG_DIR = "/usr"' 'QMAKE_CLANG_DIR = "${stdenv.cc}"'

    # Following is required to prevent a build error:
    # ninja: error: '/nix/store/z8z04p0ph48w22rqzx7ql67gy8cyvidi-SDKs/MacOSX10.12.sdk/usr/include/mach/exc.defs', needed by 'gen/third_party/crashpad/crashpad/util/mach/excUser.c', missing and no known rule to make it
    substituteInPlace src/3rdparty/chromium/third_party/crashpad/crashpad/util/BUILD.gn \
      --replace '$sysroot/usr' "${xnu}"

    # Apple has some secret stuff they don't share with OpenBSM
    substituteInPlace src/3rdparty/chromium/base/mac/mach_port_rendezvous.cc \
      --replace "audit_token_to_pid(request.trailer.msgh_audit)" "request.trailer.msgh_audit.val[5]"
    substituteInPlace src/3rdparty/chromium/third_party/crashpad/crashpad/util/mach/mach_message.cc \
      --replace "audit_token_to_pid(audit_trailer->msgh_audit)" "audit_trailer->msgh_audit.val[5]"

    # ld: warning: directory not found for option '-L/nix/store/...-xcodebuild-0.1.2-pre/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/usr/lib'
    # ld: fatal warning(s) induced error (-fatal_warnings)
    substituteInPlace src/3rdparty/chromium/build/config/compiler/BUILD.gn \
      --replace "-Wl,-fatal_warnings" ""

    # Use system ffmpeg
    echo "gn_args += use_system_ffmpeg=true" >> src/core/config/mac_osx.pri
    echo "LIBS += -lavformat -lavcodec -lavutil" >> src/core/core_common.pri
@@ -257,40 +237,10 @@ qtModule ({

  # FIXME These dependencies shouldn't be needed but can't find a way
  # around it. Chromium pulls this in while bootstrapping GN.
  ++ lib.optionals stdenv.hostPlatform.isDarwin [
    libobjc
    cctools

    # frameworks
    ApplicationServices
    AVFoundation
    Foundation
    ForceFeedback
    GameController
    AppKit
    ImageCaptureCore
    CoreBluetooth
    IOBluetooth
    CoreWLAN
    Quartz
    Cocoa
    LocalAuthentication
    MediaPlayer
    MediaAccessibility
    SecurityInterface
    Vision
    CoreML
    OpenDirectory
    Accelerate

    openbsm
    libunwind
  ];
  ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools.libtool ];

  buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
    cups
    libpm
    sandbox

    # `sw_vers` is used by `src/3rdparty/chromium/build/config/mac/sdk_info.py`
    # to get some information about the host platform.
Loading