about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/samba-search-path.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/kde-frameworks/kio/samba-search-path.patch')
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kio/samba-search-path.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/samba-search-path.patch b/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/samba-search-path.patch
new file mode 100644
index 000000000000..3e18d304c307
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kio/samba-search-path.patch
@@ -0,0 +1,28 @@
+Index: kio-5.17.0/src/core/ksambashare.cpp
+===================================================================
+--- kio-5.17.0.orig/src/core/ksambashare.cpp
++++ kio-5.17.0/src/core/ksambashare.cpp
+@@ -67,13 +67,18 @@ KSambaSharePrivate::~KSambaSharePrivate(
+ 
+ bool KSambaSharePrivate::isSambaInstalled()
+ {
+-    if (QFile::exists(QStringLiteral("/usr/sbin/smbd"))
+-            || QFile::exists(QStringLiteral("/usr/local/sbin/smbd"))) {
+-        return true;
++    const QByteArray pathEnv = qgetenv("PATH");
++    if (!pathEnv.isEmpty()) {
++        QLatin1Char pathSep(':');
++        QStringList paths = QFile::decodeName(pathEnv).split(pathSep, QString::SkipEmptyParts);
++        for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) {
++            it->append(QStringLiteral("/smbd"));
++            if (QFile::exists(*it)) {
++                return true;
++            }
++        }
+     }
+ 
+-    //qDebug() << "Samba is not installed!";
+-
+     return false;
+ }
+