1{
2 mkDerivation,
3 lib,
4 extra-cmake-modules,
5 kdoctools,
6 qttools,
7 kcmutils,
8 kcompletion,
9 kconfig,
10 kconfigwidgets,
11 kcoreaddons,
12 kdbusaddons,
13 kdeclarative,
14 ki18n,
15 kiconthemes,
16 kio,
17 kirigami2,
18 kpackage,
19 kservice,
20 kwayland,
21 kwidgetsaddons,
22 kxmlgui,
23 solid,
24 systemsettings,
25 dmidecode,
26 fwupd,
27 libraw1394,
28 libusb1,
29 libGLU,
30 pciutils,
31 smartmontools,
32 util-linux,
33 vulkan-tools,
34 wayland-utils,
35 xdpyinfo,
36}:
37
38let
39 inherit (lib) getBin getExe;
40
41 qdbus = "${getBin qttools}/bin/qdbus";
42
43in
44mkDerivation {
45 pname = "kinfocenter";
46
47 nativeBuildInputs = [
48 extra-cmake-modules
49 kdoctools
50 ];
51
52 buildInputs = [
53 kcmutils
54 kcompletion
55 kconfig
56 kconfigwidgets
57 kcoreaddons
58 kdbusaddons
59 kdeclarative
60 ki18n
61 kiconthemes
62 kio
63 kirigami2
64 kpackage
65 kservice
66 kwayland
67 kwidgetsaddons
68 kxmlgui
69 solid
70 systemsettings
71
72 dmidecode
73 fwupd
74 libraw1394
75 libusb1
76 libGLU
77 pciutils
78 smartmontools
79 util-linux
80 vulkan-tools
81 wayland-utils
82 xdpyinfo
83 ];
84
85 patches = [
86 ./0001-tool-paths.patch
87 ];
88
89 postPatch = ''
90 for f in Modules/kwinsupportinfo/{kcm_kwinsupportinfo.json.in,main.cpp}; do
91 substituteInPlace $f \
92 --replace "@qdbus@" "${qdbus}"
93 done
94
95 for f in Modules/xserver/{kcm_xserver.json,main.cpp}; do
96 substituteInPlace $f \
97 --replace "@xdpyinfo@" "${getExe xdpyinfo}"
98 done
99 '';
100
101 # fix wrong symlink of infocenter pointing to a 'systemsettings5' binary in
102 # the same directory, while it is actually located in a completely different
103 # store path
104 preFixup = ''
105 ln -sf ${systemsettings}/bin/systemsettings $out/bin/kinfocenter
106 '';
107}