From ceec85b3f773e9fc2308e72279c796c6c9c5e125 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Sat, 20 Dec 2025 10:49:43 +0100 Subject: [PATCH] qt6.qtbase: prepare for structuredAttrs --- .../libraries/qt-6/modules/qtbase/default.nix | 37 ++++++++++++++----- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/qt-6/modules/qtbase/default.nix b/pkgs/development/libraries/qt-6/modules/qtbase/default.nix index eb0564226cbf..4760911af780 100644 --- a/pkgs/development/libraries/qt-6/modules/qtbase/default.nix +++ b/pkgs/development/libraries/qt-6/modules/qtbase/default.nix @@ -9,6 +9,8 @@ lndir, perl, pkg-config, + copyPathToStore, + makeSetupHook, which, cmake, ninja, @@ -88,8 +90,12 @@ let isCrossBuild = !stdenv.buildPlatform.canExecute stdenv.hostPlatform; + fix_qt_builtin_paths = copyPathToStore ../../hooks/fix-qt-builtin-paths.sh; + fix_qt_module_paths = copyPathToStore ../../hooks/fix-qt-module-paths.sh; + qtPluginPrefix = "lib/qt-6/plugins"; + qtQmlPrefix = "lib/qt-6/qml"; in -stdenv.mkDerivation rec { +stdenv.mkDerivation { pname = "qtbase"; inherit src version; @@ -259,16 +265,11 @@ stdenv.mkDerivation rec { --replace-fail 'CONFIG += ' 'CONFIG += no_default_rpath ' ''; - fix_qt_builtin_paths = ../../hooks/fix-qt-builtin-paths.sh; - fix_qt_module_paths = ../../hooks/fix-qt-module-paths.sh; preHook = '' - . "$fix_qt_builtin_paths" - . "$fix_qt_module_paths" + . ${fix_qt_builtin_paths} + . ${fix_qt_module_paths} ''; - qtPluginPrefix = "lib/qt-6/plugins"; - qtQmlPrefix = "lib/qt-6/qml"; - cmakeFlags = [ # makes Qt print the configure summary "--log-level=STATUS" @@ -327,7 +328,25 @@ stdenv.mkDerivation rec { dontWrapQtApps = true; - setupHook = ../../hooks/qtbase-setup-hook.sh; + setupHook = + let + hook = makeSetupHook { + name = "qtbase6-setup-hook"; + substitutions = { + inherit + fix_qt_builtin_paths + fix_qt_module_paths + qtPluginPrefix + qtQmlPrefix + ; + }; + } ../../hooks/qtbase-setup-hook.sh; + in + "${hook}/nix-support/setup-hook"; + + passthru = { + inherit qtPluginPrefix qtQmlPrefix; + }; meta = { homepage = "https://www.qt.io/";