aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-03-25 11:02:38 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-04-03 18:05:10 -0400
commitcfcd5df74d079a4bd5272ee194286d11dd2d1b2f (patch)
tree14dc981cde3b4f4b026ef9e075e41b3fae2e6775
parenta499d1772df63784e7df1767e58ca1dd5a4b1124 (diff)
downloadguix-cfcd5df74d079a4bd5272ee194286d11dd2d1b2f.tar.gz
guix-cfcd5df74d079a4bd5272ee194286d11dd2d1b2f.zip
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
-rw-r--r--gnu/local.mk3
-rw-r--r--gnu/packages/patches/qtbase-qmlimportscanner-qml-import-path.patch33
-rw-r--r--gnu/packages/qt.scm12
3 files changed, 42 insertions, 6 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 2ba3867004..cce4871285 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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 \
diff --git a/gnu/packages/patches/qtbase-qmlimportscanner-qml-import-path.patch b/gnu/packages/patches/qtbase-qmlimportscanner-qml-import-path.patch
new file mode 100644
index 0000000000..b73a1fba73
--- /dev/null
+++ b/gnu/packages/patches/qtbase-qmlimportscanner-qml-import-path.patch
@@ -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
+
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 832bd09a9f..500b79fa93 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -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)