Subject: [bug#65034] [PATCH v3 core-updates 3/3] gnu: go-github-com-golang-protobuf-proto: Rename to go-github-com-golang-protobuf.

From: Hilton Chain <[email-masked]>
Date: Fri, 26 Jan 2024 01:13:19 +0800

* gnu/packages/golang.scm (go-github-com-golang-protobuf-proto): Rename to...
(go-github-com-golang-protobuf): ... this.
[arguments]<#:import-path>: Set to "github.com/golang/protobuf".
<#:unpack-path>: Remove argument.
<#:phases>: Build all Go packages and run tests for them.
(go-github-com-quic-go-quic-go,go-github-com-prometheus-common)
(go-github-com-prometheus-client-golang,go-github-com-onsi-gomega)
[propagated-inputs]: Adjust accordingly.
* gnu/packages/syncthing.scm (go-github-com-prometheus-client-model)
(go-github-com-matttproud-golang-protobuf-extensions-pbutil)
[propagated-inputs]: Likewise.

Change-Id: I0efa2deaac2cb2bcd2c11f8791bdf320a56cf729
---
 gnu/packages/golang.scm    | 46 +++++++++++++++++++++++++++++++-------
 gnu/packages/syncthing.scm |  4 ++--
 2 files changed, 40 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index eaa2b7d305..b90b31e7ac 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7477,7 +7477,7 @@ (define-public go-github-com-quic-go-quic-go
            go-golang-org-x-crypto
            go-github-com-cheekybits-genny
            go-github-com-marten-seemann-chacha20
-           go-github-com-golang-protobuf-proto
+           go-github-com-golang-protobuf
            go-golang-org-x-crypto
            go-golang-org-x-exp
            go-golang-org-x-net
@@ -8232,9 +8232,9 @@ (define-public gotestsum
     (home-page "https://github.com/gotestyourself/gotestsum")
     (license license:asl2.0)))

-(define-public go-github-com-golang-protobuf-proto
+(define-public go-github-com-golang-protobuf
   (package
-    (name "go-github-com-golang-protobuf-proto")
+    (name "go-github-com-golang-protobuf")
     (version "1.5.3")
     (source (origin
               (method git-fetch)
@@ -8247,8 +8247,38 @@ (define-public go-github-com-golang-protobuf-proto
                 "03f1w2cd4s8a3xhl61x7yjx81kbzlrjpvnnwmbhqnz814yi7h43i"))))
     (build-system go-build-system)
     (arguments
-     '(#:import-path "github.com/golang/protobuf/proto"
-       #:unpack-path "github.com/golang/protobuf"))
+     (list #:import-path "github.com/golang/protobuf"
+           ;; XXX: Workaround for go-build-system's lack of Go modules support
+           #:phases
+           #~(let ((go-packages '("proto"
+                                  "jsonpb"
+                                  "ptypes"
+                                  "ptypes/any"
+                                  "ptypes/empty"
+                                  "ptypes/timestamp"
+                                  "ptypes/duration"
+                                  "ptypes/wrappers"
+                                  "ptypes/struct"
+                                  "protoc-gen-go/descriptor"
+                                  "protoc-gen-go/plugin"
+                                  "protoc-gen-go")))
+               (modify-phases %standard-phases
+                 (replace 'build
+                   (lambda* (#:key import-path build-flags #:allow-other-keys)
+                     (for-each
+                      (lambda (pkg)
+                        ((assoc-ref %standard-phases 'build)
+                         #:import-path (format #f "~a/~a" import-path pkg)
+                         #:build-flags build-flags))
+                      go-packages)))
+                 (replace 'check
+                   (lambda* (#:key tests? import-path #:allow-other-keys)
+                     (for-each
+                      (lambda (pkg)
+                        ((assoc-ref %standard-phases 'check)
+                         #:tests? tests?
+                         #:import-path (format #f "~a/~a" import-path pkg)))
+                      go-packages)))))))
     (propagated-inputs
      (list go-google-golang-org-protobuf))
     (synopsis "Go support for Protocol Buffers")
@@ -9893,7 +9923,7 @@ (define-public go-github-com-prometheus-common
          ;; Source-only package
          (delete 'build))))
     (propagated-inputs
-     (list go-github-com-golang-protobuf-proto
+     (list go-github-com-golang-protobuf
            go-github-com-matttproud-golang-protobuf-extensions-pbutil
            go-github-com-prometheus-client-model))
     (synopsis "Prometheus metrics")
@@ -9950,7 +9980,7 @@ (define-public go-github-com-prometheus-client-golang
          (delete 'build))))
     (propagated-inputs
      (list go-github-com-beorn7-perks-quantile
-           go-github-com-golang-protobuf-proto
+           go-github-com-golang-protobuf
            go-github-com-prometheus-client-model
            go-github-com-prometheus-common
            go-github-com-prometheus-procfs
@@ -12679,7 +12709,7 @@ (define-public go-github-com-onsi-gomega
            ;; Unless we disable the tests, we have a circular dependency on
            ;; ginkgo/v2.
            #:tests? #f))
-    (propagated-inputs (list go-github-com-golang-protobuf-proto
+    (propagated-inputs (list go-github-com-golang-protobuf
                              go-golang-org-x-net
                              go-golang-org-x-sys
                              go-golang-org-x-text
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index c18b70eb4b..bc0960d379 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -831,7 +831,7 @@ (define-public go-github-com-prometheus-client-model
            ;; Source-only package
            (delete 'build))))
       (propagated-inputs
-       (list go-github-com-golang-protobuf-proto))
+       (list go-github-com-golang-protobuf))
       (synopsis "Data model artifacts for Prometheus")
       (description "This package provides data model artifacts for Prometheus.")
       (home-page "https://github.com/prometheus/client_model")
@@ -859,7 +859,7 @@ (define-public go-github-com-matttproud-golang-protobuf-extensions-pbutil
        '(#:import-path "github.com/matttproud/golang_protobuf_extensions/pbutil"
          #:unpack-path "github.com/matttproud/golang_protobuf_extensions"))
       (propagated-inputs
-       (list go-github-com-golang-protobuf-proto))
+       (list go-github-com-golang-protobuf))
       (synopsis "Streaming Protocol Buffers in Go")
       (description "This package provides various Protocol Buffer
 extensions for the Go language, namely support for record length-delimited
--
2.41.0