qt{5,6}: update for the new Darwin SDK (#347216)
This commit is contained in:
@@ -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 {};
|
||||
@@ -309,28 +299,15 @@ let
|
||||
# starting with clang 16. Patches are available upstream that can be backported.
|
||||
# Because the first error is non-trivial to fix and suppressing it risks future breakage,
|
||||
# clang is pinned to clang 15. That also makes fixing the second set of errors unnecessary.
|
||||
stdenv =
|
||||
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';
|
||||
stdenv = if stdenv.cc.isClang then overrideLibcxx llvmPackages_15.stdenv 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 {};
|
||||
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
, coreutils, bison, flex, gdb, gperf, lndir, perl, pkg-config, python3
|
||||
, which
|
||||
# darwin support
|
||||
, libiconv, libobjc, xcbuild, AGL, AppKit, ApplicationServices, AVFoundation, Carbon, Cocoa, CoreAudio, CoreBluetooth
|
||||
, CoreLocation, CoreServices, DiskArbitration, Foundation, OpenGL, MetalKit, IOKit
|
||||
, darwinMinVersionHook, apple-sdk, apple-sdk_10_14, apple-sdk_14, xcbuild
|
||||
|
||||
, dbus, fontconfig, freetype, glib, harfbuzz, icu, libdrm, libX11, libXcomposite
|
||||
, libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng , libxcb
|
||||
@@ -38,6 +37,13 @@ let
|
||||
if isLinux
|
||||
then "linux-generic-g++"
|
||||
else throw "Please add a qtPlatformCross entry for ${plat.config}";
|
||||
|
||||
# Per https://doc.qt.io/qt-5/macos.html#supported-versions: deployment target = 10.13, build SDK = 14.x.
|
||||
# Note that Qt propagates the 10.14 SDK instead of the 10.13 SDK to make sure that applications linked to Qt
|
||||
# support automatic dark mode on x86_64-darwin (see: https://developer.apple.com/documentation/appkit/nsappearancecustomization/choosing_a_specific_appearance_for_your_macos_app).
|
||||
propagatedAppleSDK = if lib.versionOlder (lib.getVersion apple-sdk) "10.14" then apple-sdk_10_14 else apple-sdk;
|
||||
propagatedMinVersionHook = darwinMinVersionHook "10.13";
|
||||
buildAppleSDK = apple-sdk_14;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: ({
|
||||
@@ -56,10 +62,8 @@ stdenv.mkDerivation (finalAttrs: ({
|
||||
pcre2
|
||||
] ++ (
|
||||
if stdenv.hostPlatform.isDarwin then [
|
||||
# TODO: move to buildInputs, this should not be propagated.
|
||||
AGL AppKit ApplicationServices AVFoundation Carbon Cocoa CoreAudio CoreBluetooth
|
||||
CoreLocation CoreServices DiskArbitration Foundation OpenGL
|
||||
libobjc libiconv MetalKit IOKit
|
||||
propagatedAppleSDK
|
||||
propagatedMinVersionHook
|
||||
] else [
|
||||
dbus glib udev
|
||||
|
||||
@@ -80,6 +84,7 @@ stdenv.mkDerivation (finalAttrs: ({
|
||||
[ libinput ]
|
||||
++ lib.optional withGtk3 gtk3
|
||||
)
|
||||
++ lib.optional stdenv.isDarwin buildAppleSDK
|
||||
++ lib.optional developerBuild gdb
|
||||
++ lib.optional (cups != null) cups
|
||||
++ lib.optional (mysqlSupport) libmysqlclient
|
||||
@@ -141,15 +146,13 @@ stdenv.mkDerivation (finalAttrs: ({
|
||||
patchShebangs ./bin
|
||||
'' + (
|
||||
if stdenv.hostPlatform.isDarwin then ''
|
||||
sed -i \
|
||||
-e 's|/usr/bin/xcode-select|xcode-select|' \
|
||||
-e 's|/usr/bin/xcrun|xcrun|' \
|
||||
-e 's|/usr/bin/xcodebuild|xcodebuild|' \
|
||||
-e 's|QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`|QMAKE_CXX="clang++"\nQMAKE_CONF_COMPILER="clang++"|' \
|
||||
./configure
|
||||
substituteInPlace ./mkspecs/common/mac.conf \
|
||||
--replace "/System/Library/Frameworks/OpenGL.framework/" "${OpenGL}/Library/Frameworks/OpenGL.framework/" \
|
||||
--replace "/System/Library/Frameworks/AGL.framework/" "${AGL}/Library/Frameworks/AGL.framework/"
|
||||
substituteInPlace configure \
|
||||
--replace-fail '/usr/bin/xcode-select' '${lib.getBin xcbuild}/bin/xcode-select' \
|
||||
--replace-fail '/usr/bin/xcrun' '${lib.getBin xcbuild}/bin/xcrun' \
|
||||
--replace-fail '/System/Library/Frameworks/Cocoa.framework' "$SDKROOT/System/Library/Frameworks/Cocoa.framework"
|
||||
substituteInPlace ./mkspecs/common/mac.conf \
|
||||
--replace-fail "/System/Library/Frameworks/OpenGL.framework/" "$SDKROOT/System/Library/Frameworks/OpenGL.framework/" \
|
||||
--replace-fail "/System/Library/Frameworks/AGL.framework/" "$SDKROOT/System/Library/Frameworks/AGL.framework/"
|
||||
'' else lib.optionalString libGLSupported ''
|
||||
sed -i mkspecs/common/linux.conf \
|
||||
-e "/^QMAKE_INCDIR_OPENGL/ s|$|${lib.getDev libGL}/include|" \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ 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" ];
|
||||
}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
{ 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,14 +1,6 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, qtModule
|
||||
, qtbase
|
||||
, qtdeclarative
|
||||
, StoreKit
|
||||
, Foundation
|
||||
}:
|
||||
{ qtModule, qtbase, qtdeclarative }:
|
||||
|
||||
qtModule {
|
||||
pname = "qtpurchasing";
|
||||
propagatedBuildInputs = [ qtbase qtdeclarative ];
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Foundation StoreKit ];
|
||||
}
|
||||
|
||||
@@ -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
|
||||
, apple-sdk_13, cctools, cups, bootstrap_cmds, xcbuild, writeScriptBin
|
||||
, ffmpeg ? null
|
||||
, lib, stdenv
|
||||
, version ? null
|
||||
@@ -55,7 +51,8 @@ let
|
||||
|
||||
in
|
||||
|
||||
qtModule ({
|
||||
# Override the SDK because Qt WebEngine doesn’t seem to build using the 14.4 SDK.
|
||||
(qtModule.override { apple-sdk_for_qt = apple-sdk_13; }) ({
|
||||
pname = "qtwebengine";
|
||||
nativeBuildInputs = [
|
||||
bison flex git gperf ninja pkg-config (python.withPackages(ps: [ ps.html5lib ])) which gn nodejs
|
||||
@@ -65,7 +62,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 +155,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 +238,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.
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
, fontconfig, libwebp, libxml2, libxslt
|
||||
, sqlite, systemd, glib, gst_all_1, cmake
|
||||
, bison, flex, gdb, gperf, perl, pkg-config, python3, ruby
|
||||
, ICU, OpenGL
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -24,8 +23,7 @@ qtModule {
|
||||
pname = "qtwebkit";
|
||||
propagatedBuildInputs = [ qtbase qtdeclarative qtlocation qtsensors qtwebchannel ]
|
||||
++ lib.optional stdenv.hostPlatform.isDarwin qtmultimedia;
|
||||
buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite glib gst_all_1.gstreamer gst_all_1.gst-plugins-base hyphen ]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ ICU OpenGL ];
|
||||
buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite glib gst_all_1.gstreamer gst_all_1.gst-plugins-base hyphen ];
|
||||
nativeBuildInputs = [ bison flex gdb gperf perl pkg-config python3 ruby cmake ];
|
||||
|
||||
cmakeFlags = [ "-DPORT=Qt" ]
|
||||
|
||||
@@ -1,12 +1,8 @@
|
||||
{ lib, stdenv, qtModule, qtdeclarative, qtwebengine, CoreFoundation, WebKit }:
|
||||
{ lib, stdenv, qtModule, qtdeclarative, qtwebengine }:
|
||||
|
||||
qtModule {
|
||||
pname = "qtwebview";
|
||||
propagatedBuildInputs = [ qtdeclarative qtwebengine ];
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
CoreFoundation
|
||||
WebKit
|
||||
];
|
||||
outputs = [ "out" "dev" "bin" ];
|
||||
NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-framework CoreFoundation -framework WebKit";
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
, stdenv
|
||||
, buildPackages
|
||||
, mkDerivation
|
||||
, apple-sdk_14
|
||||
, apple-sdk_for_qt ? apple-sdk_14
|
||||
, perl
|
||||
, qmake
|
||||
, patches
|
||||
@@ -23,6 +25,11 @@ mkDerivation (args // {
|
||||
inherit pname version src;
|
||||
patches = (args.patches or []) ++ (patches.${pname} or []);
|
||||
|
||||
buildInputs =
|
||||
args.buildInputs or [ ]
|
||||
# Per https://doc.qt.io/qt-5/macos.html#supported-versions
|
||||
++ lib.optionals stdenv.isDarwin [ apple-sdk_for_qt ];
|
||||
|
||||
nativeBuildInputs =
|
||||
(args.nativeBuildInputs or []) ++ [
|
||||
perl qmake
|
||||
|
||||
@@ -26,11 +26,7 @@ let
|
||||
let
|
||||
callPackage = self.newScope ({
|
||||
inherit (self) qtModule;
|
||||
inherit srcs python3;
|
||||
stdenv =
|
||||
if stdenv.hostPlatform.isDarwin
|
||||
then overrideSDK stdenv { darwinMinVersion = "11.0"; darwinSdkVersion = "12.3"; }
|
||||
else stdenv;
|
||||
inherit srcs python3 stdenv;
|
||||
});
|
||||
in
|
||||
{
|
||||
@@ -42,8 +38,6 @@ let
|
||||
qtbase = callPackage ./modules/qtbase.nix {
|
||||
withGtk3 = !stdenv.hostPlatform.isMinGW;
|
||||
inherit (srcs.qtbase) src version;
|
||||
inherit (darwin.apple_sdk_12_3.frameworks)
|
||||
AGL AVFoundation AppKit Contacts CoreBluetooth EventKit GSS MetalKit;
|
||||
patches = [
|
||||
./patches/0001-qtbase-qmake-always-use-libname-instead-of-absolute-.patch
|
||||
./patches/0002-qtbase-qmake-fix-mkspecs-for-darwin.patch
|
||||
@@ -55,14 +49,6 @@ let
|
||||
./patches/0008-qtbase-find-qmlimportscanner-in-macdeployqt-via-envi.patch
|
||||
./patches/0009-qtbase-check-in-the-QML-folder-of-this-library-does-.patch
|
||||
./patches/0010-qtbase-derive-plugin-load-path-from-PATH.patch
|
||||
# Revert "macOS: Silence warning about supporting secure state restoration"
|
||||
# fix build with macOS sdk < 12.0
|
||||
(fetchpatch2 {
|
||||
url = "https://github.com/qt/qtbase/commit/fc1549c01445bb9c99d3ba6de8fa9da230614e72.patch";
|
||||
revert = true;
|
||||
hash = "sha256-cjB2sC4cvZn0UEc+sm6ZpjyC78ssqB1Kb5nlZQ15M4A=";
|
||||
})
|
||||
|
||||
# Backport patch for https://bugs.kde.org/show_bug.cgi?id=493116
|
||||
# FIXME: remove for 6.8.1
|
||||
(fetchpatch2 {
|
||||
@@ -119,9 +105,7 @@ let
|
||||
qt3d = callPackage ./modules/qt3d.nix { };
|
||||
qt5compat = callPackage ./modules/qt5compat.nix { };
|
||||
qtcharts = callPackage ./modules/qtcharts.nix { };
|
||||
qtconnectivity = callPackage ./modules/qtconnectivity.nix {
|
||||
inherit (darwin.apple_sdk_12_3.frameworks) IOBluetooth PCSC;
|
||||
};
|
||||
qtconnectivity = callPackage ./modules/qtconnectivity.nix { };
|
||||
qtdatavis3d = callPackage ./modules/qtdatavis3d.nix { };
|
||||
qtdeclarative = callPackage ./modules/qtdeclarative.nix { };
|
||||
qtdoc = callPackage ./modules/qtdoc.nix { };
|
||||
@@ -134,7 +118,6 @@ let
|
||||
qtlottie = callPackage ./modules/qtlottie.nix { };
|
||||
qtmultimedia = callPackage ./modules/qtmultimedia.nix {
|
||||
inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good gst-libav gst-vaapi;
|
||||
inherit (darwin.apple_sdk_12_3.frameworks) VideoToolbox;
|
||||
};
|
||||
qtmqtt = callPackage ./modules/qtmqtt.nix { };
|
||||
qtnetworkauth = callPackage ./modules/qtnetworkauth.nix { };
|
||||
@@ -143,9 +126,7 @@ let
|
||||
qtserialbus = callPackage ./modules/qtserialbus.nix { };
|
||||
qtserialport = callPackage ./modules/qtserialport.nix { };
|
||||
qtshadertools = callPackage ./modules/qtshadertools.nix { };
|
||||
qtspeech = callPackage ./modules/qtspeech.nix {
|
||||
inherit (darwin.apple_sdk_12_3.frameworks) Cocoa;
|
||||
};
|
||||
qtspeech = callPackage ./modules/qtspeech.nix { };
|
||||
qtquick3d = callPackage ./modules/qtquick3d.nix { };
|
||||
qtquick3dphysics = callPackage ./modules/qtquick3dphysics.nix { };
|
||||
qtquickeffectmaker = callPackage ./modules/qtquickeffectmaker.nix { };
|
||||
@@ -159,30 +140,10 @@ let
|
||||
qtwayland = callPackage ./modules/qtwayland.nix { };
|
||||
qtwebchannel = callPackage ./modules/qtwebchannel.nix { };
|
||||
qtwebengine = callPackage ./modules/qtwebengine.nix {
|
||||
inherit (darwin) autoSignDarwinBinariesHook bootstrap_cmds xnu;
|
||||
inherit (darwin.apple_sdk_12_3) libpm libunwind;
|
||||
inherit (darwin.apple_sdk_12_3.libs) sandbox;
|
||||
inherit (darwin.apple_sdk_12_3.frameworks)
|
||||
AGL AVFoundation Accelerate Cocoa CoreLocation CoreML ForceFeedback
|
||||
GameController ImageCaptureCore LocalAuthentication
|
||||
MediaAccessibility MediaPlayer MetalKit Network OpenDirectory Quartz
|
||||
ReplayKit SecurityInterface Vision;
|
||||
qtModule = callPackage
|
||||
({ qtModule }: qtModule.override {
|
||||
stdenv =
|
||||
if stdenv.hostPlatform.isDarwin
|
||||
then overrideSDK stdenv { darwinMinVersion = "11.0"; darwinSdkVersion = "11.0"; }
|
||||
else stdenv;
|
||||
})
|
||||
{ };
|
||||
xcbuild = buildPackages.xcbuild.override {
|
||||
productBuildVer = "20A2408";
|
||||
};
|
||||
inherit (darwin) autoSignDarwinBinariesHook bootstrap_cmds;
|
||||
};
|
||||
qtwebsockets = callPackage ./modules/qtwebsockets.nix { };
|
||||
qtwebview = callPackage ./modules/qtwebview.nix {
|
||||
inherit (darwin.apple_sdk_12_3.frameworks) WebKit;
|
||||
};
|
||||
qtwebview = callPackage ./modules/qtwebview.nix { };
|
||||
|
||||
wrapQtAppsHook = callPackage
|
||||
({ makeBinaryWrapper }: makeSetupHook
|
||||
|
||||
@@ -67,15 +67,10 @@
|
||||
, unixODBCDrivers
|
||||
# darwin
|
||||
, moveBuildTree
|
||||
, apple-sdk_11
|
||||
, apple-sdk_14
|
||||
, darwinMinVersionHook
|
||||
, xcbuild
|
||||
, AGL
|
||||
, AVFoundation
|
||||
, AppKit
|
||||
, Contacts
|
||||
, CoreBluetooth
|
||||
, EventKit
|
||||
, GSS
|
||||
, MetalKit
|
||||
# mingw
|
||||
, pkgsBuildBuild
|
||||
# optional dependencies
|
||||
@@ -162,14 +157,8 @@ stdenv.mkDerivation rec {
|
||||
xorg.xcbutilcursor
|
||||
libepoxy
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
AGL
|
||||
AVFoundation
|
||||
AppKit
|
||||
Contacts
|
||||
CoreBluetooth
|
||||
EventKit
|
||||
GSS
|
||||
MetalKit
|
||||
apple-sdk_14
|
||||
(darwinMinVersionHook "11.0")
|
||||
] ++ lib.optionals libGLSupported [
|
||||
libGL
|
||||
] ++ lib.optionals stdenv.hostPlatform.isMinGW [
|
||||
@@ -181,9 +170,9 @@ stdenv.mkDerivation rec {
|
||||
at-spi2-core
|
||||
] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform libinput) [
|
||||
libinput
|
||||
] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [
|
||||
AppKit
|
||||
CoreBluetooth
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
apple-sdk_11
|
||||
(darwinMinVersionHook "11.0")
|
||||
]
|
||||
++ lib.optional withGtk3 gtk3
|
||||
++ lib.optional (libmysqlclient != null && !stdenv.hostPlatform.isMinGW) libmysqlclient
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
, qtdeclarative
|
||||
, bluez
|
||||
, pkg-config
|
||||
, IOBluetooth
|
||||
, PCSC
|
||||
}:
|
||||
|
||||
qtModule {
|
||||
@@ -16,8 +14,5 @@ qtModule {
|
||||
propagatedBuildInputs = [
|
||||
qtbase
|
||||
qtdeclarative
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
IOBluetooth
|
||||
PCSC
|
||||
];
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
, elfutils
|
||||
, libunwind
|
||||
, orc
|
||||
, VideoToolbox
|
||||
, pkgsBuildBuild
|
||||
}:
|
||||
|
||||
@@ -34,13 +33,10 @@ qtModule {
|
||||
++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform elfutils) [ elfutils ];
|
||||
propagatedBuildInputs = [ qtbase qtdeclarative qtsvg qtshadertools ]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isMinGW) [ qtquick3d ]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ gstreamer gst-plugins-base gst-plugins-good gst-libav gst-vaapi ]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ VideoToolbox ];
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ gstreamer gst-plugins-base gst-plugins-good gst-libav gst-vaapi ];
|
||||
|
||||
patches = [
|
||||
../patches/fix-qtgui-include-incorrect-case.patch
|
||||
# Remove new constants since macOS 12+, since we build Qt with the macOS 11 SDK
|
||||
../patches/qtmultimedia-darwin-revert-replace-deprecated-constant.patch
|
||||
] ++ lib.optionals stdenv.hostPlatform.isMinGW [
|
||||
../patches/qtmultimedia-windows-no-uppercase-libs.patch
|
||||
../patches/qtmultimedia-windows-resolve-function-name.patch
|
||||
|
||||
@@ -7,13 +7,11 @@
|
||||
, flite
|
||||
, alsa-lib
|
||||
, speechd-minimal
|
||||
, Cocoa
|
||||
}:
|
||||
|
||||
qtModule {
|
||||
pname = "qtspeech";
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ flite alsa-lib speechd-minimal ];
|
||||
propagatedBuildInputs = [ qtbase qtmultimedia ]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ];
|
||||
propagatedBuildInputs = [ qtbase qtmultimedia ];
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
, libXtst
|
||||
, libxshmfence
|
||||
, libXi
|
||||
, cups
|
||||
, fontconfig
|
||||
, freetype
|
||||
, harfbuzz
|
||||
@@ -64,31 +65,6 @@
|
||||
, bootstrap_cmds
|
||||
, cctools
|
||||
, xcbuild
|
||||
, AGL
|
||||
, AVFoundation
|
||||
, Accelerate
|
||||
, Cocoa
|
||||
, CoreLocation
|
||||
, CoreML
|
||||
, ForceFeedback
|
||||
, GameController
|
||||
, ImageCaptureCore
|
||||
, LocalAuthentication
|
||||
, MediaAccessibility
|
||||
, MediaPlayer
|
||||
, MetalKit
|
||||
, Network
|
||||
, OpenDirectory
|
||||
, Quartz
|
||||
, ReplayKit
|
||||
, SecurityInterface
|
||||
, Vision
|
||||
, openbsm
|
||||
, libunwind
|
||||
, cups
|
||||
, libpm
|
||||
, sandbox
|
||||
, xnu
|
||||
}:
|
||||
|
||||
qtModule {
|
||||
@@ -167,8 +143,6 @@ qtModule {
|
||||
--replace "AppleClang" "Clang"
|
||||
substituteInPlace cmake/Functions.cmake \
|
||||
--replace "/usr/bin/xcrun" "${xcbuild}/bin/xcrun"
|
||||
substituteInPlace src/3rdparty/chromium/third_party/crashpad/crashpad/util/BUILD.gn \
|
||||
--replace "\$sysroot/usr" "${xnu}"
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
@@ -197,7 +171,7 @@ qtModule {
|
||||
] ++ lib.optionals enableProprietaryCodecs [
|
||||
"-DQT_FEATURE_webengine_proprietary_codecs=ON"
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
"-DCMAKE_OSX_DEPLOYMENT_TARGET=${stdenv.hostPlatform.darwinSdkVersion}"
|
||||
"-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0" # Per Qt 6’s deployment target (why doesn’t the hook work?)
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@@ -272,36 +246,10 @@ qtModule {
|
||||
|
||||
libkrb5
|
||||
mesa
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
AGL
|
||||
AVFoundation
|
||||
Accelerate
|
||||
Cocoa
|
||||
CoreLocation
|
||||
CoreML
|
||||
ForceFeedback
|
||||
GameController
|
||||
ImageCaptureCore
|
||||
LocalAuthentication
|
||||
MediaAccessibility
|
||||
MediaPlayer
|
||||
MetalKit
|
||||
Network
|
||||
OpenDirectory
|
||||
Quartz
|
||||
ReplayKit
|
||||
SecurityInterface
|
||||
Vision
|
||||
|
||||
openbsm
|
||||
libunwind
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cups
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
libpm
|
||||
sandbox
|
||||
];
|
||||
|
||||
requiredSystemFeatures = [ "big-parallel" ];
|
||||
@@ -316,7 +264,5 @@ qtModule {
|
||||
# This build takes a long time; particularly on slow architectures
|
||||
# 1 hour on 32x3.6GHz -> maybe 12 hours on 4x2.4GHz
|
||||
timeout = 24 * 3600;
|
||||
# Not compatible with macOS 11 without massive patching
|
||||
broken = stdenv.hostPlatform.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "12";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,12 +3,10 @@
|
||||
, qtModule
|
||||
, qtdeclarative
|
||||
, qtwebengine
|
||||
, WebKit
|
||||
}:
|
||||
|
||||
qtModule {
|
||||
pname = "qtwebview";
|
||||
propagatedBuildInputs = [ qtdeclarative ]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ qtwebengine ]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ WebKit ];
|
||||
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ qtwebengine ];
|
||||
}
|
||||
|
||||
-50
@@ -1,50 +0,0 @@
|
||||
diff --git a/src/multimedia/darwin/qdarwinmediadevices.mm b/src/multimedia/darwin/qdarwinmediadevices.mm
|
||||
index b0a108935..881066928 100644
|
||||
--- a/src/multimedia/darwin/qdarwinmediadevices.mm
|
||||
+++ b/src/multimedia/darwin/qdarwinmediadevices.mm
|
||||
@@ -42,7 +42,7 @@ static AudioDeviceID defaultAudioDevice(QAudioDevice::Mode mode)
|
||||
const AudioObjectPropertyAddress propertyAddress = {
|
||||
selector,
|
||||
kAudioObjectPropertyScopeGlobal,
|
||||
- kAudioObjectPropertyElementMain,
|
||||
+ kAudioObjectPropertyElementMaster,
|
||||
};
|
||||
|
||||
if (auto audioDevice = getAudioObject<AudioDeviceID>(kAudioObjectSystemObject, propertyAddress,
|
||||
@@ -77,7 +77,7 @@ static QList<QAudioDevice> availableAudioDevices(QAudioDevice::Mode mode)
|
||||
|
||||
const AudioObjectPropertyAddress audioDevicesPropertyAddress = {
|
||||
kAudioHardwarePropertyDevices, kAudioObjectPropertyScopeGlobal,
|
||||
- kAudioObjectPropertyElementMain
|
||||
+ kAudioObjectPropertyElementMaster
|
||||
};
|
||||
|
||||
if (auto audioDevices = getAudioData<AudioDeviceID>(
|
||||
@@ -130,11 +130,11 @@ static OSStatus audioDeviceChangeListener(AudioObjectID id, UInt32,
|
||||
|
||||
static constexpr AudioObjectPropertyAddress listenerAddresses[] = {
|
||||
{ kAudioHardwarePropertyDefaultInputDevice, kAudioObjectPropertyScopeGlobal,
|
||||
- kAudioObjectPropertyElementMain },
|
||||
+ kAudioObjectPropertyElementMaster },
|
||||
{ kAudioHardwarePropertyDefaultOutputDevice, kAudioObjectPropertyScopeGlobal,
|
||||
- kAudioObjectPropertyElementMain },
|
||||
+ kAudioObjectPropertyElementMaster },
|
||||
{ kAudioHardwarePropertyDevices, kAudioObjectPropertyScopeGlobal,
|
||||
- kAudioObjectPropertyElementMain }
|
||||
+ kAudioObjectPropertyElementMaster }
|
||||
};
|
||||
|
||||
static void setAudioListeners(QDarwinMediaDevices &instance)
|
||||
diff --git a/src/multimedia/darwin/qmacosaudiodatautils_p.h b/src/multimedia/darwin/qmacosaudiodatautils_p.h
|
||||
index 8cc2f8440..5cd6fced2 100644
|
||||
--- a/src/multimedia/darwin/qmacosaudiodatautils_p.h
|
||||
+++ b/src/multimedia/darwin/qmacosaudiodatautils_p.h
|
||||
@@ -44,7 +44,7 @@ void printUnableToReadWarning(const char *logName, AudioObjectID objectID, const
|
||||
|
||||
inline static AudioObjectPropertyAddress
|
||||
makePropertyAddress(AudioObjectPropertySelector selector, QAudioDevice::Mode mode,
|
||||
- AudioObjectPropertyElement element = kAudioObjectPropertyElementMain)
|
||||
+ AudioObjectPropertyElement element = kAudioObjectPropertyElementMaster)
|
||||
{
|
||||
return { selector,
|
||||
mode == QAudioDevice::Input ? kAudioDevicePropertyScopeInput
|
||||
@@ -1,5 +1,6 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, apple-sdk_14
|
||||
, cmake
|
||||
, ninja
|
||||
, perl
|
||||
@@ -19,7 +20,10 @@ stdenv.mkDerivation (args // {
|
||||
inherit pname version src;
|
||||
patches = args.patches or patches.${pname} or [ ];
|
||||
|
||||
buildInputs = args.buildInputs or [ ];
|
||||
buildInputs =
|
||||
args.buildInputs or [ ]
|
||||
# Per https://doc.qt.io/qt-6/macos.html#supported-versions
|
||||
++ lib.optionals stdenv.isDarwin [ apple-sdk_14 ];
|
||||
nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ cmake ninja perl ]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ moveBuildTree ];
|
||||
propagatedBuildInputs =
|
||||
|
||||
Reference in New Issue
Block a user