evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / gk / gkraken / package.nix
blob9866c049fa7aaa097620cf372448d95794fd4039
1 { python3Packages
2 , lib
3 , fetchFromGitLab
4 , meson
5 , pkg-config
6 , glib
7 , ninja
8 , desktop-file-utils
9 , gobject-introspection
10 , gtk3
11 , libnotify
12 , dbus
13 , wrapGAppsHook3
16 python3Packages.buildPythonApplication rec {
17   pname = "gkraken";
18   version = "1.2.0";
20   src = fetchFromGitLab {
21     owner = "leinardi";
22     repo = "gkraken";
23     rev = version;
24     sha256 = "0hxlh0319rl28iba02917z3n6d5cq2qcgpj2ng31bkjjhlvvfm2g";
25   };
27   format = "other";
29   postPatch = ''
30     patchShebangs scripts/meson_post_install.py
31   '';
33   nativeBuildInputs = [
34     meson
35     pkg-config
36     gobject-introspection
37     glib
38     ninja
39     gtk3
40     desktop-file-utils
41     wrapGAppsHook3
42   ];
44   buildInputs = [
45     glib
46     gtk3
47     libnotify
48     dbus
49   ];
51   propagatedBuildInputs = with python3Packages; [
52     pygobject3
53     peewee
54     rx
55     injector
56     liquidctl
57     pyxdg
58     requests
59     matplotlib
60     dbus-python
61   ];
63   dontWrapGApps = true;
65   # Extract udev rules from python code
66   postInstall = ''
67     mkdir -p $out/lib/udev/rules.d
68     sed -e '/\s*\(from\|@singleton\|@inject\)/d' $src/gkraken/interactor/udev_interactor.py > udev_interactor.py
69     python -c 'from udev_interactor import _UDEV_RULE; print(_UDEV_RULE)' > $out/lib/udev/rules.d/60-gkraken.rules
70   '';
72   preFixup = ''
73     makeWrapperArgs+=(
74       "''${gappsWrapperArgs[@]}"
75     )
76   '';
78   meta = with lib; {
79     description = "GUI that allows to control the cooling (fan and/or pump profiles) of NZXT Kraken AIO liquid coolers from Linux";
80     homepage = "https://gitlab.com/leinardi/gkraken";
81     changelog = "https://gitlab.com/leinardi/gkraken/-/tags/${version}";
82     license = licenses.gpl3Plus;
83     maintainers = with maintainers; [ OPNA2608 ];
84     platforms = platforms.linux;
85     mainProgram = "gkraken";
86   };