qtdeclarative: unset QML2_IMPORT_PATH after loading

This commit is contained in:
Thomas Tuegel 2016-03-31 16:08:24 -05:00
parent 7f336a4513
commit da4b9d3b62
4 changed files with 3 additions and 39 deletions

View File

@ -1,37 +0,0 @@
From 3f6fa74067aacd0e595e45b4ef7ce754514cb205 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Sat, 17 Oct 2015 09:28:18 -0500
Subject: [PATCH] nix profiles import paths
---
src/qml/qml/qqmlimport.cpp | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
index 5a54609..f33c2f9 100644
--- a/src/qml/qml/qqmlimport.cpp
+++ b/src/qml/qml/qqmlimport.cpp
@@ -1549,6 +1549,20 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e)
QString installImportsPath = QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
addImportPath(installImportsPath);
+ // Add import paths derived from NIX_PROFILES.
+ const QByteArray nixProfilesEnv = qgetenv("NIX_PROFILES");
+ if (!nixProfilesEnv.isEmpty()) {
+ QLatin1Char pathSep(' ');
+ QStringList paths = QFile::decodeName(nixProfilesEnv).split(pathSep, QString::SkipEmptyParts);
+ for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) {
+ it->append("/lib/qt5/qml");
+ QString canonicalPath = QDir(*it).canonicalPath();
+ if (!canonicalPath.isEmpty()) {
+ addImportPath(canonicalPath);
+ }
+ }
+ }
+
// env import paths
QByteArray envImportPath = qgetenv("QML2_IMPORT_PATH");
if (!envImportPath.isEmpty()) {
--
2.5.2

View File

@ -1,8 +1,8 @@
{ qtSubmodule, python, qtbase, qtsvg, qtxmlpatterns }:
{ qtSubmodule, lib, copyPathsToStore, python, qtbase, qtsvg, qtxmlpatterns }:
qtSubmodule {
name = "qtdeclarative";
patches = [ ./0001-nix-profiles-import-paths.patch ];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
qtInputs = [ qtbase qtsvg qtxmlpatterns ];
nativeBuildInputs = [ python ];
}

View File

@ -0,0 +1 @@
nix-profiles-import-paths.patch