sharlatan pushed a commit to branch go-team
in repository guix.

commit aff2b7a9845c091120bd1e61bb1325c544a1739d
Author: Sharlatan Hellseher <sharlata...@gmail.com>
AuthorDate: Fri Mar 28 23:37:13 2025 +0000

    gnu: Add go-google-golang-org-grpc.
    
    * gnu/packages/golang-web.scm (go-google-golang-org-grpc): New variable.
    
    Change-Id: I428367aa3dc0eacb0f44c9b74ba8a9923df363b9
---
 gnu/packages/golang-web.scm | 71 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)

diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 52f1a7c6ca..715ba43716 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -10247,6 +10247,77 @@ the standard @code{context} package to store 
request-scoped values.")
     (description "This package is a Go Implementation of WireGuard.")
     (license license:expat)))
 
+(define-public go-google-golang-org-grpc
+  (package
+    (name "go-google-golang-org-grpc")
+    (version "1.69.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/grpc/grpc-go";)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0bvwnhgg04zhzwb9pxsv3n0c96hci5mdnpdaxr4ggy2m28df2q6m"))
+       (modules '((guix build utils)))
+       (snippet
+        #~(begin
+            ;; Submodules with their own go.mod files and packaged separately:
+            ;;
+            ;; - google.golang.org/grpc/cmd/protoc-gen-go-grpc
+            ;; - google.golang.org/grpc/examples
+            ;; - google.golang.org/grpc/gcp/observability
+            ;; - google.golang.org/grpc
+            ;; - google.golang.org/grpc/interop/observability
+            ;; - google.golang.org/grpc/interop/xds
+            ;; - google.golang.org/grpc/security/advancedtls/examples
+            ;; - google.golang.org/grpc/security/advancedtls
+            ;; - google.golang.org/grpc/stats/opencensus
+            ;; - google.golang.org/grpc/test/tools
+            (for-each delete-file-recursively
+                      (list "cmd/protoc-gen-go-grpc"
+                            "examples"
+                            "gcp/observability"
+                            "interop/observability"
+                            "interop/xds"
+                            "security/advancedtls/examples"
+                            "security/advancedtls"
+                            "stats/opencensus"
+                            "test/tools"))))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:go go-1.22
+      #:tests? #f ; TODO: full test suite needs more packages
+      #:import-path "google.golang.org/grpc"))
+    (propagated-inputs
+     (list go-github-com-cespare-xxhash-v2
+           ;; go-github-com-cncf-xds-go
+           ;; go-github-com-envoyproxy-go-control-plane
+           ;; go-github-com-envoyproxy-go-control-plane-envoy
+           go-github-com-golang-glog
+           go-github-com-golang-protobuf
+           go-github-com-google-go-cmp
+           go-github-com-google-uuid
+           ;; go-go-opentelemetry-io-contrib-detectors-gcp
+           go-go-opentelemetry-io-otel
+           go-go-opentelemetry-io-otel-metric
+           go-go-opentelemetry-io-otel-sdk
+           go-go-opentelemetry-io-otel-sdk-metric
+           go-go-opentelemetry-io-otel-trace
+           go-golang-org-x-net
+           go-golang-org-x-oauth2
+           go-golang-org-x-sync
+           go-golang-org-x-sys
+           go-google-golang-org-genproto-googleapis-rpc
+           go-google-golang-org-protobuf))
+    (home-page "https://google.golang.org/grpc";)
+    (synopsis "Golang implementation of gRPC - HTTP/2 based RPC")
+    (description
+     "Package grpc implements an RPC system called @code{gRPC}.")
+    (license license:asl2.0)))
+
 (define-public go-gopkg-in-go-jose-go-jose-v2
   (package
     (inherit go-github-com-go-jose-go-jose-v3)

Reply via email to