about summary refs log tree commit diff
path: root/pkgs/misc/screensavers
diff options
context:
space:
mode:
authorBalletie <skip_meesie@hotmail.com>2016-12-18 18:20:29 +0100
committerBalletie <skip_meesie@hotmail.com>2016-12-18 19:26:58 +0100
commit786b5dd07b12afdd967cb6df1ec6c592817cdd89 (patch)
tree3d6c47e417afdc9b8366a9deffe2aa72e6dff592 /pkgs/misc/screensavers
parenta66b703f94e80215a46b10bbd613ae9c8d9d74ec (diff)
downloadnixlib-786b5dd07b12afdd967cb6df1ec6c592817cdd89.tar
nixlib-786b5dd07b12afdd967cb6df1ec6c592817cdd89.tar.gz
nixlib-786b5dd07b12afdd967cb6df1ec6c592817cdd89.tar.bz2
nixlib-786b5dd07b12afdd967cb6df1ec6c592817cdd89.tar.lz
nixlib-786b5dd07b12afdd967cb6df1ec6c592817cdd89.tar.xz
nixlib-786b5dd07b12afdd967cb6df1ec6c592817cdd89.tar.zst
nixlib-786b5dd07b12afdd967cb6df1ec6c592817cdd89.zip
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
Diffstat (limited to 'pkgs/misc/screensavers')
-rw-r--r--pkgs/misc/screensavers/light-locker/default.nix22
-rw-r--r--pkgs/misc/screensavers/light-locker/systemd.patch13
2 files changed, 32 insertions, 3 deletions
diff --git a/pkgs/misc/screensavers/light-locker/default.nix b/pkgs/misc/screensavers/light-locker/default.nix
index 80e405d4442f..17b0ef5e7d52 100644
--- a/pkgs/misc/screensavers/light-locker/default.nix
+++ b/pkgs/misc/screensavers/light-locker/default.nix
@@ -5,6 +5,8 @@
 , glib
 , pkgconfig
 , libX11
+, libXScrnSaver
+, libXxf86misc
 , gtk3
 , dbus_glib
 , systemd
@@ -23,18 +25,32 @@ stdenv.mkDerivation rec {
     sha256 = "0ygkp5vgkx2nfhfql6j2jsfay394gda23ir3sx4f72j4agsirjvj";
   };
 
-  buildInputs = [ which xfce.xfce4_dev_tools glib pkgconfig libX11 gtk3 dbus_glib systemd wrapGAppsHook ];
+  # 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.
+      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 ];
diff --git a/pkgs/misc/screensavers/light-locker/systemd.patch b/pkgs/misc/screensavers/light-locker/systemd.patch
new file mode 100644
index 000000000000..9cba8b9c0d2f
--- /dev/null
+++ b/pkgs/misc/screensavers/light-locker/systemd.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac.in b/configure.ac.in
+index f7d5f5d..341bc83 100644
+--- a/configure.ac.in
++++ b/configure.ac.in
+@@ -424,7 +424,7 @@ AC_ARG_WITH(systemd,
+             [with_systemd=$withval], [with_systemd=auto])
+ 
+ PKG_CHECK_MODULES(SYSTEMD,
+-                  [libsystemd-login],
++                  [libsystemd],
+                   [have_systemd=yes], [have_systemd=no])
+ 
+ if test "x$with_systemd" = "xauto" ; then