about summary refs log tree commit diff
path: root/pkgs/development/libraries/qt-5/5.5/qtquick1/0001-nix-profiles-import-paths.patch
blob: 63b141f6ce5a7c32356b894e81af60722f049463 (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 bbc706b3fcb90ca3b2b51d5e3434145572152711 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Sat, 17 Oct 2015 09:29:51 -0500
Subject: [PATCH] nix profiles import paths

---
 src/declarative/qml/qdeclarativeimport.cpp | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/declarative/qml/qdeclarativeimport.cpp b/src/declarative/qml/qdeclarativeimport.cpp
index 9404834..d185ed5 100644
--- a/src/declarative/qml/qdeclarativeimport.cpp
+++ b/src/declarative/qml/qdeclarativeimport.cpp
@@ -725,6 +725,20 @@ QDeclarativeImportDatabase::QDeclarativeImportDatabase(QDeclarativeEngine *e)
 
     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/imports");
+            QString canonicalPath = QDir(*it).canonicalPath();
+            if (!canonicalPath.isEmpty()) {
+                addImportPath(canonicalPath);
+            }
+        }
+    }
+
     // env import paths
     QByteArray envImportPath = qgetenv("QML_IMPORT_PATH");
     if (!envImportPath.isEmpty()) {
-- 
2.5.2