guix_mirror_bot pushed a commit to branch master
in repository guix.
commit 632856d9a5416dfe6de7b227422c2da1ee8d67ee
Author: Maxim Cournoyer <[email protected]>
AuthorDate: Thu Jul 24 09:11:03 2025 +0900
gnu: Add watcher.
* gnu/packages/file-systems.scm (watcher): New variable.
Change-Id: Ie506d736b464403bd69548fb4aa5616aef43af33
---
gnu/packages/file-systems.scm | 49 ++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 48 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index 8b0ccb5a6f..35d28c4ce2 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -16,7 +16,7 @@
;;; Copyright © 2024 Zheng Junjie <[email protected]>
;;; Copyright © 2025 Julian Flake <[email protected]>
;;; Copyright © 2025 Ashish SHUKLA <[email protected]>
-;;; Copyright © 2020-2025 Maxim Cournoyer <[email protected]>
+;;; Copyright © 2020-2025 Maxim Cournoyer <[email protected]>
;;; Copyright © 2025 45mg <[email protected]>
;;; Copyright © 2025 Janneke Nieuwenhuizen <[email protected]>
;;;
@@ -2491,3 +2491,50 @@ filtering and ordering functionality.
+ecryptfs, cryfs, encfs, gocryptfs, fscrypt and securefs
+based encrypted folders.")
(license license:gpl3+)))
+
+(define-public watcher
+ (package
+ (name "watcher")
+ (version "0.13.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/e-dant/watcher")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ikcdskb3z3wggxb12vi0y3rng2hcswl0fpk6sjqqlz34nvwijcr"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:configure-flags
+ #~(list "-DBUILD_TESTING=ON"
+ ;; This is needed to find 'snitch' from the system.
+ "-DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=ALWAYS")
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH")))
+ (substitute* "../source/tool/test/.ctx"
+ (("../../out")
+ "../../../build")
+ (("which") "command -v"))
+ (invoke "../source/tool/test/all"))))))
+ (native-inputs (list jq snitch))
+ (home-page "https://github.com/e-dant/watcher")
+ (synopsis "File system watcher program and library")
+ (description "Watcher may be used as a library or a program that can be
+used to efficiently watch a file system for changes. This package provides
+the following components:
+@table @asis
+@item @file{include/wtr/watcher.hpp}
+C++ header library
+@item @samp{watcher-c}
+C shared and static library
+@item @command{wtr.watcher}
+Command-line interface (CLI)
+@item @command{tw}
+Minimal, more human-readable CLI variant
+@end table")
+ (license license:expat)))