~ruther/guix-local

c2619e10ea55ef12054eee41de58b1f6c867ac48 — Ludovic Courtès 11 years ago c4492a1
gnu: Add GNU direvent.

* gnu/packages/admin.scm (direvent): New variable.
1 files changed, 37 insertions(+), 0 deletions(-)

M gnu/packages/admin.scm
M gnu/packages/admin.scm => gnu/packages/admin.scm +37 -0
@@ 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+)))