summary refs log tree commit diff
path: root/pkgs/development/libraries/qt-5/5.4/qtdeclarative/0001-nix-profiles-import-paths.patch
blob: 8e86f97a94772fc21ffae771bd396819c24d0387 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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