summary refs log tree commit diff
path: root/gnu/packages/sync.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/sync.scm')
-rw-r--r--gnu/packages/sync.scm14
1 files changed, 13 insertions, 1 deletions
diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm
index 1c80b7978e..ccebe40e9d 100644
--- a/gnu/packages/sync.scm
+++ b/gnu/packages/sync.scm
@@ -183,8 +183,20 @@ their folder.
        #:test-target "tests"
        #:phases
        (modify-phases %standard-phases
-         ;; No install target.
+         (add-after 'unpack 'search-$PATH-for-binaries
+           ;; lsyncd requires and hard-codes absolute file names to binaries.
+           ;; Make it fall back to searching $PATH for relative file names.
+           (lambda _
+             (substitute* "lsyncd.c"
+               (("execv\\(") "execvp("))
+             (substitute* (list "lsyncd.lua"
+                                "default-direct.lua"
+                                "default-rsync.lua"
+                                "default-rsyncssh.lua")
+               (("(|/usr)/bin/") ""))
+             #t))
          (replace 'install
+           ;; No install target.
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (bin (string-append out "/bin"))