summary refs log tree commit diff
path: root/pkgs/misc/screensavers
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/misc/screensavers')
-rw-r--r--pkgs/misc/screensavers/xlockmore/default.nix30
-rw-r--r--pkgs/misc/screensavers/xlockmore/makefile-libcrypt.patch11
2 files changed, 41 insertions, 0 deletions
diff --git a/pkgs/misc/screensavers/xlockmore/default.nix b/pkgs/misc/screensavers/xlockmore/default.nix
new file mode 100644
index 00000000000..025a2c044eb
--- /dev/null
+++ b/pkgs/misc/screensavers/xlockmore/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, pam, x11, freetype}:
+
+stdenv.mkDerivation {
+  # FIXME: Password authentication doesn't work!
+
+  name = "xlockmore-5.24";
+  src = fetchurl {
+    url = http://www.tux.org/~bagleyd/xlock/xlockmore-5.24.tar.bz2;
+    sha256 = "dbee7bbe35c08afcbe419603fae60aee7898bbd85a3175dc788f02ddbb9f5a39";
+  };
+
+  # Optionally, it can use GTK+ as well.
+  buildInputs = [pam x11 freetype];
+
+  # The `xlock' program needs to be linked against Glibc's
+  # `libgcrypt', which contains `crypt(3)'.
+  patches = [ ./makefile-libcrypt.patch ];
+
+  # Don't try to install `xlock' setuid.  Instead, the user should add
+  # it to `security.extraSetuidPrograms'.
+  configureFlags = 
+    "--disable-setuid " + "--enable-pam " +
+    "--enable-appdefaultdir=$out/lib/X11/app-defaults";
+
+  meta = {
+    description = "Xlockmore, a screen locker for the X Window System.";
+    homepage = http://www.tux.org/~bagleyd/xlockmore.html;
+    license = "GPL";
+  };
+}
diff --git a/pkgs/misc/screensavers/xlockmore/makefile-libcrypt.patch b/pkgs/misc/screensavers/xlockmore/makefile-libcrypt.patch
new file mode 100644
index 00000000000..df31a00a13b
--- /dev/null
+++ b/pkgs/misc/screensavers/xlockmore/makefile-libcrypt.patch
@@ -0,0 +1,11 @@
+--- xlockmore-5.24/modes/Makefile.in	2007-01-22 23:02:07.000000000 +0100
++++ xlockmore-5.24/modes/Makefile.in	2008-02-11 17:24:34.000000000 +0100
+@@ -326,7 +326,7 @@ CFLAGS = @CFLAGS@
+ CXXFLAGS = @CXXFLAGS@
+ #CFLAGS = -O
+ #CFLAGS = -g
+-XLOCKLDFLAGS = @XLOCKLDFLAGS@ $(CHECKLDFLAG)
++XLOCKLDFLAGS = @XLOCKLDFLAGS@ $(CHECKLDFLAG) -lcrypt
+ XLIBS = @XLIBS@
+ XLOCKLIBS = $(MODULELIB) @XLOCKLIBS@
+