diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm index 376a801fe2..84b482088e 100644 --- a/gnu/packages/storage.scm +++ b/gnu/packages/storage.scm @@ -19,16 +19,23 @@ (define-module (gnu packages storage) #:use-module (guix download) + #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) + #:use-module (guix build utils) + #:use-module (guix build gnu-build-system) #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages assembly) #:use-module (gnu packages authentication) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages boost) + #:use-module (gnu packages commencement) #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages cryptsetup) @@ -247,3 +254,43 @@ storage protocols (S3, NFS, and others) through the RADOS gateway.") license:cc-by-sa3.0 ;documentation license:bsd-3 ;isa-l,jerasure,++ license:expat)))) ;civetweb,java bindings + +(define-public watchman + (package + (name "watchman") + (version "4.9.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/facebook/watchman.git") + (commit "8e0ba724d85de2c89f48161807e878667b9ed089"))) + (sha256 + (base32 + "0fdaj5pmicm6j17d5q7px800m5rmam1a400x3hv1iiifnmhgnkal")))) + (build-system gnu-build-system) + (arguments + (modify-phases %standard-phases + (add-after 'build 'add-python-to-path + (lambda* (#:key inputs #:allow-other-keys) + ( setenv "PATH" (string-append (assoc-ref inputs "python") "/bin")))))) + (inputs + `(("python" ,python) + ("coreutils" ,coreutils) + ("glibc" ,glibc))) + (native-inputs + `(("automake" ,automake) + ("autoconf" ,autoconf) + ("coreutils" ,coreutils) + ("gcc-toolchain" ,gcc-toolchain) + ("glibc" ,glibc) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("openssl" ,openssl) + ("python" ,python))) + (propagated-inputs + `(("python" ,python))) + (synopsis "Watches files and records, or triggers actions, when they change") + (description "Watchman exists to watch files and record when they actually change. +It can also trigger actions (such as rebuilding assets) when matching files change.") + (license license:asl2.0) + (home-page "https://facebook.github.io/watchman/")))