me
/
guix
Archived
1
0
Fork 0

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
master
Maxim Cournoyer 2024-03-25 11:02:38 -04:00
parent a499d1772d
commit cfcd5df74d
No known key found for this signature in database
GPG Key ID: 1260E46482E63562
3 changed files with 42 additions and 6 deletions

View File

@ -1966,7 +1966,8 @@ dist_patch_DATA = \
%D%/packages/patches/qrcodegen-cpp-make-install.patch \
%D%/packages/patches/qtbase-absolute-runpath.patch \
%D%/packages/patches/qtbase-find-tools-in-PATH.patch \
%D%/packages/patches/qtbase-qmake-fix-includedir.patch \
%D%/packages/patches/qtbase-qmake-fix-includedir.patch \
%D%/packages/patches/qtbase-qmlimportscanner-qml-import-path.patch \
%D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \
%D%/packages/patches/qtbase-qmake-use-libname.patch \
%D%/packages/patches/qtbase-5-use-TZDIR.patch \

View File

@ -0,0 +1,33 @@
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

View File

@ -730,11 +730,13 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(list "double-conversion" "freetype" "harfbuzz-ng"
"pcre2" "md4c" "libpng" "libjpeg"
"sqlite" "xcb" "zlib"))))
(patches (search-patches "qtbase-moc-ignore-gcc-macro.patch"
"qtbase-absolute-runpath.patch"
"qtbase-qmake-use-libname.patch"
"qtbase-find-tools-in-PATH.patch"
"qtbase-qmake-fix-includedir.patch"))))
(patches
(search-patches "qtbase-moc-ignore-gcc-macro.patch"
"qtbase-absolute-runpath.patch"
"qtbase-qmake-use-libname.patch"
"qtbase-qmlimportscanner-qml-import-path.patch"
"qtbase-find-tools-in-PATH.patch"
"qtbase-qmake-fix-includedir.patch"))))
(build-system cmake-build-system)
(arguments
(substitute-keyword-arguments (package-arguments qtbase-5)