summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2024-09-13 14:00:33 +0100
committerSharlatan Hellseher <sharlatanus@gmail.com>2024-11-09 21:33:41 +0000
commit73d7039c5b7dd29c5a9011a4c579d7ec73d6243f (patch)
treef598bfe0d60c12d9234d5437ce70bd5ded1a9799 /gnu/packages
parentdabcd9c45a01f79f2602e7868145dc2698024947 (diff)
downloadguix-73d7039c5b7dd29c5a9011a4c579d7ec73d6243f.tar.gz
gnu: go-github-com-golang-groupcache: Fix build.
* gnu/packages/golang-web.scm (go-github-com-golang-groupcache): Fix build.
[arguments]: <#:phases>: Add 'fix-embed-files.

Change-Id: I69f1df0a64176d3a0483ebf38840302d7e5a5d18
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/golang-web.scm23
1 files changed, 22 insertions, 1 deletions
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index b0df8bbef3..24cb0a8229 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -1967,7 +1967,28 @@ from CloudFlare's github.com/cloudflare/cfssl/revoke.")
         (base32 "07amgr8ji4mnq91qbsw2jlcmw6hqiwdf4kzfdrj8c4b05w4knszc"))))
     (build-system go-build-system)
     (arguments
-     (list #:import-path "github.com/golang/groupcache"))
+     (list
+      #:import-path "github.com/golang/groupcache"
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; TODO: Implement it in go-build-system.
+          ;;
+          ;; This happens due to Golang can't determine the valid directory of
+          ;; the module of embed file which is symlinked during setup
+          ;; environment phase, but easy resolved after coping file from the
+          ;; store to the build directory of the current package, see details
+          ;; in Golang source:
+          ;;
+          ;; - URL: <https://github.com/golang/go/blob/>
+          ;; - commit: 82c14346d89ec0eeca114f9ca0e88516b2cda454
+          ;; - file: src/cmd/go/internal/load/pkg.go#L2059
+          (add-after 'unpack 'fix-embed-files
+            (lambda _
+              (for-each (lambda (file)
+                          (let ((file-store-path (readlink file)))
+                            (delete-file file)
+                            (copy-recursively file-store-path file)))
+                        (find-files "src" ".*(editions_defaults.binpb)$")))))))
     (propagated-inputs
      (list go-github-com-golang-protobuf))
     (home-page "https://github.com/golang/groupcache")