summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2026-04-24 22:06:09 +0100
committerSharlatan Hellseher <sharlatanus@gmail.com>2026-04-26 12:59:20 +0100
commitbecde8b26b9be4bfc10e7c3b82ca4628e2a436ea (patch)
tree7fa7c5369729e2f5b04b71d01f210f65bbc27553 /gnu
parent05ed48dba4b4230e74ebf7da4d19429884ff74ad (diff)
gnu: Add go-cloud-google-com-go-spanner.
* gnu/packages/golang-web.scm (go-cloud-google-com-go-spanner): New variable. (go-cloud-google-com-go)[source] <snippet>: Remove "spanner" dirrectory. [arguments] <test-flags>: Remove "spanner/spansql" from the scope. Change-Id: If6da09f19d8b2c9e2937da7256d468693b7c0508
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/golang-web.scm75
1 files changed, 74 insertions, 1 deletions
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 9c77f14713..2571aae29d 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -389,6 +389,7 @@ devices.")
;; - cloud.google.com/go/longrunning
;; - cloud.google.com/go/monitoring
;; - cloud.google.com/go/security
+ ;; - cloud.google.com/go/spanner
;; - cloud.google.com/go/storage
(for-each delete-file-recursively
(list "auth"
@@ -398,6 +399,7 @@ devices.")
"longrunning"
"monitoring"
"security"
+ "spanner"
"storage"))))))
(build-system go-build-system)
(arguments
@@ -440,7 +442,6 @@ devices.")
"pubsub/v2/internal/scheduler"
"pubsub/v2/internal/testutil"
"rpcreplay"
- "spanner/spansql"
"translate")))
(propagated-inputs
(list ;; go-cloud-google-com-go-storage
@@ -832,6 +833,78 @@ its service definition.")
"This package provides a Go Client Library for Certificate Authority API.")
(license license:asl2.0)))
+(define-public go-cloud-google-com-go-spanner
+ (package
+ (name "go-cloud-google-com-go-spanner")
+ (version "1.91.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/googleapis/google-cloud-go")
+ (commit (go-version->git-ref version #:subdir "spanner"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05jgalbqb9n1whlpdkj40rvyk8lg39q5w4l463ycsj2301pmr90h"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-26)))
+ (snippet
+ #~(begin
+ (define (delete-all-but directory . preserve)
+ (with-directory-excursion directory
+ (let* ((pred (negate (cut member <>
+ (cons* "." ".." preserve))))
+ (items (scandir "." pred)))
+ (for-each (cut delete-file-recursively <>) items))))
+ (delete-all-but "." "spanner")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "cloud.google.com/go/spanner"
+ #:unpack-path "cloud.google.com/go"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-benchmarks
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file-recursively "benchmarks")))))))
+ (native-inputs
+ (list go-github-com-google-go-cmp
+ ;; XXX: Remove when cycle is fixed.
+ go-github-com-envoyproxy-go-control-plane))
+ (propagated-inputs
+ (list go-cloud-google-com-go
+ go-cloud-google-com-go-iam
+ go-cloud-google-com-go-longrunning
+ go-cloud-google-com-go-monitoring
+ go-github-com-google-uuid
+ go-github-com-googleapis-gax-go-v2
+ go-github-com-googlecloudplatform-grpc-gcp-go-grpcgcp
+ go-go-opencensus-io
+ 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-oauth2
+ go-golang-org-x-sync
+ go-google-golang-org-api
+ go-google-golang-org-genproto
+ go-google-golang-org-genproto-googleapis-api
+ go-google-golang-org-genproto-googleapis-rpc
+ go-google-golang-org-grpc
+ go-google-golang-org-protobuf))
+ (home-page "https://cloud.google.com/go")
+ (synopsis "Cloud Spanner databases Go client")
+ (description
+ "Package spanner provides a client for reading and writing to Cloud
+Spanner databases. See
+@url{https://cloud.google.com/spanner/docs/getting-started/go/} for an
+introduction to Cloud Spanner and additional help on using this API.")
+ (license license:asl2.0)))
+
(define-public go-cloud-google-com-go-storage
(package
(name "go-cloud-google-com-go-storage")