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+)))