diff options
author | Leo Famulari <leo@famulari.name> | 2017-01-25 12:42:39 -0500 |
---|---|---|
committer | Leo Famulari <leo@famulari.name> | 2017-01-25 12:42:39 -0500 |
commit | d123f2f991e0bf6f51e5f207d291fb4c1ceb1245 (patch) | |
tree | 8ca3cbeff8a08ab9e11a0324fd9ec0bae7614f4c /gnu/packages/sync.scm | |
parent | a282d7ff174ccc13b3645359449af6052451c2a1 (diff) | |
parent | 864042c5c5f845fd3c1ae37c64dc1a672fedef28 (diff) | |
download | patches-d123f2f991e0bf6f51e5f207d291fb4c1ceb1245.tar patches-d123f2f991e0bf6f51e5f207d291fb4c1ceb1245.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/sync.scm')
-rw-r--r-- | gnu/packages/sync.scm | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index 429fe196de..4b026b93cb 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,6 +26,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages databases) #:use-module (gnu packages linux) + #:use-module (gnu packages lua) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages qt) @@ -158,3 +160,49 @@ their folder. @item Toggle for monochrome icon. @end enumerate\n") (license license:lgpl3+))) + +(define-public lsyncd + (package + (name "lsyncd") + (version "2.2.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/axkibe/lsyncd/archive/release-" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0da7mrq2c578v2dd5x9v75l1fqrm28jvn28qkcd49y8p992nj6gl")))) + (build-system cmake-build-system) + (arguments + `(;; The "tests" target is broken and assumes that tests are run in the + ;; root directory. + #:tests? #f + #:test-target "tests" + #:phases + (modify-phases %standard-phases + ;; No install target. + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (man (string-append out "/share/man/man1"))) + (install-file "lsyncd" bin) + (install-file (string-append "../lsyncd-release-" + ,version + "/doc/manpage/lsyncd.1") + man) + #t)))))) + (native-inputs + `(("lua" ,lua-5.2))) + (home-page "https://github.com/axkibe/lsyncd") + (synopsis "Synchronize local directories with remote targets") + (description "Lsyncd watches a local directory trees event monitor +interface (inotify or fsevents). It aggregates and combines events for a few +seconds and then spawns one (or more) process(es) to synchronize the changes. +By default this is rsync, which must be installed on all source and target +machines. Lsyncd is thus a light-weight live mirror solution that is +comparatively easy to install not requiring new filesystems or block devices +and does not hamper local filesystem performance.") + (license license:gpl2+))) |