mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-12 03:56:17 +03:00
Merge pull request #93306 from romildo/fix.kdesu
kdesu: provide a script in bin and look for daemon first in /run/wrappers/bin
This commit is contained in:
commit
d9dddc28a3
@ -1,5 +1,5 @@
|
||||
{
|
||||
mkDerivation, extra-cmake-modules, kdoctools,
|
||||
lib, mkDerivation, extra-cmake-modules, kdoctools,
|
||||
kcmutils, kconfig, kdesu, ki18n, kiconthemes, kinit, kio, kwindowsystem,
|
||||
qtsvg, qtx11extras, kactivities, plasma-workspace
|
||||
}:
|
||||
@ -11,4 +11,18 @@ mkDerivation {
|
||||
kcmutils kconfig kdesu ki18n kiconthemes kinit kio kwindowsystem qtsvg
|
||||
qtx11extras kactivities plasma-workspace
|
||||
];
|
||||
postInstall = ''
|
||||
# install a symlink in bin so that kdesu can eventually be found in PATH
|
||||
mkdir -p $out/bin
|
||||
ln -s $out/libexec/kf5/kdesu $out/bin
|
||||
'';
|
||||
dontWrapQtApps = true;
|
||||
preFixup = ''
|
||||
for program in $out/bin/*; do
|
||||
wrapQtApp $program
|
||||
done
|
||||
|
||||
# kdesu looks for kdeinit5 in PATH
|
||||
wrapQtApp $out/libexec/kf5/kdesu --suffix PATH : ${lib.getBin kinit}/bin
|
||||
'';
|
||||
}
|
||||
|
@ -149,7 +149,7 @@ let
|
||||
kdeclarative = callPackage ./kdeclarative.nix {};
|
||||
kded = callPackage ./kded.nix {};
|
||||
kdesignerplugin = callPackage ./kdesignerplugin.nix {};
|
||||
kdesu = callPackage ./kdesu.nix {};
|
||||
kdesu = callPackage ./kdesu {};
|
||||
kdewebkit = callPackage ./kdewebkit.nix {};
|
||||
kemoticons = callPackage ./kemoticons.nix {};
|
||||
kglobalaccel = callPackage ./kglobalaccel.nix {};
|
||||
|
@ -11,4 +11,5 @@ mkDerivation {
|
||||
buildInputs = [ kcoreaddons ki18n kpty kservice qtbase ];
|
||||
propagatedBuildInputs = [ kpty ];
|
||||
outputs = [ "out" "dev" ];
|
||||
patches = [ ./kdesu-search-for-wrapped-daemon-first.patch ];
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
From 01af4d2a098e5819c09bca37568941dcd4b89d0b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
|
||||
Date: Thu, 16 Jul 2020 13:21:42 -0300
|
||||
Subject: [PATCH] Search for the daemon first in /run/wrappers/bin
|
||||
|
||||
If looking first in libexec, the eventually wrapped one in
|
||||
/run/wrappers/bin can not be found.
|
||||
---
|
||||
src/client.cpp | 13 ++++++++-----
|
||||
1 file changed, 8 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/client.cpp b/src/client.cpp
|
||||
index 44fbacd..6b5abf5 100644
|
||||
--- a/src/client.cpp
|
||||
+++ b/src/client.cpp
|
||||
@@ -378,11 +378,14 @@ int KDEsuClient::stopServer()
|
||||
|
||||
static QString findDaemon()
|
||||
{
|
||||
- QString daemon = QFile::decodeName(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/kdesud");
|
||||
- if (!QFile::exists(daemon)) { // if not in libexec, find it in PATH
|
||||
- daemon = QStandardPaths::findExecutable(QStringLiteral("kdesud"));
|
||||
- if (daemon.isEmpty()) {
|
||||
- qWarning() << "kdesud daemon not found.";
|
||||
+ QString daemon = QFile::decodeName("/run/wrappers/bin/kdesud");
|
||||
+ if (!QFile::exists(daemon)) { // if not in wrappers
|
||||
+ daemon = QFile::decodeName(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/kdesud");
|
||||
+ if (!QFile::exists(daemon)) { // if not in libexec, find it in PATH
|
||||
+ daemon = QStandardPaths::findExecutable(QStringLiteral("kdesud"));
|
||||
+ if (daemon.isEmpty()) {
|
||||
+ qWarning() << "kdesud daemon not found.";
|
||||
+ }
|
||||
}
|
||||
}
|
||||
return daemon;
|
||||
--
|
||||
2.27.0
|
||||
|
Loading…
Reference in New Issue
Block a user