sharlatan pushed a commit to branch go-team
in repository guix.
commit 193227a8a43fda10aead13ccd0cbfa6c513eaeb4
Author: Sharlatan Hellseher <[email protected]>
AuthorDate: Fri Sep 13 13:43:11 2024 +0100
gnu: Add go-go-opentelemetry-io-otel-sdk.
* gnu/packages/golang-web.scm (go-go-opentelemetry-io-otel-sdk): New
variable.
Change-Id: I170133ed9d2d85d33d8a4ee66624382a34fac06b
---
gnu/packages/golang-web.scm | 54 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index da09e9e2e0..c7dcb232e1 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -5588,6 +5588,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")