nixpkgs/pkgs/desktops/plasma-5/kinfocenter/default.nix
2023-04-10 17:52:43 +02:00

104 lines
1.6 KiB
Nix

{ mkDerivation
, lib
, extra-cmake-modules
, kdoctools
, qttools
, kcmutils
, kcompletion
, kconfig
, kconfigwidgets
, kcoreaddons
, kdbusaddons
, kdeclarative
, ki18n
, kiconthemes
, kio
, kirigami2
, kpackage
, kservice
, kwayland
, kwidgetsaddons
, kxmlgui
, solid
, systemsettings
, dmidecode
, fwupd
, libraw1394
, libusb1
, libGLU
, pciutils
, smartmontools
, util-linux
, vulkan-tools
, wayland-utils
, xdpyinfo
}:
let
inherit (lib) getBin getExe;
qdbus = "${getBin qttools}/bin/qdbus";
in
mkDerivation {
pname = "kinfocenter";
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
kcmutils
kcompletion
kconfig
kconfigwidgets
kcoreaddons
kdbusaddons
kdeclarative
ki18n
kiconthemes
kio
kirigami2
kpackage
kservice
kwayland
kwidgetsaddons
kxmlgui
solid
systemsettings
dmidecode
fwupd
libraw1394
libusb1
libGLU
pciutils
smartmontools
util-linux
vulkan-tools
wayland-utils
xdpyinfo
];
patches = [
./0001-tool-paths.patch
];
postPatch = ''
for f in Modules/kwinsupportinfo/{kcm_kwinsupportinfo.json.in,main.cpp}; do
substituteInPlace $f \
--replace "@qdbus@" "${qdbus}"
done
for f in Modules/xserver/{kcm_xserver.json,main.cpp}; do
substituteInPlace $f \
--replace "@xdpyinfo@" "${getExe xdpyinfo}"
done
'';
# 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
preFixup = ''
ln -sf ${systemsettings}/bin/systemsettings $out/bin/kinfocenter
'';
}