diff mbox series

[bug#38839] gnu: Add xsecurelock.

Message ID 20191231220745.2sqzwns7jk44oj7d@zdrowyportier.kadziolka.net
State Accepted
Headers show
Series [bug#38839] gnu: Add xsecurelock. | expand

Commit Message

Maja Kądziołka Dec. 31, 2019, 10:07 p.m. UTC
* gnu/packages/xdisorg.scm (xsecurelock): New variable.
---
 gnu/packages/xdisorg.scm | 45 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

Comments

Brett Gilio Jan. 2, 2020, 4:19 a.m. UTC | #1
Hi Jakub,

Thank you for your patch. I made a few small changes, and pushed it to
master with d2536ed15d82973e4bfab3e7859e98b82074946f.

Happy GNU Year!
diff mbox series

Patch

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 9b198a02da..c0358b6ef7 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,50 @@  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")