kwindowsystem: purify platform plugin detection

This commit is contained in:
Thomas Tuegel 2017-04-18 08:11:17 -05:00
parent bd92780b4c
commit c37220fcf9
No known key found for this signature in database
GPG Key ID: 22CBF5249D4B4D59
4 changed files with 29 additions and 2 deletions

View File

@ -96,7 +96,7 @@ let
kwallet = callPackage ./kwallet.nix {};
kwayland = callPackage ./kwayland.nix {};
kwidgetsaddons = callPackage ./kwidgetsaddons.nix {};
kwindowsystem = callPackage ./kwindowsystem.nix {};
kwindowsystem = callPackage ./kwindowsystem {};
kxmlgui = callPackage ./kxmlgui.nix {};
kxmlrpcclient = callPackage ./kxmlrpcclient.nix {};
modemmanager-qt = callPackage ./modemmanager-qt.nix {};

View File

@ -1,5 +1,5 @@
{
kdeFramework, lib,
kdeFramework, lib, copyPathsToStore,
extra-cmake-modules,
qtbase, qttools, qtx11extras
}:
@ -12,4 +12,8 @@ kdeFramework {
};
nativeBuildInputs = [ extra-cmake-modules qttools ];
propagatedBuildInputs = [ qtx11extras ];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
preConfigure = ''
NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QT_PLUGIN_PATH=\"$out/lib/qt5/plugins\""
'';
}

View File

@ -0,0 +1,22 @@
Index: kwindowsystem-5.32.0/src/pluginwrapper.cpp
===================================================================
--- kwindowsystem-5.32.0.orig/src/pluginwrapper.cpp
+++ kwindowsystem-5.32.0/src/pluginwrapper.cpp
@@ -37,14 +37,9 @@ Q_GLOBAL_STATIC(KWindowSystemPluginWrapp
static QStringList pluginCandidates()
{
QStringList ret;
- foreach (const QString &path, QCoreApplication::libraryPaths()) {
- QDir pluginDir(path + QLatin1Literal("/kf5/org.kde.kwindowsystem.platforms"));
- if (!pluginDir.exists()) {
- continue;
- }
- foreach (const QString &entry, pluginDir.entryList(QDir::Files | QDir::NoDotAndDotDot)) {
- ret << pluginDir.absoluteFilePath(entry);
- }
+ QDir pluginDir(QStringLiteral(NIXPKGS_QT_PLUGIN_PATH) + QLatin1Literal("/kf5/org.kde.kwindowsystem.platforms"));
+ foreach (const QString &entry, pluginDir.entryList(QDir::Files | QDir::NoDotAndDotDot)) {
+ ret << pluginDir.absoluteFilePath(entry);
}
return ret;
}

View File

@ -0,0 +1 @@
platform-plugins-path.patch