summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-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+)))