depot/third_party/nixpkgs/pkgs/desktops/plasma-5/kinfocenter/default.nix

107 lines
1.7 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
'';
}