summaryrefslogtreecommitdiff
path: root/gnu/packages/golang-web.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/golang-web.scm')
-rw-r--r--gnu/packages/golang-web.scm531
1 files changed, 374 insertions, 157 deletions
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index c1cf6b7de9..7f3bd4fc9c 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -164,7 +164,7 @@ alternative fork of https://git.autistici.org/ale/lb.")
go-github-com-spf13-viper))
(propagated-inputs
(list go-github-com-labstack-echo-v4
- go-github-com-quic-go-quic-go
+ go-github-com-quic-go-quic-go-0.52
go-github-com-sirupsen-logrus
go-github-com-xtaci-kcp-go-v5
go-gitlab-com-yawning-obfs4-git
@@ -4930,6 +4930,84 @@ the Go standard library, but returns a client that does not share any state
with other clients.")
(license license:mpl2.0)))
+(define-public go-github-com-hashicorp-go-metrics
+ ;; v0.5.0 of the library renamed the Go module from
+ ;; "github.com/armon/go-metrics" to "github.com/hashicorp/go-metrics". While
+ ;; this did not introduce any breaking changes to the API, the change did
+ ;; subtly break backwards compatibility.
+ ;;
+ ;; Eventually all usage of "armon/go-metrics" should be replaced with usage
+ ;; of "hashicorp/go-metrics"
+ (package
+ (name "go-github-com-hashicorp-go-metrics")
+ (version "0.5.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/go-metrics")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rw8251w6lkpbm6qhbdi37jbjknmlw1ampqicfyk32mfq3grn0ar"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Module name has been changed upstream.
+ (substitute* (find-files "." "\\.go$")
+ (("armon/go-metrics") "hashicorp/go-metrics"))))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/go-metrics"
+ #:test-flags
+ #~(list "-skip" (string-join
+ ;; Networking and runnint Prometheus are required.
+ (list "TestAddSample"
+ "TestMetricSink"
+ "TestSetGauge"
+ "TestSetPrecisionGauge"
+ "TestStatsd_Conn"
+ "TestStatsite_Conn"
+ "TestTaggableMetrics")
+ "|"))))
+ (native-inputs
+ (list go-github-com-golang-protobuf
+ go-github-com-pascaldekloe-goe
+ go-github-com-prometheus-client-model
+ go-github-com-prometheus-common))
+ (propagated-inputs
+ (list go-github-com-circonus-labs-circonus-gometrics
+ go-github-com-datadog-datadog-go
+ go-github-com-hashicorp-go-immutable-radix
+ go-github-com-prometheus-client-golang))
+ (home-page "https://github.com/hashicorp/go-metrics")
+ (synopsis "Export performance and runtime metrics to external systems")
+ (description
+ "This package implements a functionality which can be used in instrument
+code, expose application metrics, and profile runtime performance in a
+flexible manner. It makes use of a @code{MetricSink} interface to support
+delivery to any type of backend.
+
+Currently the following sinks are provided:
+@itemize
+@item StatsiteSink : Sinks to a @url{https://github.com/statsite/statsite/,
+statsite} instance (TCP)
+@item StatsdSink: Sinks to a @url{https://github.com/statsd/statsd/, StatsD} /
+statsite instance (UDP)
+@item PrometheusSink: Sinks to a @url{http://prometheus.io/, Prometheus}
+metrics endpoint (exposed via HTTP for scrapes)
+@item InmemSink : Provides in-memory aggregation, can be used to export stats
+@item FanoutSink : Sinks to multiple sinks. Enables writing to multiple
+statsite instances for example
+@item BlackholeSink : Sinks to nowhere
+@end itemize")
+ (license license:expat)))
+
+;; To make importer happy.
+(define-public go-github-com-armon-go-metrics
+ go-github-com-hashicorp-go-metrics)
+
(define-public go-github-com-hashicorp-go-retryablehttp
(package
(name "go-github-com-hashicorp-go-retryablehttp")
@@ -5005,6 +5083,50 @@ API.")
types and related helper functions.")
(license license:mpl2.0)))
+(define-public go-github-com-hashicorp-memberlist
+ (package
+ (name "go-github-com-hashicorp-memberlist")
+ (version "0.5.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/memberlist")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "09vb2zny0scsr65rp8ibj51diqiv818cwnfbn2xxyzssi5jcpgjv"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/memberlist"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-google-btree
+ go-github-com-hashicorp-go-metrics
+ go-github-com-hashicorp-go-msgpack-v2
+ go-github-com-hashicorp-go-multierror
+ go-github-com-hashicorp-go-sockaddr
+ go-github-com-miekg-dns
+ go-github-com-sean--seed))
+ (home-page "https://github.com/hashicorp/memberlist")
+ (synopsis "Gossip based cluster membership and failure detection")
+ (description
+ "memberlist is a Go library that manages cluster membership and member
+failure detection using a gossip based protocol.
+
+The use cases for such a library are far-reaching: all distributed systems
+require membership, and memberlist is a re-usable solution to managing cluster
+membership and node failure detection.
+
+memberlist is eventually consistent but converges quickly on average. The
+speed at which it converges can be heavily tuned via various knobs on the
+protocol. Node failures are detected and network partitions are partially
+tolerated by attempting to communicate to potentially dead nodes through
+multiple routes.")
+ (license license:mpl2.0)))
+
(define-public go-github-com-hashicorp-yamux
(package
(name "go-github-com-hashicorp-yamux")
@@ -9248,31 +9370,27 @@ throughout the @url{https://github.com/pion, Pion} modules.")
go-github-com-pion-transport-v2)
((#:import-path _) "github.com/pion/transport/v3")))))
-(define-public go-github-com-pion-turn
+(define-public go-github-com-pion-turn-v2
(package
- (name "go-github-com-pion-turn")
- (version "1.4.0")
+ (name "go-github-com-pion-turn-v2")
+ (version "2.1.6")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/pion/turn/")
- (commit (string-append "v" version))))
+ (url "https://github.com/pion/turn/")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "16lkgmrlks0qdzbk8jj0c0j66qfxhb54cvzgrfn4imvm56dbxp2n"))))
+ (base32 "0iw7nvqsxpqy90k5a8mq3dyask272391m59cbiy30aak1y2wwaac"))))
(build-system go-build-system)
(arguments
(list
- #:go go-1.23
- #:import-path "github.com/pion/turn"
+ #:import-path "github.com/pion/turn/v2"
#:test-flags
- #~(list "-skip"
- (string-join
- ;; Tests requiring networking setup.
- (list "TestClientWithSTUN/SendBindingRequest"
- "TestClientWithSTUN/SendBindingRequestTo_Parallel")
- "|"))
+ ;; panic: runtime error: invalid memory address or nil pointer
+ ;; dereference
+ #~(list "-skip" "TestClientWithSTUN")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-examples
@@ -9283,9 +9401,10 @@ throughout the @url{https://github.com/pion, Pion} modules.")
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-pion-logging
+ go-github-com-pion-randutil
go-github-com-pion-stun
- go-github-com-pion-transport
- go-github-com-pkg-errors))
+ go-github-com-pion-transport-v2
+ go-golang-org-x-sys))
(home-page "https://github.com/pion/turn/")
(synopsis "API for building TURN clients and servers in Golang")
(description
@@ -9307,35 +9426,9 @@ it like any library. The quickest way to get started is to look at the
@url{https://godoc.org/github.com/pion/turn, GoDoc}.")
(license license:expat)))
-(define-public go-github-com-pion-turn-v2
- (package
- (inherit go-github-com-pion-turn)
- (name "go-github-com-pion-turn-v2")
- (version "2.1.6")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/pion/turn/")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0iw7nvqsxpqy90k5a8mq3dyask272391m59cbiy30aak1y2wwaac"))))
- (arguments
- (substitute-keyword-arguments (package-arguments
- go-github-com-pion-turn)
- ((#:import-path flags ''())
- "github.com/pion/turn/v2")))
- (propagated-inputs
- (list go-github-com-pion-logging
- go-github-com-pion-randutil
- go-github-com-pion-stun
- go-github-com-pion-transport-v2
- go-golang-org-x-sys))))
-
(define-public go-github-com-pion-turn-v3
(package
- (inherit go-github-com-pion-turn)
+ (inherit go-github-com-pion-turn-v2)
(name "go-github-com-pion-turn-v3")
(version "3.0.3")
(source
@@ -9349,7 +9442,7 @@ it like any library. The quickest way to get started is to look at the
(base32 "0l78m9ym0sv1zfalbv95lwblmr789fc53d957ph5mdznhjx89lyx"))))
(arguments
(substitute-keyword-arguments (package-arguments
- go-github-com-pion-turn)
+ go-github-com-pion-turn-v2)
((#:import-path flags ''())
"github.com/pion/turn/v3")))
(propagated-inputs
@@ -9363,7 +9456,7 @@ it like any library. The quickest way to get started is to look at the
(package
(inherit go-github-com-pion-turn-v3)
(name "go-github-com-pion-turn-v4")
- (version "4.0.0")
+ (version "4.1.1")
(source
(origin
(method git-fetch)
@@ -9372,7 +9465,7 @@ it like any library. The quickest way to get started is to look at the
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1yd0v6ijwl62qd2sz7imq9pd2grcrw4dhwnn4302m1k89pxr52wx"))))
+ (base32 "0ajkd63nkif2izblf8bnvs15126bdm4y8qymy2m8vwdbl70swsfv"))))
(arguments
(substitute-keyword-arguments (package-arguments
go-github-com-pion-turn-v3)
@@ -9692,7 +9785,7 @@ characters incorrectly escaped by net/url.")
(define-public go-github-com-quic-go-qpack
(package
(name "go-github-com-quic-go-qpack")
- (version "0.4.0")
+ (version "0.5.1")
(source
(origin
(method git-fetch)
@@ -9701,78 +9794,74 @@ characters incorrectly escaped by net/url.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "00mjz445hhx4yar5l8p21bpp4d06jyg2ajw0ax7bh64d37l4kx39"))))
+ (base32 "0aj0vv89l94y3clhsjcm1ham6mysmls4yhv7602cwlyag61hfrh3"))))
(build-system go-build-system)
(arguments
(list
- ;; Tests require ginkgo v2.
- #:tests? #f
- #:import-path "github.com/quic-go/qpack"))
+ #:import-path "github.com/quic-go/qpack"
+ ;; XXX: integrationtests/interop contains git submodule of
+ ;; <https://github.com/qpackers/qifs>.
+ #:test-subdirs #~(list ".")))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
(propagated-inputs
- (list go-github-com-onsi-ginkgo
- go-github-com-onsi-gomega
- go-golang-org-x-net))
+ (list go-golang-org-x-net))
(home-page "https://github.com/quic-go/qpack")
(synopsis "Minimal QPACK (RFC 9204) implementation for Go")
(description
- "A minimal QPACK (RFC 9204) implementation in Go. It is minimal in the sense
-that it doesn't use the dynamic table at all, but just the static table and (Huffman
-encoded) string literals. Wherever possible, it reuses code from the
-@url{https://github.com/golang/net/tree/master/http2/hpack, HPACK implementation in
-the Go standard library}.")
+ "A minimal QPACK (RFC 9204) implementation in Go. It is minimal in the
+sense that it doesn't use the dynamic table at all, but just the static table
+and (Huffman encoded) string literals. Wherever possible, it reuses code from
+the @url{https://github.com/golang/net/tree/master/http2/hpack, HPACK
+implementation in the Go standard library}.")
(license license:expat)))
(define-public go-github-com-quic-go-quic-go
(package
(name "go-github-com-quic-go-quic-go")
- (version "0.52.0")
+ (version "0.54.1")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/quic-go/quic-go")
- (commit (string-append "v" version))))
+ (url "https://github.com/quic-go/quic-go")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0frcjzrarvk3ck6dhqp88a1cbazw7jb26gxq1wp3lhgmxv4v4m2m"))))
+ (base32 "025klj0pvnz5c1gbz4i3wb8fxbnyf4q5vz08l7xa7204qzl5njlk"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separately:
+ ;;
+ ;; - test
+ (delete-file-recursively "integrationtests/gomodvendor")))))
(build-system go-build-system)
(arguments
(list
- #:go go-1.23
#:import-path "github.com/quic-go/quic-go"
#:phases
#~(modify-phases %standard-phases
- ;; Test steps are taken from GitHub Actions -
- ;; <https://github.com/quic-go/quic-go/blob/v0.42.0/
- ;; .github/workflows/unit.yml>.
- (replace 'check
+ (add-after 'unpack 'remove-examples
(lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (setenv "TIMESCALE_FACTOR" "10")
- (invoke "ginkgo" "-r" "-v" "--no-color"
- (string-append
- "--procs=" (number->string
- ;; All tests passed on 16 threads
- ;; mathine, but fail on
- ;; ci.guix.gnu.org.
- (if (> (parallel-job-count) 17)
- 16
- (parallel-job-count))))
- "--skip-package=integrationtests"))))))))
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file-recursively "example"))))
+ (add-before 'check 'pre-check
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (setenv "TIMESCALE_FACTOR" "10"))))))
(native-inputs
- (list go-ginkgo
- go-github-com-onsi-ginkgo-v2
- go-github-com-stretchr-testify
+ (list go-github-com-stretchr-testify
go-go-uber-org-mock))
(propagated-inputs
(list go-github-com-francoispqt-gojay
+ go-github-com-prometheus-client-golang
go-github-com-quic-go-qpack
go-golang-org-x-crypto
go-golang-org-x-exp
go-golang-org-x-net
go-golang-org-x-sync
- go-golang-org-x-sys))
+ go-golang-org-x-sys
+ go-golang-org-x-tools))
(home-page "https://github.com/quic-go/quic-go")
(synopsis "QUIC in Go")
(description
@@ -9780,23 +9869,40 @@ the Go standard library}.")
protocol.")
(license license:expat)))
+(define-public go-github-com-quic-go-quic-go-0.52
+ (hidden-package
+ (package
+ (inherit go-github-com-quic-go-quic-go)
+ (name "go-github-com-quic-go-quic-go")
+ (version "0.52.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/quic-go/quic-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0frcjzrarvk3ck6dhqp88a1cbazw7jb26gxq1wp3lhgmxv4v4m2m"))))
+ (arguments
+ (list
+ #:skip-build? #t
+ #:tests? #f
+ #:import-path "github.com/quic-go/quic-go")))))
+
(define-public go-github-com-quic-go-webtransport-go
- ;; XXX: The latest commits contains comparability with Go@1.24 and QUICK
- ;; 0.48+, revert back to version tag when released.
- (let ((commit "0a9e2ee55f751e48eb03c4675d873edff3b69c05")
- (revision "0"))
(package
(name "go-github-com-quic-go-webtransport-go")
- (version (git-version "0.8.0" revision commit))
+ (version "0.9.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/quic-go/webtransport-go")
- (commit commit)))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "048qf7glv3zgz43qvi1smwsh1khhzyfrid6hp5dnp799p3s3vk13"))))
+ (base32 "061mr55dq80kf3422vfranqlfb0416vix3wl7rb78ndmrcgvmr86"))))
(build-system go-build-system)
(arguments
(list
@@ -9817,7 +9923,7 @@ protocol, based on @@url{https://github.com/quic-go/quic-go,quic-go}. It
currently implements
@@url{https://www.ietf.org/archive/id/draft-ietf-webtrans-http3-02.html,draft-02}
of the specification.")
- (license license:expat))))
+ (license license:expat)))
(define-public go-github-com-rcrowley-go-metrics
(package
@@ -10082,21 +10188,8 @@ information or even the peer of a VETH interface.")
(list
#:import-path "github.com/santhosh-tekuri/jsonschema/v5"
#:test-flags
- #~(list "-skip" (string-join
- ;; TODO: Figure out why these test patterns fail.
- (list "TestDraft2019/optional"
- "TestDraft2019/refRemote.json"
- "TestDraft2019/vocabulary.json"
- "TestDraft2020/dynamicRef.json"
- "TestDraft2020/optional"
- "TestDraft2020/refRemote.json"
- "TestDraft2020/vocabulary.json"
- "TestDraft4/refRemote.json"
- "TestDraft6/refRemote.json"
- "TestDraft7/optional"
- "TestDraft7/refRemote.json"
- "TestExtra/draft2020")
- "|"))
+ ;; Figure out why these test patterns fail.
+ #~(list "-skip" "TestDraft2020")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'copy-json-schema-specs
@@ -10106,12 +10199,16 @@ information or even the peer of a VETH interface.")
(string-append #$(this-package-native-input
"specification-json-schema-test-suite")
"/share/tests")
- "testdata/JSON-Schema-Test-Suite/tests"))))
+ "testdata/JSON-Schema-Test-Suite/tests")
+ (copy-recursively
+ (string-append #$(this-package-native-input
+ "specification-json-schema-test-suite")
+ "/share/remotes")
+ "testdata/JSON-Schema-Test-Suite/remotes"))))
(add-after 'check 'remove-json-schema-specs
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
- (delete-file-recursively
- "testdata/JSON-Schema-Test-Suite/tests")))))))
+ (delete-file-recursively "testdata")))))))
(native-inputs
(list specification-json-schema-test-suite))
(home-page "https://github.com/santhosh-tekuri/jsonschema")
@@ -10120,6 +10217,39 @@ information or even the peer of a VETH interface.")
"Package jsonschema provides json-schema compilation and validation.")
(license license:asl2.0)))
+(define-public go-github-com-santhosh-tekuri-jsonschema-v6
+ (package
+ (inherit go-github-com-santhosh-tekuri-jsonschema-v5)
+ (name "go-github-com-santhosh-tekuri-jsonschema-v6")
+ (version "6.0.2")
+ (source
+ (origin (inherit
+ (package-source go-github-com-santhosh-tekuri-jsonschema-v5))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/santhosh-tekuri/jsonschema")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0d1mpp77a9080r7n45wi2avf2zpgjyvxk5zqzxdyd8q0rvb811h0"))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-santhosh-tekuri-jsonschema-v5)
+ ((#:import-path _) "github.com/santhosh-tekuri/jsonschema/v6")
+ ((#:test-flags _) #~'())
+ ((#:phases _ '%standard-phases)
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-example-tests
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ ;; Tests try to download from
+ ;; https://raw.githubusercontent.com/santhosh-tekuri/boon\
+ ;; /main/tests/examples/schema.json
+ (delete-file "example_http_test.go"))))))))
+ (propagated-inputs
+ (list go-github-com-dlclark-regexp2
+ go-golang-org-x-text))))
+
(define-public go-github-com-schollz-peerdiscovery
(package
(name "go-github-com-schollz-peerdiscovery")
@@ -10310,26 +10440,18 @@ API v4.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/shurcooL/httpfs")
- (commit (go-version->git-ref version))))
+ (url "https://github.com/shurcooL/httpfs")
+ (commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "1m0jjnfzr8372cjx0zjm2zm695kwaz8l1yk7gzgn05biadsklprm"))))
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/shurcooL/httpfs"
- #:phases
- #~(modify-phases %standard-phases
- ;; XXX: Replace when go-build-system supports nested path.
- (delete 'build)
- (replace 'check
- (lambda* (#:key import-path tests? #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./..."))))))))
+ #:skip-build? #t
+ #:import-path "github.com/shurcooL/httpfs"))
(native-inputs
- (list go-golang-org-x-tools))
+ (list go-golang-org-x-tools-godoc))
(propagated-inputs
(list go-github-com-shurcool-httpgzip))
(home-page "https://github.com/shurcooL/httpfs")
@@ -10357,7 +10479,7 @@ interface.")
(list
#:import-path "github.com/shurcooL/httpgzip"))
(native-inputs
- (list go-golang-org-x-tools))
+ (list go-golang-org-x-tools-godoc))
(propagated-inputs
(list go-golang-org-x-net))
(home-page "https://github.com/shurcooL/httpgzip")
@@ -10385,7 +10507,7 @@ use gzip compression when serving HTTP requests.")
(list
#:import-path "github.com/shurcooL/vfsgen"))
(native-inputs
- (list go-golang-org-x-tools))
+ (list go-golang-org-x-tools-godoc))
(propagated-inputs
(list go-github-com-shurcool-httpfs))
(home-page "https://github.com/shurcooL/vfsgen")
@@ -11030,23 +11152,31 @@ extract data from those paths.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/ugorji/go")
- (commit (string-append "v" version))))
+ (url "https://github.com/ugorji/go")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1mny5gm5gr82hz4y6k5ljaa0khjw647ys278wq750fgrbzp6fs8h"))))
+ (base32 "1mny5gm5gr82hz4y6k5ljaa0khjw647ys278wq750fgrbzp6fs8h"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separately:
+ ;;
+ ;; - github.com/ugorji/go/codec/codecgen
+ (delete-file-recursively "codec/codecgen")))))
(build-system go-build-system)
(arguments
(list
- #:go go-1.23
- #:import-path "github.com/ugorji/go/codec"
- #:unpack-path "github.com/ugorji/go"
+ #:skip-build? #t
+ #:import-path "github.com/ugorji/go"
+ #:test-flags
+ #~(list "-vet=off") ;Go@1.24 forces vet, but tests are not ready yet.
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'remove-benchmarks
(lambda* (#:key import-path #:allow-other-keys)
(delete-file-recursively (string-append "src/"
import-path
- "/bench")))))))
+ "/codec/bench")))))))
(propagated-inputs (list go-golang-org-x-tools))
(home-page "https://github.com/ugorji/go")
(synopsis "Codec and encoding library for various serialization formats")
@@ -11748,7 +11878,7 @@ connection management for @url{https://github.com/xtaci/kcp-go,kcp-go}.")
go-github-com-hjson-hjson-go-v4
go-github-com-kardianos-minwinsvc
go-github-com-olekukonko-tablewriter-0.0.5
- go-github-com-quic-go-quic-go
+ go-github-com-quic-go-quic-go-0.52
go-github-com-vishvananda-netlink
go-github-com-wlynxg-anet
go-golang-org-x-crypto
@@ -12001,14 +12131,15 @@ Go.")
(build-system go-build-system)
(arguments
(list
- #:go go-1.23
;; TODO: Project provides a Go library and also CLI builds for service,
;; client and proxy.
#:skip-build? #t
#:import-path
"gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2"
- ;; panic: empty transcript [recovered]
- #:test-flags #~(list "-skip" "TestQueuePacketConnWriteToKCP")))
+ #:test-flags
+ #~(list "-vet=off" ;Go@1.24 forces vet, but tests are not ready yet
+ ;; panic: empty transcript [recovered]
+ "-skip" "TestQueuePacketConnWriteToKCP")))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
@@ -12145,6 +12276,8 @@ lists)
@end itemize")
(license license:mpl2.0)))
+;; XXX: This project was archived by the owner on Jul 31, 2023. It is now
+;; read-only. Consider to remove when nothing depends on it.
(define-public go-go-opencensus-io
(package
(name "go-go-opencensus-io")
@@ -12153,16 +12286,32 @@ lists)
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/census-instrumentation/opencensus-go")
- (commit (string-append "v" version))))
+ (url "https://github.com/census-instrumentation/opencensus-go")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1923j8v214fyk9qlw0lfva6ah8p7s8cfkrysiada5pp4jim4k4xi"))))
(build-system go-build-system)
(arguments
(list
- #:go go-1.23
#:import-path "go.opencensus.io"
+ #:test-subdirs
+ #~(list "exporter/stackdriver/propagation"
+ "internal"
+ "metric"
+ "metric/metricexport"
+ "metric/metricproducer"
+ "metric/test"
+ "plugin/ochttp/propagation/b3"
+ "plugin/ochttp/propagation/tracecontext"
+ "plugin/runmetrics"
+ "resource"
+ "stats"
+ "stats/view"
+ "tag"
+ "trace"
+ "trace/propagation"
+ "trace/tracestate")
#:test-flags
#~(list "-skip"
(string-join
@@ -13343,6 +13492,36 @@ generate Go code.")
((#:tests? _ #t) #f)
((#:import-path _) "gopkg.in/jcmturner/rpc.v2")))))
+(define-public go-gopkg-in-telebot-v3
+ (package
+ (name "go-gopkg-in-telebot-v3")
+ (version "3.3.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-telebot/telebot")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0l6gl31jd1i5im037ra5qd0sd2acwk09idh89b7d97j34y2a8bv6"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "gopkg.in/telebot.v3"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-goccy-go-yaml
+ go-github-com-spf13-viper))
+ (home-page "https://github.com/go-telebot/telebot")
+ (synopsis "Telegram bot framework in Golang")
+ (description
+ "Telebot is a bot framework for @url{https://core.telegram.org/bots/api,
+Telegram Bot API}. This package provides the best of its kind API for command
+routing, inline query requests and keyboards, as well as callbacks.")
+ (license license:expat)))
+
(define-public go-k8s-io-cri-api
(package
(name "go-k8s-io-cri-api")
@@ -13379,7 +13558,7 @@ docs}.")
(define-public go-k8s-io-kube-openapi
(package
(name "go-k8s-io-kube-openapi")
- (version "0.0.0-20250905212525-66792eed8611")
+ (version "0.0.0-20250910181357-589584f1c912")
;; XXX: Unbundle third_party in pkg.
(source
(origin
@@ -13389,32 +13568,27 @@ docs}.")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1979alrrlym968jxdcxc1lpm3b13bnkyayg042gk6xn0kb97mqma"))
- ;; XXX: test/integration contains submodule with it's own go.mod.
+ (base32 "1appaqgllddcl6kxkz3azix0xhlzy093vvxi6y3im1mkf5zblwl7"))
(modules '((guix build utils)))
(snippet
#~(begin
- ;; Keeping just testdata.
- (for-each delete-file-recursively
- (list "test/integration/builder"
- "test/integration/builder3"
- "test/integration/openapiconv"
- "test/integration/pkg/generated"
- "test/integration/testutil"
- "test/integration/import.go"
- "test/integration/integration_suite_test.go"))))))
+ (delete-file-recursively "test")))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "k8s.io/kube-openapi"
- ;; Tests are not copatible with Go 1.24+.
- #:test-flags #~(list "-vet=off")))
+ #:test-flags
+ ;; Go@1.24 forces vet, but tests are not ready yet.
+ #~(list "-vet=off"
+ ;; It tries to regenerate the test data.
+ "-skip" "TestGenerators")))
(native-inputs
(list go-github-com-onsi-ginkgo-v2
go-github-com-onsi-gomega
go-github-com-stretchr-testify
- ;; go-golang-org-x-tools-go-packages-packagestest
+ go-golang-org-x-tools-go-packages-packagestest
+ go-k8s-io-kube-openapi-test-integration
go-sigs-k8s-io-yaml))
(propagated-inputs
(list go-github-com-emicklei-go-restful-v3
@@ -13446,6 +13620,50 @@ but implement that subset with little to no assumption about the structure of
the code or routes.")
(license license:asl2.0)))
+(define-public go-k8s-io-kube-openapi-test-integration
+ (package
+ (name "go-k8s-io-kube-openapi-test-integration")
+ (version "0.0.0-20250910181357-589584f1c912")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kubernetes/kube-openapi")
+ (commit (go-version->git-ref version
+ #:subdir "test/integration"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1appaqgllddcl6kxkz3azix0xhlzy093vvxi6y3im1mkf5zblwl7"))
+ (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 "." "test")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:tests? #f
+ #:import-path "k8s.io/kube-openapi/test/integration"
+ #:unpack-path "k8s.io/kube-openapi"))
+ (propagated-inputs
+ (list go-github-com-emicklei-go-restful-v3
+ go-github-com-getkin-kin-openapi
+ go-k8s-io-utils))
+ (home-page "https://k8s.io/kube-openapi")
+ (synopsis "Kube OpenAPI Integration Tests")
+ (description
+ "This package providies itegration tests module for
+@code{k8s.io/kube-openapi}.")
+ (license license:asl2.0)))
+
(define-public go-maunium-net-go-mautrix
(package
(name "go-maunium-net-go-mautrix")
@@ -13689,7 +13907,6 @@ protocol.")
(build-system go-build-system)
(arguments
(list
- #:go go-1.23
#:build-flags #~(list (string-append "-ldflags="
"-X main.lyrebirdVersion="
#$version " -s -w"))