summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorElias Probst <mail@eliasprobst.eu>2021-01-03 23:24:59 +0100
committerPeter Hoeg <peter@hoeg.com>2021-02-17 09:06:14 +0800
commitaec54bddb805fe1199e2a47895ceb09f94c75e17 (patch)
treea33555630c5b1da76b863d11942e4fe82bfee14c /pkgs/desktops
parent290fdcf76f0aacf863d8b9ac9f59ac4a06509949 (diff)
downloadnixpkgs-aec54bddb805fe1199e2a47895ceb09f94c75e17.tar
nixpkgs-aec54bddb805fe1199e2a47895ceb09f94c75e17.tar.gz
nixpkgs-aec54bddb805fe1199e2a47895ceb09f94c75e17.tar.bz2
nixpkgs-aec54bddb805fe1199e2a47895ceb09f94c75e17.tar.lz
nixpkgs-aec54bddb805fe1199e2a47895ceb09f94c75e17.tar.xz
nixpkgs-aec54bddb805fe1199e2a47895ceb09f94c75e17.tar.zst
nixpkgs-aec54bddb805fe1199e2a47895ceb09f94c75e17.zip
kinfocenter: fix symlink to systemsettings5
As `kinfocenter`'s implementation consists of only KCMs, which are
actually just displayed using `systemsettings5`' KCM shell, the
`kinfocenter` binary is just a symlink to `systemsettings5`.

In traditional FHS environments, having a relative symlink to the
`systemsettings5` binary within the same `bin/` directory works just
fine, whereas this is broken on NixOS where `systemsettings5` resides in
a completely different `bin/` directory of the corresponding store item.

Usually CMake's `find_package` should be able to locate the
`systemsettings5` binary, but fails for reasons unknown to do so on
NixOS - so for now fixing the symlink manually as part of the `preFixup`
phase will do the job of making `kinfocenter` work again.
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/plasma-5/kinfocenter.nix9
1 files changed, 7 insertions, 2 deletions
diff --git a/pkgs/desktops/plasma-5/kinfocenter.nix b/pkgs/desktops/plasma-5/kinfocenter.nix
index c8213482d79..23e225bd744 100644
--- a/pkgs/desktops/plasma-5/kinfocenter.nix
+++ b/pkgs/desktops/plasma-5/kinfocenter.nix
@@ -5,7 +5,7 @@
   kcmutils, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons,
   kdeclarative, kdelibs4support, ki18n, kiconthemes, kio, kirigami2, kpackage,
   kservice, kwayland, kwidgetsaddons, kxmlgui, libraw1394, libGLU, pciutils,
-  solid
+  solid, systemsettings
 }:
 
 mkDerivation {
@@ -15,6 +15,11 @@ mkDerivation {
   buildInputs = [
     kcmutils kcompletion kconfig kconfigwidgets kcoreaddons kdbusaddons
     kdeclarative kdelibs4support ki18n kiconthemes kio kirigami2 kpackage
-    kservice kwayland kwidgetsaddons kxmlgui libraw1394 libGLU pciutils solid
+    kservice kwayland kwidgetsaddons kxmlgui libraw1394 libGLU pciutils solid systemsettings
   ];
+  preFixup = ''
+    # fix wrong symlink of infocenter pointing to a 'systemsettings5' binary in the same directory,
+    # while it is actually located in a completely different store path
+    ln -sf ${lib.getBin systemsettings}/bin/systemsettings5 $out/bin/kinfocenter
+  '';
 }