1{
2 botan3,
3 fetchFromGitLab,
4 cmake,
5 pkg-config,
6 hwdata,
7 lib,
8 libdrm,
9 kdePackages,
10 mesa-demos,
11 polkit,
12 procps,
13 pugixml,
14 spdlog,
15 stdenv,
16 util-linux,
17 vulkan-tools,
18}:
19
20stdenv.mkDerivation (finalAttrs: {
21 pname = "corectrl";
22 version = "1.5.1";
23
24 src = fetchFromGitLab {
25 owner = "corectrl";
26 repo = "corectrl";
27 tag = "v${finalAttrs.version}";
28 hash = "sha256-NwGrvDqImiyPc3AsL7rMwNG9na+AzZS6NvXQOc6VWHg=";
29 };
30
31 nativeBuildInputs = [
32 cmake
33 pkg-config
34 kdePackages.extra-cmake-modules
35 kdePackages.wrapQtAppsHook
36 ];
37
38 buildInputs = [
39 botan3
40 libdrm # TODO: report upstream that libdrm is not detected at configure time
41 kdePackages.karchive
42 kdePackages.kauth
43 kdePackages.qtbase
44 kdePackages.qtcharts
45 kdePackages.qtsvg
46 kdePackages.qttools
47 kdePackages.quazip
48 mesa-demos
49 polkit
50 procps
51 pugixml
52 spdlog
53 util-linux
54 vulkan-tools
55 ];
56
57 patches = [
58 ./Always-locate-polkit-with-pkg-config.diff
59 ];
60
61 cmakeFlags = [
62 "-DINSTALL_DBUS_FILES_IN_PREFIX=true"
63 "-DPOLKIT_POLICY_INSTALL_DIR=${placeholder "out"}/share/polkit-1/actions"
64 "-DWITH_PCI_IDS_PATH=${hwdata}/share/hwdata/pci.ids"
65 ];
66
67 runtimeInputs = [
68 hwdata
69 mesa-demos
70 procps
71 util-linux
72 vulkan-tools
73 ];
74
75 qtWrapperArgs = [
76 "--prefix PATH : ${lib.makeBinPath finalAttrs.runtimeInputs}"
77 ];
78
79 meta = {
80 homepage = "https://gitlab.com/corectrl/corectrl/";
81 description = "Control your computer hardware via application profiles";
82 longDescription = ''
83 CoreCtrl is a Free and Open Source GNU/Linux application that allows you
84 to control with ease your computer hardware using application profiles. It
85 aims to be flexible, comfortable and accessible to regular users.
86 '';
87 license = lib.licenses.gpl3Plus;
88 platforms = lib.platforms.linux;
89 maintainers = with lib.maintainers; [ Scrumplex ];
90 };
91})