guix/gnu/packages/patches/qtbase-qmlimportscanner-qml-import-path.patch
Maxim Cournoyer cfcd5df74d
gnu: qtbase: Have qmlimportscanner honor QML_IMPORT_PATH.
* gnu/packages/qt.scm (qtbase) [source]: Apply
qtbase-qmlimportscanner-qml-import-path.patch patch.
* gnu/packages/patches/qtbase-qmlimportscanner-qml-import-path.patch: New
file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I256939aa30a5d158ac0a78b85670b9f287c920ca
2024-04-03 18:05:10 -04:00

33 lines
1.3 KiB
Diff

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