Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / misc / screensavers / light-locker / default.nix
blob33db5825bc0209b41846d0582636ca2ca7b8cd8d
1 { lib, stdenv
2 , fetchFromGitHub
3 , nix-update-script
4 , meson
5 , ninja
6 , pkg-config
7 , gtk3
8 , glib
9 , intltool
10 , dbus-glib
11 , libX11
12 , libXScrnSaver
13 , libXxf86vm
14 , libXext
15 , systemd
16 , pantheon
17 , wrapGAppsHook
20 stdenv.mkDerivation rec {
21   pname = "light-locker";
22   version = "1.9.0";
24   outputs = [ "out" "man" ];
26   src = fetchFromGitHub {
27     owner = "the-cavalry";
28     repo = pname;
29     rev = "v${version}";
30     sha256 = "1z5lcd02gqax65qc14hj5khifg7gr53zy3s5i6apba50lbdlfk46";
31   };
33   nativeBuildInputs = [
34     intltool
35     meson
36     ninja
37     pkg-config
38     wrapGAppsHook
39   ];
41   buildInputs = [
42     dbus-glib
43     glib
44     gtk3
45     libX11
46     libXScrnSaver
47     libXext
48     libXxf86vm
49     systemd
50   ];
52   mesonFlags = [
53     "-Dmit-ext=true"
54     "-Ddpms-ext=true"
55     "-Dxf86gamma-ext=true"
56     "-Dsystemd=true"
57     "-Dupower=true"
58     "-Dlate-locking=true"
59     "-Dlock-on-suspend=true"
60     "-Dlock-on-lid=true"
61     "-Dgsettings=true"
62   ];
64   postInstall = ''
65     ${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
66   '';
68   passthru = {
69     updateScript = nix-update-script { };
70   };
72   meta = with lib; {
73     homepage = "https://github.com/the-cavalry/light-locker";
74     description = "A simple session-locker for LightDM";
75     longDescription = ''
76       A simple locker (forked from gnome-screensaver) that aims to
77       have simple, sane, secure defaults and be well integrated with
78       the desktop while not carrying any desktop-specific
79       dependencies.
81       It relies on LightDM for locking and unlocking your session via
82       ConsoleKit/UPower or logind/systemd.
83     '';
84     license = licenses.gpl2;
85     maintainers = with maintainers; [ obadz ] ++ teams.pantheon.members;
86     platforms = platforms.linux;
87   };