summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-09-08 21:48:54 +0200
committerLudovic Courtès <ludo@gnu.org>2014-09-08 23:47:28 +0200
commitc2619e10ea55ef12054eee41de58b1f6c867ac48 (patch)
tree6a88b3bf6bdb077974fe40d8cbfd62006891d8e2
parentc4492a16ea3a143672955653049bc6659a0e286d (diff)
downloadguix-c2619e10ea55ef12054eee41de58b1f6c867ac48.tar.gz
gnu: Add GNU direvent.
* gnu/packages/admin.scm (direvent): New variable.
-rw-r--r--gnu/packages/admin.scm37
1 files changed, 37 insertions, 0 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index d5bf4317f5..f28c768ceb 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -967,3 +967,40 @@ characters can be replaced as well, as can UTF-8 characters.")
 recover lost partitions and/or make non-booting disks bootable again.")
     (license gpl2+)))
 
+(define-public direvent
+  (package
+    (name "direvent")
+    (version "5.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/direvent/direvent-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1i14131y6m8wvirz6piw4zxz2q1kbpl0lniv5kl55rx4k372dg8z"))
+              (modules '((guix build utils)))
+              (snippet '(substitute* "tests/testsuite"
+                          (("#![[:blank:]]?/bin/sh")
+                           "#!$SHELL")))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases (alist-cons-before
+                 'build 'patch-/bin/sh
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   ;; Use the right shell when executing the watcher.
+                   (let ((bash (assoc-ref inputs "bash")))
+                     (substitute* "src/direvent.c"
+                       (("\"/bin/sh\"")
+                        (string-append "\"" bash "/bin/sh\"")))))
+                 %standard-phases)))
+    (home-page "http://www.gnu.org/software/direvent/")
+    (synopsis "Daemon to monitor directories for events such as file removal")
+    (description
+     "A daemon that monitors directories for events, such as creating,
+deleting or modifying files.  It can monitor different sets of directories for
+different events.  When an event is detected, direvent calls a specified
+external program with information about the event, such as the location
+within the file system where it occurred.  Thus, \"direvent\" provides an easy
+way to react immediately if given files undergo changes, for example, to
+track changes in important system configuration files.")
+    (license gpl3+)))