summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSharlatan Hellseher <[email protected]>2024-09-13 13:43:11 +0100
committerSharlatan Hellseher <[email protected]>2024-11-09 21:33:48 +0000
commit42683cbe4d33d75d57183b528560d7e295576475 (patch)
tree3ba53c181028b7ba21c9b0630200be06a3fb46e9
parentc9d782f5c95cddd33a2e03653ffc1a8ac284a057 (diff)
gnu: Add go-go-opentelemetry-io-otel-sdk.
* gnu/packages/golang-web.scm (go-go-opentelemetry-io-otel-sdk): New variable. Change-Id: I170133ed9d2d85d33d8a4ee66624382a34fac06b
-rw-r--r--gnu/packages/golang-web.scm54
1 files changed, 54 insertions, 0 deletions
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 218fa85195..8477c2a841 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -5640,6 +5640,60 @@ go.opentelemetry.io/otel, go.opentelemetry.io/otel/metric and
go.opentelemetry.io/otel/trace.")
(license license:asl2.0)))
+(define-public go-go-opentelemetry-io-otel-sdk
+ (package
+ (name "go-go-opentelemetry-io-otel-sdk")
+ (version "1.30.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/open-telemetry/opentelemetry-go")
+ (commit (go-version->git-ref version #:subdir "sdk"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0mpkwz2ryah5j2fb835pdw9084nwhr6fj3jig2mnvwwnsymp2bvy"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-26)))
+ (snippet
+ #~(begin
+ ;; XXX: 'delete-all-but' is copied from the turbovnc package.
+ ;; Consider to implement it as re-usable procedure in
+ ;; guix/build/utils or guix/build-system/go.
+ (define (delete-all-but directory . preserve)
+ (define (directory? x)
+ (and=> (stat x #f)
+ (compose (cut eq? 'directory <>) stat:type)))
+ (with-directory-excursion directory
+ (let* ((pred
+ (negate (cut member <> (append '("." "..") preserve))))
+ (items (scandir "." pred)))
+ (for-each (lambda (item)
+ (if (directory? item)
+ (delete-file-recursively item)
+ (delete-file item)))
+ items))))
+ (delete-all-but "." "sdk")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "go.opentelemetry.io/otel/sdk"
+ #:unpack-path "go.opentelemetry.io/otel"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-go-logr-logr
+ go-github-com-google-go-cmp
+ go-github-com-google-uuid
+ go-go-opentelemetry-io-otel
+ go-golang-org-x-sys))
+ (home-page "https://opentelemetry.io/")
+ (synopsis "OpenTelemetry Golang SDK")
+ (description
+ "This package provides OpenTelemetry Otel SDK.")
+ (license license:asl2.0)))
+
(define-public go-golang-org-x-oauth2
(package
(name "go-golang-org-x-oauth2")