From b33f5d7ff0627424a06fd0416761cd81c350e20a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 26 Apr 2021 21:30:15 +0300 Subject: 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. --- gnu/packages/syncthing.scm | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'gnu') 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 @@ (define-public syncthing (("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 @@ (define-public syncthing ;; "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 @@ (define-public syncthing (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) -- cgit v1.2.3