3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/misc/screensavers/light-locker/default.nix
Balletie 786b5dd07b
light-locker: use systemd/logind instead of UPower
Since systemd has been adopted for a while now, we should switch to
using it for light-locker as well. So I disabled ConsoleKit/UPower
support in favor of using systemd with logind. This fixed many issues
for me, and made light-locker working again.

I followed the PKGBUILD of Arch's package in determining the right
configure flags. See: https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/light-locker
2016-12-18 19:26:58 +01:00

60 lines
1.6 KiB
Nix

{ stdenv
, fetchFromGitHub
, which
, xfce
, glib
, pkgconfig
, libX11
, libXScrnSaver
, libXxf86misc
, gtk3
, dbus_glib
, systemd
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
name = "${basename}-${version}";
basename = "light-locker";
version = "1.7.0";
src = fetchFromGitHub {
owner = "the-cavalry";
repo = basename;
rev = "v${version}";
sha256 = "0ygkp5vgkx2nfhfql6j2jsfay394gda23ir3sx4f72j4agsirjvj";
};
# Patch so that systemd is "found" when configuring.
patches = [ ./systemd.patch ];
buildInputs = [ which xfce.xfce4_dev_tools glib systemd pkgconfig
libX11 libXScrnSaver libXxf86misc gtk3 dbus_glib wrapGAppsHook ];
preConfigure = ''
./autogen.sh
'';
configureFlags = [ "--with-xf86gamma-ext" "--with-mit-ext"
"--with-dpms-ext" "--with-systemd"
# ConsoleKit and UPower were dropped in favor
# of systemd replacements
"--without-console-kit" "--without-upower" ];
meta = with stdenv.lib; {
homepage = https://github.com/the-cavalry/light-locker;
description = "Light-locker is a simple locker";
longDescription = ''
light-locker is a simple locker (forked from gnome-screensaver)
that aims to have simple, sane, secure defaults and be well
integrated with the desktop while not carrying any
desktop-specific dependencies. It relies on lightdm for locking
and unlocking your session via ConsoleKit/UPower or
logind/systemd.
'';
license = licenses.gpl2;
maintainers = with maintainers; [ obadz ];
platforms = platforms.linux;
};
}