kwindowsystem: purify platform plugin detection
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
{
|
||||
kdeFramework, lib, copyPathsToStore,
|
||||
extra-cmake-modules,
|
||||
qtbase, qttools, qtx11extras
|
||||
}:
|
||||
|
||||
kdeFramework {
|
||||
name = "kwindowsystem";
|
||||
meta = {
|
||||
maintainers = [ lib.maintainers.ttuegel ];
|
||||
broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
|
||||
};
|
||||
nativeBuildInputs = [ extra-cmake-modules qttools ];
|
||||
propagatedBuildInputs = [ qtx11extras ];
|
||||
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
|
||||
preConfigure = ''
|
||||
NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QT_PLUGIN_PATH=\"$out/lib/qt5/plugins\""
|
||||
'';
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
platform-plugins-path.patch
|
||||
Reference in New Issue
Block a user