| 25 Oct 2025 |
samasaur | maybe the first time Network.framework is actually used by qt? | 05:07:25 |
samasaur | regardless I think this patch fixes it. if my build ever completes we will know for sure | 05:08:56 |
samasaur | yay okay it works | 05:16:13 |
samasaur | https://github.com/NixOS/nixpkgs/pull/455458 | 05:43:51 |
K900 | I kinda like the not-patch route | 07:07:08 |
K900 | But maybe @emily or @Randy Eckenrode have opinions | 07:07:21 |
K900 | I don't even know if it makes any sense to set that globally | 07:08:34 |
K900 | My intuition says "this is probably some sort of attempted purity hack" | 07:08:48 |
samasaur | 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 | my 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 case | 07:10:02 |
samasaur | 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 | 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 | which 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 | Yeeeeeeeeeeah what the fuck | 07:31:22 |
samasaur | because we do now package the frameworks | 07:31:23 |
samasaur |  Download image.png | 07:31:41 |
samasaur | this will be fun | 07:31:51 |
samasaur | (dropping that flag from the setup hook) | 07:32:31 |
K900 |
# correctly detect our clang compiler
prependToVar cmakeFlags "-DCMAKE_POLICY_DEFAULT_CMP0025=NEW"
| 07:32:47 |
K900 | This is still there too | 07:32:49 |
K900 | Pretty sure that policy doesn't even EXIST anymore | 07:33:36 |
K900 | https://gitlab.kitware.com/cmake/cmake/-/blob/master/Help/policy/CMP0025.rst | 07:34:27 |
K900 | Yep removed in 4.0 | 07:34:30 |
samasaur | oh cool | 07:34:40 |
samasaur | okay let me cancel this build and start a new one with that line gone too | 07:34:51 |
samasaur | and then i'm gonna go to sleep and we will see what i come back to in the morning | 07:35:05 |
Randy Eckenrode | Could they be referring to other packages’ frameworks? | 10:36:42 |
Randy Eckenrode | Though if we don’t package them, why prefer the non-framework when that’s all you’ll find anyway …. | 10:36:50 |
Randy Eckenrode | e.g., https://github.com/NixOS/nixpkgs/pull/447351 | 10:41:34 |
emily | destroy it | 12:43:00 |