diff options
Diffstat (limited to 'pkgs/development/libraries/qt-5/5.5/qtbase/nix-profiles-library-paths.patch')
-rw-r--r-- | pkgs/development/libraries/qt-5/5.5/qtbase/nix-profiles-library-paths.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/nix-profiles-library-paths.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/nix-profiles-library-paths.patch new file mode 100644 index 000000000000..470526b1dcdb --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/nix-profiles-library-paths.patch @@ -0,0 +1,26 @@ +Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib/kernel/qcoreapplication.cpp +=================================================================== +--- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/corelib/kernel/qcoreapplication.cpp ++++ qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib/kernel/qcoreapplication.cpp +@@ -2498,6 +2498,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); + } |