!lheuhImcToQZYTQTuI:nixos.org

Nix on macOS

1150 Members
“There are still many issues with the Darwin platform but most of it is quite usable.” — http://yves.gnu-darwin.org185 Servers

Load older messages


SenderMessageTime
25 Oct 2025
@samasaur:matrix.orgsamasaurAH HA03:42:48
@samasaur:matrix.orgsamasaurso there are a couple of frameworks that CMake can't find03:43:20
@samasaur:matrix.orgsamasaurAssetsLibrary, MobileCoreServices, UIKit, WatchKit, Network03:43:58
@samasaur:matrix.orgsamasaur the first four actually are missing 03:44:33
@samasaur:matrix.orgsamasaur Network.framework actually is in the SDK directory alongside all the other frameworks that it does find 03:45:01
@samasaur:matrix.orgsamasaur what gives? turns out it's not actually failing the NOTFOUND part of the check, it's failing the MATCHES ".framework$" part 03:45:55
@samasaur:matrix.orgsamasaur

because (unique among all the frameworks that it "can't find"), when calling find_library(FWNetworkInternal Network), it actually does find something:

/nix/store/9idkk50xhm91i33fzsgg520z5pa8i8dv-apple-sdk-15.5/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.5.sdk/usr/lib/libnetwork.tbd
03:46:56
@samasaur:matrix.orgsamasaurhttps://github.com/qt/qtbase/commit/b181132f742a0d212f8ffaf6f8fb48a099ac45dd03:50:33
@samasaur:matrix.orgsamasaur ...except that we don't set QT_USE_VCPKG 03:56:00
@samasaur:matrix.orgsamasaurlike that is the actual issue, but I can't apply that patch directly03:56:26
@samasaur:matrix.orgsamasaurwell it appears to be building04:00:38
@samasaur:matrix.orgsamasaurissue might be coming from https://github.com/NixOS/nixpkgs/blob/01f116e4df6a15f4ccdffb1bcd41096869fb385c/pkgs/by-name/cm/cmake/setup-hook.sh#L42-L44 ? though it looks like it hasn't been touched for years, so I'm not sure why we'd suddenly be seeing this issue05:07:13
@samasaur:matrix.orgsamasaurmaybe the first time Network.framework is actually used by qt?05:07:25
@samasaur:matrix.orgsamasaurregardless I think this patch fixes it. if my build ever completes we will know for sure05:08:56
@samasaur:matrix.orgsamasauryay okay it works05:16:13
@samasaur:matrix.orgsamasaurhttps://github.com/NixOS/nixpkgs/pull/45545805:43:51
@k900:0upti.meK900I kinda like the not-patch route07:07:08
@k900:0upti.meK900 But maybe @emily or @Randy Eckenrode have opinions 07:07:21
@k900:0upti.meK900I don't even know if it makes any sense to set that globally07:08:34
@k900:0upti.meK900My intuition says "this is probably some sort of attempted purity hack"07:08:48
@samasaur:matrix.orgsamasaur i was in a patch-based mindset because i found the upstream commit first and wanted to fetchpatch it, but since it doesn't work as-is I don't really care 07:09:17
@samasaur:matrix.orgsamasaurmy concern with setting it globally would be that some other part of qtbase needs the "prefer library over framework" behavior but evidently that seems not to be the case07:10:02
@samasaur:matrix.orgsamasaur

FWIW the cmakeFlags approach is quite literally just:

diff --git a/pkgs/development/libraries/qt-6/modules/qtbase/default.nix b/pkgs/development/libraries/qt-6/modules/qtbase/default.nix
index ab35d1906f73..0ab2fd0b4a38 100644
--- a/pkgs/development/libraries/qt-6/modules/qtbase/default.nix
+++ b/pkgs/development/libraries/qt-6/modules/qtbase/default.nix
@@ -292,6 +292,8 @@ stdenv.mkDerivation rec {
     # When this variable is not set, cmake tries to execute xcodebuild
     # to query the version.
     "-DQT_INTERNAL_XCODE_VERSION=0.1"
+
+    "-DCMAKE_FIND_FRAMEWORK=FIRST"
   ]
   ++ lib.optionals isCrossBuild [
     "-DQT_HOST_PATH=${pkgsBuildBuild.qt6.qtbase}"
07:16:06
@samasaur:matrix.orgsamasaur it is part of a PR that was mostly purity hacks but i think the logic for setting it to LAST globally is actually just entirely wrong now that frameworks from the SDK are included by default. like it kinda makes sense in a darwin.apple_sdk.frameworks world where frameworks are usually not available (though it should fall back to libraries anyway in that case?), but with the SDK included as an input to every package it just doesn't make sense anymore 07:30:51
@samasaur:matrix.orgsamasaurwhich is even supported by that comment saying "on macOS we want to prefer Unix-style headers to Frameworks because we usually do not package the framework"07:31:18
@k900:0upti.meK900Yeeeeeeeeeeah what the fuck07:31:22
@samasaur:matrix.orgsamasaurbecause we do now package the frameworks07:31:23
@samasaur:matrix.orgsamasaurimage.png
Download image.png
07:31:41
@samasaur:matrix.orgsamasaurthis will be fun07:31:51
@samasaur:matrix.orgsamasaur(dropping that flag from the setup hook)07:32:31

Show newer messages


Back to Room ListRoom Version: 6