--- Begin Message ---
Subject: |
[PATCH] gnu: Add xautolock. |
Date: |
Mon, 27 Nov 2017 21:50:59 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Building this one was a history lesson. I modeled it after xfig, which
also uses imake.
From 9de0820982f89949f943c1566c7dffe6b3bc87de Mon Sep 17 00:00:00 2001
From: Mike Gerwitz <address@hidden>
Date: Mon, 27 Nov 2017 21:45:11 -0500
Subject: [PATCH] gnu: Add xautolock.
* gnu/packages/xdisorg.scm (xautolock): New variable.
---
gnu/packages/xdisorg.scm | 50 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index f4c03c144..cc84884b6 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -20,6 +20,7 @@
;;; Copyright © 2017 ng0 <address@hidden>
;;; Copyright © 2017 Tobias Geerinckx-Rice <address@hidden>
;;; Copyright © 2017 Marek Benc <address@hidden>
+;;; Copyright © 2017 Mike Gerwitz <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1329,3 +1330,52 @@ 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
+ (zero? (system* "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")))))
+ (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)))
--
2.15.0
--
Mike Gerwitz
Free Software Hacker+Activist | GNU Maintainer & Volunteer
GPG: D6E9 B930 028A 6C38 F43B 2388 FEF6 3574 5E6F 6D05
https://mikegerwitz.com
signature.asc
Description: PGP signature
--- End Message ---
--- Begin Message ---
Subject: |
Re: [bug#29480] [PATCH] gnu: Add xautolock. |
Date: |
Thu, 30 Nov 2017 15:56:11 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Hello Mike,
Mike Gerwitz <address@hidden> skribis:
> Building this one was a history lesson. I modeled it after xfig, which
> also uses imake.
Heheh.
> From 9de0820982f89949f943c1566c7dffe6b3bc87de Mon Sep 17 00:00:00 2001
> From: Mike Gerwitz <address@hidden>
> Date: Mon, 27 Nov 2017 21:45:11 -0500
> Subject: [PATCH] gnu: Add xautolock.
>
> * gnu/packages/xdisorg.scm (xautolock): New variable.
I took the liberty to make the changes below: the first one to make sure
‘xmkmf’ failures stop the process, and the second one to make sure the
phase returns a Boolean value.
Thank you!
Ludo’.
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index cc84884b6..2e1ed2ee9 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -1358,7 +1358,7 @@ or playing a PCM encoded WAVE file.")
(let ((imake (assoc-ref inputs "imake"))
(out (assoc-ref outputs "out")))
;; Generate Makefile
- (zero? (system* "xmkmf"))
+ (invoke "xmkmf")
(substitute* "Makefile"
;; These imake variables somehow remain undefined
(("DefaultGcc2[[:graph:]]*Opt") "-O2")
@@ -1369,7 +1369,8 @@ or playing a PCM encoded WAVE file.")
;; 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")))))
+ (("union wait status") "int status = 0"))
+ #t)))
(add-after 'install 'install/man
(lambda _
(zero? (system* "make" "install.man")))))))
--- End Message ---