summary refs log tree commit diff
path: root/gnu/packages/xdisorg.scm
diff options
context:
space:
mode:
authorJakub Kądziołka <kuba@kadziolka.net>2019-12-31 23:07:45 +0100
committerBrett Gilio <brettg@gnu.org>2020-01-01 22:18:24 -0600
commitd2536ed15d82973e4bfab3e7859e98b82074946f (patch)
treea376cfc948ee32c9401ead757d9daed02636aa3b /gnu/packages/xdisorg.scm
parent261e0356dc62f26667f91658e7dfcd3c38bf6712 (diff)
downloadguix-d2536ed15d82973e4bfab3e7859e98b82074946f.tar.gz
gnu: Add xsecurelock.
* gnu/packages/xdisorg.scm (xsecurelock): New variable.

Signed-off-by: Brett Gilio <brettg@gnu.org>
Diffstat (limited to 'gnu/packages/xdisorg.scm')
-rw-r--r--gnu/packages/xdisorg.scm47
1 files changed, 47 insertions, 0 deletions
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 9b198a02da..d27ba68d4e 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -72,6 +72,7 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages haskell-xyz)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages man)
   #:use-module (gnu packages maths)
@@ -1848,6 +1849,52 @@ colors on all monitors attached to an XRandR-capable X11 display server.")
 temperature of the screen.")
     (license (license:non-copyleft "file://sct.c")))) ; "OpenBSD" license
 
+(define-public xsecurelock
+  (package
+    (name "xsecurelock")
+    (version "1.6.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/google/xsecurelock/releases"
+                    "/download/v" version "/xsecurelock-" version ".tar.gz"))
+              (sha256
+               (base32 "070gknyv0s5hz9hkc6v73m2v7ssyjwgl93b5hd4glayfqxqjbmdp"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:configure-flags
+       '("--with-pam-service-name=login"
+         "--with-xkb"
+         "--with-default-authproto-module=/run/setuid-programs/authproto_pam")))
+    (native-inputs
+     `(("pandoc" ,ghc-pandoc)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("fontconfig" ,fontconfig)
+       ("libX11" ,libx11)
+       ("libxcomposite" ,libxcomposite)
+       ("libxext" ,libxext)
+       ("libxfixes" ,libxfixes)
+       ("libxft" ,libxft)
+       ("libxmu" ,libxmu)
+       ("libxrandr" ,libxrandr)
+       ("libxscrnsaver" ,libxscrnsaver)
+       ("linux-pam" ,linux-pam)))
+    (home-page "https://github.com/google/xsecurelock")
+    (synopsis "X11 screen lock utility with the primary goal of security")
+    (description "@code{xsecurelock} is an X11 screen locker which uses
+a modular design to avoid the usual pitfalls of screen locking utility design.
+
+As a consequence of the modular design, the usual screen locker service
+shouldn't be used with @code{xsecurelock}.  Instead, you need to add a helper
+binary to setuid-binaries:
+@example
+(setuid-programs (cons*
+                   (file-append xsecurelock \"/libexec/xsecurelock/authproto_pam\")
+                   %setuid-programs))
+@end example")
+    (license license:asl2.0)))
+
 (define-public wl-clipboard
   (package
     (name "wl-clipboard")