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