nixos/uptime-kuma: Add additional lockdown settings to systemd unit (#361452)
[NixPkgs.git] / pkgs / os-specific / linux / cpupower-gui / default.nix
blobca6ce58bad455d0500eff3e9337c029b3f91041e
1 { lib
2 , fetchFromGitHub
3 , fetchpatch
4 , buildPythonApplication
5 , appstream-glib
6 , dbus-python
7 , desktop-file-utils
8 , gettext
9 , glib
10 , gobject-introspection
11 , gtk3
12 , hicolor-icon-theme
13 , libappindicator
14 , libhandy
15 , meson
16 , ninja
17 , pkg-config
18 , pygobject3
19 , pyxdg
20 , systemd
21 , wrapGAppsHook3
24 buildPythonApplication rec {
25   pname = "cpupower-gui";
26   version = "1.0.0";
28   # This packages doesn't have a setup.py
29   format = "other";
31   src = fetchFromGitHub {
32     owner = "vagnum08";
33     repo = pname;
34     rev = "v${version}";
35     sha256 = "05lvpi3wgyi741sd8lgcslj8i7yi3wz7jwl7ca3y539y50hwrdas";
36   };
38   patches = [
39     # Fix build with 0.61, can be removed on next update
40     # https://hydra.nixos.org/build/171052557/nixlog/1
41     (fetchpatch {
42       url = "https://github.com/vagnum08/cpupower-gui/commit/97f8ac02fe33e412b59d3f3968c16a217753e74b.patch";
43       sha256 = "XYnpm03kq8JLMjAT73BMCJWlzz40IAuHESm715VV6G0=";
44     })
45     # Fixes https://github.com/vagnum08/cpupower-gui/issues/86
46     (fetchpatch {
47       url = "https://github.com/vagnum08/cpupower-gui/commit/22ea668aa4ecf848149ea4c150aa840a25dc6ff8.patch";
48       sha256 = "sha256-Mri7Af1Y79lt2pvZl4DQSvrqSLIJLIjzyXwMPFEbGVI=";
49     })
50   ];
52   nativeBuildInputs = [
53     appstream-glib
54     desktop-file-utils # needed for update-desktop-database
55     gettext
56     glib # needed for glib-compile-schemas
57     gobject-introspection # need for gtk namespace to be available
58     hicolor-icon-theme # needed for postinstall script
59     meson
60     ninja
61     pkg-config
62     wrapGAppsHook3
64     # Python packages
65     dbus-python
66     libappindicator
67     pygobject3
68     pyxdg
69   ];
71   buildInputs = [
72     glib
73     gtk3
74     libhandy
75   ];
77   propagatedBuildInputs = [
78     dbus-python
79     libappindicator
80     pygobject3
81     pyxdg
82   ];
84   mesonFlags = [
85     "-Dsystemddir=${placeholder "out"}/lib/systemd"
86   ];
88   preConfigure = ''
89     patchShebangs build-aux/meson/postinstall.py
90   '';
92   strictDeps = false;
93   dontWrapGApps = true;
95   makeWrapperArgs = [ "\${gappsWrapperArgs[@]}" ];
97   postFixup = ''
98     wrapPythonProgramsIn $out/lib "$out $propagatedBuildInputs"
99   '';
101   meta = with lib; {
102     description = "Change the frequency limits of your cpu and its governor";
103     mainProgram = "cpupower-gui";
104     homepage = "https://github.com/vagnum08/cpupower-gui/";
105     license = licenses.gpl3Plus;
106     maintainers = with maintainers; [ unode ];
107   };