From 1d752e43452baffd35d1780872bab7bf03a4750b Mon Sep 17 00:00:00 2001 From: Mike Gerwitz Date: Mon, 27 Nov 2017 21:45:11 -0500 Subject: [PATCH] gnu: Add xautolock. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xdisorg.scm (xautolock): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/xdisorg.scm | 51 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index f4c03c144e..2e1ed2ee9e 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Marek Benc +;;; Copyright © 2017 Mike Gerwitz ;;; ;;; This file is part of GNU Guix. ;;; @@ -1329,3 +1330,53 @@ a specified program, emulating the PC speaker beep using the sound card (default or playing a PCM encoded WAVE file.") (home-page "https://github.com/dusxmt/nxbelld") (license license:gpl3+))) + +(define-public xautolock + (package + (name "xautolock") + (version "2.2") + (source (origin + (method url-fetch) + (uri (string-append "http://www.ibiblio.org/pub/linux/X11/screensavers/" + name "-" version ".tgz")) + (sha256 + (base32 + "18jd3k3pvlm5x1adyqw63z2b3f4ixh9mfvz9asvnskk3fm8jgw0i")))) + (build-system gnu-build-system) + (native-inputs + `(("imake" ,imake))) + (inputs + `(("libx11" ,libx11) + ("libxext" ,libxext) + ("libxscrnsaver" ,libxscrnsaver))) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((imake (assoc-ref inputs "imake")) + (out (assoc-ref outputs "out"))) + ;; Generate Makefile + (invoke "xmkmf") + (substitute* "Makefile" + ;; These imake variables somehow remain undefined + (("DefaultGcc2[[:graph:]]*Opt") "-O2") + ;; Reset a few variable defaults that are set in imake templates + ((imake) out) + (("(MANPATH = )[[:graph:]]*" _ front) + (string-append front out "/share/man"))) + ;; Old BSD-style 'union wait' is unneeded (defining + ;; _USE_BSD did not seem to fix it) + (substitute* "src/engine.c" + (("union wait status") "int status = 0")) + #t))) + (add-after 'install 'install/man + (lambda _ + (zero? (system* "make" "install.man"))))))) + (home-page "http://ibiblio.org/pub/Linux/X11/screensavers/") + (synopsis "Program launcher for idle X sessions") + (description "Xautolock monitors input devices under the X Window +System, and launches a program of your choice if there is no activity after +a user-configurable period of time.") + (license license:gpl2)))