Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / misc / safeeyes / default.nix
blob6c839f65d942ebd2ca34c99dc05f50606335eb53
1 { lib
2 , python3
3 , fetchPypi
4 , alsa-utils
5 , gobject-introspection
6 , libappindicator-gtk3
7 , libnotify
8 , wlrctl
9 , gtk3
10 , safeeyes
11 , testers
12 , xprintidle
13 , xprop
14 , wrapGAppsHook
17 with python3.pkgs;
19 buildPythonApplication rec {
20   pname = "safeeyes";
21   version = "2.1.6";
23   src = fetchPypi {
24     inherit pname version;
25     hash = "sha256-tvsBTf6+zKBzB5aL+LUcEvE4jmVHnnoY0L4xoKMJ0vM=";
26   };
28   nativeBuildInputs = [
29     wrapGAppsHook
30     gobject-introspection
31   ];
33   buildInputs = [
34     gtk3
35     libappindicator-gtk3
36     libnotify
37   ];
39   propagatedBuildInputs = [
40     babel
41     psutil
42     xlib
43     pygobject3
44     dbus-python
45     croniter
46   ];
48   # Prevent double wrapping, let the Python wrapper use the args in preFixup.
49   dontWrapGApps = true;
51   postInstall = ''
52     mkdir -p $out/share/applications
53     cp -r safeeyes/platform/icons $out/share/icons/
54     cp safeeyes/platform/io.github.slgobinath.SafeEyes.desktop $out/share/applications/io.github.slgobinath.SafeEyes.desktop
55   '';
57   preFixup = ''
58     makeWrapperArgs+=(
59       "''${gappsWrapperArgs[@]}"
60       --prefix PATH : ${lib.makeBinPath [ alsa-utils wlrctl xprintidle xprop ]}
61     )
62   '';
64   doCheck = false; # no tests
66   passthru.tests.version = testers.testVersion { package = safeeyes; };
68   meta = with lib; {
69     homepage = "http://slgobinath.github.io/SafeEyes";
70     description = "Protect your eyes from eye strain using this simple and beautiful, yet extensible break reminder. A Free and Open Source Linux alternative to EyeLeo";
71     license = licenses.gpl3;
72     maintainers = with maintainers; [ srghma ];
73     platforms = platforms.linux;
74     mainProgram = "safeeyes";
75   };