diff options
Diffstat (limited to 'pkgs/development/libraries/qt-5/5.4/qtbase/nix-profiles-library-paths.patch')
-rw-r--r-- | pkgs/development/libraries/qt-5/5.4/qtbase/nix-profiles-library-paths.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/pkgs/development/libraries/qt-5/5.4/qtbase/nix-profiles-library-paths.patch b/pkgs/development/libraries/qt-5/5.4/qtbase/nix-profiles-library-paths.patch new file mode 100644 index 000000000000..824d2ea0817f --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.4/qtbase/nix-profiles-library-paths.patch @@ -0,0 +1,26 @@ +Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/corelib/kernel/qcoreapplication.cpp +=================================================================== +--- qt-everywhere-opensource-src-5.4.2.orig/qtbase/src/corelib/kernel/qcoreapplication.cpp ++++ qt-everywhere-opensource-src-5.4.2/qtbase/src/corelib/kernel/qcoreapplication.cpp +@@ -2442,6 +2442,21 @@ QStringList QCoreApplication::libraryPat + } + } + } ++ ++ // Add library 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/plugins"); ++ QString canonicalPath = QDir(*it).canonicalPath(); ++ if (!canonicalPath.isEmpty() ++ && !app_libpaths->contains(canonicalPath)) { ++ app_libpaths->append(canonicalPath); ++ } ++ } ++ } + } + return *(coreappdata()->app_libpaths); + } |