From 85a5eb9ee9fe80113a2e76a7705200ec93de92b9 Mon Sep 17 00:00:00 2001 From: Patrick Norton Date: Mon, 24 Nov 2025 11:00:02 -0500 Subject: [PATCH] gnu: Add go-cloud-google-com-go-auth. * gnu/packages/golang-web.scm (go-cloud-google-com-go-auth): New variable. Change-Id: I55ec3fab350176752bcd9fb1c3435263191c0b1d Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang-web.scm | 64 +++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm index 5d3239a3398d4b762501feac2c21f72b76c5056e..7538e405b9c241341925b07c40d6459822b6fa0b 100644 --- a/gnu/packages/golang-web.scm +++ b/gnu/packages/golang-web.scm @@ -214,6 +214,70 @@ so that it is not identified and subsequently blocked by network filtering devices.") (license license:bsd-2)))) +(define-public go-cloud-google-com-go-auth + (package + (name "go-cloud-google-com-go-auth") + (version "0.17.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/googleapis/google-cloud-go") + (commit (go-version->git-ref version + #:subdir "auth")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0i18wkz04w9wpckw021nawr82dh92krmcsn471rpjx1jrmgsbi5v")) + (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-file-recursively "auth/oauth2adapt") + (delete-all-but "." "auth"))))) + (build-system go-build-system) + (arguments + (list + #:import-path "cloud.google.com/go/auth" + #:unpack-path "cloud.google.com/go" + #:test-flags + #~(list "-skip" + (string-join + ;; These tests all require credentials/tokens + '("TestGetGRPCTransportConfigAndEndpoint_S2A" + "TestGetHTTPTransportConfig_S2A" + "TestDownscopedToken" + "TestDialTCPUserTimeout" + "TestFetchTrustBoundaryData" + "TestLogDirectPathMisconfigDirectPathNotSet" + "TestLogDirectPathMisconfigNotOnGCE") "|")))) + (propagated-inputs + (list go-google-golang-org-protobuf + go-google-golang-org-grpc + go-golang-org-x-time + go-golang-org-x-net + go-go-opentelemetry-io-contrib-instrumentation-net-http-otelhttp + go-go-opentelemetry-io-contrib-instrumentation-google-golang-org-grpc-otelgrpc + go-github-com-googleapis-gax-go-v2 + go-github-com-googleapis-enterprise-certificate-proxy + go-github-com-google-s2a-go + go-github-com-google-go-cmp + go-cloud-google-com-go-compute-metadata)) + (home-page "https://cloud.google.com/go") + (synopsis "Google Auth Library for Go") + (description + "This package provides utilities for managing Google Cloud credentials, +including functionality for creating, caching, and refreshing OAuth2 tokens. +It offers customizable options for different OAuth2 flows, such as +2-legged (2LO) and 3-legged (3LO) OAuth, along with support for PKCE and +automatic token management.") + (license license:asl2.0))) + (define-public go-cloud-google-com-go-compute-metadata (package (name "go-cloud-google-com-go-compute-metadata")