From 9a8481780b31e101dc941a3d619ce4803dc5d525 Mon Sep 17 00:00:00 2001 From: apfelkuchen06 Date: Mon, 21 Nov 2022 17:26:07 +0100 Subject: [PATCH] libsForQt515.solid: patch binary search paths This adds "/run/wrappers/bin" to a hardcoded list of search paths. This is neccessary to mount filesystems configured in /etc/fstab in dolphin (for example network shares that are not always mounted). Fixes #188098. --- .../libraries/kde-frameworks/default.nix | 2 +- .../{solid.nix => solid/default.nix} | 1 + .../kde-frameworks/solid/fix-search-path.patch | 17 +++++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) rename pkgs/development/libraries/kde-frameworks/{solid.nix => solid/default.nix} (89%) create mode 100644 pkgs/development/libraries/kde-frameworks/solid/fix-search-path.patch diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix index 516f1ea8850f..1e8ce2dd5227 100644 --- a/pkgs/development/libraries/kde-frameworks/default.nix +++ b/pkgs/development/libraries/kde-frameworks/default.nix @@ -128,7 +128,7 @@ let oxygen-icons5 = callPackage ./oxygen-icons5.nix {}; prison = callPackage ./prison.nix {}; qqc2-desktop-style = callPackage ./qqc2-desktop-style.nix {}; - solid = callPackage ./solid.nix {}; + solid = callPackage ./solid {}; sonnet = callPackage ./sonnet.nix {}; syntax-highlighting = callPackage ./syntax-highlighting.nix {}; threadweaver = callPackage ./threadweaver.nix {}; diff --git a/pkgs/development/libraries/kde-frameworks/solid.nix b/pkgs/development/libraries/kde-frameworks/solid/default.nix similarity index 89% rename from pkgs/development/libraries/kde-frameworks/solid.nix rename to pkgs/development/libraries/kde-frameworks/solid/default.nix index 69ef8c8adca3..8c39025e9457 100644 --- a/pkgs/development/libraries/kde-frameworks/solid.nix +++ b/pkgs/development/libraries/kde-frameworks/solid/default.nix @@ -6,6 +6,7 @@ mkDerivation { pname = "solid"; + patches = [ ./fix-search-path.patch ]; nativeBuildInputs = [ bison extra-cmake-modules flex media-player-info ]; buildInputs = [ qtdeclarative qttools ]; propagatedBuildInputs = [ qtbase ]; diff --git a/pkgs/development/libraries/kde-frameworks/solid/fix-search-path.patch b/pkgs/development/libraries/kde-frameworks/solid/fix-search-path.patch new file mode 100644 index 000000000000..010aa1f3efcc --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/solid/fix-search-path.patch @@ -0,0 +1,17 @@ +diff --git a/src/solid/devices/backends/fstab/fstabhandling.cpp b/src/solid/devices/backends/fstab/fstabhandling.cpp +index ac2a628..7ee46cc 100644 +--- a/src/solid/devices/backends/fstab/fstabhandling.cpp ++++ b/src/solid/devices/backends/fstab/fstabhandling.cpp +@@ -275,7 +275,11 @@ bool Solid::Backends::Fstab::FstabHandling::callSystemCommand(const QString &com + const QObject *receiver, + std::function callback) + { +- static const QStringList searchPaths{QStringLiteral("/sbin"), QStringLiteral("/bin"), QStringLiteral("/usr/sbin"), QStringLiteral("/usr/bin")}; ++ static const QStringList searchPaths{QStringLiteral("/run/wrappers/bin"), ++ QStringLiteral("/sbin"), ++ QStringLiteral("/bin"), ++ QStringLiteral("/usr/sbin"), ++ QStringLiteral("/usr/bin")}; + static const QString joinedPaths = searchPaths.join(QLatin1Char(':')); + const QString exec = QStandardPaths::findExecutable(commandName, searchPaths); + if (exec.isEmpty()) {