summary refs log tree commit diff
path: root/gnu/packages/syncthing.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2021-04-26 21:30:15 +0300
committerEfraim Flashner <efraim@flashner.co.il>2021-04-26 21:32:50 +0300
commitb33f5d7ff0627424a06fd0416761cd81c350e20a (patch)
tree420be37e4bc27315ca7a212e8754a3e7e2ce7e1e /gnu/packages/syncthing.scm
parent9c8a108186fa23cf31bf3a1a2370c4f82bdc91e3 (diff)
downloadguix-b33f5d7ff0627424a06fd0416761cd81c350e20a.tar.gz
gnu: syncthing: Prepare for cross-compiling.
* gnu/packages/syncthing.scm (syncthing)[arguments]: Add custom
'pre-build phase to not set a local GOBIN directory. Adjust custom
'build and 'install phases accordingly.
Diffstat (limited to 'gnu/packages/syncthing.scm')
-rw-r--r--gnu/packages/syncthing.scm24
1 files changed, 14 insertions, 10 deletions
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 469c19f109..e40f696720 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -75,6 +75,14 @@
                (("120s") "999s"))
              #t))
 
+         (add-before 'build 'pre-build
+           (lambda _
+             (with-directory-excursion "src/github.com/syncthing/syncthing"
+               ;; Don't set a local GOBIN, it breaks cross compiling.
+               (substitute* "build.go"
+                 ((".*GOBIN.*") "")))
+             #t))
+
          (replace 'build
            (lambda _
              (with-directory-excursion "src/github.com/syncthing/syncthing"
@@ -83,7 +91,7 @@
                ;; "build syncthing" again with -no-upgrade.
                ;; https://github.com/syncthing/syncthing/issues/6118
                (invoke "go" "run" "build.go")
-               (delete-file "bin/syncthing")
+               (for-each delete-file (find-files "../../../../bin" "syncthing"))
                (invoke "go" "run" "build.go" "-no-upgrade" "build" "syncthing"))))
 
          (replace 'check
@@ -97,15 +105,11 @@
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out"))
                    (utils (assoc-ref outputs "utils")))
-               (with-directory-excursion "src/github.com/syncthing/syncthing/bin"
-                 (install-file "../syncthing" (string-append out "/bin"))
-                 (for-each (cut install-file <> (string-append utils "/bin/"))
-                           '("stcompdirs" "stcrashreceiver"
-                             "stdisco" "stdiscosrv" "stevents" "stfileinfo"
-                             "stfinddevice" "stfindignored" "stgenfiles"
-                             "stindex" "strelaypoolsrv" "strelaysrv" "stsigtool"
-                             "stvanity" "stwatchfile" "uraggregate" "ursrv"))
-                 #t))))
+               (with-directory-excursion "src/github.com/syncthing/syncthing"
+                 (install-file "syncthing" (string-append out "/bin")))
+               (for-each (cut install-file <> (string-append utils "/bin/"))
+                         (find-files "bin"))
+               #t)))
 
          (add-after 'install 'install-docs
            (lambda* (#:key outputs #:allow-other-keys)