Retrieved from nixpkgs.
Modified to use QML_IMPORT_PATH instead of QML2_IMPORT_PATH.

From d7a9a3b0ecdbb1b5829f25954d763d767f1c8794 Mon Sep 17 00:00:00 2001
From: Nick Cao <nickcao@nichi.co>
Date: Tue, 10 Oct 2023 10:12:56 -0400
Subject: [PATCH 07/11] qtbase: pass to qmlimportscanner the QML2_IMPORT_PATH

---
 src/tools/macdeployqt/shared/shared.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp
index 2ae4f998944..ba10ae02bcd 100644
--- a/src/tools/macdeployqt/shared/shared.cpp
+++ b/src/tools/macdeployqt/shared/shared.cpp
@@ -1297,6 +1297,13 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
     argumentList.append( "-importPath");
     argumentList.append(qmlImportsPath);
 
+    // In a modularized installation of qt as we have in Nix, instead, we will
+    // read the paths from the environment, as they are spread in multiple
+    // locations and normally set in the environment like this
+    auto envQmlImportPaths = ::qgetenv("QML_IMPORT_PATH").split(':');
+    for (const QString &importPath : envQmlImportPaths)
+        argumentList << "-importPath" << importPath;
+
     // run qmlimportscanner
     QProcess qmlImportScanner;
     qmlImportScanner.start(qmlImportScannerPath, argumentList);
-- 
2.42.0

