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.
This commit is contained in:
Efraim Flashner 2021-04-26 21:30:15 +03:00
parent 9c8a108186
commit b33f5d7ff0
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351

View File

@ -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)