projects/guix·blob javascript-team · refs

28032 lines · 1.0 MiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2017, 2019, 2020, 2021 Leo Famulari <[email protected]>
3;;; Copyright © 2018 Pierre Neidhardt <[email protected]>
4;;; Copyright © 2018 Pierre-Antoine Rouby <[email protected]>
5;;; Copyright © 2019 Maxim Cournoyer <[email protected]>
6;;; Copyright © 2019 Vagrant Cascadian <[email protected]>
7;;; Copyright © 2019, 2020 Martin Becze <[email protected]>
8;;; Copyright © 2020 Jack Hill <[email protected]>
9;;; Copyright © 2020 Joseph LaFreniere <[email protected]>
10;;; Copyright © 2020 Nicolas Goaziou <[email protected]>
11;;; Copyright © 2020 Oleg Pykhalov <[email protected]>
12;;; Copyright © 2020 Ryan Prior <[email protected]>
13;;; Copyright © 2020 raingloom <[email protected]>
14;;; Copyright © 2020-2024 Efraim Flashner <[email protected]>
15;;; Copyright © 2021 Collin J. Doering <[email protected]>
16;;; Copyright © 2021 Philip McGrath <[email protected]>
17;;; Copyright © 2021 Raghav Gururajan <[email protected]>
18;;; Copyright © 2021 Sarah Morgensen <[email protected]>
19;;; Copyright © 2022 (unmatched-parenthesis <[email protected]>
20;;; Copyright © 2022 Adam Kandur <[email protected]>
21;;; Copyright © 2022 Dhruvin Gandhi <[email protected]>
22;;; Copyright © 2022, 2026 Giacomo Leidi <[email protected]>
23;;; Copyright © 2022 Leo Nikkilä <[email protected]>
24;;; Copyright © 2022, 2025 jgart via Guix-patches via <[email protected]>
25;;; Copyright © 2022 muradm <[email protected]>
26;;; Copyright © 2022, 2023, 2025 Sharlatan Hellseher <[email protected]>
27;;; Copyright © 2023 Felix Lechner <[email protected]>
28;;; Copyright © 2023 Filip Lajszczak <[email protected]>
29;;; Copyright © 2023 Fries <[email protected]>
30;;; Copyright © 2023 Hilton Chain <[email protected]>
31;;; Copyright © 2023 Katherine Cox-Buday <[email protected]>
32;;; Copyright © 2023 Miguel Ángel Moreno <[email protected]>
33;;; Copyright © 2023 Nicolas Graves <[email protected]>
34;;; Copyright © 2023 Thomas Ieong <[email protected]>
35;;; Copyright © 2023 conses <[email protected]>
36;;; Copyright © 2023, 2024, 2026 Artyom V. Poptsov <[email protected]>
37;;; Copyright © 2024 Dominic Martinez <[email protected]>
38;;; Copyright © 2024 Herman Rimm <[email protected]>
39;;; Copyright © 2024 Jesse Eisses <[email protected]>
40;;; Copyright © 2024 Roman Scherer <[email protected]>
41;;; Copyright © 2024 Troy Figiel <[email protected]>
42;;; Copyright © 2025 André Batista <[email protected]>
43;;; Copyright © 2025 Jussi Timperi <[email protected]>
44;;; Copyright © 2025 Ashvith Shetty <[email protected]>
45;;; Copyright © 2025 Arthur Rodrigues <[email protected]>
46;;; Copyright © 2025 David Thompson <[email protected]>
47;;; Copyright © 2025 Danny Milosavljevic <[email protected]>
48;;; Copyright © 2025 Patrick Norton <[email protected]>
49;;; Copyright © 2025 Jared Klingenberger <[email protected]>
50;;; Copyright © 2026 Carlos Durán Domínguez <[email protected]>
51;;; Copyright © 2026 Arun Isaac <[email protected]>
52;;; Copyright © 2026 Evgeny Pisemsky <[email protected]>
53;;; Copyright © 2026 Vinicius Monego <[email protected]>
54;;; Copyright © 2026 Konstantin Suntsov <[email protected]>
55;;; Copyright © 2026 Nikita Alkhovik <[email protected]>
56;;;
57;;; This file is part of GNU Guix.
58;;;
59;;; GNU Guix is free software; you can redistribute it and/or modify it
60;;; under the terms of the GNU General Public License as published by
61;;; the Free Software Foundation; either version 3 of the License, or (at
62;;; your option) any later version.
63;;;
64;;; GNU Guix is distributed in the hope that it will be useful, but
65;;; WITHOUT ANY WARRANTY; without even the implied warranty of
66;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
67;;; GNU General Public License for more details.
68;;;
69;;; You should have received a copy of the GNU General Public License
70;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
71
72;;; Commentary:
73;;;
74;;; Golang modules (libraries) for Web related projects: HTML, CSS, SCSS,
75;;; JavaScript, JSON, Web-framework, REST-API or similar functionality; for
76;;; Network related projects: OSI layers implementation algorithms, MIME,
77;;; Email protocols implementations, and similar. They may provide
78;;; executables and libraries, for which there are marked sections.
79
80;;;
81;;; Please: Try to add new module packages in alphabetic order.
82;;;
83;;; Code:
84
85(define-module (gnu packages golang-web)
86 #:use-module ((guix licenses) #:prefix license:)
87 #:use-module (guix packages)
88 #:use-module (guix build-system go)
89 #:use-module (guix gexp)
90 #:use-module (guix git-download)
91 #:use-module (guix utils)
92 #:use-module (gnu packages)
93 #:use-module (gnu packages aidc)
94 #:use-module (gnu packages crypto)
95 #:use-module (gnu packages freedesktop)
96 #:use-module (gnu packages golang)
97 #:use-module (gnu packages golang-build)
98 #:use-module (gnu packages golang-check)
99 #:use-module (gnu packages golang-compression)
100 #:use-module (gnu packages golang-crypto)
101 #:use-module (gnu packages golang-maths)
102 #:use-module (gnu packages golang-xyz)
103 #:use-module (gnu packages linux)
104 #:use-module (gnu packages prometheus)
105 #:use-module (gnu packages specifications)
106 #:use-module (gnu packages tls)
107 #:use-module (gnu packages web))
108
109
110;;;
111;;; Libraries:
112;;;
113
114(define-public go-0xacab-org-leap-geoip-service
115 (package
116 (name "go-0xacab-org-leap-geoip-service")
117 (version "0.1.1")
118 (source
119 (origin
120 (method git-fetch)
121 (uri (git-reference
122 (url "https://0xacab.org/leap/geoip-service.git")
123 (commit (string-append "v" version))))
124 (file-name (git-file-name name version))
125 (sha256
126 (base32 "1hsliznb7x61x7nx0k90jk0qqcbjqx7mbglf56xg793v9xlbiisj"))))
127 (build-system go-build-system)
128 (arguments
129 (list
130 #:skip-build? #t
131 #:import-path "0xacab.org/leap/geoip-service"
132 #:embed-files #~(list "geoinfo.mmdb")))
133 (native-inputs
134 (list go-github-com-spf13-pflag
135 go-github-com-spf13-viper
136 go-github-com-stretchr-testify))
137 (propagated-inputs
138 (list go-github-com-labstack-echo-v4
139 go-github-com-ooni-probe-engine
140 go-golang-org-x-time))
141 (home-page "https://0xacab.org/leap/geoip-service")
142 (synopsis "IP geolocation lookups for Go")
143 (description
144 "This package provides a lightweight service for IP geolocation lookups
145that provides ASN (Autonomous System Number), country code, and network
146information.")
147 (license license:gpl3+)))
148
149(define-public go-0xacab-org-leap-lb
150 (package
151 (name "go-0xacab-org-leap-lb")
152 (version "0.0.0-20210225193050-570f848edccf")
153 (source
154 (origin
155 (method git-fetch)
156 (uri (git-reference
157 (url "https://0xacab.org/leap/lb.git")
158 (commit (go-version->git-ref version))))
159 (file-name (git-file-name name version))
160 (sha256
161 (base32 "161bznz4srgvqr7q18z63chps52lvdfnldbf6cgm5sw1ly5vwjwi"))
162 (modules '((guix build utils)))
163 (snippet
164 #~(begin
165 ;; Module name has not been changed upstream.
166 (substitute* (find-files "." "\\.go$")
167 (("git.autistici.org/ale/lb")
168 "0xacab.org/leap/lb"))))))
169 (build-system go-build-system)
170 (arguments
171 (list
172 #:import-path "0xacab.org/leap/lb"))
173 (propagated-inputs
174 (list go-github-com-golang-protobuf
175 go-google-golang-org-grpc))
176 (home-page "https://0xacab.org/leap/lb")
177 (synopsis "Smart load balancing Golang library")
178 (description
179 "This package provides an implementation of smart load balancing of simple,
180redirect-based (i.e. not directly reverse proxied) services. It's an
181alternative fork of https://git.autistici.org/ale/lb.")
182 (license license:gpl3+)))
183
184(define-public go-0xacab-org-leap-menshen
185 (package
186 (name "go-0xacab-org-leap-menshen")
187 (version "1.8.1")
188 (source
189 (origin
190 (method git-fetch)
191 (uri (git-reference
192 (url "https://0xacab.org/leap/menshen.git")
193 (commit (string-append "v" version))))
194 (file-name (git-file-name name version))
195 (sha256
196 (base32 "11lvz78pgldhyysglkxgvcgvhjgjqbfb466ykq95mhdpc3xi8nmy"))
197 (modules '((guix build utils)))
198 (snippet
199 #~(begin
200 ;; From go.mod file: replace git.autistici.org/ale/lb =>
201 ;; 0xacab.org/leap/lb v0.0.0-20210225193050-570f848edccf
202 (substitute* (find-files "." "\\.go$")
203 (("git.autistici.org/ale/lb")
204 "0xacab.org/leap/lb"))))))
205 (build-system go-build-system)
206 (arguments
207 (list
208 #:skip-build? #t
209 #:import-path "0xacab.org/leap/menshen"
210 #:embed-files
211 #~(list ".*\\.png" ".*\\.json" ".*\\.css" ".*\\.html"
212 ".*\\.js" ".*\\.map")
213 #:phases
214 #~(modify-phases %standard-phases
215 (add-after 'unpack 'remove-cmd-invitectl
216 ;; Remove the part which introduce the cycle with
217 ;; "0xacab.org/leap/bitmask-core", it's a stand alone program
218 ;; which may be build separately not as part of this package.
219 (lambda* (#:key import-path #:allow-other-keys)
220 (with-directory-excursion (string-append "src/" import-path)
221 (delete-file-recursively "cmd/invitectl"))))
222 (add-after 'unpack 'fix-symnlink-to-go-0xacab-org-leap-lb
223 ;; XXX: For some reason "src/0xacab.org/leap/lb" is empty even if
224 ;; the package is present in propagated inputs.
225 (lambda _
226 (symlink (string-append
227 #$(this-package-input "go-0xacab-org-leap-lb")
228 "/src/0xacab.org/leap/lb")
229 "src/0xacab.org/leap/lb"))))))
230 (native-inputs
231 (list go-github-com-jmcvetta-randutil
232 go-github-com-magiconair-properties
233 go-github-com-mroth-weightedrand-v2
234 go-github-com-stretchr-testify
235 go-github-com-tj-assert))
236 (propagated-inputs
237 (list ;; go-0xacab-org-leap-bitmask-core ; cycles
238 go-0xacab-org-leap-lb
239 go-github-com-emirpasic-gods-v2
240 go-github-com-go-openapi-errors
241 go-github-com-go-openapi-runtime
242 go-github-com-go-openapi-strfmt
243 go-github-com-go-openapi-swag
244 go-github-com-go-openapi-validate
245 go-github-com-jmoiron-sqlx
246 go-github-com-kellydunn-golang-geo
247 go-github-com-labstack-echo-v4
248 go-github-com-mattn-go-sqlite3
249 go-github-com-prometheus-client-golang
250 go-github-com-rs-zerolog
251 go-github-com-spf13-cobra
252 go-github-com-spf13-pflag
253 go-github-com-spf13-viper
254 go-github-com-swaggo-echo-swagger
255 go-github-com-swaggo-swag
256 go-github-com-tidwall-cities
257 go-golang-org-x-crypto
258 go-golang-org-x-exp
259 go-gonum-org-v1-gonum
260 go-google-golang-org-grpc
261 go-gopkg-in-yaml-v2))
262 (home-page "https://0xacab.org/leap/menshen")
263 (synopsis "Gateway & bridge distribution service for LEAP VPN")
264 (description
265 "@code{menshen} is a resource distributor for LEAP VPN. Here, resource
266means information for accessing either gateways, bridges, or a combination of
267the two. This information includes not only endpoint discovery but also
268credentials (although the credential distribution is not fully integrated at
269this point). In chinese folk religions,
270@url{https://en.wikipedia.org/wiki/Menshen, menshen} are guardians of doors
271and gates.")
272 (license license:gpl3)))
273
274(define-public go-0xacab-org-leap-menshen-agent
275 (package
276 (name "go-0xacab-org-leap-menshen-agent")
277 (version "0.0.5")
278 (source
279 (origin
280 (method git-fetch)
281 (uri (git-reference
282 (url "https://0xacab.org/leap/menshen-agent.git")
283 (commit (string-append "v" version))))
284 (file-name (git-file-name name version))
285 (sha256
286 (base32 "0575b7pa6wnicdy5mc4y88zgihdv4bx5h9ygzyf98lkl7ihvsayr"))))
287 (build-system go-build-system)
288 (arguments
289 (list
290 #:import-path "0xacab.org/leap/menshen-agent"
291 #:embed-files
292 #~(list ".*\\.png" ".*\\.json" ".*\\.css" ".*\\.html"
293 ".*\\.js" ".*\\.map")
294 #:phases
295 #~(modify-phases %standard-phases
296 (add-after 'unpack 'fix-symnlink-to-0xacab-org-leap-menshen
297 ;; XXX: For some reason "src/0xacab.org/leap/menshen" is empty
298 ;; even if the package is present in propagated inputs.
299 (lambda _
300 (symlink (string-append
301 #$(this-package-input "go-0xacab-org-leap-menshen")
302 "/src/0xacab.org/leap/menshen")
303 "src/0xacab.org/leap/menshen")))
304 (add-after 'unpack 'remove-integrtion-tests
305 (lambda* (#:key import-path #:allow-other-keys)
306 (with-directory-excursion (string-append "src/" import-path)
307 (delete-file-recursively "tests/integration")))))))
308 (native-inputs
309 (list go-github-com-spf13-cobra
310 go-github-com-stretchr-testify))
311 (propagated-inputs
312 (list go-0xacab-org-leap-menshen
313 go-github-com-go-openapi-runtime
314 go-github-com-go-openapi-strfmt))
315 (home-page "https://0xacab.org/leap/menshen-agent")
316 (synopsis "Menshen agent for host bridge/gateway")
317 (description
318 "@code{menshen-agent} is the agent running on a host (bridge or gateway)
319which communicates with @code{menshen} in order to provide configuration
320information and allow for dynamic registration/inventory.")
321 (license license:gpl3)))
322
323(define-public go-0xacab-org-leap-obfsvpn
324 (package
325 (name "go-0xacab-org-leap-obfsvpn")
326 (version "1.3.0")
327 (source
328 (origin
329 (method git-fetch)
330 (uri (git-reference
331 (url "https://0xacab.org/leap/obfsvpn.git")
332 (commit (string-append "v" version))))
333 (file-name (git-file-name name version))
334 (sha256
335 (base32 "1iq3m2j6m9n1h9rkysaj97nnqx65fn7vz9jskl4qa4rwh002pv3d"))
336 (modules '((guix build utils)))
337 (snippet
338 #~(begin
339 ;; It's the same project.
340 (substitute* (find-files "." "\\.go$")
341 (("git.torproject.org/pluggable-transports/goptlib.git")
342 (string-append "gitlab.torproject.org/tpo/anti-censorship"
343 "/pluggable-transports/goptlib")))))))
344 (build-system go-build-system)
345 (arguments
346 (list
347 #:skip-build? #t
348 #:import-path "0xacab.org/leap/obfsvpn"))
349 (native-inputs
350 (list go-github-com-spf13-pflag
351 go-github-com-spf13-viper))
352 (propagated-inputs
353 (list go-github-com-labstack-echo-v4
354 go-github-com-quic-go-quic-go-0.52
355 go-github-com-sirupsen-logrus
356 go-github-com-xtaci-kcp-go-v5
357 go-gitlab-com-yawning-obfs4-git
358 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib))
359 (home-page "https://0xacab.org/leap/obfsvpn")
360 (synopsis "OBFS4 client and server proxies")
361 (description
362 "The @@code{obfsvpn} module contains a Go package that provides server
363and client components to use variants of the obfs4 obfuscation protocol. It
364is intended to be used as a drop-in Pluggable Transport for @code{OpenVPN}
365connections
366(although it can be used for other, more generic purposes).")
367 (license license:bsd-2)))
368
369(define-public go-0xacab-org-leap-shapeshifter
370 (let ((commit "0aa6226582efb8e563540ec1d3c5cfcd19200474")
371 (revision "12"))
372 (package
373 (name "go-0xacab-org-leap-shapeshifter")
374 (version (git-version "0.0.0" revision commit))
375 (source
376 (origin
377 (method git-fetch)
378 (uri (git-reference
379 (url "https://0xacab.org/leap/shapeshifter")
380 (commit commit)))
381 (file-name (git-file-name name version))
382 (sha256
383 (base32 "0m4fla9ppl53k9syms4dsad92wakr74cdvids3xxv3amdh4d1w4i"))))
384 (build-system go-build-system)
385 (arguments
386 (list
387 #:import-path "0xacab.org/leap/shapeshifter"))
388 (propagated-inputs
389 (list go-github-com-operatorfoundation-obfs4
390 go-github-com-operatorfoundation-shapeshifter-transports
391 go-golang-org-x-net))
392 (home-page "https://0xacab.org/leap/shapeshifter")
393 (synopsis "Shapeshifter Dispatcher Library")
394 (description
395 "Shapeshifter provides network protocol shapeshifting technology. The
396purpose of this technology is to change the characteristics of network traffic
397so that it is not identified and subsequently blocked by network filtering
398devices.")
399 (license license:bsd-2))))
400
401(define-public go-buf-build-go-protovalidate
402 (package
403 (name "go-buf-build-go-protovalidate")
404 (version "0.14.0")
405 (source
406 (origin
407 (method git-fetch)
408 (uri (git-reference
409 (url "https://github.com/bufbuild/protovalidate-go")
410 (commit (string-append "v" version))))
411 (file-name (git-file-name name version))
412 (sha256
413 (base32 "1y6c43qm3jd2anvvgz76jxj1398ycc1bf3mzq63an2pin5lf0j6g"))))
414 (build-system go-build-system)
415 (arguments
416 (list
417 #:skip-build? #t
418 #:embed-files #~(list "authoring.tmpl")
419 #:import-path "buf.build/go/protovalidate"))
420 (native-inputs
421 (list go-github-com-stretchr-testify))
422 (propagated-inputs
423 (list go-buf-build-gen-go-bufbuild-protovalidate-protocolbuffers-go
424 go-github-com-google-cel-go
425 go-google-golang-org-protobuf))
426 (home-page "https://github.com/bufbuild/protovalidate-go")
427 (synopsis "Protocol Buffer Validation for Golang")
428 (description
429 "Protovalidate is the semantic validation library for Protobuf. It
430provides standard annotations to validate common rules on messages and
431fields,as well as the ability to use @url{https://cel.dev, CEL} to write
432custom rules. It's the next generation of
433@url{https://github.com/bufbuild/protoc-gen-validate, protoc-gen-validate}.")
434 (license license:asl2.0)))
435
436(define-public go-cloud-google-com-go
437 (package
438 (name "go-cloud-google-com-go")
439 (version "0.123.0")
440 (source
441 (origin
442 (method git-fetch)
443 (uri (git-reference
444 (url "https://github.com/googleapis/google-cloud-go")
445 (commit (string-append "v" version))))
446 (file-name (git-file-name name version))
447 (sha256
448 (base32 "00hp2c41zmh533ii43y20mrh1jsgqk8k49hw96rxz1kras7xy9vy"))
449 (modules '((guix build utils)))
450 (snippet
451 #~(begin
452 ;; TODO: there are a lot of modules (about 205) in this package
453 ;; which need to be packaged individually; as for now use it as
454 ;; source only to build for Restic update.
455 ;;
456 ;; Submodules with their own go.mod files and packaged separately:
457 (for-each delete-file-recursively
458 (list "auth"
459 "bigquery"
460 "compute/metadata"
461 "datacatalog"
462 "iam"
463 "kms"
464 "logging"
465 "longrunning"
466 "monitoring"
467 "profiler"
468 "security"
469 "spanner"
470 "storage"
471 "trace"))))))
472 (build-system go-build-system)
473 (arguments
474 (list
475 #:import-path "cloud.google.com/go"
476 #:test-flags
477 #~(list "-vet=off")
478 #:test-subdirs
479 #~(list "civil"
480 "compute/metadata"
481 "container/apiv1"
482 "errorreporting"
483 "errorreporting/apiv1beta1"
484 "functions/metadata"
485 "httpreplay/internal/proxy"
486 "internal"
487 "internal/btree"
488 "internal/carver/cmd/carver"
489 "internal/detect"
490 "internal/fields"
491 "internal/leakcheck"
492 "internal/librariangen/bazel"
493 "internal/librariangen/execv"
494 "internal/librariangen/request"
495 "internal/optional"
496 "internal/pretty"
497 "internal/protostruct"
498 "internal/testutil"
499 "internal/trace"
500 "internal/tracecontext"
501 "internal/uid"
502 "internal/version"
503 "pubsub/internal/distribution"
504 "pubsub/internal/scheduler"
505 "pubsub/internal/testutil"
506 "pubsub/v2/internal/distribution"
507 "pubsub/v2/internal/scheduler"
508 "pubsub/v2/internal/testutil"
509 "rpcreplay"
510 "translate")))
511 (propagated-inputs
512 (list ;; go-cloud-google-com-go-storage
513 go-github-com-google-go-cmp
514 go-github-com-google-martian-v3
515 go-github-com-googleapis-gax-go-v2
516 go-go-opentelemetry-io-otel
517 go-go-opentelemetry-io-otel-sdk
518 go-go-opentelemetry-io-otel-trace
519 go-golang-org-x-oauth2
520 go-google-golang-org-api
521 go-google-golang-org-genproto-googleapis-rpc
522 go-google-golang-org-grpc
523 go-google-golang-org-protobuf))
524 (home-page "https://cloud.google.com/go")
525 (synopsis "Google Cloud Client Libraries for Go")
526 (description
527 "Package cloud is the root of the packages used to access Google Cloud
528Services.")
529 (license license:asl2.0)))
530
531(define-public go-cloud-google-com-go-auth
532 (package
533 (name "go-cloud-google-com-go-auth")
534 (version "0.18.2")
535 (source
536 (origin
537 (method git-fetch)
538 (uri (git-reference
539 (url "https://github.com/googleapis/google-cloud-go")
540 (commit (go-version->git-ref version
541 #:subdir "auth"))))
542 (file-name (git-file-name name version))
543 (sha256
544 (base32 "1c2i8jhc4rizmwz6716bwxwy04adjmm7k2cigki3m1f00rwblmki"))
545 (modules '((guix build utils)))
546 (snippet #~(begin
547 (delete-file-recursively "auth/oauth2adapt")
548 (delete-all-but "." "auth")))))
549 (build-system go-build-system)
550 (arguments
551 (list
552 #:import-path "cloud.google.com/go/auth"
553 #:unpack-path "cloud.google.com/go"
554 #:test-flags
555 #~(list "-skip"
556 (string-join
557 ;; These tests all require credentials/tokens
558 (list "TestDownscopedToken"
559 "TestLogDirectPathMisconfigDirectPathNotSet"
560 "TestLogDirectPathMisconfigNotOnGCE"
561 ;; Runint OTP instance is required.
562 "TestDial_OpenTelemetry/telemetry_enabled_success"
563 "TestDial_OpenTelemetry/telemetry_enabled_error")
564 "|"))))
565 (propagated-inputs
566 (list go-cloud-google-com-go-compute-metadata
567 go-github-com-google-go-cmp
568 go-github-com-google-s2a-go
569 go-github-com-googleapis-enterprise-certificate-proxy
570 go-github-com-googleapis-gax-go-v2
571 go-go-opentelemetry-io-contrib-instrumentation-google-golang-org-grpc-otelgrpc
572 go-go-opentelemetry-io-contrib-instrumentation-net-http-otelhttp
573 go-go-opentelemetry-io-otel
574 go-go-opentelemetry-io-otel-sdk
575 go-go-opentelemetry-io-otel-trace
576 go-golang-org-x-net
577 go-golang-org-x-time
578 go-google-golang-org-grpc
579 go-google-golang-org-protobuf))
580 (home-page "https://cloud.google.com/go")
581 (synopsis "Google Auth Library for Go")
582 (description
583 "This package provides utilities for managing Google Cloud credentials,
584including functionality for creating, caching, and refreshing OAuth2 tokens.
585It offers customizable options for different OAuth2 flows, such as
5862-legged (2LO) and 3-legged (3LO) OAuth, along with support for PKCE and
587automatic token management.")
588 (license license:asl2.0)))
589
590(define-public go-cloud-google-com-go-auth-oauth2adapt
591 (package
592 (name "go-cloud-google-com-go-auth-oauth2adapt")
593 (version "0.2.8")
594 (source
595 (origin
596 (method git-fetch)
597 (uri (git-reference
598 (url "https://github.com/googleapis/google-cloud-go")
599 (commit (go-version->git-ref version
600 #:subdir "auth/oauth2adapt"))))
601 (file-name (git-file-name name version))
602 (sha256
603 (base32 "109szg097fn42qpsmrmd29iwsdh2yrjh9krq8mjm02fnm7l18lc4"))
604 (modules '((guix build utils)))
605 (snippet #~(begin
606 (delete-all-but "auth" "oauth2adapt")
607 (delete-all-but "." "auth")))))
608 (build-system go-build-system)
609 (arguments
610 (list
611 #:skip-build? #t
612 #:import-path "cloud.google.com/go/auth/oauth2adapt"
613 #:unpack-path "cloud.google.com/go"))
614 (propagated-inputs
615 (list go-golang-org-x-oauth2
616 go-github-com-google-go-cmp
617 go-cloud-google-com-go-auth))
618 (home-page "https://cloud.google.com/go")
619 (synopsis "Convert Google Auth types")
620 (description "This package helps convert types used in
621cloud.google.com/go/auth and golang.org/x/oauth2.")
622 (license license:asl2.0)))
623
624(define-public go-cloud-google-com-go-bigquery
625 (package
626 (name "go-cloud-google-com-go-bigquery")
627 (version "1.77.0")
628 (source
629 (origin
630 (method git-fetch)
631 (uri (git-reference
632 (url "https://github.com/googleapis/google-cloud-go")
633 (commit (go-version->git-ref version #:subdir "bigquery"))))
634 (file-name (git-file-name name version))
635 (sha256
636 (base32 "033xm9hh7zv0wh3x0ypzrlma2k8y0ljhsywz0p0mv31a2nvdacmm"))
637 (modules '((guix build utils)))
638 (snippet
639 #~(begin
640 (delete-all-but "." "bigquery")
641 (substitute* (find-files "." "\\.go$")
642 ;; Use split v18 instead old v15 which was part of Apache
643 ;; Arrow source tree.
644 (("github.com/apache/arrow/go/v15")
645 "github.com/apache/arrow-go/v18"))))))
646 (build-system go-build-system)
647 (arguments
648 (list
649 #:skip-build? #t
650 #:import-path "cloud.google.com/go/bigquery"
651 #:unpack-path "cloud.google.com/go"
652 #:test-flags
653 #~(list "-vet=off"
654 "-skip"
655 ;; Network setup is required.
656 "TestTracingTelemetryAttributes|TestGRPCClient|TestRESTClient")))
657 (native-inputs
658 (list go-github-com-google-go-cmp))
659 (propagated-inputs
660 (list go-cloud-google-com-go
661 go-cloud-google-com-go-datacatalog
662 go-cloud-google-com-go-iam
663 go-cloud-google-com-go-longrunning
664 go-cloud-google-com-go-storage
665 go-github-com-apache-arrow-go-v18
666 go-github-com-google-uuid
667 go-github-com-googleapis-gax-go-v2
668 go-go-opencensus-io
669 go-go-opentelemetry-io-otel
670 go-go-opentelemetry-io-otel-sdk
671 go-go-opentelemetry-io-otel-trace
672 go-golang-org-x-sync
673 go-golang-org-x-xerrors
674 go-google-golang-org-api
675 go-google-golang-org-genproto
676 go-google-golang-org-genproto-googleapis-api
677 go-google-golang-org-genproto-googleapis-rpc
678 go-google-golang-org-grpc
679 go-google-golang-org-protobuf
680
681 ;; XXX: These packages have to be bootstrapped to break cycle with
682 ;; go-google-golang-org-grpc.
683 go-github-com-envoyproxy-go-control-plane
684 go-github-com-envoyproxy-go-control-plane-envoy))
685 (home-page "https://cloud.google.com/go")
686 (synopsis "Go wrapper for Google Compute Engine BigQuery service")
687 (description
688 "Package bigquery provides a client for the @code{BigQuery} service.")
689 (license license:asl2.0)))
690
691(define-public go-cloud-google-com-go-compute-metadata
692 (package
693 (name "go-cloud-google-com-go-compute-metadata")
694 (version "0.9.0")
695 (source
696 (origin
697 (method git-fetch)
698 (uri (git-reference
699 (url "https://github.com/googleapis/google-cloud-go")
700 (commit (go-version->git-ref version
701 #:subdir "compute/metadata"))))
702 (file-name (git-file-name name version))
703 (sha256
704 (base32 "1xhiyv3p9kh6qj007yqd8fic2w48ngrff2vwi9i21v82v5zp51gv"))))
705 (build-system go-build-system)
706 (arguments
707 (list
708 #:import-path "cloud.google.com/go/compute/metadata"
709 #:unpack-path "cloud.google.com/go"))
710 (native-inputs
711 (list go-github-com-google-go-cmp))
712 (propagated-inputs
713 (list go-golang-org-x-sys))
714 (home-page "https://pkg.go.dev/cloud.google.com/go/compute/metadata")
715 (synopsis "Go wrapper for Google Compute Engine metadata service")
716 (description
717 "This package provides access to Google Compute Engine (GCE) metadata and
718API service accounts for Go.")
719 (license license:asl2.0)))
720
721(define-public go-cloud-google-com-go-datacatalog
722 (package
723 (name "go-cloud-google-com-go-datacatalog")
724 (version "1.27.0")
725 (source
726 (origin
727 (method git-fetch)
728 (uri (git-reference
729 (url "https://github.com/googleapis/google-cloud-go")
730 (commit (go-version->git-ref version #:subdir "datacatalog"))))
731 (file-name (git-file-name name version))
732 (sha256
733 (base32 "1qrhsn90v1myvyd46pjvg02pzwqzny1v3f75jdby03bbdcd7al9m"))
734 (modules '((guix build utils)))
735 (snippet #~(delete-all-but "." "datacatalog"))))
736 (build-system go-build-system)
737 (arguments
738 (list
739 #:skip-build? #t
740 #:import-path "cloud.google.com/go/datacatalog"
741 #:unpack-path "cloud.google.com/go"))
742 (propagated-inputs
743 (list go-cloud-google-com-go-iam
744 go-cloud-google-com-go-longrunning
745 go-github-com-google-uuid
746 go-github-com-googleapis-gax-go-v2
747 go-go-opentelemetry-io-otel-trace
748 go-google-golang-org-api
749 go-google-golang-org-genproto
750 go-google-golang-org-genproto-googleapis-api
751 go-google-golang-org-genproto-googleapis-rpc
752 go-google-golang-org-grpc
753 go-google-golang-org-protobuf))
754 (home-page "https://cloud.google.com/go")
755 (synopsis "Google Cloud Data Catalog API")
756 (description
757 "This package provides a Go Client Library for Google Cloud Data Catalog
758 API.")
759 (license license:asl2.0)))
760
761(define-public go-cloud-google-com-go-iam
762 (package
763 (name "go-cloud-google-com-go-iam")
764 (version "1.7.0")
765 (source
766 (origin
767 (method git-fetch)
768 (uri (git-reference
769 (url "https://github.com/googleapis/google-cloud-go")
770 (commit (go-version->git-ref version
771 #:subdir "iam"))))
772 (file-name (git-file-name name version))
773 (sha256
774 (base32 "1qrhsn90v1myvyd46pjvg02pzwqzny1v3f75jdby03bbdcd7al9m"))
775 (modules '((guix build utils)))
776 (snippet #~(delete-all-but "." "iam"))))
777 (build-system go-build-system)
778 (arguments
779 (list
780 #:import-path "cloud.google.com/go/iam"
781 #:unpack-path "cloud.google.com/go"))
782 (propagated-inputs
783 (list go-cloud-google-com-go
784 go-cloud-google-com-go-longrunning
785 go-github-com-googleapis-gax-go-v2
786 go-google-golang-org-api
787 go-google-golang-org-genproto
788 go-google-golang-org-genproto-googleapis-api
789 go-google-golang-org-grpc
790 go-google-golang-org-protobuf))
791 (home-page "https://cloud.google.com/go")
792 (synopsis "GCP Identity and Access Management API")
793 (description
794 "Package iam supports the resource-specific operations of Google Cloud
795@acronym{IAM, Identity and Access Management} for the Google Cloud Libraries,
796see: @url{https://cloud.google.com/iam, IAM specification} for more details.")
797 (license license:asl2.0)))
798
799(define-public go-cloud-google-com-go-kms
800 (package
801 (name "go-cloud-google-com-go-kms")
802 (version "1.26.0")
803 (source
804 (origin
805 (method git-fetch)
806 (uri (git-reference
807 (url "https://github.com/googleapis/google-cloud-go")
808 (commit (go-version->git-ref version
809 #:subdir "kms"))))
810 (file-name (git-file-name name version))
811 (sha256
812 (base32 "0l3dc1i1qqj8mfvl7xcm8rgvsi49xaxlzlrx3p4vjhc23skx1688"))
813 (modules '((guix build utils)))
814 (snippet #~(delete-all-but "." "kms"))))
815 (build-system go-build-system)
816 (arguments
817 (list
818 #:skip-build? #t
819 #:import-path "cloud.google.com/go/kms"
820 #:unpack-path "cloud.google.com/go"))
821 (propagated-inputs
822 (list go-cloud-google-com-go-iam
823 go-cloud-google-com-go-longrunning
824 go-github-com-googleapis-gax-go-v2
825 go-google-golang-org-api
826 go-google-golang-org-genproto
827 go-google-golang-org-genproto-googleapis-api
828 go-google-golang-org-grpc
829 go-google-golang-org-protobuf))
830 (home-page "https://cloud.google.com/go")
831 (synopsis "Google Cloud Key Management Service Goland API")
832 (description
833 "This package provides a Go Client Library for Google Cloud Key Management
834Service (KMS) API.")
835 (license license:asl2.0)))
836
837(define-public go-cloud-google-com-go-logging
838 (package
839 (name "go-cloud-google-com-go-logging")
840 (version "1.16.0")
841 (source
842 (origin
843 (method git-fetch)
844 (uri (git-reference
845 (url "https://github.com/googleapis/google-cloud-go")
846 (commit (go-version->git-ref version #:subdir "logging"))))
847 (file-name (git-file-name name version))
848 (sha256
849 (base32 "14khzbcymknsz4p40ibc8v1zsy33b33yn7fcvkfp4rkzw69wv356"))
850 (modules '((guix build utils)))
851 (snippet #~(delete-all-but "." "logging"))))
852 (build-system go-build-system)
853 (arguments
854 (list
855 #:import-path "cloud.google.com/go/logging"
856 #:unpack-path "cloud.google.com/go"))
857 (native-inputs
858 ;; XXX: Remove when cycle is fixed.
859 (list go-github-com-envoyproxy-go-control-plane))
860 (propagated-inputs
861 (list go-cloud-google-com-go
862 go-cloud-google-com-go-compute-metadata
863 go-cloud-google-com-go-iam
864 go-cloud-google-com-go-longrunning
865 go-cloud-google-com-go-storage
866 go-github-com-google-go-cmp
867 go-github-com-googleapis-gax-go-v2
868 go-go-opencensus-io
869 go-go-opentelemetry-io-otel-sdk
870 go-go-opentelemetry-io-otel-trace
871 go-golang-org-x-oauth2
872 go-google-golang-org-api
873 go-google-golang-org-genproto
874 go-google-golang-org-genproto-googleapis-api
875 go-google-golang-org-genproto-googleapis-rpc
876 go-google-golang-org-grpc
877 go-google-golang-org-protobuf))
878 (home-page "https://cloud.google.com/go")
879 (synopsis "Cloud Logging API")
880 (description
881 "Package logging contains a Cloud Logging client suitable for writing
882logs. For reading logs, and working with sinks, metrics and monitored
883resources, see package cloud.google.com/go/logging/logadmin.")
884 (license license:asl2.0)))
885
886(define-public go-cloud-google-com-go-longrunning
887 (package
888 (name "go-cloud-google-com-go-longrunning")
889 (version "0.8.0")
890 (source
891 (origin
892 (method git-fetch)
893 (uri (git-reference
894 (url "https://github.com/googleapis/google-cloud-go")
895 (commit (go-version->git-ref version #:subdir "longrunning"))))
896 (file-name (git-file-name name version))
897 (sha256
898 (base32 "1ykr9kj0sbb4w0h190lp9gcxppv18dp0d5ak2g93dky8hjyc2wfa"))
899 (modules '((guix build utils)))
900 (snippet #~(delete-all-but "." "longrunning"))))
901 (build-system go-build-system)
902 (arguments
903 (list
904 #:import-path "cloud.google.com/go/longrunning"
905 #:unpack-path "cloud.google.com/go"))
906 (propagated-inputs
907 (list go-cloud-google-com-go
908 go-github-com-googleapis-gax-go-v2
909 go-google-golang-org-api
910 go-google-golang-org-genproto
911 go-google-golang-org-genproto-googleapis-api
912 go-google-golang-org-genproto-googleapis-rpc
913 go-google-golang-org-grpc
914 go-google-golang-org-protobuf))
915 (home-page "https://cloud.google.com/go")
916 (synopsis "Helper library for working with long running operations")
917 (description
918 "Package longrunning supports Long Running Operations for the Google
919Cloud Libraries. See google.golang.org/genproto/googleapis/longrunning for
920its service definition.")
921 (license license:asl2.0)))
922
923(define-public go-cloud-google-com-go-monitoring
924 (package
925 (name "go-cloud-google-com-go-monitoring")
926 (version "1.24.3")
927 (source
928 (origin
929 (method git-fetch)
930 (uri (git-reference
931 (url "https://github.com/googleapis/google-cloud-go")
932 (commit (go-version->git-ref version #:subdir "monitoring"))))
933 (file-name (git-file-name name version))
934 (sha256
935 (base32 "13rdnpz6jz5242gfx6xv6q66rr7k2sbrf7s507wq09bxvd4g20p0"))
936 (modules '((guix build utils)))
937 (snippet #~(delete-all-but "." "monitoring"))))
938 (build-system go-build-system)
939 (arguments
940 (list
941 #:skip-build? #t
942 #:import-path "cloud.google.com/go/monitoring"
943 #:unpack-path "cloud.google.com/go"))
944 (propagated-inputs
945 (list go-cloud-google-com-go-longrunning
946 go-github-com-googleapis-gax-go-v2
947 go-google-golang-org-api
948 go-google-golang-org-genproto
949 go-google-golang-org-genproto-googleapis-api
950 go-google-golang-org-genproto-googleapis-rpc
951 go-google-golang-org-grpc
952 go-google-golang-org-protobuf))
953 (home-page "https://cloud.google.com/go")
954 (synopsis "Cloud Monitoring API")
955 (description
956 "This package provides a Go Client Library for Cloud Monitoring API.")
957 (license license:asl2.0)))
958
959(define-public go-cloud-google-com-go-profiler
960 (package
961 (name "go-cloud-google-com-go-profiler")
962 (version "0.6.0")
963 (source
964 (origin
965 (method git-fetch)
966 (uri (git-reference
967 (url "https://github.com/googleapis/google-cloud-go")
968 (commit (go-version->git-ref version #:subdir "profiler"))))
969 (file-name (git-file-name name version))
970 (sha256
971 (base32 "1pn77lf1d22sqpkia9zccdhdihlqc48lls6y9npc2wrp4lman2kv"))
972 (modules '((guix build utils)))
973 (snippet #~(delete-all-but "." "profiler"))))
974 (build-system go-build-system)
975 (arguments
976 (list
977 #:import-path "cloud.google.com/go/profiler"
978 #:unpack-path "cloud.google.com/go"))
979 (native-inputs
980 (list go-github-com-golang-mock))
981 (propagated-inputs
982 (list go-cloud-google-com-go
983 go-cloud-google-com-go-compute-metadata
984 go-cloud-google-com-go-storage
985 go-github-com-google-pprof
986 go-github-com-googleapis-gax-go-v2
987 go-golang-org-x-oauth2
988 go-google-golang-org-api
989 go-google-golang-org-genproto
990 go-google-golang-org-genproto-googleapis-rpc
991 go-google-golang-org-grpc
992 go-google-golang-org-protobuf
993
994 ;; XXX: These packages have to be bootstrapped to break cycle with
995 ;; go-google-golang-org-grpc.
996 go-github-com-envoyproxy-go-control-plane
997 go-github-com-envoyproxy-go-control-plane-envoy))
998 (home-page "https://cloud.google.com/go")
999 (synopsis "Go Agent for Cloud Profiler")
1000 (description
1001 "Package profiler is a client for the Cloud Profiler service.")
1002 (license license:asl2.0)))
1003
1004(define-public go-cloud-google-com-go-security
1005 (package
1006 (name "go-cloud-google-com-go-security")
1007 (version "1.21.0")
1008 (source
1009 (origin
1010 (method git-fetch)
1011 (uri (git-reference
1012 (url "https://github.com/googleapis/google-cloud-go")
1013 (commit (go-version->git-ref version #:subdir "security"))))
1014 (file-name (git-file-name name version))
1015 (sha256
1016 (base32 "1pn77lf1d22sqpkia9zccdhdihlqc48lls6y9npc2wrp4lman2kv"))
1017 (modules '((guix build utils)))
1018 (snippet #~(delete-all-but "." "security"))))
1019 (build-system go-build-system)
1020 (arguments
1021 (list
1022 #:skip-build? #t
1023 #:import-path "cloud.google.com/go/security"
1024 #:unpack-path "cloud.google.com/go"))
1025 (propagated-inputs
1026 (list go-cloud-google-com-go-iam
1027 go-cloud-google-com-go-longrunning
1028 go-github-com-googleapis-gax-go-v2
1029 go-google-golang-org-api
1030 go-google-golang-org-genproto
1031 go-google-golang-org-genproto-googleapis-api
1032 go-google-golang-org-grpc
1033 go-google-golang-org-protobuf))
1034 (home-page "https://cloud.google.com/go")
1035 (synopsis "Google Cloud Certificate Authority API")
1036 (description
1037 "This package provides a Go Client Library for Certificate Authority API.")
1038 (license license:asl2.0)))
1039
1040(define-public go-cloud-google-com-go-spanner
1041 (package
1042 (name "go-cloud-google-com-go-spanner")
1043 (version "1.91.0")
1044 (source
1045 (origin
1046 (method git-fetch)
1047 (uri (git-reference
1048 (url "https://github.com/googleapis/google-cloud-go")
1049 (commit (go-version->git-ref version #:subdir "spanner"))))
1050 (file-name (git-file-name name version))
1051 (sha256
1052 (base32 "05jgalbqb9n1whlpdkj40rvyk8lg39q5w4l463ycsj2301pmr90h"))
1053 (modules '((guix build utils)))
1054 (snippet #~(delete-all-but "." "spanner"))))
1055 (build-system go-build-system)
1056 (arguments
1057 (list
1058 #:import-path "cloud.google.com/go/spanner"
1059 #:unpack-path "cloud.google.com/go"
1060 #:phases
1061 #~(modify-phases %standard-phases
1062 (add-after 'unpack 'remove-benchmarks
1063 (lambda* (#:key import-path #:allow-other-keys)
1064 (with-directory-excursion (string-append "src/" import-path)
1065 (delete-file-recursively "benchmarks")))))))
1066 (native-inputs
1067 (list go-github-com-google-go-cmp
1068 ;; XXX: Remove when cycle is fixed.
1069 go-github-com-envoyproxy-go-control-plane))
1070 (propagated-inputs
1071 (list go-cloud-google-com-go
1072 go-cloud-google-com-go-iam
1073 go-cloud-google-com-go-longrunning
1074 go-cloud-google-com-go-monitoring
1075 go-github-com-google-uuid
1076 go-github-com-googleapis-gax-go-v2
1077 go-github-com-googlecloudplatform-grpc-gcp-go-grpcgcp
1078 go-go-opencensus-io
1079 go-go-opentelemetry-io-contrib-detectors-gcp
1080 go-go-opentelemetry-io-otel
1081 go-go-opentelemetry-io-otel-metric
1082 go-go-opentelemetry-io-otel-sdk
1083 go-go-opentelemetry-io-otel-sdk-metric
1084 go-go-opentelemetry-io-otel-trace
1085 go-golang-org-x-oauth2
1086 go-golang-org-x-sync
1087 go-google-golang-org-api
1088 go-google-golang-org-genproto
1089 go-google-golang-org-genproto-googleapis-api
1090 go-google-golang-org-genproto-googleapis-rpc
1091 go-google-golang-org-grpc
1092 go-google-golang-org-protobuf))
1093 (home-page "https://cloud.google.com/go")
1094 (synopsis "Cloud Spanner databases Go client")
1095 (description
1096 "Package spanner provides a client for reading and writing to Cloud
1097Spanner databases. See
1098@url{https://cloud.google.com/spanner/docs/getting-started/go/} for an
1099introduction to Cloud Spanner and additional help on using this API.")
1100 (license license:asl2.0)))
1101
1102(define-public go-cloud-google-com-go-storage
1103 (package
1104 (name "go-cloud-google-com-go-storage")
1105 (version "1.60.0")
1106 (source
1107 (origin
1108 (method git-fetch)
1109 (uri (git-reference
1110 (url "https://github.com/googleapis/google-cloud-go")
1111 (commit (go-version->git-ref version #:subdir "storage"))))
1112 (file-name (git-file-name name version))
1113 (sha256
1114 (base32 "0sjwrcjqja62mgv4bzl8z4jps9bf55l8zln5wy8qjvrs6ql117ny"))
1115 (modules '((guix build utils)))
1116 (snippet #~(delete-all-but "." "storage"))))
1117 (build-system go-build-system)
1118 (arguments
1119 (list
1120 #:skip-build? #t
1121 ;; XXX: Enable when recursive issue is fixed.
1122 #:tests? #f
1123 #:import-path "cloud.google.com/go/storage"
1124 #:unpack-path "cloud.google.com/go"))
1125 (native-inputs
1126 (list go-github-com-google-go-cmp))
1127 (propagated-inputs
1128 (list go-cloud-google-com-go
1129 go-cloud-google-com-go-auth
1130 go-cloud-google-com-go-compute-metadata
1131 go-cloud-google-com-go-iam
1132 go-cloud-google-com-go-longrunning
1133 go-github-com-google-uuid
1134 go-github-com-googleapis-gax-go-v2
1135 go-github-com-googlecloudplatform-opentelemetry-operations-go-exporter-metric
1136 go-go-opentelemetry-io-contrib-detectors-gcp
1137 go-go-opentelemetry-io-otel
1138 go-go-opentelemetry-io-otel-exporters-stdout-stdoutmetric
1139 go-go-opentelemetry-io-otel-sdk
1140 go-go-opentelemetry-io-otel-sdk-metric
1141 go-go-opentelemetry-io-otel-trace
1142 go-golang-org-x-oauth2
1143 go-golang-org-x-sync
1144 go-google-golang-org-api
1145 go-google-golang-org-genproto
1146 go-google-golang-org-genproto-googleapis-api
1147 go-google-golang-org-genproto-googleapis-rpc
1148 go-google-golang-org-grpc
1149 go-google-golang-org-protobuf))
1150 (home-page "https://cloud.google.com/go")
1151 (synopsis "Google Cloud Storage Go SDK")
1152 (description
1153 "Package storage provides an easy way to work with Google Cloud Storage.
1154Google Cloud Storage stores data in named objects, which are grouped into
1155buckets.")
1156 (license license:asl2.0)))
1157
1158(define-public go-cloud-google-com-go-trace
1159 (package
1160 (name "go-cloud-google-com-go-trace")
1161 (version "1.14.0")
1162 (source
1163 (origin
1164 (method git-fetch)
1165 (uri (git-reference
1166 (url "https://github.com/googleapis/google-cloud-go")
1167 (commit (go-version->git-ref version #:subdir "trace"))))
1168 (file-name (git-file-name name version))
1169 (sha256
1170 (base32 "14khzbcymknsz4p40ibc8v1zsy33b33yn7fcvkfp4rkzw69wv356"))
1171 (modules '((guix build utils)))
1172 (snippet #~(delete-all-but "." "trace"))))
1173 (build-system go-build-system)
1174 (arguments
1175 (list
1176 #:skip-build? #t
1177 #:import-path "cloud.google.com/go/trace"
1178 #:unpack-path "cloud.google.com/go"))
1179 (propagated-inputs
1180 (list go-github-com-googleapis-gax-go-v2
1181 go-google-golang-org-api
1182 go-google-golang-org-genproto
1183 go-google-golang-org-genproto-googleapis-api
1184 go-google-golang-org-genproto-googleapis-rpc
1185 go-google-golang-org-grpc
1186 go-google-golang-org-protobuf))
1187 (home-page "https://cloud.google.com/go")
1188 (synopsis "Go Client Library for Cloud Trace API")
1189 (description
1190 "This package implements the @url{https://cloud.google.com/stackdriver,
1191Stackdriver} Trace API in Golang. Stackdriver Trace is a distributed tracing
1192system that collects latency data from your applications and displays it in
1193the Google Cloud Platform Console.
1194
1195It sends application trace data to Stackdriver Trace for viewing. Trace data
1196is collected for all App Engine applications by default. Trace data from
1197other applications can be provided using this API. This library is used to
1198interact with the Trace API directly.")
1199 (license license:asl2.0)))
1200
1201(define-public go-code-forgejo-org-forgejo-actions-proto
1202 (package
1203 (name "go-code-forgejo-org-forgejo-actions-proto")
1204 (version "0.7.0")
1205 (source
1206 (origin
1207 (method git-fetch)
1208 (uri (git-reference
1209 (url "https://code.forgejo.org/forgejo/actions-proto.git")
1210 (commit (string-append "v" version))))
1211 (file-name (git-file-name name version))
1212 (sha256
1213 (base32 "0ff0yqb7qgn5gy2jz3kw1hirc88jignhr1x2ycbf91xf9ag1bvys"))))
1214 (build-system go-build-system)
1215 (arguments
1216 (list
1217 ;; XXX: Projects builds Go code from protobuf with buf command, not
1218 ;; packaged yet in Guix.
1219 #:skip-build? #t
1220 #:import-path "code.forgejo.org/forgejo/actions-proto"))
1221 (propagated-inputs
1222 (list go-connectrpc-com-connect
1223 go-google-golang-org-protobuf))
1224 (home-page "https://code.forgejo.org/forgejo/actions-proto")
1225 (synopsis "Protocol Buffer schema and go package for Forgejo Actions")
1226 (description
1227 "This package provides a protocol Buffer schema and go package for
1228Forgejo Actions.")
1229 (license license:expat)))
1230
1231(define-public go-code-forgejo-org-forgejo-contrib-go-libravatar
1232 (package
1233 (name "go-code-forgejo-org-forgejo-contrib-go-libravatar")
1234 (version "0.0.0-20260301104140-add494e31dab")
1235 (source
1236 (origin
1237 (method git-fetch)
1238 (uri (git-reference
1239 (url "https://code.forgejo.org/forgejo-contrib/go-libravatar")
1240 (commit (go-version->git-ref version))))
1241 (file-name (git-file-name name version))
1242 (sha256
1243 (base32 "18ch92a9qrwvi1pxak6bvjn5vjwmwhdidhv40z56kpzagybywwdr"))))
1244 (build-system go-build-system)
1245 (arguments
1246 (list
1247 #:tests? #f ;they try to fetch avatars from Internet
1248 #:import-path "code.forgejo.org/forgejo-contrib/go-libravatar"
1249 #:phases
1250 #~(modify-phases %standard-phases
1251 (add-after 'unpack 'fix-import-path
1252 ;; Build fails if that commit is kept.
1253 (lambda* (#:key tests? import-path #:allow-other-keys)
1254 (with-directory-excursion (string-append "src/" import-path)
1255 (substitute* "libravatar.go"
1256 (("// import \"strk.kbt.io/projects/go/libravatar\"")
1257 ""))))))))
1258 (home-page "https://code.forgejo.org/forgejo-contrib/go-libravatar")
1259 (synopsis "Golang library for serving federated avatars")
1260 (description
1261 "This package provides a simple Go library for serving
1262@url{https://www.libravatar.org, federated avatars}.")
1263 (license license:expat)))
1264
1265(define-public go-code-forgejo-org-forgejo-reply
1266 (package
1267 (name "go-code-forgejo-org-forgejo-reply")
1268 (version "1.0.2")
1269 (source
1270 (origin
1271 (method git-fetch)
1272 (uri (git-reference
1273 (url "https://code.forgejo.org/forgejo/reply.git")
1274 (commit (string-append "v" version))))
1275 (file-name (git-file-name name version))
1276 (sha256
1277 (base32 "0x13217haxf8hyzxh2262ys70vh1yswkn96lsazh8glkvy4x8kb7"))))
1278 (build-system go-build-system)
1279 (arguments
1280 (list
1281 #:import-path "code.forgejo.org/forgejo/reply"))
1282 (propagated-inputs
1283 (list go-github-com-dlclark-regexp2))
1284 (home-page "https://code.forgejo.org/forgejo/reply")
1285 (synopsis "Go library to trim replies from plain text email")
1286 (description
1287 "Replay implements a simple function to trim replies from plain text
1288email, it was inspired by Ruby's project
1289@url{https://github.com/discourse/email_reply_trimmer, email_reply_trimmer}.
1290It's a maintained fork of @url{https://github.com/dimiro1/reply}.")
1291 (license license:expat)))
1292
1293(define-public go-code-forgejo-org-go-chi-binding
1294 (package
1295 (name "go-code-forgejo-org-go-chi-binding")
1296 (version "1.0.1")
1297 (source
1298 (origin
1299 (method git-fetch)
1300 (uri (git-reference
1301 (url "https://code.forgejo.org/go-chi/binding")
1302 (commit (string-append "v" version))))
1303 (file-name (git-file-name name version))
1304 (sha256
1305 (base32 "0hwpiim3ry3g39vw0v1nvaplk7ps1fvvcs7rd2827lc81j8bdnsy"))))
1306 (build-system go-build-system)
1307 (arguments
1308 (list
1309 #:import-path "code.forgejo.org/go-chi/binding"))
1310 (native-inputs
1311 (list go-github-com-stretchr-testify))
1312 (propagated-inputs
1313 (list go-github-com-go-chi-chi-v5))
1314 (home-page "https://code.forgejo.org/go-chi/binding")
1315 (synopsis "Request data binding and validation for @code{net/http}")
1316 (description
1317 "Package binding is a middleware that provides request data binding and
1318validation for @code{net/http}. It's a fork of
1319@url{https://gitea.com/go-chi/binding, gitea/binding} which is a fork of
1320@url{https://github.com/go-macaron/macaron, Macaron}.")
1321 (license license:asl2.0)))
1322
1323(define-public go-code-forgejo-org-go-chi-session
1324 (package
1325 (name "go-code-forgejo-org-go-chi-session")
1326 (version "1.0.4")
1327 (source
1328 (origin
1329 (method git-fetch)
1330 (uri (git-reference
1331 (url "https://code.forgejo.org/go-chi/session.git")
1332 (commit (string-append "v" version))))
1333 (file-name (git-file-name name version))
1334 (sha256
1335 (base32 "11xg6glxqylscbja78nk32nznbkw3bc2zv429vrzh4aw8syiabsi"))))
1336 (build-system go-build-system)
1337 (arguments
1338 (list
1339 #:import-path "code.forgejo.org/go-chi/session"
1340 #:test-flags
1341 #~(list "-skip" (string-join
1342 ;; Running databases are expected.
1343 (list "Test_MemcacheProvider"
1344 "Test_MysqlProvider"
1345 "Test_MysqlProvider"
1346 "Test_PostgresProvider"
1347 "Test_RedisProvider")
1348 "|"))))
1349 (native-inputs
1350 (list go-github-com-stretchr-testify))
1351 (propagated-inputs
1352 (list go-github-com-bradfitz-gomemcache
1353 go-github-com-go-chi-chi-v5
1354 go-github-com-go-sql-driver-mysql
1355 go-github-com-jackc-pgx-v5
1356 go-github-com-redis-go-redis-v9))
1357 (home-page "https://code.forgejo.org/go-chi/session")
1358 (synopsis "Session middleware for go-chi")
1359 (description
1360 "Package session a middleware that provides the session management of
1361@url{https://github.com/go-macaron/macaron, Macaron}.")
1362 (license license:asl2.0)))
1363
1364(define-public go-code-gitea-io-sdk-gitea
1365 (package
1366 (name "go-code-gitea-io-sdk-gitea")
1367 (version "0.20.0")
1368 (source
1369 (origin
1370 (method git-fetch)
1371 (uri (git-reference
1372 (url "https://gitea.com/gitea/go-sdk")
1373 (commit (go-version->git-ref version
1374 #:subdir "gitea"))))
1375 (file-name (git-file-name name version))
1376 (sha256
1377 (base32 "15mxaxi1nf6b9qacizf7r55jjcnil7qsdh77qzk6b59qcps940np"))))
1378 (build-system go-build-system)
1379 (arguments
1380 (list
1381 #:tests? #f ; XXX: Tests are broken
1382 #:import-path "code.gitea.io/sdk/gitea"
1383 #:unpack-path "code.gitea.io/sdk"))
1384 (native-inputs
1385 (list go-github-com-stretchr-testify))
1386 (propagated-inputs
1387 (list go-github-com-42wim-httpsig
1388 ;; go-github-com-davidmz-go-pageant ; for windows only
1389 go-github-com-go-fed-httpsig
1390 go-github-com-hashicorp-go-version
1391 go-golang-org-x-crypto))
1392 (home-page "https://code.gitea.io/sdk")
1393 (synopsis "Gitea Golang SDK client")
1394 (description
1395 "Package gitea implements a client for the Gitea API. The version
1396corresponds to the highest supported version of the gitea API, but
1397backwards-compatibility is mostly given.")
1398 (license license:expat)))
1399
1400(define-public go-codeberg-org-git-pages-go-headers
1401 (package
1402 (name "go-codeberg-org-git-pages-go-headers")
1403 (version "1.1.1")
1404 (source
1405 (origin
1406 (method git-fetch)
1407 (uri (git-reference
1408 (url "https://codeberg.org/git-pages/go-headers.git")
1409 (commit (string-append "v" version))))
1410 (file-name (git-file-name name version))
1411 (sha256
1412 (base32 "0mnxq1r02i5cjkqbnzpyldvhs8fk12qh8rqhb80ifps7a6bzn0ma"))))
1413 (build-system go-build-system)
1414 (arguments
1415 (list
1416 #:import-path "codeberg.org/git-pages/go-headers"))
1417 (home-page "https://codeberg.org/git-pages/go-headers")
1418 (synopsis "Netlify's _redirects file format parser")
1419 (description
1420 "This package provides a Go redirect format parser to match Netlify's
1421@code{https://www.netlify.com/docs/redirects/, format} plus a compatible
1422unparser.")
1423 (license license:bsd-0)))
1424
1425(define-public go-codeberg-org-gusted-mcaptcha
1426 (package
1427 (name "go-codeberg-org-gusted-mcaptcha")
1428 (version "0.0.0-20220723083913-4f3072e1d570")
1429 (source
1430 (origin
1431 (method git-fetch)
1432 (uri (git-reference
1433 (url "https://codeberg.org/gusted/mcaptcha")
1434 (commit (go-version->git-ref version))))
1435 (file-name (git-file-name name version))
1436 (sha256
1437 (base32 "1d1lq5bff099i923b3r63fwzi72j3qmkmsj1p7ns3vy3lg8v9p0d"))))
1438 (build-system go-build-system)
1439 (arguments
1440 (list
1441 #:import-path "codeberg.org/gusted/mcaptcha"))
1442 (home-page "https://codeberg.org/gusted/mcaptcha")
1443 (synopsis "Go library to interact with mCaptcha")
1444 (description
1445 "@code{mCaptcha} is a Go library to interact with
1446@url{https://github.com/mCaptcha/mCaptcha, mCaptcha}.")
1447 (license license:expat)))
1448
1449(define-public go-codeberg-org-jwijenbergh-eduoauth-go-v2
1450 (package
1451 (name "go-codeberg-org-jwijenbergh-eduoauth-go-v2")
1452 (version "2.1.0")
1453 (source
1454 (origin
1455 (method git-fetch)
1456 (uri (git-reference
1457 (url "https://codeberg.org/jwijenbergh/eduoauth-go")
1458 (commit (string-append "v" version))))
1459 (file-name (git-file-name name version))
1460 (sha256
1461 (base32 "0jfvc1y4y80davhhi8cn3bsa3m5c12h4yaimqvdjdsplkxk85kjn"))))
1462 (build-system go-build-system)
1463 (arguments
1464 (list
1465 #:import-path "codeberg.org/jwijenbergh/eduoauth-go/v2"))
1466 (home-page "https://codeberg.org/jwijenbergh/eduoauth-go")
1467 (synopsis "OAuth library for geteduroam and eduVPN")
1468 (description
1469 "Eduoauth is a Go library in use by
1470@url{https://github.com/geteduroam/linux-app, geteduroam} and
1471@url{https://codeberg.org/eduVPN, eduVPN} to handle OAuth.")
1472 (license license:expat)))
1473
1474(define-public go-codeberg-org-miekg-dns
1475 (package
1476 (name "go-codeberg-org-miekg-dns")
1477 (version "0.6.90")
1478 (source
1479 (origin
1480 (method git-fetch)
1481 (uri (git-reference
1482 (url "https://codeberg.org/miekg/dns.git")
1483 (commit (string-append "v" version))))
1484 (file-name (git-file-name name version))
1485 (sha256
1486 (base32 "07n1fj3qslw5h9dgz2xmin4fai2byq9l7ps38rvsv3q63ls1a08h"))))
1487 (build-system go-build-system)
1488 (arguments
1489 (list
1490 #:import-path "codeberg.org/miekg/dns"))
1491 (propagated-inputs
1492 (list go-github-com-apparentlymart-go-cidr
1493 go-github-com-caddyserver-certmagic
1494 go-github-com-fsnotify-fsnotify
1495 go-github-com-jmoiron-sqlx
1496 go-github-com-oschwald-geoip2-golang-v2
1497 go-github-com-phemmer-go-iptrie
1498 go-github-com-prometheus-client-golang
1499 go-github-com-tidwall-btree
1500 go-go-uber-org-zap
1501 go-golang-org-x-crypto
1502 go-golang-org-x-net
1503 go-golang-org-x-sync
1504 go-golang-org-x-sys
1505 go-modernc-org-sqlite))
1506 (home-page "https://codeberg.org/miekg/dns")
1507 (synopsis "Lightweight DNS library for Go")
1508 (description
1509 "Package dns implements a full featured interface to the @acronym{DNS,
1510Domain Name System}. Both server-side and client-side programming is
1511supported.")
1512 (license license:bsd-3)))
1513
1514(define-public go-codeberg-org-tslocum-gmitohtml
1515 (package
1516 (name "go-codeberg-org-tslocum-gmitohtml")
1517 (version "1.0.6")
1518 (source
1519 (origin
1520 (method git-fetch)
1521 (uri (git-reference
1522 (url "https://codeberg.org/tslocum/gmitohtml.git")
1523 (commit (string-append "v" version))))
1524 (file-name (git-file-name name version))
1525 (sha256
1526 (base32 "04dxnvrygxxm0z4vvyh11qv3cscjlfwp9wm6wkcibxra3qa7a0vb"))))
1527 (build-system go-build-system)
1528 (arguments
1529 (list
1530 ;; XXX: There a no tests, upstream have no keen to write documentation
1531 ;; or unit tests, see <https://codeberg.org/tslocum/gmitohtml/issues/1>.
1532 #:tests? #f
1533 #:import-path "codeberg.org/tslocum/gmitohtml"
1534 #:phases
1535 #~(modify-phases %standard-phases
1536 (add-after 'unpack 'patch-xdg-command
1537 (lambda* (#:key inputs #:allow-other-keys)
1538 (substitute* "src/codeberg.org/tslocum/gmitohtml/main.go"
1539 (("xdg-open")
1540 (search-input-file inputs "bin/xdg-open"))))))))
1541 (inputs (list xdg-utils))
1542 (propagated-inputs
1543 (list go-gopkg-in-yaml-v2))
1544 (home-page "https://codeberg.org/tslocum/gmitohtml")
1545 (synopsis "Gemini to HTML conversion tool and daemon")
1546 (description
1547 "This package provides a Gemini to HTML conversion tool and daemon.")
1548 (license license:expat)))
1549
1550(define-public go-connectrpc-com-connect
1551 (package
1552 (name "go-connectrpc-com-connect")
1553 (version "1.18.1")
1554 (source
1555 (origin
1556 (method git-fetch)
1557 (uri (git-reference
1558 (url "https://github.com/connectrpc/connect-go")
1559 (commit (string-append "v" version))))
1560 (file-name (git-file-name name version))
1561 (sha256
1562 (base32 "0a6rzp57srhyf66jri62gfsj4ndpfxgb9ln15qdpfwv0xvcffz63"))
1563 (modules '((guix build utils)))
1564 (snippet
1565 #~(begin
1566 ;; Submodules with their own go.mod files and packaged separately:
1567 ;;
1568 ;; - connectrpc.com/connect/internal/conformance
1569 (delete-file-recursively "internal/conformance")))))
1570 (build-system go-build-system)
1571 (arguments
1572 (list
1573 #:import-path "connectrpc.com/connect"
1574 ;; TODO: Generate with protoc-gen-go, protoc-gen-connect-go, and buf.
1575 ;; See: <https://github.com/connectrpc/connect-go/blob/v1.18.1/Makefile#L80>.
1576 #:test-flags #~(list "-short" "-skip" "TestVersion|TestGenerate")))
1577 (propagated-inputs
1578 (list go-github-com-google-go-cmp
1579 go-golang-org-x-net
1580 go-google-golang-org-protobuf))
1581 (home-page "https://connectrpc.com/connect")
1582 (synopsis "@acronym{RPC, Remote procedure call} framework built on
1583Protocol Buffers")
1584 (description
1585 "Package @code{connect} is a slim RPC framework built on Protocol Buffers
1586and @code{net/http}. In addition to supporting its own protocol, Connect
1587handlers and clients are wire-compatible with gRPC and gRPC-Web, including
1588streaming.")
1589 (license license:asl2.0)))
1590
1591(define-public go-git-sr-ht-adnano-go-gemini
1592 (package
1593 (name "go-git-sr-ht-adnano-go-gemini")
1594 (version "0.2.5")
1595 (source
1596 (origin
1597 (method git-fetch)
1598 (uri (git-reference
1599 (url "https://git.sr.ht/~adnano/go-gemini")
1600 (commit (string-append "v" version))))
1601 (file-name (git-file-name name version))
1602 (sha256
1603 (base32 "0xxcljhk9abjjdcl1dnxaq7qwvl13rq51bwps5nxlkib7fxgbyyl"))))
1604 (build-system go-build-system)
1605 (arguments
1606 (list
1607 #:import-path "git.sr.ht/~adnano/go-gemini"))
1608 (propagated-inputs
1609 (list go-golang-org-x-net))
1610 (home-page "https://git.sr.ht/~adnano/go-gemini")
1611 (synopsis "Gemini protocol in Go")
1612 (description
1613 "The @code{gemini} package implements the Gemini protocol in Go. It
1614provides an API similar to that of NET/HTTP to facilitate the development of
1615Gemini clients and servers.")
1616 (license license:expat)))
1617
1618(define-public go-git-sr-ht-emersion-gqlclient
1619 (package
1620 (name "go-git-sr-ht-emersion-gqlclient")
1621 (version "0.0.0-20250318184027-d4a003529bba")
1622 (source
1623 (origin
1624 (method git-fetch)
1625 (uri (git-reference
1626 (url "https://git.sr.ht/~emersion/gqlclient")
1627 (commit (go-version->git-ref version))))
1628 (file-name (git-file-name name version))
1629 (sha256
1630 (base32 "1yqgyjdi9cxkqdp20xwqycd8rccpqqanpq29k1qz8jazabkdlr06"))))
1631 (build-system go-build-system)
1632 (arguments
1633 (list
1634 #:embed-files #~(list "prelude.graphql")
1635 #:import-path "git.sr.ht/~emersion/gqlclient"
1636 #:test-flags #~(list "-vet=off")))
1637 ;; For the CLI.
1638 (native-inputs
1639 (list go-github-com-dave-jennifer
1640 go-github-com-vektah-gqlparser-v2))
1641 (home-page "https://git.sr.ht/~emersion/gqlclient")
1642 (synopsis "GraphQL client and code generator")
1643 (description
1644 "This package provides a GraphQL client and code generator for Go.")
1645 (license license:expat)))
1646
1647(define-public go-git-sr-ht-rockorager-go-jmap
1648 (package
1649 (name "go-git-sr-ht-rockorager-go-jmap")
1650 (version "0.5.2")
1651 (source
1652 (origin
1653 (method git-fetch)
1654 (uri (git-reference
1655 (url "https://git.sr.ht/~rockorager/go-jmap")
1656 (commit (string-append "v" version))))
1657 (file-name (git-file-name name version))
1658 (sha256
1659 (base32 "00lj2ckg039xn7gnwyvl55wcwrzcnz4383qajv35dv9yp19vnljy"))))
1660 (build-system go-build-system)
1661 (arguments
1662 (list
1663 #:import-path "git.sr.ht/~rockorager/go-jmap"
1664 #:test-flags #~(list "-vet=off")))
1665 (native-inputs
1666 (list
1667 go-github-com-stretchr-testify))
1668 (propagated-inputs
1669 (list go-golang-org-x-oauth2))
1670 (home-page "https://git.sr.ht/~rockorager/go-jmap")
1671 (synopsis "JSON meta application protocol in Golang")
1672 (description
1673 "Package jmap implements JMAP Core protocol as defined in
1674@url{https://rfc-editor.org/rfc/rfc8620.html,RFC 8620} published on July
16752019.")
1676 (license license:expat)))
1677
1678(define-public go-gitea-com-xorm-sqlfiddle
1679 (package
1680 (name "go-gitea-com-xorm-sqlfiddle")
1681 (version "0.0.0-20180821085327-62ce714f951a")
1682 (source
1683 (origin
1684 (method git-fetch)
1685 (uri (git-reference
1686 (url "https://gitea.com/xorm/sqlfiddle.git")
1687 (commit (go-version->git-ref version))))
1688 (file-name (git-file-name name version))
1689 (sha256
1690 (base32 "03g79q02djhk7rjp4k6jh9aaq6z3sqwjcyz4zzml1klv5gwyb1ij"))))
1691 (build-system go-build-system)
1692 (arguments
1693 (list
1694 ;; The try to access to
1695 ;; <http://sqlfiddle.com/backend/createSchema?_action=create>.
1696 #:tests? #f
1697 #:import-path "gitea.com/xorm/sqlfiddle"))
1698 (home-page "https://gitea.com/xorm/sqlfiddle")
1699 (synopsis "SQL Fiddle API (UnOfficial)")
1700 (description
1701 "This Go library is aimed to provide an API to operate
1702@url{http://sqlfiddle.com/}.")
1703 (license license:expat)))
1704
1705(define-public go-github-com-1password-connect-sdk-go
1706 (package
1707 (name "go-github-com-1password-connect-sdk-go")
1708 (version "1.5.3")
1709 (source
1710 (origin
1711 (method git-fetch)
1712 (uri (git-reference
1713 (url "https://github.com/1Password/connect-sdk-go")
1714 (commit (string-append "v" version))))
1715 (file-name (git-file-name name version))
1716 (sha256
1717 (base32 "0qll6n4awgl3dwi8gdk4jhk6rv94rshaknih4v4jism43b4qxh4s"))))
1718 (build-system go-build-system)
1719 (arguments
1720 (list
1721 #:skip-build? #t
1722 #:import-path "github.com/1Password/connect-sdk-go"))
1723 (native-inputs
1724 (list go-github-com-stretchr-testify))
1725 (propagated-inputs
1726 (list go-github-com-google-uuid
1727 go-github-com-opentracing-opentracing-go
1728 go-github-com-uber-jaeger-client-go))
1729 (home-page "https://github.com/1Password/connect-sdk-go")
1730 (synopsis "Go SDK for 1Password Connect")
1731 (description
1732 "The 1Password Connect Go SDK provides access to the
1733@url{https://developer.1password.com/docs/connect, 1Password Connect} API, to
1734facilitate communication with the Connect server hosted on your infrastructure
1735and 1Password. The library is intended to be used by your applications,
1736pipelines, and other automations to simplify accessing items stored in your
17371Password vaults.")
1738 (license license:expat)))
1739
1740(define-public go-github-com-1password-onepassword-sdk-go
1741 (package
1742 (name "go-github-com-1password-onepassword-sdk-go")
1743 (version "0.4.0")
1744 (source
1745 (origin
1746 (method git-fetch)
1747 (uri (git-reference
1748 (url "https://github.com/1Password/onepassword-sdk-go")
1749 (commit (string-append "v" version))))
1750 (file-name (git-file-name name version))
1751 (sha256
1752 (base32 "058vamq6d2gjhdlng92ygiyhy85c8k9yqaq7p03xj9r6drgrggc9"))))
1753 (build-system go-build-system)
1754 (arguments
1755 (list
1756 #:skip-build? #t
1757 #:import-path "github.com/1password/onepassword-sdk-go"
1758 #:embed-files
1759 #~(list "extism-runtime.wasm"
1760 "extism-runtime.wasm.version")
1761 #:test-subdirs
1762 #~(list "internal"))) ;run unitests only
1763 (native-inputs
1764 (list go-github-com-stretchr-testify))
1765 (propagated-inputs
1766 (list go-github-com-extism-go-sdk
1767 go-github-com-tetratelabs-wazero
1768 go-golang-org-x-sys))
1769 (home-page "https://github.com/1password/onepassword-sdk-go")
1770 (synopsis "1Password Go SDK")
1771 (description
1772 "This package provides a Go SDK to interact with
1773@url{https://1password.com/, 1Password} API.")
1774 (license license:expat)))
1775
1776(define-public go-github-com-42wim-go-gitter
1777 (let ((commit "16aadfbb65c6641501ea8eebb6bcf23b9011912b")
1778 (revision "0"))
1779 (package
1780 (name "go-github-com-42wim-go-gitter")
1781 (version "0.0.0")
1782 (source
1783 (origin
1784 (method git-fetch)
1785 (uri (git-reference
1786 (url "https://github.com/42wim/go-gitter")
1787 (commit commit)))
1788 (file-name (git-file-name name version))
1789 (sha256
1790 (base32 "07l07msyackkzvxhc9cljzgh81v5g48crravz29ph516smqj0x6c"))))
1791 (build-system go-build-system)
1792 (arguments
1793 (list
1794 #:import-path "github.com/42wim/go-gitter"))
1795 (propagated-inputs
1796 (list go-github-com-mreiferson-go-httpclient
1797 go-github-com-mrexodia-wray))
1798 (home-page "https://github.com/42wim/go-gitter")
1799 (synopsis "Gitter API in Go")
1800 (description
1801 "This package provides a Gitter API for Golang.")
1802 (license license:asl2.0))))
1803
1804(define-public go-github-com-42wim-httpsig
1805 (package
1806 (name "go-github-com-42wim-httpsig")
1807 (version "1.2.3")
1808 (source
1809 (origin
1810 (method git-fetch)
1811 (uri (git-reference
1812 (url "https://github.com/42wim/httpsig")
1813 (commit (string-append "v" version))))
1814 (file-name (git-file-name name version))
1815 (sha256
1816 (base32 "1526ck0d32qjc6xkfi6s5wj241r9slng596w9slnpska5vazddv2"))))
1817 (build-system go-build-system)
1818 (arguments
1819 (list
1820 #:import-path "github.com/42wim/httpsig"
1821 ;; algorithms_test.go:623: "rsa_SHA3_224": expected error, got:
1822 ;; %!s(<nil>)
1823 #:test-flags #~(list "-skip" "TestSignerSigns")))
1824 (propagated-inputs (list go-golang-org-x-crypto))
1825 (home-page "https://github.com/42wim/httpsig")
1826 (synopsis "Golang implementation of the HTTP Signatures RFC draft")
1827 (description
1828 "This package implements HTTP request and response signing and
1829verification. Supports the major MAC and asymmetric key signature algorithms.
1830It has several safety restrictions: One, none of the widely known
1831non-cryptographically safe algorithms are permitted; Two, the RSA SHA256
1832algorithms must be available in the binary (and it should, barring export
1833restrictions); Finally, the library assumes either the Authorizationn or
1834Signature headers are to be set (but not both).
1835
1836It's an alternative fork of @url{https://github.com/go-fed/httpsig}.")
1837 (license license:bsd-3)))
1838
1839(define-public go-github-com-99designs-gqlgen
1840 (package
1841 (name "go-github-com-99designs-gqlgen")
1842 (version "0.17.86")
1843 (source
1844 (origin
1845 (method git-fetch)
1846 (uri (git-reference
1847 (url "https://github.com/99designs/gqlgen")
1848 (commit (string-append "v" version))))
1849 (file-name (git-file-name name version))
1850 (sha256
1851 (base32 "1yv97h2c75f2b5w4x4xjflzypgi5irsxadzckckbb94bdn2pylyy"))))
1852 (build-system go-build-system)
1853 (arguments
1854 (list
1855 #:import-path "github.com/99designs/gqlgen"
1856 #:embed-files
1857 #~(list "bash_autocomplete" "powershell_autocomplete.ps1"
1858 "zsh_autocomplete" "prelude.graphql")
1859 #:test-flags
1860 #~(list "-skip"
1861 (string-join
1862 ;; These tests require network access.
1863 (list "TestAltairHandler_Integrity"
1864 "TestApolloSandboxHandler_Integrity"
1865 "TestHandler_Integrity"
1866 ;; These tests fail due to the way our go-build-system
1867 ;; unpacks and lays out the source code.
1868 "TestImportPathForDir"
1869 "TestRewriter/out_of_scope_dir"
1870 ;; Commenting out autobind generates the modules
1871 ;; necessary for these tests. See discussion at
1872 ;; https://github.com/99designs/gqlgen/issues/1765 But
1873 ;; then, go mod tidy fails probably because we disable
1874 ;; modules in our go-build-system by setting
1875 ;; GO111MODULE=off.
1876 "TestAutobinding"
1877 "TestCodeGeneration"
1878 "TestCodeGenerationFederation2"
1879 "TestGenerate"
1880 "TestGenerateWithSchemaMutator"
1881 "TestInjectSourceLate"
1882 "TestModelGenerationDirectiveEmbedding"
1883 "TestNoEntities"
1884 "TestWithEntities")
1885 "|"))
1886 #:phases
1887 #~(modify-phases %standard-phases
1888 (add-after 'unpack 'fix-permissions
1889 (lambda* (#:key import-path #:allow-other-keys)
1890 (with-directory-excursion (string-append "src/" import-path)
1891 ;; Make some go files writable. Some tests fail when they are
1892 ;; not.
1893 (for-each (lambda (file)
1894 (chmod file #o644))
1895 (append (find-files "plugin" "^schema.custom.go$")
1896 (find-files "plugin" "^schema.resolvers.go$")
1897 (find-files "plugin" "^generated\\.go$")
1898 (find-files "plugin" "^generated_[^.]*\\.go$")))))))))
1899 (native-inputs
1900 (list go-github-com-matryer-moq))
1901 (propagated-inputs
1902 (list go-github-com-go-viper-mapstructure-v2
1903 go-github-com-goccy-go-yaml
1904 go-github-com-google-uuid
1905 go-github-com-gorilla-websocket
1906 go-github-com-hashicorp-golang-lru-v2
1907 go-github-com-kevinmbeaulieu-eq-go
1908 go-github-com-logrusorgru-aurora-v4
1909 go-github-com-mattn-go-colorable
1910 go-github-com-mattn-go-isatty
1911 go-github-com-puerkitobio-goquery
1912 go-github-com-sosodev-duration
1913 go-github-com-stretchr-testify
1914 go-github-com-urfave-cli-v3
1915 go-github-com-vektah-gqlparser-v2
1916 go-golang-org-x-text
1917 go-golang-org-x-tools
1918 go-google-golang-org-protobuf
1919 go-gopkg-in-yaml-v3))
1920 (home-page "https://github.com/99designs/gqlgen")
1921 (synopsis "Go GraphQL server library")
1922 (description
1923 "gqlgen is a @command{go generate} based GraphQL server library. It
1924generates Go server code from a schema written in the GraphQL Schema
1925Definition Language.")
1926 (license license:expat)))
1927
1928(define-public go-github-com-a-h-templ
1929 (package
1930 (name "go-github-com-a-h-templ")
1931 (version "0.3.943")
1932 (source
1933 (origin
1934 (method git-fetch)
1935 (uri (git-reference
1936 (url "https://github.com/a-h/templ")
1937 (commit (string-append "v" version))))
1938 (file-name (git-file-name name version))
1939 (sha256
1940 (base32 "0dqcdva7z53lhfv6ldjixwp4a363sr2cv5qm8rz2w7n8ba60m37f"))
1941 (modules '((guix build utils)))
1942 (snippet
1943 #~(begin
1944 ;; Submodules with their own go.mod files and packaged separately:
1945 ;;
1946 ;; - github.com/a-h/templ/docs
1947 ;; - github.com/a-h/templ/runtime/fuzzing
1948 (delete-file-recursively "docs")
1949 (delete-file-recursively "runtime/fuzzing")))))
1950 (build-system go-build-system)
1951 (arguments
1952 (list
1953 #:import-path "github.com/a-h/templ"
1954 #:unpack-path "github.com/a-h/templ"
1955 ;; TODO: Find out how to enable complete test suit, which might need
1956 ;; gopls and other extra commands available in the PATH.
1957 #:test-flags
1958 #~(list "-skip" (string-join
1959 (list "Test/css-1.css"
1960 "Test/js-1.js"
1961 "TestFormatting"
1962 "TestIsAvailable/existing_commands_return_true")
1963 "|"))
1964 #:test-subdirs #~(list "internal/...")
1965 #:phases
1966 #~(modify-phases %standard-phases
1967 (add-after 'unpack 'remove-examples
1968 (lambda* (#:key unpack-path #:allow-other-keys)
1969 (with-directory-excursion (string-append "src/" unpack-path)
1970 (delete-file-recursively "examples")))))))
1971 (native-inputs
1972 (list go-github-com-stretchr-testify))
1973 (propagated-inputs
1974 (list go-github-com-a-h-parse
1975 go-github-com-andybalholm-brotli
1976 go-github-com-cenkalti-backoff-v4
1977 go-github-com-cli-browser
1978 go-github-com-fatih-color
1979 go-github-com-fsnotify-fsnotify
1980 go-github-com-google-go-cmp
1981 go-github-com-natefinch-atomic
1982 go-github-com-rs-cors
1983 go-golang-org-x-mod
1984 go-golang-org-x-net
1985 go-golang-org-x-sync
1986 go-golang-org-x-tools))
1987 (home-page "https://templ.guide/")
1988 (synopsis "Language for writing HTML user interfaces in Golang")
1989 (description
1990 "This package implements a functionality to create components that render
1991fragments of HTML and compose them to create screens, pages, documents, or
1992apps.")
1993 (license license:expat)))
1994
1995(define-public go-github-com-aki237-nscjar
1996 (package
1997 (name "go-github-com-aki237-nscjar")
1998 (version "0.0.0-20210417074043-bbb606196143")
1999 (source
2000 (origin
2001 (method git-fetch)
2002 (uri (git-reference
2003 (url "https://github.com/aki237/nscjar")
2004 (commit (go-version->git-ref version))))
2005 (file-name (git-file-name name version))
2006 (sha256
2007 (base32 "0vbagy9g795b17lnnkkm2f3pcrkxrzc4qbzc656g2cdkdprdyb4m"))))
2008 (build-system go-build-system)
2009 (arguments
2010 (list
2011 #:import-path "github.com/aki237/nscjar"))
2012 (home-page "https://github.com/aki237/nscjar")
2013 (synopsis "Handle Netscape / Mozilla cookies")
2014 (description
2015 "@code{nscjar} is a Go library used to parse and output
2016Netscape/Mozilla's old-style cookie files. It also implements a simple cookie
2017jar struct to manage the cookies added to the cookie jar.")
2018 (license license:expat)))
2019
2020(define-public go-github-com-akrylysov-algnhsa
2021 (package
2022 (name "go-github-com-akrylysov-algnhsa")
2023 (version "1.1.0")
2024 (source
2025 (origin
2026 (method git-fetch)
2027 (uri (git-reference
2028 (url "https://github.com/akrylysov/algnhsa")
2029 (commit (string-append "v" version))))
2030 (file-name (git-file-name name version))
2031 (sha256
2032 (base32 "12a118j1f4jk5rr9wlyfvhshxylhc234pzwrqlbq9b3kcc7d74yj"))))
2033 (build-system go-build-system)
2034 (arguments
2035 (list
2036 #:import-path "github.com/akrylysov/algnhsa"))
2037 (native-inputs
2038 (list go-github-com-stretchr-testify))
2039 (propagated-inputs
2040 (list go-github-com-aws-aws-lambda-go))
2041 (home-page "https://github.com/akrylysov/algnhsa")
2042 (synopsis "AWS Lambda Go @code{net/http} server adapter")
2043 (description
2044 "This package implements a functionality to run Go web applications on
2045AWS Lambda and API Gateway or ALB without changing the existing HTTP
2046handlers.")
2047 (license license:asl2.0)))
2048
2049(define-public go-github-com-akutz-memconn
2050 (package
2051 (name "go-github-com-akutz-memconn")
2052 (version "0.1.0")
2053 (source
2054 (origin
2055 (method git-fetch)
2056 (uri (git-reference
2057 (url "https://github.com/akutz/memconn")
2058 (commit (string-append "v" version))))
2059 (file-name (git-file-name name version))
2060 (sha256
2061 (base32 "1mhghzcx2zxr4bpyf4wx3j7ph9srw38wxg78svwbjh930r2kzssq"))))
2062 (build-system go-build-system)
2063 (arguments
2064 (list
2065 #:import-path "github.com/akutz/memconn"
2066 #:test-flags
2067 #~(list "-skip" (string-join
2068 ;; Tests fail with insecure algorithm
2069 (list "TestTLS_Memu"
2070 "TestTLS_Memb"
2071 "TestTLS_TCP"
2072 "TestTLS_UNIX"
2073 "TestTLS_HTTP_Memu"
2074 "TestTLS_HTTP_Memb")
2075 "|"))))
2076 (home-page "https://github.com/akutz/memconn")
2077 (synopsis "In-memory network stack for Go")
2078 (description
2079 "This package provides named, in-memory network connections for Go.")
2080 (license license:asl2.0)))
2081
2082(define-public go-github-com-alexliesenfeld-health
2083 (package
2084 (name "go-github-com-alexliesenfeld-health")
2085 (version "0.8.1")
2086 (source
2087 (origin
2088 (method git-fetch)
2089 (uri (git-reference
2090 (url "https://github.com/alexliesenfeld/health")
2091 (commit (string-append "v" version))))
2092 (file-name (git-file-name name version))
2093 (sha256
2094 (base32 "19p0rs1dmvf3cnylyykmmnma2g5x2vy8gasr2rjl28ma58w6l0d3"))))
2095 (build-system go-build-system)
2096 (arguments
2097 (list
2098 #:import-path "github.com/alexliesenfeld/health"
2099 #:phases #~(modify-phases %standard-phases
2100 ;; Examples requires additional dependencies and comes with
2101 ;; their own go.mod, consider to pack it as separate
2102 ;; package if required.
2103 (add-after 'unpack 'remove-examples
2104 (lambda* (#:key import-path #:allow-other-keys)
2105 (delete-file-recursively
2106 (string-append "src/" import-path "/examples")))))))
2107 (native-inputs (list go-github-com-stretchr-testify))
2108 (home-page "https://github.com/alexliesenfeld/health")
2109 (synopsis "Simple and flexible health check library for Go")
2110 (description
2111 "This library provides a @code{http.Handler} that acts as a health
2112endpoint. It can be used by cloud infrastructure or other services to
2113determine the availability of an application.
2114
2115Rather than simply returning a response with HTTP status code 200, this
2116library allows building health checks that test the availability of all
2117required dependencies. The HTTP response contains the aggregated health
2118result and details about the health status of each component.")
2119 (license license:expat)))
2120
2121(define-public go-github-com-aliyun-aliyun-oss-go-sdk
2122 (package
2123 (name "go-github-com-aliyun-aliyun-oss-go-sdk")
2124 (version "3.0.2")
2125 (source
2126 (origin
2127 (method git-fetch)
2128 (uri (git-reference
2129 (url "https://github.com/aliyun/aliyun-oss-go-sdk")
2130 (commit (string-append "v" version))))
2131 (file-name (git-file-name name version))
2132 (sha256
2133 (base32 "1s9c3if0is8m52hvb1czh4rb7ck4vk654wbzyq44iq1rqfr6y1ly"))))
2134 (build-system go-build-system)
2135 (arguments
2136 (list
2137 ;; XXX: Tests require more packages.
2138 #:tests? #f
2139 #:import-path "github.com/aliyun/aliyun-oss-go-sdk"))
2140 ;; (native-inputs (list
2141 ;; go-github-com-go-check-check
2142 ;; go-github-com-aliyun-alibaba-cloud-sdk-go))
2143 (propagated-inputs (list go-golang-org-x-time))
2144 (home-page "https://github.com/aliyun/aliyun-oss-go-sdk")
2145 (synopsis "Alibaba cloud OSS SDK for Go")
2146 (description
2147 "This package provides a Go SDK based on the official
2148APIs of Alibaba Cloud @acronym{OSS, Object Storage Service}.")
2149 (license license:expat)))
2150
2151(define-public go-github-com-amnezia-vpn-amneziawg-go
2152 (package
2153 (name "go-github-com-amnezia-vpn-amneziawg-go")
2154 (version "3.1.20260828")
2155 (source
2156 (origin
2157 (method git-fetch)
2158 (uri (git-reference
2159 (url "https://github.com/amnezia-vpn/amneziawg-go")
2160 (commit (string-append "v" version))))
2161 (file-name (git-file-name name version))
2162 (sha256
2163 (base32 "0i3r710nqfic4c0a0bm92l89aa77njrf7xlmbl2zzsiy43czp5mx"))
2164 (modules '((guix build utils)))
2165 (snippet
2166 #~(begin
2167 ;; Module name has been changed upstream.
2168 (substitute* (find-files "." "\\.go$")
2169 (("github.com/Jigsaw-Code/outline-sdk")
2170 "golang.getoutline.org/sdk"))))))
2171 (build-system go-build-system)
2172 (arguments
2173 (list
2174 #:skip-build? #t
2175 #:import-path "github.com/amnezia-vpn/amneziawg-go"
2176 #:test-subdirs
2177 ;; XXX: Remove when all inputs are packaged.
2178 #~(list "conn"
2179 "device"
2180 "ratelimiter"
2181 "replay"
2182 "tai64n"
2183 "tun")))
2184 (native-inputs
2185 (list go-github-com-stretchr-testify))
2186 (propagated-inputs
2187 (list go-github-com-goccy-go-yaml
2188 go-github-com-tevino-abool
2189 go-go-uber-org-atomic
2190 go-golang-getoutline-org-sdk
2191 go-golang-getoutline-org-sdk-x
2192 go-golang-org-x-crypto
2193 go-golang-org-x-exp
2194 go-golang-org-x-net
2195 go-golang-org-x-sys
2196 ;; go-golang-zx2c4-com-wintun ;Windows only
2197 go-gvisor-dev-gvisor))
2198 (home-page "https://github.com/amnezia-vpn/amneziawg-go")
2199 (synopsis "Go implementation of AmneziaWG")
2200 (description
2201 "AmneziaWG is a contemporary version of the WireGuard protocol. It's a
2202fork of @url{https://github.com/WireGuard/wireguard-go, WireGuard-Go} and
2203offers protection against detection by @acronym{DPI, Deep Packet Inspection}
2204systems. At the same time, it retains the simplified architecture and high
2205performance of the original. For more information, see
2206@url{https://docs.amnezia.org/documentation/amnezia-wg/}.")
2207 (license license:expat)))
2208
2209(define-public go-github-com-anacrolix-envpprof
2210 (package
2211 (name "go-github-com-anacrolix-envpprof")
2212 (version "1.4.0")
2213 (source
2214 (origin
2215 (method git-fetch)
2216 (uri (git-reference
2217 (url "https://github.com/anacrolix/envpprof")
2218 (commit (string-append "v" version))))
2219 (file-name (git-file-name name version))
2220 (sha256
2221 (base32 "121kk1fq1919f0gcnmaxsk6n8flspxa00pyfwl09dysyivwbpk67"))))
2222 (build-system go-build-system)
2223 (arguments
2224 (list
2225 #:import-path "github.com/anacrolix/envpprof"))
2226 (propagated-inputs (list go-github-com-anacrolix-log))
2227 (home-page "https://github.com/anacrolix/envpprof")
2228 (synopsis "Control HTTP mux via environment variable")
2229 (description
2230 "This package implements a functionality to configure Go's pprof features
2231and default HTTP mux using the environment variable @code{GOPPROF}.
2232@code{envpprof} has an @code{init} function that will run at process
2233initialization that checks the value of the @code{GOPPROF} environment
2234variable. The variable can contain a comma-separated list of values, for
2235example @code{GOPPROF=http,block}.")
2236 (license license:expat)))
2237
2238(define-public go-github-com-anaskhan96-soup
2239 (package
2240 (name "go-github-com-anaskhan96-soup")
2241 (version "1.2.5")
2242 (source
2243 (origin
2244 (method git-fetch)
2245 (uri (git-reference
2246 (url "https://github.com/anaskhan96/soup")
2247 (commit (string-append "v" version))))
2248 (file-name (git-file-name name version))
2249 (sha256
2250 (base32 "0s19119sy4zqf05sgpdymcbdaz5bg86n7xwgd2m1vvxjmp485k5p"))))
2251 (build-system go-build-system)
2252 (arguments
2253 (list
2254 #:import-path "github.com/anaskhan96/soup"))
2255 (native-inputs
2256 (list go-github-com-stretchr-testify))
2257 (propagated-inputs
2258 (list go-golang-org-x-net))
2259 (home-page "https://github.com/anaskhan96/soup")
2260 (synopsis "Web Scraper in Go, similar to BeautifulSoup")
2261 (description
2262 "Small web scraper package for Go, with its interface highly similar to
2263that of BeautifulSoup.")
2264 (license license:expat)))
2265
2266(define-public go-github-com-andybalholm-cascadia
2267 (package
2268 (name "go-github-com-andybalholm-cascadia")
2269 (version "1.3.1")
2270 (source
2271 (origin
2272 (method git-fetch)
2273 (uri (git-reference
2274 (url "https://github.com/andybalholm/cascadia")
2275 (commit (string-append "v" version))))
2276 (file-name (git-file-name name version))
2277 (sha256
2278 (base32 "0zgc9fjkn7d66cnmgnmalr9lrq4ii1spap95pf2x1hln4pflib5s"))))
2279 (build-system go-build-system)
2280 (arguments
2281 `(#:import-path "github.com/andybalholm/cascadia"))
2282 (native-inputs
2283 (list go-golang-org-x-net))
2284 (home-page "https://github.com/andybalholm/cascadia/")
2285 (synopsis "CSS selectors for HTML")
2286 (description
2287 "The Cascadia package implements CSS selectors for use with the parse
2288trees produced by the html package.")
2289 (license license:bsd-2)))
2290
2291(define-public go-github-com-andygrunwald-go-gerrit
2292 (package
2293 (name "go-github-com-andygrunwald-go-gerrit")
2294 (version "1.1.1")
2295 (source
2296 (origin
2297 (method git-fetch)
2298 (uri (git-reference
2299 (url "https://github.com/andygrunwald/go-gerrit")
2300 (commit (string-append "v" version))))
2301 (file-name (git-file-name name version))
2302 (sha256
2303 (base32 "1sc79pvbykwdj3g80q1lgf30rjdrj4l44m69n55ak4jw2ry8q99j"))))
2304 (build-system go-build-system)
2305 (arguments
2306 (list
2307 #:import-path "github.com/andygrunwald/go-gerrit"
2308 ;; Tests try to access <https://android-review.googlesource.com>.
2309 #:test-flags
2310 #~(list "-skip" (string-join
2311 (list "ExampleConfigService_GetVersion"
2312 "ExampleProjectsService_ListProjects"
2313 "ExampleChangesService_QueryChanges")
2314 "|"))))
2315 (propagated-inputs
2316 (list go-github-com-google-go-querystring))
2317 (home-page "https://github.com/andygrunwald/go-gerrit")
2318 (synopsis "Go client/library for Gerrit Code Review")
2319 (description
2320 "Package gerrit provides a client for using the
2321@url{https://www.gerritcodereview.com/, Gerrit} API.")
2322 (license license:expat)))
2323
2324(define-public go-github-com-anthropics-anthropic-sdk-go
2325 (package
2326 (name "go-github-com-anthropics-anthropic-sdk-go")
2327 (version "1.19.0")
2328 (source
2329 (origin
2330 (method git-fetch)
2331 (uri (git-reference
2332 (url "https://github.com/anthropics/anthropic-sdk-go")
2333 (commit (string-append "v" version))))
2334 (file-name (git-file-name name version))
2335 (sha256
2336 (base32 "11hy4hdvah2klrs802lfzr7h1f8gy6z9xjqzkqir8xv67fasw9k8"))))
2337 (build-system go-build-system)
2338 (arguments
2339 (list
2340 #:import-path "github.com/anthropics/anthropic-sdk-go"
2341 #:phases
2342 #~(modify-phases %standard-phases
2343 (add-after 'unpack 'remove-vertex-and-examples
2344 (lambda* (#:key import-path #:allow-other-keys)
2345 ;; Remove vertex package and examples - they require
2346 ;; google.golang.org/api which is not yet packaged.
2347 (with-directory-excursion (string-append "src/" import-path)
2348 (delete-file-recursively "vertex")
2349 (delete-file-recursively "examples"))))
2350 (add-before 'check 'set-test-environment
2351 (lambda _
2352 ;; Skip integration tests that require a mock Prism
2353 ;; server (localhost:4010). Unit tests in internal/ and
2354 ;; packages/ subdirectories will still run (~51 tests).
2355 (setenv "SKIP_MOCK_TESTS" "true"))))))
2356 (native-inputs
2357 (list go-github-com-stretchr-testify))
2358 (propagated-inputs
2359 (list go-github-com-aws-aws-sdk-go-v2
2360 go-github-com-aws-aws-sdk-go-v2-config
2361 go-github-com-aws-aws-sdk-go-v2-credentials
2362 go-github-com-tidwall-gjson
2363 go-github-com-tidwall-sjson
2364 go-golang-org-x-oauth2))
2365 (home-page "https://github.com/anthropics/anthropic-sdk-go")
2366 (synopsis "Go client library for the Anthropic API")
2367 (description
2368 "This package provides a client library for convenient access
2369to the Anthropic REST API. It includes support for message creation,
2370streaming, tool calling, and integration with Amazon Bedrock.")
2371 (license license:expat)))
2372
2373(define-public go-github-com-antithesishq-antithesis-sdk-go
2374 (package
2375 (name "go-github-com-antithesishq-antithesis-sdk-go")
2376 (version "0.7.0")
2377 (source
2378 (origin
2379 (method git-fetch)
2380 (uri (git-reference
2381 (url "https://github.com/antithesishq/antithesis-sdk-go")
2382 (commit (string-append "v" version))))
2383 (file-name (git-file-name name version))
2384 (sha256
2385 (base32 "13b6hsi5djmragxk7y99988icd5hqjd1c8s4p5m25v643r3wd6l8"))))
2386 (build-system go-build-system)
2387 (arguments
2388 (list
2389 #:skip-build? #t
2390 #:import-path "github.com/antithesishq/antithesis-sdk-go"
2391 #:test-flags
2392 #~(list "-skip" (string-join
2393 ;; Tests expect GO111MODULE=on
2394 (list "TestAliasedImport"
2395 "TestCatalogStability"
2396 "TestE2E"
2397 "TestMultiMain"
2398 "TestSingleMain")
2399 "|"))))
2400 (native-inputs
2401 (list go-github-com-go-quicktest-qt))
2402 (propagated-inputs
2403 (list go-golang-org-x-mod
2404 go-golang-org-x-tools))
2405 (home-page "https://github.com/antithesishq/antithesis-sdk-go")
2406 (synopsis "Antithesis SDK for Golang")
2407 (description
2408 "This package provides methods for Go programs to configure the
2409@url{https://antithesis.com, Antithesis} platform. Functionality is grouped
2410into the Go packages:
2411
2412@itemize
2413@item @code{assert} - to enable defining [test properties] about your program
2414or [workload]. It is part of the [Antithesis Go SDK], which enables Go
2415applications to integrate with the [Antithesis platform]
2416
2417@item @code{random} - to request both structured and unstructured randomness
2418from the Antithesis environment. is part of the [Antithesis Go SDK], which
2419enables Go applications to integrate with the [Antithesis platform]
2420
2421@item @code{lifecycle} - to lifecycle informs the Antithesis environment that
2422particular test phases or milestones have been reached. It is part of the
2423[Antithesis Go SDK], which enables Go applications to integrate with the
2424[Antithesis platform]
2425@end itemize")
2426 (license license:expat)))
2427
2428(define-public go-github-com-apache-openwhisk-client-go
2429 (package
2430 (name "go-github-com-apache-openwhisk-client-go")
2431 (version "0.0.0-20250309042127-fa7fa7e48863")
2432 (source
2433 (origin
2434 (method git-fetch)
2435 (uri (git-reference
2436 (url "https://github.com/apache/openwhisk-client-go")
2437 (commit (go-version->git-ref version))))
2438 (file-name (git-file-name name version))
2439 (sha256
2440 (base32 "1v0z4h2jnx5lr5i1gziqgikddl4f1c0bh3ag01pqim5mmbvpwrrr"))))
2441 (build-system go-build-system)
2442 (arguments
2443 (list
2444 #:skip-build? #t
2445 #:import-path "github.com/apache/openwhisk-client-go"
2446 #:test-flags #~(list "-vet=off")))
2447 (native-inputs
2448 (list go-github-com-stretchr-testify))
2449 (propagated-inputs
2450 (list go-github-com-fatih-color
2451 go-github-com-google-go-querystring
2452 go-github-com-cloudfoundry-jibber-jabber
2453 go-github-com-hokaccha-go-prettyjson
2454 go-github-com-nicksnyder-go-i18n))
2455 (home-page "https://openwhisk.apache.org/")
2456 (synopsis "Go client library for the Apache OpenWhisk platform")
2457 (description
2458 "This package provides a Go client library to access the Openwhisk API.")
2459 (license license:asl2.0)))
2460
2461(define-public go-github-com-aperturerobotics-json-iterator-lite
2462 (package
2463 (name "go-github-com-aperturerobotics-json-iterator-lite")
2464 (version "1.1.0")
2465 (source
2466 (origin
2467 (method git-fetch)
2468 (uri (git-reference
2469 (url "https://github.com/aperturerobotics/json-iterator-lite")
2470 (commit (string-append "v" version))))
2471 (file-name (git-file-name name version))
2472 (sha256
2473 (base32 "1j2888rmx1mqhvy6xg5yz9slngqlbdh6iyy17ilgkv5vvda03q5h"))))
2474 (build-system go-build-system)
2475 (arguments
2476 (list
2477 #:import-path "github.com/aperturerobotics/json-iterator-lite"))
2478 (native-inputs (list go-github-com-stretchr-testify))
2479 (home-page "https://github.com/aperturerobotics/json-iterator-lite")
2480 (synopsis "Minimal reflection-free JSON marshal and unmarshal for Go")
2481 (description
2482 "Package jsoniter implements encoding and decoding of JSON as defined in
2483@url{https://rfc-editor.org/rfc/rfc4627.html, RFC 4627} and provides
2484interfaces with identical syntax of standard lib encoding/json. Converting
2485from encoding/json to jsoniter is no more than replacing the package with
2486jsoniter and variable type declarations (if any). jsoniter interfaces gives
2487100% compatibility with code using standard lib.")
2488 (license license:expat)))
2489
2490(define-public go-github-com-aperturerobotics-protobuf-go-lite
2491 (package
2492 (name "go-github-com-aperturerobotics-protobuf-go-lite")
2493 (version "0.19.0")
2494 (source
2495 (origin
2496 (method git-fetch)
2497 (uri (git-reference
2498 (url "https://github.com/aperturerobotics/protobuf-go-lite")
2499 (commit (string-append "v" version))))
2500 (file-name (git-file-name name version))
2501 (sha256
2502 (base32 "1z5fyy3zav1rny3hhh3n4j2hqmdizs088jl01xb9v8zp0q0vfwqi"))))
2503 (build-system go-build-system)
2504 (arguments
2505 (list
2506 #:import-path "github.com/aperturerobotics/protobuf-go-lite"
2507 #:test-flags
2508 #~(list "-skip" (string-join
2509 ;; Tests expect GO111MODULE=on.
2510 (list "TestCodegenModeDefaultUsesHelperMethods"
2511 "TestCodegenModeUnrolledUsesPreviousMethodShape"
2512 "TestCodegenModeRejectsUnknown"
2513 "TestEdition2024DefaultFeaturesCompile"
2514 "TestEdition2024AdvertiseOnlyDefaultFeaturesCo"
2515 "TestEdition2024RejectsClosedEnum"
2516 "TestEdition2024RejectsLegacyBestEffortJSON"
2517 "TestEdition2024RejectsOpaqueGoAPI"
2518 "TestJSONOptionalFieldMask"
2519 "TestRegistryOptInGeneratesInitAndOptions"
2520 "TestRegistryDisabledByDefault"
2521 "TestRegistryRequiresFeatures")
2522 "|"))))
2523 (native-inputs
2524 (list go-github-com-google-go-cmp
2525 go-github-com-stretchr-testify))
2526 (propagated-inputs
2527 (list go-github-com-aperturerobotics-json-iterator-lite
2528 go-github-com-golang-protobuf
2529 go-google-golang-org-protobuf))
2530 (home-page "https://github.com/aperturerobotics/protobuf-go-lite")
2531 (synopsis "Reflection-free Protobuf for Go.")
2532 (description
2533 "protobuf-go-lite is a stripped-down version of the
2534@url{https://github.com/protocolbuffers/protobuf-go, protobuf-go} code
2535generator modified to work without reflection and merged with
2536@url{https://github.com/planetscale/vtprotobuf, vtprotobuf} to provide modular
2537features with static code generation for marshal/unmarshal, size, clone,
2538equal, text, and JSON. JSON support is derived from a fork of
2539@url{https://github.com/@code{TheThingsIndustries/protoc-gen-go-json,
2540protoc-gen-go-json}}.")
2541 (license license:bsd-3)))
2542
2543(define-public go-github-com-apex-log
2544 (package
2545 (name "go-github-com-apex-log")
2546 (version "1.9.0")
2547 (source
2548 (origin
2549 (method git-fetch)
2550 (uri (git-reference
2551 (url "https://github.com/apex/log")
2552 (commit (string-append "v" version))))
2553 (file-name (git-file-name name version))
2554 (sha256
2555 (base32 "1ibqkncnb8wcwilg2kyfyl5541g69rg551iy6m61q6iwdn5vfhi2"))))
2556 (build-system go-build-system)
2557 (arguments
2558 (list
2559 #:import-path "github.com/apex/log"
2560 #:test-flags #~(list "-vet=off")))
2561 (native-inputs
2562 (list go-github-com-tj-assert
2563 go-github-com-stretchr-testify))
2564 (propagated-inputs
2565 (list go-github-com-apex-logs
2566 go-github-com-aphistic-golf
2567 go-github-com-aws-aws-sdk-go
2568 go-github-com-aybabtme-rgbterm
2569 go-github-com-fatih-color
2570 go-github-com-go-logfmt-logfmt
2571 go-github-com-mattn-go-colorable
2572 go-github-com-pkg-errors
2573 go-github-com-rogpeppe-fastuuid
2574 go-github-com-tj-go-buffer
2575 go-github-com-tj-go-elastic
2576 go-github-com-tj-go-kinesis-bootstrap
2577 go-github-com-tj-go-spin))
2578 (home-page "https://github.com/apex/log")
2579 (synopsis "Structured logging package for Golang")
2580 (description
2581 "Package log implements a simple structured logging API designed with few
2582assumptions. Designed for centralized logging solutions such as Kinesis which
2583require encoding and decoding before fanning-out to handlers.")
2584 (license license:expat)))
2585
2586(define-public go-github-com-apex-log-bootstrap
2587 (hidden-package
2588 (package/inherit go-github-com-apex-log
2589 (arguments
2590 (list #:import-path "github.com/apex/log"
2591 #:test-subdirs #~(list ".")
2592 #:test-flags #~(list "-vet=off")))
2593 (propagated-inputs
2594 (list go-github-com-fatih-color
2595 go-github-com-pkg-errors)))))
2596
2597(define-public go-github-com-aphistic-golf
2598 (package
2599 (name "go-github-com-aphistic-golf")
2600 (version "0.0.0-20180712155816-02c07f170c5a")
2601 (source
2602 (origin
2603 (method git-fetch)
2604 (uri (git-reference
2605 (url "https://github.com/aphistic/golf")
2606 (commit (go-version->git-ref version))))
2607 (file-name (git-file-name name version))
2608 (sha256
2609 (base32 "1qixab9bb29wqbr4nc5j3g25hq1j7am93f181rkj7a4qacncx763"))))
2610 (build-system go-build-system)
2611 (arguments
2612 (list
2613 #:tests? #f ; source only library, tests require go-1.12
2614 #:import-path "github.com/aphistic/golf"))
2615 (propagated-inputs
2616 (list go-github-com-google-uuid))
2617 (home-page "https://github.com/aphistic/golf")
2618 (synopsis "Integration client for Graylog backed services")
2619 (description
2620 "This package implement a functionality to send logs to services
2621supporting @acronym{GELF, Graylog Extended Log Format} specified in
2622@url{Graylog Documentation, https://go2docs.graylog.org/current/home.html}.")
2623 (license license:expat)))
2624
2625(define-public go-github-com-apparentlymart-go-cidr
2626 (package
2627 (name "go-github-com-apparentlymart-go-cidr")
2628 (version "1.1.0")
2629 (source
2630 (origin
2631 (method git-fetch)
2632 (uri (git-reference
2633 (url "https://github.com/apparentlymart/go-cidr")
2634 (commit (string-append "v" version))))
2635 (file-name (git-file-name name version))
2636 (sha256
2637 (base32 "12b8qhazgdqr9p3sw5vma7va5j1fvm454cyd0ccc0wi96df3wk4i"))))
2638 (build-system go-build-system)
2639 (arguments
2640 (list
2641 #:skip-build? #t
2642 #:import-path "github.com/apparentlymart/go-cidr"))
2643 (home-page "https://github.com/apparentlymart/go-cidr")
2644 (synopsis "CIDR netmasks manipulation library for Golang")
2645 (description
2646 "Package cidr is a collection of assorted utilities for computing network
2647and host addresses within network ranges. It expects a CIDR-type address
2648structure where addresses are divided into some number of prefix bits
2649representing the network and then the remaining suffix bits represent the
2650host.")
2651 (license license:expat)))
2652
2653(define-public go-github-com-appscode-go-querystring
2654 (package
2655 (name "go-github-com-appscode-go-querystring")
2656 (version "0.0.0-20170504095604-0126cfb3f1dc")
2657 (source
2658 (origin
2659 (method git-fetch)
2660 (uri (git-reference
2661 (url "https://github.com/appscode/go-querystring")
2662 (commit (go-version->git-ref version))))
2663 (file-name (git-file-name name version))
2664 (sha256
2665 (base32 "0jzpdf6sdgm1xw5b5mkqiaz7l4rs677habrwclfpc3szxkllclks"))))
2666 (build-system go-build-system)
2667 (arguments
2668 (list
2669 ;; (*testing.common).Errorf format %q has arg s of wrong type
2670 #:test-flags
2671 #~(list "-vet=off")
2672 #:skip-build? #t
2673 #:import-path "github.com/appscode/go-querystring"))
2674 (home-page "https://github.com/appscode/go-querystring")
2675 (synopsis "Encode structs into URL query parameters")
2676 (description
2677 "This package is designed to assist in scenarios where you want to construct a
2678URL using a struct that represents the URL query parameters.")
2679 (license license:bsd-3)))
2680
2681(define-public go-github-com-arceliar-ironwood
2682 (package
2683 (name "go-github-com-arceliar-ironwood")
2684 (version "v0.0.0-20260613025018-d50055b11f5e")
2685 (source
2686 (origin
2687 (method git-fetch)
2688 (uri (git-reference
2689 (url "https://github.com/Arceliar/ironwood")
2690 (commit (go-version->git-ref version))))
2691 (file-name (git-file-name name version))
2692 (sha256
2693 (base32
2694 "0i19m3z246xhg3dp0vwkgxfwzm9gwci7ia7853h9ssr5ymb2ia65"))))
2695 (build-system go-build-system)
2696 (arguments
2697 (list
2698 #:import-path "github.com/Arceliar/ironwood"
2699 #:phases
2700 #~(modify-phases %standard-phases
2701 (add-after 'unpack 'remove-examples
2702 (lambda* (#:key import-path #:allow-other-keys)
2703 (delete-file-recursively
2704 (string-append "src/" import-path "/cmd/ironwood-example"))))
2705 ;; XXX: Replace when go-build-system supports nested path.
2706 (delete 'build)
2707 (replace 'check
2708 (lambda* (#:key import-path tests? #:allow-other-keys)
2709 (when tests?
2710 (with-directory-excursion (string-append "src/" import-path)
2711 (invoke "go" "test" "-v" "./..."))))))))
2712 (propagated-inputs
2713 (list go-github-com-arceliar-phony
2714 go-github-com-bits-and-blooms-bitset
2715 go-github-com-bits-and-blooms-bloom-v3
2716 go-golang-org-x-crypto))
2717 (home-page "https://github.com/Arceliar/ironwood")
2718 (synopsis "Experimental network routing library")
2719 (description
2720 "Ironwood is a routing library with a @code{net.PacketConn}-compatible
2721interface using @code{ed25519.PublicKey}s as addresses. Basically, you use it
2722when you want to communicate with some other nodes in a network, but you can't
2723guarantee that you can directly connect to every node in that network. It was
2724written to test improvements to / replace the routing logic in
2725@url{https://github.com/yggdrasil-network/yggdrasil-go,Yggdrasil}, but it may
2726be useful for other network applications.")
2727 (license license:mpl2.0)))
2728
2729(define-public go-github-com-armon-go-metrics
2730 ;; v0.5.0 of the library renamed the Go module from
2731 ;; "github.com/armon/go-metrics" to "github.com/hashicorp/go-metrics". While
2732 ;; this did not introduce any breaking changes to the API, the change did
2733 ;; subtly break backwards compatibility.
2734 ;;
2735 ;; Eventually all usage of "armon/go-metrics" should be replaced with usage
2736 ;; of "hashicorp/go-metrics"
2737 (package
2738 (name "go-github-com-armon-go-metrics")
2739 (version "0.5.4")
2740 (source
2741 (origin
2742 (method git-fetch)
2743 (uri (git-reference
2744 (url "https://github.com/hashicorp/go-metrics")
2745 (commit (string-append "v" version))))
2746 (file-name (git-file-name name version))
2747 (sha256
2748 (base32 "0rw8251w6lkpbm6qhbdi37jbjknmlw1ampqicfyk32mfq3grn0ar"))
2749 (modules '((guix build utils)))
2750 (snippet
2751 #~(begin
2752 ;; Module name has been changed upstream.
2753 (substitute* (find-files "." "\\.go$")
2754 (("armon/go-metrics") "hashicorp/go-metrics"))))))
2755 (build-system go-build-system)
2756 (arguments
2757 (list
2758 #:import-path "github.com/hashicorp/go-metrics"
2759 #:test-flags
2760 #~(list "-skip" (string-join
2761 ;; Networking and running Prometheus are required.
2762 (list "TestAddSample"
2763 "TestMetricSink"
2764 "TestSetGauge"
2765 "TestSetPrecisionGauge"
2766 "TestStatsd_Conn"
2767 "TestStatsite_Conn"
2768 "TestTaggableMetrics")
2769 "|"))))
2770 (native-inputs
2771 (list go-github-com-golang-protobuf
2772 go-github-com-pascaldekloe-goe
2773 go-github-com-prometheus-client-model
2774 go-github-com-prometheus-common))
2775 (propagated-inputs
2776 (list go-github-com-circonus-labs-circonus-gometrics
2777 go-github-com-datadog-datadog-go
2778 go-github-com-hashicorp-go-immutable-radix
2779 go-github-com-prometheus-client-golang))
2780 (home-page "https://github.com/hashicorp/go-metrics")
2781 (synopsis "Export performance and runtime metrics to external systems")
2782 (description
2783 "This package implements a functionality which can be used in instrument
2784code, expose application metrics, and profile runtime performance in a
2785flexible manner. It makes use of a @code{MetricSink} interface to support
2786delivery to any type of backend.
2787
2788Currently the following sinks are provided:
2789@itemize
2790@item StatsiteSink : Sinks to a @url{https://github.com/statsite/statsite/,
2791statsite} instance (TCP)
2792@item StatsdSink: Sinks to a @url{https://github.com/statsd/statsd/, StatsD} /
2793statsite instance (UDP)
2794@item PrometheusSink: Sinks to a @url{http://prometheus.io/, Prometheus}
2795metrics endpoint (exposed via HTTP for scrapes)
2796@item InmemSink : Provides in-memory aggregation, can be used to export stats
2797@item FanoutSink : Sinks to multiple sinks. Enables writing to multiple
2798statsite instances for example
2799@item BlackholeSink : Sinks to nowhere
2800@end itemize")
2801 (license license:expat)))
2802
2803(define-public go-github-com-armon-go-proxyproto
2804 (package
2805 (name "go-github-com-armon-go-proxyproto")
2806 (version "0.1.0")
2807 (source
2808 (origin
2809 (method git-fetch)
2810 (uri (git-reference
2811 (url "https://github.com/armon/go-proxyproto")
2812 (commit (string-append "v" version))))
2813 (file-name (git-file-name name version))
2814 (sha256
2815 (base32 "0v7zb7wzbw2xzvxlklrava1vni1w4d9z8j6xaq1xylw8fd0wrdy1"))))
2816 (build-system go-build-system)
2817 (arguments
2818 (list
2819 #:import-path "github.com/armon/go-proxyproto"))
2820 (home-page "https://github.com/armon/go-proxyproto")
2821 (synopsis "Handle HAProxy Proxy Protocol in Golang")
2822 (description
2823 "This package implements a functionality to be used for servers listening
2824behind HAProxy of Amazon ELB load balancers. Those load balancers support the
2825use of a @url{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt, proxy
2826protocol}, which provides a simple mechanism for the server to get the address
2827of the client instead of the load balancer.")
2828 (license license:expat)))
2829
2830(define-public go-github-com-armon-go-socks5
2831 (package
2832 (name "go-github-com-armon-go-socks5")
2833 (version "0.0.0-20160902184237-e75332964ef5")
2834 (source
2835 (origin
2836 (method git-fetch)
2837 (uri (git-reference
2838 (url "https://github.com/armon/go-socks5")
2839 (commit (go-version->git-ref version))))
2840 (file-name (git-file-name name version))
2841 (sha256
2842 (base32 "104w10jf0wlxyxi35hf6frndgf0ybz21h54xjmnkivpb6slycpyq"))))
2843 (build-system go-build-system)
2844 (arguments
2845 (list
2846 #:import-path "github.com/armon/go-socks5"))
2847 (native-inputs
2848 (list go-golang-org-x-net))
2849 (home-page "https://github.com/armon/go-socks5")
2850 (synopsis "SOCKS5 server in Golang")
2851 (description
2852 "This package provides the @code{socks5} package that implements a
2853@url{http://en.wikipedia.org/wiki/SOCKS,SOCKS5 server}. SOCKS (Secure
2854Sockets) is used to route traffic between a client and server through an
2855intermediate proxy layer. This can be used to bypass firewalls or NATs.")
2856 (license license:expat)))
2857
2858(define-public go-github-com-audriusbutkevicius-pfilter
2859 (package
2860 (name "go-github-com-audriusbutkevicius-pfilter")
2861 (version "0.0.11")
2862 (source
2863 (origin
2864 (method git-fetch)
2865 (uri (git-reference
2866 (url "https://github.com/AudriusButkevicius/pfilter")
2867 (commit (string-append "v" version))))
2868 (file-name (git-file-name name version))
2869 (sha256
2870 (base32 "03kwi1hnhcz9qdblmhpaqg2063k2ch29hc5dr8cl2z7q5rp81m9i"))))
2871 (build-system go-build-system)
2872 (arguments
2873 (list
2874 #:import-path "github.com/AudriusButkevicius/pfilter"
2875 #:phases
2876 #~(modify-phases %standard-phases
2877 (add-after 'unpack 'remove-failing-tests
2878 (lambda* (#:key import-path #:allow-other-keys)
2879 (with-directory-excursion (string-append "src/" import-path)
2880 (for-each delete-file
2881 ;; Remove tests requiring setting up local
2882 ;; connection.
2883 (list "quic_test.go"))))))))
2884 (propagated-inputs
2885 (list go-github-com-pkg-errors
2886 go-github-com-quic-go-quic-go
2887 go-golang-org-x-net))
2888 (home-page "https://github.com/AudriusButkevicius/pfilter")
2889 (synopsis "Filter packets into multiple virtual connections")
2890 (description
2891 "Pfilter is a Go package for filtering packets into multiple virtual
2892connections from a single physical connection.")
2893 (license license:expat)))
2894
2895(define-public go-github-com-aws-aws-lambda-go
2896 (package
2897 (name "go-github-com-aws-aws-lambda-go")
2898 (version "1.47.0")
2899 (source
2900 (origin
2901 (method git-fetch)
2902 (uri (git-reference
2903 (url "https://github.com/aws/aws-lambda-go")
2904 (commit (string-append "v" version))))
2905 (file-name (git-file-name name version))
2906 (sha256
2907 (base32 "0xki0n3va9nr6dmlgrb8zarkccx5jba6ig6g8zxcznw3rlllf1zv"))))
2908 (build-system go-build-system)
2909 (arguments
2910 (list
2911 #:import-path "github.com/aws/aws-lambda-go"
2912 #:phases
2913 #~(modify-phases %standard-phases
2914 ;; XXX: Workaround for go-build-system's lack of Go modules support.
2915 (delete 'build)
2916 (replace 'check
2917 (lambda* (#:key tests? import-path #:allow-other-keys)
2918 (when tests?
2919 (with-directory-excursion (string-append "src/" import-path)
2920 (invoke "go" "test" "-v" "./..."))))))))
2921 (native-inputs
2922 (list go-github-com-stretchr-testify))
2923 (home-page "https://github.com/aws/aws-lambda-go")
2924 (synopsis "AWS Lambda for Go")
2925 (description
2926 "Libraries, samples, and tools to help Go developers develop AWS Lambda
2927functions.")
2928 (license license:asl2.0)))
2929
2930(define-public go-github-com-aws-aws-sdk-go
2931 (package
2932 (name "go-github-com-aws-aws-sdk-go")
2933 (version "1.55.7")
2934 (source
2935 (origin
2936 (method git-fetch)
2937 (uri (git-reference
2938 (url "https://github.com/aws/aws-sdk-go")
2939 (commit (string-append "v" version))))
2940 (file-name (git-file-name name version))
2941 (sha256
2942 (base32 "11lyc27wwpfly4hvvml8j3y16g010snd4qjc9ivlwdcafjpxly33"))))
2943 (build-system go-build-system)
2944 (arguments
2945 (list
2946 #:import-path "github.com/aws/aws-sdk-go"
2947 #:test-flags #~(list "-skip" "TestProcessProviderTimeout")))
2948 (propagated-inputs
2949 (list go-github-com-jmespath-go-jmespath))
2950 (home-page "https://github.com/aws/aws-sdk-go")
2951 (synopsis "The official AWS SDK for the Go programming language")
2952 (description
2953 "The official AWS SDK for the Go programming language.")
2954 (license license:asl2.0)))
2955
2956(define-public go-github-com-aws-aws-sdk-go-v2
2957 (package
2958 (name "go-github-com-aws-aws-sdk-go-v2")
2959 (version "1.41.7")
2960 (source
2961 (origin
2962 (method git-fetch)
2963 (uri (git-reference
2964 (url "https://github.com/aws/aws-sdk-go-v2")
2965 (commit (string-append "v" version))))
2966 (file-name (git-file-name name version))
2967 (sha256
2968 (base32 "1j68835z0dgzxwf3m4gfir50wi6r30yx3g78y63x55sdg2imbhsk"))
2969 ;; XXX: It contains a lot of sub packages defined with go.mod, consider
2970 ;; to pack them separately.
2971 (modules '((guix build utils)))
2972 (snippet
2973 #~(begin
2974 ;; All of the submodules prefixed with
2975 ;; "github.com/aws/aws-sdk-go-v2" and contain go.mod file.
2976 (for-each delete-file-recursively
2977 (list "config"
2978 "credentials"
2979 "feature/ec2/imds"
2980 "feature/s3/manager"
2981 "feature/s3/transfermanager"
2982 "internal/configsources"
2983 "internal/endpoints/v2"
2984 "service/cloudwatchlogs"
2985 "service/iam"
2986 "service/kms"
2987 "service/s3"
2988 "service/sns"
2989 "service/sqs"
2990 "service/ssm"
2991 "service/sso"
2992 "service/ssooidc"
2993 "service/sts"))))))
2994 (build-system go-build-system)
2995 (arguments
2996 (list
2997 #:import-path "github.com/aws/aws-sdk-go-v2"
2998 #:test-subdirs #~(list ".")))
2999 (propagated-inputs
3000 (list go-github-com-jmespath-go-jmespath
3001 go-github-com-aws-smithy-go))
3002 (home-page "https://github.com/aws/aws-sdk-go-v2")
3003 (synopsis "AWS SDK for Go v2")
3004 (description
3005 "Package sdk is the official AWS SDK v2 for the Go programming language.")
3006 (license license:asl2.0)))
3007
3008(define-public go-github-com-aws-aws-sdk-go-v2-config
3009 (package
3010 (name "go-github-com-aws-aws-sdk-go-v2-config")
3011 (version "1.32.17")
3012 (source
3013 (origin
3014 (method git-fetch)
3015 (uri (git-reference
3016 (url "https://github.com/aws/aws-sdk-go-v2")
3017 (commit (go-version->git-ref version
3018 #:subdir "config"))))
3019 (file-name (git-file-name name version))
3020 (sha256
3021 (base32 "1j68835z0dgzxwf3m4gfir50wi6r30yx3g78y63x55sdg2imbhsk"))
3022 (modules '((guix build utils)))
3023 (snippet #~(delete-all-but "." "config"))))
3024 (build-system go-build-system)
3025 (arguments
3026 (list
3027 #:import-path "github.com/aws/aws-sdk-go-v2/config"
3028 #:unpack-path "github.com/aws/aws-sdk-go-v2"))
3029 (propagated-inputs
3030 (list go-github-com-aws-aws-sdk-go-v2
3031 go-github-com-aws-aws-sdk-go-v2-credentials
3032 go-github-com-aws-aws-sdk-go-v2-service-sso
3033 go-github-com-aws-aws-sdk-go-v2-service-ssooidc
3034 go-github-com-aws-aws-sdk-go-v2-service-sts
3035 go-github-com-aws-smithy-go))
3036 (home-page "https://github.com/aws/aws-sdk-go-v2")
3037 (synopsis "AWS SDK for Go v2 - config module")
3038 (description
3039 "Package config provides utilities for loading configuration from
3040multiple sources that can be used to configure the SDK's API clients, and
3041utilities.")
3042 (license license:asl2.0)))
3043
3044(define-public go-github-com-aws-aws-sdk-go-v2-credentials
3045 (package
3046 (name "go-github-com-aws-aws-sdk-go-v2-credentials")
3047 (version "1.19.7")
3048 (source
3049 (origin
3050 (method git-fetch)
3051 (uri (git-reference
3052 (url "https://github.com/aws/aws-sdk-go-v2")
3053 (commit (go-version->git-ref version
3054 #:subdir "credentials"))))
3055 (file-name (git-file-name name version))
3056 (sha256
3057 (base32 "04cv6g96hhmjl6snql6a909grq4yxyjk95a3dzk6mpihvg79q47p"))
3058 (modules '((guix build utils)))
3059 (snippet #~(delete-all-but "." "credentials"))))
3060 (build-system go-build-system)
3061 (arguments
3062 (list
3063 #:import-path "github.com/aws/aws-sdk-go-v2/credentials"
3064 #:unpack-path "github.com/aws/aws-sdk-go-v2"
3065 #:phases
3066 #~(modify-phases %standard-phases
3067 (add-after 'unpack 'fix-tests
3068 (lambda* (#:key import-path #:allow-other-keys)
3069 (with-directory-excursion (string-append "src/" import-path)
3070 (substitute* (find-files "." "test\\.go")
3071 (("/bin/sleep") (which "sleep")))))))))
3072 (propagated-inputs
3073 (list go-github-com-aws-aws-sdk-go-v2
3074 go-github-com-aws-aws-sdk-go-v2-feature-ec2-imds
3075 go-github-com-aws-aws-sdk-go-v2-internal-configsources
3076 go-github-com-aws-aws-sdk-go-v2-internal-endpoints-v2
3077 go-github-com-aws-aws-sdk-go-v2-service-sso
3078 go-github-com-aws-aws-sdk-go-v2-service-ssooidc
3079 go-github-com-aws-aws-sdk-go-v2-service-sts
3080 go-github-com-aws-smithy-go))
3081 (home-page "https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/credentials")
3082 (synopsis "AWS SDK for Go v2 - credentials module")
3083 (description
3084 "Package credentials provides types for retrieving credentials from
3085credentials sources.")
3086 (license license:asl2.0)))
3087
3088(define-public go-github-com-aws-aws-sdk-go-v2-feature-ec2-imds
3089 (package
3090 (name "go-github-com-aws-aws-sdk-go-v2-feature-ec2-imds")
3091 (version "1.18.17")
3092 (source
3093 (origin
3094 (method git-fetch)
3095 (uri (git-reference
3096 (url "https://github.com/aws/aws-sdk-go-v2")
3097 (commit (go-version->git-ref version
3098 #:subdir "feature/ec2/imds"))))
3099 (file-name (git-file-name name version))
3100 (sha256
3101 (base32 "04cv6g96hhmjl6snql6a909grq4yxyjk95a3dzk6mpihvg79q47p"))
3102 (modules '((guix build utils)))
3103 (snippet
3104 #~(begin
3105 (delete-all-but "." "feature")
3106 (delete-all-but "feature" "ec2")
3107 (delete-all-but "feature/ec2" "imds")
3108 ;; Submodules with their own go.mod files and packaged separately:
3109 ;;
3110 ;; - github.com/aws/aws-sdk-go-v2/feature/ec2/imds/internal/configtesting
3111 (delete-file-recursively "feature/ec2/imds/internal/configtesting")))))
3112 (build-system go-build-system)
3113 (arguments
3114 (list
3115 #:import-path "github.com/aws/aws-sdk-go-v2/feature/ec2/imds"
3116 #:unpack-path "github.com/aws/aws-sdk-go-v2"
3117 #:test-flags #~(list "-vet=off")))
3118 (propagated-inputs
3119 (list go-github-com-aws-aws-sdk-go-v2
3120 go-github-com-aws-smithy-go))
3121 (home-page "https://github.com/aws/aws-sdk-go-v2")
3122 (synopsis "AWS SDK for Go v2 - EC2 IMDS module")
3123 (description
3124 "Package imds provides the API client for interacting with the Amazon EC2
3125Instance Metadata Service.")
3126 (license license:asl2.0)))
3127
3128(define-public go-github-com-aws-aws-sdk-go-v2-feature-s3-manager
3129 (package
3130 (name "go-github-com-aws-aws-sdk-go-v2-feature-s3-manager")
3131 (version "1.22.0")
3132 (source
3133 (origin
3134 (method git-fetch)
3135 (uri (git-reference
3136 (url "https://github.com/aws/aws-sdk-go-v2")
3137 (commit (go-version->git-ref version
3138 #:subdir "feature/s3/manager"))))
3139 (file-name (git-file-name name version))
3140 (sha256
3141 (base32 "138v5i53mm1ibbqidij2dzpwjr0z6rr3rqpri5iw6wxyfapxng9r"))))
3142 (build-system go-build-system)
3143 (arguments
3144 (list
3145 #:import-path "github.com/aws/aws-sdk-go-v2/feature/s3/manager"
3146 #:unpack-path "github.com/aws/aws-sdk-go-v2"))
3147 (propagated-inputs (list go-github-com-aws-smithy-go))
3148 (home-page "https://github.com/aws/aws-sdk-go-v2")
3149 (synopsis "AWS SDK for Go v2 - S3 manager module")
3150 (description
3151 "Package manager provides utilities to upload and download objects from
3152S3 concurrently. Helpful for when working with large objects.")
3153 (license license:asl2.0)))
3154
3155(define-public go-github-com-aws-aws-sdk-go-v2-feature-s3-transfermanager
3156 (package
3157 (name "go-github-com-aws-aws-sdk-go-v2-feature-s3-transfermanager")
3158 (version "0.1.22")
3159 (source
3160 (origin
3161 (method git-fetch)
3162 (uri (git-reference
3163 (url "https://github.com/aws/aws-sdk-go-v2")
3164 (commit (go-version->git-ref version
3165 #:subdir "feature/s3/transfermanager"))))
3166 (file-name (git-file-name name version))
3167 (sha256
3168 (base32 "1lf7jp1bbrnil1grkdqhhy5bssz82g03np2hpffadqjjpg9780w5"))
3169 (modules '((guix build utils)))
3170 (snippet
3171 #~(begin
3172 (delete-all-but "." "feature")
3173 (delete-all-but "feature" "s3")
3174 (delete-all-but "feature/s3" "transfermanager")))))
3175 (build-system go-build-system)
3176 (arguments
3177 (list
3178 #:import-path "github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager"
3179 #:unpack-path "github.com/aws/aws-sdk-go-v2"))
3180 (propagated-inputs
3181 (list go-github-com-aws-aws-sdk-go-v2
3182 go-github-com-aws-aws-sdk-go-v2-service-s3
3183 go-github-com-aws-aws-sdk-go-v2-internal-configsources
3184 go-github-com-aws-aws-sdk-go-v2-internal-endpoints-v2
3185 go-github-com-aws-smithy-go))
3186 (home-page "https://github.com/aws/aws-sdk-go-v2")
3187 (synopsis "AWS SDK for Go v2 - S3 transfer manager module")
3188 (description
3189 "Package transfermanager implements the Amazon S3 Transfer Manager, a
3190high-level S3 client library.")
3191 (license license:asl2.0)))
3192
3193(define-public go-github-com-aws-aws-sdk-go-v2-internal-configsources
3194 (package
3195 (name "go-github-com-aws-aws-sdk-go-v2-internal-configsources")
3196 (version "1.4.27")
3197 (source
3198 (origin
3199 (method git-fetch)
3200 (uri (git-reference
3201 (url "https://github.com/aws/aws-sdk-go-v2")
3202 (commit
3203 (go-version->git-ref version
3204 #:subdir "internal/configsources"))))
3205 (file-name (git-file-name name version))
3206 (sha256
3207 (base32 "1ggb2wgxpijv4xjcxwjvfmpdvl90pmz6jnk0nlqkk6mqpykxnjb5"))
3208 (modules '((guix build utils)))
3209 (snippet
3210 #~(begin
3211 (delete-all-but "internal" "configsources")
3212 (delete-all-but "." "internal")
3213 ;; Submodules with their own go.mod files and packaged separately.
3214 (delete-file-recursively "internal/configsources/configtesting")))))
3215 (build-system go-build-system)
3216 (arguments
3217 (list
3218 #:import-path "github.com/aws/aws-sdk-go-v2/internal/configsources"
3219 #:unpack-path "github.com/aws/aws-sdk-go-v2"))
3220 (propagated-inputs
3221 (list go-github-com-aws-aws-sdk-go-v2
3222 go-github-com-aws-smithy-go))
3223 (home-page "https://github.com/aws/aws-sdk-go-v2")
3224 (synopsis "AWS SDK for Go v2 - internal/configsources module")
3225 (description
3226 "Package internal/configsources provides utilities for looking up
3227configuration sources in AWS.")
3228 (license license:asl2.0)))
3229
3230(define-public go-github-com-aws-aws-sdk-go-v2-internal-endpoints-v2
3231 (package
3232 (name "go-github-com-aws-aws-sdk-go-v2-internal-endpoints-v2")
3233 (version "2.7.21")
3234 (source
3235 (origin
3236 (method git-fetch)
3237 (uri (git-reference
3238 (url "https://github.com/aws/aws-sdk-go-v2")
3239 (commit
3240 (go-version->git-ref version
3241 #:subdir "internal/endpoints"))))
3242 (file-name (git-file-name name version))
3243 (sha256
3244 (base32 "068yzhxxxdymr1avb1l1pm9m0p7mcd0zlw5an66mcqldgl7hfivg"))
3245 (modules '((guix build utils)))
3246 (snippet
3247 #~(begin
3248 (delete-all-but "internal/endpoints" "v2")
3249 (delete-all-but "internal" "endpoints")
3250 (delete-all-but "." "internal")))))
3251 (build-system go-build-system)
3252 (arguments
3253 (list
3254 #:import-path "github.com/aws/aws-sdk-go-v2/internal/endpoints/v2"
3255 #:unpack-path "github.com/aws/aws-sdk-go-v2"))
3256 (propagated-inputs
3257 (list go-github-com-aws-aws-sdk-go-v2
3258 go-github-com-aws-smithy-go))
3259 (home-page "https://github.com/aws/aws-sdk-go-v2")
3260 (synopsis "AWS SDK for Go v2 - internal/endpoints/v2 module")
3261 (description
3262 "Package internal/endpoints/v2 provides utilities for managing AWS as
3263structured records.")
3264 (license license:asl2.0)))
3265
3266(define-public go-github-com-aws-aws-sdk-go-v2-service-cloudwatchlogs
3267 (package
3268 (name "go-github-com-aws-aws-sdk-go-v2-service-cloudwatchlogs")
3269 (version "1.66.0")
3270 (source
3271 (origin
3272 (method git-fetch)
3273 (uri (git-reference
3274 (url "https://github.com/aws/aws-sdk-go-v2")
3275 (commit (go-version->git-ref version
3276 #:subdir "service/cloudwatchlogs"))))
3277 (file-name (git-file-name name version))
3278 (sha256
3279 (base32 "133768fizkn8hp0xrf90bh64y14gxzj45zfa1711igwafijwlvnl"))
3280 (modules '((guix build utils)))
3281 (snippet
3282 #~(begin
3283 (delete-all-but "service" "cloudwatchlogs")
3284 (delete-all-but "." "service")))))
3285 (build-system go-build-system)
3286 (arguments
3287 (list
3288 #:import-path "github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs"
3289 #:unpack-path "github.com/aws/aws-sdk-go-v2"))
3290 (propagated-inputs
3291 (list go-github-com-aws-aws-sdk-go-v2
3292 go-github-com-aws-aws-sdk-go-v2-internal-configsources
3293 go-github-com-aws-aws-sdk-go-v2-internal-endpoints-v2
3294 go-github-com-aws-smithy-go))
3295 (home-page "https://github.com/aws/aws-sdk-go-v2")
3296 (synopsis "AWS SDK for Go v2 - CloudWatch Logs module")
3297 (description
3298 "This package provides the API client, operations, and parameter types
3299for Amazon CloudWatch Logs.")
3300 (license license:asl2.0)))
3301
3302(define-public go-github-com-aws-aws-sdk-go-v2-service-iam
3303 (package
3304 (name "go-github-com-aws-aws-sdk-go-v2-service-iam")
3305 (version "1.53.2")
3306 (source
3307 (origin
3308 (method git-fetch)
3309 (uri (git-reference
3310 (url "https://github.com/aws/aws-sdk-go-v2")
3311 (commit (go-version->git-ref version
3312 #:subdir "service/iam"))))
3313 (file-name (git-file-name name version))
3314 (sha256
3315 (base32 "04cv6g96hhmjl6snql6a909grq4yxyjk95a3dzk6mpihvg79q47p"))))
3316 (build-system go-build-system)
3317 (arguments
3318 (list
3319 #:import-path "github.com/aws/aws-sdk-go-v2/service/iam"
3320 #:unpack-path "github.com/aws/aws-sdk-go-v2"))
3321 (propagated-inputs
3322 (list go-github-com-aws-smithy-go))
3323 (home-page "https://github.com/aws/aws-sdk-go-v2")
3324 (synopsis "AWS SDK for Go v2 - IAM module")
3325 (description
3326 "Package iam provides the API client, operations, and parameter types for
3327AWS Identity and Access Management.")
3328 (license license:asl2.0)))
3329
3330(define-public go-github-com-aws-aws-sdk-go-v2-service-kms
3331 (package
3332 (name "go-github-com-aws-aws-sdk-go-v2-service-kms")
3333 (version "1.50.0")
3334 (source
3335 (origin
3336 (method git-fetch)
3337 (uri (git-reference
3338 (url "https://github.com/aws/aws-sdk-go-v2")
3339 (commit (go-version->git-ref version
3340 #:subdir "service/kms"))))
3341 (file-name (git-file-name name version))
3342 (sha256
3343 (base32 "1syzl2cd6m9hdjnn15163afz1wh85gva10l4k8j8w5i1jhk5sf40"))
3344 (modules '((guix build utils)))
3345 (snippet
3346 #~(begin
3347 (delete-all-but "service" "kms")
3348 (delete-all-but "." "service")))))
3349 (build-system go-build-system)
3350 (arguments
3351 (list
3352 #:import-path "github.com/aws/aws-sdk-go-v2/service/kms"
3353 #:unpack-path "github.com/aws/aws-sdk-go-v2"))
3354 (propagated-inputs
3355 (list go-github-com-aws-aws-sdk-go-v2
3356 go-github-com-aws-aws-sdk-go-v2-internal-configsources
3357 go-github-com-aws-aws-sdk-go-v2-internal-endpoints-v2
3358 go-github-com-aws-smithy-go))
3359 (home-page "https://github.com/aws/aws-sdk-go-v2")
3360 (synopsis "API client, operations, and parameter types for AWS KMS")
3361 (description
3362 "This package provides the API client, operations, and parameter types for
3363AWS Key Management Service.")
3364 (license license:asl2.0)))
3365
3366(define-public go-github-com-aws-aws-sdk-go-v2-service-s3
3367 (package
3368 (name "go-github-com-aws-aws-sdk-go-v2-service-s3")
3369 (version "1.96.0")
3370 (source
3371 (origin
3372 (method git-fetch)
3373 (uri (git-reference
3374 (url "https://github.com/aws/aws-sdk-go-v2")
3375 (commit (go-version->git-ref version
3376 #:subdir "service/s3"))))
3377 (file-name (git-file-name name version))
3378 (sha256
3379 (base32 "01zc9wccmx2kf2n88rv4wgxv59nai5w0qc6csyzpdw8ahvwk0bmh"))))
3380 (build-system go-build-system)
3381 (arguments
3382 (list
3383 #:import-path "github.com/aws/aws-sdk-go-v2/service/s3"
3384 #:unpack-path "github.com/aws/aws-sdk-go-v2"))
3385 (propagated-inputs
3386 (list go-github-com-aws-smithy-go))
3387 (home-page "https://github.com/aws/aws-sdk-go-v2")
3388 (synopsis "AWS SDK for Go v2 - S3 service module")
3389 (description
3390 "Package s3 provides the API client, operations, and parameter types for
3391Amazon Simple Storage Service.")
3392 (license license:asl2.0)))
3393
3394(define-public go-github-com-aws-aws-sdk-go-v2-service-secretsmanager
3395 (package
3396 (name "go-github-com-aws-aws-sdk-go-v2-service-secretsmanager")
3397 (version "1.41.1")
3398 (source
3399 (origin
3400 (method git-fetch)
3401 (uri (git-reference
3402 (url "https://github.com/aws/aws-sdk-go-v2")
3403 (commit (go-version->git-ref version
3404 #:subdir "service/secretsmanager"))))
3405 (file-name (git-file-name name version))
3406 (sha256
3407 (base32 "04cv6g96hhmjl6snql6a909grq4yxyjk95a3dzk6mpihvg79q47p"))))
3408 (build-system go-build-system)
3409 (arguments
3410 (list
3411 #:import-path "github.com/aws/aws-sdk-go-v2/service/secretsmanager"
3412 #:unpack-path "github.com/aws/aws-sdk-go-v2"))
3413 (propagated-inputs
3414 (list go-github-com-aws-smithy-go))
3415 (home-page "https://github.com/aws/aws-sdk-go-v2")
3416 (synopsis "AWS Secrets Manager service")
3417 (description
3418 "Package secretsmanager provides the API client, operations, and
3419parameter types for AWS Secrets Manager.")
3420 (license license:asl2.0)))
3421
3422(define-public go-github-com-aws-aws-sdk-go-v2-service-sns
3423 (package
3424 (name "go-github-com-aws-aws-sdk-go-v2-service-sns")
3425 (version "1.39.11")
3426 (source
3427 (origin
3428 (method git-fetch)
3429 (uri (git-reference
3430 (url "https://github.com/aws/aws-sdk-go-v2")
3431 (commit (go-version->git-ref version #:subdir "service/sns"))))
3432 (file-name (git-file-name name version))
3433 (sha256
3434 (base32 "04cv6g96hhmjl6snql6a909grq4yxyjk95a3dzk6mpihvg79q47p"))
3435 (modules '((guix build utils)))
3436 (snippet
3437 #~(begin
3438 (delete-all-but "service" "sns")
3439 (delete-all-but "." "service")))))
3440 (build-system go-build-system)
3441 (arguments
3442 (list
3443 #:import-path "github.com/aws/aws-sdk-go-v2/service/sns"
3444 #:unpack-path "github.com/aws/aws-sdk-go-v2"))
3445 (propagated-inputs
3446 (list go-github-com-aws-aws-sdk-go-v2
3447 go-github-com-aws-aws-sdk-go-v2-internal-configsources
3448 go-github-com-aws-aws-sdk-go-v2-internal-endpoints-v2
3449 go-github-com-aws-smithy-go))
3450 (home-page "https://github.com/aws/aws-sdk-go-v2")
3451 (synopsis "AWS Golang SDK for Simple Notification Service")
3452 (description
3453 "Package sns provides the API client, operations, and parameter types for
3454Amazon Simple Notification Service. ")
3455 (license license:asl2.0)))
3456
3457(define-public go-github-com-aws-aws-sdk-go-v2-service-sqs
3458 (package
3459 (name "go-github-com-aws-aws-sdk-go-v2-service-sqs")
3460 (version "1.42.21")
3461 (source
3462 (origin
3463 (method git-fetch)
3464 (uri (git-reference
3465 (url "https://github.com/aws/aws-sdk-go-v2")
3466 (commit (go-version->git-ref version
3467 #:subdir "service/sqs"))))
3468 (file-name (git-file-name name version))
3469 (sha256
3470 (base32 "04cv6g96hhmjl6snql6a909grq4yxyjk95a3dzk6mpihvg79q47p"))
3471 (modules '((guix build utils)))
3472 (snippet
3473 #~(begin
3474 (delete-all-but "service" "sqs")
3475 (delete-all-but "." "service")))))
3476 (build-system go-build-system)
3477 (arguments
3478 (list
3479 #:import-path "github.com/aws/aws-sdk-go-v2/service/sqs"
3480 #:unpack-path "github.com/aws/aws-sdk-go-v2"))
3481 (propagated-inputs
3482 (list go-github-com-aws-aws-sdk-go-v2-internal-configsources
3483 go-github-com-aws-aws-sdk-go-v2-internal-endpoints-v2
3484 go-github-com-aws-smithy-go))
3485 (home-page "https://github.com/aws/aws-sdk-go-v2")
3486 (synopsis "AWS Golang SDK for Simple Queue Service")
3487 (description
3488 "Package sqs provides the API client, operations, and parameter types for
3489Amazon Simple Queue Service.")
3490 (license license:asl2.0)))
3491
3492(define-public go-github-com-aws-aws-sdk-go-v2-service-ssm
3493 (package
3494 (name "go-github-com-aws-aws-sdk-go-v2-service-ssm")
3495 (version "1.67.5")
3496 (source
3497 (origin
3498 (method git-fetch)
3499 (uri (git-reference
3500 (url "https://github.com/aws/aws-sdk-go-v2")
3501 (commit (go-version->git-ref version
3502 #:subdir "service/ssm"))))
3503 (file-name (git-file-name name version))
3504 (sha256
3505 (base32 "055i6c41zppxhf5kgxky7a8nc1wzsaxd6vbdyv0wqqbg8zbw5fjb"))
3506 (modules '((guix build utils)))
3507 (snippet
3508 #~(begin
3509 (delete-all-but "service" "ssm")
3510 (delete-all-but "." "service")))))
3511 (build-system go-build-system)
3512 (arguments
3513 (list
3514 #:import-path "github.com/aws/aws-sdk-go-v2/service/ssm"
3515 #:unpack-path "github.com/aws/aws-sdk-go-v2"))
3516 (propagated-inputs
3517 (list go-github-com-aws-aws-sdk-go-v2
3518 go-github-com-aws-aws-sdk-go-v2-internal-configsources
3519 go-github-com-aws-aws-sdk-go-v2-internal-endpoints-v2
3520 go-github-com-aws-smithy-go))
3521 (home-page "https://github.com/aws/aws-sdk-go-v2")
3522 (synopsis "AWS Golang SDK for Simple Systems Manager")
3523 (description
3524 "Package ssm provides the API client, operations, and parameter types for
3525Amazon Simple Systems Manager.")
3526 (license license:asl2.0)))
3527
3528(define-public go-github-com-aws-aws-sdk-go-v2-service-sso
3529 (package
3530 (name "go-github-com-aws-aws-sdk-go-v2-service-sso")
3531 (version "1.30.9")
3532 (source
3533 (origin
3534 (method git-fetch)
3535 (uri (git-reference
3536 (url "https://github.com/aws/aws-sdk-go-v2")
3537 (commit (go-version->git-ref version
3538 #:subdir "service/sso"))))
3539 (file-name (git-file-name name version))
3540 (sha256
3541 (base32 "04cv6g96hhmjl6snql6a909grq4yxyjk95a3dzk6mpihvg79q47p"))))
3542 (build-system go-build-system)
3543 (arguments
3544 (list
3545 #:import-path "github.com/aws/aws-sdk-go-v2/service/sso"
3546 #:unpack-path "github.com/aws/aws-sdk-go-v2"))
3547 (propagated-inputs
3548 (list go-github-com-aws-smithy-go))
3549 (home-page "https://github.com/aws/aws-sdk-go-v2")
3550 (synopsis "AWS SDK for Go v2 - SSO service module")
3551 (description
3552 "Package sso provides the API client, operations, and parameter types for
3553AWS Single Sign-On.")
3554 (license license:asl2.0)))
3555
3556(define-public go-github-com-aws-aws-sdk-go-v2-service-ssooidc
3557 (package
3558 (name "go-github-com-aws-aws-sdk-go-v2-service-ssooidc")
3559 (version "1.35.13")
3560 (source
3561 (origin
3562 (method git-fetch)
3563 (uri (git-reference
3564 (url "https://github.com/aws/aws-sdk-go-v2")
3565 (commit (go-version->git-ref version
3566 #:subdir "service/ssooidc"))))
3567 (file-name (git-file-name name version))
3568 (sha256
3569 (base32 "04cv6g96hhmjl6snql6a909grq4yxyjk95a3dzk6mpihvg79q47p"))))
3570 (build-system go-build-system)
3571 (arguments
3572 (list
3573 #:import-path "github.com/aws/aws-sdk-go-v2/service/ssooidc"
3574 #:unpack-path "github.com/aws/aws-sdk-go-v2"))
3575 (propagated-inputs
3576 (list go-github-com-aws-smithy-go))
3577 (home-page "https://github.com/aws/aws-sdk-go-v2")
3578 (synopsis "AWS SDK for Go v2 - SSO OIDC service module")
3579 (description
3580 "Package ssooidc provides the API client, operations, and parameter types
3581for AWS SSO OIDC.")
3582 (license license:asl2.0)))
3583
3584(define-public go-github-com-aws-aws-sdk-go-v2-service-sts
3585 (package
3586 (name "go-github-com-aws-aws-sdk-go-v2-service-sts")
3587 (version "1.41.6")
3588 (source
3589 (origin
3590 (method git-fetch)
3591 (uri (git-reference
3592 (url "https://github.com/aws/aws-sdk-go-v2")
3593 (commit (go-version->git-ref version
3594 #:subdir "service/sts"))))
3595 (file-name (git-file-name name version))
3596 (sha256
3597 (base32 "04cv6g96hhmjl6snql6a909grq4yxyjk95a3dzk6mpihvg79q47p"))))
3598 (build-system go-build-system)
3599 (arguments
3600 (list
3601 #:import-path "github.com/aws/aws-sdk-go-v2/service/sts"
3602 #:unpack-path "github.com/aws/aws-sdk-go-v2"))
3603 (propagated-inputs (list go-github-com-aws-smithy-go))
3604 (home-page "https://github.com/aws/aws-sdk-go-v2")
3605 (synopsis "AWS SDK for Go v2 - STS service module")
3606 (description
3607 "Package sts provides the API client, operations, and parameter types for AWS
3608Security Token Service.")
3609 (license license:asl2.0)))
3610
3611(define-public go-github-com-aws-smithy-go
3612 (package
3613 (name "go-github-com-aws-smithy-go")
3614 (version "1.24.0")
3615 (source
3616 (origin
3617 (method git-fetch)
3618 (uri (git-reference
3619 (url "https://github.com/aws/smithy-go")
3620 (commit (string-append "v" version))))
3621 (file-name (git-file-name name version))
3622 (sha256
3623 (base32 "1agg4krriqxrb6wf20a6rcgvxkiyaxbba2bmilpps97k3bcwrdld"))
3624 (modules '((guix build utils)))
3625 (snippet
3626 #~(begin
3627 ;; Submodules with their own go.mod files and packaged separately:
3628 ;;
3629 ;; - github.com/aws/smithy-go/aws-http-auth
3630 ;; - github.com/aws/smithy-go/codegen
3631 ;; - github.com/aws/smithy-go/metrics/smithyotelmetrics
3632 ;; - github.com/aws/smithy-go/tracing/smithyoteltracing
3633 (for-each delete-file-recursively
3634 (list "aws-http-auth"
3635 "codegen"
3636 "metrics/smithyotelmetrics"
3637 "tracing/smithyoteltracing"))))))
3638 (build-system go-build-system)
3639 (arguments
3640 (list
3641 #:import-path "github.com/aws/smithy-go"))
3642 (home-page "https://github.com/aws/smithy-go")
3643 (synopsis "Smithy code generators for Go")
3644 (description
3645 "Package smithy provides the core components for a Smithy SDK.")
3646 (license license:asl2.0)))
3647
3648(define-public go-github-com-aws-smithy-go-aws-http-auth
3649 (package
3650 (name "go-github-com-aws-smithy-go-aws-http-auth")
3651 (version "1.0.0")
3652 (source
3653 (origin
3654 (method git-fetch)
3655 (uri (git-reference
3656 (url "https://github.com/aws/smithy-go")
3657 (commit (go-version->git-ref version
3658 #:subdir "aws-http-auth"))))
3659 (file-name (git-file-name name version))
3660 (sha256
3661 (base32 "1iy9rlcj6qwy58rrddbvqy38lzw9d7y1i2d3mvf3f3z4i6rkwvd4"))))
3662 (build-system go-build-system)
3663 (arguments
3664 (list
3665 #:skip-build? #t
3666 #:import-path "github.com/aws/smithy-go/aws-http-auth"
3667 #:unpack-path "github.com/aws/smithy-go"
3668 ;; panic: runtime error: invalid memory address or nil pointer
3669 ;; dereference
3670 #:test-flags #~(list "-skip" "TestSignRequest_SignStringError")))
3671 (home-page "https://github.com/aws/smithy-go")
3672 (synopsis "Consumable SigV4 and SigV4a request signing")
3673 (description
3674 "This package implements generically consumable SigV4 and SigV4a request
3675signing.")
3676 (license license:asl2.0)))
3677
3678(define-public go-github-com-aws-smithy-go-codegen
3679 (package
3680 (name "go-github-com-aws-smithy-go-codegen")
3681 (version "0.0.0-20241226171254-10fbeed6f845")
3682 (source
3683 (origin
3684 (method git-fetch)
3685 (uri (git-reference
3686 (url "https://github.com/aws/smithy-go")
3687 (commit (go-version->git-ref version
3688 #:subdir "codegen"))))
3689 (file-name (git-file-name name version))
3690 (sha256
3691 (base32 "16jbv7cyj85048f4kcrib8k2yif165sc099h0aklal5dwlf85xcg"))))
3692 (build-system go-build-system)
3693 (arguments
3694 (list
3695 #:skip-build? #t
3696 #:import-path "github.com/aws/smithy-go/codegen"
3697 #:unpack-path "github.com/aws/smithy-go"))
3698 (home-page "https://github.com/aws/smithy-go")
3699 (synopsis "Smithy code generators for Golang")
3700 (description
3701 "This package provides Gradle templates for Smithy code generators.")
3702 (license license:asl2.0)))
3703
3704(define-public go-github-com-aws-smithy-go-metrics-smithyotelmetrics
3705 (package
3706 (name "go-github-com-aws-smithy-go-metrics-smithyotelmetrics")
3707 (version "1.0.15")
3708 (source
3709 (origin
3710 (method git-fetch)
3711 (uri (git-reference
3712 (url "https://github.com/aws/smithy-go")
3713 (commit (go-version->git-ref version
3714 #:subdir "metrics/smithyotelmetrics"))))
3715 (file-name (git-file-name name version))
3716 (sha256
3717 (base32 "15f2j863rb9cp4927sn48gsccnn6cm6cn8zjc8mycas4fw07lswr"))
3718 (modules '((guix build utils)))
3719 (snippet
3720 #~(begin
3721 (delete-all-but "metrics" "smithyotelmetrics")
3722 (delete-all-but "." "metrics")))))
3723 (build-system go-build-system)
3724 (arguments
3725 (list
3726 #:import-path "github.com/aws/smithy-go/metrics/smithyotelmetrics"
3727 #:unpack-path "github.com/aws/smithy-go"))
3728 (propagated-inputs
3729 (list go-github-com-aws-smithy-go
3730 go-go-opentelemetry-io-otel
3731 go-go-opentelemetry-io-otel-metric))
3732 (home-page "https://github.com/aws/smithy-go")
3733 (synopsis "AWS Smithy OTEL metrics adapter")
3734 (description
3735 "Package smithyotelmetrics implements a Smithy client metrics adapter for
3736the OTEL Go SDK.")
3737 (license license:asl2.0)))
3738
3739(define-public go-github-com-aws-smithy-go-tracing-smithyoteltracing
3740 (package
3741 (name "go-github-com-aws-smithy-go-tracing-smithyoteltracing")
3742 (version "1.0.2")
3743 (source
3744 (origin
3745 (method git-fetch)
3746 (uri (git-reference
3747 (url "https://github.com/aws/smithy-go")
3748 (commit (go-version->git-ref version
3749 #:subdir "tracing/smithyoteltracing"))))
3750 (file-name (git-file-name name version))
3751 (sha256
3752 (base32 "16jbv7cyj85048f4kcrib8k2yif165sc099h0aklal5dwlf85xcg"))))
3753 (build-system go-build-system)
3754 (arguments
3755 (list
3756 #:import-path "github.com/aws/smithy-go/tracing/smithyoteltracing"
3757 #:unpack-path "github.com/aws/smithy-go"))
3758 (propagated-inputs
3759 (list go-go-opentelemetry-io-otel))
3760 (home-page "https://github.com/aws/smithy-go")
3761 (synopsis "AWS Smithy OTEL tracing adapter")
3762 (description
3763 "Package smithyoteltracing implements a Smithy client tracing adapter for
3764the OTEL Go SDK.")
3765 (license license:asl2.0)))
3766
3767(define-public go-github-com-aymerick-douceur
3768 (package
3769 (name "go-github-com-aymerick-douceur")
3770 (version "0.2.0")
3771 (source
3772 (origin
3773 (method git-fetch)
3774 (uri (git-reference
3775 (url "https://github.com/aymerick/douceur/")
3776 (commit (string-append "v" version))))
3777 (file-name (git-file-name name version))
3778 (sha256
3779 (base32 "1hfysznib0fqbp8vqxpk0xiggpp0ayk2bsddi36vbg6f8zq5f81n"))))
3780 (build-system go-build-system)
3781 (arguments
3782 `(#:import-path "github.com/aymerick/douceur"))
3783 (native-inputs
3784 (list go-github-com-andybalholm-cascadia
3785 go-github-com-gorilla-css
3786 go-github-com-puerkitobio-goquery
3787 go-golang-org-x-net))
3788 (home-page "https://github.com/aymerick/douceur/")
3789 (synopsis "CSS parser and inliner")
3790 (description "This package provides a CSS parser and inliner.")
3791 (license license:expat)))
3792
3793(define-public go-github-com-aymerick-raymond
3794 (package
3795 (name "go-github-com-aymerick-raymond")
3796 (version "2.0.2")
3797 (source
3798 (origin
3799 (method git-fetch)
3800 (uri (git-reference
3801 (url "https://github.com/aymerick/raymond")
3802 (commit (string-append "v" version))))
3803 (file-name (git-file-name name version))
3804 (sha256
3805 (base32 "0s5nxzx87a12hcdzhliy1j8albfx2jqddaks4m86yfrcawm6vndn"))))
3806 (build-system go-build-system)
3807 (arguments
3808 (list
3809 #:import-path "github.com/aymerick/raymond"
3810 #:phases
3811 #~(modify-phases %standard-phases
3812 ;; Replace vendored mustache version with the one from 'inputs'.
3813 (add-before 'check 'supply-mustache
3814 (lambda* (#:key inputs import-path #:allow-other-keys)
3815 (let ((mustache (string-append "src/" import-path "/mustache")))
3816 (delete-file-recursively mustache)
3817 (copy-recursively #$(this-package-input "mustache-specs")
3818 mustache)))))))
3819 (inputs `(("mustache-specs" ,(origin
3820 (method git-fetch)
3821 (uri (git-reference (url
3822 "https://github.com/mustache/spec")
3823 (commit
3824 "83b0721610a4e11832e83df19c73ace3289972b9")))
3825 (sha256 (base32
3826 "1g2f6hi04vkxrk53ixzm7yvkg5v8m00dh9nrkh9lxnx8aw824y80"))))))
3827 (propagated-inputs (list go-gopkg-in-yaml-v2))
3828 (home-page "https://github.com/aymerick/raymond")
3829 (synopsis "Handlebars for Golang")
3830 (description
3831 "This package provides a minimal templating engine for Golang.")
3832 (license license:expat)))
3833
3834(define-public go-github-com-azure-azure-pipeline-go
3835 (package
3836 (name "go-github-com-azure-azure-pipeline-go")
3837 (version "0.2.3")
3838 (source
3839 (origin
3840 (method git-fetch)
3841 (uri (git-reference
3842 (url "https://github.com/Azure/azure-pipeline-go")
3843 (commit (string-append "v" version))))
3844 (file-name (git-file-name name version))
3845 (sha256
3846 (base32 "154qwr7v1q2wjp263jhkvrygi728q568zc930h3fxp75v32laqwb"))))
3847 (build-system go-build-system)
3848 (arguments
3849 (list
3850 #:skip-build? #t
3851 #:import-path "github.com/Azure/azure-pipeline-go"))
3852 (propagated-inputs
3853 (list go-github-com-mattn-go-ieproxy
3854 go-github-com-pkg-errors))
3855 (home-page "https://github.com/Azure/azure-pipeline-go")
3856 (synopsis "HTTP request/response middleware pipeline for Go")
3857 (description
3858 "Package pipeline implements an HTTP request/response middleware pipeline
3859whose policy objects mutate an HTTP request's URL, query parameters, and/or
3860headers before the request is sent over the wire.")
3861 (license license:expat)))
3862
3863(define-public go-github-com-azure-azure-sdk-for-go-sdk-azcore
3864 (package
3865 (name "go-github-com-azure-azure-sdk-for-go-sdk-azcore")
3866 (version "1.20.0")
3867 (source
3868 (origin
3869 (method git-fetch)
3870 (uri (git-reference
3871 (url "https://github.com/Azure/azure-sdk-for-go")
3872 (commit (go-version->git-ref version
3873 #:subdir "sdk/azcore"))))
3874 (file-name (git-file-name name version))
3875 (sha256
3876 (base32 "1qbcm8mqg2qvikv129s832qqvpydipv71825s4dkyjmzar5g04vf"))
3877 (modules '((guix build utils)))
3878 (snippet #~(begin
3879 (delete-all-but "sdk" "azcore")
3880 (delete-all-but "." "sdk")))))
3881 (build-system go-build-system)
3882 (arguments
3883 (list
3884 #:import-path "github.com/Azure/azure-sdk-for-go/sdk/azcore"
3885 #:unpack-path "github.com/Azure/azure-sdk-for-go"))
3886 (native-inputs
3887 (list go-github-com-stretchr-testify))
3888 (propagated-inputs
3889 (list go-github-com-azure-azure-sdk-for-go-sdk-internal
3890 go-golang-org-x-net))
3891 (home-page "https://github.com/Azure/azure-sdk-for-go")
3892 (synopsis "Azure Core Client Module for Go")
3893 (description
3894 "This package implements an HTTP request/response middleware pipeline used by
3895Azure SDK clients.")
3896 (license license:expat)))
3897
3898(define-public go-github-com-azure-azure-sdk-for-go-sdk-azidentity
3899 (package
3900 (name "go-github-com-azure-azure-sdk-for-go-sdk-azidentity")
3901 (version "1.13.1")
3902 (source
3903 (origin
3904 (method git-fetch)
3905 (uri (git-reference
3906 (url "https://github.com/Azure/azure-sdk-for-go")
3907 (commit (go-version->git-ref version
3908 #:subdir "sdk/azidentity"))))
3909 (file-name (git-file-name name version))
3910 (sha256
3911 (base32 "18s9h2fcbcw39idfyjglm7vyyp04bgl0x0wj4vcd8q6a46b8rbh6"))
3912 (modules '((guix build utils)))
3913 (snippet #~(begin
3914 (delete-all-but "sdk" "azidentity")
3915 (delete-all-but "." "sdk")))))
3916 (build-system go-build-system)
3917 (arguments
3918 (list
3919 #:tests? #f ;TODO: Tests require additional dependencies
3920 #:import-path "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
3921 #:unpack-path "github.com/Azure/azure-sdk-for-go"))
3922 (propagated-inputs
3923 (list go-golang-org-x-crypto
3924 go-github-com-google-uuid
3925 go-github-com-golang-jwt-jwt-v5
3926 go-github-com-azuread-microsoft-authentication-library-for-go
3927 go-github-com-azure-azure-sdk-for-go-sdk-internal
3928 ;; go-github-com-azure-azure-sdk-for-go-sdk-azidentity-cache
3929 go-github-com-azure-azure-sdk-for-go-sdk-azcore))
3930 (home-page "https://github.com/Azure/azure-sdk-for-go")
3931 (synopsis "Azure Identity Client Module for Go")
3932 (description
3933 "The Azure Identity module provides
3934@url{https://learn.microsoft.com/entra/fundamentals/whatis,Microsoft Entra ID}
3935token-based authentication support across the Azure SDK. It includes a set of
3936@code{TokenCredential} implementations, which can be used with Azure SDK
3937clients supporting token authentication.")
3938 (license license:expat)))
3939
3940(define-public go-github-com-azure-azure-sdk-for-go-sdk-internal
3941 (package
3942 (name "go-github-com-azure-azure-sdk-for-go-sdk-internal")
3943 (version "1.11.2")
3944 (source
3945 (origin
3946 (method git-fetch)
3947 (uri (git-reference
3948 (url "https://github.com/Azure/azure-sdk-for-go")
3949 (commit (go-version->git-ref version
3950 #:subdir "sdk/internal"))))
3951 (file-name (git-file-name name version))
3952 (sha256
3953 (base32 "0q0cbmh4vn2x1bi7bax2q6wpqndcyw7649w8lzl384k3rbn1q8yn"))
3954 (modules '((guix build utils)))
3955 (snippet #~(begin
3956 (delete-all-but "sdk" "internal")
3957 (delete-all-but "." "sdk")))))
3958 (build-system go-build-system)
3959 (arguments
3960 (list
3961 #:tests? #f ;Tests require circular dependencies
3962 #:import-path "github.com/Azure/azure-sdk-for-go/sdk/internal"
3963 #:unpack-path "github.com/Azure/azure-sdk-for-go"))
3964 (propagated-inputs
3965 (list go-golang-org-x-text
3966 go-golang-org-x-net
3967 go-github-com-stretchr-testify))
3968 (home-page "https://github.com/Azure/azure-sdk-for-go")
3969 (synopsis "Azure.Core Internal Module for Go")
3970 (description "This package contains content for Azure SDK developers.")
3971 (license license:expat)))
3972
3973(define-public go-github-com-azure-azure-sdk-for-go-sdk-security-keyvault-azkeys
3974 (package
3975 (name "go-github-com-azure-azure-sdk-for-go-sdk-security-keyvault-azkeys")
3976 (version "1.4.0")
3977 (source
3978 (origin
3979 (method git-fetch)
3980 (uri (git-reference
3981 (url "https://github.com/Azure/azure-sdk-for-go")
3982 (commit (go-version->git-ref version
3983 #:subdir "sdk/security/keyvault/azkeys"))))
3984 (file-name (git-file-name name version))
3985 (sha256
3986 (base32 "0jxpzd6sg6fp2mim3sr7gg9y0lvlngf23mmij388ywz4zfvpcqhq"))
3987 (modules '((guix build utils)))
3988 (snippet #~(begin
3989 (delete-all-but "sdk/security/keyvault" "azkeys")
3990 (delete-all-but "sdk/security" "keyvault")
3991 (delete-all-but "sdk" "security")
3992 (delete-all-but "." "sdk")))))
3993 (build-system go-build-system)
3994 (arguments
3995 (list
3996 ;; FIXME: tests depend on network, see:
3997 ;; sdk/security/keyvault/azkeys/utils_test.go
3998 #:tests? #f
3999 #:import-path "github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys"
4000 #:unpack-path "github.com/Azure/azure-sdk-for-go"))
4001 (native-inputs
4002 (list go-github-com-stretchr-testify))
4003 (propagated-inputs
4004 (list go-github-com-azure-azure-sdk-for-go-sdk-azcore
4005 go-github-com-azure-azure-sdk-for-go-sdk-azidentity
4006 go-github-com-azure-azure-sdk-for-go-sdk-internal
4007 go-github-com-azure-azure-sdk-for-go-sdk-security-keyvault-internal))
4008 (home-page "https://github.com/Azure/azure-sdk-for-go")
4009 (synopsis "Azure Key Vault Keys client module for Go")
4010 (description
4011 "This package provies a library to create, store, and control access to the
4012keys used to encrypt your data.")
4013 (license license:expat)))
4014
4015(define-public go-github-com-azure-azure-sdk-for-go-sdk-security-keyvault-azsecrets
4016 (package
4017 (name
4018 "go-github-com-azure-azure-sdk-for-go-sdk-security-keyvault-azsecrets")
4019 (version "1.5.0")
4020 (source
4021 (origin
4022 (method git-fetch)
4023 (uri (git-reference
4024 (url "https://github.com/Azure/azure-sdk-for-go")
4025 (commit (go-version->git-ref version
4026 #:subdir
4027 "sdk/security/keyvault/azsecrets"))))
4028 (file-name (git-file-name name version))
4029 (sha256
4030 (base32 "0bhbaiipqrbcabkgn76jzjvkp7qy2fxi6pqbvi9imdg1dnav9pbi"))
4031 (modules '((guix build utils)))
4032 (snippet #~(begin
4033 (delete-all-but "sdk/security/keyvault" "azsecrets")
4034 (delete-all-but "sdk/security" "keyvault")
4035 (delete-all-but "sdk" "security")
4036 (delete-all-but "." "sdk")))))
4037 (build-system go-build-system)
4038 (arguments
4039 (list
4040 #:tests? #f ;they depend on git metadata
4041 #:import-path
4042 "github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azsecrets"
4043 #:unpack-path "github.com/Azure/azure-sdk-for-go"))
4044 (propagated-inputs
4045 (list go-github-com-azure-azure-sdk-for-go-sdk-azcore
4046 go-github-com-azure-azure-sdk-for-go-sdk-azidentity
4047 go-github-com-azure-azure-sdk-for-go-sdk-internal
4048 go-github-com-azure-azure-sdk-for-go-sdk-security-keyvault-internal))
4049 (home-page "https://github.com/Azure/azure-sdk-for-go")
4050 (synopsis "Azure Key Vault Secrets client module for Go")
4051 (description
4052 "This package provides an Azure Key Vault Secrets client module for Go.")
4053 (license license:expat)))
4054
4055(define-public go-github-com-azure-azure-sdk-for-go-sdk-security-keyvault-internal
4056 (package
4057 (name "go-github-com-azure-azure-sdk-for-go-sdk-security-keyvault-internal")
4058 (version "1.2.0")
4059 (source
4060 (origin
4061 (method git-fetch)
4062 (uri (git-reference
4063 (url "https://github.com/Azure/azure-sdk-for-go")
4064 (commit (go-version->git-ref version
4065 #:subdir "sdk/security/keyvault/internal"))))
4066 (file-name (git-file-name name version))
4067 (sha256
4068 (base32 "16xb2gyl48xcc1xc58l8c8qhraxsmar7655348ggi4r2jzyc6sik"))
4069 (modules '((guix build utils)))
4070 (snippet #~(begin
4071 (delete-all-but "sdk/security/keyvault" "internal")
4072 (delete-all-but "sdk/security" "keyvault")
4073 (delete-all-but "sdk" "security")
4074 (delete-all-but "." "sdk")))))
4075 (build-system go-build-system)
4076 (arguments
4077 (list
4078 #:import-path "github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal"
4079 #:unpack-path "github.com/Azure/azure-sdk-for-go"))
4080 (native-inputs
4081 (list go-github-com-stretchr-testify))
4082 (propagated-inputs
4083 (list go-github-com-azure-azure-sdk-for-go-sdk-azcore
4084 go-github-com-azure-azure-sdk-for-go-sdk-internal))
4085 (home-page "https://github.com/Azure/azure-sdk-for-go")
4086 (synopsis "Key Vault Internal Module for Go")
4087 (description
4088 "This module contains shared code for all the Key Vault SDKs, mainly the
4089challenge authentication policy.")
4090 (license license:expat)))
4091
4092(define-public go-github-com-azure-azure-sdk-for-go-sdk-storage-azblob
4093 (package
4094 (name "go-github-com-azure-azure-sdk-for-go-sdk-storage-azblob")
4095 (version "1.6.3")
4096 (source
4097 (origin
4098 (method git-fetch)
4099 (uri (git-reference
4100 (url "https://github.com/Azure/azure-sdk-for-go")
4101 (commit (go-version->git-ref version
4102 #:subdir "sdk/storage/azblob"))))
4103 (file-name (git-file-name name version))
4104 (sha256
4105 (base32 "08a8kx4n31pa4krrxs1hrcwygryh86nz98fyr9hvw67202zr3adw"))
4106 (modules '((guix build utils)))
4107 (snippet #~(begin
4108 (delete-all-but "sdk/storage" "azblob")
4109 (delete-all-but "sdk" "storage")
4110 (delete-all-but "." "sdk")))))
4111 (build-system go-build-system)
4112 (arguments
4113 (list
4114 #:tests? #f ;TODO: Tests require additional dependencies
4115 #:import-path "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
4116 #:unpack-path "github.com/Azure/azure-sdk-for-go"))
4117 (propagated-inputs
4118 (list go-github-com-stretchr-testify
4119 ;; go-github-com-azure-azure-sdk-for-go-sdk-resourcemanager-storage-armstorage
4120 go-github-com-azure-azure-sdk-for-go-sdk-internal
4121 go-github-com-azure-azure-sdk-for-go-sdk-azidentity
4122 go-github-com-azure-azure-sdk-for-go-sdk-azcore))
4123 (home-page "https://github.com/Azure/azure-sdk-for-go")
4124 (synopsis "Azure Blob Storage module for Go")
4125 (description
4126 "Azure Blob Storage is Microsoft's object storage solution for the cloud. Blob
4127Storage is optimized for storing massive amounts of unstructured data - data
4128that does not adhere to a particular data model or definition, such as text or
4129binary data. For more information, see
4130@url{https://learn.microsoft.com/azure/storage/blobs/storage-blobs-introduction,Introduction
4131to Azure Blob Storage}.")
4132 (license license:expat)))
4133
4134(define-public go-github-com-azure-azure-sdk-for-go-sdk-storage-azfile
4135 (package
4136 (name "go-github-com-azure-azure-sdk-for-go-sdk-storage-azfile")
4137 (version "1.5.3")
4138 (source
4139 (origin
4140 (method git-fetch)
4141 (uri (git-reference
4142 (url "https://github.com/Azure/azure-sdk-for-go")
4143 (commit (go-version->git-ref version
4144 #:subdir "sdk/storage/azfile"))))
4145 (file-name (git-file-name name version))
4146 (sha256
4147 (base32 "08a8kx4n31pa4krrxs1hrcwygryh86nz98fyr9hvw67202zr3adw"))
4148 (modules '((guix build utils)))
4149 (snippet #~(begin
4150 (delete-all-but "sdk/storage" "azfile")
4151 (delete-all-but "sdk" "storage")
4152 (delete-all-but "." "sdk")))))
4153 (build-system go-build-system)
4154 (arguments
4155 (list
4156 #:tests? #f ;Tests need git root
4157 #:import-path "github.com/Azure/azure-sdk-for-go/sdk/storage/azfile"
4158 #:unpack-path "github.com/Azure/azure-sdk-for-go"))
4159 (native-inputs
4160 (list go-github-com-stretchr-testify))
4161 (propagated-inputs
4162 (list go-github-com-azure-azure-sdk-for-go-sdk-storage-azblob
4163 go-github-com-azure-azure-sdk-for-go-sdk-internal
4164 go-github-com-azure-azure-sdk-for-go-sdk-azidentity
4165 go-github-com-azure-azure-sdk-for-go-sdk-azcore))
4166 (home-page "https://github.com/Azure/azure-sdk-for-go")
4167 (synopsis "Azure File Storage SDK for Go")
4168 (description
4169 "Azure File Shares offers fully managed file shares in the cloud that are
4170accessible via the industry standard
4171@url{https://learn.microsoft.com/windows/desktop/FileIO/microsoft-smb-protocol-and-cifs-protocol-overview,
4172Server Message Block (SMB) protocol}. Azure file shares can be mounted
4173concurrently by cloud or on-premises deployments of Windows, Linux, and
4174@code{macOS}. Additionally, Azure file shares can be cached on Windows
4175Servers with Azure File Sync for fast access near where the data is being
4176used.")
4177 (license license:expat)))
4178
4179(define-public go-github-com-azure-azure-storage-blob-go
4180 (package
4181 (name "go-github-com-azure-azure-storage-blob-go")
4182 (version "0.0.0-20180706173141-f0a732ea9441")
4183 (source
4184 (origin
4185 (method git-fetch)
4186 (uri (git-reference
4187 (url "https://github.com/Azure/azure-storage-blob-go")
4188 (commit (go-version->git-ref version))))
4189 (file-name (git-file-name name version))
4190 (sha256
4191 (base32 "1y3ql7208a2h2pf3zrd2qrqpyjda2mpf78cw9jyvi33211cqcdky"))))
4192 (build-system go-build-system)
4193 (arguments
4194 (list
4195 #:skip-build? #t
4196 #:tests? #f
4197 #:import-path "github.com/Azure/azure-storage-blob-go"))
4198 (native-inputs
4199 (list go-gopkg-in-check-v1))
4200 (propagated-inputs
4201 (list go-github-com-google-uuid
4202 go-github-com-azure-azure-pipeline-go
4203
4204 ;; TODO: Complete packaging.
4205 #;go-github-com-azure-go-autorest-autorest-adal))
4206 (home-page "https://github.com/Azure/azure-storage-blob-go")
4207 (synopsis "Microsoft Azure Blob Storage Library for Go")
4208 (description
4209 "The Microsoft Azure Storage SDK for Go to build applications that takes
4210advantage of Azure's scalable cloud storage.")
4211 (license license:expat)))
4212
4213(define-public go-github-com-azure-go-ntlmssp
4214 (package
4215 (name "go-github-com-azure-go-ntlmssp")
4216 (version "0.1.1")
4217 (source
4218 (origin
4219 (method git-fetch)
4220 (uri (git-reference
4221 (url "https://github.com/Azure/go-ntlmssp")
4222 (commit (string-append "v" version))))
4223 (file-name (git-file-name name version))
4224 (sha256
4225 (base32 "04anxb3aqja8qfsnksf7yg4lydjdils57vhmgpfpxsh60ljxwpx4"))))
4226 (build-system go-build-system)
4227 (arguments
4228 (list
4229 #:import-path "github.com/Azure/go-ntlmssp"))
4230 (home-page "https://github.com/Azure/go-ntlmssp")
4231 (synopsis "NTLM negotiation in Go")
4232 (description
4233 "This package provides @acronym{NT (New Technology) LAN Manager,
4234NTLM}/Negotiate authentication over HTTP.")
4235 (license license:expat)))
4236
4237(define-public go-github-com-azuread-microsoft-authentication-library-for-go
4238 (package
4239 (name "go-github-com-azuread-microsoft-authentication-library-for-go")
4240 (version "1.6.0")
4241 (source
4242 (origin
4243 (method git-fetch)
4244 (uri (git-reference
4245 (url
4246 "https://github.com/AzureAD/microsoft-authentication-library-for-go")
4247 (commit (string-append "v" version))))
4248 (file-name (git-file-name name version))
4249 (sha256
4250 (base32 "0pg166ww69ls2nwgj6wgnx31wzg0dcziydi8j2sbja8cyby7ikfq"))))
4251 (build-system go-build-system)
4252 (arguments
4253 (list
4254 ;; These tests require network/certs
4255 #:test-flags
4256 #~(list "-skip"
4257 (string-join '("TestFMIBasicFunctionality" "TestFMIIntegration"
4258 "TestUsernamePassword"
4259 "TestRemoveAccount"
4260 "TestAcquireMSITokenExchangeForESTSToken"
4261 "TestAdfsToken"
4262 "TestAccountFromCache"
4263 "TestOnBehalfOfCacheTests") "|"))
4264 #:skip-build? #t
4265 #:import-path
4266 "github.com/AzureAD/microsoft-authentication-library-for-go"))
4267 (propagated-inputs
4268 (list go-github-com-golang-jwt-jwt-v5
4269 go-github-com-google-uuid
4270 go-github-com-kylelemons-godebug
4271 go-github-com-montanaflynn-stats
4272 go-github-com-pkg-browser))
4273 (home-page "https://github.com/AzureAD/microsoft-authentication-library-for-go")
4274 (synopsis "Microsoft Authentication Library (MSAL) for Go")
4275 (description
4276 "The Microsoft Authentication Library (MSAL) for Go is part of the
4277@url{https://aka.ms/aaddevv2,Microsoft identity platform for developers}
4278(formerly named Azure AD) v2.0. It allows you to sign in users or apps with
4279Microsoft identities
4280(@url{https://azure.microsoft.com/services/active-directory/, Azure AD} and
4281@url{https://account.microsoft.com, Microsoft Accounts}) and obtain tokens to
4282call Microsoft APIs such as @url{https://graph.microsoft.io/, Microsoft Graph}
4283or your own APIs registered with the Microsoft identity platform. It is built
4284using industry standard OAuth2 and @code{OpenID} Connect protocols.")
4285 (license license:expat)))
4286
4287(define-public go-github-com-babolivier-go-doh-client
4288 (package
4289 (name "go-github-com-babolivier-go-doh-client")
4290 (version "0.0.0-20201028162107-a76cff4cb8b6")
4291 (source
4292 (origin
4293 (method git-fetch)
4294 (uri (git-reference
4295 (url "https://github.com/babolivier/go-doh-client")
4296 (commit (go-version->git-ref version))))
4297 (file-name (git-file-name name version))
4298 (sha256
4299 (base32 "0ca72jz5d5wf5hkcjiwrjvh4fp9p0nqhgwyx9p3vq9sdrx524d21"))))
4300 (build-system go-build-system)
4301 (arguments
4302 (list
4303 #:import-path "github.com/babolivier/go-doh-client"))
4304 (home-page "https://github.com/babolivier/go-doh-client")
4305 (synopsis "DNS over HTTPS client implementation written in Golang")
4306 (description
4307 "Package doh implements client operations for @code{DoH} (DNS over HTTPS)
4308lookups. It implements looking up the following records:
4309@itemize
4310@item A
4311@item AAAA
4312@item CNAME
4313@item MX
4314@item NS
4315@item TXT
4316@item SRV
4317@item SOA
4318@item PTR
4319@end itemize")
4320 (license license:gpl3)))
4321
4322(define-public go-github-com-backblaze-blazer
4323 (package
4324 (name "go-github-com-backblaze-blazer")
4325 (version "0.7.2")
4326 (source
4327 (origin
4328 (method git-fetch)
4329 (uri (git-reference
4330 (url "https://github.com/Backblaze/blazer")
4331 (commit (string-append "v" version))))
4332 (file-name (git-file-name name version))
4333 (sha256
4334 (base32 "1lg6dqqsjfwygnn9yr9qs6d2r0x6i5cn087b76x0qk8ndva9f131"))
4335 (modules '((guix build utils)))
4336 (snippet
4337 #~(begin
4338 ;; Submodules with their own go.mod files and packaged separately:
4339 ;;
4340 ;; - github.com/Backblaze/blazer/bin/b2keys
4341 (delete-file-recursively "bin")))))
4342 (build-system go-build-system)
4343 (arguments
4344 (list
4345 #:skip-build? #t
4346 #:import-path "github.com/Backblaze/blazer"))
4347 (home-page "https://github.com/Backblaze/blazer")
4348 (synopsis "Golang client library for Backblaze B2 Cloud Object Storage")
4349 (description
4350 "Blazer is a Go client library for
4351@url{https://www.backblaze.com/cloud-storage, Backblaze B2 Cloud Object
4352Storage}.")
4353 (license license:asl2.0)))
4354
4355(define-public go-github-com-bartventer-httpcache
4356 (package
4357 (name "go-github-com-bartventer-httpcache")
4358 (version "0.14.0")
4359 (source
4360 (origin
4361 (method git-fetch)
4362 (uri (git-reference
4363 (url "https://github.com/bartventer/httpcache")
4364 (commit (string-append "v" version))))
4365 (file-name (git-file-name name version))
4366 (sha256
4367 (base32 "1rywzvh9b5s8g6rzss9yc59dz90f54568fnyf64cfrs1xp9xg5c8"))))
4368 (build-system go-build-system)
4369 (arguments
4370 (list
4371 #:import-path "github.com/bartventer/httpcache"
4372 #:test-flags
4373 #~(list "-skip" (string-join
4374 ;; Network access is required.
4375 (list "Test_storeService_OpenError"
4376 "Test_storeService_handlers"
4377 "Test_transport_CacheHit_MustRevalidate_Stale"
4378 "Test_transport_CacheHit_NoCacheUnqualified")
4379 "|"))
4380 #:phases
4381 #~(modify-phases %standard-phases
4382 (add-before 'check 'set-home
4383 (lambda _
4384 (setenv "HOME" "/tmp"))))))
4385 (home-page "https://github.com/bartventer/httpcache")
4386 (synopsis "Standards-compliant HTTP caching transport for Go clients")
4387 (description
4388 "Package httpcache provides an implementation of @code{http.RoundTripper}
4389that adds transparent HTTP response caching according to
4390@url{https://rfc-editor.org/rfc/rfc9111.html, RFC 9111} (HTTP Caching).")
4391 (license license:asl2.0)))
4392
4393(define-public go-github-com-beeper-argo-go
4394 (package
4395 (name "go-github-com-beeper-argo-go")
4396 (version "1.1.2")
4397 (source
4398 (origin
4399 (method git-fetch)
4400 (uri (git-reference
4401 (url "https://github.com/beeper/argo-go")
4402 (commit (string-append "v" version))))
4403 (file-name (git-file-name name version))
4404 (sha256
4405 (base32 "1c11aqbap9yxpnc8bvzjiy5cg53brhc47hw2q24xjvbw5d90r2ff"))))
4406 (build-system go-build-system)
4407 (arguments
4408 (list
4409 #:import-path "github.com/beeper/argo-go"
4410 #:embed-files #~(list "prelude.graphql")
4411 #:test-flags
4412 #~(list "-vet=off"
4413 "-skip" (string-join
4414 ;; These test groups fail with panic by similar error:
4415 ;; UnsignedDecode failed for 10000000000000000000000:
4416 ;; varint: varint too large for 64-bit. Encoded:
4417 ;; 80808092abb7b2f099bc08.
4418 (list "TestUnsignedRoundTrip"
4419 "TestQueriesEquivalence"
4420 "TestStarWarsEquivalence"
4421 "TestZigZagRoundTrip"
4422 ;; UnsignedDecode error mismatch for too long
4423 ;; varint.
4424 "TestUnsignedDecodeTooLong")
4425 "|"))))
4426 (native-inputs
4427 (list go-github-com-stretchr-testify))
4428 (propagated-inputs
4429 (list go-github-com-elliotchance-orderedmap-v3
4430 go-github-com-vektah-gqlparser-v2))
4431 (home-page "https://github.com/beeper/argo-go")
4432 (synopsis "Go implementation of Argo for GraphQL")
4433 (description
4434 "Go implementation of Argo, a compact and compressible binary
4435serialization format for GraphQL.")
4436 (license license:expat)))
4437
4438(define-public go-github-com-beevik-ntp
4439 (package
4440 (name "go-github-com-beevik-ntp")
4441 (version "1.4.3")
4442 (source
4443 (origin
4444 (method git-fetch)
4445 (uri (git-reference
4446 (url "https://github.com/beevik/ntp")
4447 (commit (string-append "v" version))))
4448 (file-name (git-file-name name version))
4449 (sha256
4450 (base32 "0n2mr4nnbsv5f0w3hkk3kmyn3wd2xqi5zxgcm8s50fdizk0nqmi9"))))
4451 (build-system go-build-system)
4452 (arguments
4453 (list
4454 #:import-path "github.com/beevik/ntp"
4455 ;; Tests require access to <0.beevik-ntp.pool.ntp.org:53>.
4456 #:test-flags #~(list "-skip" "TestOnlineQuery|TestOnlineTime")))
4457 (native-inputs
4458 (list go-github-com-stretchr-testify))
4459 (propagated-inputs
4460 (list go-golang-org-x-net))
4461 (home-page "https://github.com/beevik/ntp")
4462 (synopsis "NTP client package for Golang")
4463 (description
4464 "Package ntp provides an implementation of a Simple NTP (SNTP) client
4465capable of querying the current time from a remote NTP server as specified in
4466@url{https://rfc-editor.org/rfc/rfc5905.html, RFC 5905}.")
4467 (license license:bsd-2)))
4468
4469(define-public go-github-com-bep-golibsass
4470 (package
4471 (name "go-github-com-bep-golibsass")
4472 (version "1.2.0")
4473 (source
4474 (origin
4475 (method git-fetch)
4476 (uri (git-reference
4477 (url "https://github.com/bep/golibsass")
4478 (commit (string-append "v" version))))
4479 (file-name (git-file-name name version))
4480 (sha256
4481 (base32 "03v6x9775v6gcw3zr4cr2fvd234sagbj6nb0i3pyb44b1jwa0miw"))
4482 (modules '((guix build utils)))
4483 (snippet
4484 #~(begin
4485 (delete-file-recursively "libsass_src")))))
4486 (build-system go-build-system)
4487 (arguments
4488 (list
4489 #:skip-build? #t
4490 #:import-path "github.com/bep/golibsass"
4491 ;; The dev build tag modifies the build to link to system libsass
4492 ;; instead of including the bundled one (which we remove.)
4493 ;; https://github.com/bep/golibsass/blob/v1.2.0/internal/libsass/a__cgo_dev.go
4494 #:build-flags #~(list "-tags" "dev")
4495 #:phases
4496 #~(modify-phases %standard-phases
4497 (add-before 'build 'generate-bindings
4498 ;; Generate bindings for system libsass, replacing the
4499 ;; pre-generated bindings.
4500 (lambda* (#:key import-path #:allow-other-keys)
4501 (mkdir-p (string-append "src/" import-path "/internal/libsass"))
4502 (let ((libsass-src
4503 (string-append #$(package-source
4504 (this-package-input "libsass")) "/src/")))
4505 (substitute* (string-append "src/" import-path "/gen/main.go")
4506 (("filepath.Join\\(rootDir, \"libsass_src\", \"src\"\\)")
4507 (string-append "\"" libsass-src "\""))
4508 (("../../libsass_src/src/")
4509 libsass-src)))
4510 (invoke "go" "generate" (string-append import-path "/gen")))))))
4511 (native-inputs
4512 (list go-github-com-frankban-quicktest))
4513 (propagated-inputs
4514 (list libsass))
4515 (home-page "https://github.com/bep/golibsass")
4516 (synopsis "Easy to use Go bindings for LibSass")
4517 (description
4518 "This package provides SCSS compiler support for Go applications.")
4519 (license license:expat)))
4520
4521(define-public go-github-com-blevesearch-go-metrics
4522 (package
4523 (name "go-github-com-blevesearch-go-metrics")
4524 (version "0.0.0-20201227073835-cf1acfcdf475")
4525 (source
4526 (origin
4527 (method git-fetch)
4528 (uri (git-reference
4529 (url "https://github.com/blevesearch/go-metrics")
4530 (commit (go-version->git-ref version))))
4531 (file-name (git-file-name name version))
4532 (sha256
4533 (base32 "0s7zab04slz07c7l4h2cqz62qnqah69r6p157vvbd7725a7wzkr0"))
4534 (modules '((guix build utils)))
4535 (snippet
4536 #~(begin
4537 ;; github.com/blevesearch/go-metrics was forked from
4538 ;; github.com/rcrowley/go-metrics, but it seems rcrowley was
4539 ;; not replaced everywhere consistently. Fix this.
4540 (substitute* (find-files "." "\\.go$")
4541 (("github.com/rcrowley/go-metrics")
4542 "github.com/blevesearch/go-metrics"))))))
4543 (build-system go-build-system)
4544 (arguments
4545 (list
4546 #:import-path "github.com/blevesearch/go-metrics"
4547 #:test-flags
4548 ;; Arbitrary precision tests are known to be broken on aarch64, ppc64le
4549 ;; and s390x. See: https://github.com/rcrowley/go-metrics/issues/249
4550 #~(list #$@(if (or (target-aarch64?) (target-ppc64le?))
4551 '("-skip" (string-join
4552 (list "TestEWMA1"
4553 "TestEWMA5"
4554 "TestUniformSampleSnapshot"
4555 "TestUniformSampleStatistics")
4556 "|"))
4557 '())
4558 "-vet=off")))
4559 (propagated-inputs
4560 (list go-github-com-stathat-go))
4561 (home-page "https://github.com/blevesearch/go-metrics")
4562 (synopsis "Go port of Coda Hale's Metrics library")
4563 (description
4564 "This package provides a Go implementation of Coda Hale's Metrics
4565library. It's an alternative fork of https://github.com/rcrowley/go-metrics.")
4566 (license license:bsd-2)))
4567
4568(define-public go-github-com-blevesearch-scorch-segment-api-v2
4569 (package
4570 (name "go-github-com-blevesearch-scorch-segment-api-v2")
4571 (version "2.4.7")
4572 (source
4573 (origin
4574 (method git-fetch)
4575 (uri (git-reference
4576 (url "https://github.com/blevesearch/scorch_segment_api")
4577 (commit (string-append "v" version))))
4578 (file-name (git-file-name name version))
4579 (sha256
4580 (base32 "0pp7m8xl5a3b8lanxpcaxjp4vbl5hjf3vk68ync67k2bhw3f885a"))))
4581 (build-system go-build-system)
4582 (arguments
4583 (list
4584 #:import-path "github.com/blevesearch/scorch_segment_api/v2"))
4585 (propagated-inputs
4586 (list go-github-com-blevesearch-bleve-index-api
4587 go-github-com-roaringbitmap-roaring-v2))
4588 (home-page "https://github.com/blevesearch/scorch_segment_api")
4589 (synopsis "Scorch Segment API")
4590 (description "Scorch supports a pluggable Segment interface.")
4591 (license license:asl2.0)))
4592
4593(define-public go-github-com-bradenhilton-mozillainstallhash
4594 (package
4595 (name "go-github-com-bradenhilton-mozillainstallhash")
4596 (version "1.0.1")
4597 (source
4598 (origin
4599 (method git-fetch)
4600 (uri (git-reference
4601 (url "https://github.com/bradenhilton/mozillainstallhash")
4602 (commit (string-append "v" version))))
4603 (file-name (git-file-name name version))
4604 (sha256
4605 (base32 "0j54ssnvk2vy77g23zrhi9acwblnamj63i7wmmdnb89fjg0xc9km"))))
4606 (build-system go-build-system)
4607 (arguments
4608 (list
4609 #:import-path "github.com/bradenhilton/mozillainstallhash"))
4610 (propagated-inputs
4611 (list go-github-com-bradenhilton-cityhash
4612 go-golang-org-x-text))
4613 (home-page "https://github.com/bradenhilton/mozillainstallhash")
4614 (synopsis "Generates the hash used in installs of Mozilla software")
4615 (description
4616 "This package provides a functionality to get the hash used to
4617differentiate between installs of Mozilla software in @code{installs.ini} and
4618@code{profiles.ini}.")
4619 (license license:expat)))
4620
4621(define-public go-github-com-bradfitz-go-tool-cache
4622 (package
4623 (name "go-github-com-bradfitz-go-tool-cache")
4624 (version "0.0.0-20260315044010-9fc622d67f65")
4625 (source
4626 (origin
4627 (method git-fetch)
4628 (uri (git-reference
4629 (url "https://github.com/bradfitz/go-tool-cache")
4630 (commit (go-version->git-ref version))))
4631 (file-name (git-file-name name version))
4632 (sha256
4633 (base32 "1qzjh8wglknfhik4vpksx4ya5kci818q6mvny9fjqcgpaywj0v15"))))
4634 (build-system go-build-system)
4635 (arguments
4636 (list
4637 #:skip-build? #t
4638 #:import-path "github.com/bradfitz/go-tool-cache"
4639 #:build-flags #~(list "-tags=libsqlite3")
4640 #:test-flags #~(list "-tags=libsqlite3")))
4641 (native-inputs
4642 (list go-github-com-google-go-cmp))
4643 (propagated-inputs
4644 (list go-github-com-bradfitz-parentdeath
4645 go-github-com-go-jose-go-jose-v4
4646 go-github-com-golang-jwt-jwt-v5
4647 go-github-com-pierrec-lz4-v4
4648 go-github-com-prometheus-client-golang
4649 go-github-com-prometheus-client-model
4650 go-modernc-org-sqlite))
4651 (home-page "https://github.com/bradfitz/go-tool-cache")
4652 (synopsis "Share Go test caching across network")
4653 (description
4654 "This package allows a user to share their Go build cache across the
4655network,using GOCACHEPROG.")
4656 (license license:bsd-3)))
4657
4658(define-public go-github-com-brianvoe-gofakeit-v6
4659 (package
4660 (name "go-github-com-brianvoe-gofakeit-v6")
4661 (version "6.28.0")
4662 (source
4663 (origin
4664 (method git-fetch)
4665 (uri (git-reference
4666 (url "https://github.com/brianvoe/gofakeit")
4667 (commit (string-append "v" version))))
4668 (file-name (git-file-name name version))
4669 (sha256
4670 (base32 "0yg33zl0vf54g0lhb4qvhl3ncicfcj2mij111wh5wzwydsqyqzk7"))))
4671 (build-system go-build-system)
4672 (arguments
4673 (list
4674 #:import-path "github.com/brianvoe/gofakeit/v6"
4675 #:test-flags
4676 #~(list "-vet=off"
4677 "-skip" (string-join
4678 ;; Some random mismatch in example tests.
4679 (list "ExampleCar"
4680 "ExampleCreditCard"
4681 "ExampleCreditCardExp"
4682 "ExampleDate"
4683 "ExampleFaker_Car"
4684 "ExampleFaker_CreditCard"
4685 "ExampleFaker_CreditCardExp"
4686 "ExampleFaker_Date"
4687 "ExampleFaker_FirefoxUserAgent"
4688 "ExampleFaker_Person"
4689 "ExampleFaker_SQL"
4690 "ExampleFaker_Year"
4691 "ExampleFirefoxUserAgent"
4692 "ExamplePerson"
4693 "ExampleSQL"
4694 "ExampleYear"
4695 "TestStructToDateTime")
4696 "|"))))
4697 (home-page "https://github.com/brianvoe/gofakeit")
4698 (synopsis "Random fake data generator written in Go")
4699 (description
4700 "This package provides a set of functions that generate random data.")
4701 (license license:expat)))
4702
4703(define-public go-github-com-brianvoe-gofakeit-v7
4704 (package
4705 (inherit go-github-com-brianvoe-gofakeit-v6)
4706 (name "go-github-com-brianvoe-gofakeit-v7")
4707 (version "7.14.0")
4708 (source
4709 (origin
4710 (method git-fetch)
4711 (uri (git-reference
4712 (url "https://github.com/brianvoe/gofakeit")
4713 (commit (string-append "v" version))))
4714 (file-name (git-file-name name version))
4715 (sha256
4716 (base32 "0wvp9h3wyx131y2jk48r3ymhzq3p16isxa1a6chw410ixxi497lh"))))
4717 (arguments
4718 (list
4719 #:import-path "github.com/brianvoe/gofakeit/v7"
4720 #:test-flags
4721 #~(list "-skip" (string-join
4722 ;; Some random mismatch in example tests.
4723 (list "ExampleCreditCard"
4724 "ExampleCreditCardExp"
4725 "ExampleDate"
4726 "ExampleFaker_CreditCard"
4727 "ExampleFaker_CreditCardExp"
4728 "ExampleFaker_Date"
4729 "ExampleFaker_FirefoxUserAgent"
4730 "ExampleFaker_Person"
4731 "ExampleFaker_SQL"
4732 "ExampleFaker_Year"
4733 "ExampleFirefoxUserAgent"
4734 "ExamplePerson"
4735 "ExampleSQL"
4736 "ExampleYear"
4737 "TestStructToDateTime")
4738 "|"))))))
4739
4740(define-public go-github-com-brunoscheufler-aws-ecs-metadata-go
4741 (package
4742 (name "go-github-com-brunoscheufler-aws-ecs-metadata-go")
4743 (version "0.0.0-20221221133751-67e37ae746cd")
4744 (source
4745 (origin
4746 (method git-fetch)
4747 (uri (git-reference
4748 (url "https://github.com/BrunoScheufler/aws-ecs-metadata-go")
4749 (commit (go-version->git-ref version))))
4750 (file-name (git-file-name name version))
4751 (sha256
4752 (base32 "1x9kn49sl6793zqq4nrbsyfhqh7i3xr25syck2ybpcqkd3mmb8k6"))))
4753 (build-system go-build-system)
4754 (arguments
4755 (list
4756 #:import-path "github.com/brunoscheufler/aws-ecs-metadata-go"))
4757 (native-inputs
4758 (list go-github-com-stretchr-testify))
4759 (home-page "https://github.com/brunoscheufler/aws-ecs-metadata-go")
4760 (synopsis "Retrieve AWS ECS Task metadata")
4761 (description
4762 "This package provides a minimal wrapper library to fetch
4763@acronym{Elastic Container Service, ECS} Task metadata from any Go service
4764running in container provisioned by AWS Fargate.")
4765 (license license:expat)))
4766
4767(define-public go-github-com-buger-jsonparser
4768 (package
4769 (name "go-github-com-buger-jsonparser")
4770 (version "1.1.1")
4771 (source
4772 (origin
4773 (method git-fetch)
4774 (uri (git-reference
4775 (url "https://github.com/buger/jsonparser")
4776 (commit (string-append "v" version))))
4777 (file-name (git-file-name name version))
4778 (sha256
4779 (base32 "0qv2lsh2biwxn927941gqiv5pqg7n4v58j0i536pjp7pr17pq7dp"))))
4780 (build-system go-build-system)
4781 (arguments
4782 (list
4783 #:import-path "github.com/buger/jsonparser"
4784 #:phases
4785 #~(modify-phases %standard-phases
4786 (add-after 'unpack 'remove-benchmark
4787 (lambda* (#:key import-path #:allow-other-keys)
4788 (with-directory-excursion (string-append "src/" import-path)
4789 (delete-file-recursively "benchmark")))))))
4790 (home-page "https://github.com/buger/jsonparser")
4791 (synopsis
4792 "Alternative JSON parser for Golang")
4793 (description
4794 "This package provides an alternative JSON parser for Go. It does not
4795require to know the structure of the payload (eg. create structs), and allows
4796accessing fields by providing the path to them.")
4797 (license license:expat)))
4798
4799(define-public go-github-com-caddyserver-certmagic
4800 (package
4801 (name "go-github-com-caddyserver-certmagic")
4802 (version "0.22.1")
4803 (source
4804 (origin
4805 (method git-fetch)
4806 (uri (git-reference
4807 (url "https://github.com/caddyserver/certmagic")
4808 (commit (string-append "v" version))))
4809 (file-name (git-file-name name version))
4810 (sha256
4811 (base32 "0xi3c4b0wcpk75lrpvx254zf49pi2yibxvl3x7hm9j1xhah6fsaa"))))
4812 (build-system go-build-system)
4813 (arguments
4814 (list
4815 #:test-flags
4816 #~(list "-skip"
4817 ;; Some tests require networking to run so skip them altogether.
4818 (string-join
4819 (list "TestLookupNameserversOK/physics.georgetown.edu."
4820 "TestFindZoneByFqdn/domain_is_a_CNAME"
4821 "TestFindZoneByFqdn/domain_is_a_non-existent_subdomain"
4822 "TestFindZoneByFqdn/domain_is_a_eTLD"
4823 "TestFindZoneByFqdn/domain_is_a_cross-zone_CNAME"
4824 "TestFindZoneByFqdn/NXDOMAIN"
4825 "TestFindZoneByFqdn/several_non_existent_nameservers")
4826 "|"))
4827 #:import-path "github.com/caddyserver/certmagic"))
4828 (propagated-inputs
4829 (list go-github-com-caddyserver-zerossl
4830 go-github-com-klauspost-cpuid-v2
4831 go-github-com-libdns-libdns
4832 go-github-com-mholt-acmez-v3
4833 go-github-com-miekg-dns
4834 go-github-com-zeebo-blake3
4835 go-go-uber-org-zap
4836 go-go-uber-org-zap-exp
4837 go-golang-org-x-crypto
4838 go-golang-org-x-net))
4839 (home-page "https://github.com/caddyserver/certmagic")
4840 (synopsis "Automatic HTTPS for any Go program")
4841 (description
4842 "@code{certmagic} provides API for TLS Automation with full control over almost
4843every aspect of the system.
4844
4845Main features:
4846@itemize
4847@item Fully automated certificate management including issuance and renewal, with
4848support for certificate revocation. Also works in conjunction with your own
4849certificates.
4850@item Wildcard certificates.
4851@item One-line, fully managed HTTPS servers, with HTTP->HTTPS redirects.
4852@item Multiple issuers supported: get certificates from multiple sources/CAs for
4853redundancy and resiliency.
4854@item Solves all 3 common ACME challenges: HTTP, TLS-ALPN, and DNS (and capable of
4855others.)
4856@item Robust error handling:
4857@itemize
4858@item Challenges are randomized to avoid accidental dependence and rotated to
4859overcome certain network blockages.
4860@item Robust retries for up to 30 days.
4861@item Exponential backoff with carefully-tuned intervals.
4862@item Retries with optional test/staging CA endpoint instead of production, to avoid
4863rate limits.
4864@end itemize
4865@item All libdns DNS providers work out-of-the-box.
4866@item Pluggable storage backends (default: file system) and key sources.
4867@item Automatic OCSP stapling.
4868@item Distributed solving of all challenges (works behind load balancers.)
4869@item Supports @samp{on-demand} issuance of certificates.
4870@item Optional event hooks for observation.
4871@item One-time private keys by default (new key for each cert) to discourage pinning
4872and reduce scope of key compromise.
4873@item Works with any certificate authority (CA) compliant with the ACME specification
4874@url{https://tools.ietf.org/html/rfc8555, RFC 8555}.
4875@item Must-Staple (optional; not default.)
4876@item Full support for draft-ietf-acme-ari (ACME Renewal Information; ARI) extension.
4877@end itemize")
4878 (license license:expat)))
4879
4880(define-public go-github-com-caddyserver-zerossl
4881 (package
4882 (name "go-github-com-caddyserver-zerossl")
4883 (version "0.1.3")
4884 (source
4885 (origin
4886 (method git-fetch)
4887 (uri (git-reference
4888 (url "https://github.com/caddyserver/zerossl")
4889 (commit (string-append "v" version))))
4890 (file-name (git-file-name name version))
4891 (sha256
4892 (base32 "16mrlmsl3ajdrn2qsdq51k79z3fi8v8j82r2c6xyj7mp2yr979h6"))))
4893 (build-system go-build-system)
4894 (arguments
4895 (list
4896 #:import-path "github.com/caddyserver/zerossl"))
4897 (home-page "https://github.com/caddyserver/zerossl")
4898 (synopsis "ZeroSSL REST API client implementation for Go")
4899 (description
4900 "@code{zerossl} implements the @url{https://zerossl.com/documentation/api/,
4901ZeroSSL REST API}.
4902
4903The REST API is distinct from the @url{https://zerossl.com/documentation/acme/, ACME
4904endpoint}, which is a standardized way of obtaining certificates.")
4905 (license license:expat)))
4906
4907(define-public go-github-com-ccding-go-stun
4908 (package
4909 (name "go-github-com-ccding-go-stun")
4910 (version "0.1.4")
4911 (source
4912 (origin
4913 (method git-fetch)
4914 (uri (git-reference
4915 (url "https://github.com/ccding/go-stun")
4916 (commit (string-append "v" version))))
4917 (file-name (git-file-name name version))
4918 (sha256
4919 (base32 "0wjhckyg42kp04njhj7gni84cyk0s7m17n13kqf6r7mjzx8a83pw"))))
4920 (build-system go-build-system)
4921 (arguments
4922 (list
4923 #:import-path "github.com/ccding/go-stun"))
4924 (home-page "https://github.com/ccding/go-stun")
4925 (synopsis "STUN client implementation")
4926 (description
4927 "Go-stun is a go implementation of the STUN client (RFC 3489
4928and RFC 5389).")
4929 (license license:asl2.0)))
4930
4931(define-public go-github-com-cenkalti-backoff-v4
4932 (package
4933 (name "go-github-com-cenkalti-backoff-v4")
4934 (version "4.3.0")
4935 (source
4936 (origin
4937 (method git-fetch)
4938 (uri (git-reference
4939 (url "https://github.com/cenkalti/backoff")
4940 (commit (string-append "v" version))))
4941 (file-name (git-file-name name version))
4942 (sha256
4943 (base32 "1pwr7fzxgngb073q98qrz1f90bkk3pljynif6jl5a6q6kcsn7xf1"))))
4944 (build-system go-build-system)
4945 (arguments
4946 (list
4947 #:import-path "github.com/cenkalti/backoff/v4"
4948 #:test-flags #~(list "-vet=off")))
4949 (home-page "https://github.com/cenkalti/backoff")
4950 (synopsis "The exponential backoff algorithm in Go")
4951 (description
4952 ;; URL https://raw.githubusercontent.com/googleapis/google-http-java-client
4953 ;; Commit da1aa993e90285ec18579f1553339b00e19b3ab5
4954 ;; Directory google-http-client/src/main/java/com/google/api/client/util
4955 ;; File ExponentialBackOff.java
4956 "This is a Go port of the exponential backoff algorithm from
4957Google's HTTP Client Library for Java.
4958
4959@url{http://en.wikipedia.org/wiki/Exponential_backoff, Exponential backoff} is
4960an algorithm that uses feedback to multiplicatively decrease the rate of some
4961process, in order to gradually find an acceptable rate. The retries
4962exponentially increase and stop increasing when a certain threshold is met.")
4963 (license license:expat)))
4964
4965(define-public go-github-com-cenkalti-backoff-v5
4966 (package
4967 (inherit go-github-com-cenkalti-backoff-v4)
4968 (name "go-github-com-cenkalti-backoff-v5")
4969 (version "5.0.2")
4970 (source
4971 (origin
4972 (method git-fetch)
4973 (uri (git-reference
4974 (url "https://github.com/cenkalti/backoff")
4975 (commit (string-append "v" version))))
4976 (file-name (git-file-name name version))
4977 (sha256
4978 (base32 "1hc4manlkqfy9acva1jb8ayh8jihjb0h76l3g1sqqp0vlaq5y6q3"))))
4979 (arguments
4980 (list
4981 #:import-path "github.com/cenkalti/backoff/v5"
4982 #:phases
4983 #~(modify-phases %standard-phases
4984 ;; XXX: Example tests freeze infinitely.
4985 (add-after 'unpack 'remove-examples
4986 (lambda* (#:key import-path #:allow-other-keys)
4987 (with-directory-excursion (string-append "src/" import-path)
4988 (delete-file "example_test.go")))))))))
4989
4990(define-public go-github-com-cenkalti-backoff-v7
4991 (package
4992 (inherit go-github-com-cenkalti-backoff-v5)
4993 (name "go-github-com-cenkalti-backoff-v7")
4994 (version "7.0.0")
4995 (source
4996 (origin
4997 (method git-fetch)
4998 (uri (git-reference
4999 (url "https://github.com/cenkalti/backoff")
5000 (commit (string-append "v" version))))
5001 (file-name (git-file-name name version))
5002 (sha256
5003 (base32 "0vkbfd6qsrgi0vk243z6zci7adqrm28xx3ad8p9vxxlpg2fdhfhl"))))
5004 (arguments
5005 (list
5006 #:import-path "github.com/cenkalti/backoff/v7"))))
5007
5008(define-public go-github-com-cenkalti-hub
5009 (package
5010 (name "go-github-com-cenkalti-hub")
5011 (version "1.0.2")
5012 (source
5013 (origin
5014 (method git-fetch)
5015 (uri (git-reference
5016 (url "https://github.com/cenkalti/hub")
5017 (commit (string-append "v" version))))
5018 (file-name (git-file-name name version))
5019 (sha256
5020 (base32 "14irdpqh36vyzfxwcv6gv0fl3ak1djzsvg93kr9a24a2qvc2wwj6"))))
5021 (build-system go-build-system)
5022 (arguments
5023 (list
5024 #:import-path "github.com/cenkalti/hub"))
5025 (home-page "https://github.com/cenkalti/hub")
5026 (synopsis "Publish/Subscribe library in Golang")
5027 (description
5028 "Package hub provides a simple event dispatcher for publish/subscribe
5029pattern.")
5030 (license license:expat)))
5031
5032(define-public go-github-com-cenkalti-rpc2
5033 (package
5034 (name "go-github-com-cenkalti-rpc2")
5035 (version "1.0.4")
5036 (source
5037 (origin
5038 (method git-fetch)
5039 (uri (git-reference
5040 (url "https://github.com/cenkalti/rpc2")
5041 (commit (string-append "v" version))))
5042 (file-name (git-file-name name version))
5043 (sha256
5044 (base32 "04h570v9mm8vmdfadnzds7ynjqps71pwmj0i6hgrcrl66s8qm541"))))
5045 (build-system go-build-system)
5046 (arguments
5047 (list
5048 #:import-path "github.com/cenkalti/rpc2"))
5049 (propagated-inputs
5050 (list go-github-com-cenkalti-hub))
5051 (home-page "https://github.com/cenkalti/rpc2")
5052 (synopsis "Bi-directional RPC in Golang")
5053 (description
5054 "Package rpc2 provides bi-directional RPC client and server similar to
5055@code{net/rpc}.")
5056 (license license:expat)))
5057
5058(define-public go-github-com-cevatbarisyilmaz-ara
5059 (package
5060 (name "go-github-com-cevatbarisyilmaz-ara")
5061 (version "0.0.5")
5062 (source
5063 (origin
5064 (method git-fetch)
5065 (uri (git-reference
5066 (url "https://github.com/cevatbarisyilmaz/ara")
5067 (commit (string-append "v" version))))
5068 (file-name (git-file-name name version))
5069 (sha256
5070 (base32 "0512nlqqv9bnsplphiw7q9s80icl63wgl88b7m6m4vsvn5ghphc8"))))
5071 (build-system go-build-system)
5072 (arguments
5073 (list
5074 #:import-path "github.com/cevatbarisyilmaz/ara"
5075 #:test-flags
5076 ;; ialer_test.go:46: lookup google.com on [::1]:53: read udp
5077 ;; [::1]:39632->[::1]:53: read: connection refused
5078 #~(list "-skip" "TestDialer|TestNewCustomResolver")
5079 #:phases
5080 #~(modify-phases %standard-phases
5081 (add-after 'unpack 'remove-examples
5082 (lambda* (#:key import-path #:allow-other-keys)
5083 (with-directory-excursion (string-append "src/" import-path)
5084 (delete-file "example_test.go")))))))
5085 (home-page "https://github.com/cevatbarisyilmaz/ara")
5086 (synopsis "Dialer with customizable resolver")
5087 (description
5088 "Package ara provides a dialer with customizable resolver. It can be
5089used with @code{http.Client} and @code{http.Transport} to alter host
5090lookups.")
5091 (license license:expat)))
5092
5093(define-public go-github-com-chi-middleware-proxy
5094 (package
5095 (name "go-github-com-chi-middleware-proxy")
5096 (version "1.1.1")
5097 (source
5098 (origin
5099 (method git-fetch)
5100 (uri (git-reference
5101 (url "https://github.com/chi-middleware/proxy")
5102 (commit (string-append "v" version))))
5103 (file-name (git-file-name name version))
5104 (sha256
5105 (base32 "0pslb4x8jhblgg7sfahrsiv7r4ay5aizgrqkrpfpwzsnhw88fl6h"))))
5106 (build-system go-build-system)
5107 (arguments
5108 (list
5109 #:import-path "github.com/chi-middleware/proxy"))
5110 (native-inputs
5111 (list go-github-com-stretchr-testify))
5112 (propagated-inputs
5113 (list go-github-com-go-chi-chi-v5))
5114 (home-page "https://github.com/chi-middleware/proxy")
5115 (synopsis "Proxy forwarded headers middleware")
5116 (description
5117 "This package is forwarded headers middleware to use if application is
5118run behind reverse proxy.")
5119 (license license:expat)))
5120
5121(define-public go-github-com-chris-ramon-douceur
5122 (package
5123 (name "go-github-com-chris-ramon-douceur")
5124 (version "0.2.0")
5125 (source
5126 (origin
5127 (method git-fetch)
5128 (uri (git-reference
5129 (url "https://github.com/chris-ramon/douceur")
5130 (commit (string-append "v" version))))
5131 (file-name (git-file-name name version))
5132 (sha256
5133 (base32 "1hfysznib0fqbp8vqxpk0xiggpp0ayk2bsddi36vbg6f8zq5f81n"))))
5134 (build-system go-build-system)
5135 (arguments
5136 `(#:import-path "github.com/chris-ramon/douceur"))
5137 (propagated-inputs
5138 (list go-github-com-aymerick-douceur
5139 go-github-com-gorilla-css))
5140 (native-inputs
5141 (list go-github-com-puerkitobio-goquery
5142 go-github-com-andybalholm-cascadia
5143 go-golang-org-x-net))
5144 (home-page "https://github.com/chris-ramon/douceur/")
5145 (synopsis "CSS parser and inliner")
5146 (description "This package provides a CSS parser and inliner.")
5147 (license license:expat)))
5148
5149(define-public go-github-com-circonus-labs-circonus-gometrics
5150 (package
5151 (name "go-github-com-circonus-labs-circonus-gometrics")
5152 (version "2.3.1")
5153 (source
5154 (origin
5155 (method git-fetch)
5156 (uri (git-reference
5157 (url "https://github.com/circonus-labs/circonus-gometrics")
5158 (commit (string-append "v" version))))
5159 (file-name (git-file-name name version))
5160 (sha256
5161 (base32 "0s2wir711h0k2h8xsypgpzshccnx8jkwjfni7n32l7wd8yng9ngs"))
5162 (modules '((guix build utils)))
5163 (snippet
5164 #~(begin
5165 ;; Module name has been changed upstream, permanent redirect:
5166 ;; <https://github.com/circonus-labs/circonusllhist> ->
5167 ;; <https://github.com/openhistogram/circonusllhist>.
5168 (substitute* (find-files "." "\\.go$")
5169 (("github.com/circonus-labs/circonusllhist")
5170 "github.com/openhistogram/circonusllhist"))))))
5171 (build-system go-build-system)
5172 (arguments
5173 (list
5174 #:test-flags #~(list "-skip" "TestNew|TestFlushMetrics|TestPromOutput")
5175 #:import-path "github.com/circonus-labs/circonus-gometrics"))
5176 (propagated-inputs
5177 (list go-github-com-hashicorp-go-retryablehttp
5178 go-github-com-openhistogram-circonusllhist
5179 go-github-com-pkg-errors
5180 go-github-com-tv42-httpunix))
5181 (home-page "https://github.com/circonus-labs/circonus-gometrics")
5182 (synopsis "Circonus metrics tracking for Golang")
5183 (description
5184 "This library supports named counters, gauges and histograms. It also
5185provides convenience wrappers for registering latency instrumented functions
5186with Go's builtin http server.")
5187 (license license:bsd-3)))
5188
5189(define-public go-github-com-circonus-labs-circonus-gometrics-v3
5190 (package
5191 (inherit go-github-com-circonus-labs-circonus-gometrics)
5192 (name "go-github-com-circonus-labs-circonus-gometrics-v3")
5193 (version "3.4.7")
5194 (source
5195 (origin
5196 (method git-fetch)
5197 (uri (git-reference
5198 (url "https://github.com/circonus-labs/circonus-gometrics")
5199 (commit (string-append "v" version))))
5200 (file-name (git-file-name name version))
5201 (sha256
5202 (base32 "1wdnhj1xwm5p5wp76afs08aq30hkpgnq4802d6ylnpb3n46v0lj4"))))
5203 (build-system go-build-system)
5204 (arguments
5205 (substitute-keyword-arguments
5206 (package-arguments go-github-com-circonus-labs-circonus-gometrics)
5207 ((#:import-path _) "github.com/circonus-labs/circonus-gometrics/v3")))
5208 (propagated-inputs
5209 (modify-inputs (package-propagated-inputs
5210 go-github-com-circonus-labs-circonus-gometrics)
5211 (prepend go-github-com-circonus-labs-go-apiclient)))))
5212
5213(define-public go-github-com-circonus-labs-go-apiclient
5214 (package
5215 (name "go-github-com-circonus-labs-go-apiclient")
5216 (version "0.7.24")
5217 (source
5218 (origin
5219 (method git-fetch)
5220 (uri (git-reference
5221 (url "https://github.com/circonus-labs/go-apiclient")
5222 (commit (string-append "v" version))))
5223 (file-name (git-file-name name version))
5224 (sha256
5225 (base32 "1ysfycnjmqkn1prlz68k2nkrkk3570q5gx0d6vdvvwfhvlisj4c7"))))
5226 (build-system go-build-system)
5227 (arguments
5228 (list
5229 #:import-path "github.com/circonus-labs/go-apiclient"))
5230 (propagated-inputs
5231 (list go-github-com-hashicorp-go-retryablehttp
5232 go-github-com-pkg-errors))
5233 (home-page "https://github.com/circonus-labs/go-apiclient")
5234 (synopsis "Circonus API Client for Golang")
5235 (description
5236 "Package apiclient provides methods for interacting with the Circonus
5237API. See the full Circonus API Documentation at
5238@url{https://login.circonus.com/resources/api} for more information.")
5239 (license license:bsd-3)))
5240
5241(define-public go-github-com-cli-browser
5242 (package
5243 (name "go-github-com-cli-browser")
5244 (version "1.3.0")
5245 (source
5246 (origin
5247 (method git-fetch)
5248 (uri (git-reference
5249 (url "https://github.com/cli/browser")
5250 (commit (string-append "v" version))))
5251 (file-name (git-file-name name version))
5252 (sha256
5253 (base32 "1f54ap2a4df32bwrwqsasfsikkxngkk4wr2wfbsns4lf0yymra6k"))))
5254 (build-system go-build-system)
5255 (arguments
5256 (list
5257 #:import-path "github.com/cli/browser"))
5258 (propagated-inputs
5259 (list go-golang-org-x-sys))
5260 (home-page "https://github.com/cli/browser")
5261 (synopsis "Helpers to open URLs, files, or readers in a web browser")
5262 (description
5263 "Package browser provides helpers to open files, readers, and URLs in a
5264browser window.")
5265 (license license:bsd-2)))
5266
5267(define-public go-github-com-cli-oauth
5268 (package
5269 (name "go-github-com-cli-oauth")
5270 (version "1.2.0")
5271 (source
5272 (origin
5273 (method git-fetch)
5274 (uri (git-reference
5275 (url "https://github.com/cli/oauth")
5276 (commit (string-append "v" version))))
5277 (file-name (git-file-name name version))
5278 (sha256
5279 (base32 "0hqncidg1h0q5w0x4cgnyvxwvzh2h9lb921gzrcbjdhv16vx2vrx"))))
5280 (build-system go-build-system)
5281 (arguments
5282 (list
5283 #:import-path "github.com/cli/oauth"))
5284 (propagated-inputs
5285 (list go-github-com-cli-browser))
5286 (home-page "https://github.com/cli/oauth")
5287 (synopsis "OAuth library for Go applications")
5288 (description
5289 "Package oauth is a library for Go client applications that need to perform
5290OAuth authorization against a server, typically @code{GitHub.com}.")
5291 (license license:expat)))
5292
5293(define-public go-github-com-cloudflare-backoff
5294 (package
5295 (name "go-github-com-cloudflare-backoff")
5296 (version "0.0.0-20240920015135-e46b80a3a7d0")
5297 (source
5298 (origin
5299 (method git-fetch)
5300 (uri (git-reference
5301 (url "https://github.com/cloudflare/backoff")
5302 (commit (go-version->git-ref version))))
5303 (file-name (git-file-name name version))
5304 (sha256
5305 (base32 "1bzcvsgakjyxgw47r2j6xxbs8v67srwzvvw60biqcqvpsvncbw42"))))
5306 (build-system go-build-system)
5307 (arguments
5308 (list
5309 #:import-path "github.com/cloudflare/backoff"))
5310 (home-page "https://github.com/cloudflare/backoff")
5311 (synopsis "Backoff strategies for retry logic for Golang")
5312 (description
5313 "This package provides configurable backoff algorithms (exponential,
5314 constant, etc.) for Golang commonly used in retry loops for network calls or
5315transient error handling.")
5316 (license license:bsd-2)))
5317
5318(define-public go-github-com-cloudflare-cfssl
5319 (package
5320 (name "go-github-com-cloudflare-cfssl")
5321 (version "1.6.5")
5322 (source
5323 (origin
5324 (method git-fetch)
5325 (uri (git-reference
5326 (url "https://github.com/cloudflare/cfssl")
5327 (commit (string-append "v" version))))
5328 (file-name (git-file-name name version))
5329 (sha256
5330 (base32 "1rs1mn6ddylcv9kfjjvs9aghwz4r2i22f1ksfnv2q9jbmfzykk2x"))
5331 (modules '((guix build utils)))
5332 (snippet #~(begin (delete-file-recursively "vendor")))))
5333 (build-system go-build-system)
5334 (arguments
5335 (list
5336 #:skip-build? #t
5337 #:import-path "github.com/cloudflare/cfssl"
5338 #:unpack-path "github.com/cloudflare/cfssl"
5339 #:test-subdirs
5340 #~(list "api/..."
5341 "auth/..."
5342 ;;"bundle/..."
5343 "certinfo/..."
5344 "certdb/..."
5345 "cli/..."
5346 "config/..."
5347 "crl/..."
5348 "crypto/..."
5349 "csr/..."
5350 "errors/..."
5351 "helpers/..."
5352 "info/..."
5353 "initca/..."
5354 "log/..."
5355 "multiroot/..."
5356 "ocsp/..."
5357 "revoke/..."
5358 ;; "scan/..."
5359 "selfsign/..."
5360 "signer/..."
5361 "transport/..."
5362 "ubiquity/..."
5363 "whitelist/...")
5364 #:test-flags
5365 #~(list "-vet=off"
5366 "-skip" (string-join
5367 ;; panic: attempt to write a readonly database [recovered]
5368 (list "TestSqliteTrivial"
5369 "TestRevokeMain"
5370 "TestSQLite"
5371 "TestParseSerialNumber"
5372 "TestSignerDBPersistence"
5373 "TestInvalidRevocation"
5374 "TestCRLGeneration"
5375 "TestInsertValidCertificate"
5376 "TestInsertMissingAKI"
5377 "TestInsertMissingSerial"
5378 "TestInsertMissingExpiry"
5379 "TestInsertMissingPEM"
5380 "TestInsertInvalidSerial"
5381 "TestInsertInvalidAKI"
5382 "TestInsertInvalidStatus"
5383 "TestInsertInvalidPEM"
5384 "TestInsertInvalidExpiry"
5385 "TestInsertWrongSerial"
5386 "TestInsertWrongAKI"
5387 "TestInsertWrongExpiry"
5388 "TestInsertRevokedCertificate"
5389 "TestRevocation"
5390 "TestRevokeExpiry"
5391 "TestOCSPGeneration"
5392 "TestOCSPGeneration"
5393 ;; exec: "cfssl": executable file not found in $PATH
5394 "TestStartCFSSLServer"
5395 "TestCreateCertificateChain"
5396 "TestCreateSelfSignedCert"
5397 "TestSignerWithDB"
5398 "TestSqliteRealResponse"
5399 "TestOCSPRefreshMain"
5400 ;; requires network
5401 "TestCachedCRLSet"
5402 "TestLdap"
5403 "TestGood"
5404 "TestLint")
5405 "|"))))
5406 (propagated-inputs
5407 (list go-github-com-cloudflare-backoff
5408 go-github-com-cloudflare-redoctober
5409 go-github-com-go-sql-driver-mysql
5410 go-github-com-google-certificate-transparency-go
5411 go-github-com-jmhodges-clock
5412 go-github-com-jmoiron-sqlx
5413 go-github-com-kisielk-sqlstruct
5414 go-github-com-lib-pq
5415 go-github-com-mattn-go-sqlite3
5416 go-github-com-prometheus-client-golang
5417 go-github-com-zmap-zcrypto
5418 go-github-com-zmap-zlint-v3
5419 go-golang-org-x-crypto))
5420 (home-page "https://github.com/cloudflare/cfssl")
5421 (synopsis "Cloudflare's PKI and TLS toolkit")
5422 (description
5423 "This package provides the source code of CloudFlare's PKI/TLS swiss army knife.
5424It is both a command line tool and an HTTP API server for signing, verifying, and
5425bundling TLS certificates.")
5426 (license license:bsd-2)))
5427
5428(define-public go-github-com-cloudinary-cloudinary-go-v2
5429 (package
5430 (name "go-github-com-cloudinary-cloudinary-go-v2")
5431 (version "2.14.0")
5432 (source
5433 (origin
5434 (method git-fetch)
5435 (uri (git-reference
5436 (url "https://github.com/cloudinary/cloudinary-go")
5437 (commit (string-append "v" version))))
5438 (file-name (git-file-name name version))
5439 (sha256
5440 (base32 "0nn1kjv94x7xh0js9mwkmqfq4y3dj1jz9w55lvmv7c3qgqkzqgbh"))))
5441 (build-system go-build-system)
5442 (arguments
5443 (list
5444 #:tests? #f ;XXX: most of the tests need access to cloudinary.com API
5445 #:import-path "github.com/cloudinary/cloudinary-go/v2"))
5446 (native-inputs
5447 (list go-github-com-heimdalr-dag
5448 go-github-com-stretchr-testify))
5449 (propagated-inputs
5450 (list go-github-com-creasty-defaults
5451 go-github-com-google-uuid
5452 go-github-com-gorilla-schema))
5453 (home-page "https://github.com/cloudinary/cloudinary-go")
5454 (synopsis "Cloudinary Go SDK")
5455 (description
5456 "This package provides an SDK for developing projects with
5457@url{https://cloudinary.com/, Cloudinary} in Go.")
5458 (license license:expat)))
5459
5460(define-public go-github-com-cloudsoda-go-smb2
5461 (package
5462 (name "go-github-com-cloudsoda-go-smb2")
5463 (version "0.0.0-20250228001242-d4c70e6251cc")
5464 (source
5465 (origin
5466 (method git-fetch)
5467 (uri (git-reference
5468 (url "https://github.com/CloudSoda/go-smb2")
5469 (commit (go-version->git-ref version))))
5470 (file-name (git-file-name name version))
5471 (sha256
5472 (base32 "14784m3y9g01389r38a2f6xkl030s9b4lcavaiglz6h7zm47wpwp"))))
5473 (build-system go-build-system)
5474 (arguments
5475 (list
5476 #:import-path "github.com/cloudsoda/go-smb2"))
5477 (native-inputs
5478 (list go-github-com-stretchr-testify))
5479 (propagated-inputs
5480 (list go-github-com-cloudsoda-sddl
5481 go-github-com-geoffgarside-ber
5482 go-github-com-jcmturner-gokrb5-v8
5483 go-golang-org-x-crypto))
5484 (home-page "https://github.com/cloudsoda/go-smb2")
5485 (synopsis "SMB2/3 client implementation")
5486 (description "This package implements the SMB2/3 client in Go.")
5487 (license license:bsd-2)))
5488
5489(define-public go-github-com-cloudsoda-sddl
5490 (package
5491 (name "go-github-com-cloudsoda-sddl")
5492 (version "0.0.0-20250224235906-926454e91efc")
5493 (source
5494 (origin
5495 (method git-fetch)
5496 (uri (git-reference
5497 (url "https://github.com/CloudSoda/sddl")
5498 (commit (go-version->git-ref version))))
5499 (file-name (git-file-name name version))
5500 (sha256
5501 (base32 "0wb0mydqkiqc2q7rzlv0fssxshyp811wmjg3i1awd1a9z29v6qyq"))))
5502 (build-system go-build-system)
5503 (arguments
5504 (list
5505 #:import-path "github.com/cloudsoda/sddl"))
5506 (propagated-inputs
5507 (list go-golang-org-x-sys))
5508 (home-page "https://github.com/cloudsoda/sddl")
5509 (synopsis "Windows Security Descriptor library and CLI tool")
5510 (description
5511 "This package provides a cross-platform Go library and command-line tool for
5512working with Windows Security Descriptors, providing conversion between binary
5513and SDDL (Security Descriptor Definition Language) string formats.")
5514 (license license:lgpl3)))
5515
5516(define-public go-github-com-cncf-xds-go
5517 (package
5518 (name "go-github-com-cncf-xds-go")
5519 (version "0.0.0-20250501225837-2ac532fd4443")
5520 (source
5521 (origin
5522 (method git-fetch)
5523 (uri (git-reference
5524 (url "https://github.com/cncf/xds")
5525 (commit (go-version->git-ref version #:subdir "go"))))
5526 (file-name (git-file-name name version))
5527 (sha256
5528 (base32 "0snccl7rrx2f07131s0n8z3d1p5v2nvcg7v3dhq1a5sl46b1x78b"))))
5529 (build-system go-build-system)
5530 (arguments
5531 (list
5532 #:skip-build? #t
5533 #:import-path "github.com/cncf/xds/go"
5534 #:unpack-path "github.com/cncf/xds"))
5535 (propagated-inputs
5536 (list go-cel-dev-expr
5537 go-github-com-envoyproxy-protoc-gen-validate
5538 go-google-golang-org-genproto-googleapis-api
5539 go-google-golang-org-grpc
5540 go-google-golang-org-protobuf))
5541 (home-page "https://github.com/cncf/xds")
5542 (synopsis "Universal data-plane API using the xDS protocol in Golang")
5543 (description
5544 "This package provides a set of APIs implementing the de facto standard
5545for L4/L7 data plane configuration, similar to the role played by OpenFlow at
5546L2/L3/L4 in @acronym{Software-defined networking, SDN}.
5547
5548The xDS transport protocol provides a low latency versioned streaming gRPC
5549delivery of xDS resources. The data model covers common data plane concerns
5550such as service discovery, load balancing assignments, routing discovery,
5551listener configuration, secret discovery, load reporting, health check
5552delegation, etc.")
5553 (license license:asl2.0)))
5554
5555(define-public go-github-com-cockroachdb-errors
5556 (package
5557 (name "go-github-com-cockroachdb-errors")
5558 (version "1.12.0")
5559 (source
5560 (origin
5561 (method git-fetch)
5562 (uri (git-reference
5563 (url "https://github.com/cockroachdb/errors")
5564 (commit (string-append "v" version))))
5565 (file-name (git-file-name name version))
5566 (sha256
5567 (base32 "0savcvdq1xiwgf8in2xvj9d7gnj921izixlzd2zwdk6384lllc7m"))))
5568 (build-system go-build-system)
5569 (arguments
5570 (list
5571 #:import-path "github.com/cockroachdb/errors"
5572 #:test-subdirs #~(list "assert/..."
5573 "barriers/..."
5574 "contexttags/..."
5575 "domains/..."
5576 "errbase/..."
5577 "errutil/..."
5578 "extgrpc/..."
5579 "exthttp/..."
5580 ;; "fmttests/..." ; build failed
5581 "grpc/..."
5582 "hintdetail/..."
5583 "issuelink/..."
5584 "join/..."
5585 "markers/..."
5586 "oserror/..."
5587 ;; "report/..." ; build failed
5588 "safedetails/..."
5589 "secondary/..."
5590 "telemetrykeys/..."
5591 "testutils/..."
5592 "withstack/...")))
5593 (native-inputs
5594 (list go-github-com-stretchr-testify))
5595 (propagated-inputs
5596 (list go-github-com-cockroachdb-datadriven
5597 go-github-com-cockroachdb-logtags
5598 go-github-com-cockroachdb-redact
5599 go-github-com-getsentry-sentry-go
5600 go-github-com-gogo-googleapis
5601 go-github-com-gogo-protobuf
5602 go-github-com-gogo-status
5603 go-github-com-hydrogen18-memlistener
5604 go-github-com-kr-pretty
5605 go-github-com-pkg-errors
5606 go-google-golang-org-grpc
5607 go-google-golang-org-protobuf))
5608 (home-page "https://github.com/cockroachdb/errors")
5609 (synopsis "Golang errors with network portability")
5610 (description
5611 "This package provides a a drop-in replacement to
5612@code{github.com/pkg/errors} and Go's standard @code{errors} package. It also
5613provides of error objects, in ways suitable for distributed systems with
5614mixed-version software compatibility.")
5615 (license license:asl2.0)))
5616
5617(define-public go-github-com-cockroachdb-metamorphic
5618 (package
5619 (name "go-github-com-cockroachdb-metamorphic")
5620 (version "0.0.0-20231120015718-884f2746775a")
5621 (source
5622 (origin
5623 (method git-fetch)
5624 (uri (git-reference
5625 (url "https://github.com/cockroachdb/metamorphic")
5626 (commit (go-version->git-ref version))))
5627 (file-name (git-file-name name version))
5628 (sha256
5629 (base32 "1cf5rwifmlvnrwq17izgc0297yjw4q2fl1qar9d1slm3wqd4h186"))))
5630 (build-system go-build-system)
5631 (arguments
5632 (list
5633 #:import-path "github.com/cockroachdb/metamorphic"))
5634 (native-inputs
5635 (list go-github-com-stretchr-testify))
5636 (propagated-inputs
5637 (list go-github-com-cockroachdb-errors))
5638 (home-page "https://github.com/cockroachdb/metamorphic")
5639 (synopsis "Metamorphic-style testing in Golang")
5640 (description
5641 "This Package provides facilities for running metamorphic, property-based
5642testing. By running logically equivalent operations with different
5643conditions, metamorphic tests can identify bugs without requiring an oracle.")
5644 (license license:asl2.0)))
5645
5646(define-public go-github-com-coder-websocket
5647 (package
5648 (name "go-github-com-coder-websocket")
5649 (version "1.8.14")
5650 (source
5651 (origin
5652 (method git-fetch)
5653 (uri (git-reference
5654 (url "https://github.com/coder/websocket")
5655 (commit (string-append "v" version))))
5656 (file-name (git-file-name name version))
5657 (sha256
5658 (base32 "15i1sri7ym9mhl5z6nlps7hhr874nprk1cdic0aq3v8g7fyqmh2w"))
5659 (modules '((guix build utils)))
5660 (snippet
5661 #~(begin
5662 ;; Submodules with their own go.mod files and packaged separately:
5663 ;;
5664 ;; - github.com/coder/websocket/internal/thirdparty
5665 (delete-file-recursively "internal/thirdparty")))))
5666 (build-system go-build-system)
5667 (arguments
5668 (list #:import-path "github.com/coder/websocket"))
5669 (native-inputs
5670 (list go-golang-org-x-time)) ; for examples
5671 (home-page "https://github.com/coder/websocket")
5672 (synopsis "WebSocket library for Go")
5673 (description
5674 "@code{websocket} is a minimal and idiomatic
5675@url{https://websockets.spec.whatwg.org/, WebSocket} library for Go.
5676
5677Main features:
5678@itemize
5679@item Minimal and idiomatic API.
5680@item First class @url{https://blog.golang.org/context, context.Context}
5681support.
5682@item Fully passes the WebSocket
5683@url{https://github.com/crossbario/autobahn-testsuite, autobahn-testsuite}.
5684@item @url{https://pkg.go.dev/github.com/coder/websocket?tab=imports,
5685Zero dependencies}.
5686@item JSON helpers in the @url{https://pkg.go.dev/github.com/coder/websocket/wsjson,
5687wsjson} subpackage
5688@item Zero alloc reads and writes.
5689@item Concurrent writes.
5690@item @url{https://pkg.go.dev/github.com/coder/websocket#Conn.Close,
5691Close handshake}.
5692@item @url{https://pkg.go.dev/github.com/coder/websocket#NetConn, net.Conn}
5693wrapper
5694@item @url{https://pkg.go.dev/github.com/coder/websocket#Conn.Ping, Ping pong}
5695API.
5696@item @url{https://tools.ietf.org/html/rfc7692, RFC 7692} permessage-deflate
5697compression.
5698@item @url{https://pkg.go.dev/github.com/coder/websocket#Conn.CloseRead,
5699CloseRead} helper for write only connections
5700@item Compile to @url{https://pkg.go.dev/github.com/coder/websocket#hdr-Wasm,
5701Wasm}.
5702@end itemize")
5703 (license license:isc)))
5704
5705(define-public go-github-com-colinmarc-hdfs-v2
5706 (package
5707 (name "go-github-com-colinmarc-hdfs-v2")
5708 (version "2.4.0")
5709 (source
5710 (origin
5711 (method git-fetch)
5712 (uri (git-reference
5713 (url "https://github.com/colinmarc/hdfs")
5714 (commit (string-append "v" version))))
5715 (file-name (git-file-name name version))
5716 (sha256
5717 (base32 "01ywhbnxgl2k0dy2ngwa3pci8px0z5ffkn7ar5pajhd6l8vg07w6"))))
5718 (build-system go-build-system)
5719 (arguments
5720 (list
5721 #:import-path "github.com/colinmarc/hdfs/v2"
5722 #:test-subdirs
5723 ;; XXX: The most of the tests require network access and can't load
5724 ;; ambient config.
5725 #~(list "hadoopconf"
5726 "internal/rpc"
5727 "internal/sasl"
5728 "internal/transfer")))
5729 (native-inputs
5730 (list go-github-com-stretchr-testify))
5731 (propagated-inputs
5732 (list go-github-com-jcmturner-gokrb5-v8
5733 go-github-com-pborman-getopt
5734 go-google-golang-org-protobuf))
5735 (home-page "https://github.com/colinmarc/hdfs")
5736 (synopsis "HDFS for Go")
5737 (description
5738 "This package provides a native, idiomatic interface to HDFS. Where possible,
5739it mimics the functionality and signatures of the standard `os` package.")
5740 (license license:expat)))
5741
5742(define-public go-github-com-containerd-containerd-api
5743 (package
5744 (name "go-github-com-containerd-containerd-api")
5745 (version "1.8.0")
5746 (source
5747 (origin
5748 (method git-fetch)
5749 (uri (git-reference
5750 (url "https://github.com/containerd/containerd")
5751 (commit (go-version->git-ref version
5752 #:subdir "api"))))
5753 (file-name (git-file-name name version))
5754 (sha256
5755 (base32 "0pmcgi5jdcf0cx6z6qlppzqqwf6fhglfxd4sdr00wgbhvhfzchm3"))
5756 (modules '((guix build utils)))
5757 (snippet #~(delete-all-but "." "api"))))
5758 (build-system go-build-system)
5759 (arguments
5760 (list
5761 #:import-path "github.com/containerd/containerd/api"
5762 #:unpack-path "github.com/containerd/containerd"))
5763 (propagated-inputs
5764 (list go-github-com-containerd-ttrpc
5765 go-github-com-containerd-typeurl-v2
5766 go-github-com-opencontainers-image-spec
5767 go-google-golang-org-genproto-googleapis-rpc
5768 go-google-golang-org-grpc
5769 go-google-golang-org-protobuf))
5770 (home-page "https://github.com/containerd/containerd")
5771 (synopsis "Go package for gRPC API for containerd")
5772 (description
5773 "This Go package provides the gRPC API for containerd.")
5774 (license license:asl2.0)))
5775
5776(define-public go-github-com-containerd-go-cni
5777 (package
5778 (name "go-github-com-containerd-go-cni")
5779 (version "1.1.13")
5780 (source
5781 (origin
5782 (method git-fetch)
5783 (uri (git-reference
5784 (url "https://github.com/containerd/go-cni")
5785 (commit (string-append "v" version))))
5786 (file-name (git-file-name name version))
5787 (sha256
5788 (base32 "09j4arw5x8qx2blck9g5m6a7bwmfsyjpcmfznilklyypaqn7ri5z"))
5789 (modules '((guix build utils)))
5790 (snippet
5791 #~(begin
5792 ;; Submodules with their own go.mod files and packaged separately:
5793 ;;
5794 ;; - github.com/containerd/go-cni/integration
5795 (delete-file-recursively "integration")))))
5796 (build-system go-build-system)
5797 (arguments
5798 (list
5799 #:import-path "github.com/containerd/go-cni"))
5800 (native-inputs
5801 (list go-github-com-stretchr-testify))
5802 (propagated-inputs
5803 (list go-github-com-containernetworking-cni
5804 go-github-com-sasha-s-go-deadlock))
5805 (home-page "https://github.com/containerd/go-cni")
5806 (synopsis "Generic CNI library to provide APIs for CNI plugin interactions")
5807 (description
5808 "This package provides a generic @acronym{Container Network Interface, CNI}
5809library to provide APIs for CNI plugin interactions.")
5810 (license license:asl2.0)))
5811
5812(define-public go-github-com-containerd-nri
5813 ;; TODO: Move to (gnu packages containers).
5814 (package
5815 (name "go-github-com-containerd-nri")
5816 (version "0.12.0")
5817 (source
5818 (origin
5819 (method git-fetch)
5820 (uri (git-reference
5821 (url "https://github.com/containerd/nri")
5822 (commit (string-append "v" version))))
5823 (file-name (git-file-name name version))
5824 (sha256
5825 (base32 "0xa6sndksmpissnsabaxi1k2zzvp71i62s1rgb03qy7zvxsymh9d"))
5826 (modules '((guix build utils)))
5827 (snippet
5828 #~(begin
5829 ;; Submodules with their own go.mod files and packaged separately:
5830 (for-each delete-file-recursively
5831 (list "examples"
5832 "plugins/device-injector"
5833 "plugins/differ"
5834 "plugins/hook-injector"
5835 "plugins/logger"
5836 "plugins/network-device-injector"
5837 "plugins/network-logger"
5838 "plugins/template"
5839 "plugins/ulimit-adjuster"
5840 "plugins/v010-adapter"
5841 "plugins/wasm"))))))
5842 (build-system go-build-system)
5843 (arguments
5844 (list
5845 #:import-path "github.com/containerd/nri"))
5846 (native-inputs
5847 (list go-github-com-stretchr-testify
5848 go-github-com-onsi-gomega
5849 go-github-com-onsi-ginkgo-v2))
5850 (propagated-inputs
5851 (list go-github-com-brianvoe-gofakeit-v7
5852 go-github-com-containerd-ttrpc
5853 go-github-com-google-go-cmp
5854 go-github-com-knqyf263-go-plugin
5855 go-github-com-moby-sys-mountinfo
5856 go-github-com-opencontainers-runtime-spec
5857 go-github-com-opencontainers-runtime-tools
5858 go-github-com-sirupsen-logrus
5859 go-github-com-tetratelabs-wazero
5860 go-golang-org-x-mod
5861 go-golang-org-x-sys
5862 go-google-golang-org-grpc
5863 go-google-golang-org-protobuf
5864 go-gopkg-in-yaml-v3))
5865 (home-page "https://github.com/containerd/nri")
5866 (synopsis "Node Resource Interface")
5867 (description
5868 "This package implements a functionality plugin domain or vendor specific
5869custom logic into OCI - compatible runtimes. This logic can make controlled
5870changes to containers or perform extra actions outside the scope of OCI at
5871certain points in a containers lifecycle. This can be used, for instance, for
5872improved allocation and management of devices and other container resources.")
5873 (license license:asl2.0)))
5874
5875(define-public go-github-com-containerd-otelttrpc
5876 (package
5877 (name "go-github-com-containerd-otelttrpc")
5878 (version "0.1.0")
5879 (source
5880 (origin
5881 (method git-fetch)
5882 (uri (git-reference
5883 (url "https://github.com/containerd/otelttrpc")
5884 (commit (string-append "v" version))))
5885 (file-name (git-file-name name version))
5886 (sha256
5887 (base32 "1npi48pj4g0w1s1wwqky146xc10i4r9dpc5mcgm0nbjpk1f0ixwb"))))
5888 (build-system go-build-system)
5889 (arguments
5890 (list
5891 #:import-path "github.com/containerd/otelttrpc"
5892 #:phases
5893 #~(modify-phases %standard-phases
5894 (add-after 'unpack 'remove-examples
5895 (lambda* (#:key import-path #:allow-other-keys)
5896 (with-directory-excursion (string-append "src/" import-path)
5897 (delete-file-recursively "example")))))))
5898 (native-inputs
5899 (list go-github-com-stretchr-testify))
5900 (propagated-inputs
5901 (list go-github-com-containerd-ttrpc
5902 go-go-opentelemetry-io-otel
5903 go-go-opentelemetry-io-otel-metric
5904 go-go-opentelemetry-io-otel-sdk
5905 go-go-opentelemetry-io-otel-trace
5906 go-google-golang-org-grpc
5907 go-google-golang-org-protobuf))
5908 (home-page "https://github.com/containerd/otelttrpc")
5909 (synopsis "Opentelemetry instrumentation support for ttRPC")
5910 (description
5911 "This package implements Opentelemetry instrumentation support for
5912@code{ttRPC}. The interceptors can be passed as @code{ttrpc.ClientOpts} and
5913ttrpc.@code{ServerOpt} to @code{ttRPC} during client and server creation. The
5914interceptors then automatically handle generating trace spans for all called
5915and served unary method calls. If the rest of the code is properly set up to
5916collect and export tracing data to opentelemetry, these spans should show up
5917as part of the collected traces.")
5918 (license license:asl2.0)))
5919
5920(define-public go-github-com-containerd-protobuild
5921 (package
5922 (name "go-github-com-containerd-protobuild")
5923 (version "0.3.0")
5924 (source
5925 (origin
5926 (method git-fetch)
5927 (uri (git-reference
5928 (url "https://github.com/containerd/protobuild")
5929 (commit (string-append "v" version))))
5930 (file-name (git-file-name name version))
5931 (sha256
5932 (base32 "1f44q37qlzh1fkqx4fvhw00fdy191j0253lpjzw5icakjxir3dkp"))))
5933 (build-system go-build-system)
5934 (arguments
5935 (list
5936 #:import-path "github.com/containerd/protobuild"
5937 ;; rewrite_test.go:45: expected "//hello\npackage main\n\nfunc GetCPU()
5938 ;; {}\n", but got "// hello\npackage main\n\nfunc GetCPU() {}\n"
5939 #:test-flags #~(list "-skip" "TestRewrite/Simple")))
5940 (propagated-inputs
5941 (list go-github-com-golang-protobuf
5942 go-github-com-pelletier-go-toml
5943 go-golang-org-x-tools
5944 go-google-golang-org-grpc
5945 go-google-golang-org-protobuf))
5946 (home-page "https://github.com/containerd/protobuild")
5947 (synopsis "Protobufs builder")
5948 (description
5949 "@code{protobuild} works by scanning the Golang package in a project and
5950emitting correct protoc commands, configured with the plugins, packages and
5951details of your choice. The main benefit is that it makes it much easier to
5952consume external types from vendored projects. By integrating the protoc
5953include paths with Go's vendoring and GOPATH, builds are much easier to keep
5954consistent across a project. This package provides a source library and built
5955command @command{protobuild}.")
5956 (license license:asl2.0)))
5957
5958(define-public go-github-com-containerd-ttrpc
5959 (package
5960 (name "go-github-com-containerd-ttrpc")
5961 (version "1.2.7")
5962 (source
5963 (origin
5964 (method git-fetch)
5965 (uri (git-reference
5966 (url "https://github.com/containerd/ttrpc")
5967 (commit (string-append "v" version))))
5968 (file-name (git-file-name name version))
5969 (sha256
5970 (base32 "0fcd9nqkj1iz95h16i8ygiiazvbzmgrawpnvqcpbfhjwkx3sc1m1"))))
5971 (build-system go-build-system)
5972 (arguments
5973 (list
5974 #:import-path "github.com/containerd/ttrpc"))
5975 (propagated-inputs
5976 (list go-github-com-containerd-log
5977 go-github-com-gogo-protobuf
5978 go-github-com-golang-protobuf
5979 go-github-com-prometheus-procfs
5980 go-golang-org-x-sys
5981 go-google-golang-org-genproto-googleapis-rpc
5982 go-google-golang-org-grpc
5983 go-google-golang-org-protobuf))
5984 (home-page "https://github.com/containerd/ttrpc")
5985 (synopsis "Go package for gRPC for low-memory environments")
5986 (description
5987 "Package ttrpc defines and implements a low level simple transfer protocol
5988optimized for low latency and reliable connections between processes on the
5989same host. The protocol uses simple framing for sending requests, responses,
5990and data using multiple streams.")
5991 (license license:asl2.0)))
5992
5993(define-public go-github-com-containerd-typeurl
5994 (package
5995 (name "go-github-com-containerd-typeurl")
5996 (version "1.0.2")
5997 (source
5998 (origin
5999 (method git-fetch)
6000 (uri (git-reference
6001 (url "https://github.com/containerd/typeurl")
6002 (commit (string-append "v" version))))
6003 (file-name (git-file-name name version))
6004 (sha256
6005 (base32 "0wvfxlxgkln11d9s6rxay965c715bnpk203klbsq8m8qpjqrz620"))))
6006 (build-system go-build-system)
6007 (arguments
6008 (list #:import-path "github.com/containerd/typeurl"))
6009 (propagated-inputs
6010 (list go-github-com-gogo-protobuf
6011 go-github-com-pkg-errors))
6012 (home-page "https://github.com/containerd/typeurl")
6013 (synopsis "Managing marshaled types to @code{protobuf.Any}")
6014 (description
6015 "This package implements a functionality of managing the registration,
6016marshaling, and unmarshaling of encoded types. It helps when types are sent
6017over a ttrpc/GRPC API and marshaled as a protobuf
6018@url{https://pkg.go.dev/google.golang.org/protobuf@@v1.27.1/types/known/anypb#Any,
6019Any}.")
6020 (license license:asl2.0)))
6021
6022(define-public go-github-com-containerd-typeurl-v2
6023 (package
6024 (inherit go-github-com-containerd-typeurl)
6025 (name "go-github-com-containerd-typeurl-v2")
6026 (version "2.2.0")
6027 (source
6028 (origin
6029 (method git-fetch)
6030 (uri (git-reference
6031 (url "https://github.com/containerd/typeurl")
6032 (commit (string-append "v" version))))
6033 (file-name (git-file-name name version))
6034 (sha256
6035 (base32 "1n43s8zqwwrvpzb0pczm73xx4w8yb96ax31cripzxmfhj43z21b5"))))
6036 (arguments
6037 (list #:import-path "github.com/containerd/typeurl/v2"))
6038 (propagated-inputs
6039 (list go-github-com-gogo-protobuf
6040 go-google-golang-org-protobuf))))
6041
6042(define-public go-github-com-containernetworking-cni
6043 (package
6044 (name "go-github-com-containernetworking-cni")
6045 (version "1.3.0")
6046 (source
6047 (origin
6048 (method git-fetch)
6049 (uri (git-reference
6050 (url "https://github.com/containernetworking/cni")
6051 (commit (string-append "v" version))))
6052 (file-name (git-file-name name version))
6053 (sha256
6054 (base32 "1x4apykvfwbx282hgrc9151rb1kx9w40kzfv78x548hrryqa7rn5"))
6055 (modules '((guix build utils)))
6056 (snippet
6057 #~(begin
6058 ;; Submodules with their own go.mod files and packaged separately:
6059 ;;
6060 ;; - github.com/containernetworking/cni/plugins/debug
6061 (delete-file-recursively "plugins/debug")))))
6062 (build-system go-build-system)
6063 (arguments
6064 (list
6065 #:skip-build? #t
6066 #:import-path "github.com/containernetworking/cni"
6067 #:test-flags
6068 ;; Some tests depend on go modules
6069 #~(list "-skip" "TestLibcni|TestInvoke|TestLegacyExamples|TestTesthelpers")))
6070 (native-inputs
6071 (list go-github-com-onsi-ginkgo-v2
6072 go-github-com-onsi-gomega))
6073 (propagated-inputs
6074 (list go-github-com-vishvananda-netns))
6075 (home-page "https://www.cni.dev/")
6076 (synopsis "Container Network Interface")
6077 (description
6078 "This package provides a specification and libraries for writing plugins to
6079configure network interfaces in Linux containers, along with a number of
6080supported plugins.")
6081 (license license:asl2.0)))
6082
6083(define-public go-github-com-containernetworking-plugins
6084 (package
6085 (name "go-github-com-containernetworking-plugins")
6086 (version "1.9.0")
6087 (source
6088 (origin
6089 (method git-fetch)
6090 (uri (git-reference
6091 (url "https://github.com/containernetworking/plugins")
6092 (commit (string-append "v" version))))
6093 (file-name (git-file-name name version))
6094 (sha256
6095 (base32 "0l3jgbizq0yaxld07hsdbh6ix2w6i789101ddk0ldnsmr93jg6ni"))
6096 (modules '((guix build utils)))
6097 (snippet
6098 #~(begin
6099 (delete-file-recursively "vendor")))))
6100 (build-system go-build-system)
6101 (arguments
6102 (list
6103 #:skip-build? #t
6104 #:tests? #f ;access to /var is required
6105 #:import-path "github.com/containernetworking/plugins"))
6106 (propagated-inputs
6107 (list go-github-com-alexflint-go-filemutex
6108 go-github-com-buger-jsonparser
6109 go-github-com-containernetworking-cni
6110 go-github-com-coreos-go-iptables
6111 go-github-com-coreos-go-systemd-v22
6112 go-github-com-godbus-dbus-v5
6113 go-github-com-insomniacslk-dhcp
6114 go-github-com-mattn-go-shellwords
6115 ;; go-github-com-microsoft-hcsshim ;Windows only
6116 go-github-com-networkplumbing-go-nft
6117 go-github-com-opencontainers-selinux
6118 go-github-com-pkg-errors
6119 go-github-com-safchain-ethtool
6120 go-github-com-vishvananda-netlink
6121 go-github-com-vishvananda-netns
6122 go-golang-org-x-sys
6123 go-sigs-k8s-io-knftables))
6124 (home-page "https://github.com/containernetworking/plugins")
6125 (synopsis "Reference and example networking plugins")
6126 (description
6127 "Some @url{https://www.cni.dev, CNI} network plugins, maintained by the
6128containernetworking team.")
6129 (license license:asl2.0)))
6130
6131(define-public go-github-com-coreos-go-iptables
6132 (package
6133 (name "go-github-com-coreos-go-iptables")
6134 (version "0.8.0")
6135 (source
6136 (origin
6137 (method git-fetch)
6138 (uri (git-reference
6139 (url "https://github.com/coreos/go-iptables")
6140 (commit (string-append "v" version))))
6141 (file-name (git-file-name name version))
6142 (sha256
6143 (base32 "0xxzqz9np93d8iig5dwjjpb78pqdj74zr91qb11r7g30nkcak5sw"))))
6144 (build-system go-build-system)
6145 (arguments
6146 (list
6147 #:skip-build? #t
6148 #:tests? #f ;tests need access to iptables
6149 #:import-path "github.com/coreos/go-iptables"))
6150 (home-page "https://github.com/coreos/go-iptables")
6151 (synopsis "Wrapper around iptables utility for Golang")
6152 (description
6153 "This package provides Go bindings for iptables utility. In-kernel
6154netfilter does not have a good userspace API. The tables are manipulated via
6155setsockopt that sets/replaces the entire table. Changes to existing table
6156need to be resolved by userspace code which is difficult and error-prone.
6157Netfilter developers heavily advocate using iptables utility for programmatic
6158manipulation. go-iptables wraps invocation of iptables utility with functions
6159to append and delete rules; create, clear and delete chains.")
6160 (license license:asl2.0)))
6161
6162(define-public go-github-com-coreos-go-oidc
6163 (package
6164 (name "go-github-com-coreos-go-oidc")
6165 (version "2.3.0")
6166 (source
6167 (origin
6168 (method git-fetch)
6169 (uri (git-reference
6170 (url "https://github.com/coreos/go-oidc")
6171 (commit (string-append "v" version))))
6172 (file-name (git-file-name name version))
6173 (sha256
6174 (base32 "180wnxiim622v17xcnrjrg9g07mg4xizmlxxyrl9p42is0abi9c8"))))
6175 (build-system go-build-system)
6176 (arguments
6177 (list
6178 #:import-path "github.com/coreos/go-oidc"))
6179 (native-inputs
6180 (list go-golang-org-x-net))
6181 (propagated-inputs
6182 (list go-github-com-pquerna-cachecontrol
6183 go-golang-org-x-oauth2
6184 go-gopkg-in-go-jose-go-jose-v2))
6185 (home-page "https://github.com/coreos/go-oidc")
6186 (synopsis "OpenID Connect support for Go")
6187 (description
6188 "This package enables OpenID Connect support for the
6189@code{go-golang-org-x-oauth2} package.")
6190 (license license:asl2.0)))
6191
6192(define-public go-github-com-coreos-go-oidc-v3
6193 (package
6194 (inherit go-github-com-coreos-go-oidc)
6195 (name "go-github-com-coreos-go-oidc-v3")
6196 (version "3.11.0")
6197 (source
6198 (origin
6199 (method git-fetch)
6200 (uri (git-reference
6201 (url "https://github.com/coreos/go-oidc")
6202 (commit (string-append "v" version))))
6203 (file-name (git-file-name name version))
6204 (sha256
6205 (base32 "00nbv15pjfcfxdy0i4k366ricdm2cylhpwak3hmjlgh6lrzxypl9"))))
6206 (arguments
6207 (list
6208 #:import-path "github.com/coreos/go-oidc/v3"
6209 #:phases
6210 #~(modify-phases %standard-phases
6211 ;; XXX: Workaround for go-build-system's lack of Go modules
6212 ;; support.
6213 (delete 'build)
6214 (replace 'check
6215 (lambda* (#:key tests? import-path #:allow-other-keys)
6216 (when tests?
6217 (with-directory-excursion (string-append "src/" import-path)
6218 (invoke "go" "test" "-v" "./..."))))))))
6219 (propagated-inputs
6220 (list go-github-com-go-jose-go-jose-v4
6221 go-golang-org-x-net
6222 go-golang-org-x-oauth2))))
6223
6224(define-public go-github-com-coreos-stream-metadata-go
6225 (package
6226 (name "go-github-com-coreos-stream-metadata-go")
6227 (version "0.4.10")
6228 (source
6229 (origin
6230 (method git-fetch)
6231 (uri (git-reference
6232 (url "https://github.com/coreos/stream-metadata-go")
6233 (commit (string-append "v" version))))
6234 (file-name (git-file-name name version))
6235 (sha256
6236 (base32 "03kslxzjqk4q9bvazrilaif91p58q0zm2wymd9rlpd0zfn73v99y"))))
6237 (build-system go-build-system)
6238 (arguments
6239 (list
6240 #:skip-build? #t
6241 #:import-path "github.com/coreos/stream-metadata-go"))
6242 (native-inputs
6243 (list go-github-com-stretchr-testify))
6244 (home-page "https://github.com/coreos/stream-metadata-go")
6245 (synopsis "Parsing Fedora CoreOS streams for Golang")
6246 (description
6247 "This package implements a functionality to exposes API to decode
6248@url{https://docs.fedoraproject.org/en-US/fedora-coreos/getting-started/,
6249Fedora CoreOS streams} into Go structs, as well as a convenience API to find
6250the URL for a given stream.")
6251 (license license:asl2.0)))
6252
6253(define-public go-github-com-cretz-bine
6254 (package
6255 ;; This package can be used with CGO to statically compile Tor. This
6256 ;; package expects <https://github.com/cretz/tor-static> to be cloned at
6257 ;; $GOPATH/src/github.com/cretz/tor-static as if it was fetched with go
6258 ;; get. If you use go modules the expected path would be
6259 ;; $GOPATH/pkg/mod/github.com/cretz/tor-static libs. See
6260 ;; <https://github.com/cretz/bine/blob/v0.2.0/process/embedded/process.go#L7>.
6261 (name "go-github-com-cretz-bine")
6262 (version "0.2.0")
6263 (source
6264 (origin
6265 (method git-fetch)
6266 (uri (git-reference
6267 (url "https://github.com/cretz/bine")
6268 (commit (string-append "v" version))))
6269 (file-name (git-file-name name version))
6270 (sha256
6271 (base32 "16h7j7v4qbwb7zjsbc1p3b67xji7hgis95znz9cj8fw3rqxwvkcs"))))
6272 (build-system go-build-system)
6273 (arguments
6274 (list
6275 #:import-path "github.com/cretz/bine"
6276 #:test-subdirs #~(list "tests/..." "torutil/...")
6277 #:phases
6278 #~(modify-phases %standard-phases
6279 (add-after 'unpack 'remove-examples
6280 (lambda* (#:key import-path #:allow-other-keys)
6281 (with-directory-excursion (string-append "src/" import-path)
6282 (delete-file-recursively "examples")))))))
6283 (native-inputs
6284 (list go-github-com-stretchr-testify))
6285 (propagated-inputs
6286 (list go-golang-org-x-crypto
6287 go-golang-org-x-net))
6288 (home-page "https://github.com/cretz/bine")
6289 (synopsis "Accessing and embedding Tor clients and servers from Golang")
6290 (description
6291 "Bine is a toolkit to assist in creating Tor clients and servers.
6292Features:
6293@itemize
6294@item full support for the Tor controller API
6295@item support for @code{net.Conn} and @code{net.Listen} style APIs
6296@item supports statically compiled Tor to embed Tor into the binary
6297@item supports v3 onion services
6298@item support for embedded control socket in Tor >= 0.3.5
6299@end itemize")
6300 (license license:expat)))
6301
6302(define-public go-github-com-d99kris-nchat-lib-wmchat-go
6303 (package
6304 (name "go-github-com-d99kris-nchat-lib-wmchat-go")
6305 (version "5.18.20")
6306 (source
6307 (origin
6308 (method git-fetch)
6309 (uri (git-reference
6310 (url "https://github.com/d99kris/nchat")
6311 (commit (string-append "v" version))))
6312 (file-name (git-file-name name version))
6313 (sha256
6314 (base32 "014g7vc32dpdjljj1ahph52zjhll1sn1qx5dki3nkvvaijis696l"))
6315 (modules '((guix build utils)))
6316 (snippet
6317 #~(begin
6318 (delete-all-but "." "lib")
6319 (delete-all-but "lib" "wmchat")
6320 (delete-all-but "lib/wmchat" "go")
6321 (delete-file "lib/wmchat/go/CMakeLists.txt")
6322 (substitute* "lib/wmchat/go/go.mod"
6323 (("^replace go\\.mau\\.fi/whatsmeow => .*") ""))))))
6324 (build-system go-build-system)
6325 (arguments
6326 (list
6327 #:tests? #f ;This package is a sub-module of nchat
6328 #:import-path "github.com/d99kris/nchat/lib/wmchat/go"
6329 #:unpack-path "github.com/d99kris/nchat"
6330 #:embed-files
6331 #~(list ".*\\.sql"
6332 ".*\\.json"
6333 ".*\\.argo")
6334 #:phases
6335 #~(modify-phases %standard-phases
6336 (add-after 'unpack 'apply-whatsmeow-nchat-patch
6337 (lambda* (#:key inputs #:allow-other-keys)
6338 (let* ((patch #$(local-file
6339 (search-patch "nchat-whatsmeow.patch")))
6340 (whatsmeow "src/go.mau.fi/whatsmeow")
6341 (download (string-append whatsmeow "/download.go"))
6342 (frame (string-append whatsmeow "/socket/framesocket.go"))
6343 (download-src (search-input-file inputs download))
6344 (frame-src (search-input-file inputs frame)))
6345 (delete-file download)
6346 (delete-file frame)
6347 (copy-file download-src download)
6348 (copy-file frame-src frame)
6349 (with-directory-excursion whatsmeow
6350 (invoke "patch" "--force" "--no-backup-if-mismatch"
6351 "-p1" "--input" patch)))))
6352 (add-after 'install 'build-install-libcgowm
6353 (lambda _
6354 (with-directory-excursion
6355 "src/github.com/d99kris/nchat/lib/wmchat/go"
6356 (invoke "go" "build" "-buildmode=c-shared"
6357 "-o" "libcgowm.so" ".")
6358 (for-each (lambda (file dir)
6359 (install-file file
6360 (string-append #$output dir)))
6361 '("libcgowm.so" "libcgowm.h")
6362 '("/lib" "/include"))))))))
6363 (propagated-inputs
6364 (list go-go-mau-fi-whatsmeow
6365 go-github-com-mattn-go-sqlite3
6366 go-github-com-mdp-qrterminal
6367 go-github-com-skip2-go-qrcode
6368 go-go-mau-fi-libsignal
6369 go-google-golang-org-protobuf))
6370 (home-page "https://github.com/d99kris/nchat")
6371 (synopsis "Go sub-module for @code{nchat}")
6372 (description
6373 "This package provides the Go sub-module to build the @code{libcgowm},
6374a whatsapp protocal library for @code{nchat} messaging package.")
6375 (license license:expat)))
6376
6377(define-public go-github-com-danielgtaylor-huma-v2
6378 (package
6379 (name "go-github-com-danielgtaylor-huma-v2")
6380 (version "2.38.0")
6381 (source
6382 (origin
6383 (method git-fetch)
6384 (uri (git-reference
6385 (url "https://github.com/danielgtaylor/huma")
6386 (commit (string-append "v" version))))
6387 (file-name (git-file-name name version))
6388 (sha256
6389 (base32 "18q6r7dg21fbmgryr6yc79mva0vn3jrbb8fvhh92fh5ibib55lmq"))))
6390 (build-system go-build-system)
6391 (arguments
6392 (list
6393 #:import-path "github.com/danielgtaylor/huma/v2"
6394 #:test-flags
6395 ;; Tests require local network setup.
6396 #~(list "-skip" (string-join
6397 (list "ExampleResolver"
6398 "TestAdapters/go"
6399 "TestBodyFallbackContentType"
6400 "TestFeatures"
6401 "TestWriteResponseTransformErrorStatus")
6402 "|"))
6403 #:phases
6404 #~(modify-phases %standard-phases
6405 (add-after 'unpack 'remove-examples
6406 (lambda* (#:key import-path #:allow-other-keys)
6407 (with-directory-excursion (string-append "src/" import-path)
6408 (delete-file-recursively "examples")))))))
6409 (native-inputs
6410 (list go-github-com-stretchr-testify
6411 go-github-com-spf13-cobra
6412 go-github-com-spf13-pflag))
6413 (propagated-inputs
6414 (list go-github-com-danielgtaylor-shorthand-v2
6415 go-github-com-evanphx-json-patch-v5
6416 go-github-com-fxamacker-cbor-v2
6417 go-github-com-gin-gonic-gin
6418 go-github-com-go-chi-chi-v5
6419 go-github-com-gofiber-fiber-v2
6420 go-github-com-gofiber-fiber-v3
6421 go-github-com-google-uuid
6422 go-github-com-gorilla-mux
6423 go-github-com-julienschmidt-httprouter
6424 go-github-com-labstack-echo-v4
6425 go-github-com-uptrace-bunrouter))
6426 (home-page "https://github.com/danielgtaylor/huma")
6427 (synopsis "REST/HTTP API Framework for Golang")
6428 (description
6429 "This package provides a framework for building REST APIs in Go. It is
6430designed to generate @code{OpenAPI} 3.1 specifications and JSON Schema
6431documents describing the API and providing a quick & easy way to generate
6432docs, mocks, SDKs, CLI clients, and more.")
6433 (license license:expat)))
6434
6435(define-public go-github-com-datadog-datadog-go
6436 (package
6437 (name "go-github-com-datadog-datadog-go")
6438 (version "4.8.3")
6439 (source
6440 (origin
6441 (method git-fetch)
6442 (uri (git-reference
6443 (url "https://github.com/DataDog/datadog-go")
6444 (commit (string-append "v" version))))
6445 (file-name (git-file-name name version))
6446 (sha256
6447 (base32 "03dc3ld9zyynhmslzlciry6rs06hvd1c5finjip9vj300xaybazl"))))
6448 (build-system go-build-system)
6449 (arguments
6450 (list
6451 #:import-path "github.com/DataDog/datadog-go"
6452 #:phases
6453 #~(modify-phases %standard-phases
6454 ;; XXX: Workaround for go-build-system's lack of Go modules
6455 ;; support.
6456 (delete 'build)
6457 (replace 'check
6458 (lambda* (#:key tests? import-path #:allow-other-keys)
6459 (when tests?
6460 (with-directory-excursion (string-append "src/" import-path)
6461 (invoke "go" "test" "-v" "./..."))))))))
6462 (native-inputs
6463 (list go-github-com-stretchr-testify))
6464 (home-page "https://github.com/DataDog/datadog-go")
6465 (synopsis "Golang client library to work with DataDog's API")
6466 (description
6467 "@code{datadog-go} is a library that provides a
6468@url{https://docs.datadoghq.com/developers/dogstatsd/?code-lang=go,@code{DogStatsD}}
6469client in Golang.")
6470 (license license:expat)))
6471
6472(define-public go-github-com-datadog-datadog-go-v5
6473 (package
6474 (inherit go-github-com-datadog-datadog-go)
6475 (name "go-github-com-datadog-datadog-go-v5")
6476 (version "5.5.0")
6477 (source
6478 (origin
6479 (method git-fetch)
6480 (uri (git-reference
6481 (url "https://github.com/DataDog/datadog-go")
6482 (commit (string-append "v" version))))
6483 (file-name (git-file-name name version))
6484 (sha256
6485 (base32 "05cw8n2hv8sa6s4qi4xkkv75y9bzn5qdqx1hv5g9h49cw92rkcas"))))
6486 (arguments
6487 (substitute-keyword-arguments
6488 (package-arguments go-github-com-datadog-datadog-go)
6489 ((#:import-path _) "github.com/DataDog/datadog-go/v5")))
6490 (native-inputs
6491 (modify-inputs native-inputs
6492 (append go-github-com-golang-mock)))))
6493
6494(define-public go-github-com-davecgh-go-xdr
6495 (package
6496 (name "go-github-com-davecgh-go-xdr")
6497 (version "0.0.0-20161123171359-e6a2ba005892")
6498 (source
6499 (origin
6500 (method git-fetch)
6501 (uri (git-reference
6502 (url "https://github.com/davecgh/go-xdr")
6503 (commit (go-version->git-ref version))))
6504 (file-name (git-file-name name version))
6505 (sha256
6506 (base32
6507 "0vifrz4iil4r7k8sz5iqlfbh80ysgs5abp2simgyhsbrkxrrsrrd"))))
6508 (build-system go-build-system)
6509 (arguments
6510 (list
6511 #:import-path "github.com/davecgh/go-xdr/xdr2"
6512 #:unpack-path "github.com/davecgh/go-xdr"))
6513 (home-page "https://github.com/davecgh/go-xdr")
6514 (synopsis "Pure Go implementation of the XDR standard")
6515 (description
6516 "@code{go-xdr} implements the data representation portion of the External
6517Data Representation (XDR) standard protocol as specified in RFC
65184506 (obsoletes RFC 1832 and RFC 1014) in pure Go.")
6519 (license license:isc)))
6520
6521(define-public go-github-com-digitalocean-godo
6522 (package
6523 (name "go-github-com-digitalocean-godo")
6524 (version "1.151.0")
6525 (source
6526 (origin
6527 (method git-fetch)
6528 (uri (git-reference
6529 (url "https://github.com/digitalocean/godo")
6530 (commit (string-append "v" version))))
6531 (file-name (git-file-name name version))
6532 (sha256
6533 (base32 "02nwqlz2fxv74h4bhd8yp02s0zfxb1d7jmp4yydgbz7psk296j98"))))
6534 (build-system go-build-system)
6535 (arguments
6536 (list
6537 #:import-path "github.com/digitalocean/godo"
6538 #:test-flags
6539 #~(list "-skip" (string-join
6540 ;; Tests requiring networking setup.
6541 (list "TestRegistries_DeleteManifest"
6542 "TestRegistries_DeleteTag"
6543 "TestRegistries_ListRepositoryManifests"
6544 "TestRegistries_ListRepositoryTags"
6545 "TestRegistry_DeleteManifest"
6546 "TestRegistry_DeleteTag"
6547 "TestRegistry_ListManifests"
6548 "TestRepository_ListTags")
6549 "|")
6550 "-vet=off")))
6551 (native-inputs
6552 (list go-github-com-stretchr-testify))
6553 (propagated-inputs
6554 (list go-github-com-google-go-querystring
6555 go-github-com-hashicorp-go-retryablehttp
6556 go-golang-org-x-oauth2
6557 go-golang-org-x-time))
6558 (home-page "https://github.com/digitalocean/godo")
6559 (synopsis "DigitalOcean Go API client")
6560 (description
6561 "Package godo is the @code{DigitalOcean} API v2 client for Go.")
6562 (license (list license:expat license:bsd-3))))
6563
6564(define-public go-github-com-dimfeld-httptreemux
6565 (package
6566 (name "go-github-com-dimfeld-httptreemux")
6567 (version "4.1.0")
6568 (source
6569 (origin
6570 (method git-fetch)
6571 (uri (git-reference
6572 (url "https://github.com/dimfeld/httptreemux")
6573 (commit (string-append "v" version))))
6574 (file-name (git-file-name name version))
6575 (sha256
6576 (base32 "1hs22xfipld6xqc0yqih6llm0m0k64slw12vhrx51r2dz91mjjrz"))))
6577 (build-system go-build-system)
6578 (arguments
6579 (list
6580 #:import-path "github.com/dimfeld/httptreemux"))
6581 (home-page "https://github.com/dimfeld/httptreemux")
6582 (synopsis "Tree-based HTTP router for Go")
6583 (description
6584 "This package provides a re-implementation of
6585@url{https://github.com/julienschmidt/httprouter, Julien Schmidt's
6586httprouter}, in that it uses a patricia tree, but the logic is rather
6587different. Specifically, the routing rules are relaxed so that a single path
6588segment may be a wildcard in one route and a static token in another.")
6589 (license license:expat)))
6590
6591(define-public go-github-com-dimfeld-httptreemux-v5
6592 (package
6593 (inherit go-github-com-dimfeld-httptreemux)
6594 (name "go-github-com-dimfeld-httptreemux-v5")
6595 (version "5.5.0")
6596 (source
6597 (origin
6598 (method git-fetch)
6599 (uri (git-reference
6600 (url "https://github.com/dimfeld/httptreemux")
6601 (commit (string-append "v" version))))
6602 (file-name (git-file-name name version))
6603 (sha256
6604 (base32 "02q700rrf9mr1bcc3nw0qh186lhv17rsmblajsgifj42n72h0llf"))))
6605 (build-system go-build-system)
6606 (arguments
6607 (list
6608 #:import-path "github.com/dimfeld/httptreemux/v5"))))
6609
6610(define-public go-github-com-docker-go-connections
6611 (package
6612 (name "go-github-com-docker-go-connections")
6613 (version "0.5.0")
6614 (source
6615 (origin
6616 (method git-fetch)
6617 (uri (git-reference
6618 (url "https://github.com/docker/go-connections")
6619 (commit (string-append "v" version))))
6620 (file-name (git-file-name name version))
6621 (sha256
6622 (base32 "0svfa9g4xvbn87l5kiww1jkijmci9g5821wjp81xz1rfp13cqrk8"))))
6623 (build-system go-build-system)
6624 (arguments
6625 (list
6626 #:import-path "github.com/docker/go-connections"
6627 #:test-flags
6628 #~(list "-skip"
6629 (string-join
6630 ;; Unable to verify certificate 1: x509: certificate signed by
6631 ;; unknown authority.
6632 (list "TestConfigClientExclusiveRootPools"
6633 "TestConfigServerExclusiveRootPools")
6634 "|"))))
6635 (home-page "https://github.com/docker/go-connections")
6636 (synopsis "Networking library for Go")
6637 (description
6638 "This package provides a library to work with network connections in the
6639Go language. In particular it provides tools to deal with network address
6640translation (NAT), proxies, sockets, and transport layer security (TLS).")
6641 (license license:asl2.0)))
6642
6643(define-public go-github-com-donovanhide-eventsource
6644 (package
6645 (name "go-github-com-donovanhide-eventsource")
6646 (version "0.0.0-20210830082556-c59027999da0")
6647 (source
6648 (origin
6649 (method git-fetch)
6650 (uri (git-reference
6651 (url "https://github.com/donovanhide/eventsource")
6652 (commit (go-version->git-ref version))))
6653 (file-name (git-file-name name version))
6654 (sha256
6655 (base32 "0c11zkhr6g5qrrkkhpshghqk1q2ksr32jqfr52kayc0ir2ypp7wq"))))
6656 (build-system go-build-system)
6657 (arguments
6658 (list
6659 #:import-path "github.com/donovanhide/eventsource"
6660 #:test-flags #~(list "-vet=off")))
6661 (home-page "https://github.com/donovanhide/eventsource")
6662 (synopsis "Server Side Events client and server for Golang")
6663 (description
6664 "Package eventsource implements a client and server to allow streaming
6665data one-way over a HTTP connection using the Server-Sent Events API
6666http://dev.w3.org/html5/eventsource/.")
6667 (license license:asl2.0)))
6668
6669(define-public go-github-com-dop251-goja
6670 (package
6671 (name "go-github-com-dop251-goja")
6672 (version "0.0.0-20260311135729-065cd970411c")
6673 (source
6674 (origin
6675 (method git-fetch)
6676 (uri (git-reference
6677 (url "https://github.com/dop251/goja")
6678 (commit (go-version->git-ref version))))
6679 (file-name (git-file-name name version))
6680 (sha256
6681 (base32 "0cnyxvnymmd5vjzwnznzdp04hqphmzsf7k1rk0cijv783dkv2gk2"))))
6682 (build-system go-build-system)
6683 (arguments
6684 (list
6685 #:import-path "github.com/dop251/goja"
6686 #:test-flags #~(list "-vet=off")))
6687 (native-inputs
6688 (list go-github-com-dop251-goja-nodejs-bootstrap))
6689 (propagated-inputs
6690 (list go-github-com-dlclark-regexp2
6691 go-github-com-go-sourcemap-sourcemap
6692 go-github-com-google-pprof
6693 go-github-com-masterminds-semver-v3
6694 go-golang-org-x-text
6695 go-gopkg-in-yaml-v2))
6696 (home-page "https://github.com/dop251/goja")
6697 (synopsis "ECMAScript/JavaScript engine in pure Go")
6698 (description
6699 "Goja is an implementation of ECMAScript 5.1 in pure Go with emphasis on
6700standard compliance and performance, it was largely inspired by
6701@url{https://github.com/robertkrimen/otto, otto}.
6702
6703Features:
6704
6705@itemize
6706@item Full ECMAScript 5.1 support (including regex and strict mode).
6707@item Passes nearly all tc39 tests for the features implemented so far.
6708@item Capable of running Babel, TypeScript compiler and pretty much anything
6709written in ES5.
6710@item Sourcemaps.
6711@end itemize")
6712 (license license:expat)))
6713
6714(define-public go-github-com-dop251-goja-nodejs
6715 (package
6716 (name "go-github-com-dop251-goja-nodejs")
6717 (version "0.0.0-20260212111938-1f56ff5bcf14")
6718 (source
6719 (origin
6720 (method git-fetch)
6721 (uri (git-reference
6722 (url "https://github.com/dop251/goja_nodejs")
6723 (commit (go-version->git-ref version))))
6724 (file-name (git-file-name name version))
6725 (sha256
6726 (base32 "0q83hhv05vk66brpplai4jxpc9nj0hnc55jjhlp6sycn77qlq191"))))
6727 (build-system go-build-system)
6728 (arguments
6729 (list
6730 #:skip-build? #t
6731 #:import-path "github.com/dop251/goja_nodejs"))
6732 (propagated-inputs
6733 (list go-github-com-dop251-base64dec
6734 go-github-com-dop251-goja
6735 go-go-uber-org-goleak
6736 go-golang-org-x-net
6737 go-golang-org-x-text))
6738 (home-page "https://github.com/dop251/goja_nodejs")
6739 (synopsis "Nodejs compatibility library for Goja")
6740 (description
6741 "This is a collection of @url{https://github.com/dop251/goja, Goja}
6742modules that provide Node.js compatibility.")
6743 (license license:expat)))
6744
6745(define-public go-github-com-dop251-goja-nodejs-bootstrap
6746 (hidden-package
6747 (package/inherit go-github-com-dop251-goja-nodejs
6748 (name "go-github-com-dop251-goja-nodejs-bootstrap")
6749 (arguments
6750 (substitute-keyword-arguments arguments
6751 ((#:tests? _ #t) #f)))
6752 (propagated-inputs
6753 (list go-github-com-dop251-base64dec
6754 go-go-uber-org-goleak
6755 go-golang-org-x-net
6756 go-golang-org-x-text)))))
6757
6758(define-public go-github-com-doridian-gopacket
6759 (package
6760 (name "go-github-com-doridian-gopacket")
6761 (version "1.3.4")
6762 (source
6763 (origin
6764 (method git-fetch)
6765 (uri (git-reference
6766 (url "https://github.com/Doridian/gopacket")
6767 (commit (string-append "v" version))))
6768 (file-name (git-file-name name version))
6769 (sha256
6770 (base32 "0xhm6n8ywd8fwwq3agalgjd2bqxgf4kfa45pd90gzf9j2zy3nikd"))))
6771 (build-system go-build-system)
6772 (arguments
6773 (list
6774 #:import-path "github.com/Doridian/gopacket"
6775 ;; XXX: pfring/pfring.go:14:10: fatal error: pfring.h: No such file or
6776 ;; directory. Check how to fix all tests.
6777 #:test-subdirs #~(list ".")))
6778 (propagated-inputs
6779 (list go-github-com-vishvananda-netlink
6780 go-github-com-vishvananda-netns
6781 go-golang-org-x-net
6782 go-golang-org-x-sys))
6783 (home-page "https://github.com/Doridian/gopacket")
6784 (synopsis "Provides packet processing capabilities for Go")
6785 (description
6786 "Package gopacket provides packet decoding for the Go language. It's a
6787fork of @url{https://github.com/google/gopacket}.")
6788 (license license:bsd-3)))
6789
6790(define-public go-github-com-doridian-water
6791 (package
6792 (name "go-github-com-doridian-water")
6793 (version "1.6.2")
6794 (source
6795 (origin
6796 (method git-fetch)
6797 (uri (git-reference
6798 (url "https://github.com/Doridian/water")
6799 (commit (string-append "v" version))))
6800 (file-name (git-file-name name version))
6801 (sha256
6802 (base32 "1zwydban8kgy2x09ffc7kfz8km9gn3j712pkx1xwqrh9394crr4l"))))
6803 (build-system go-build-system)
6804 (arguments
6805 (list
6806 #:tests? #f ;tests require network interface access
6807 #:import-path "github.com/Doridian/water"))
6808 (propagated-inputs
6809 (list go-github-com-doridian-gopacket
6810 go-golang-org-x-sys
6811 go-golang-zx2c4-com-wireguard))
6812 (home-page "https://github.com/Doridian/water")
6813 (synopsis "Simple TUN/TAP library written in native Go")
6814 (description
6815 "Package water is a simple TUN/TAP interface library that efficiently
6816works with standard packages like io, bufio, etc.. Use waterutil with it to
6817work with TUN/TAP packets/frames. This is a fork of
6818@url{https://github.com/songgao/water}.")
6819 (license license:bsd-3)))
6820
6821(define-public go-github-com-dpotapov-go-spnego
6822 (package
6823 (name "go-github-com-dpotapov-go-spnego")
6824 (version "0.0.0-20220426193508-b7f82e4507db")
6825 (source
6826 (origin
6827 (method git-fetch)
6828 (uri (git-reference
6829 (url "https://github.com/dpotapov/go-spnego")
6830 (commit (go-version->git-ref version))))
6831 (file-name (git-file-name name version))
6832 (sha256
6833 (base32 "1rpcgzkqhdwfsi8a9f9qar16i663pdx3gvwd6c0vfppy7qjmpjfr"))))
6834 (build-system go-build-system)
6835 (arguments
6836 (list
6837 #:import-path "github.com/dpotapov/go-spnego"))
6838 (native-inputs
6839 (list go-github-com-stretchr-testify))
6840 (propagated-inputs
6841 (list go-github-com-jcmturner-gokrb5-v8
6842 go-golang-org-x-net))
6843 (home-page "https://github.com/dpotapov/go-spnego")
6844 (synopsis "HTTP calls with Kerberos authentication")
6845 (description
6846 "The package extends Go's HTTP Transport allowing Kerberos
6847authentication through Negotiate mechanism (see
6848@url{https://tools.ietf.org/html/rfc4559, RFC4559}).")
6849 (license license:expat)))
6850
6851(define-public go-github-com-dropbox-dropbox-sdk-go-unofficial-v6
6852 (package
6853 (name "go-github-com-dropbox-dropbox-sdk-go-unofficial-v6")
6854 (version "6.0.5")
6855 (source
6856 (origin
6857 (method git-fetch)
6858 (uri (git-reference
6859 (url "https://github.com/dropbox/dropbox-sdk-go-unofficial")
6860 (commit (string-append "v" version))))
6861 (file-name (git-file-name name version))
6862 (sha256
6863 (base32 "09hjqglxr51qhg522r2m7k9hbv0sghcjync089f6by5mrl0ks4f4"))))
6864 (build-system go-build-system)
6865 (arguments
6866 (list
6867 #:skip-build? #t
6868 #:import-path "github.com/dropbox/dropbox-sdk-go-unofficial/v6"
6869 #:unpack-path "github.com/dropbox/dropbox-sdk-go-unofficial"))
6870 (propagated-inputs
6871 (list go-golang-org-x-oauth2))
6872 (home-page "https://github.com/dropbox/dropbox-sdk-go-unofficial")
6873 (synopsis "Unofficial Dropbox v2 API SDK for Golang")
6874 (description
6875 "This package provides an unofficial Go SDK for integrating with v2 of the
6876Dropbox API.")
6877 (license license:expat)))
6878
6879(define-public go-github-com-dunglas-httpsfv
6880 (package
6881 (name "go-github-com-dunglas-httpsfv")
6882 (version "1.1.0")
6883 (source
6884 (origin
6885 (method git-fetch)
6886 (uri (git-reference
6887 (url "https://github.com/dunglas/httpsfv")
6888 (commit (string-append "v" version))))
6889 (file-name (git-file-name name version))
6890 (sha256
6891 (base32 "0jy6wmbij9fh1q72j198afxxl1d6rjj6pigk6kp4qwjp8qr08hyd"))))
6892 (build-system go-build-system)
6893 (arguments
6894 (list
6895 #:import-path "github.com/dunglas/httpsfv"))
6896 (home-page "https://github.com/dunglas/httpsfv")
6897 (synopsis "Structured Field Values for HTTP in Go")
6898 (description
6899 "Package httpsfv implements serializing and parsing of Structured Field
6900Values for HTTP as defined in @url{https://rfc-editor.org/rfc/rfc9651.html,
6901RFC 9651}.")
6902 (license license:bsd-3)))
6903
6904(define-public go-github-com-dylibso-observe-sdk-go
6905 (package
6906 (name "go-github-com-dylibso-observe-sdk-go")
6907 (version "0.0.0-20240828172851-9145d8ad07e1")
6908 (source
6909 (origin
6910 (method git-fetch)
6911 (uri (git-reference
6912 (url "https://github.com/dylibso/observe-sdk")
6913 (commit (go-version->git-ref version))))
6914 (file-name (git-file-name name version))
6915 (sha256
6916 (base32 "1cx0zdfp6jqw9ih4h0m5556jnz9i0yvz4p1crvmbm7vbyfgklmmv"))))
6917 (build-system go-build-system)
6918 (arguments
6919 (list
6920 #:import-path "github.com/dylibso/observe-sdk/go"
6921 #:unpack-path "github.com/dylibso/observe-sdk"))
6922 (propagated-inputs
6923 (list go-github-com-ianlancetaylor-demangle
6924 go-github-com-tetratelabs-wabin
6925 go-github-com-tetratelabs-wazero
6926 go-go-opentelemetry-io-otel-exporters-otlp-otlptrace
6927 go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc
6928 go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracehttp
6929 go-go-opentelemetry-io-proto-otlp
6930 go-google-golang-org-protobuf))
6931 (home-page "https://github.com/dylibso/observe-sdk")
6932 (synopsis "Continuous runtime observablity SDKs to monitor WebAssembly code")
6933 (description
6934 "This package provides a Golang implementation of observability SDKs for
6935WebAssembly, enabling continuous monitoring of WebAssembly code as it executes
6936within a runtime.")
6937 (license license:asl2.0)))
6938
6939(define-public go-github-com-eggsampler-acme-v3
6940 (package
6941 (name "go-github-com-eggsampler-acme-v3")
6942 (version "3.7.0")
6943 (source
6944 (origin
6945 (method git-fetch)
6946 (uri (git-reference
6947 (url "https://github.com/eggsampler/acme")
6948 (commit (string-append "v" version))))
6949 (file-name (git-file-name name version))
6950 (sha256
6951 (base32 "1ga5l4x1p16d2i4135gw97p0f3id1ip3gfg2ny0fp0p0l38lnii5"))))
6952 (build-system go-build-system)
6953 (arguments
6954 (list
6955 #:tests? #f ;network access is required
6956 #:import-path "github.com/eggsampler/acme/v3"))
6957 (home-page "https://github.com/eggsampler/acme")
6958 (synopsis "Go client library implementation for ACME v2 (RFC8555)")
6959 (description
6960 "@code{eggsampler/acme} is a Go client library implementation for
6961@url{https://tools.ietf.org/html/rfc8555, RFC8555} (previously ACME v2). This
6962library can be used with the @url{https://letsencrypt.org/, Let's Encrypt}
6963Certificate Authority (CA), but also other ACME compliant CA's such as
6964@url{https://zerossl.com/, ZeroSSL}, @url{https://pki.goog/, Google Trust
6965Services} and others listed at
6966@url{https://acmeclients.com/certificate-authorities/}.")
6967 (license license:expat)))
6968
6969(define-public go-github-com-elazarl-go-bindata-assetfs
6970 (package
6971 (name "go-github-com-elazarl-go-bindata-assetfs")
6972 (version "1.0.1")
6973 (source
6974 (origin
6975 (method git-fetch)
6976 (uri (git-reference
6977 (url "https://github.com/elazarl/go-bindata-assetfs")
6978 (commit (string-append "v" version))))
6979 (file-name (git-file-name name version))
6980 (sha256
6981 (base32 "05j8gy417gcildmxa04m8ylriaakadr7zvwn2ggq56pdg7b63knc"))))
6982 (build-system go-build-system)
6983 (arguments
6984 (list
6985 #:import-path "github.com/elazarl/go-bindata-assetfs"))
6986 (home-page "https://github.com/elazarl/go-bindata-assetfs")
6987 (synopsis "Serves embedded files with @code{net/http}")
6988 (description
6989 "assetfs allows packages to serve static content embedded with the
6990@url{https://github.com/go-bindata/go-bindata, go-bindata} tool with the
6991standard @code{net/http} package.")
6992 (license license:bsd-2)))
6993
6994(define-public go-github-com-elazarl-goproxy
6995 (package
6996 (name "go-github-com-elazarl-goproxy")
6997 (version "0.0.0-20241221210044-9faedc2f9e9f")
6998 (source
6999 (origin
7000 (method git-fetch)
7001 (uri (git-reference
7002 (url "https://github.com/elazarl/goproxy")
7003 (commit (go-version->git-ref version))))
7004 (file-name (git-file-name name version))
7005 (sha256
7006 (base32 "0j3v0y18igr3wy9vbwyg19fzy12jc41kmpfcz2jh1dnk6kxn2n67"))))
7007 (build-system go-build-system)
7008 (arguments
7009 (list
7010 #:import-path "github.com/elazarl/goproxy"
7011 #:test-flags
7012 #~(list "-skip" (string-join
7013 ;; Networking or curl are required.
7014 (list "TestCurlMinusP"
7015 "TestSimpleHttpRequest"
7016 "TestBasicConnectAuthWithCurl"
7017 "TestBasicAuthWithCurl"
7018 "TestConstantImageHandler"
7019 "TestImageHandler"
7020 "TestReplaceImage")
7021 "|"))
7022 #:phases
7023 #~(modify-phases %standard-phases
7024 (add-after 'unpack 'remove-examples
7025 (lambda* (#:key import-path #:allow-other-keys)
7026 (with-directory-excursion (string-append "src/" import-path)
7027 (delete-file-recursively "examples")))))))
7028 (propagated-inputs
7029 (list go-golang-org-x-net))
7030 (home-page "https://github.com/elazarl/goproxy")
7031 (synopsis "HTTP proxy library for Go")
7032 (description
7033 "GoProxy is a library to create a customized HTTP/HTTPS proxy server
7034using Go (aka Golang), with several configurable settings available. The
7035target of this project is to offer an optimized proxy server, usable with
7036reasonable amount of traffic, yet customizable and programmable.")
7037 (license license:bsd-3)))
7038
7039(define-public go-github-com-ema-qdisc
7040 (package
7041 (name "go-github-com-ema-qdisc")
7042 (version "1.0.0")
7043 (source
7044 (origin
7045 (method git-fetch)
7046 (uri (git-reference
7047 (url "https://github.com/ema/qdisc")
7048 (commit (string-append "v" version))))
7049 (file-name (git-file-name name version))
7050 (sha256
7051 (base32 "1v2k2z1xjxfa0qrrnafvb51dxwxm0s3nbsi6n64cm2rylxjskfmy"))))
7052 (build-system go-build-system)
7053 (arguments
7054 (list
7055 #:import-path "github.com/ema/qdisc"))
7056 (propagated-inputs
7057 (list go-github-com-mdlayher-netlink))
7058 (home-page "https://github.com/ema/qdisc")
7059 (synopsis "Queuing discipline information via netlink")
7060 (description
7061 "Package @code{qdisc} allows getting queuing discipline information via
7062netlink,similarly to what @code{tc -s qdisc show} does.")
7063 (license license:expat)))
7064
7065(define-public go-github-com-emersion-go-imap
7066 (package
7067 (name "go-github-com-emersion-go-imap")
7068 (version "1.2.1")
7069 (source
7070 (origin
7071 (method git-fetch)
7072 (uri (git-reference
7073 (url "https://github.com/emersion/go-imap")
7074 (commit (string-append "v" version))))
7075 (file-name (git-file-name name version))
7076 (sha256
7077 (base32 "0ak2ysvfcc9w0g1070msis8x9sh6gzvf0nd65ks594siwbmqddw8"))))
7078 (build-system go-build-system)
7079 (arguments
7080 (list
7081 #:import-path "github.com/emersion/go-imap"))
7082 (propagated-inputs
7083 (list go-golang-org-x-text
7084 go-github-com-emersion-go-sasl
7085 go-github-com-emersion-go-message))
7086 (home-page "https://github.com/emersion/go-imap")
7087 (synopsis "IMAP4rev1 library written in Go")
7088 (description
7089 "This package provides an IMAP4rev1 library written in Go. It can be
7090used to build IMAP clients and servers.")
7091 (license license:expat)))
7092
7093(define-public go-github-com-emersion-go-imap-id
7094 (let ((commit "f94a56b9ecde7e39e7ea38d62c745b557cb94139")
7095 (revision "0"))
7096 (package
7097 (name "go-github-com-emersion-go-imap-id")
7098 (version (git-version "0.0.0" revision commit))
7099 (source
7100 (origin
7101 (method git-fetch)
7102 (uri (git-reference
7103 (url "https://github.com/emersion/go-imap-id")
7104 (commit commit)))
7105 (sha256
7106 (base32 "1pi87xq6nrb1kdf4za4xp8cfkpwr3p93kjrmzmnr4z0j90y26vfi"))
7107 (file-name (git-file-name name version))))
7108 (build-system go-build-system)
7109 (arguments
7110 (list
7111 #:import-path "github.com/emersion/go-imap-id"))
7112 (propagated-inputs (list go-github-com-emersion-go-imap))
7113 (home-page "https://github.com/emersion/go-imap-id")
7114 (synopsis "ID extension for go-imap")
7115 (description
7116 "This package provides an ID extension for go-imap as specified in
7117@url{https://www.rfc-editor.org/rfc/rfc2971, RFC 2971}.")
7118 (license license:expat))))
7119
7120;; XXX: This repository has been archived by the owner on Sep 8, 2021. It is
7121;; now read-only.
7122(define-public go-github-com-emersion-go-imap-idle
7123 (let ((commit "2704abd7050ed7f2143753554ee23affdf847bd9")
7124 (revision "0"))
7125 (package
7126 (name "go-github-com-emersion-go-imap-idle")
7127 (version (git-version "0.0.0" revision commit))
7128 (source
7129 (origin
7130 (method git-fetch)
7131 (uri (git-reference
7132 (url "https://github.com/emersion/go-imap-idle")
7133 (commit commit)))
7134 (sha256
7135 (base32
7136 "0blwcadmxgqsdwgr9m4jqfbpfa2viw5ah19xbybpa1z1z4aj5cbc"))
7137 (file-name (git-file-name name version))))
7138 (build-system go-build-system)
7139 (arguments
7140 (list
7141 #:import-path "github.com/emersion/go-imap-idle"))
7142 (propagated-inputs
7143 (list go-github-com-emersion-go-imap))
7144 (home-page "https://github.com/emersion/go-imap-idle")
7145 (synopsis "IDLE extension for go-imap")
7146 (description "This package provides an IDLE extension for go-imap.")
7147 (license license:expat))))
7148
7149(define-public go-github-com-emersion-go-imap-sortthread
7150 (package
7151 (name "go-github-com-emersion-go-imap-sortthread")
7152 (version "1.2.0")
7153 (source
7154 (origin
7155 (method git-fetch)
7156 (uri (git-reference
7157 (url "https://github.com/emersion/go-imap-sortthread")
7158 (commit (string-append "v" version))))
7159 (file-name (git-file-name name version))
7160 (sha256
7161 (base32 "1cfbgz1l5angnj52v9pxwggai2shx0h78ffcp7j4r4lr7lzflnwz"))))
7162 (build-system go-build-system)
7163 (arguments
7164 (list
7165 #:import-path "github.com/emersion/go-imap-sortthread"))
7166 (propagated-inputs
7167 (list
7168 go-github-com-emersion-go-imap))
7169 (home-page "https://github.com/emersion/go-imap-sortthread")
7170 (synopsis "Sorting and threading of messages for the imap package")
7171 (description
7172 "The sortthread package implements message sorting and threading for
7173@code{go-github-com-emersion-go-imap}.")
7174 (license license:expat)))
7175
7176(define-public go-github-com-emersion-go-imap-uidplus
7177 (package
7178 (name "go-github-com-emersion-go-imap-uidplus")
7179 (version "0.0.0-20200503180755-e75854c361e9")
7180 (source
7181 (origin
7182 (method git-fetch)
7183 (uri (git-reference
7184 (url "https://github.com/emersion/go-imap-uidplus")
7185 (commit (go-version->git-ref version))))
7186 (file-name (git-file-name name version))
7187 (sha256
7188 (base32 "0iqazibiy38zfa1wzhdbxx1aq46k70wrhjxnp9sgl7xg6s7n6blb"))))
7189 (build-system go-build-system)
7190 (arguments
7191 (list
7192 #:import-path "github.com/emersion/go-imap-uidplus"))
7193 (propagated-inputs
7194 (list go-github-com-emersion-go-imap))
7195 (home-page "https://github.com/emersion/go-imap-uidplus")
7196 (synopsis "UIDPLUS extension for go-imap")
7197 (description
7198 "This package implements the IMAP UIDPLUS extension, as defined in
7199@@url{https://rfc-editor.org/rfc/rfc4315.html, RFC4315}.")
7200 (license license:expat)))
7201
7202(define-public go-github-com-emersion-go-maildir
7203 (package
7204 (name "go-github-com-emersion-go-maildir")
7205 (version "0.6.0")
7206 (source
7207 (origin
7208 (method git-fetch)
7209 (uri (git-reference
7210 (url "https://github.com/emersion/go-maildir")
7211 (commit (string-append "v" version))))
7212 (file-name (git-file-name name version))
7213 (sha256
7214 (base32 "12zsfrn5dgrav3ihhddn3pwg88r63i18pjrl6y4rxam3g8l7rj5i"))))
7215 (build-system go-build-system)
7216 (arguments
7217 (list
7218 #:import-path "github.com/emersion/go-maildir"))
7219 (home-page "https://github.com/emersion/go-maildir")
7220 (synopsis "Maildir interface for Go")
7221 (description
7222 "This package provides an interface to mailboxes in the Maildir format.")
7223 (license license:expat)))
7224
7225(define-public go-github-com-emersion-go-mbox
7226 (package
7227 (name "go-github-com-emersion-go-mbox")
7228 (version "1.0.3")
7229 (source
7230 (origin
7231 (method git-fetch)
7232 (uri (git-reference
7233 (url "https://github.com/emersion/go-mbox")
7234 (commit (string-append "v" version))))
7235 (file-name (git-file-name name version))
7236 (sha256
7237 (base32 "0vnadh2khx7sxn0irrd8gz8ra02x7ij0q8zglq3rqffqil06nliv"))))
7238 (build-system go-build-system)
7239 (arguments
7240 (list
7241 #:import-path "github.com/emersion/go-mbox"))
7242 (home-page "https://github.com/emersion/go-mbox")
7243 (synopsis "Go library for handling @code{mbox} files")
7244 (description
7245 "This package provides a library for parsing and formatting @code{mbox}
7246files.")
7247 (license license:expat)))
7248
7249(define-public go-github-com-emersion-go-message
7250 (package
7251 (name "go-github-com-emersion-go-message")
7252 (version "0.18.1")
7253 (source
7254 (origin
7255 (method git-fetch)
7256 (uri (git-reference
7257 (url "https://github.com/emersion/go-message")
7258 (commit (string-append "v" version))))
7259 (file-name (git-file-name name version))
7260 (sha256
7261 (base32 "0gzcgrs5sava8fpybp5cw6f3zqnbz096wf93hcgkrg94wl1g7kqb"))))
7262 (build-system go-build-system)
7263 (arguments
7264 (list #:import-path "github.com/emersion/go-message"))
7265 (propagated-inputs
7266 (list go-golang-org-x-text))
7267 (home-page "https://github.com/emersion/go-message")
7268 (synopsis "Internet messages and MIME for Go")
7269 (description
7270 "The message package implements the Internet Message Format and
7271Multipurpose Internet Mail Extensions in Go.")
7272 (license license:expat)))
7273
7274(define-public go-github-com-emersion-go-milter
7275 (package
7276 (name "go-github-com-emersion-go-milter")
7277 (version "0.4.1")
7278 (source
7279 (origin
7280 (method git-fetch)
7281 (uri (git-reference
7282 (url "https://github.com/emersion/go-milter")
7283 (commit (string-append "v" version))))
7284 (file-name (git-file-name name version))
7285 (sha256
7286 (base32 "11qjwjz6ippsx9da81gylx46p1a96mk39j54ayw925m40skqhh3c"))))
7287 (build-system go-build-system)
7288 (arguments
7289 (list
7290 #:import-path "github.com/emersion/go-milter"))
7291 (propagated-inputs
7292 (list go-github-com-emersion-go-message))
7293 (home-page "https://github.com/emersion/go-milter")
7294 (synopsis "Milter mail filters in Go")
7295 (description
7296 "This package provides an interface for implementing milter mail filters
7297for Go.")
7298 (license license:bsd-2)))
7299
7300(define-public go-github-com-emersion-go-msgauth
7301 (package
7302 (name "go-github-com-emersion-go-msgauth")
7303 (version "0.6.8")
7304 (source
7305 (origin
7306 (method git-fetch)
7307 (uri (git-reference
7308 (url "https://github.com/emersion/go-msgauth")
7309 (commit (string-append "v" version))))
7310 (file-name (git-file-name name version))
7311 (sha256
7312 (base32 "0az83i6jmk3bjglgdqw5zsvhh8698rav0mcg4dy8kr0cgq0lj5zs"))))
7313 (build-system go-build-system)
7314 (arguments
7315 (list
7316 #:import-path "github.com/emersion/go-msgauth"
7317 #:phases
7318 #~(modify-phases %standard-phases
7319 ;; XXX: Run all tests, workaround for go-build-system's lack of Go
7320 ;; modules support.
7321 (delete 'build)
7322 (replace 'check
7323 (lambda* (#:key tests? import-path #:allow-other-keys)
7324 (when tests?
7325 (with-directory-excursion (string-append "src/" import-path)
7326 (invoke "go" "test" "-v" "./..."))))))))
7327 (propagated-inputs
7328 (list go-golang-org-x-crypto
7329 go-github-com-emersion-go-milter
7330 go-github-com-emersion-go-message))
7331 (home-page "https://github.com/emersion/go-msgauth")
7332 (synopsis "Email authentication for Go")
7333 (description
7334 "This package provides a Go library for authenticating emails.")
7335 (license license:expat)))
7336
7337(define-public go-github-com-emersion-go-sasl
7338 (package
7339 (name "go-github-com-emersion-go-sasl")
7340 (version "0.0.0-20241020182733-b788ff22d5a6")
7341 (source
7342 (origin
7343 (method git-fetch)
7344 (uri (git-reference
7345 (url "https://github.com/emersion/go-sasl")
7346 (commit (go-version->git-ref version))))
7347 (file-name (git-file-name name version))
7348 (sha256
7349 (base32 "1072khf8p8slgxhiijfs3ja253g8776av3jixv46almblyspnabs"))))
7350 (build-system go-build-system)
7351 (arguments
7352 (list
7353 #:import-path "github.com/emersion/go-sasl"))
7354 (home-page "https://github.com/emersion/go-sasl")
7355 (synopsis "SASL library written in Go")
7356 (description
7357 "This package provides a @acronym{Simple Authentication and Security
7358Layer, SASL} library written in Go.")
7359 (license license:expat)))
7360
7361(define-public go-github-com-emersion-go-smtp
7362 (package
7363 (name "go-github-com-emersion-go-smtp")
7364 (version "0.22.0")
7365 (source
7366 (origin
7367 (method git-fetch)
7368 (uri (git-reference
7369 (url "https://github.com/emersion/go-smtp")
7370 (commit (string-append "v" version))))
7371 (file-name (git-file-name name version))
7372 (sha256
7373 (base32 "0p57x0x0pvk24pgl6qnyz7pvfvdncj8bs5p5k0g10phh5p8md684"))))
7374 (build-system go-build-system)
7375 (arguments
7376 (list
7377 #:import-path "github.com/emersion/go-smtp"
7378 #:test-flags #~(list "-vet=off")))
7379 (propagated-inputs
7380 (list go-github-com-emersion-go-sasl))
7381 (home-page "https://github.com/emersion/go-smtp")
7382 (synopsis "SMTP implementation for Go")
7383 (description
7384 "This package implements the Simple Mail Transfer Protocol as defined by
7385RFC 5321.")
7386 (license license:expat)))
7387
7388(define-public go-github-com-emicklei-go-restful-v3
7389 (package
7390 (name "go-github-com-emicklei-go-restful-v3")
7391 (version "3.4.0")
7392 (source
7393 (origin
7394 (method git-fetch)
7395 (uri (git-reference
7396 (url "https://github.com/emicklei/go-restful")
7397 (commit (string-append "v" version))))
7398 (file-name (git-file-name name version))
7399 (sha256
7400 (base32 "0m1y5a6xr6hmdj77afrvyh2llkbhn1166lcrgis654shl8zs9qhz"))))
7401 (build-system go-build-system)
7402 (arguments
7403 (list
7404 #:import-path "github.com/emicklei/go-restful"
7405 #:phases
7406 #~(modify-phases %standard-phases
7407 (add-after 'unpack 'remove-examples
7408 (lambda* (#:key import-path #:allow-other-keys)
7409 (with-directory-excursion (string-append "src/" import-path)
7410 (delete-file-recursively "examples")))))))
7411 (home-page "https://github.com/emicklei/go-restful")
7412 (synopsis "Build REST-style web services using Go")
7413 (description
7414 "This package provides @code{go-restful}, which helps developers to use
7415@code{http} methods explicitly and in a way that's consistent with the HTTP
7416protocol definition.")
7417 (license license:expat)))
7418
7419(define-public go-github-com-envoyproxy-go-control-plane
7420 (package
7421 (name "go-github-com-envoyproxy-go-control-plane")
7422 (version "0.14.0")
7423 (source
7424 (origin
7425 (method git-fetch)
7426 (uri (git-reference
7427 (url "https://github.com/envoyproxy/go-control-plane")
7428 (commit (string-append "v" version))))
7429 (file-name (git-file-name name version))
7430 (sha256
7431 (base32 "153z0jdbyhbcadiipl5631vnsg74m0fx7h1dmak4mqfjgdahxdvk"))
7432 (modules '((guix build utils)))
7433 (snippet
7434 #~(begin
7435 ;; Submodules with their own go.mod files and packaged separately:
7436 ;;
7437 ;; - github.com/envoyproxy/go-control-plane/contrib
7438 ;; - github.com/envoyproxy/go-control-plane/envoy
7439 ;; - github.com/envoyproxy/go-control-plane/examples/dyplomat
7440 ;; - github.com/envoyproxy/go-control-plane/internal/tools
7441 ;; - github.com/envoyproxy/go-control-plane/ratelimit
7442 ;; - github.com/envoyproxy/go-control-plane/xdsmatcher
7443 (for-each delete-file-recursively
7444 (list "contrib"
7445 "envoy"
7446 "examples/dyplomat"
7447 "internal/tools"
7448 ;; "ratelimit" ;XXX: has no proper description
7449 "xdsmatcher"))))))
7450 (build-system go-build-system)
7451 (arguments
7452 (list
7453 #:skip-build? #t
7454 #:import-path "github.com/envoyproxy/go-control-plane"
7455 #:test-flags #~(list "-vet=off")))
7456 (native-inputs
7457 (list go-github-com-stretchr-testify
7458 go-go-uber-org-goleak))
7459 (propagated-inputs
7460 (list go-github-com-google-go-cmp
7461 go-github-com-envoyproxy-go-control-plane-envoy-bootstrap
7462 go-google-golang-org-genproto-googleapis-rpc
7463 go-google-golang-org-grpc
7464 go-google-golang-org-protobuf))
7465 (home-page "https://github.com/envoyproxy/go-control-plane")
7466 (synopsis "Go implementation of data-plane-api")
7467 (description
7468 "This package contains a Go-based implementation of an API server that
7469implements the discovery service APIs defined in
7470@url{https://github.com/envoyproxy/data-plane-api, data-plane-api}.")
7471 (license license:asl2.0)))
7472
7473(define-public go-github-com-envoyproxy-go-control-plane-bootstrap
7474 (hidden-package
7475 (package/inherit go-github-com-envoyproxy-go-control-plane
7476 (arguments
7477 (list #:skip-build? #t
7478 #:tests? #f
7479 #:import-path "github.com/envoyproxy/go-control-plane"))
7480 (propagated-inputs
7481 (modify-inputs (package-propagated-inputs
7482 go-github-com-envoyproxy-go-control-plane)
7483 (delete "go-github-com-envoyproxy-go-control-plane-envoy"))))))
7484
7485(define-public go-github-com-envoyproxy-go-control-plane-envoy
7486 (package
7487 (name "go-github-com-envoyproxy-go-control-plane-envoy")
7488 (version "1.37.0")
7489 (source
7490 (origin
7491 (method git-fetch)
7492 (uri (git-reference
7493 (url "https://github.com/envoyproxy/go-control-plane")
7494 (commit (go-version->git-ref version #:subdir "envoy"))))
7495 (file-name (git-file-name name version))
7496 (sha256
7497 (base32 "0ysssv13sykny7x8ajqlm0wyz7r0wplam94gnrjz4xw1jxvqvwpv"))
7498 (modules '((guix build utils)))
7499 (snippet #~(delete-all-but "." "envoy"))))
7500 (build-system go-build-system)
7501 (arguments
7502 (list
7503 #:import-path "github.com/envoyproxy/go-control-plane/envoy"
7504 #:unpack-path "github.com/envoyproxy/go-control-plane"))
7505 (propagated-inputs
7506 (list go-github-com-cncf-xds-go
7507 go-github-com-envoyproxy-go-control-plane-bootstrap
7508 go-github-com-envoyproxy-protoc-gen-validate
7509 go-github-com-planetscale-vtprotobuf
7510 go-github-com-prometheus-client-model
7511 go-go-opentelemetry-io-proto-otlp
7512 go-google-golang-org-genproto-googleapis-api
7513 go-google-golang-org-genproto-googleapis-rpc
7514 go-google-golang-org-grpc
7515 go-google-golang-org-protobuf))
7516 (home-page "https://github.com/envoyproxy/go-control-plane")
7517 (synopsis "Edge and service proxy")
7518 (description
7519 "This package provides a Golang implementation of
7520@url{https://www.envoyproxy.io/, Envoy} proxy.")
7521 (license license:asl2.0)))
7522
7523(define-public go-github-com-envoyproxy-go-control-plane-envoy-bootstrap
7524 (hidden-package
7525 (package/inherit go-github-com-envoyproxy-go-control-plane-envoy
7526 (arguments
7527 (list #:skip-build? #t
7528 #:tests? #f
7529 #:import-path "github.com/envoyproxy/go-control-plane/envoy"
7530 #:unpack-path "github.com/envoyproxy/go-control-plane"))
7531 (propagated-inputs
7532 (modify-inputs (package-propagated-inputs
7533 go-github-com-envoyproxy-go-control-plane-envoy)
7534 (delete "go-github-com-envoyproxy-go-control-plane"))))))
7535
7536
7537(define-public go-github-com-evanphx-json-patch
7538 (package
7539 (name "go-github-com-evanphx-json-patch")
7540 (version "4.13.0")
7541 (source
7542 (origin
7543 (method git-fetch)
7544 (uri (git-reference
7545 (url "https://github.com/evanphx/json-patch")
7546 (commit (string-append "v" version))))
7547 (file-name (git-file-name name version))
7548 (sha256
7549 (base32 "0sydllg5hsmvwdr1276qzl8v3xsr3jjrimvvgl9096rn3kf3664m"))))
7550 (build-system go-build-system)
7551 (arguments
7552 (list
7553 #:import-path "github.com/evanphx/json-patch"
7554 #:unpack-path "github.com/evanphx/json-patch"
7555 ;; Tests are not copatible with Go 1.24+.
7556 #:test-flags #~(list "-vet=off")))
7557 (propagated-inputs
7558 (list go-github-com-jessevdk-go-flags
7559 go-github-com-pkg-errors))
7560 (home-page "https://github.com/evanphx/json-patch")
7561 (synopsis "Apply and create JSON (RFC6902 and RFC7386) patches for Golang")
7562 (description
7563 "@code{jsonpatch} is a library which provides functionality for both
7564applying @url{http://tools.ietf.org/html/rfc6902, RFC6902 JSON patches}
7565against documents, as well as for calculating & applying
7566@url{https://tools.ietf.org/html/rfc7396, RFC7396 JSON merge patches}.")
7567 (license license:bsd-3)))
7568
7569(define-public go-github-com-evanphx-json-patch-v5
7570 (package
7571 (inherit go-github-com-evanphx-json-patch)
7572 (name "go-github-com-evanphx-json-patch-v5")
7573 (version "5.9.11")
7574 (source
7575 (origin
7576 (method git-fetch)
7577 (uri (git-reference
7578 (url "https://github.com/evanphx/json-patch")
7579 (commit (string-append "v" version))))
7580 (file-name (git-file-name name version))
7581 (sha256
7582 (base32 "0sydllg5hsmvwdr1276qzl8v3xsr3jjrimvvgl9096rn3kf3664m"))))
7583 (build-system go-build-system)
7584 (arguments
7585 (substitute-keyword-arguments
7586 (package-arguments go-github-com-evanphx-json-patch)
7587 ((#:import-path "github.com/evanphx/json-patch")
7588 "github.com/evanphx/json-patch/v5")))))
7589
7590(define-public go-github-com-extism-go-sdk
7591 (package
7592 (name "go-github-com-extism-go-sdk")
7593 (version "1.7.1")
7594 (source
7595 (origin
7596 (method git-fetch)
7597 (uri (git-reference
7598 (url "https://github.com/extism/go-sdk")
7599 (commit (string-append "v" version))))
7600 (file-name (git-file-name name version))
7601 (sha256
7602 (base32 "15s9l0qnp0y0z0c59mnp90c4nm50hy12l3c41b22nvfh956zdss3"))
7603 (modules '((guix build utils)))
7604 (snippet
7605 #~(begin
7606 ;; Submodules with their own go.mod files and packaged separately:
7607 ;;
7608 ;; - github.com/extism/extism-sdk-plugins-config
7609 ;; - github.com/extism/extism-sdk-plugins-exit
7610 ;; - github.com/extism/extism-sdk-plugins-fs
7611 ;; - github.com/extism/extism-sdk-plugins-host
7612 ;; - github.com/extism/extism-sdk-plugins-host-memory
7613 ;; - github.com/extism/extism-sdk-plugins-host-multiple
7614 ;; - github.com/extism/extism-sdk-plugins-http
7615 ;; - github.com/extism/extism-sdk-plugins-lib
7616 ;; - github.com/extism/extism-sdk-plugins-log
7617 ;; - github.com/extism/extism-sdk-plugins-main
7618 ;; - github.com/extism/extism-sdk-plugins-noop
7619 ;; - github.com/extism/extism-sdk-plugins-println
7620 ;; - github.com/extism/extism-sdk-plugins-replace
7621 ;; - github.com/extism/extism-sdk-plugins-sleep
7622 ;; - github.com/extism/extism-sdk-plugins-count-vowels
7623 ;; - github.com/extism/extism-sdk-plugins-var
7624 (delete-file-recursively "plugins")))))
7625 (build-system go-build-system)
7626 (arguments
7627 (list
7628 #:import-path "github.com/extism/go-sdk"
7629 #:test-flags
7630 #~(list "-skip"
7631 (string-join
7632 ;; Tests try to get remove data or call to API from
7633 ;; <https://raw.githubusercontent.com/extism/extism/main/wasm/code.wasm>,
7634 ;; <https://jsonplaceholder.typicode.com/todos/1>
7635 ;; <https://extism.org>
7636 (list "TestWasmUrl"
7637 "TestHTTP_allowed"
7638 "TestHTTPHeaders_allowed"
7639 "TestHTTPHeaders_denied"
7640 ;; open /mnt/test.txt: errno 2
7641 "TestFS")
7642 "|"))))
7643 (native-inputs
7644 (list go-github-com-stretchr-testify))
7645 (propagated-inputs
7646 (list go-github-com-dylibso-observe-sdk-go
7647 go-github-com-gobwas-glob
7648 go-github-com-tetratelabs-wazero))
7649 (home-page "https://github.com/extism/go-sdk")
7650 (synopsis "Extism Go SDK")
7651 (description
7652 "This package provides Golang SDK for integrating with the
7653@url{https://extism.org/, Extism} runtime - a cross-language framework for
7654building with WebAssembly.")
7655 (license license:bsd-3)))
7656
7657(define-public go-github-com-eycorsican-go-tun2socks
7658 (package
7659 (name "go-github-com-eycorsican-go-tun2socks")
7660 (version "1.16.11")
7661 (source
7662 (origin
7663 (method git-fetch)
7664 (uri (git-reference
7665 (url "https://github.com/eycorsican/go-tun2socks")
7666 (commit (string-append "v" version))))
7667 (file-name (git-file-name name version))
7668 (sha256
7669 (base32 "1s41sap5gxxi5p86c3h9ifysiiws6457z2cyx2zmh2zwdqa7sxsy"))))
7670 (build-system go-build-system)
7671 (arguments
7672 (list
7673 #:skip-build? #t
7674 #:import-path "github.com/eycorsican/go-tun2socks"
7675 #:test-flags #~(list "-vet=off")))
7676 (propagated-inputs
7677 (list go-github-com-songgao-water
7678 go-golang-org-x-net
7679 go-golang-org-x-sys))
7680 (home-page "https://github.com/eycorsican/go-tun2socks")
7681 (synopsis "Go implementation of tun2socks")
7682 (description
7683 "This package provides a tun2socks implementation written in Go.")
7684 (license license:expat)))
7685
7686(define-public go-github-com-fasthttp-router
7687 (package
7688 (name "go-github-com-fasthttp-router")
7689 (version "1.5.4")
7690 (source
7691 (origin
7692 (method git-fetch)
7693 (uri (git-reference
7694 (url "https://github.com/fasthttp/router")
7695 (commit (string-append "v" version))))
7696 (file-name (git-file-name name version))
7697 (sha256
7698 (base32 "1szc2s0jbk6jivgfmgxy7iykwqd6b0033jnnr0l47vyxbw7q8zvg"))))
7699 (build-system go-build-system)
7700 (arguments
7701 (list
7702 #:import-path "github.com/fasthttp/router"
7703 #:test-flags
7704 ;; router_test.go:107: return error error when reading request headers:
7705 ;; missing required Host header in request. Buffer size=22, contents:
7706 ;; "POST /foo HTTP/1.1\r\n\r\n"
7707 #~(list "-skip" (string-join
7708 (list "TestGroup"
7709 "TestRouterServeFiles"
7710 "TestRouterServeFS"
7711 "TestRouterServeFilesCustom")
7712 "|"))))
7713 (propagated-inputs
7714 (list go-github-com-savsgio-gotils
7715 go-github-com-valyala-bytebufferpool
7716 go-github-com-valyala-fasthttp))
7717 (home-page "https://github.com/fasthttp/router")
7718 (synopsis "Router implementation for fasthttp")
7719 (description
7720 "Package router is a trie based high performance HTTP request router.")
7721 (license license:bsd-3)))
7722
7723(define-public go-github-com-fasthttp-websocket
7724 (package
7725 (name "go-github-com-fasthttp-websocket")
7726 (version "1.5.12")
7727 (source
7728 (origin
7729 (method git-fetch)
7730 (uri (git-reference
7731 (url "https://github.com/fasthttp/websocket")
7732 (commit (string-append "v" version))))
7733 (file-name (git-file-name name version))
7734 (sha256
7735 (base32 "04xjsp0ypg9dfalwzk75dwj66ij59rky9gj4k47fwbwgvh5pys5c"))))
7736 (build-system go-build-system)
7737 (arguments
7738 (list
7739 #:import-path "github.com/fasthttp/websocket"
7740 #:skip-build? #t))
7741 (propagated-inputs
7742 (list go-github-com-klauspost-compress
7743 go-github-com-savsgio-gotils
7744 go-github-com-valyala-fasthttp
7745 go-golang-org-x-net))
7746 (home-page "https://github.com/fasthttp/websocket")
7747 (synopsis "WebSocket implementation for fasthttp")
7748 (description
7749 "Package websocket implements the @code{WebSocket} protocol defined in
7750@url{https://rfc-editor.org/rfc/rfc6455.html, RFC 6455} for fasthttp.")
7751 (license license:bsd-2)))
7752
7753(define-public go-github-com-felixge-httpsnoop
7754 (package
7755 (name "go-github-com-felixge-httpsnoop")
7756 (version "1.0.4")
7757 (source
7758 (origin
7759 (method git-fetch)
7760 (uri (git-reference
7761 (url "https://github.com/felixge/httpsnoop")
7762 (commit (string-append "v" version))))
7763 (file-name (git-file-name name version))
7764 (sha256
7765 (base32 "1xrvg5ndpz4gv9mf9xl6p6gjmvvv8bbzaspcr070qxx72jhlllkk"))))
7766 (build-system go-build-system)
7767 (arguments
7768 '(#:import-path "github.com/felixge/httpsnoop"))
7769 (home-page "https://github.com/felixge/httpsnoop/")
7770 (synopsis "Capture http related metrics")
7771 (description
7772 "Httpsnoop provides an easy way to capture http related
7773metrics (i.e. response time, bytes written, and http status code) from your
7774application's http.Handlers.")
7775 (license license:expat)))
7776
7777(define-public go-github-com-filenclouddienste-filen-sdk-go
7778 (package
7779 (name "go-github-com-filenclouddienste-filen-sdk-go")
7780 (version "0.0.39")
7781 (source
7782 (origin
7783 (method git-fetch)
7784 (uri (git-reference
7785 (url "https://github.com/FilenCloudDienste/filen-sdk-go")
7786 (commit (string-append "v" version))))
7787 (file-name (git-file-name name version))
7788 (sha256
7789 (base32 "0a9mdyi5m27x0g807bcvl55kr3zb4012z8jbhcrlp5a69rgrcwbj"))))
7790 (build-system go-build-system)
7791 (arguments
7792 (list
7793 #:skip-build? #t
7794 #:tests? #f ;cycles with rclone
7795 #:import-path "github.com/FilenCloudDienste/filen-sdk-go"))
7796 (propagated-inputs
7797 (list go-github-com-dromara-dongle-1.0
7798 go-github-com-google-uuid
7799 go-github-com-joho-godotenv
7800 ;; go-github-com-rclone-rclone ;cycles with rclone
7801 go-github-com-zeebo-blake3
7802 go-golang-org-x-crypto
7803 go-golang-org-x-sync
7804 go-golang-org-x-text))
7805 (home-page "https://github.com/FilenCloudDienste/filen-sdk-go")
7806 (synopsis "Filen SDK Go")
7807 (description
7808 "This package provide a SDK to interact with @url{https://filen.io/,
7809Filen}, an encrypted cloud storage, for Go.")
7810 (license license:expat)))
7811
7812(define-public go-github-com-files-com-files-sdk-go-v3
7813 (package
7814 (name "go-github-com-files-com-files-sdk-go-v3")
7815 (version "3.3.95")
7816 (source
7817 (origin
7818 (method git-fetch)
7819 (uri (git-reference
7820 (url "https://github.com/Files-com/files-sdk-go")
7821 (commit (string-append "v" version))))
7822 (file-name (git-file-name name version))
7823 (sha256
7824 (base32 "19mxsybv9lyq57nf5xvll41g7f6z90lq9hrdx1p4w20mj0f51wyj"))))
7825 (build-system go-build-system)
7826 (arguments
7827 (list
7828 #:import-path "github.com/Files-com/files-sdk-go/v3"
7829 #:embed-files
7830 #~(list "Linux.gitignore")
7831 #:test-flags
7832 #~(list "-vet=off"))) ;[email protected] forces vet, but tests are not ready yet.
7833 (native-inputs
7834 (list go-github-com-gin-gonic-gin
7835 go-github-com-dnaeon-go-vcr
7836 go-github-com-snabb-httpreaderat
7837 go-github-com-stretchr-testify))
7838 (propagated-inputs
7839 (list go-github-com-appscode-go-querystring
7840 go-github-com-chilts-sid
7841 go-github-com-dustin-go-humanize
7842 go-github-com-hashicorp-go-retryablehttp
7843 go-github-com-hashicorp-golang-lru-v2
7844 go-github-com-lpar-date
7845 go-github-com-panjf2000-ants-v2
7846 go-github-com-sabhiram-go-gitignore
7847 go-github-com-samber-lo
7848 go-github-com-winfsp-cgofuse
7849 go-golang-org-x-sync
7850 go-golang-org-x-sys
7851 go-golang-org-x-text
7852 go-moul-io-http2curl-v2))
7853 (home-page "https://github.com/Files-com/files-sdk-go")
7854 (synopsis "Files.com Go Client")
7855 (description
7856 "The Files.com Go SDK provides a direct, high performance integration to
7857Files.com from applications written in Go.")
7858 (license license:expat)))
7859
7860(define-public go-github-com-flosch-pongo2-v6
7861 (package
7862 (name "go-github-com-flosch-pongo2-v6")
7863 (version "6.0.0")
7864 (source
7865 (origin
7866 (method git-fetch)
7867 (uri (git-reference
7868 (url "https://github.com/flosch/pongo2")
7869 (commit (string-append "v" version))))
7870 (file-name (git-file-name name version))
7871 (sha256
7872 (base32 "153na9srg6rwj40jb30m65hihlj657n9pmqrs7qlir1yxdygnxw5"))))
7873 (build-system go-build-system)
7874 (arguments
7875 (list
7876 #:import-path "github.com/flosch/pongo2/v6"
7877 #:test-flags #~(list "-vet=off")))
7878 (native-inputs
7879 (list go-gopkg-in-check-v1))
7880 (home-page "https://github.com/flosch/pongo2")
7881 (synopsis "Django-syntax like template-engine for Golang")
7882 (description "This package provides a Django-syntax like template-engine.")
7883 (license license:expat)))
7884
7885(define-public go-github-com-foxcpp-go-mockdns
7886 (package
7887 (name "go-github-com-foxcpp-go-mockdns")
7888 (version "1.2.0")
7889 (source
7890 (origin
7891 (method git-fetch)
7892 (uri (git-reference
7893 (url "https://github.com/foxcpp/go-mockdns")
7894 (commit (string-append "v" version))))
7895 (file-name (git-file-name name version))
7896 (sha256
7897 (base32 "1jjln1bjgvh8g6r508vygjfm6h125q8yn4ynvldcd8npg4sj5z5h"))))
7898 (build-system go-build-system)
7899 (arguments
7900 (list
7901 #:import-path "github.com/foxcpp/go-mockdns"
7902 ;; FollowCNAMEs test is not deterministic in v1.2.0,
7903 ;; commit 1de4693e67 fixes this. Consider removing this skip
7904 ;; in a future update.
7905 #:test-flags #~(list "-skip" "TestServer_FollowCNAMEs")))
7906 (propagated-inputs (list go-github-com-miekg-dns))
7907 (home-page "https://github.com/foxcpp/go-mockdns")
7908 (synopsis "DNS mock for Golang")
7909 (description
7910 "This package provides Golang boilerplate for testing code involving DNS
7911lookups, including hacks to redirect @code{net.Lookup*} calls.")
7912 (license license:expat)))
7913
7914;; This project looks like dormant or abandoned, see
7915;; <https://github.com/francoispqt/gojay/issues/150>.
7916(define-public go-github-com-francoispqt-gojay
7917 (package
7918 (name "go-github-com-francoispqt-gojay")
7919 (version "1.2.13")
7920 (source
7921 (origin
7922 (method git-fetch)
7923 (uri (git-reference
7924 (url "https://github.com/francoispqt/gojay")
7925 (commit (string-append "v" version))))
7926 (file-name (git-file-name name version))
7927 (sha256
7928 (base32 "1ix95qdyajfmxhf9y52vjrih63f181pjs4v5as8905s4d5vmkd06"))))
7929 (build-system go-build-system)
7930 (arguments
7931 (list
7932 ;; XXX: Disable failing tests on non-x86-64 architecture, see
7933 ;; <https://github.com/francoispqt/gojay/issues/173>.
7934 #:tests? (and (not (%current-target-system))
7935 (target-x86-64?))
7936 #:import-path "github.com/francoispqt/gojay"
7937 #:test-flags
7938 #~(list "-skip" (string-join
7939 (list "TestMessage_Unmarshal"
7940 "TestMessage_Marshal"
7941 "TestGenerator_Generate")
7942 "|"))
7943 #:phases
7944 #~(modify-phases %standard-phases
7945 (add-after 'unpack 'remove-examples-and-benchmarks
7946 (lambda* (#:key tests? import-path #:allow-other-keys)
7947 (with-directory-excursion (string-append "src/" import-path)
7948 (for-each delete-file-recursively
7949 (list "benchmarks" "examples"))))))))
7950 (native-inputs
7951 (list go-github-com-go-errors-errors ; for CLI build
7952 go-github-com-stretchr-testify
7953 go-github-com-viant-assertly ; for CLI build
7954 go-github-com-viant-toolbox)) ; for CLI build
7955 (home-page "https://github.com/francoispqt/gojay")
7956 (synopsis "JSON encoder/decoder with powerful stream API for Golang")
7957 (description
7958 "GoJay is a performant JSON encoder/decoder for Golang. It has a simple
7959API and doesn't use reflection. It relies on small interfaces to
7960decode/encode structures and slices.")
7961 (license license:expat)))
7962
7963(define-public go-github-com-gaissmai-bart
7964 (package
7965 (name "go-github-com-gaissmai-bart")
7966 (version "0.26.0")
7967 (source
7968 (origin
7969 (method git-fetch)
7970 (uri (git-reference
7971 (url "https://github.com/gaissmai/bart")
7972 (commit (string-append "v" version))))
7973 (file-name (git-file-name name version))
7974 (sha256
7975 (base32 "0w79ns4l7av8c4mzfshc0gyp7nfav2jgg6n2my2nziy8wns1bw33"))))
7976 (build-system go-build-system)
7977 (arguments
7978 (list
7979 #:import-path "github.com/gaissmai/bart"))
7980 (propagated-inputs
7981 (list go-github-com-bits-and-blooms-bitset))
7982 (home-page "https://github.com/gaissmai/bart")
7983 (synopsis "Balanced Routing Table in Golang")
7984 (description "This package provides a Balanced-Routing-Table (BART).")
7985 (license license:expat)))
7986
7987(define-public go-github-com-gatherstars-com-jwz
7988 (package
7989 (name "go-github-com-gatherstars-com-jwz")
7990 (version "1.4.0")
7991 (source
7992 (origin
7993 (method git-fetch)
7994 (uri (git-reference
7995 (url "https://github.com/gatherstars-com/jwz")
7996 (commit (string-append "v" version))))
7997 (file-name (git-file-name name version))
7998 (sha256
7999 (base32 "1d66axc3504wqpb4axlm8m9jq8rmwndxb4asbqwryymj3yh60cla"))))
8000 (build-system go-build-system)
8001 (arguments
8002 (list #:import-path "github.com/gatherstars-com/jwz"))
8003 (propagated-inputs
8004 (list go-github-com-rivo-tview
8005 go-github-com-jhillyerd-enmime
8006 go-github-com-gdamore-tcell-v2))
8007 (home-page "https://github.com/gatherstars-com/jwz")
8008 (synopsis "Email threading algorithm in Golang")
8009 (description
8010 "The jwz package provides an implementation of the email threading
8011algorithm originally designed for use in
8012@url{https://www.jwz.org/doc/threading.html,Netscape Mail 2.0 and 3.0} for
8013Golang.")
8014 (license license:asl2.0)))
8015
8016(define-public go-github-com-geoffgarside-ber
8017 (package
8018 (name "go-github-com-geoffgarside-ber")
8019 (version "1.2.0")
8020 (source
8021 (origin
8022 (method git-fetch)
8023 (uri (git-reference
8024 (url "https://github.com/geoffgarside/ber")
8025 (commit (string-append "v" version))))
8026 (file-name (git-file-name name version))
8027 (sha256
8028 (base32 "08cqmd2hhcrvbrk4vaw683ydwc9y2h0v1qyr66kp2adrkhk0xgxh"))))
8029 (build-system go-build-system)
8030 (arguments
8031 (list
8032 #:import-path "github.com/geoffgarside/ber"))
8033 (home-page "https://github.com/geoffgarside/ber")
8034 (synopsis "ASN.1 package supporting Basic Encoding Rules")
8035 (description
8036 "This package is a fork of the standard library @url{encoding/asn1} package,
8037adding Basic Encoding Rules support for use with
8038https://github.com/k-sone/snmpgo.")
8039 (license license:bsd-3)))
8040
8041(define-public go-github-com-getkin-kin-openapi
8042 (package
8043 (name "go-github-com-getkin-kin-openapi")
8044 (version "0.128.0")
8045 (source
8046 (origin
8047 (method git-fetch)
8048 (uri (git-reference
8049 (url "https://github.com/getkin/kin-openapi")
8050 (commit (string-append "v" version))))
8051 (file-name (git-file-name name version))
8052 (sha256
8053 (base32 "162hxwqywpbmfybyj1m0s4a0nxx0qldx90k49d2mf52xps1jp5p2"))))
8054 (build-system go-build-system)
8055 (arguments
8056 (list
8057 #:import-path "github.com/getkin/kin-openapi"
8058 #:test-flags
8059 ;; They try to access network.
8060 #~(list "-skip" "TestIssue495WithDraft04|TestExtraSiblingsInRemoteRef")
8061 #:phases
8062 #~(modify-phases %standard-phases
8063 (delete 'build)))) ; no go files in project's root
8064 (native-inputs
8065 (list go-github-com-stretchr-testify))
8066 (propagated-inputs
8067 (list go-github-com-go-openapi-jsonpointer
8068 go-github-com-gorilla-mux
8069 go-github-com-invopop-yaml
8070 go-github-com-mohae-deepcopy
8071 go-github-com-perimeterx-marshmallow
8072 go-gopkg-in-yaml-v3))
8073 (home-page "https://github.com/getkin/kin-openapi")
8074 (synopsis "OpenAPI 3.0 and Swagger v2 implementation for Golang")
8075 (description
8076 "This package implements a functionality for parsing, converting and
8077validating
8078@url{https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md,
8079OpenAPI v2.0},
8080@url{https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md,
8081OpenAPI v3.0} and
8082@url{https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md,
8083OpenAPI v3.1}.")
8084 (license license:expat)))
8085
8086(define-public go-github-com-getsentry-sentry-go
8087 (package
8088 (name "go-github-com-getsentry-sentry-go")
8089 (version "0.33.0")
8090 (source
8091 (origin
8092 (method git-fetch)
8093 (uri (git-reference
8094 (url "https://github.com/getsentry/sentry-go")
8095 (commit (string-append "v" version))))
8096 (file-name (git-file-name name version))
8097 (sha256
8098 (base32 "1mq66f0qvcfbafckpjipg6jbmq9115w5rbw795gf6vs0vanqq6v5"))))
8099 (build-system go-build-system)
8100 (arguments
8101 (list
8102 #:import-path "github.com/getsentry/sentry-go"
8103 ;; XXX: Full tests suite requires more packages.
8104 #:test-subdirs #~(list "internal/...")))
8105 (native-inputs
8106 (list go-github-com-google-go-cmp
8107 go-github-com-stretchr-testify
8108 go-go-uber-org-goleak))
8109 (propagated-inputs
8110 (list go-github-com-go-errors-errors
8111 go-github-com-pingcap-errors
8112 go-github-com-pkg-errors
8113 go-golang-org-x-sys
8114 go-golang-org-x-text))
8115 (home-page "https://github.com/getsentry/sentry-go")
8116 (synopsis "Sentry SDK for Golang")
8117 (description
8118 "@code{sentry-go} provides a @url{sentry.io, Sentry} client
8119implementation for the Go programming language.")
8120 (license license:expat)))
8121
8122(define-public go-github-com-gfleury-go-bitbucket-v1
8123 (package
8124 (name "go-github-com-gfleury-go-bitbucket-v1")
8125 (properties '((commit . "df385efaac68f2cdd70049ee0c20b778c50c058b")
8126 (revision . "0")
8127 (go-pseudo-version . "0.0.0-20240917142304-df385efaac68")))
8128 (version (git-version "0.0.0"
8129 (assoc-ref properties 'revision)
8130 (assoc-ref properties 'commit)))
8131 (source
8132 (origin
8133 (method git-fetch)
8134 (uri (git-reference
8135 (url "https://github.com/gfleury/go-bitbucket-v1")
8136 (commit (assoc-ref properties 'commit))))
8137 (file-name (git-file-name name version))
8138 (sha256
8139 (base32 "0571ccf2b6b4wp9qk4mh1pv9w2ll16bjwikrn9q7spsl7fvqaq0g"))))
8140 (build-system go-build-system)
8141 (arguments
8142 (list
8143 #:import-path "github.com/gfleury/go-bitbucket-v1"
8144 #:test-flags
8145 ;; These tests require some interaction with mock server.
8146 #~(list "-skip" (string-join
8147 (list "TestGetGroupsPermissionResponse/Empty_list"
8148 "TestGetPullRequestsResponse/Empty_list"
8149 "TestGetSSHKeysResponse/Empty_list"
8150 "TestGetSearchResultResponse/Good_response"
8151 "TestGetUsersPermissionResponse/Empty_list"
8152 "TestGetUsersResponse/Empty_list"
8153 "TestGetWebhooksResponse/Empty_list")
8154 "|"))))
8155 (native-inputs
8156 (list go-github-com-gorilla-mux))
8157 (propagated-inputs
8158 (list go-github-com-mitchellh-mapstructure
8159 go-golang-org-x-net
8160 go-golang-org-x-oauth2))
8161 (home-page "https://github.com/gfleury/go-bitbucket-v1")
8162 (synopsis "Go API client for Bitbucket (bitbucket-server V1)")
8163 (description
8164 "This package imlements API client for Atlassian's Bitbucket
8165Server (former stash) in Go. This API client was generated by the
8166@url{https://github.com/swagger-api/swagger-codegen, swagger-codegen} project.
8167By using the @url{https://github.com/swagger-api/swagger-spec, swagger-spec}
8168from a remote server, you can easily generate an API client.")
8169 (license license:expat)))
8170
8171(define-public go-github-com-gin-contrib-sse
8172 (package
8173 (name "go-github-com-gin-contrib-sse")
8174 (version "0.1.0")
8175 (source
8176 (origin
8177 (method git-fetch)
8178 (uri (git-reference
8179 (url "https://github.com/gin-contrib/sse")
8180 (commit (string-append "v" version))))
8181 (file-name (git-file-name name version))
8182 (sha256
8183 (base32 "072nq91a65n5xvwslqjyvydfd0mfpnvb3vwjyfvmzm1ym96wr1nd"))))
8184 (build-system go-build-system)
8185 (arguments
8186 (list
8187 #:import-path "github.com/gin-contrib/sse"))
8188 (native-inputs (list go-github-com-stretchr-testify))
8189 (home-page "https://github.com/gin-contrib/sse")
8190 (synopsis "Server-Sent Events implementation in Golang")
8191 (description
8192 "@acronym{Server-sent events, SSE} is a technology where a browser
8193receives automatic updates from a server via HTTP connection. The SSE
8194@code{EventSource} API is
8195@url{http://www.w3.org/TR/2009/WD-eventsource-20091029/,standardized as part
8196of HTML5[1] by the W3C}.")
8197 (license license:expat)))
8198
8199(define-public go-github-com-gin-gonic-gin
8200 (package
8201 (name "go-github-com-gin-gonic-gin")
8202 (version "1.12.0")
8203 (source
8204 (origin
8205 (method git-fetch)
8206 (uri (git-reference
8207 (url "https://github.com/gin-gonic/gin")
8208 (commit (string-append "v" version))))
8209 (file-name (git-file-name name version))
8210 (sha256
8211 (base32 "040pqmjsx2p4sc5izia8f1akhcp1z7yvi6wxg641cnnnvz9qfy9m"))))
8212 (build-system go-build-system)
8213 (arguments
8214 (list
8215 #:import-path "github.com/gin-gonic/gin"))
8216 (native-inputs
8217 (list go-github-com-stretchr-testify))
8218 (propagated-inputs
8219 (list go-github-com-bytedance-sonic
8220 go-github-com-gin-contrib-sse
8221 go-github-com-go-playground-validator-v10
8222 go-github-com-goccy-go-json
8223 go-github-com-goccy-go-yaml
8224 go-github-com-json-iterator-go
8225 go-github-com-mattn-go-isatty
8226 go-github-com-modern-go-reflect2
8227 go-github-com-pelletier-go-toml-v2
8228 go-github-com-quic-go-quic-go
8229 go-github-com-ugorji-go-codec
8230 go-go-mongodb-org-mongo-driver-v2
8231 go-golang-org-x-net
8232 go-google-golang-org-protobuf))
8233 (home-page "https://github.com/gin-gonic/gin")
8234 (synopsis "HTTP web framework")
8235 (description
8236 "This package provides a Golang web framework with martini-like API.
8237
8238Features:
8239@itemize
8240@item zero allocation router
8241@item middleware support
8242@item crash-free
8243@item JSON validation
8244@item routes grouping
8245@item error management
8246@item rendering built-in
8247@item extendable
8248@end itemize")
8249 (license license:expat)))
8250
8251(define-public go-github-com-go-ap-activitypub
8252 (package
8253 (name "go-github-com-go-ap-activitypub")
8254 (properties '((commit . "13f25467c431e950068c67ef58877a31dd784f1e")
8255 (revision . "0")
8256 (go-pseudo-version . "0.0.0-20260701132640-13f25467c431")))
8257 (version (git-version "0.0.0"
8258 (assoc-ref properties 'revision)
8259 (assoc-ref properties 'commit)))
8260 (source
8261 (origin
8262 (method git-fetch)
8263 (uri (git-reference
8264 (url "https://github.com/go-ap/activitypub")
8265 (commit (assoc-ref properties 'commit))))
8266 (file-name (git-file-name name version))
8267 (sha256
8268 (base32 "1j0k62dilfjsx78kvpvhq8lqwbycxbskp13da9hrmcchmp39c524"))))
8269 (build-system go-build-system)
8270 (arguments
8271 (list
8272 #:import-path "github.com/go-ap/activitypub"))
8273 (native-inputs
8274 (list go-github-com-google-go-cmp))
8275 (propagated-inputs
8276 (list go-git-sr-ht-mariusor-go-xsd-duration
8277 go-github-com-go-ap-errors
8278 go-github-com-go-ap-jsonld
8279 go-github-com-valyala-fastjson
8280 go-golang-org-x-text))
8281 (home-page "https://go-activitypub.federated.id/")
8282 (synopsis "About GoActivityPub: Vocabulary")
8283 (description
8284 "This project is part of the @url{https://github.com/go-ap,
8285GoActivityPub} library which helps with creating @code{ActivityPub}
8286applications using the Go programming language.")
8287 (license license:expat)))
8288
8289(define-public go-github-com-go-chi-chi
8290 (package
8291 (name "go-github-com-go-chi-chi")
8292 (version "4.1.3")
8293 (source
8294 (origin
8295 (method git-fetch)
8296 (uri (git-reference
8297 (url "https://github.com/go-chi/chi")
8298 (commit (string-append "v" version))))
8299 (file-name (git-file-name name version))
8300 (sha256
8301 (base32 "1chbdqmhzmni5bagkzrpcar9ky2fmvxpyq0xq7xh58880az6lbdl"))))
8302 (build-system go-build-system)
8303 (arguments
8304 (list
8305 #:import-path "github.com/go-chi/chi"
8306 #:test-flags #~(list "-vet=off")))
8307 (propagated-inputs
8308 (list go-golang-org-x-net))
8309 (home-page "https://github.com/go-chi/chi")
8310 (synopsis "Lightweight router for building Go HTTP services")
8311 (description
8312 "Chi is a lightweight, idiomatic and composable router for building Go
8313HTTP services. It is based on the standard Go @code{net/http} package and
8314supports middleware, routing groups, and URL parameters.")
8315 (license license:expat)))
8316
8317(define-public go-github-com-go-chi-chi-v5
8318 (package
8319 (name "go-github-com-go-chi-chi-v5")
8320 (version "5.2.1")
8321 (source
8322 (origin
8323 (method git-fetch)
8324 (uri (git-reference
8325 (url "https://github.com/go-chi/chi")
8326 (commit (string-append "v" version))))
8327 (file-name (git-file-name name version))
8328 (sha256
8329 (base32 "1kbgz6j720cdipmmkaxqa1w42wyqirw3x5pysnph92wpm2wnss1g"))))
8330 (build-system go-build-system)
8331 (arguments
8332 (list
8333 #:import-path "github.com/go-chi/chi/v5"
8334 #:test-flags #~(list "-vet=off")))
8335 (home-page "https://github.com/go-chi/chi")
8336 (synopsis "Composable router for HTTP services written in Go")
8337 (description
8338 "@code{go-github-com-go-chi-chi-v5} is an HTTP router that lets the user
8339decompose request handling into many smaller layers.")
8340 (license license:expat)))
8341
8342(define-public go-github-com-go-chi-cors
8343 (package
8344 (name "go-github-com-go-chi-cors")
8345 (version "1.2.2")
8346 (source
8347 (origin
8348 (method git-fetch)
8349 (uri (git-reference
8350 (url "https://github.com/go-chi/cors")
8351 (commit (string-append "v" version))))
8352 (file-name (git-file-name name version))
8353 (sha256
8354 (base32 "06mq3ylfki3hfq1zq14xi2xac676w732rdiz1kgzlnmnc8yy1dmq"))))
8355 (build-system go-build-system)
8356 (arguments
8357 (list
8358 #:import-path "github.com/go-chi/cors"))
8359 (home-page "https://github.com/go-chi/cors")
8360 (synopsis "CORS @code{net/http} middleware for Go")
8361 (description
8362 "This package is @code{net/http} handler to handle CORS related requests
8363as defined by @url{http://www.w3.org/TR/cors/}.")
8364 (license license:expat)))
8365
8366(define-public go-github-com-go-fed-httpsig
8367 (package
8368 (name "go-github-com-go-fed-httpsig")
8369 (version "1.1.0")
8370 (source
8371 (origin
8372 (method git-fetch)
8373 (uri (git-reference
8374 (url "https://github.com/go-fed/httpsig")
8375 (commit (string-append "v" version))))
8376 (file-name (git-file-name name version))
8377 (sha256
8378 (base32 "1h2yk2ih8vrma8zrs1z8bd4r48hbqdwhgbqykrs4siyj9c80ykd2"))))
8379 (build-system go-build-system)
8380 (arguments
8381 (list
8382 #:import-path "github.com/go-fed/httpsig"
8383 #:test-flags
8384 #~(list "-skip" (string-join
8385 ;; algorithms_test.go:153: "sha1": got true, want false
8386 (list "TestIsAvailable"
8387 ;; "rsa_SHA3_224": expected error, got:
8388 ;; %!s(<nil>)
8389 "TestSignerSigns")
8390 "|"))))
8391 (propagated-inputs
8392 (list go-golang-org-x-crypto))
8393 (home-page "https://github.com/go-fed/httpsig")
8394 (synopsis "Golang implementation of the HTTP Signatures RFC draft")
8395 (description
8396 "This package implements HTTP request and response signing and verification.
8397Supports the major MAC and asymmetric key signature algorithms. It has
8398several safety restrictions: One, none of the widely known
8399non-cryptographically safe algorithms are permitted; Two, the RSA SHA256
8400algorithms must be available in the binary (and it should, barring export
8401restrictions); Finally, the library assumes either the Authorizationn or
8402Signature headers are to be set (but not both).")
8403 (license license:bsd-3)))
8404
8405(define-public go-github-com-go-http-utils-headers
8406 (package
8407 (name "go-github-com-go-http-utils-headers")
8408 (version "0.0.0-20181008091004-fed159eddc2a")
8409 (source
8410 (origin
8411 (method git-fetch)
8412 (uri (git-reference
8413 (url "https://github.com/go-http-utils/headers")
8414 (commit (go-version->git-ref version))))
8415 (file-name (git-file-name name version))
8416 (sha256
8417 (base32 "19h2sffi04hr56qxkag2baa17v91x4vp1a1zkm9rqr846xqwspvm"))))
8418 (build-system go-build-system)
8419 (arguments
8420 (list
8421 #:import-path "github.com/go-http-utils/headers"))
8422 (native-inputs
8423 (list go-github-com-stretchr-testify))
8424 (home-page "https://github.com/go-http-utils/headers")
8425 (synopsis "HTTP header constants for Golang")
8426 (description
8427 "This package provides HTTP header constants.")
8428 (license license:expat)))
8429
8430(define-public go-github-com-go-jose-go-jose-v3
8431 (package
8432 (name "go-github-com-go-jose-go-jose-v3")
8433 (version "3.0.3")
8434 (source
8435 (origin
8436 (method git-fetch)
8437 (uri (git-reference
8438 (url "https://github.com/go-jose/go-jose")
8439 (commit (string-append "v" version))))
8440 (file-name (git-file-name name version))
8441 (sha256
8442 (base32 "0kbkplhzqv9ai28r4smhdsxxwh20d96srr3am37pwwnh48ivwch8"))
8443 (modules '((guix build utils)))
8444 (snippet
8445 #~(begin
8446 ;; Submodules with their own go.mod files and packaged separately:
8447 ;;
8448 ;; - github.com/go-jose/go-jose/jose-util
8449 (delete-file-recursively "jose-util")))))
8450 (build-system go-build-system)
8451 (arguments
8452 (list
8453 #:import-path "github.com/go-jose/go-jose/v3"
8454 #:test-flags #~(list "-vet=off")))
8455 (native-inputs
8456 (list go-github-com-google-go-cmp
8457 go-github-com-stretchr-testify))
8458 (propagated-inputs
8459 (list go-golang-org-x-crypto))
8460 (home-page "https://github.com/go-jose/go-jose")
8461 (synopsis "Implementation of JOSE standards (JWE, JWS, JWT) in Go")
8462 (description
8463 "This package provides a Golang implementation of the Javascript Object
8464Signing and Encryption set of standards. This includes support for JSON Web
8465Encryption, JSON Web Signature, and JSON Web Token standards.")
8466 (license license:asl2.0)))
8467
8468(define-public go-github-com-go-jose-go-jose-v4
8469 (package
8470 (inherit go-github-com-go-jose-go-jose-v3)
8471 (name "go-github-com-go-jose-go-jose-v4")
8472 (version "4.0.5")
8473 (source
8474 (origin
8475 (method git-fetch)
8476 (uri (git-reference
8477 (url "https://github.com/go-jose/go-jose")
8478 (commit (string-append "v" version))))
8479 (file-name (git-file-name name version))
8480 (sha256
8481 (base32 "1v29i3i364n6y2k7bcm1wc0s5am8p8bbn0nkfhh7v22dzi0z0dn4"))))
8482 (arguments
8483 (list
8484 #:import-path "github.com/go-jose/go-jose/v4"))))
8485
8486(define-public go-github-com-go-json-experiment-json
8487 (package
8488 (name "go-github-com-go-json-experiment-json")
8489 (version "0.0.0-20251027170946-4849db3c2f7e")
8490 (source
8491 (origin
8492 (method git-fetch)
8493 (uri (git-reference
8494 (url "https://github.com/go-json-experiment/json")
8495 (commit (go-version->git-ref version))))
8496 (file-name (git-file-name name version))
8497 (sha256
8498 (base32 "02baiz4vy02zr4319mr1k8s85zz4x418kh7bddg2k82h2k6qy5gf"))))
8499 (build-system go-build-system)
8500 (arguments
8501 (list
8502 #:test-flags
8503 #~(list "-skip" "TestSynctestMarshal")
8504 #:import-path "github.com/go-json-experiment/json"))
8505 (home-page "https://github.com/go-json-experiment/json")
8506 (synopsis "JSON serialization in Go")
8507 (description
8508 "This package implements semantic processing of JSON as specified in
8509@url{https://rfc-editor.org/rfc/rfc8259.html, RFC 8259}. JSON is a simple
8510data interchange format that can represent primitive data types such as
8511booleans, strings, and numbers, in addition to structured data types such as
8512objects and arrays.")
8513 (license license:bsd-3)))
8514
8515(define-public go-github-com-go-ldap-ldap-v3
8516 (package
8517 (name "go-github-com-go-ldap-ldap-v3")
8518 (version "3.4.9")
8519 (source
8520 (origin
8521 (method git-fetch)
8522 (uri (git-reference
8523 (url "https://github.com/go-ldap/ldap")
8524 (commit (string-append "v" version))))
8525 (file-name (git-file-name name version))
8526 (sha256
8527 (base32 "0qcm4piyk7l5n3kplcism0y7zp40xcfmjl04hw1s276qqf7vi6hg"))))
8528 (build-system go-build-system)
8529 (arguments
8530 (list
8531 #:import-path "github.com/go-ldap/ldap/v3"
8532 #:test-flags
8533 #~(list "-skip" (string-join
8534 (list "TestCompare"
8535 "TestExtendedRequest_WhoAmI"
8536 "TestExtendedRequest_FastBind"
8537 "TestMatchDNError"
8538 "TestMultiGoroutineSearch"
8539 "TestSearch"
8540 "TestSearchAsync"
8541 "TestSearchAsyncAndCancel"
8542 "TestSearchStartTLS"
8543 "TestSearchWithPaging"
8544 "TestSecureDialURL"
8545 "TestStartTLS"
8546 "TestTLSConnectionState"
8547 "TestUnsecureDialURL")
8548 "|"))))
8549 (native-inputs
8550 (list go-github-com-stretchr-testify))
8551 (propagated-inputs
8552 (list go-github-com-azure-go-ntlmssp
8553 go-github-com-go-asn1-ber-asn1-ber
8554 go-github-com-google-uuid
8555 go-github-com-jcmturner-gokrb5-v8))
8556 (home-page "https://github.com/go-ldap/ldap")
8557 (synopsis "LDAP v3 functionality for Go")
8558 (description "This package provides basic LDAP v3 functionality in the Go
8559language.")
8560 (license license:expat)))
8561
8562(define-public go-github-com-go-openapi-analysis
8563 (package
8564 (name "go-github-com-go-openapi-analysis")
8565 (version "0.23.0")
8566 (source
8567 (origin
8568 (method git-fetch)
8569 (uri (git-reference
8570 (url "https://github.com/go-openapi/analysis")
8571 (commit (string-append "v" version))))
8572 (file-name (git-file-name name version))
8573 (sha256
8574 (base32 "1i1sn6fzjv83y31b8lky0wh08xl8yj60y04jcidzcy5gmknavyfi"))
8575 (snippet
8576 #~(begin (use-modules (guix build utils))
8577 ;; Introduce cycle with go-github-com-go-openapi-loads.
8578 (delete-file-recursively "analysis_test")))))
8579 (build-system go-build-system)
8580 (arguments
8581 (list
8582 #:embed-files #~(list "jsonschema-draft-04\\.json" "schema\\.json")
8583 #:import-path "github.com/go-openapi/analysis"
8584 #:phases
8585 #~(modify-phases %standard-phases
8586 (add-before 'check 'disable-failing-tests
8587 (lambda* (#:key tests? unpack-path #:allow-other-keys)
8588 (with-directory-excursion (string-append "src/" unpack-path)
8589 (substitute* (find-files "." "\\_test.go$")
8590 ;; Tests requiring network access.
8591 (("TestFlatten_RemoteAbsolute")
8592 "OffTestFlatten_RemoteAbsolute")))))
8593 (replace 'check
8594 (lambda* (#:key tests? import-path #:allow-other-keys)
8595 (when tests?
8596 (with-directory-excursion (string-append "src/" import-path)
8597 (invoke "go" "test" "-v" "./..."))))))))
8598 (native-inputs
8599 (list go-github-com-stretchr-testify))
8600 (propagated-inputs
8601 (list go-github-com-go-openapi-jsonpointer
8602 go-github-com-go-openapi-spec
8603 go-github-com-go-openapi-strfmt
8604 go-github-com-go-openapi-swag))
8605 (home-page "https://github.com/go-openapi/analysis")
8606 (synopsis "OpenAPI specification object model analyzer")
8607 (description
8608 "This package provides a foundational library to analyze an
8609@acronym{OpenAPI Initiative,OAI} specification document for easier reasoning
8610about the content.")
8611 (license license:asl2.0)))
8612
8613(define-public go-github-com-go-openapi-errors
8614 (package
8615 (name "go-github-com-go-openapi-errors")
8616 (version "0.22.1")
8617 (source
8618 (origin
8619 (method git-fetch)
8620 (uri (git-reference
8621 (url "https://github.com/go-openapi/errors")
8622 (commit (string-append "v" version))))
8623 (file-name (git-file-name name version))
8624 (sha256
8625 (base32 "0ll8hys25q536q73d5qhgf7ch9cl5183g6bqgdq61zdgcvvz0krf"))))
8626 (build-system go-build-system)
8627 (arguments
8628 (list
8629 #:import-path "github.com/go-openapi/errors"
8630 #:test-flags #~(list "-vet=off")))
8631 (native-inputs
8632 (list go-github-com-stretchr-testify))
8633 (home-page "https://github.com/go-openapi/errors")
8634 (synopsis "OpenAPI toolkit common errors")
8635 (description
8636 "Shared errors and error interface used throughout the various libraries
8637found in the go-openapi toolkit.")
8638 (license license:asl2.0)))
8639
8640(define-public go-github-com-go-openapi-jsonpointer
8641 (package
8642 (name "go-github-com-go-openapi-jsonpointer")
8643 (version "0.21.0")
8644 (source
8645 (origin
8646 (method git-fetch)
8647 (uri (git-reference
8648 (url "https://github.com/go-openapi/jsonpointer")
8649 (commit (string-append "v" version))))
8650 (file-name (git-file-name name version))
8651 (sha256
8652 (base32 "17gb0ab2r61j4gqbpwgpz6cvf9jy91xwn11gkbg3b1rq797if7vc"))))
8653 (build-system go-build-system)
8654 (arguments
8655 (list
8656 #:import-path "github.com/go-openapi/jsonpointer"))
8657 (native-inputs
8658 (list go-github-com-stretchr-testify))
8659 (propagated-inputs
8660 (list go-github-com-go-openapi-swag))
8661 (home-page "https://github.com/go-openapi/jsonpointer")
8662 (synopsis "JSON Pointer with structs")
8663 (description
8664 "This package provides an implementation of JSON Pointer, initially
8665prototyped in @url{https://github.com/xeipuuv/gojsonpointer}.")
8666 (license license:asl2.0)))
8667
8668(define-public go-github-com-go-openapi-jsonreference
8669 (package
8670 (name "go-github-com-go-openapi-jsonreference")
8671 (version "0.21.0")
8672 (source
8673 (origin
8674 (method git-fetch)
8675 (uri (git-reference
8676 (url "https://github.com/go-openapi/jsonreference")
8677 (commit (string-append "v" version))))
8678 (file-name (git-file-name name version))
8679 (sha256
8680 (base32 "1121cnjjh07qdl4jdrd46kmdhx4dgsxn02rvsq5xzapl8gz5nhcn"))))
8681 (build-system go-build-system)
8682 (arguments
8683 (list
8684 #:import-path "github.com/go-openapi/jsonreference"))
8685 (native-inputs (list go-github-com-stretchr-testify))
8686 (propagated-inputs
8687 (list go-github-com-go-openapi-jsonpointer
8688 go-github-com-go-openapi-swag
8689 go-github-com-puerkitobio-purell))
8690 (home-page "https://github.com/go-openapi/jsonreference")
8691 (synopsis "JSON Reference with structs")
8692 (description
8693 "This package provides an implementation of JSON Reference, initially
8694prototyped in @url{https://github.com/xeipuuv/gojsonreference}.")
8695 (license license:asl2.0)))
8696
8697(define-public go-github-com-go-openapi-loads
8698 (package
8699 (name "go-github-com-go-openapi-loads")
8700 (version "0.22.0")
8701 (source
8702 (origin
8703 (method git-fetch)
8704 (uri (git-reference
8705 (url "https://github.com/go-openapi/loads")
8706 (commit (string-append "v" version))))
8707 (file-name (git-file-name name version))
8708 (sha256
8709 (base32 "0qlcpdlm4y4v9r2r533aqvrc86b67nj31gsz29x9ilr7smr5299d"))))
8710 (build-system go-build-system)
8711 (arguments
8712 (list
8713 #:embed-files #~(list "jsonschema-draft-04\\.json" "schema\\.json")
8714 #:import-path "github.com/go-openapi/loads"))
8715 (native-inputs
8716 (list go-github-com-stretchr-testify))
8717 (propagated-inputs
8718 (list go-github-com-go-openapi-analysis
8719 go-github-com-go-openapi-spec
8720 go-github-com-go-openapi-swag
8721 go-gopkg-in-yaml-v3))
8722 (home-page "https://github.com/go-openapi/loads")
8723 (synopsis "Load OAI specification documents")
8724 (description
8725 "This package implements functionality of loading of @acronym{OpenAPI
8726Initiative,OAI} specification documents from local or remote locations.
8727Supports JSON and YAML documents.")
8728 (license license:asl2.0)))
8729
8730(define-public go-github-com-go-openapi-runtime
8731 (package
8732 (name "go-github-com-go-openapi-runtime")
8733 (version "0.26.2")
8734 (source
8735 (origin
8736 (method git-fetch)
8737 (uri (git-reference
8738 (url "https://github.com/go-openapi/runtime")
8739 (commit (string-append "v" version))))
8740 (file-name (git-file-name name version))
8741 (sha256
8742 (base32 "1vi0pdip4zdw8yn8qd7wn8i1di4f05qfy9cyjfskgqpqw38v4jkz"))))
8743 (build-system go-build-system)
8744 (arguments
8745 (list
8746 #:embed-files #~(list "jsonschema-draft-04\\.json" "schema\\.json")
8747 #:import-path "github.com/go-openapi/runtime"
8748 #:test-flags #~(list "-vet=off")))
8749 (native-inputs
8750 (list go-github-com-stretchr-testify))
8751 (propagated-inputs
8752 (list go-github-com-docker-go-units
8753 go-github-com-go-openapi-analysis
8754 go-github-com-go-openapi-errors
8755 go-github-com-go-openapi-loads
8756 go-github-com-go-openapi-spec
8757 go-github-com-go-openapi-strfmt
8758 go-github-com-go-openapi-swag
8759 go-github-com-go-openapi-validate
8760 go-github-com-opentracing-opentracing-go
8761 go-go-opentelemetry-io-otel
8762 go-go-opentelemetry-io-otel-sdk
8763 go-golang-org-x-sync
8764 go-gopkg-in-yaml-v3))
8765 (home-page "https://github.com/go-openapi/runtime")
8766 (synopsis "OpenAPI runtime interfaces")
8767 (description
8768 "OpenAPI toolkit runtime component for use in code generation or as
8769untyped usage.")
8770 (license license:asl2.0)))
8771
8772(define-public go-github-com-go-openapi-spec
8773 (package
8774 (name "go-github-com-go-openapi-spec")
8775 (version "0.21.0")
8776 (source
8777 (origin
8778 (method git-fetch)
8779 (uri (git-reference
8780 (url "https://github.com/go-openapi/spec")
8781 (commit (string-append "v" version))))
8782 (file-name (git-file-name name version))
8783 (sha256
8784 (base32 "07qp7gakrjwznbxg1w5ww8j0ky407s9rmyyrpwv5rsp8yw6qimjc"))))
8785 (build-system go-build-system)
8786 (arguments
8787 (list
8788 #:import-path "github.com/go-openapi/spec"))
8789 (native-inputs
8790 (list go-github-com-stretchr-testify))
8791 (propagated-inputs
8792 (list go-github-com-go-openapi-jsonpointer
8793 go-github-com-go-openapi-jsonreference
8794 go-github-com-go-openapi-swag
8795 go-gopkg-in-yaml-v3))
8796 (home-page "https://github.com/go-openapi/spec")
8797 (synopsis "OpenAPI specification object model")
8798 (description
8799 "This package implements functionality to marshal and unmarshal
8800@url{https://swagger.io/,Swagger} API specifications into a Golang object
8801model.")
8802 (license license:asl2.0)))
8803
8804(define-public go-github-com-go-openapi-strfmt
8805 (package
8806 (name "go-github-com-go-openapi-strfmt")
8807 (version "0.23.0")
8808 (source
8809 (origin
8810 (method git-fetch)
8811 (uri (git-reference
8812 (url "https://github.com/go-openapi/strfmt")
8813 (commit (string-append "v" version))))
8814 (file-name (git-file-name name version))
8815 (sha256
8816 (base32 "00hqmfsgknhvp7mcbxfadpv4109f9gj59223yxhvmcviqg0a6a7b"))))
8817 (build-system go-build-system)
8818 (arguments
8819 (list
8820 #:import-path "github.com/go-openapi/strfmt"))
8821 (native-inputs
8822 (list go-github-com-stretchr-testify))
8823 (propagated-inputs
8824 (list go-github-com-asaskevich-govalidator
8825 go-github-com-go-openapi-errors
8826 go-github-com-google-uuid
8827 go-github-com-mitchellh-mapstructure
8828 go-github-com-oklog-ulid
8829 go-go-mongodb-org-mongo-driver))
8830 (home-page "https://github.com/go-openapi/strfmt")
8831 (synopsis "OpenAPI toolkit common string formats")
8832 (description
8833 "This package exposes a registry of data types to support string formats
8834in the @code{go-openapi} toolkit. @code{strfmt} represents a well known
8835string format such as credit card or email. The Go toolkit for OpenAPI
8836specifications knows how to deal with those.")
8837 (license license:asl2.0)))
8838
8839(define-public go-github-com-go-openapi-swag
8840 (package
8841 (name "go-github-com-go-openapi-swag")
8842 (version "0.23.0")
8843 (source
8844 (origin
8845 (method git-fetch)
8846 (uri (git-reference
8847 (url "https://github.com/go-openapi/swag")
8848 (commit (string-append "v" version))))
8849 (file-name (git-file-name name version))
8850 (sha256
8851 (base32 "1c03mnmy162rrd1rzfqxiwnblvlwl4v09yklq55q4j9p4jqv740g"))))
8852 (build-system go-build-system)
8853 (arguments
8854 (list
8855 #:import-path "github.com/go-openapi/swag"))
8856 (native-inputs
8857 (list go-github-com-stretchr-testify))
8858 (propagated-inputs
8859 (list go-github-com-mailru-easyjson go-gopkg-in-yaml-v3))
8860 (home-page "https://github.com/go-openapi/swag")
8861 (synopsis "Goodie bag in use in the go-openapi projects")
8862 (description
8863 "Contains a bunch of helper functions for go-openapi and go-swagger
8864projects.")
8865 (license license:asl2.0)))
8866
8867(define-public go-github-com-go-openapi-swag-conv
8868 (package
8869 (name "go-github-com-go-openapi-swag-conv")
8870 (version "0.24.0")
8871 (source
8872 (origin
8873 (method git-fetch)
8874 (uri (git-reference
8875 (url "https://github.com/go-openapi/swag")
8876 (commit (go-version->git-ref version #:subdir "conv"))))
8877 (file-name (git-file-name name version))
8878 (sha256
8879 (base32 "0p1k008zh6s1v55fi83v8ihldsvknf0wmwmc6i2ks0vw5gbwmaam"))
8880 (modules '((guix build utils)))
8881 (snippet
8882 #~(begin
8883 ;; Submodules with their own go.mod files and packaged separately:
8884 ;;
8885 ;; - github.com/go-openapi/swag/typeutils
8886 (for-each delete-file-recursively
8887 (list "cmdutils" "fileutils" "jsonname" "jsonutils"
8888 "loading" "mangling" "netutils" "stringutils"
8889 "typeutils" "yamlutils"))))))
8890 (build-system go-build-system)
8891 (arguments
8892 (list
8893 #:import-path "github.com/go-openapi/swag/conv"
8894 #:unpack-path "github.com/go-openapi/swag"))
8895 (native-inputs
8896 (list go-github-com-go-openapi-swag-typeutils
8897 go-github-com-stretchr-testify))
8898 (home-page "https://github.com/go-openapi/swag")
8899 (synopsis "Type conversion utilities for go-openapi")
8900 (description
8901 "This package provides type conversion and pointer helper functions for
8902the go-openapi and go-swagger projects.")
8903 (license license:asl2.0)))
8904
8905(define-public go-github-com-go-openapi-swag-loading
8906 (package
8907 (name "go-github-com-go-openapi-swag-loading")
8908 (version "0.27.0")
8909 (source
8910 (origin
8911 (method git-fetch)
8912 (uri (git-reference
8913 (url "https://github.com/go-openapi/swag")
8914 (commit (go-version->git-ref version #:subdir "loading"))))
8915 (file-name (git-file-name name version))
8916 (sha256
8917 (base32 "0rg5q7xif4gmhc99kkgvnz03d0d0z2vanyv8xa4myn6ykvacw458"))
8918 (modules '((guix build utils)))
8919 (snippet #~(delete-all-but "." "loading"))))
8920 (build-system go-build-system)
8921 (arguments
8922 (list
8923 #:import-path "github.com/go-openapi/swag/loading"
8924 #:unpack-path "github.com/go-openapi/swag"))
8925 (native-inputs
8926 (list go-github-com-go-openapi-swag-jsonutils-fixtures-test
8927 go-github-com-go-openapi-testify-enable-yaml-v2
8928 go-github-com-go-openapi-testify-v2))
8929 (propagated-inputs
8930 (list go-github-com-go-openapi-swag-conv
8931 go-github-com-go-openapi-swag-jsonutils
8932 go-github-com-go-openapi-swag-typeutils
8933 go-github-com-go-openapi-swag-yamlutils))
8934 (home-page "https://github.com/go-openapi/swag")
8935 (synopsis "Tools to load a file from HTTP or from a local file system")
8936 (description
8937 "Package loading provides tools to load a file from HTTP or from a local
8938file system.")
8939 (license license:asl2.0)))
8940
8941(define-public go-github-com-go-openapi-swag-mangling
8942 (package
8943 (name "go-github-com-go-openapi-swag-mangling")
8944 (version "0.29.2")
8945 (source
8946 (origin
8947 (method git-fetch)
8948 (uri (git-reference
8949 (url "https://github.com/go-openapi/swag")
8950 (commit (go-version->git-ref version #:subdir "mangling"))))
8951 (file-name (git-file-name name version))
8952 (sha256
8953 (base32 "1kk84irx6ifln01b5w1rzyrx4gmpzf6nkm190n6hhw7s4y28pq80"))
8954 (modules '((guix build utils)))
8955 (snippet #~(delete-all-but "." "mangling"))))
8956 (build-system go-build-system)
8957 (arguments
8958 (list
8959 #:import-path "github.com/go-openapi/swag/mangling"
8960 #:unpack-path "github.com/go-openapi/swag"))
8961 (native-inputs
8962 (list go-github-com-go-openapi-testify-v2))
8963 (home-page "https://github.com/go-openapi/swag")
8964 (synopsis "Name mangling capabilities")
8965 (description "Package mangling provides name mangling capabilities.")
8966 (license license:asl2.0)))
8967
8968(define-public go-github-com-go-openapi-swag-stringutils
8969 (package
8970 (name "go-github-com-go-openapi-swag-stringutils")
8971 (version "0.26.1")
8972 (source
8973 (origin
8974 (method git-fetch)
8975 (uri (git-reference
8976 (url "https://github.com/go-openapi/swag")
8977 (commit (go-version->git-ref version #:subdir "stringutils"))))
8978 (file-name (git-file-name name version))
8979 (sha256
8980 (base32 "0501r62xf03gzl00d7j7kwk15ssp3zikh9lq4899pyzyqfq2h8rk"))))
8981 (build-system go-build-system)
8982 (arguments
8983 (list
8984 #:import-path "github.com/go-openapi/swag/stringutils"
8985 #:unpack-path "github.com/go-openapi/swag"))
8986 (native-inputs
8987 (list go-github-com-go-openapi-testify-v2))
8988 (home-page "https://github.com/go-openapi/swag")
8989 (synopsis "Helpers to search and process strings")
8990 (description
8991 "Package stringutils exposes helpers to search and process strings.")
8992 (license license:asl2.0)))
8993
8994(define-public go-github-com-go-openapi-swag-typeutils
8995 (package
8996 (name "go-github-com-go-openapi-swag-typeutils")
8997 (version "0.27.0")
8998 (source
8999 (origin
9000 (method git-fetch)
9001 (uri (git-reference
9002 (url "https://github.com/go-openapi/swag")
9003 (commit (go-version->git-ref version #:subdir "typeutils"))))
9004 (file-name (git-file-name name version))
9005 (sha256
9006 (base32 "0rg5q7xif4gmhc99kkgvnz03d0d0z2vanyv8xa4myn6ykvacw458"))
9007 (modules '((guix build utils)))
9008 (snippet
9009 #~(begin
9010 ;; Submodules with their own go.mod files and packaged separately:
9011 (for-each delete-file-recursively
9012 (list "cmdutils" "conv" "fileutils" "jsonname"
9013 "jsonutils" "loading" "mangling" "netutils"
9014 "stringutils" "yamlutils"))))))
9015 (build-system go-build-system)
9016 (arguments
9017 (list
9018 #:import-path "github.com/go-openapi/swag/typeutils"
9019 #:unpack-path "github.com/go-openapi/swag"))
9020 (native-inputs
9021 (list go-github-com-go-openapi-testify-v2))
9022 (home-page "https://github.com/go-openapi/swag")
9023 (synopsis "Type checking utilities for go-openapi")
9024 (description
9025 "This package provides type checking utilities for the go-openapi and
9026go-swagger projects.")
9027 (license license:asl2.0)))
9028
9029(define-public go-github-com-go-openapi-validate
9030 (package
9031 (name "go-github-com-go-openapi-validate")
9032 (version "0.24.0")
9033 (source
9034 (origin
9035 (method git-fetch)
9036 (uri (git-reference
9037 (url "https://github.com/go-openapi/validate")
9038 (commit (string-append "v" version))))
9039 (file-name (git-file-name name version))
9040 (sha256
9041 (base32 "04inl03ha8sqqn1ccslbsl68shzf53qqk4yi88kvis0qdhcpl9fk"))))
9042 (build-system go-build-system)
9043 (arguments
9044 (list
9045 #:embed-files #~(list "jsonschema-draft-04\\.json" "schema\\.json")
9046 #:import-path "github.com/go-openapi/validate"
9047 #:phases
9048 #~(modify-phases %standard-phases
9049 (add-after 'unpack 'remove-failing-tests
9050 (lambda* (#:key import-path #:allow-other-keys)
9051 (with-directory-excursion (string-append "src/" import-path)
9052 ;; Tests requiring network access.
9053 (for-each delete-file
9054 (list "benchmark_test.go"
9055 "example_validator_test.go"
9056 "doc_test.go"))))))
9057 #:test-flags #~(list "-vet=off")))
9058 (native-inputs
9059 (list go-github-com-stretchr-testify))
9060 (propagated-inputs
9061 (list go-github-com-davecgh-go-spew
9062 go-github-com-go-openapi-analysis
9063 go-github-com-go-openapi-errors
9064 go-github-com-go-openapi-jsonpointer
9065 go-github-com-go-openapi-loads
9066 go-github-com-go-openapi-spec
9067 go-github-com-go-openapi-strfmt
9068 go-github-com-go-openapi-swag
9069 go-gopkg-in-yaml-v3))
9070 (home-page "https://github.com/go-openapi/validate")
9071 (synopsis "OpenAPI toolkit validation helpers")
9072 (description
9073 "This package provides helpers to validate Swagger 2.0 specification (aka
9074OpenAPI 2.0).")
9075 (license license:asl2.0)))
9076
9077(define-public go-github-com-go-ping-ping
9078 (package
9079 (name "go-github-com-go-ping-ping")
9080 (version "1.2.0")
9081 (source
9082 (origin
9083 (method git-fetch)
9084 (uri (git-reference
9085 (url "https://github.com/go-ping/ping")
9086 (commit (string-append "v" version))))
9087 (file-name (git-file-name name version))
9088 (sha256
9089 (base32 "1rn40cavn9l2av1rg8m2si5jgpf60wz10z2gyx2hi7l9cgx4df3f"))))
9090 (build-system go-build-system)
9091 (arguments
9092 (list
9093 #:import-path "github.com/go-ping/ping"
9094 ;; Some tests require a network
9095 #:test-flags #~(list "-skip" "TestNewPingerValid|TestSetIPAddr")))
9096 (propagated-inputs
9097 (list go-github-com-google-uuid
9098 go-golang-org-x-net
9099 go-golang-org-x-sync))
9100 (home-page "https://github.com/go-ping/ping")
9101 (synopsis "ICMP ping library")
9102 (description
9103 "This package provides a simple but powerful ICMP echo (ping) library.")
9104 (license license:expat)))
9105
9106(define-public go-github-com-go-resty-resty-v2
9107 (package
9108 (name "go-github-com-go-resty-resty-v2")
9109 (version "2.16.5")
9110 (source
9111 (origin
9112 (method git-fetch)
9113 (uri (git-reference
9114 (url "https://github.com/go-resty/resty")
9115 (commit (string-append "v" version))))
9116 (file-name (git-file-name name version))
9117 (sha256
9118 (base32 "1h2l5mdajmy9f3ghhsqbfhmrjm6mpkz9n4rsv98apr79daz0g0kc"))))
9119 (build-system go-build-system)
9120 (arguments
9121 (list
9122 #:import-path "github.com/go-resty/resty/v2"
9123 #:embed-files
9124 #~(list "children" "nodes" "text")
9125 #:test-flags
9126 #~(list "-count=1")))
9127 (propagated-inputs
9128 (list go-golang-org-x-net
9129 go-golang-org-x-time))
9130 (home-page "https://resty.dev/")
9131 (synopsis "HTTP, REST, and SSE client library for Golang")
9132 (description
9133 "Package resty provides Simple HTTP and REST client library for Go.")
9134 (license license:expat)))
9135
9136(define-public go-github-com-go-rod-rod
9137 (package
9138 (name "go-github-com-go-rod-rod")
9139 (version "0.116.2")
9140 (source
9141 (origin
9142 (method git-fetch)
9143 (uri (git-reference
9144 (url "https://github.com/go-rod/rod")
9145 (commit (string-append "v" version))))
9146 (file-name (git-file-name name version))
9147 (sha256
9148 (base32 "1szq6j9ascf1qpq8d6vzq8ka7gsr297g8ywpz1p3sk8wrpf35ycb"))))
9149 (build-system go-build-system)
9150 (arguments
9151 (list
9152 #:import-path "github.com/go-rod/rod"
9153 #:test-flags
9154 ;; Browser and network access are required.
9155 #~(list "-skip" (string-join
9156 (list "TestBasic"
9157 "TestCrash"
9158 "TestDownload"
9159 "TestWebSocketLargePayload"
9160 "TestDuplicatedConnectErr"
9161 "TestBrowserValid"
9162 "TestLaunch"
9163 "TestLaunchClient"
9164 "TestManaged"
9165 "TestSlowSend"
9166 "TestUseNode")
9167 "|"))
9168 #:test-subdirs
9169 ;; The full test suite requires access to the browser and network, run
9170 ;; portion of unittests only.
9171 #~(list "lib/cdp"
9172 "lib/defaults"
9173 "lib/devices"
9174 "lib/input"
9175 "lib/launcher"
9176 "lib/proto"
9177 "lib/utils"
9178 "lib/utils/check-issue")
9179 #:phases
9180 #~(modify-phases %standard-phases
9181 (add-after 'unpack 'remove-examples-and-benchmak
9182 (lambda* (#:key import-path #:allow-other-keys)
9183 (with-directory-excursion (string-append "src/" import-path)
9184 (for-each delete-file-recursively
9185 (list "examples_test.go"
9186 "lib/benchmark"
9187 "setup_test.go"
9188 "lib/cdp/example_test.go"
9189 "lib/examples")))))
9190 (add-before 'check 'pre-check
9191 (lambda _
9192 ;; Tests require GODEBUG="tracebackancestors=N" environment
9193 ;; setting.
9194 (setenv "GODEBUG" "tracebackancestors=1000"))))))
9195 (native-inputs
9196 (list go-github-com-ysmood-got
9197 go-github-com-ysmood-gotrace))
9198 (propagated-inputs
9199 (list go-github-com-ysmood-fetchup-for-go-rod
9200 go-github-com-ysmood-goob
9201 go-github-com-ysmood-gson
9202 go-github-com-ysmood-leakless))
9203 (home-page "https://go-rod.github.io/")
9204 (synopsis "Chrome DevTools Protocol driver for browser automation")
9205 (description
9206 "Rod is a high-level driver for Chrome DevTools Protocol. It's designed
9207for web automation and scraping, providing a simple API to control Chrome or
9208Chromium browsers programmatically.")
9209 (license license:expat)))
9210
9211(define-public go-github-com-go-sourcemap-sourcemap
9212 (package
9213 (name "go-github-com-go-sourcemap-sourcemap")
9214 (version "2.1.4")
9215 (source
9216 (origin
9217 (method git-fetch)
9218 (uri (git-reference
9219 (url "https://github.com/go-sourcemap/sourcemap")
9220 (commit (string-append "v" version))))
9221 (file-name (git-file-name name version))
9222 (sha256
9223 (base32 "11scr3yyhdinlx43k5lzyv215181d477ki74q9k9lnnff3w0jq40"))))
9224 (build-system go-build-system)
9225 (arguments
9226 (list
9227 #:tests? #f ; A test tries to download jquery.
9228 #:import-path "github.com/go-sourcemap/sourcemap"))
9229 (home-page "https://github.com/go-sourcemap/sourcemap")
9230 (synopsis "Source maps consumer for Golang")
9231 (description
9232 "This package provides a consumer/parser for JavaScript source maps that
9233allows Go programs to map minified JavaScript code locations back to their
9234original source file locations, line numbers, and function names.")
9235 (license license:bsd-2)))
9236
9237(define-public go-github-com-go-webauthn-webauthn
9238 (package
9239 (name "go-github-com-go-webauthn-webauthn")
9240 (version "0.10.2")
9241 (source
9242 (origin
9243 (method git-fetch)
9244 (uri (git-reference
9245 (url "https://github.com/go-webauthn/webauthn")
9246 (commit (string-append "v" version))))
9247 (file-name (git-file-name name version))
9248 (sha256
9249 (base32 "1jbx3cd8cr4aaqq9s1x4sd1rlcs3lmam5aavpl08s5rj18m7rivf"))))
9250 (build-system go-build-system)
9251 (arguments
9252 (list
9253 #:import-path "github.com/go-webauthn/webauthn"
9254 #:phases
9255 #~(modify-phases %standard-phases
9256 (add-after 'unpack 'remove-failing-tests
9257 (lambda* (#:key import-path #:allow-other-keys)
9258 (with-directory-excursion (string-append "src/" import-path)
9259 (for-each delete-file
9260 (list
9261 ;; It tries to access outbound network:
9262 ;;
9263 ;; Get "https://mds.fidoalliance.org": dial tcp:
9264 ;; lookup mds.fidoalliance.org on [::1]:53: read udp
9265 ;; [::1]:52300->[::1]:53: read: connection refused
9266 ;;
9267 ;; Post "https://mds3.fido.tools/getEndpoints": dial
9268 ;; tcp: lookup mds3.fido.tools on [::1]:53: read udp
9269 ;; [::1]:46703->[::1]:53: read: connection refused
9270 "metadata/metadata_test.go"
9271 ;; Get "https://mds.fidoalliance.org": dial tcp:
9272 ;; lookup mds.fidoalliance.org on [::1]:53: read udp
9273 ;; [::1]:37459->[::1]:53: read: connection refused
9274 "protocol/attestation_androidkey_test.go"
9275 "protocol/attestation_apple_test.go"
9276 "protocol/attestation_packed_test.go"
9277 "protocol/attestation_safetynet_test.go"
9278 "protocol/attestation_test.go"
9279 "protocol/attestation_tpm_test.go"
9280 "protocol/attestation_u2f_test.go")))))
9281 ;; XXX: Run all tests, workaround for go-build-system's lack of Go
9282 ;; modules support.
9283 (delete 'build)
9284 (replace 'check
9285 (lambda* (#:key tests? import-path #:allow-other-keys)
9286 (when tests?
9287 (with-directory-excursion (string-append "src/" import-path)
9288 (invoke "go" "test" "-v" "./..."))))))))
9289 (native-inputs
9290 (list go-github-com-stretchr-testify))
9291 (propagated-inputs
9292 (list go-github-com-fxamacker-cbor-v2
9293 go-github-com-go-webauthn-x
9294 go-github-com-golang-jwt-jwt-v5
9295 go-github-com-google-go-tpm
9296 go-github-com-google-uuid
9297 go-github-com-mitchellh-mapstructure))
9298 (home-page "https://github.com/go-webauthn/webauthn")
9299 (synopsis "Webauthn/FIDO2 library for Golang")
9300 (description
9301 "This library is meant to handle @url{https://www.w3.org/TR/webauthn,Web
9302Authentication} for Go apps that wish to implement a passwordless solution for
9303users. This library conforms as much as possible to the guidelines and
9304implementation procedures outlined by the document. It's a successor of not
9305maintained https://github.com/duo-labs/webauthn library.")
9306 (license license:bsd-3)))
9307
9308(define-public go-github-com-go-webauthn-x
9309 (package
9310 (name "go-github-com-go-webauthn-x")
9311 (version "0.1.12")
9312 (source
9313 (origin
9314 (method git-fetch)
9315 (uri (git-reference
9316 (url "https://github.com/go-webauthn/x")
9317 (commit (string-append "v" version))))
9318 (file-name (git-file-name name version))
9319 (sha256
9320 (base32 "1h2ylzzh5xismgkz0gar3k8lwdwqqc2np4z5gmi1b5chh6qwy1bs"))))
9321 (build-system go-build-system)
9322 (arguments
9323 (list
9324 #:tests? #f ; no tests
9325 #:import-path "github.com/go-webauthn/x"
9326 #:phases
9327 #~(modify-phases %standard-phases
9328 ;; Source only package.
9329 (delete 'build))))
9330 (propagated-inputs
9331 (list go-golang-org-x-crypto))
9332 (home-page "https://github.com/go-webauthn/x")
9333 (synopsis "Low level packages for WebAuthn")
9334 (description
9335 "This package implements a low level functionality for
9336@url{https://github.com/go-webauthn/webauthn,WebAuthn} library. It was forked
9337from CloudFlare's github.com/cloudflare/cfssl/revoke.")
9338 (license (list
9339 ;; For the CloudFlare's part: revoke/LICENSE.
9340 license:bsd-2
9341 ;; For the WebAuthn's fork: LICENSE.
9342 license:bsd-3))))
9343
9344(define-public go-github-com-gobwas-httphead
9345 (package
9346 (name "go-github-com-gobwas-httphead")
9347 (version "0.1.0")
9348 (source
9349 (origin
9350 (method git-fetch)
9351 (uri (git-reference
9352 (url "https://github.com/gobwas/httphead")
9353 (commit (string-append "v" version))))
9354 (file-name (git-file-name name version))
9355 (sha256
9356 (base32 "106l8ml5yihld3rrf45q5fhlsx64hrpj2dsvnnm62av4ya5nf0gb"))))
9357 (build-system go-build-system)
9358 (arguments
9359 (list
9360 #:import-path "github.com/gobwas/httphead"
9361 #:test-flags #~(list "-vet=off")))
9362 (home-page "https://github.com/gobwas/httphead")
9363 (synopsis "Tiny HTTP header value parsing library in Golang")
9364 (description
9365 "Package httphead contains utils for parsing HTTP and HTTP-grammar
9366compatible text protocols headers.")
9367 (license license:expat)))
9368
9369(define-public go-github-com-gobwas-ws
9370 (package
9371 (name "go-github-com-gobwas-ws")
9372 (version "1.4.0")
9373 (source
9374 (origin
9375 (method git-fetch)
9376 (uri (git-reference
9377 (url "https://github.com/gobwas/ws")
9378 (commit (string-append "v" version))))
9379 (file-name (git-file-name name version))
9380 (sha256
9381 (base32 "1nqgb75cizx11igwjqx6b6mlzl7yxy6x683m9aaalgcx9n1qxan7"))))
9382 (build-system go-build-system)
9383 (arguments
9384 (list
9385 #:import-path "github.com/gobwas/ws"))
9386 (propagated-inputs
9387 (list go-github-com-gobwas-httphead
9388 go-github-com-gobwas-pool))
9389 (home-page "https://github.com/gobwas/ws")
9390 (synopsis "Tiny WebSocket library for Golang")
9391 (description
9392 "Package ws implements a client and server for the @code{WebSocket}
9393protocol as specified in @url{https://rfc-editor.org/rfc/rfc6455.html, RFC
93946455}.")
9395 (license license:expat)))
9396
9397(define-public go-github-com-goccy-go-json
9398 (package
9399 (name "go-github-com-goccy-go-json")
9400 (version "0.10.5")
9401 (source
9402 (origin
9403 (method git-fetch)
9404 (uri (git-reference
9405 (url "https://github.com/goccy/go-json")
9406 (commit (string-append "v" version))))
9407 (file-name (git-file-name name version))
9408 (sha256
9409 (base32 "0kbb7d4xal1y65fnb152icqjkhrk19b4h3344xmzl3grc4rdxj1n"))
9410 (modules '((guix build utils)))
9411 (snippet '(delete-file-recursively "benchmarks"))))
9412 (build-system go-build-system)
9413 (arguments
9414 (list
9415 #:import-path "github.com/goccy/go-json"
9416 #:test-flags #~(list "-vet=off")))
9417 (home-page "https://github.com/goccy/go-json")
9418 (synopsis "JSON encoder/decoder in Go")
9419 (description
9420 "Fast JSON encoder/decoder compatible with encoding/json for Go.")
9421 (license license:expat)))
9422
9423(define-public go-github-com-gofiber-fiber-v2
9424 (package
9425 (name "go-github-com-gofiber-fiber-v2")
9426 (version "2.52.13")
9427 (source
9428 (origin
9429 (method git-fetch)
9430 (uri (git-reference
9431 (url "https://github.com/gofiber/fiber")
9432 (commit (string-append "v" version))))
9433 (file-name (git-file-name name version))
9434 (sha256
9435 (base32 "1gf4n1ilkh2fdnwmdgrkchma1lzc3czwxvcw0j26kabsxywach1q"))))
9436 (build-system go-build-system)
9437 (arguments
9438 (list
9439 #:import-path "github.com/gofiber/fiber/v2"
9440 #:test-flags
9441 #~(list "-skip"
9442 (string-join
9443 ;; XXX: Check if it's critical: error when reading
9444 ;; request headers: missing required Host header in
9445 ;; request. Buffer size=46, contents: "HEAD /template
9446 ;; HTTP/1.1\r\nContent-Length: 0\r\n\r\n"
9447 ;; (*fmt.wrapError)
9448 (list "TestAuthSources"
9449 "TestMultipleKeyAuth"
9450 "Test_CSRF_DeleteToken"
9451 "Test_Client_Invalid_URL"
9452 "Test_Ctx_Immutable_AfterHandler"
9453 "Test_Ctx_Next"
9454 "Test_Ctx_Next_Error"
9455 "Test_Ctx_RestartRouting"
9456 "Test_Ctx_RestartRoutingWithChangedPath"
9457 "Test_Ctx_RestartRoutingWithChangedPathAndCatchAll"
9458 "Test_Ctx_SendFile"
9459 "Test_DefaultConfig"
9460 "Test_FileSystem_Head"
9461 "Test_FileSystem_UsingParam"
9462 "Test_FileSystem_UsingParam_NonFile"
9463 "Test_Next"
9464 "Test_NoRules"
9465 "Test_Proxy_DoTimeout_Timeout"
9466 "Test_Redirect"
9467 "Test_RegexRules"
9468 "Test_Rewrite")
9469 "|"))
9470 #:phases
9471 #~(modify-phases %standard-phases
9472 (add-before 'build 'go-generate
9473 (lambda* (#:key import-path #:allow-other-keys)
9474 (with-directory-excursion (string-append "src/" import-path)
9475 (invoke "go" "generate" "-v" "-n" "./...")))))))
9476 (propagated-inputs
9477 (list go-github-com-google-uuid
9478 go-github-com-mattn-go-colorable
9479 go-github-com-mattn-go-isatty
9480 go-github-com-mattn-go-runewidth
9481 go-github-com-tinylib-msgp
9482 go-github-com-valyala-bytebufferpool
9483 go-github-com-valyala-fasthttp
9484 go-golang-org-x-sys))
9485 (home-page "https://github.com/gofiber/fiber")
9486 (synopsis "Express inspired web framework written in Golang")
9487 (description
9488 "Package fiber is an @code{https://github.com/expressjs/express, Express}
9489inspired web framework built on top of Fasthttp, the fastest HTTP engine for
9490Go. Designed to ease things up for fast development with zero memory
9491allocation and performance in mind.")
9492 (license license:expat)))
9493
9494(define-public go-github-com-gofiber-fiber-v3
9495 (package
9496 (inherit go-github-com-gofiber-fiber-v2)
9497 (name "go-github-com-gofiber-fiber-v3")
9498 (version "3.3.0")
9499 (source
9500 (origin
9501 (method git-fetch)
9502 (uri (git-reference
9503 (url "https://github.com/gofiber/fiber")
9504 (commit (string-append "v" version))))
9505 (file-name (git-file-name name version))
9506 (sha256
9507 (base32 "189hqhbm9pvpl5g2n2yk3mvp0f4jx4s0w5ivmgh5li8plffc9iwk"))))
9508 (arguments
9509 (substitute-keyword-arguments arguments
9510 ((#:import-path _) "github.com/gofiber/fiber/v3")
9511 ((#:embed-files _ #~())
9512 #~(list
9513 ;; golang.org/x/net/publicsuffix/table.go:63:12: pattern
9514 ;; data/children: cannot embed irregular file data/children
9515 "children"
9516 ;; golang.org/x/net/publicsuffix/table.go:48:12: pattern
9517 ;; data/nodes: cannot embed irregular file data/nodes
9518 "nodes"
9519 ;; golang.org/x/net/publicsuffix/table.go:33:12: pattern data/text:
9520 ;; cannot embed irregular file data/text
9521 "text"))))
9522 (native-inputs
9523 (list go-github-com-stretchr-testify
9524 go-github-com-shamaton-msgpack-v3))
9525 (propagated-inputs
9526 (list go-github-com-fxamacker-cbor-v2
9527 go-github-com-gofiber-schema
9528 go-github-com-gofiber-utils-v2
9529 go-github-com-google-uuid
9530 go-github-com-mattn-go-colorable
9531 go-github-com-mattn-go-isatty
9532 go-github-com-tinylib-msgp
9533 go-github-com-valyala-bytebufferpool
9534 go-github-com-valyala-fasthttp
9535 go-golang-org-x-crypto
9536 go-golang-org-x-net
9537 go-golang-org-x-text))))
9538
9539(define-public go-github-com-gogo-googleapis
9540 (package
9541 (name "go-github-com-gogo-googleapis")
9542 (version "1.4.1")
9543 (source
9544 (origin
9545 (method git-fetch)
9546 (uri (git-reference
9547 (url "https://github.com/gogo/googleapis")
9548 (commit (string-append "v" version))))
9549 (file-name (git-file-name name version))
9550 (sha256
9551 (base32 "094znmiswmz8d4b6k7il655gvjrwvraacln0n0lzv5kskbzhlmfi"))))
9552 (build-system go-build-system)
9553 (arguments
9554 (list
9555 #:skip-build? #t
9556 #:tests? #f
9557 #:import-path "github.com/gogo/googleapis"))
9558 (propagated-inputs (list go-github-com-gogo-protobuf))
9559 (home-page "https://github.com/gogo/googleapis")
9560 (synopsis "Google APIs rRPC templates")
9561 (description
9562 "This package provides rRPC templates used to interact with Google
9563APIs.")
9564 (license license:asl2.0)))
9565
9566(define-public go-github-com-gogo-protobuf
9567 (package
9568 (name "go-github-com-gogo-protobuf")
9569 (version "1.3.2")
9570 (source
9571 (origin
9572 (method git-fetch)
9573 (uri (git-reference
9574 (url "https://github.com/gogo/protobuf")
9575 (commit (string-append "v" version))))
9576 (file-name (git-file-name name version))
9577 (sha256
9578 (base32 "0dfv1bhx5zhb5bsj5sj757nkacf2swp1ajpcyj9d0b37n602m18a"))))
9579 (build-system go-build-system)
9580 (arguments
9581 (list
9582 #:skip-build? #t
9583 #:import-path "github.com/gogo/protobuf"
9584 ;; protoc: exec: "protoc-min-version": executable file not found in $PATH
9585 ;; err = exec: "protoc": executable file not found in $PATH:
9586 #:test-flags
9587 #~(list "-skip"
9588 (string-join
9589 (list "TestDashFilename"
9590 "TestEmbedMarshaler"
9591 "TestGolden"
9592 "TestParameters"
9593 "TestPopulateWarning"
9594 "TestRepeatedEmbed"
9595 "TestStdTypesGoString"
9596 "TestTakesTooLongToDebug")
9597 "|")
9598 "-vet=off")))
9599 (home-page "https://github.com/gogo/protobuf")
9600 (synopsis "Protocol Buffers for Go with Gadgets")
9601 (description "Gogoprotobuf is a fork of golang/protobuf with extra code
9602generation features. This code generation is used to achieve:
9603@itemize
9604@item fast marshalling and unmarshalling
9605@item more canonical Go structures
9606@item goprotobuf compatibility
9607@item less typing by optionally generating extra helper code
9608@item peace of mind by optionally generating test and benchmark code
9609@item other serialization formats
9610@end itemize")
9611 (license license:bsd-3)))
9612
9613(define-public go-github-com-gogo-status
9614 (package
9615 (name "go-github-com-gogo-status")
9616 (version "1.1.1")
9617 (source
9618 (origin
9619 (method git-fetch)
9620 (uri (git-reference
9621 (url "https://github.com/gogo/status")
9622 (commit (string-append "v" version))))
9623 (file-name (git-file-name name version))
9624 (sha256
9625 (base32 "0k0j262qvq5ligiqafhq3mljzmgjcqz4n3xxv7j3di9glr8n38cz"))))
9626 (build-system go-build-system)
9627 (arguments
9628 (list
9629 #:import-path "github.com/gogo/status"))
9630 (propagated-inputs
9631 (list go-github-com-gogo-googleapis
9632 go-github-com-gogo-protobuf
9633 go-github-com-golang-protobuf
9634 go-google-golang-org-grpc))
9635 (home-page "https://github.com/gogo/status")
9636 (synopsis "Error handling for client/server rRPC-like communication")
9637 (description
9638 "Package status implements errors returned by @code{gRPC}. These errors
9639are serialized and transmitted on the wire between server and client, and
9640allow for additional data to be transmitted via the Details field in the
9641status proto. @code{gRPC} service handlers should return an error created by
9642this package, and @code{gRPC} clients should expect a corresponding error to
9643be returned from the RPC call.")
9644 (license license:asl2.0)))
9645
9646(define-public go-github-com-gogs-go-gogs-client
9647 (package
9648 (name "go-github-com-gogs-go-gogs-client")
9649 (version "0.0.0-20210131175652-1d7215cd8d85")
9650 (source
9651 (origin
9652 (method git-fetch)
9653 (uri (git-reference
9654 (url "https://github.com/gogs/go-gogs-client")
9655 (commit (go-version->git-ref version))))
9656 (file-name (git-file-name name version))
9657 (sha256
9658 (base32 "11b8mwdly960z7jdx297jywxzljs0l0sl3i1qvii1fjzis7k608l"))))
9659 (build-system go-build-system)
9660 (arguments
9661 (list
9662 #:import-path "github.com/gogs/go-gogs-client"))
9663 (home-page "https://github.com/gogs/go-gogs-client")
9664 (synopsis "Gogs API client in Go")
9665 (description
9666 "This package provides API to @url{https://gogs.io/, Gogs} - a
9667self-hosted Git service.")
9668 (license license:expat)))
9669
9670(define-public go-github-com-golang-groupcache
9671 (package
9672 (name "go-github-com-golang-groupcache")
9673 (version "0.0.0-20210331224755-41bb18bfe9da")
9674 (source
9675 (origin
9676 (method git-fetch)
9677 (uri (git-reference
9678 (url "https://github.com/golang/groupcache")
9679 (commit (go-version->git-ref version))))
9680 (file-name (git-file-name name version))
9681 (sha256
9682 (base32 "07amgr8ji4mnq91qbsw2jlcmw6hqiwdf4kzfdrj8c4b05w4knszc"))))
9683 (build-system go-build-system)
9684 (arguments
9685 (list
9686 #:import-path "github.com/golang/groupcache"))
9687 (propagated-inputs
9688 (list go-github-com-golang-protobuf))
9689 (home-page "https://github.com/golang/groupcache")
9690 (synopsis "Groupcache is a caching and cache-filling library")
9691 (description
9692 "Groupcache is a caching and cache-filling library, intended as a
9693replacement for memcached in many cases. It provides a data loading mechanism
9694with caching and de-duplication that works across a set of peer processes.")
9695 (license license:asl2.0)))
9696
9697(define-public go-github-com-google-certificate-transparency-go
9698 (package
9699 (name "go-github-com-google-certificate-transparency-go")
9700 (version "1.3.2")
9701 (source
9702 (origin
9703 (method git-fetch)
9704 (uri (git-reference
9705 (url "https://github.com/google/certificate-transparency-go")
9706 (commit (string-append "v" version))))
9707 (file-name (git-file-name name version))
9708 (sha256
9709 (base32 "0c2ngmjjmnhcnfwjy0pqnx1hvxygsdc4lscqvnyqrms0zbc51c0m"))))
9710 (build-system go-build-system)
9711 (arguments
9712 (list
9713 #:skip-build? #t
9714 #:import-path "github.com/google/certificate-transparency-go"
9715 ;; XXX: Remove when all inputs are packaged.
9716 #:test-subdirs
9717 #~(list "."
9718 "asn1"
9719 "client"
9720 "ctpolicy"
9721 "ctutil"
9722 "fixchain"
9723 "gossip/minimal/x509ext"
9724 "internal/witness/cmd/witness/internal/http"
9725 "internal/witness/cmd/witness/internal/witness"
9726 "jsonclient"
9727 "logid"
9728 "loglist3"
9729 "scanner"
9730 "schedule"
9731 "submission"
9732 "tls"
9733 "trillian/ctfe"
9734 "trillian/ctfe/cache/lru"
9735 "trillian/ctfe/storage/mysql"
9736 "trillian/ctfe/storage/postgresql"
9737 "trillian/integration"
9738 "trillian/migrillian/core"
9739 "x509"
9740 "x509util")))
9741 (native-inputs
9742 (list go-github-com-data-dog-go-sqlmock
9743 go-github-com-golang-mock
9744 go-github-com-google-go-cmp
9745 go-github-com-google-trillian
9746 go-github-com-kylelemons-godebug
9747 go-github-com-sergi-go-diff
9748 go-github-com-spf13-cobra
9749 go-github-com-spf13-pflag))
9750 (propagated-inputs
9751 (list go-github-com-go-sql-driver-mysql
9752 go-github-com-gorilla-mux
9753 go-github-com-hashicorp-golang-lru-v2
9754 go-github-com-jackc-pgx-v5
9755 go-github-com-mattn-go-sqlite3
9756 go-github-com-prometheus-client-golang
9757 go-github-com-rs-cors
9758 go-github-com-tomasen-realip
9759 go-github-com-transparency-dev-merkle
9760 go-golang-org-x-crypto
9761 go-golang-org-x-time
9762 go-google-golang-org-grpc
9763 go-google-golang-org-protobuf
9764 go-gopkg-in-yaml-v3
9765 go-k8s-io-klog-v2
9766
9767 ;; TODO: Complete packaging.
9768 ;; go-github-com-fullstorydev-grpcurl
9769 ;; go-go-etcd-io-etcd-v3
9770 ;; go-go-etcd-io-etcd-client-v3
9771 #;go-go-etcd-io-etcd-etcdctl-v3))
9772 (home-page "https://github.com/google/certificate-transparency-go")
9773 (synopsis "Go client for Certificate Transparency logs")
9774 (description
9775 "This package provides Go implementations of components for working
9776with Certificate Transparency (CT) logs. CT is a method for publicly
9777logging TLS certificates to help detect mis-issued or malicious
9778certificates.")
9779 (license license:asl2.0)))
9780
9781(define-public go-github-com-google-certtostore
9782 (package
9783 (name "go-github-com-google-certtostore")
9784 (version "1.0.6")
9785 (source
9786 (origin
9787 (method git-fetch)
9788 (uri (git-reference
9789 (url "https://github.com/google/certtostore")
9790 (commit (string-append "v" version))))
9791 (file-name (git-file-name name version))
9792 (sha256
9793 (base32 "0v5fk72ys61rbrczxx80mbnarlz55vil3hkpr7pw5s2lmb9r2qb9"))))
9794 (build-system go-build-system)
9795 (arguments
9796 (list
9797 #:import-path "github.com/google/certtostore"))
9798 (propagated-inputs
9799 (list go-github-com-google-deck
9800 ;; go-github-com-stackexchange-wmi ;Windows only
9801 go-golang-org-x-crypto
9802 go-golang-org-x-sys))
9803 (home-page "https://github.com/google/certtostore")
9804 (synopsis "Certificate storage for Golang")
9805 (description
9806 "This Golang package handles storage for x509 certificates.")
9807 (license license:asl2.0)))
9808
9809(define-public go-github-com-google-go-containerregistry
9810 (package
9811 (name "go-github-com-google-go-containerregistry")
9812 (version "0.21.7")
9813 (source
9814 (origin
9815 (method git-fetch)
9816 (uri (git-reference
9817 (url "https://github.com/google/go-containerregistry")
9818 (commit (string-append "v" version))))
9819 (file-name (git-file-name name version))
9820 (sha256
9821 (base32 "002qa02i1ai3qqysjzgi01v9gcx5zcx6f8bgwkik8yb415ijk80d"))
9822 (modules '((guix build utils)))
9823 (snippet
9824 #~(begin
9825 ;; Submodules with their own go.mod files and packaged separately:
9826 (for-each delete-file-recursively
9827 (list "cmd/krane"
9828 "pkg/authn/k8schain"
9829 "pkg/authn/kubernetes"))
9830 (delete-file-recursively "vendor")))))
9831 (build-system go-build-system)
9832 (arguments
9833 (list
9834 #:skip-build? #t
9835 #:import-path "github.com/google/go-containerregistry"))
9836 (native-inputs
9837 ;; For the CLI commands.
9838 (list go-github-com-spf13-cobra
9839 go-github-com-google-go-cmp))
9840 (propagated-inputs
9841 (list go-github-com-docker-cli
9842 go-github-com-klauspost-compress
9843 go-github-com-moby-docker-image-spec
9844 go-github-com-moby-moby-api
9845 go-github-com-moby-moby-client
9846 go-github-com-opencontainers-go-digest
9847 go-github-com-opencontainers-image-spec
9848 go-golang-org-x-oauth2
9849 go-golang-org-x-sync
9850 go-golang-org-x-tools))
9851 (home-page "https://github.com/google/go-containerregistry")
9852 (synopsis "Go library and tools for working with container registries")
9853 (description
9854 "This package provides a Go library for interacting with container
9855registries. It includes tools like @code{crane} for interacting with remote
9856images and registries, @code{gcrane} for GCR-specific operations, and
9857libraries for building and manipulating container images.")
9858 (license license:asl2.0)))
9859
9860(define-public go-github-com-google-go-dap
9861 (package
9862 (name "go-github-com-google-go-dap")
9863 (version "0.12.0")
9864 (source
9865 (origin
9866 (method git-fetch)
9867 (uri (git-reference
9868 (url "https://github.com/google/go-dap")
9869 (commit (string-append "v" version))))
9870 (file-name (git-file-name name version))
9871 (sha256
9872 (base32 "0c0941wxnpx3pscf08gr6vrn90rja8k8pjhl1px0r54kcjidd5js"))))
9873 (build-system go-build-system)
9874 (arguments
9875 (list
9876 #:import-path "github.com/google/go-dap"))
9877 (home-page "https://github.com/google/go-dap")
9878 (synopsis "Implementation of the Debug Adapter Protocol in Golang")
9879 (description
9880 "Package dap contains data types and code for Debug Adapter
9881Protocol (DAP) specification.")
9882 (license license:asl2.0)))
9883
9884(define-public go-github-com-google-go-github-v31
9885 (package
9886 (name "go-github-com-google-go-github-v31")
9887 (version "31.0.0")
9888 (source
9889 (origin
9890 (method git-fetch)
9891 (uri (git-reference
9892 (url "https://github.com/google/go-github")
9893 (commit (string-append "v" version))))
9894 (file-name (git-file-name name version))
9895 (sha256
9896 (base32 "0bcybmr341hnp8k630pi4dcgia7561yzqc874l4c3nl4bc9rkh5j"))
9897 (modules '((guix build utils)))
9898 (snippet
9899 #~(begin
9900 ;; Submodules with their own go.mod files and packaged separately:
9901 ;;
9902 ;; - github.com/google/go-github/scrape
9903 ;; - github.com/google/go-github/update-urls
9904 (delete-file-recursively "scrape")
9905 (delete-file-recursively "update-urls")))))
9906 (build-system go-build-system)
9907 (arguments
9908 (list
9909 #:skip-build? #t
9910 #:import-path "github.com/google/go-github/v31"
9911 ;; repos_releases_test.go:449: Header.Get("Content-Type") returned
9912 ;; "application/octet-stream", want "text/plain; charset=utf-8"
9913 #:test-flags #~(list "-skip" "TestRepositoriesService_UploadReleaseAsset")
9914 #:phases
9915 #~(modify-phases %standard-phases
9916 (add-after 'unpack 'remove-examples
9917 (lambda* (#:key tests? import-path #:allow-other-keys)
9918 (with-directory-excursion (string-append "src/" import-path)
9919 (delete-file-recursively "example")))))))
9920 (propagated-inputs
9921 (list go-github-com-google-go-querystring
9922 go-golang-org-x-crypto
9923 go-golang-org-x-oauth2
9924 go-golang-org-x-sync))
9925 (home-page "https://github.com/google/go-github/")
9926 (synopsis "Client library for accessing the GitHub API v3")
9927 (description "@code{go-github} is a Go client library for accessing the
9928GitHub API v3.")
9929 (license license:bsd-3)))
9930
9931;; For [email protected]
9932(define-public go-github-com-google-go-github-v36
9933 (package
9934 (inherit go-github-com-google-go-github-v31)
9935 (name "go-github-com-google-go-github-v36")
9936 (version "36.0.0")
9937 (source
9938 (origin
9939 (inherit (package-source go-github-com-google-go-github-v31))
9940 (method git-fetch)
9941 (uri (git-reference
9942 (url "https://github.com/google/go-github")
9943 (commit (string-append "v" version))))
9944 (file-name (git-file-name name version))
9945 (sha256
9946 (base32 "041a1rmi7pipimxiwjnsd0dngzb4djmcz8a8x4xv53d3373szaj6"))))
9947 (arguments
9948 (substitute-keyword-arguments arguments
9949 ((#:import-path _) "github.com/google/go-github/v36")))
9950 (native-inputs
9951 (list go-github-com-google-go-cmp))))
9952
9953(define-public go-github-com-google-go-github-v50
9954 (package
9955 (inherit go-github-com-google-go-github-v31)
9956 (name "go-github-com-google-go-github-v50")
9957 (version "50.2.0")
9958 (source
9959 (origin
9960 (method git-fetch)
9961 (uri (git-reference
9962 (url "https://github.com/google/go-github")
9963 (commit (string-append "v" version))))
9964 (file-name (git-file-name name version))
9965 (sha256
9966 (base32 "11qzikm988zfzs6g70lbdjfhw7kdndagahg0q2bkn2ibq2c47xxp"))
9967 (modules '((guix build utils)))
9968 (snippet
9969 #~(begin
9970 ;; Submodules with their own go.mod files and packaged separately:
9971 ;;
9972 ;; - github.com/google/go-github/scrape
9973 (delete-file-recursively "scrape")
9974 (delete-file-recursively "update-urls")))))
9975 (arguments
9976 (substitute-keyword-arguments
9977 (package-arguments go-github-com-google-go-github-v31)
9978 ((#:import-path _) "github.com/google/go-github/v50")))
9979 (native-inputs
9980 (list go-github-com-google-go-cmp))
9981 (propagated-inputs
9982 (list go-github-com-google-go-querystring
9983 go-github-com-protonmail-go-crypto
9984 go-golang-org-x-oauth2))))
9985
9986(define-public go-github-com-google-go-github-v61
9987 (package
9988 (inherit go-github-com-google-go-github-v50)
9989 (name "go-github-com-google-go-github-v61")
9990 (version "61.0.0")
9991 (source
9992 (origin
9993 (method git-fetch)
9994 (uri (git-reference
9995 (url "https://github.com/google/go-github")
9996 (commit (string-append "v" version))))
9997 (file-name (git-file-name name version))
9998 (sha256
9999 (base32 "1kivw55z2xckymg7xx6hkvmki5mwrphhcjlgrpfv35glnd5p5zmy"))
10000 (modules '((guix build utils)))
10001 (snippet
10002 #~(begin
10003 ;; Submodules with their own go.mod files and packaged separately:
10004 ;;
10005 ;; - github.com/google/go-github/scrape
10006 ;; - github.com/google/go-github/tools
10007 (delete-file-recursively "scrape")
10008 (delete-file-recursively "tools")))))
10009 (arguments
10010 (substitute-keyword-arguments arguments
10011 ((#:import-path _) "github.com/google/go-github/v61")))
10012 (propagated-inputs
10013 (list go-github-com-google-go-querystring))))
10014
10015(define-public go-github-com-google-go-github-v72
10016 (package
10017 (inherit go-github-com-google-go-github-v61)
10018 (name "go-github-com-google-go-github-v72")
10019 (version "72.0.0")
10020 (source
10021 (origin
10022 (inherit (package-source go-github-com-google-go-github-v61))
10023 (method git-fetch)
10024 (uri (git-reference
10025 (url "https://github.com/google/go-github")
10026 (commit (string-append "v" version))))
10027 (file-name (git-file-name name version))
10028 (sha256
10029 (base32 "0gvfmvrfay9h5gcm7k0qs2nwig3zfb6v1b2gjxpykqkbzp3zg544"))))
10030 (arguments
10031 (substitute-keyword-arguments arguments
10032 ((#:import-path _) "github.com/google/go-github/v72")
10033 ((#:test-flags test-flags #~(list))
10034 #~(list "-vet=off"
10035 "-skip" (string-join
10036 ;; Tests need network setup and access to Internet.
10037 (list "TestEnterpriseService_ListEnterpriseNetwork"
10038 "TestOrganizationsService_*"
10039 "TestRepositoriesService_*"
10040 "TestUsersService_specifiedUser_GetPackage")
10041 "|")))))))
10042
10043(define-public go-github-com-google-go-github-v78
10044 (package
10045 (inherit go-github-com-google-go-github-v61)
10046 (name "go-github-com-google-go-github-v78")
10047 (version "78.0.0")
10048 (source
10049 (origin
10050 (inherit (package-source go-github-com-google-go-github-v61))
10051 (method git-fetch)
10052 (uri (git-reference
10053 (url "https://github.com/google/go-github")
10054 (commit (string-append "v" version))))
10055 (file-name (git-file-name name version))
10056 (sha256
10057 (base32 "1n73mcfbjn9ndsc7ipd86nbdglnbn6y5mq1wbrc0lar7dlzw0n1m"))))
10058 (arguments
10059 (substitute-keyword-arguments arguments
10060 ((#:import-path _) "github.com/google/go-github/v78")
10061 ((#:test-flags test-flags #~(list))
10062 #~(list "-skip" (string-join
10063 ;; Tests need network setup and access to Internet.
10064 (list
10065 "TestEnterpriseService_ListEnterpriseNetworkC"
10066 "TestOrganizationsService_DeletePackage"
10067 "TestOrganizationsService_GetPackage"
10068 "TestOrganizationsService_ListPackagesVersions"
10069 "TestOrganizationsService_PackageDeleteVersion"
10070 "TestOrganizationsService_PackageGetVersion"
10071 "TestOrganizationsService_PackageRestoreVersion"
10072 "TestOrganizationsService_RestorePackage"
10073 "TestRepositoriesService.*"
10074 "TestUsersService_specifiedUser_GetPackage")
10075 "|")))))))
10076
10077(define-public go-github-com-google-go-github-v81
10078 (package
10079 (inherit go-github-com-google-go-github-v61)
10080 (name "go-github-com-google-go-github-v81")
10081 (version "81.0.0")
10082 (source
10083 (origin
10084 (inherit (package-source go-github-com-google-go-github-v61))
10085 (method git-fetch)
10086 (uri (git-reference
10087 (url "https://github.com/google/go-github")
10088 (commit (string-append "v" version))))
10089 (file-name (git-file-name name version))
10090 (sha256
10091 (base32 "13wa34mh7bvqc25av2p3nvjavnn0mvzpg2ibq67201wd68mbwp01"))))
10092 (arguments
10093 (substitute-keyword-arguments arguments
10094 ((#:import-path _) "github.com/google/go-github/v81")
10095 ((#:test-flags test-flags #~(list))
10096 #~(list "-skip" (string-join
10097 ;; Tests need network setup and access to Internet.
10098 (list "TestEnterpriseService_.*"
10099 "TestOrganizationsService_.*"
10100 "TestRepositoriesService_.*"
10101 "TestUsersService_specifiedUser_GetPackage")
10102 "|")))))))
10103
10104(define-public go-github-com-google-go-querystring
10105 (package
10106 (name "go-github-com-google-go-querystring")
10107 (version "1.1.0")
10108 (source
10109 (origin
10110 (method git-fetch)
10111 (uri (git-reference
10112 (url "https://github.com/google/go-querystring")
10113 (commit (string-append "v" version))))
10114 (file-name (git-file-name name version))
10115 (sha256
10116 (base32 "15k460c23nsmqd1nx3mvrnazws8bpb1gafrmffx7vf91m200mnwa"))))
10117 (build-system go-build-system)
10118 (arguments
10119 (list
10120 #:import-path "github.com/google/go-querystring/query"
10121 #:unpack-path "github.com/google/go-querystring"))
10122 (native-inputs
10123 (list go-github-com-google-go-cmp))
10124 (home-page "https://github.com/google/go-querystring/")
10125 (synopsis "Library for encoding structs into URL query parameters")
10126 (description
10127 "@code{go-querystring} is Go library for encoding structs into URL query
10128parameters.")
10129 (license license:bsd-3)))
10130
10131(define-public go-github-com-google-gopacket
10132 (package
10133 (name "go-github-com-google-gopacket")
10134 (version "1.1.19")
10135 (source
10136 (origin
10137 (method git-fetch)
10138 (uri (git-reference
10139 (url "https://github.com/google/gopacket")
10140 (commit (string-append "v" version))))
10141 (file-name (git-file-name name version))
10142 (sha256
10143 (base32 "048qwm2n0wrpql4qqgd7jyynn3gk069yvqbxnshlayzmbhf87ls4"))))
10144 (build-system go-build-system)
10145 (arguments
10146 (list
10147 #:import-path "github.com/google/gopacket"
10148 ;; XXX: pfring/pfring.go:14:10: fatal error: pfring.h: No such file or
10149 ;; directory. Check how to fix all tests.
10150 #:test-subdirs #~(list ".")))
10151 (propagated-inputs
10152 (list go-github-com-vishvananda-netlink
10153 go-golang-org-x-net
10154 go-golang-org-x-sys))
10155 (home-page "https://github.com/google/gopacket")
10156 (synopsis "Packet processing capabilities library")
10157 (description
10158 "This package provides packet processing capabilities for Go.")
10159 (license license:bsd-3)))
10160
10161(define-public go-github-com-google-martian-v3
10162 (package
10163 (name "go-github-com-google-martian-v3")
10164 (version "3.3.3")
10165 (source
10166 (origin
10167 (method git-fetch)
10168 (uri (git-reference
10169 (url "https://github.com/google/martian")
10170 (commit (string-append "v" version))))
10171 (file-name (git-file-name name version))
10172 (sha256
10173 (base32 "0js95rw72mklxx8dilqdc86a50yhvykyczck4ci3xx6090p3fj2q"))))
10174 (build-system go-build-system)
10175 (arguments
10176 (list
10177 #:import-path "github.com/google/martian/v3"
10178 #:test-flags
10179 #~(list "-vet=off"
10180 "-skip" (string-join
10181 ;; Panic during test and mismatched assertions.
10182 (list "TestEcho"
10183 "TestFileExistsInBothExplictlyMappedPathAndInferredPath"
10184 "TestLargeEcho/Gzip"
10185 "TestLargeEcho/RawData"
10186 "TestModifierFromJSON"
10187 "TestProcessorChaining"
10188 "TestRequestEditor"
10189 "TestRequestOverHTTPS"
10190 "TestStaticModifierExplicitPathMapping"
10191 "TestStaticModifierOnRequest"
10192 "TestStaticModifierSingleRangeRequest")
10193 "|"))))
10194 (propagated-inputs
10195 (list go-github-com-golang-snappy
10196 go-golang-org-x-net
10197 go-google-golang-org-grpc
10198 go-google-golang-org-protobuf))
10199 (home-page "https://github.com/google/martian")
10200 (synopsis "Library for building custom HTTP/S proxies")
10201 (description
10202 "Package martian provides an HTTP/1.1 proxy with an API for configurable
10203request and response modifiers.")
10204 (license license:asl2.0)))
10205
10206(define-public go-github-com-google-nftables
10207 (package
10208 (name "go-github-com-google-nftables")
10209 (version "0.3.0")
10210 (source
10211 (origin
10212 (method git-fetch)
10213 (uri (git-reference
10214 (url "https://github.com/google/nftables")
10215 (commit (string-append "v" version))))
10216 (file-name (git-file-name name version))
10217 (sha256
10218 (base32 "14ckjnfw35p5za4mad789yiciigj0ak3qfg4kdmz67ncw697205c"))))
10219 (build-system go-build-system)
10220 (arguments
10221 (list
10222 #:import-path "github.com/google/nftables"))
10223 (native-inputs
10224 (list go-github-com-google-go-cmp
10225 go-github-com-vishvananda-netlink))
10226 (propagated-inputs
10227 (list go-github-com-mdlayher-netlink
10228 go-github-com-vishvananda-netns
10229 go-golang-org-x-sys))
10230 (home-page "https://github.com/google/nftables")
10231 (synopsis "Go module for interacting with Linux nftables")
10232 (description
10233 "This package provides a library to manipulates Linux nftables (the
10234iptables successor). It does not rely on libnftnl wrappers.")
10235 (license license:asl2.0)))
10236
10237(define-public go-github-com-google-safehtml
10238 (package
10239 (name "go-github-com-google-safehtml")
10240 (version "0.1.0")
10241 (source
10242 (origin
10243 (method git-fetch)
10244 (uri (git-reference
10245 (url "https://github.com/google/safehtml")
10246 (commit (string-append "v" version))))
10247 (file-name (git-file-name name version))
10248 (sha256
10249 (base32 "0j2xjy8xrk9y9k6bqpvimj84i6hg1wwsyvwsb0axhmp49cmnrp86"))))
10250 (build-system go-build-system)
10251 (arguments
10252 (list
10253 #:import-path "github.com/google/safehtml"
10254 #:test-flags #~(list "-vet=off")))
10255 (propagated-inputs
10256 (list go-golang-org-x-text))
10257 (home-page "https://github.com/google/safehtml")
10258 (synopsis "Safe HTML for Go")
10259 (description
10260 "Package safehtml provides immutable string-like types which represent
10261values that are guaranteed to be safe, by construction or by escaping or
10262sanitization, to use in various HTML contexts and with various DOM APIs.")
10263 (license license:bsd-3)))
10264
10265(define-public go-github-com-google-trillian
10266 (package
10267 (name "go-github-com-google-trillian")
10268 (version "1.7.2")
10269 (source
10270 (origin
10271 (method git-fetch)
10272 (uri (git-reference
10273 (url "https://github.com/google/trillian")
10274 (commit (string-append "v" version))))
10275 (file-name (git-file-name name version))
10276 (sha256
10277 (base32 "05cphh5jv9g3j46cqxxw8h7amfmlxp85n9gljv9nr90cngmqcm0c"))))
10278 (build-system go-build-system)
10279 (arguments
10280 (list
10281 #:skip-build? #t
10282 #:import-path "github.com/google/trillian"
10283 ;; XXX: Remove when all inputs are packaged.
10284 #:test-subdirs
10285 #~(list "client"
10286 "client/backoff"
10287 "cmd/updatetree"
10288 "crypto/keys"
10289 "crypto/keys/der"
10290 "crypto/keys/pem"
10291 "docs/claimantmodel/experimental/cmd/render/internal"
10292 "docs/storage/commit_log/signer"
10293 "docs/storage/commit_log/simkafka"
10294 "integration"
10295 "integration/admin"
10296 "integration/format"
10297 "log"
10298 "merkle/coniks"
10299 "merkle/smt"
10300 "merkle/smt/node"
10301 "monitoring"
10302 "monitoring/prometheus"
10303 "quota"
10304 "quota/cacheqm"
10305 "quota/mysqlqm"
10306 "quota/postgresqlqm"
10307 "server"
10308 "server/admin"
10309 "server/errors"
10310 "server/interceptor"
10311 "storage"
10312 "storage/cache"
10313 "storage/memory"
10314 "storage/mysql"
10315 "storage/postgresql"
10316 "testonly/flagsaver"
10317 "testonly/matchers"
10318 "trees"
10319 "types"
10320 "util/clock"
10321 "util/election"
10322 "util/election2/k8s"
10323 "util/election2/testonly")))
10324 (native-inputs
10325 (list go-github-com-golang-mock
10326 go-github-com-google-go-cmp))
10327 (propagated-inputs
10328 (list go-github-com-go-redis-redis
10329 go-github-com-go-sql-driver-mysql
10330 go-github-com-google-btree
10331 go-github-com-grpc-ecosystem-go-grpc-middleware
10332 go-github-com-jackc-pgerrcode
10333 go-github-com-jackc-pgx-v5
10334 go-github-com-letsencrypt-pkcs11key-v4
10335 go-github-com-lib-pq
10336 go-github-com-prometheus-client-golang
10337 go-github-com-prometheus-client-model
10338 go-github-com-transparency-dev-merkle
10339 go-go-opencensus-io
10340 go-golang-org-x-crypto
10341 go-golang-org-x-sync
10342 go-golang-org-x-sys
10343 go-golang-org-x-tools
10344 go-google-golang-org-api
10345 go-google-golang-org-genproto
10346 go-google-golang-org-genproto-googleapis-api
10347 go-google-golang-org-genproto-googleapis-rpc
10348 go-google-golang-org-grpc
10349 go-google-golang-org-grpc-cmd-protoc-gen-go-grpc
10350 go-google-golang-org-protobuf
10351 go-gopkg-in-yaml-v2
10352 go-k8s-io-api
10353 go-k8s-io-apimachinery
10354 go-k8s-io-client-go
10355 go-k8s-io-klog-v2
10356 go-k8s-io-utils
10357
10358 ;; TODO: Complete packaging.
10359 ;; go-bitbucket-org-creachadair-shell
10360 ;; go-cloud-google-com-go-spanner
10361 ;; go-contrib-go-opencensus-io-exporter-stackdriver
10362 ;; go-github-com-apache-beam-sdks-v2
10363 ;; go-github-com-cockroachdb-cockroach-go-v2
10364 ;; go-github-com-fullstorydev-grpcurl
10365 ;; go-github-com-google-go-licenses-v2
10366 ;; go-github-com-pseudomuto-protoc-gen-doc
10367 ;; go-go-etcd-io-etcd-client-v3
10368 ;; go-go-etcd-io-etcd-etcdctl-v3
10369 ;; go-go-etcd-io-etcd-server-v3
10370 #;go-go-etcd-io-etcd-v3))
10371 (home-page "https://github.com/google/trillian")
10372 (synopsis "Transparent log infrastructure for certificate transparency")
10373 (description
10374 "Trillian is an implementation of the concepts described in the
10375Verifiable Data Structures white paper. It provides a transparent,
10376append-only log of records that can be used for applications such as
10377certificate transparency and key transparency.")
10378 (license license:asl2.0)))
10379
10380(define-public go-github-com-googleapis-enterprise-certificate-proxy
10381 (package
10382 (name "go-github-com-googleapis-enterprise-certificate-proxy")
10383 (version "0.3.14")
10384 (source
10385 (origin
10386 (method git-fetch)
10387 (uri (git-reference
10388 (url "https://github.com/googleapis/enterprise-certificate-proxy")
10389 (commit (string-append "v" version))))
10390 (file-name (git-file-name name version))
10391 (sha256
10392 (base32 "16ypygh5jk2ndwkbdai1z23xn872z6fsj1iis28fp6mgw9s89hl8"))))
10393 (build-system go-build-system)
10394 (arguments
10395 (list
10396 #:skip-build? #t
10397 #:import-path "github.com/googleapis/enterprise-certificate-proxy"
10398 ;; TODO: Tests require additional dependencies
10399 #:test-subdirs
10400 #~(list "client"
10401 "client/util"
10402 "internal/signer/util")))
10403 (propagated-inputs
10404 (list ;; go-github-com-google-go-pkcs11
10405 go-golang-org-x-crypto
10406 go-golang-org-x-sys))
10407 (home-page "https://github.com/googleapis/enterprise-certificate-proxy")
10408 (synopsis "Google Proxies for Enterprise Certificates (GA)")
10409 (description
10410 "If you use
10411@url{https://cloud.google.com/beyondcorp-enterprise/docs/securing-resources-with-certificate-based-access,
10412certificate-based access} to protect your Google Cloud resources, the end user
10413@url{https://en.wikipedia.org/wiki/Client_certificate,device certificate} is
10414one of the credentials that is verified before access to a resource is granted.
10415You can configure Google Cloud to use the device certificates in your operating
10416system key store when verifying access to a resource from the gcloud CLI or
10417Terraform by using the enterprise certificates feature.")
10418 (license license:asl2.0)))
10419
10420(define-public go-github-com-googleapis-gax-go-v2
10421 (package
10422 (name "go-github-com-googleapis-gax-go-v2")
10423 (version "2.19.0")
10424 (source
10425 (origin
10426 (method git-fetch)
10427 (uri (git-reference
10428 (url "https://github.com/googleapis/gax-go")
10429 (commit (string-append "v" version))))
10430 (file-name (git-file-name name version))
10431 (sha256
10432 (base32 "1nd5qv2dhn6xiw27hmxxyan9v3hiwcqpg9cy2q679v6b0vj7ijmj"))))
10433 (build-system go-build-system)
10434 (arguments
10435 (list
10436 #:skip-build? #t
10437 #:import-path "github.com/googleapis/gax-go/v2"
10438 #:unpack-path "github.com/googleapis/gax-go"
10439 ;; TODO: Tests require additional dependencies
10440 #:test-subdirs #~(list "internallog" "internallog/grpclog")))
10441 (native-inputs
10442 (list go-github-com-google-go-cmp))
10443 (propagated-inputs
10444 (list go-go-opentelemetry-io-otel
10445 go-go-opentelemetry-io-otel-metric
10446 go-go-opentelemetry-io-otel-sdk-metric
10447 ;; go-google-golang-org-api ;cycles, bootstrap is required
10448 ;; go-google-golang-org-genproto ;cycles, bootstrap is required
10449 go-google-golang-org-genproto-googleapis-api
10450 go-google-golang-org-genproto-googleapis-rpc
10451 go-google-golang-org-grpc
10452 go-google-golang-org-protobuf))
10453 (home-page "https://github.com/googleapis/gax-go")
10454 (synopsis "Google API Extensions for Go")
10455 (description
10456 "This package contains a set of modules which aid the development of APIs
10457for clients and servers based on @code{gRPC} and Google API conventions.")
10458 (license license:bsd-3)))
10459
10460(define-public go-github-com-googlecloudplatform-grpc-gcp-go-grpcgcp
10461 (package
10462 (name "go-github-com-googlecloudplatform-grpc-gcp-go-grpcgcp")
10463 (version "1.6.0")
10464 (source
10465 (origin
10466 (method git-fetch)
10467 (uri (git-reference
10468 (url "https://github.com/GoogleCloudPlatform/grpc-gcp-go")
10469 (commit (go-version->git-ref version #:subdir "grpcgcp"))))
10470 (file-name (git-file-name name version))
10471 (sha256
10472 (base32 "0p7zwbi6gg99mzi7albscf7jn63qxs714h6vars735an13bbvl12"))))
10473 (build-system go-build-system)
10474 (arguments
10475 (list
10476 #:import-path "github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp"
10477 #:unpack-path "github.com/GoogleCloudPlatform/grpc-gcp-go"
10478 ;; gcp_multiendpoint_test.go:441: endpoint wanted "localhost:50051", got
10479 ;; "127.0.0.3:50051"
10480 #:test-flags #~(list "-skip" "TestGCPMultiEndpoint")
10481 #:phases
10482 #~(modify-phases %standard-phases
10483 (add-before 'check 'pre-check
10484 (lambda _
10485 ;; See: <https://go.dev/blog/synctest>.
10486 (setenv "GOEXPERIMENT" "synctest")
10487 (setenv "GODEBUG" "asynctimerchan=0"))))))
10488 (native-inputs
10489 (list go-github-com-golang-mock
10490 go-github-com-google-go-cmp))
10491 (propagated-inputs
10492 (list go-go-opentelemetry-io-otel
10493 go-go-opentelemetry-io-otel-metric
10494 go-go-opentelemetry-io-otel-sdk-metric
10495 go-google-golang-org-grpc
10496 go-google-golang-org-protobuf))
10497 (home-page "https://github.com/GoogleCloudPlatform/grpc-gcp-go")
10498 (synopsis "Grpc supports for Google Cloud APIs")
10499 (description
10500 "Package grpcgcp provides gRPC supports for Google Cloud APIs. For now
10501it provides connection management with affinity support.")
10502 (license license:asl2.0)))
10503
10504(define-public go-github-com-googlecloudplatform-opentelemetry-operations-go-detectors-gcp
10505 (package
10506 (name
10507 "go-github-com-googlecloudplatform-opentelemetry-operations-go-detectors-gcp")
10508 (version "1.31.0")
10509 (source
10510 (origin
10511 (method git-fetch)
10512 (uri (git-reference
10513 (url "https://github.com/GoogleCloudPlatform/opentelemetry-operations-go")
10514 (commit (go-version->git-ref version #:subdir "detectors/gcp"))))
10515 (file-name (git-file-name name version))
10516 (sha256
10517 (base32 "0a2641mgbc2fv8ramifawpxv9rx99wqknv0xqin3wfapsn2vn5i9"))))
10518 (build-system go-build-system)
10519 (arguments
10520 (list
10521 #:import-path "github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp"
10522 #:unpack-path "github.com/GoogleCloudPlatform/opentelemetry-operations-go"))
10523 (native-inputs
10524 (list go-github-com-stretchr-testify))
10525 (propagated-inputs
10526 (list go-cloud-google-com-go-compute-metadata))
10527 (home-page
10528 "https://github.com/GoogleCloudPlatform/opentelemetry-operations-go")
10529 (synopsis "GCP Resource detection library")
10530 (description
10531 "This is a library intended to be used by Upstream @code{OpenTelemetry}
10532resource detectors. It exists within this repository to allow for integration
10533testing of the detection functions in real GCP environments.")
10534 (license license:asl2.0)))
10535
10536(define-public go-github-com-googlecloudplatform-opentelemetry-operations-go-exporter-metric
10537 (package
10538 (name "go-github-com-googlecloudplatform-opentelemetry-operations-go-exporter-metric")
10539 (version "0.55.0")
10540 (source
10541 (origin
10542 (method git-fetch)
10543 (uri (git-reference
10544 (url "https://github.com/GoogleCloudPlatform/opentelemetry-operations-go")
10545 (commit (go-version->git-ref version #:subdir "exporter/metric"))))
10546 (file-name (git-file-name name version))
10547 (sha256
10548 (base32 "0a2641mgbc2fv8ramifawpxv9rx99wqknv0xqin3wfapsn2vn5i9"))
10549 (modules '((guix build utils)))
10550 (snippet
10551 #~(begin
10552 (delete-all-but "exporter" "metric")
10553 (delete-all-but "." "exporter")))))
10554 (build-system go-build-system)
10555 (arguments
10556 (list
10557 #:skip-build? #t
10558 #:tests? #f ;TODO: more packaging is required
10559 #:import-path "github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric"
10560 #:unpack-path "github.com/GoogleCloudPlatform/opentelemetry-operations-go"))
10561 (native-inputs
10562 (list go-github-com-stretchr-testify
10563 #;go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-cloudmock))
10564 (propagated-inputs
10565 (list go-cloud-google-com-go-monitoring
10566 go-github-com-googleapis-gax-go-v2
10567 go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-resourcemapping
10568 go-go-opentelemetry-io-otel
10569 go-go-opentelemetry-io-otel-metric
10570 go-go-opentelemetry-io-otel-sdk
10571 go-go-opentelemetry-io-otel-sdk-metric
10572 go-go-opentelemetry-io-otel-trace
10573 go-golang-org-x-oauth2
10574 go-google-golang-org-api
10575 go-google-golang-org-genproto-googleapis-api
10576 go-google-golang-org-grpc
10577 go-google-golang-org-protobuf))
10578 (home-page "https://github.com/GoogleCloudPlatform/opentelemetry-operations-go")
10579 (synopsis "OpenTelemetry Google Cloud Monitoring Exporter")
10580 (description
10581 "@code{OpenTelemetry} Google Cloud Monitoring Exporter allows the user to
10582send collected metrics to Google Cloud.")
10583 (license license:asl2.0)))
10584
10585(define-public go-github-com-googlecloudplatform-opentelemetry-operations-go-exporter-trace
10586 (package
10587 (name "go-github-com-googlecloudplatform-opentelemetry-operations-go-exporter-trace")
10588 (version "1.32.0")
10589 (source
10590 (origin
10591 (method git-fetch)
10592 (uri (git-reference
10593 (url "https://github.com/GoogleCloudPlatform/opentelemetry-operations-go")
10594 (commit (go-version->git-ref version #:subdir "exporter/trace"))))
10595 (file-name (git-file-name name version))
10596 (sha256
10597 (base32 "0nizaaydcvvi718g5v4pgx8in6d546mmkrf7h3sxhz2yyyygvms3"))
10598 (modules '((guix build utils)))
10599 (snippet
10600 #~(begin
10601 (delete-all-but "exporter" "trace")
10602 (delete-all-but "." "exporter")))))
10603 (build-system go-build-system)
10604 (arguments
10605 (list
10606 #:import-path
10607 (string-append "github.com/GoogleCloudPlatform/"
10608 "opentelemetry-operations-go/exporter/trace")
10609 #:unpack-path
10610 "github.com/GoogleCloudPlatform/opentelemetry-operations-go"))
10611 (native-inputs
10612 (list go-github-com-stretchr-testify))
10613 (propagated-inputs
10614 (list go-cloud-google-com-go-trace
10615 go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-cloudmock
10616 go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-resourcemapping
10617 go-go-opentelemetry-io-otel
10618 go-go-opentelemetry-io-otel-sdk
10619 go-go-opentelemetry-io-otel-trace
10620 go-golang-org-x-oauth2
10621 go-google-golang-org-api
10622 go-google-golang-org-genproto-googleapis-rpc
10623 go-google-golang-org-grpc
10624 go-google-golang-org-protobuf))
10625 (home-page "https://github.com/GoogleCloudPlatform/opentelemetry-operations-go")
10626 (synopsis "OpenTelemetry Google Cloud Trace Exporter")
10627 (description
10628 "@code{OpenTelemetry} Google Cloud Trace Exporter allows the user to send
10629collected traces and spans to Google Cloud.")
10630 (license license:asl2.0)))
10631
10632(define-public go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-cloudmock
10633 (package
10634 (name "go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-cloudmock")
10635 (version "0.56.0")
10636 (source
10637 (origin
10638 (method git-fetch)
10639 (uri (git-reference
10640 (url "https://github.com/GoogleCloudPlatform/opentelemetry-operations-go")
10641 (commit (go-version->git-ref version
10642 #:subdir "internal/cloudmock"))))
10643 (file-name (git-file-name name version))
10644 (sha256
10645 (base32 "0nizaaydcvvi718g5v4pgx8in6d546mmkrf7h3sxhz2yyyygvms3"))
10646 (modules '((guix build utils)))
10647 (snippet
10648 #~(begin
10649 (delete-all-but "internal" "cloudmock")
10650 (delete-all-but "." "internal")))))
10651 (build-system go-build-system)
10652 (arguments
10653 (list
10654 #:import-path
10655 (string-append "github.com/GoogleCloudPlatform/"
10656 "opentelemetry-operations-go/internal/cloudmock")
10657 #:unpack-path
10658 "github.com/GoogleCloudPlatform/opentelemetry-operations-go"))
10659 (propagated-inputs
10660 (list go-cloud-google-com-go-logging
10661 go-cloud-google-com-go-monitoring
10662 go-cloud-google-com-go-trace
10663 go-google-golang-org-genproto-googleapis-api
10664 go-google-golang-org-grpc
10665 go-google-golang-org-protobuf))
10666 (home-page "https://github.com/GoogleCloudPlatform/opentelemetry-operations-go")
10667 (synopsis "OpenTelemetry Google Cloud mock library")
10668 ;; XXX: There is not any documentation for this package upstrream.
10669 (description
10670 "This package provides OpenTelemetry Google Cloud mock Go library.")
10671 (license license:asl2.0)))
10672
10673(define-public go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-resourcemapping
10674 (package
10675 (name "go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-resourcemapping")
10676 (version "0.55.0")
10677 (source
10678 (origin
10679 (method git-fetch)
10680 (uri (git-reference
10681 (url "https://github.com/GoogleCloudPlatform/opentelemetry-operations-go")
10682 (commit (go-version->git-ref version
10683 #:subdir "internal/resourcemapping"))))
10684 (file-name (git-file-name name version))
10685 (sha256
10686 (base32 "0a2641mgbc2fv8ramifawpxv9rx99wqknv0xqin3wfapsn2vn5i9"))
10687 (modules '((guix build utils)))
10688 (snippet
10689 #~(begin
10690 (delete-all-but "internal" "resourcemapping")
10691 (delete-all-but "." "internal")))))
10692 (build-system go-build-system)
10693 (arguments
10694 (list
10695 #:import-path (string-append "github.com/GoogleCloudPlatform/"
10696 "opentelemetry-operations-go/"
10697 "internal/resourcemapping")
10698 #:unpack-path "github.com/GoogleCloudPlatform/opentelemetry-operations-go"))
10699 (propagated-inputs
10700 (list go-go-opentelemetry-io-otel
10701 go-google-golang-org-genproto-googleapis-api))
10702 (home-page "https://github.com/GoogleCloudPlatform/opentelemetry-operations-go")
10703 (synopsis "OpenTelemetry Google Cloud resource mapping module")
10704 ;; XXX: Project lacks proper description.
10705 (description
10706 "This package provides an OpenTelemetry Google Cloud resource mapping
10707module.")
10708 (license license:asl2.0)))
10709
10710(define-public go-github-com-gopacket-gopacket
10711 (package
10712 (name "go-github-com-gopacket-gopacket")
10713 (version "1.3.1")
10714 (source
10715 (origin
10716 (method git-fetch)
10717 (uri (git-reference
10718 (url "https://github.com/gopacket/gopacket")
10719 (commit (string-append "v" version))))
10720 (file-name (git-file-name name version))
10721 (sha256
10722 (base32 "10kjn30chywh010zys92idlsfg4kff7amnsnyv1a72mi56107jb8"))))
10723 (build-system go-build-system)
10724 (arguments
10725 (list
10726 #:import-path "github.com/gopacket/gopacket"
10727 #:test-flags
10728 #~(list "-skip" (string-join
10729 ;; Tests require network setup or root access.
10730 (list "TestEthernetHandle_Close_WithCancel"
10731 "TestEthernetHandle_Close_WithTimeout"
10732 "TestNgWriterDSB"
10733 "TestRouting")
10734 "|"))
10735 ;; TODO: Full tests suite and build requires
10736 ;; <https://github.com/ntop/PF_RING>>, run just top level ones.
10737 #:test-subdirs #~(list ".")
10738 #:phases
10739 #~(modify-phases %standard-phases
10740 (add-after 'unpack 'remove-examples
10741 (lambda* (#:key tests? import-path #:allow-other-keys)
10742 (with-directory-excursion (string-append "src/" import-path)
10743 (delete-file-recursively "examples"))))
10744 (add-after 'check 'remove-dump-data
10745 (lambda* (#:key tests? import-path #:allow-other-keys)
10746 (with-directory-excursion (string-append "src/" import-path)
10747 (for-each delete-file
10748 (find-files "." ".*\\.(pcamp|pcapng)$"))))))))
10749 (native-inputs
10750 (list go-github-com-vishvananda-netlink
10751 go-github-com-vishvananda-netns))
10752 (propagated-inputs
10753 (list ;; libpcap
10754 ;; pf-ring ; <https://github.com/ntop/PF_RING>
10755 go-golang-org-x-net
10756 go-golang-org-x-sys))
10757 (home-page "https://github.com/gopacket/gopacket")
10758 (synopsis "Packet processing capabilities for Golang")
10759 (description
10760 "Package gopacket provides packet decoding for the Go language.")
10761 (license license:bsd-3)))
10762
10763(define-public go-github-com-gorilla-context
10764 (let ((commit "08b5f424b9271eedf6f9f0ce86cb9396ed337a42")
10765 (revision "0"))
10766 (package
10767 (name "go-github-com-gorilla-context")
10768 (version (git-version "0.0.0" revision commit))
10769 (source
10770 (origin
10771 (method git-fetch)
10772 (uri (git-reference
10773 (url "https://github.com/gorilla/context")
10774 (commit commit)))
10775 (file-name (git-file-name name version))
10776 (sha256
10777 (base32 "03p4hn87vcmfih0p9w663qbx9lpsf7i7j3lc7yl7n84la3yz63m4"))))
10778 (build-system go-build-system)
10779 (arguments
10780 '(#:import-path "github.com/gorilla/context"))
10781 (home-page "https://github.com/gorilla/context")
10782 (synopsis "Go registry for request variables")
10783 (description
10784 "This package provides @code{gorilla/context}, which is a general
10785purpose registry for global request variables in the Go programming
10786language.")
10787 (license license:bsd-3))))
10788
10789(define-public go-github-com-gorilla-csrf
10790 (package
10791 (name "go-github-com-gorilla-csrf")
10792 (version "1.7.3")
10793 (source
10794 (origin
10795 (method git-fetch)
10796 (uri (git-reference
10797 (url "https://github.com/gorilla/csrf")
10798 (commit (string-append "v" version))))
10799 (file-name (git-file-name name version))
10800 (sha256
10801 (base32 "0h32npfjir3k0yciisr6ybziv1bshmzw6x3bfkh3i72y3i7nv610"))
10802 (modules '((guix build utils)))
10803 (snippet
10804 #~(begin
10805 (delete-file-recursively "vendor")))))
10806 (build-system go-build-system)
10807 (arguments
10808 (list
10809 #:import-path "github.com/gorilla/csrf"
10810 #:test-flags
10811 ;; fatal error: crypto/rand: failed to read random data (see
10812 ;; https://go.dev/issue/66821): unexpected EOF
10813 #~(list "-skip" "TestGenerateRandomBytes")))
10814 (propagated-inputs
10815 (list go-github-com-gorilla-securecookie
10816 go-github-com-pkg-errors))
10817 (home-page "https://github.com/gorilla/csrf")
10818 (synopsis "Cross Site Request Forgery (CSRF) prevention middleware")
10819 (description
10820 "Gorilla/csrf provides Cross Site Request Forgery (CSRF) prevention
10821middleware for Go web applications and services.")
10822 (license license:bsd-3)))
10823
10824(define-public go-github-com-gorilla-css
10825 (package
10826 (name "go-github-com-gorilla-css")
10827 (version "1.0.1")
10828 (source
10829 (origin
10830 (method git-fetch)
10831 (uri (git-reference
10832 (url "https://github.com/gorilla/css")
10833 (commit (string-append "v" version))))
10834 (file-name (git-file-name name version))
10835 (sha256
10836 (base32 "1h6byz5x5xa4mpm52x6f6nm8v62a1wk4z44ls9cxmn2qm4g0v778"))))
10837 (build-system go-build-system)
10838 (arguments
10839 `(#:import-path "github.com/gorilla/css/scanner"
10840 #:unpack-path "github.com/gorilla/css"))
10841 (home-page "https://github.com/gorilla/css/")
10842 (synopsis "CSS3 tokenizer")
10843 (description "This package provides a CSS3 tokenizer.")
10844 (license license:bsd-3)))
10845
10846(define-public go-github-com-gorilla-feeds
10847 (package
10848 (name "go-github-com-gorilla-feeds")
10849 (version "1.2.0")
10850 (source
10851 (origin
10852 (method git-fetch)
10853 (uri (git-reference
10854 (url "https://github.com/gorilla/feeds")
10855 (commit (string-append "v" version))))
10856 (file-name (git-file-name name version))
10857 (sha256
10858 (base32 "0285iq589q7i6mr2wl3qzr282yc82sg1raxfna0xxvin7a5k7mx6"))))
10859 (build-system go-build-system)
10860 (arguments
10861 (list
10862 #:import-path "github.com/gorilla/feeds"))
10863 (propagated-inputs
10864 (list go-github-com-kr-pretty))
10865 (home-page "https://gorilla.github.io/")
10866 (synopsis "Glang RSS/Atom generator library")
10867 (description
10868 "This package is a web feed generator library for generating RSS,Atom and
10869JSON feeds from Go applications.")
10870 (license license:bsd-3)))
10871
10872(define-public go-github-com-gorilla-handlers
10873 (package
10874 (name "go-github-com-gorilla-handlers")
10875 (version "1.5.1")
10876 (source
10877 (origin
10878 (method git-fetch)
10879 (uri (git-reference
10880 (url "https://github.com/gorilla/handlers")
10881 (commit (string-append "v" version))))
10882 (file-name (git-file-name name version))
10883 (sha256
10884 (base32 "15gycdz9lkjnsvvichsbdf25vf6pi1sfn41khhz53iqf300l0w0s"))))
10885 (build-system go-build-system)
10886 (arguments
10887 '(#:tests? #f ; Tries to download from the internet
10888 #:import-path "github.com/gorilla/handlers"))
10889 (propagated-inputs
10890 (list go-github-com-felixge-httpsnoop))
10891 (home-page "https://github.com/gorilla/handlers")
10892 (synopsis "Middleware for Go HTTP services and web applications")
10893 (description "A collection of useful middleware for Go HTTP services and
10894web applications.")
10895 (license license:bsd-3)))
10896
10897(define-public go-github-com-gorilla-mux
10898 (package
10899 (name "go-github-com-gorilla-mux")
10900 (version "1.8.0")
10901 (source
10902 (origin
10903 (method git-fetch)
10904 (uri (git-reference
10905 (url "https://github.com/gorilla/mux")
10906 (commit (string-append "v" version))))
10907 (file-name (git-file-name name version))
10908 (sha256
10909 (base32 "18f0q9qxgq1yh4ji07mqhiydfcwvi56z9d775v7dc7yckj33kpdk"))))
10910 (build-system go-build-system)
10911 (arguments
10912 '(#:import-path "github.com/gorilla/mux"))
10913 (home-page "https://github.com/gorilla/mux")
10914 (synopsis "URL router and dispatcher for Go")
10915 (description
10916 "Gorilla/Mux implements a request router and dispatcher for matching
10917incoming requests with their respective handler.")
10918 (license license:bsd-3)))
10919
10920(define-public go-github-com-gorilla-pat
10921 (package
10922 (name "go-github-com-gorilla-pat")
10923 (version "1.0.2")
10924 (source
10925 (origin
10926 (method git-fetch)
10927 (uri (git-reference
10928 (url "https://github.com/gorilla/pat")
10929 (commit (string-append "v" version))))
10930 (file-name (git-file-name name version))
10931 (sha256
10932 (base32 "0ip2mfhs04j1wbh69iq6d3xz760cb6qmxgv3csns6qrkxfr53av2"))))
10933 (build-system go-build-system)
10934 (arguments
10935 (list
10936 #:import-path "github.com/gorilla/pat"))
10937 (propagated-inputs
10938 (list go-github-com-gorilla-context
10939 go-github-com-gorilla-mux))
10940 (home-page "https://github.com/gorilla/pat")
10941 (synopsis "HTTP router for Golang")
10942 (description
10943 "This package is a request router and dispatcher with a pat-like
10944interface. It is an alternative to @code{gorilla/mux} that showcases how it
10945can be used as a base for different API flavors.")
10946 (license license:bsd-3)))
10947
10948(define-public go-github-com-gorilla-schema
10949 (package
10950 (name "go-github-com-gorilla-schema")
10951 (version "1.4.1")
10952 (source
10953 (origin
10954 (method git-fetch)
10955 (uri (git-reference
10956 (url "https://github.com/gorilla/schema")
10957 (commit (string-append "v" version))))
10958 (file-name (git-file-name name version))
10959 (sha256
10960 (base32 "16gk174mybvz0gg2w1wmpc96jhhi94i1vvclyzr3qkv7s6gadifn"))))
10961 (build-system go-build-system)
10962 (arguments
10963 (list
10964 #:import-path "github.com/gorilla/schema"))
10965 (home-page "https://github.com/gorilla/schema")
10966 (synopsis "Fills a struct with form values")
10967 (description
10968 "This package implements a functionality to fills a struct with form
10969values.")
10970 (license license:bsd-3)))
10971
10972(define-public go-github-com-gorilla-securecookie
10973 (package
10974 (name "go-github-com-gorilla-securecookie")
10975 (version "1.1.1")
10976 (source
10977 (origin
10978 (method git-fetch)
10979 (uri (git-reference
10980 (url "https://github.com/gorilla/securecookie")
10981 (commit (string-append "v" version))))
10982 (file-name (git-file-name name version))
10983 (sha256
10984 (base32 "16bqimpxs9vj5n59vm04y04v665l7jh0sddxn787pfafyxcmh410"))))
10985 (build-system go-build-system)
10986 (arguments
10987 '(#:import-path "github.com/gorilla/securecookie"))
10988 (home-page "https://github.com/gorilla/securecookie")
10989 (synopsis "Encodes and decodes authenticated and optionally encrypted
10990cookie values")
10991 (description
10992 "Gorilla/securecookie encodes and decodes authenticated and optionally
10993encrypted cookie values for Go web applications.")
10994 (license license:bsd-3)))
10995
10996(define-public go-github-com-gorilla-sessions
10997 (package
10998 (name "go-github-com-gorilla-sessions")
10999 (version "1.2.1")
11000 (source
11001 (origin
11002 (method git-fetch)
11003 (uri (git-reference
11004 (url "https://github.com/gorilla/sessions")
11005 (commit (string-append "v" version))))
11006 (file-name (git-file-name name version))
11007 (sha256
11008 (base32 "1zjw2s37yggk9231db0vmgs67z8m3am8i8l4gpgz6fvlbv52baxp"))))
11009 (build-system go-build-system)
11010 (arguments
11011 '(#:import-path "github.com/gorilla/sessions"))
11012 (propagated-inputs
11013 (list go-github-com-gorilla-securecookie))
11014 (home-page "https://github.com/gorilla/sessions")
11015 (synopsis "Manage user sessions in web applications")
11016 (description
11017 "This package that provides infrastructure for creating and managing user
11018sessions in web applications. It supports cookie and filesystem-based
11019sessions, flash messages, custom backends, and more.")
11020 (license license:bsd-3)))
11021
11022(define-public go-github-com-gorilla-websocket
11023 (package
11024 (name "go-github-com-gorilla-websocket")
11025 (version "1.5.3")
11026 (home-page "https://github.com/gorilla/websocket")
11027 (source
11028 (origin
11029 (method git-fetch)
11030 (uri (git-reference
11031 (url home-page)
11032 (commit (string-append "v" version))))
11033 (file-name (git-file-name name version))
11034 (sha256
11035 (base32 "1k84plbz6bxarbdrdcsrm9vhiy971prpvfnkcpsfv2q4ac80ccmx"))))
11036 (build-system go-build-system)
11037 (arguments
11038 `(#:import-path "github.com/gorilla/websocket"))
11039 (synopsis "Fast WebSocket implementation for Go")
11040 (description "Gorilla WebSocket is a Go implementation of the WebSocket
11041protocol.")
11042 (license license:bsd-2)))
11043
11044(define-public go-github-com-gosimple-slug
11045 (package
11046 (name "go-github-com-gosimple-slug")
11047 (version "1.12.0")
11048 (source
11049 (origin
11050 (method git-fetch)
11051 (uri (git-reference
11052 (url "https://github.com/gosimple/slug")
11053 (commit (string-append "v" version))))
11054 (file-name (git-file-name name version))
11055 (sha256
11056 (base32 "15gk6hdd8kjfl0srlf3gnjq34m64as1s6pjv7paaxd1zvrcml46y"))))
11057 (build-system go-build-system)
11058 (arguments
11059 (list
11060 #:import-path "github.com/gosimple/slug"))
11061 (propagated-inputs (list go-github-com-gosimple-unidecode))
11062 (home-page "https://github.com/gosimple/slug")
11063 (synopsis "URL-friendly slugify with multiple language support")
11064 (description "Generates slug from Unicode string for use in URLs.")
11065 (license license:mpl2.0)))
11066
11067(define-public go-github-com-grafana-otel-profiling-go
11068 (package
11069 (name "go-github-com-grafana-otel-profiling-go")
11070 (version "0.6.0")
11071 (source
11072 (origin
11073 (method git-fetch)
11074 (uri (git-reference
11075 (url "https://github.com/grafana/otel-profiling-go")
11076 (commit (string-append "v" version))))
11077 (file-name (git-file-name name version))
11078 (sha256
11079 (base32 "06pc7ji0yk552zsk38j3wa0xv57daisb4q2ngxql38rd5b4r2ybq"))))
11080 (build-system go-build-system)
11081 (arguments
11082 (list
11083 #:import-path "github.com/grafana/otel-profiling-go"))
11084 (propagated-inputs
11085 (list go-go-opentelemetry-io-otel
11086 go-go-opentelemetry-io-otel-sdk
11087 go-go-opentelemetry-io-otel-trace))
11088 (home-page "https://github.com/grafana/otel-profiling-go")
11089 (synopsis "Profiling Instrumentation for OpenTelemetry Go SDK")
11090 (description
11091 "Open Telemetry integration for Grafana Pyroscope and tracing solutions
11092such as Grafana Tempo, Honeycomb, or Jaeger. The package provides means to
11093integrate tracing with profiling. More specifically, a @code{TracerProvider}
11094implementation that annotates profiling data with @code{trace_id} and
11095@code{span_id}
11096@url{https://github.com/google/pprof/blob/master/doc/README.md#tag-filtering,
11097pprof tags}, making it possible to filter the profile of a particular trace or
11098span in @url{https://grafana.com/docs/pyroscope/latest/, Pyroscope}.")
11099 (license license:asl2.0)))
11100
11101(define-public go-github-com-gregjones-httpcache
11102 (package
11103 (name "go-github-com-gregjones-httpcache")
11104 (version "0.0.0-20190611155906-901d90724c79")
11105 (source
11106 (origin
11107 (method git-fetch)
11108 (uri (git-reference
11109 (url "https://github.com/gregjones/httpcache")
11110 (commit (go-version->git-ref version))))
11111 (file-name (git-file-name name version))
11112 (sha256
11113 (base32 "05r0xq51vfb55di11m7iv19341d73f7in33vq1ihcqs1nffdwiq0"))))
11114 (build-system go-build-system)
11115 (arguments
11116 '(#:import-path "github.com/gregjones/httpcache"))
11117 (propagated-inputs
11118 (list go-github-com-peterbourgon-diskv
11119 go-github-com-syndtr-goleveldb
11120 go-github-com-bradfitz-gomemcache
11121 go-github-com-gomodule-redigo))
11122 (home-page "https://github.com/gregjones/httpcache")
11123 (synopsis "Transport for @code{http.Client} that will cache responses")
11124 (description
11125 "Package @code{httpcache} provides a @code{http.RoundTripper}
11126implementation that works as a mostly
11127@url{https://tools.ietf.org/html/rfc7234, RFC 7234} compliant cache for HTTP
11128responses. It is only suitable for use as a \"private\" cache (i.e. for a
11129web-browser or an API-client and not for a shared proxy).")
11130 (license license:expat)))
11131
11132(define-public go-github-com-grpc-ecosystem-go-grpc-middleware
11133 (package
11134 (name "go-github-com-grpc-ecosystem-go-grpc-middleware")
11135 (version "1.4.0")
11136 (source
11137 (origin
11138 (method git-fetch)
11139 (uri (git-reference
11140 (url "https://github.com/grpc-ecosystem/go-grpc-middleware")
11141 (commit (string-append "v" version))))
11142 (file-name (git-file-name name version))
11143 (sha256
11144 (base32 "04g3yw8ywfjcgg6rli0vij2z6b9dd5vpsh39l33ysnr6zdrb76np"))))
11145 (build-system go-build-system)
11146 (arguments
11147 (list
11148 #:import-path "github.com/grpc-ecosystem/go-grpc-middleware"
11149 #:test-flags
11150 #~(list "-vet=off") ;[email protected] forces vet, but tests are not ready yet.
11151 #:phases
11152 #~(modify-phases %standard-phases
11153 (add-after 'unpack 'remove-failing-tests
11154 ;; panic: proto: message mwitkow.testproto.PingRequest is already
11155 ;; registered See
11156 ;; https://protobuf.dev/reference/go/faq#namespace-conflict FAIL
11157 ;; github.com/grpc-ecosystem/go-grpc-middleware/tags 0.006s
11158 (lambda* (#:key tests? import-path #:allow-other-keys)
11159 (with-directory-excursion (string-append "src/" import-path)
11160 (for-each delete-file
11161 (find-files "tags" ".*_test\\.go$"))))))))
11162 (native-inputs
11163 (list go-github-com-stretchr-testify))
11164 (propagated-inputs
11165 (list go-github-com-go-kit-log
11166 go-github-com-gogo-protobuf
11167 go-github-com-golang-protobuf
11168 go-github-com-opentracing-opentracing-go
11169 go-github-com-sirupsen-logrus
11170 go-go-uber-org-zap
11171 go-golang-org-x-net
11172 go-golang-org-x-oauth2
11173 go-google-golang-org-grpc))
11174 (home-page "https://github.com/grpc-ecosystem/go-grpc-middleware")
11175 (synopsis "Golang gRPC Middlewares")
11176 (description
11177 "This package provides gRPC Go Middlewares: interceptors, helpers and
11178utilities - middleware that is executed either on the gRPC Server before the
11179request is passed onto the user's application logic, or on the gRPC client
11180either around the user call. It is a perfect way to implement common
11181patterns: auth, logging, tracing, metrics, validation, retries, rate limiting
11182and more, which can be a great generic building blocks that make it easy to
11183build multiple microservices easily.")
11184 (license license:asl2.0)))
11185
11186(define-public go-github-com-grpc-ecosystem-go-grpc-middleware-providers-prometheus
11187 (package
11188 (name "go-github-com-grpc-ecosystem-go-grpc-middleware-providers-prometheus")
11189 (version "1.1.0")
11190 (source
11191 (origin
11192 (method git-fetch)
11193 (uri (git-reference
11194 (url "https://github.com/grpc-ecosystem/go-grpc-middleware")
11195 (commit (go-version->git-ref version
11196 #:subdir "providers/prometheus"))))
11197 (file-name (git-file-name name version))
11198 (sha256
11199 (base32 "0fr8z4dr9n1x6zgs2n7m2wd1j2wnnmig0xq099xcg5lvcxiqjv73"))
11200 (modules '((guix build utils)))
11201 (snippet
11202 #~(begin
11203 (delete-all-but "providers" "prometheus")
11204 (delete-all-but "." "providers")))))
11205 (build-system go-build-system)
11206 (arguments
11207 (list
11208 #:import-path "github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus"
11209 #:unpack-path "github.com/grpc-ecosystem/go-grpc-middleware"))
11210 (native-inputs
11211 (list go-github-com-stretchr-testify))
11212 (propagated-inputs
11213 (list go-github-com-grpc-ecosystem-go-grpc-middleware-v2
11214 go-github-com-prometheus-client-golang
11215 go-github-com-prometheus-client-model
11216 go-google-golang-org-grpc))
11217 (home-page "https://github.com/grpc-ecosystem/go-grpc-middleware")
11218 (synopsis "Prometheus monitoring for gRPC Go servers and clients")
11219 (description
11220 "This package provides a standalone interceptor for Prometheus monitoring
11221for gRPC Go servers and clients.")
11222 (license license:asl2.0)))
11223
11224(define-public go-github-com-grpc-ecosystem-go-grpc-middleware-v2
11225 (package
11226 (inherit go-github-com-grpc-ecosystem-go-grpc-middleware)
11227 (name "go-github-com-grpc-ecosystem-go-grpc-middleware-v2")
11228 (version "2.3.4")
11229 (source
11230 (origin
11231 (method git-fetch)
11232 (uri (git-reference
11233 (url "https://github.com/grpc-ecosystem/go-grpc-middleware")
11234 (commit (string-append "v" version))))
11235 (file-name (git-file-name name version))
11236 (sha256
11237 (base32 "1z24d57s20a39ydxfw2s5nrw7q9yh01989wa3hp1pl102khm7jgj"))
11238 (modules '((guix build utils)))
11239 (snippet
11240 #~(begin
11241 ;; Submodules with their own go.mod files and packaged separately:
11242 (for-each delete-file-recursively
11243 (list ".bingo"
11244 "examples"
11245 "providers"
11246 "interceptors/logging/examples"))))))
11247 (arguments
11248 (list
11249 #:import-path "github.com/grpc-ecosystem/go-grpc-middleware/v2"
11250 #:embed-files #~(list "authoring.tmpl")))
11251 (native-inputs
11252 (list go-buf-build-gen-go-bufbuild-protovalidate-protocolbuffers-go
11253 go-buf-build-go-protovalidate
11254 go-github-com-stretchr-testify))
11255 (propagated-inputs
11256 (list go-golang-org-x-net
11257 go-golang-org-x-oauth2
11258 go-google-golang-org-grpc
11259 go-google-golang-org-protobuf))))
11260
11261(define-public go-github-com-grpc-ecosystem-grpc-gateway-v2
11262 (package
11263 (name "go-github-com-grpc-ecosystem-grpc-gateway-v2")
11264 (version "2.26.3")
11265 (source
11266 (origin
11267 (method git-fetch)
11268 (uri (git-reference
11269 (url "https://github.com/grpc-ecosystem/grpc-gateway")
11270 (commit (string-append "v" version))))
11271 (file-name (git-file-name name version))
11272 (sha256
11273 (base32 "1pw845x9bqhj64pxvyaafacq0mmmblbf5z4r2arprhdnb05czx3v"))))
11274 (build-system go-build-system)
11275 (arguments
11276 (list
11277 #:skip-build? #t
11278 #:import-path "github.com/grpc-ecosystem/grpc-gateway/v2"))
11279 (propagated-inputs
11280 (list go-github-com-antihax-optional
11281 go-github-com-google-go-cmp
11282 go-github-com-rogpeppe-fastuuid
11283 go-golang-org-x-oauth2
11284 go-golang-org-x-text
11285 go-google-golang-org-genproto-googleapis-api
11286 go-google-golang-org-genproto-googleapis-rpc
11287 go-google-golang-org-grpc
11288 go-google-golang-org-protobuf
11289 go-gopkg-in-yaml-v3))
11290 (home-page "https://github.com/grpc-ecosystem/grpc-gateway")
11291 (synopsis "gRPC to JSON proxy generator following the gRPC HTTP spec")
11292 (description
11293 "The @code{gRPC-Gateway} is a plugin of the Google protocol buffers
11294compiler @@url{https://github.com/protocolbuffers/protobuf,protoc}. It reads
11295protobuf service definitions and generates a reverse-proxy server which
11296translates a RESTful HTTP API into @code{gRPC}. This server is generated
11297according to the
11298@url{https://github.com/googleapis/googleapis/raw/master/google/api/http.proto#L46,(code
11299google.api.http)} annotations in your service definitions.")
11300 (license license:bsd-3)))
11301
11302(define-public go-github-com-h12w-go-socks5
11303 (package
11304 (name "go-github-com-h12w-go-socks5")
11305 (version "0.0.0-20200522160539-76189e178364")
11306 (source
11307 (origin
11308 (method git-fetch)
11309 (uri (git-reference
11310 (url "https://github.com/h12w/go-socks5")
11311 (commit (go-version->git-ref version))))
11312 (file-name (git-file-name name version))
11313 (sha256
11314 (base32 "0nl1ww0qz16sx1hc6bliy1lqpaxmswf6jdiqc92zlk7v1vy3ra7d"))))
11315 (build-system go-build-system)
11316 (arguments
11317 (list
11318 #:import-path "github.com/h12w/go-socks5"))
11319 (home-page "https://github.com/h12w/go-socks5")
11320 (synopsis "SOCKS5 server in Golang")
11321 (description
11322 "This package provides the @code{socks5} package that implements a
11323@url{http://en.wikipedia.org/wiki/SOCKS,SOCKS5 server}. SOCKS (Secure
11324Sockets) is used to route traffic between a client and server through an
11325intermediate proxy layer. This can be used to bypass firewalls or NATs. It's
11326an alternative fork of https://github.com/armon/go-socks5.")
11327 (license license:expat)))
11328
11329(define-public go-github-com-hashicorp-go-cleanhttp
11330 (package
11331 (name "go-github-com-hashicorp-go-cleanhttp")
11332 (version "0.5.2")
11333 (source
11334 (origin
11335 (method git-fetch)
11336 (uri (git-reference
11337 (url "https://github.com/hashicorp/go-cleanhttp")
11338 (commit (string-append "v" version))))
11339 (file-name (git-file-name name version))
11340 (sha256
11341 (base32 "1i5xslizzwd966w81bz6dxjwzgml4q9bwqa186bsxd1vi8lqxl9p"))))
11342 (build-system go-build-system)
11343 (arguments
11344 (list
11345 #:import-path "github.com/hashicorp/go-cleanhttp"))
11346 (home-page "https://github.com/hashicorp/go-cleanhttp")
11347 (synopsis "Functions for accessing clean Go @code{http.Client} values")
11348 (description
11349 "The Go standard library contains a default @code{http.Client} and it is
11350a common idiom to tweak it as necessary. Unfortunately, this is a shared
11351value, and it is not uncommon for libraries to assume that they are free to
11352modify it at will. This package provides some simple functions to get a
11353\"clean\" @code{http.Client}, namely one that uses the same default values as
11354the Go standard library, but returns a client that does not share any state
11355with other clients.")
11356 (license license:mpl2.0)))
11357
11358;; To make importer happy.
11359(define-public go-github-com-hashicorp-go-metrics
11360 (package
11361 (inherit go-github-com-armon-go-metrics)
11362 (name "go-github-com-hashicorp-go-metrics")))
11363
11364(define-public go-github-com-hashicorp-go-retryablehttp
11365 (package
11366 (name "go-github-com-hashicorp-go-retryablehttp")
11367 (version "0.7.8")
11368 (source
11369 (origin
11370 (method git-fetch)
11371 (uri (git-reference
11372 (url "https://github.com/hashicorp/go-retryablehttp")
11373 (commit (string-append "v" version))))
11374 (file-name (git-file-name name version))
11375 (sha256
11376 (base32 "1k9pxdypflyc6i30g7cclm9hfmisllpfgajlysi94vj1l4lp1dp0"))))
11377 (build-system go-build-system)
11378 (arguments
11379 (list
11380 #:import-path "github.com/hashicorp/go-retryablehttp"))
11381 (propagated-inputs
11382 (list go-github-com-hashicorp-go-hclog
11383 go-github-com-hashicorp-go-cleanhttp))
11384 (home-page "https://github.com/hashicorp/go-retryablehttp")
11385 (synopsis "Retryable HTTP client in Golang")
11386 (description
11387 "Package retryablehttp provides a familiar HTTP client interface with
11388automatic retries and exponential backoff. It is a thin wrapper over the
11389standard @code{net/http} client library and exposes nearly the same public
11390API.")
11391 (license license:mpl2.0)))
11392
11393(define-public go-github-com-hashicorp-go-rootcerts
11394 (package
11395 (name "go-github-com-hashicorp-go-rootcerts")
11396 (version "1.0.2")
11397 (source
11398 (origin
11399 (method git-fetch)
11400 (uri (git-reference
11401 (url "https://github.com/hashicorp/go-rootcerts")
11402 (commit (string-append "v" version))))
11403 (file-name (git-file-name name version))
11404 (sha256
11405 (base32 "06z1bxcnr0rma02b6r52m6y0q7niikqjs090vm1i8xi3scyaw1qa"))))
11406 (build-system go-build-system)
11407 (arguments
11408 (list
11409 #:import-path "github.com/hashicorp/go-rootcerts"))
11410 (propagated-inputs
11411 (list go-github-com-mitchellh-go-homedir))
11412 (home-page "https://github.com/hashicorp/go-rootcerts")
11413 (synopsis "CA certificates library for Golang")
11414 (description
11415 "This package contains functions to aid in loading CA certificates for TLS
11416connections.")
11417 (license license:mpl2.0)))
11418
11419(define-public go-github-com-hashicorp-go-secure-stdlib-awsutil
11420 (package
11421 (name "go-github-com-hashicorp-go-secure-stdlib-awsutil")
11422 (version "0.3.0")
11423 (source
11424 (origin
11425 (method git-fetch)
11426 (uri (git-reference
11427 (url "https://github.com/hashicorp/go-secure-stdlib")
11428 (commit (go-version->git-ref version #:subdir "awsutil"))))
11429 (file-name (git-file-name name version))
11430 (sha256
11431 (base32 "04hpyprwdcz150avjlkg62hdqf6rq0l9a55b4892sr5jv81zxq3a"))))
11432 (build-system go-build-system)
11433 (arguments
11434 (list
11435 #:import-path "github.com/hashicorp/go-secure-stdlib/awsutil"
11436 #:unpack-path "github.com/hashicorp/go-secure-stdlib"))
11437 (native-inputs
11438 (list go-github-com-stretchr-testify))
11439 (propagated-inputs
11440 (list go-github-com-aws-aws-sdk-go
11441 go-github-com-hashicorp-errwrap
11442 go-github-com-hashicorp-go-cleanhttp
11443 go-github-com-hashicorp-go-hclog
11444 go-github-com-hashicorp-go-multierror
11445 go-github-com-pkg-errors))
11446 (home-page "https://github.com/hashicorp/go-secure-stdlib")
11447 (synopsis "Stdlib for HashiCorp Secure products")
11448 (description "This package provides the
11449@url{github.com/hashicorp/go-secure-stdlib/awsutil, awsutil} Golang package.
11450It is part of HashiCorp's Secure division products stdlib.")
11451 (license license:mpl2.0)))
11452
11453(define-public go-github-com-hashicorp-go-secure-stdlib-parseutil
11454 (package
11455 (name "go-github-com-hashicorp-go-secure-stdlib-parseutil")
11456 (version "0.2.0")
11457 (source
11458 (origin
11459 (method git-fetch)
11460 (uri (git-reference
11461 (url "https://github.com/hashicorp/go-secure-stdlib")
11462 (commit (go-version->git-ref version
11463 #:subdir "parseutil"))))
11464 (file-name (git-file-name name version))
11465 (sha256
11466 (base32 "08wp7cx0br7wz0rwz92v0c6jgbv735l04438k74wgqrghsxgl31m"))
11467 (modules '((guix build utils)))
11468 (snippet #~(delete-all-but "." "parseutil"))))
11469 (build-system go-build-system)
11470 (arguments
11471 (list
11472 #:import-path "github.com/hashicorp/go-secure-stdlib/parseutil"
11473 #:unpack-path "github.com/hashicorp/go-secure-stdlib"
11474 #:test-flags #~(list "-skip" "Test_NormalizeAddr")))
11475 (native-inputs
11476 (list go-github-com-stretchr-testify))
11477 (propagated-inputs
11478 (list go-github-com-hashicorp-go-secure-stdlib-strutil
11479 go-github-com-hashicorp-go-sockaddr
11480 go-github-com-mitchellh-mapstructure))
11481 (home-page "https://github.com/hashicorp/go-secure-stdlib")
11482 (synopsis "Stdlib for HashiCorp Secure products")
11483 (description
11484 "This package provides the
11485@url{github.com/hashicorp/go-secure-stdlib/parseutil, parseutil} Golang
11486package. It is part of HashiCorp's Secure division products stdlib.")
11487 (license license:mpl2.0)))
11488
11489(define-public go-github-com-hashicorp-go-secure-stdlib-strutil
11490 (package
11491 (name "go-github-com-hashicorp-go-secure-stdlib-strutil")
11492 (version "0.1.2")
11493 (source
11494 (origin
11495 (method git-fetch)
11496 (uri (git-reference
11497 (url "https://github.com/hashicorp/go-secure-stdlib")
11498 (commit (go-version->git-ref version
11499 #:subdir "strutil"))))
11500 (file-name (git-file-name name version))
11501 (sha256
11502 (base32 "19jgdmw5snwfq4z8ifsqr917aj535x6fjkv7ma08qmibv1rrxs6s"))))
11503 (build-system go-build-system)
11504 (arguments
11505 (list
11506 #:import-path "github.com/hashicorp/go-secure-stdlib/strutil"
11507 #:unpack-path "github.com/hashicorp/go-secure-stdlib"))
11508 (propagated-inputs
11509 (list go-github-com-ryanuber-go-glob))
11510 (home-page "https://github.com/hashicorp/go-secure-stdlib")
11511 (synopsis "Stdlib for HashiCorp Secure products")
11512 (description
11513 "This package provides the
11514@url{github.com/hashicorp/go-secure-stdlib/strutil, strutil} Golang package.
11515It is part of HashiCorp's Secure division products stdlib.")
11516 (license license:mpl2.0)))
11517
11518(define-public go-github-com-hashicorp-go-sockaddr
11519 (package
11520 (name "go-github-com-hashicorp-go-sockaddr")
11521 (version "1.0.7")
11522 (source
11523 (origin
11524 (method git-fetch)
11525 (uri (git-reference
11526 (url "https://github.com/hashicorp/go-sockaddr")
11527 (commit (string-append "v" version))))
11528 (file-name (git-file-name name version))
11529 (sha256
11530 (base32 "1ajcffaqxrbqyg00b04a1ia7np0180x7z5q3bcxqxm0smqqag54z"))
11531 (modules '((guix build utils)))
11532 (snippet
11533 #~(begin
11534 (delete-file-recursively "cmd/sockaddr/vendor")))))
11535 (build-system go-build-system)
11536 (arguments
11537 (list
11538 #:import-path "github.com/hashicorp/go-sockaddr"
11539 #:test-flags
11540 #~(list "-skip"
11541 (string-join
11542 ;; Tests require network set-up or fail randomly.
11543 (list "TestGetDefaultInterface"
11544 "TestGetDefaultInterfaces"
11545 "TestGetIfAddrs"
11546 "TestGetPrivateIP"
11547 "TestGetPrivateIPs"
11548 "TestGetPrivateInterfaces"
11549 "TestSockAddr_IPAddrs_IPAddrsByNetworkSize/0"
11550 "TestSockAddr_Parse")
11551 "|"))))
11552 (propagated-inputs
11553 (list go-github-com-hashicorp-errwrap
11554 go-github-com-mitchellh-cli
11555 go-github-com-mitchellh-go-wordwrap
11556 go-github-com-ryanuber-columnize))
11557 (home-page "https://github.com/hashicorp/go-sockaddr")
11558 (synopsis "IP Address/UNIX Socket convenience functions for Golang")
11559 (description
11560 "This package provides an implementation of the UNIX socket family data
11561types and related helper functions.")
11562 (license license:mpl2.0)))
11563
11564(define-public go-github-com-hashicorp-mdns
11565 (package
11566 (name "go-github-com-hashicorp-mdns")
11567 (version "1.0.6")
11568 (source
11569 (origin
11570 (method git-fetch)
11571 (uri (git-reference
11572 (url "https://github.com/hashicorp/mdns")
11573 (commit (string-append "v" version))))
11574 (file-name (git-file-name name version))
11575 (sha256
11576 (base32 "1pl9b4h46vzkxsxg1sq9g01y4cmxwfcy07a4v3r5c5b125p57fg6"))))
11577 (build-system go-build-system)
11578 (arguments
11579 (list
11580 #:import-path "github.com/hashicorp/mdns"
11581 #:test-flags
11582 #~(list "-skip"
11583 (string-join
11584 ;; err: no multicast listeners could be started
11585 (list "TestServer_StartStop"
11586 "TestServer_Lookup")
11587 "|"))))
11588 (propagated-inputs
11589 (list go-github-com-miekg-dns
11590 go-golang-org-x-net))
11591 (home-page "https://github.com/hashicorp/mdns")
11592 (synopsis "Simple mDNS client/server library in Golang")
11593 (description
11594 "This package is a simple @acronym{mDNS,Multicast Domain Name Service}
11595client/server library in Go. @code{mDNS} can be used to discover services on
11596the local network without the use of an authoritative DNS server. This
11597enables peer-to-peer discovery.")
11598 (license license:expat)))
11599
11600(define-public go-github-com-hashicorp-memberlist
11601 (package
11602 (name "go-github-com-hashicorp-memberlist")
11603 (version "0.5.3")
11604 (source
11605 (origin
11606 (method git-fetch)
11607 (uri (git-reference
11608 (url "https://github.com/hashicorp/memberlist")
11609 (commit (string-append "v" version))))
11610 (file-name (git-file-name name version))
11611 (sha256
11612 (base32 "09vb2zny0scsr65rp8ibj51diqiv818cwnfbn2xxyzssi5jcpgjv"))))
11613 (build-system go-build-system)
11614 (arguments
11615 (list
11616 #:import-path "github.com/hashicorp/memberlist"))
11617 (native-inputs
11618 (list go-github-com-stretchr-testify))
11619 (propagated-inputs
11620 (list go-github-com-google-btree
11621 go-github-com-hashicorp-go-metrics
11622 go-github-com-hashicorp-go-msgpack-v2
11623 go-github-com-hashicorp-go-multierror
11624 go-github-com-hashicorp-go-sockaddr
11625 go-github-com-miekg-dns
11626 go-github-com-sean--seed))
11627 (home-page "https://github.com/hashicorp/memberlist")
11628 (synopsis "Gossip based cluster membership and failure detection")
11629 (description
11630 "memberlist is a Go library that manages cluster membership and member
11631failure detection using a gossip based protocol.
11632
11633The use cases for such a library are far-reaching: all distributed systems
11634require membership, and memberlist is a reusable solution to managing cluster
11635membership and node failure detection.
11636
11637memberlist is eventually consistent but converges quickly on average. The
11638speed at which it converges can be heavily tuned via various knobs on the
11639protocol. Node failures are detected and network partitions are partially
11640tolerated by attempting to communicate to potentially dead nodes through
11641multiple routes.")
11642 (license license:mpl2.0)))
11643
11644(define-public go-github-com-hashicorp-raft
11645 (package
11646 (name "go-github-com-hashicorp-raft")
11647 (version "1.7.3")
11648 (source
11649 (origin
11650 (method git-fetch)
11651 (uri (git-reference
11652 (url "https://github.com/hashicorp/raft")
11653 (commit (string-append "v" version))))
11654 (file-name (git-file-name name version))
11655 (sha256
11656 (base32 "0yynmxqqc98vz3gfckky9wz0r9a4rw0mpdhw8w5nzj272wl6rjxl"))))
11657 (build-system go-build-system)
11658 (arguments
11659 (list
11660 #:tests? #f ;Tests require previous version of raft
11661 #:import-path "github.com/hashicorp/raft"))
11662 (native-inputs (list go-github-com-stretchr-testify))
11663 (propagated-inputs
11664 (list go-github-com-hashicorp-go-msgpack-v2
11665 go-github-com-hashicorp-go-metrics
11666 go-github-com-hashicorp-go-hclog))
11667 (home-page "https://github.com/hashicorp/raft")
11668 (synopsis "Golang implementation of the Raft consensus protocol")
11669 (description
11670 "This package provides a Golang implementation of the Raft Protocol,
11671that manages a replicated log and can be used to manage replicated state
11672machines.")
11673 (license license:mpl2.0)))
11674
11675(define-public go-github-com-hashicorp-serf
11676 (package
11677 (name "go-github-com-hashicorp-serf")
11678 (version "0.10.2")
11679 (source
11680 (origin
11681 (method git-fetch)
11682 (uri (git-reference
11683 (url "https://github.com/hashicorp/serf")
11684 (commit (string-append "v" version))))
11685 (file-name (git-file-name name version))
11686 (sha256
11687 (base32 "0q9rismcpd5ci5zg6aq5b3y53x4j90fpdsvfc5jjh6hqfnxi0hzj"))))
11688 (build-system go-build-system)
11689 (arguments
11690 (list
11691 #:skip-build? #t
11692 #:test-flags
11693 #~(list "-skip"
11694 (string-join
11695 ;; panic: runtime error: invalid memory address or nil pointer
11696 ;; dereference
11697 (list "TestCommandRun_mDNS"
11698 ;; [ERR] agent: Error invoking script ... fork/exec
11699 ;; /bin/sh: no such file or directory
11700 "TestScriptEventHandler"
11701 "TestScriptUserEventHandler"
11702 "TestScriptQueryEventHandler"
11703 "TestSnapshotter_forceCompact"
11704 ;; err: Unix syslog delivery error
11705 "TestSyslogFilter")
11706 "|"))
11707 #:import-path "github.com/hashicorp/serf"))
11708 (propagated-inputs
11709 (list go-github-com-armon-circbuf
11710 go-github-com-hashicorp-go-metrics
11711 go-github-com-hashicorp-go-msgpack-v2
11712 go-github-com-hashicorp-go-syslog
11713 go-github-com-hashicorp-logutils
11714 go-github-com-hashicorp-mdns
11715 go-github-com-hashicorp-memberlist
11716 go-github-com-mitchellh-cli
11717 go-github-com-mitchellh-mapstructure
11718 go-github-com-ryanuber-columnize))
11719 (home-page "https://github.com/hashicorp/serf")
11720 (synopsis "Service discovery and orchestration for Golang")
11721 (description
11722 "Serf is a decentralized solution for service discovery and orchestration
11723that is lightweight, highly available, and fault tolerant.")
11724 (license license:mpl2.0)))
11725
11726(define-public go-github-com-hashicorp-vault-api
11727 (package
11728 (name "go-github-com-hashicorp-vault-api")
11729 (version "1.23.0")
11730 (source
11731 (origin
11732 (method git-fetch)
11733 (uri (git-reference
11734 (url "https://github.com/hashicorp/vault")
11735 (commit (go-version->git-ref version #:subdir "api"))))
11736 (file-name (git-file-name name version))
11737 (sha256
11738 (base32 "1zimh4g8bwj9zz7hjrpk1arg02m3lkyaqmyl9jdw08qkc2vq679p"))
11739 (modules '((guix build utils)))
11740 (snippet
11741 #~(begin
11742 ;; Submodules with their own go.mod files and packaged separately.
11743 (for-each delete-file-recursively
11744 (list "vault/hcp_link/proto"
11745 "api/auth/kubernetes"
11746 "api/auth/userpass"
11747 "api/auth/approle"
11748 "api/auth/azure"
11749 "internalshared"
11750 "tools/pipeline"
11751 "api/auth/cert"
11752 "api/auth/ldap"
11753 "api/auth/aws"
11754 "api/auth/gcp"
11755 "version"
11756 "sdk"))))))
11757 (build-system go-build-system)
11758 (arguments
11759 (list
11760 #:import-path "github.com/hashicorp/vault/api"
11761 #:unpack-path "github.com/hashicorp/vault"
11762 #:test-flags
11763 ;; This test requires a running Vault instance.
11764 #~(list "-skip" "TestCommand")))
11765 (native-inputs
11766 (list go-github-com-stretchr-testify
11767 go-github-com-go-test-deep))
11768 (propagated-inputs
11769 (list go-cloud-google-com-go
11770 go-cloud-google-com-go-iam
11771 go-github-com-cenkalti-backoff-v4
11772 go-github-com-go-jose-go-jose-v4
11773 go-github-com-hashicorp-errwrap
11774 go-github-com-hashicorp-go-cleanhttp
11775 go-github-com-hashicorp-go-hclog
11776 go-github-com-hashicorp-go-multierror
11777 go-github-com-hashicorp-go-retryablehttp
11778 go-github-com-hashicorp-go-rootcerts
11779 go-github-com-hashicorp-go-secure-stdlib-awsutil
11780 go-github-com-hashicorp-go-secure-stdlib-parseutil
11781 go-github-com-hashicorp-go-secure-stdlib-strutil
11782 go-github-com-hashicorp-go-uuid
11783 go-github-com-hashicorp-hcl-vault-7
11784 go-github-com-mitchellh-go-homedir
11785 go-github-com-mitchellh-mapstructure
11786 go-github-com-natefinch-atomic
11787 go-golang-org-x-net
11788 go-golang-org-x-time))
11789 (home-page "https://github.com/hashicorp/vault")
11790 (synopsis "Golang Vault API client")
11791 (description
11792 "This package provides the @code{github.com/hashicorp/vault/api} Golang
11793package. It contains code for interacting with a Vault server.")
11794 (license license:mpl2.0)))
11795
11796(define-public go-github-com-hashicorp-vault-api-auth-approle
11797 (package
11798 (name "go-github-com-hashicorp-vault-api-auth-approle")
11799 (version "0.12.0")
11800 (source
11801 (origin
11802 (method git-fetch)
11803 (uri (git-reference
11804 (url "https://github.com/hashicorp/vault")
11805 (commit (go-version->git-ref version
11806 #:subdir "api/auth/approle"))))
11807 (file-name (git-file-name name version))
11808 (sha256
11809 (base32 "17rnfghxnc87yj0lbhg7hvzp356r4pjajly5xcy2dzdzigkvi149"))
11810 (modules '((guix build utils)))
11811 (snippet
11812 #~(begin
11813 (delete-all-but "api/auth" "approle")
11814 (delete-all-but "api" "auth")
11815 (delete-all-but "." "api")))))
11816 (build-system go-build-system)
11817 (arguments
11818 (list
11819 #:import-path "github.com/hashicorp/vault/api/auth/approle"
11820 #:unpack-path "github.com/hashicorp/vault"))
11821 (propagated-inputs (list go-github-com-hashicorp-vault-api))
11822 (home-page "https://github.com/hashicorp/vault")
11823 (synopsis "Hashicorp Vault to AppRole integration")
11824 (description
11825 "This package implement the Hashicorp Vault @code{approle} auth method
11826allowing machines or applications to authenticate with Vault-defined roles.
11827The open design of @code{AppRole} enables a varied set of workflows and
11828configurations to handle large numbers of applications.")
11829 (license license:mpl2.0)))
11830
11831(define-public go-github-com-hashicorp-vault-api-auth-aws
11832 (package
11833 (name "go-github-com-hashicorp-vault-api-auth-aws")
11834 (version "0.12.0")
11835 (source
11836 (origin
11837 (method git-fetch)
11838 (uri (git-reference
11839 (url "https://github.com/hashicorp/vault")
11840 (commit (go-version->git-ref version
11841 #:subdir "api/auth/aws"))))
11842 (file-name (git-file-name name version))
11843 (sha256
11844 (base32 "17rnfghxnc87yj0lbhg7hvzp356r4pjajly5xcy2dzdzigkvi149"))
11845 (modules '((guix build utils)))
11846 (snippet
11847 #~(begin
11848 (delete-all-but "api/auth" "aws")
11849 (delete-all-but "api" "auth")
11850 (delete-all-but "." "api")))))
11851 (build-system go-build-system)
11852 (arguments
11853 (list
11854 #:import-path "github.com/hashicorp/vault/api/auth/aws"
11855 #:unpack-path "github.com/hashicorp/vault"))
11856 (propagated-inputs
11857 (list go-github-com-aws-aws-sdk-go
11858 go-github-com-hashicorp-go-hclog
11859 go-github-com-hashicorp-go-secure-stdlib-awsutil
11860 go-github-com-hashicorp-go-uuid
11861 go-github-com-hashicorp-vault-api))
11862 (home-page "https://github.com/hashicorp/vault")
11863 (synopsis "Hashicorp Vault to AWS integration")
11864 (description
11865 "This package provides Hashicorp Vault to AWS API integration.")
11866 (license license:mpl2.0)))
11867
11868(define-public go-github-com-hashicorp-vault-api-auth-kubernetes
11869 (package
11870 (name "go-github-com-hashicorp-vault-api-auth-kubernetes")
11871 (version "0.12.0")
11872 (source
11873 (origin
11874 (method git-fetch)
11875 (uri (git-reference
11876 (url "https://github.com/hashicorp/vault")
11877 (commit (go-version->git-ref version
11878 #:subdir "api/auth/kubernetes"))))
11879 (file-name (git-file-name name version))
11880 (sha256
11881 (base32 "17rnfghxnc87yj0lbhg7hvzp356r4pjajly5xcy2dzdzigkvi149"))
11882 (modules '((guix build utils)))
11883 (snippet
11884 #~(begin
11885 (delete-all-but "api/auth" "kubernetes")
11886 (delete-all-but "api" "auth")
11887 (delete-all-but "." "api")))))
11888 (build-system go-build-system)
11889 (arguments
11890 (list
11891 #:import-path "github.com/hashicorp/vault/api/auth/kubernetes"
11892 #:unpack-path "github.com/hashicorp/vault"))
11893 (propagated-inputs (list go-github-com-hashicorp-vault-api))
11894 (home-page "https://github.com/hashicorp/vault")
11895 (synopsis "Hashicorp Vault to Kubernetes integration")
11896 (description
11897 "This package implements the @code{kubernetes} auth method which can be
11898used to authenticate with Vault using a Kubernetes Service Account Token.")
11899 (license license:mpl2.0)))
11900
11901(define-public go-github-com-hashicorp-yamux
11902 (package
11903 (name "go-github-com-hashicorp-yamux")
11904 (version "0.1.2")
11905 (source
11906 (origin
11907 (method git-fetch)
11908 (uri (git-reference
11909 (url "https://github.com/hashicorp/yamux")
11910 (commit (string-append "v" version))))
11911 (file-name (git-file-name name version))
11912 (sha256
11913 (base32 "1c46zdj94lv28sb9rmhinzcckl72vs3gwm197nsa80ca3b161yi6"))))
11914 (build-system go-build-system)
11915 (arguments
11916 (list
11917 #:import-path "github.com/hashicorp/yamux"))
11918 (home-page "https://github.com/hashicorp/yamux")
11919 (synopsis "Golang connection multiplexing library")
11920 (description
11921 "Yamux (Yet another Multiplexer) relies on an underlying connection to
11922provide reliability and ordering, such as TCP or Unix domain sockets, and
11923provides stream-oriented multiplexing. It is inspired by SPDY but is not
11924interoperable with it.
11925
11926Features:
11927@itemize
11928@item streams can be opened by either client or server
11929@item useful for nat traversal
11930@item server-side push support
11931@item avoid starvation
11932@item back-pressure to prevent overwhelming a receiver
11933@item enables persistent connections over a load balancer
11934@item enables thousands of logical streams with low overhead
11935@end itemize")
11936 (license license:mpl2.0)))
11937
11938(define-public go-github-com-henrybear327-go-proton-api
11939 (package
11940 (name "go-github-com-henrybear327-go-proton-api")
11941 (version "1.0.0")
11942 (source
11943 (origin
11944 (method git-fetch)
11945 (uri (git-reference
11946 (url "https://github.com/henrybear327/go-proton-api")
11947 (commit (string-append "v" version))))
11948 (file-name (git-file-name name version))
11949 (sha256
11950 (base32 "0065mhbnhc973avqmd646gg2p3hdsj9q2gzrl0z6f9k18b4pf00j"))))
11951 (build-system go-build-system)
11952 (arguments
11953 (list
11954 #:import-path "github.com/henrybear327/go-proton-api"
11955 ;; Test requires PGP cert
11956 #:test-flags
11957 #~(list "-skip" "TestDecrypt")
11958 #:embed-files
11959 #~(list "children" "nodes" "text")))
11960 (native-inputs
11961 (list go-github-com-stretchr-testify
11962 go-go-uber-org-goleak))
11963 (propagated-inputs
11964 (list go-github-com-bradenaw-juniper
11965 go-github-com-emersion-go-message
11966 go-github-com-emersion-go-vcard
11967 go-github-com-gin-gonic-gin
11968 go-github-com-go-resty-resty-v2
11969 go-github-com-google-uuid
11970 go-github-com-masterminds-semver-v3
11971 go-github-com-protonmail-gluon
11972 go-github-com-protonmail-go-crypto
11973 go-github-com-protonmail-go-srp
11974 go-github-com-protonmail-gopenpgp-v2
11975 go-github-com-puerkitobio-goquery
11976 go-github-com-sirupsen-logrus
11977 go-github-com-urfave-cli-v2
11978 go-golang-org-x-exp
11979 go-golang-org-x-net
11980 go-golang-org-x-text
11981 go-google-golang-org-grpc
11982 go-google-golang-org-protobuf))
11983 (home-page "https://github.com/henrybear327/go-proton-api")
11984 (synopsis "Go Proton API")
11985 (description
11986 "Package proton implements types for accessing the Proton API.")
11987 (license license:expat)))
11988
11989(define-public go-github-com-henrybear327-proton-api-bridge
11990 (package
11991 (name "go-github-com-henrybear327-proton-api-bridge")
11992 (version "1.0.0")
11993 (source
11994 (origin
11995 (method git-fetch)
11996 (uri (git-reference
11997 (url "https://github.com/henrybear327/Proton-API-Bridge")
11998 (commit (string-append "v" version))))
11999 (file-name (git-file-name name version))
12000 (sha256
12001 (base32 "0721g2wdgm13vlg6sl4v0a7mp6sfl6fpaqv4zc3nq0y7a6yp0976"))))
12002 (build-system go-build-system)
12003 (arguments
12004 (list
12005 #:tests? #f ;Tests require username/password
12006 #:embed-files
12007 #~(list "children" "nodes" "text")
12008 #:import-path "github.com/henrybear327/Proton-API-Bridge"))
12009 (propagated-inputs
12010 (list go-golang-org-x-sync
12011 go-github-com-relvacode-iso8601
12012 go-github-com-henrybear327-go-proton-api
12013 go-github-com-protonmail-gopenpgp-v2
12014 go-github-com-protonmail-gluon))
12015 (home-page "https://github.com/henrybear327/Proton-API-Bridge")
12016 (synopsis "Proton API Bridge")
12017 (description
12018 "This package implements a functionality of a bridge to the Proton API,
12019 with the goal of providing enough functionality to be a usable backend for
12020projects like rclone.")
12021 (license license:expat)))
12022
12023(define-public go-github-com-hetznercloud-hcloud-go-v2
12024 (package
12025 (name "go-github-com-hetznercloud-hcloud-go-v2")
12026 (version "2.49.0")
12027 (source
12028 (origin
12029 (method git-fetch)
12030 (uri (git-reference
12031 (url "https://github.com/hetznercloud/hcloud-go")
12032 (commit (string-append "v" version))))
12033 (file-name (git-file-name name version))
12034 (sha256
12035 (base32 "0g9zvb8r575pgp20ls2whcs02shdmg2dfz0awqz1ziy4gjqgh48l"))))
12036 (build-system go-build-system)
12037 (arguments
12038 (list
12039 #:skip-build? #t
12040 #:import-path "github.com/hetznercloud/hcloud-go/v2"))
12041 (native-inputs
12042 (list go-github-com-google-go-cmp
12043 go-github-com-stretchr-testify))
12044 (propagated-inputs
12045 (list go-github-com-prometheus-client-golang
12046 go-golang-org-x-crypto
12047 go-golang-org-x-net))
12048 (home-page "https://github.com/hetznercloud/hcloud-go")
12049 (synopsis "Golang library for the Hetzner Cloud API")
12050 (description
12051 "This package provides a library for the Hetzner Cloud API.")
12052 (license license:expat)))
12053
12054(define-public go-github-com-hjson-hjson-go-v4
12055 (package
12056 (name "go-github-com-hjson-hjson-go-v4")
12057 (version "4.4.0")
12058 (source
12059 (origin
12060 (method git-fetch)
12061 (uri (git-reference
12062 (url "https://github.com/hjson/hjson-go")
12063 (commit (string-append "v" version))))
12064 (file-name (git-file-name name version))
12065 (sha256
12066 (base32 "1d4b2hpqsnzbmfhgxq15hd19rjr5hydjmpblrh5yzfgx9z3cz2by"))))
12067 (build-system go-build-system)
12068 (arguments
12069 (list
12070 #:import-path "github.com/hjson/hjson-go/v4"))
12071 (home-page "https://hjson.org/")
12072 (synopsis "Human JSON implementation for Go")
12073 (description
12074 "Hjson is a syntax extension to JSON. It is intended to be used like a
12075user interface for humans, to read and edit before passing the JSON data to
12076the machine.")
12077 (license license:expat)))
12078
12079(define-public go-github-com-hokaccha-go-prettyjson
12080 (package
12081 (name "go-github-com-hokaccha-go-prettyjson")
12082 (version "0.0.0-20211117102719-0474bc63780f")
12083 (source
12084 (origin
12085 (method git-fetch)
12086 (uri (git-reference
12087 (url "https://github.com/hokaccha/go-prettyjson")
12088 (commit (go-version->git-ref version))))
12089 (file-name (git-file-name name version))
12090 (sha256
12091 (base32 "1njd6d4j8fqwl9k6910288a7gd54xshp8wya7qlrdwyn2kn6ig2c"))))
12092 (build-system go-build-system)
12093 (arguments
12094 (list
12095 #:import-path "github.com/hokaccha/go-prettyjson"
12096 #:test-flags #~(list "-skip" "Example"))) ;diff is not equal
12097 (propagated-inputs
12098 (list go-github-com-fatih-color))
12099 (home-page "https://github.com/hokaccha/go-prettyjson")
12100 (synopsis "JSON pretty print for Golang")
12101 (description "Package prettyjson provides JSON pretty print.")
12102 (license license:expat)))
12103
12104(define-public go-github-com-huaweicloud-huaweicloud-sdk-go-v3
12105 (package
12106 (name "go-github-com-huaweicloud-huaweicloud-sdk-go-v3")
12107 (version "0.1.191")
12108 (source
12109 (origin
12110 (method git-fetch)
12111 (uri (git-reference
12112 (url "https://github.com/huaweicloud/huaweicloud-sdk-go-v3")
12113 (commit (string-append "v" version))))
12114 (file-name (git-file-name name version))
12115 (sha256
12116 (base32 "1dgvaayihhly5ghphdabhv27z04ff8qzfvvbghmcn2da17w066hf"))
12117 (modules '((guix build utils)))
12118 (snippet #~(begin
12119 (for-each
12120 (lambda (f)
12121 ;; XXX: Without this snippet the build fails with
12122 ;;
12123 ;; core/auth/signer/derived_signer.go:27:2:
12124 ;; code in directory core/auth/signer/hkdf expects
12125 ;; import "golang.org/x/crypto/hkdf"
12126 (substitute* (string-append "core/auth/signer/hkdf/" f)
12127 (("import \"golang\\.org/x/crypto/hkdf\"") "")))
12128 '("hkdf.go" "hkdf_test.go"))
12129 #t))))
12130 (build-system go-build-system)
12131 (arguments
12132 (list
12133 #:import-path "github.com/huaweicloud/huaweicloud-sdk-go-v3"
12134 #:test-flags
12135 (if (target-aarch64?)
12136 ;; Fails on aarch64: Not equal: expected: 2147483647, actual:
12137 ;; -2147483648
12138 #~(list "-skip" "TestPow32/test_Pow32_with_large_exponent")
12139 ''())))
12140 (native-inputs
12141 (list go-github-com-stretchr-testify))
12142 (propagated-inputs
12143 (list go-github-com-goccy-go-yaml
12144 go-github-com-json-iterator-go
12145 go-github-com-shopspring-decimal
12146 go-github-com-tjfoc-gmsm
12147 go-go-mongodb-org-mongo-driver
12148 go-golang-org-x-crypto
12149 go-gopkg-in-ini-v1))
12150 (home-page "https://github.com/huaweicloud/huaweicloud-sdk-go-v3")
12151 (synopsis "Go client for Huawei Cloud services")
12152 (description
12153 "This package provides a Go interface with Huawei Cloud services such as
12154Elastic Compute Service (ECS) and Virtual Private Cloud (VPC).")
12155 ;; See https://github.com/huaweicloud/huaweicloud-sdk-go-v3/blob/master/LICENSE
12156 (license (list license:asl2.0 license:bsd-2 license:bsd-3))))
12157
12158(define-public go-github-com-hugelgupf-socketpair
12159 (package
12160 (name "go-github-com-hugelgupf-socketpair")
12161 (version "0.0.0-20240723164047-9246f217b3fc")
12162 (source
12163 (origin
12164 (method git-fetch)
12165 (uri (git-reference
12166 (url "https://github.com/hugelgupf/socketpair")
12167 (commit (go-version->git-ref version))))
12168 (file-name (git-file-name name version))
12169 (sha256
12170 (base32 "1pdaanxirsnw9d63mz3867q8vgfh51099zzm4mm6ngv8a14zxzcl"))))
12171 (build-system go-build-system)
12172 (arguments
12173 (list
12174 #:import-path "github.com/hugelgupf/socketpair"))
12175 (home-page "https://github.com/hugelgupf/socketpair")
12176 (synopsis "Bidirectionally connected Conns")
12177 (description
12178 "This provides bidirectionally connected @code{net.Conns},
12179@code{net.PacketConns} made from socketpair(2) as well as bidirectionally
12180connected @code{net.TCPConns}.")
12181 (license license:bsd-3)))
12182
12183(define-public go-github-com-huin-goupnp
12184 (package
12185 (name "go-github-com-huin-goupnp")
12186 (version "1.3.0")
12187 (source
12188 (origin
12189 (method git-fetch)
12190 (uri (git-reference
12191 (url "https://github.com/huin/goupnp")
12192 (commit (string-append "v" version))))
12193 (file-name (git-file-name name version))
12194 (sha256
12195 (base32 "04j5rmrfawjxcimiqpyjm9gm5phdndjxrmydf9f1ylij6m360nwl"))
12196 (modules '((guix build utils)))
12197 (snippet
12198 #~(begin
12199 ;; Submodules with their own go.mod files and packed as separated
12200 ;; packages:
12201 ;;
12202 ;; - github.com/huin/goupnp/v2alpha
12203 (for-each delete-file-recursively
12204 (list "v2alpha"))))))
12205 (build-system go-build-system)
12206 (arguments
12207 (list
12208 #:import-path "github.com/huin/goupnp"))
12209 (home-page "https://github.com/huin/goupnp")
12210 (propagated-inputs
12211 (list go-golang-org-x-sync))
12212 (synopsis "UPnP client library for Go")
12213 (description
12214 "@code{goupnp} is a @acronym{Universal Plug and Play, UPnP} client
12215library for Go.
12216
12217Core components:
12218@itemize
12219@item @code{goupnp}: core library - contains datastructures and utilities
12220typically used by the implemented DCPs
12221@item @code{httpu}: HTTPU implementation, underlies SSDP
12222@item @code{ssdp}: SSDP client implementation (simple service discovery
12223protocol) - used to discover UPnP services on a network
12224@item @code{soap}: SOAP client implementation (simple object access protocol)
12225- used to communicate with discovered services
12226@end itemize")
12227 (license license:bsd-2)))
12228
12229(define-public go-github-com-ibm-go-sdk-core-v5
12230 (package
12231 (name "go-github-com-ibm-go-sdk-core-v5")
12232 (version "5.21.1")
12233 (source
12234 (origin
12235 (method git-fetch)
12236 (uri (git-reference
12237 (url "https://github.com/IBM/go-sdk-core")
12238 (commit (string-append "v" version))))
12239 (file-name (git-file-name name version))
12240 (sha256
12241 (base32 "0ccdnxyimls91f4gq5ci2jaqm56qqv1mm3dxw56ha2bj5zr7ipnk"))))
12242 (build-system go-build-system)
12243 (arguments
12244 (list
12245 #:skip-build? #t
12246 #:import-path "github.com/IBM/go-sdk-core/v5"))
12247 (native-inputs
12248 (list go-github-com-onsi-ginkgo
12249 go-github-com-onsi-gomega
12250 go-github-com-stretchr-testify))
12251 (propagated-inputs
12252 (list go-github-com-go-openapi-strfmt
12253 go-github-com-go-playground-validator-v10
12254 go-github-com-hashicorp-go-cleanhttp
12255 go-github-com-hashicorp-go-retryablehttp
12256 go-sigs-k8s-io-yaml))
12257 (home-page "https://github.com/IBM/go-sdk-core")
12258 (synopsis "IBM Go SDK Core")
12259 (description
12260 "This package implements a core functionality required by Go code generated
12261 by the IBM Cloud @code{OpenAPI} SDK Generator (openapi-sdkgen).")
12262 (license license:asl2.0)))
12263
12264(define-public go-github-com-ibm-sarama
12265 (package
12266 (name "go-github-com-ibm-sarama")
12267 (version "1.48.0")
12268 (source
12269 (origin
12270 (method git-fetch)
12271 (uri (git-reference
12272 (url "https://github.com/IBM/sarama")
12273 (commit (string-append "v" version))))
12274 (file-name (git-file-name name version))
12275 (sha256
12276 (base32 "0ak07aqb9hznvhbnkw34vak30pzbwvh2aff22lww8gcba4c9qdn7"))))
12277 (build-system go-build-system)
12278 (arguments
12279 (list
12280 #:import-path "github.com/IBM/sarama"
12281 #:unpack-path "github.com/IBM/sarama"
12282 #:phases
12283 #~(modify-phases %standard-phases
12284 (add-after 'unpack 'remove-examples
12285 (lambda* (#:key tests? unpack-path #:allow-other-keys)
12286 (with-directory-excursion (string-append "src/" unpack-path)
12287 (delete-file-recursively "examples")))))))
12288 (native-inputs
12289 (list go-github-com-stretchr-testify
12290 go-github-com-davecgh-go-spew
12291 go-go-uber-org-goleak))
12292 (propagated-inputs
12293 (list go-github-com-eapache-go-resiliency
12294 go-github-com-eapache-queue
12295 go-github-com-jcmturner-gofork
12296 go-github-com-jcmturner-gokrb5-v8
12297 go-github-com-klauspost-compress
12298 go-github-com-pierrec-lz4-v4
12299 go-github-com-rcrowley-go-metrics
12300 go-golang-org-x-net
12301 go-golang-org-x-sync
12302 go-golang-org-x-sys))
12303 (home-page "https://github.com/IBM/sarama")
12304 (synopsis "Go library for Apache Kafka")
12305 (description
12306 "Package sarama is a pure Go client library for dealing with Apache Kafka
12307(versions 0.8 and later). It includes a high-level API for easily producing
12308and consuming messages, and a low-level API for controlling bytes on the wire
12309when the high-level API is insufficient. Usage examples for the high-level
12310APIs are provided inline with their full documentation.")
12311 (license license:expat)))
12312
12313(define-public go-github-com-igungor-gofakes3
12314 (package
12315 (name "go-github-com-igungor-gofakes3")
12316 (version "0.0.18")
12317 (source
12318 (origin
12319 (method git-fetch)
12320 (uri (git-reference
12321 (url "https://github.com/igungor/gofakes3")
12322 (commit (string-append "v" version))))
12323 (file-name (git-file-name name version))
12324 (sha256
12325 (base32 "136wvgz8d1982ns3vqqlvk3r7cbns7b0givwcrala562sd87yqka"))))
12326 (build-system go-build-system)
12327 (arguments
12328 (list
12329 #:import-path "github.com/igungor/gofakes3"))
12330 (propagated-inputs
12331 (list go-github-com-aws-aws-sdk-go
12332 go-github-com-ryszard-goskiplist
12333 go-github-com-shabbyrobe-gocovmerge
12334 go-github-com-spf13-afero
12335 go-go-etcd-io-bbolt
12336 go-golang-org-x-tools
12337 go-gopkg-in-mgo-v2))
12338 (home-page "https://github.com/igungor/gofakes3")
12339 (synopsis "Simple fake AWS S3 object storage")
12340 (description
12341 "AWS S3 fake server and testing library for extensive S3 test integrations.
12342Either by running a test-server, e.g. for testing of AWS Lambda functions
12343accessing S3. Or, to have a simple and convenience S3 mock- and test-server.
12344It's an alternative fork of @url{https://github.com/johannesboyne/gofakes3}.")
12345 (license license:expat)))
12346
12347;; Upstream has no release tags; nak 0.20.6 requires this exact indirect Go
12348;; version.
12349(define-public go-github-com-imvexed-fasturl
12350 (package
12351 (name "go-github-com-imvexed-fasturl")
12352 (version "0.0.0-20230304231329-4e41488060f3")
12353 (source
12354 (origin
12355 (method git-fetch)
12356 (uri (git-reference
12357 (url "https://github.com/ImVexed/fasturl")
12358 (commit (go-version->git-ref version))))
12359 (file-name (git-file-name name version))
12360 (sha256
12361 (base32 "02acf5dbfx29kr04ap27y7pfxjbggiyla29nx0256h5wli0ifrav"))))
12362 (build-system go-build-system)
12363 (arguments
12364 (list
12365 #:import-path "github.com/ImVexed/fasturl"))
12366 (native-inputs
12367 (list go-github-com-stretchr-testify))
12368 (home-page "https://github.com/ImVexed/fasturl")
12369 (synopsis "URL parser for Go")
12370 (description
12371 "This package provides a Go URL parser using a
12372@@url{http://www.colm.net/open-source/ragel/, Ragel} state-machine instead of
12373regex, or the built in standard library @code{url.Parse}.")
12374 (license license:expat)))
12375
12376(define-public go-github-com-inetaf-tcpproxy
12377 (package
12378 (name "go-github-com-inetaf-tcpproxy")
12379 (version "0.0.0-20250222171855-c4b9df066048")
12380 (source
12381 (origin
12382 (method git-fetch)
12383 (uri (git-reference
12384 (url "https://github.com/inetaf/tcpproxy")
12385 (commit (go-version->git-ref version))))
12386 (file-name (git-file-name name version))
12387 (sha256
12388 (base32 "1m682wk8vs1pqiky2w4gmp8l1ysxlgsm7jw0dqd723mcaxkivy9p"))))
12389 (build-system go-build-system)
12390 (arguments
12391 (list
12392 #:import-path "github.com/inetaf/tcpproxy"))
12393 (native-inputs
12394 (list go-github-com-armon-go-proxyproto))
12395 (home-page "https://github.com/inetaf/tcpproxy")
12396 (synopsis "Proxy TCP connections based on static rules")
12397 (description
12398 "Package tcpproxy lets users build TCP proxies, optionally making routing
12399decisions based on HTTP/1 Host headers and the SNI hostname in TLS connections.")
12400 (license license:asl2.0)))
12401
12402(define-public go-github-com-insomniacslk-dhcp
12403 (package
12404 (name "go-github-com-insomniacslk-dhcp")
12405 (version "0.0.0-20250417080101-5f8cf70e8c5f")
12406 (source
12407 (origin
12408 (method git-fetch)
12409 (uri (git-reference
12410 (url "https://github.com/insomniacslk/dhcp")
12411 (commit (go-version->git-ref version))))
12412 (file-name (git-file-name name version))
12413 (sha256
12414 (base32 "1plxb84g7mn1iabgjjw71n16vc17m2kay3snihkydgb628j58hqv"))))
12415 (build-system go-build-system)
12416 (arguments
12417 (list
12418 #:skip-build? #t
12419 #:import-path "github.com/insomniacslk/dhcp"))
12420 (native-inputs
12421 (list go-github-com-stretchr-testify
12422 go-github-com-google-go-cmp))
12423 (propagated-inputs
12424 (list go-github-com-hugelgupf-socketpair
12425 go-github-com-jsimonetti-rtnetlink
12426 go-github-com-mdlayher-netlink
12427 go-github-com-mdlayher-packet
12428 go-github-com-u-root-uio
12429 go-golang-org-x-net
12430 go-golang-org-x-sys))
12431 (home-page "https://github.com/insomniacslk/dhcp")
12432 (synopsis "DHCPv6 and DHCPv4 packet library")
12433 (description
12434 "DHCPv4 and DHCPv6 decoding/encoding library for Golang. This package
12435is split in several logical parts:
12436
12437@itemize
12438@item @code{dhcpv4} - implementation of DHCPv4 packet, client and server
12439@item @code{netboot} - network booting wrappers on top of dhcpv6 and dhcpv4
12440@item @code{iana} - several IANA constants, and helpers used by dhcpv6 and
12441dhcpv4
12442@item @code{rfc1035label} - simple implementation of RFC1035 labels, used by
12443dhcpv6 and dhcpv4
12444@item @code{interfaces} - a thin layer of wrappers around network interfaces
12445@end itemize")
12446 (license license:bsd-3)))
12447
12448(define-public go-github-com-intel-goresctrl
12449 (package
12450 (name "go-github-com-intel-goresctrl")
12451 (version "0.12.0")
12452 (source
12453 (origin
12454 (method git-fetch)
12455 (uri (git-reference
12456 (url "https://github.com/intel/goresctrl")
12457 (commit (string-append "v" version))))
12458 (file-name (git-file-name name version))
12459 (sha256
12460 (base32 "1lifx5nq3x29x17lixhwh2f6yp2q3sxy8mqm036mp2bh2araqgdy"))))
12461 (build-system go-build-system)
12462 (arguments
12463 (list
12464 #:skip-build? #t
12465 #:import-path "github.com/intel/goresctrl"
12466 ;; The ioctl request types of pkg/sst (Intel Speed Select) are
12467 ;; generated into a file whose "_amd64" suffix restricts it to x86_64,
12468 ;; so neither pkg/sst nor cmd/sst-ctl, which imports it, compiles on
12469 ;; any other architecture; test only on x86-64
12470 #:tests? (and (not (%current-target-system)) (target-x86-64?))
12471 #:test-flags
12472 #~(list "-skip" (string-join
12473 (list "TestInfo"
12474 "TestConfig"
12475 "TestRdt"
12476 "TestCacheAllocation")
12477 "|"))))
12478 (native-inputs
12479 (list go-github-com-google-go-cmp
12480 go-github-com-stretchr-testify))
12481 (propagated-inputs
12482 (list go-github-com-opencontainers-runtime-spec
12483 go-github-com-prometheus-client-golang
12484 go-go-opentelemetry-io-otel
12485 go-go-opentelemetry-io-otel-exporters-otlp-otlpmetric-otlpmetricgrpc
12486 go-go-opentelemetry-io-otel-exporters-otlp-otlpmetric-otlpmetrichttp
12487 go-go-opentelemetry-io-otel-exporters-prometheus
12488 go-go-opentelemetry-io-otel-exporters-stdout-stdoutmetric
12489 go-go-opentelemetry-io-otel-metric
12490 go-go-opentelemetry-io-otel-sdk
12491 go-go-opentelemetry-io-otel-sdk-metric
12492 go-golang-org-x-exp
12493 go-golang-org-x-sys
12494 go-k8s-io-apimachinery
12495 go-sigs-k8s-io-yaml))
12496 (home-page "https://github.com/intel/goresctrl")
12497 (synopsis "CPU and I/O resources interface for Golang")
12498 (description
12499 "This package provides Go interface to manage CPU cache allocation and
12500memory bandwidth; CPU frequency in core granularity; and Storage I/O scheduler
12501priority and bandwidth.")
12502 (license license:asl2.0)))
12503
12504(define-public go-github-com-internxt-rclone-adapter
12505 (package
12506 (name "go-github-com-internxt-rclone-adapter")
12507 (version "0.0.0-20260904121407-404a75f3d031")
12508 (source
12509 (origin
12510 (method git-fetch)
12511 (uri (git-reference
12512 (url "https://github.com/internxt/rclone-adapter")
12513 (commit (go-version->git-ref version))))
12514 (file-name (git-file-name name version))
12515 (sha256
12516 (base32 "0xpqgidscznbmy8na9pflbv1l9wabcgah8i4jzjral3v2zk7l88s"))))
12517 (build-system go-build-system)
12518 (arguments
12519 (list
12520 #:skip-build? #t
12521 #:import-path "github.com/internxt/rclone-adapter"
12522 #:test-flags
12523 #~(list "-skip" (string-join
12524 ;; Network access is required for the tests.
12525 (list "TestDownloadFile"
12526 "TestGenerateFileKey"
12527 "TestFinishUpload"
12528 "TestRefreshToken"
12529 "TestFinishMultipartUpload"
12530 "TestStartUpload")
12531 "|"))))
12532 (propagated-inputs
12533 (list go-github-com-tyler-smith-go-bip39
12534 go-golang-org-x-crypto
12535 go-golang-org-x-image))
12536 (home-page "https://github.com/internxt/rclone-adapter")
12537 (synopsis "Internxt Drive API in Go")
12538 (description
12539 "This package provides a pure Go library allowing you to interact with
12540the @url{https://internxt.com/drive, Internxt Drive API}. It's a clone of
12541@url{https://github.com/StarHack/go-internxt-drive}.")
12542 (license license:expat)))
12543
12544(define-public go-github-com-invopop-jsonschema
12545 (package
12546 (name "go-github-com-invopop-jsonschema")
12547 (version "0.14.0")
12548 (source
12549 (origin
12550 (method git-fetch)
12551 (uri (git-reference
12552 (url "https://github.com/invopop/jsonschema")
12553 (commit (string-append "v" version))))
12554 (file-name (git-file-name name version))
12555 (sha256
12556 (base32 "0y881agfaycn5l5qn2y2jmiskchi0cvn5v602hna4ljy9rv5jxw2"))))
12557 (build-system go-build-system)
12558 (arguments
12559 (list
12560 #:import-path "github.com/invopop/jsonschema"))
12561 (native-inputs
12562 (list go-github-com-stretchr-testify))
12563 (propagated-inputs
12564 (list go-github-com-pb33f-ordered-map-v2))
12565 (home-page "https://github.com/invopop/jsonschema")
12566 (synopsis "Go JSON Schema Reflection")
12567 (description
12568 "Package jsonschema uses reflection to generate JSON Schemas from Go types.")
12569 (license license:expat)))
12570
12571(define-public go-github-com-ipfs-go-cid
12572 (package
12573 (name "go-github-com-ipfs-go-cid")
12574 (version "0.4.1")
12575 (source
12576 (origin
12577 (method git-fetch)
12578 (uri (git-reference
12579 (url "https://github.com/ipfs/go-cid")
12580 (commit (string-append "v" version))))
12581 (file-name (git-file-name name version))
12582 (sha256
12583 (base32 "0gfd5dg0shj2daraai2kkf8sg24jp5cr6dsv857wp4q1ni612a23"))))
12584 (build-system go-build-system)
12585 (arguments
12586 (list
12587 #:import-path "github.com/ipfs/go-cid"))
12588 (propagated-inputs
12589 (list go-github-com-multiformats-go-multihash
12590 go-github-com-multiformats-go-multibase
12591 go-github-com-multiformats-go-varint))
12592 (home-page "https://github.com/ipfs/go-cid")
12593 (synopsis "Content ID v1 implemented in Go")
12594 (description
12595 "Implementation in Go of the @url{https://github.com/ipld/cid, CID spec}.
12596It is used in @code{go-ipfs} and related packages to refer to a typed hunk of
12597data.")
12598 (license license:expat)))
12599
12600(define-public go-github-com-ishidawataru-sctp
12601 (package
12602 (name "go-github-com-ishidawataru-sctp")
12603 (version "0.0.0-20251114114122-19ddcbc6aae2")
12604 (source
12605 (origin
12606 (method git-fetch)
12607 (uri (git-reference
12608 (url "https://github.com/ishidawataru/sctp")
12609 (commit (go-version->git-ref version))))
12610 (file-name (git-file-name name version))
12611 (sha256
12612 (base32 "04xp753kal8mb9sjxvcmal8x42q2x3ag9msk3af3f1gnfd0942r5"))))
12613 (build-system go-build-system)
12614 (arguments
12615 (list
12616 #:import-path "github.com/ishidawataru/sctp"
12617 ;; Every test but TestSCTPAddrString and TestResolveSCTPAddr opens an
12618 ;; SCTP socket, which fails with "protocol not supported" on a kernel
12619 ;; built without SCTP; the build environment cannot rely on it.
12620 #:test-flags
12621 #~(list "-skip" (string-join
12622 (list "TestDialUseControlFuncWithoutLocalAddress"
12623 "TestGetStatus"
12624 "TestGetStatusUsage"
12625 "TestListenUseControlFuncWithoutLocalAddress"
12626 "TestNotificationHandlerAssignmentOnDialing"
12627 "TestNotificationHandlerAssignmentOnListening"
12628 "TestSCTPCloseRecv"
12629 "TestSCTPConcurrentAccept"
12630 "TestSCTPListenerName"
12631 "TestSCTPListenerNameFromFd"
12632 "TestStreams"
12633 "TestSyscallConn")
12634 "|"))))
12635 (home-page "https://github.com/ishidawataru/sctp")
12636 (synopsis "SCTP support for Golang")
12637 (description
12638 "This package provides support for @acronym{SCTP,Stream Control
12639Transmission Protocol} support for Golang.")
12640 (license license:asl2.0)))
12641
12642(define-public go-github-com-jackpal-gateway
12643 (package
12644 (name "go-github-com-jackpal-gateway")
12645 (version "1.0.15")
12646 (source
12647 (origin
12648 (method git-fetch)
12649 (uri (git-reference
12650 (url "https://github.com/jackpal/gateway")
12651 (commit (string-append "v" version))))
12652 (file-name (git-file-name name version))
12653 (sha256
12654 (base32 "0dlspnbdz63b3kpavibd2764hdy53mx1v3vrqi721dsjy77r9ig3"))))
12655 (build-system go-build-system)
12656 (arguments
12657 (list
12658 #:import-path "github.com/jackpal/gateway"))
12659 (native-inputs
12660 (list go-github-com-stretchr-testify))
12661 (propagated-inputs
12662 (list go-golang-org-x-net))
12663 (home-page "https://github.com/jackpal/gateway")
12664 (synopsis "Discover the address of a LAN gateway")
12665 (description
12666 "@code{gateway} is a Go library for discovering the IP address of the
12667default LAN gateway.")
12668 (license license:bsd-3)))
12669
12670(define-public go-github-com-jackpal-go-nat-pmp
12671 (package
12672 (name "go-github-com-jackpal-go-nat-pmp")
12673 (version "1.0.2")
12674 (source
12675 (origin
12676 (method git-fetch)
12677 (uri (git-reference
12678 (url "https://github.com/jackpal/go-nat-pmp")
12679 (commit (string-append "v" version))))
12680 (file-name (git-file-name name version))
12681 (sha256
12682 (base32 "1p2yrzfbkazc9nisr2iqjwzhb6q16zj6finyxxn2ikk7iiighl1g"))))
12683 (build-system go-build-system)
12684 (arguments
12685 (list
12686 #:import-path "github.com/jackpal/go-nat-pmp"))
12687 (home-page "https://github.com/jackpal/go-nat-pmp")
12688 (synopsis "Port mapping and discovery of external IP address")
12689 (description
12690 "This package provides a Go client for the NAT-PMP internet protocol for
12691port mapping and discovering the external IP address of a firewall.")
12692 (license license:asl2.0)))
12693
12694(define-public go-github-com-jaytaylor-html2text
12695 (package
12696 (name "go-github-com-jaytaylor-html2text")
12697 (version "0.0.0-20230321000545-74c2419ad056")
12698 (source
12699 (origin
12700 (method git-fetch)
12701 (uri (git-reference
12702 (url "https://github.com/jaytaylor/html2text")
12703 (commit (go-version->git-ref version))))
12704 (file-name (git-file-name name version))
12705 (sha256
12706 (base32 "14r0ph8w4yxx129kfvj0qbx4cyid65md93qmwlz2cly4iwjnr7w2"))
12707 (modules '((guix build utils)))
12708 (snippet
12709 #~(begin
12710 ;; Module name has been changed upstream.
12711 (substitute* (find-files "." "\\.go$")
12712 (("jaytaylor.com/html2text") "github.com/jaytaylor/html2text"))))))
12713 (build-system go-build-system)
12714 (arguments
12715 (list
12716 #:import-path "github.com/jaytaylor/html2text"))
12717 (propagated-inputs
12718 (list go-golang-org-x-net
12719 go-github-com-olekukonko-tablewriter-0.0.5
12720 go-github-com-ssor-bom))
12721 (home-page "https://github.com/jaytaylor/html2text")
12722 (synopsis "Convert HTML emails to text")
12723 (description
12724 "The html2text package converts HTML emails to plain text, allowing
12725text-only mail clients to display them.")
12726 (license license:expat)))
12727
12728(define-public go-github-com-jcmturner-dnsutils-v2
12729 (package
12730 (name "go-github-com-jcmturner-dnsutils-v2")
12731 (version "2.0.0")
12732 (source
12733 (origin
12734 (method git-fetch)
12735 (uri (git-reference
12736 (url "https://github.com/jcmturner/dnsutils")
12737 (commit (string-append "v" version))))
12738 (file-name (git-file-name name version))
12739 (sha256
12740 (base32 "116zbgvfj88vv93fnapmmgyd5g8kzy774cdyzsnnzyzng92j61c9"))))
12741 (build-system go-build-system)
12742 (arguments
12743 '(#:import-path "github.com/jcmturner/dnsutils/v2"))
12744 (native-inputs
12745 (list go-github-com-stretchr-testify))
12746 (home-page "https://github.com/jcmturner/dnsutils")
12747 (synopsis "Go library with DNS utils")
12748 (description
12749 "The dnsutils package provides a Go function to return a map of Service
12750Records (SRV) in the order they should be used for a given service, protocol
12751and name. The order is determined by the records' priority and randomized
12752selection based on their relative weighting. This package is useful for
12753network applications that require accessing services using SRV records.")
12754 (license license:asl2.0)))
12755
12756(define-public go-github-com-jcmturner-goidentity-v6
12757 (package
12758 (name "go-github-com-jcmturner-goidentity-v6")
12759 (version "6.0.1")
12760 (source
12761 (origin
12762 (method git-fetch)
12763 (uri (git-reference
12764 (url "https://github.com/jcmturner/goidentity")
12765 (commit (string-append "v" version))))
12766 (file-name (git-file-name name version))
12767 (sha256
12768 (base32 "064ysvxvrvij843s7qj1nkzl5qc6j1qbrsb3s0zmwd1sa7vq8q1n"))))
12769 (build-system go-build-system)
12770 (arguments
12771 '(#:import-path "github.com/jcmturner/goidentity/v6"))
12772 (native-inputs
12773 (list go-github-com-stretchr-testify))
12774 (propagated-inputs
12775 (list go-github-com-hashicorp-go-uuid))
12776 (home-page "https://github.com/jcmturner/goidentity")
12777 (synopsis "Hold authenticated identities and their attributes")
12778 (description "This package provides a standard interface for holding
12779authenticated identities and their attributes.")
12780 (license license:asl2.0)))
12781
12782(define-public go-github-com-jcmturner-gokrb5-v8
12783 (package
12784 (name "go-github-com-jcmturner-gokrb5-v8")
12785 (version "8.4.4")
12786 (source
12787 (origin
12788 (method git-fetch)
12789 (uri (git-reference
12790 (url "https://github.com/jcmturner/gokrb5")
12791 (commit (string-append "v" version))))
12792 (file-name (git-file-name name version))
12793 (sha256
12794 (base32 "1rv495j8j2x6avw5hqpf7rpiakr5gdsx6pv8rfn0ff7vi35zfa62"))))
12795 (build-system go-build-system)
12796 (arguments
12797 (list
12798 #:import-path "github.com/jcmturner/gokrb5/v8"
12799 #:unpack-path "github.com/jcmturner/gokrb5"
12800 #:test-flags #~(list "-vet=off")))
12801 (native-inputs
12802 (list go-github-com-stretchr-testify))
12803 (propagated-inputs
12804 (list go-github-com-gorilla-sessions
12805 go-github-com-hashicorp-go-uuid
12806 go-github-com-jcmturner-aescts-v2
12807 go-github-com-jcmturner-dnsutils-v2
12808 go-github-com-jcmturner-gofork
12809 go-github-com-jcmturner-goidentity-v6
12810 go-github-com-jcmturner-rpc-v2
12811 go-golang-org-x-crypto))
12812 (home-page "https://github.com/jcmturner/gokrb5")
12813 (synopsis "Pure Go Kerberos library for clients and services")
12814 (description "This package provides a pure Go Kerberos library. It
12815features:
12816@itemize
12817@item Kerberos libraries for custom integration
12818@item Parsing Keytab files
12819@item Parsing krb5.conf files
12820@item Parsing client credentials cache files such as /tmp/krb5cc_$(id -u $(whoami))
12821@end itemize
12822
12823On the client side, it provides a client that can authenticate to an SPNEGO
12824Kerberos authenticated web service, and the ability to change client's
12825password.
12826
12827On the server side, the library provides a HTTP handler wrapper implements
12828SPNEGO Kerberos authentication, as well as a HTTP handler wrapper decodes
12829Microsoft AD PAC authorization data.")
12830 (license license:asl2.0)))
12831
12832(define-public go-github-com-jcmturner-rpc
12833 (package
12834 (name "go-github-com-jcmturner-rpc")
12835 (version "1.1.0")
12836 (source
12837 (origin
12838 (method git-fetch)
12839 (uri (git-reference
12840 (url "https://github.com/jcmturner/rpc")
12841 (commit (string-append "v" version))))
12842 (file-name (git-file-name name version))
12843 (sha256
12844 (base32 "0hkmvf8qdcifnzym8kv1xhq7lq0wpr0i6gzff159lh9xn0wfg175"))))
12845 (build-system go-build-system)
12846 (arguments
12847 (list
12848 #:import-path "gopkg.in/jcmturner/rpc.v1"
12849 #:phases
12850 #~(modify-phases %standard-phases
12851 (delete 'build)))) ; no go files in project's root
12852 (native-inputs
12853 (list go-github-com-stretchr-testify))
12854 (home-page "https://github.com/jcmturner/rpc")
12855 (synopsis "Remote Procedure Call libraries")
12856 (description
12857 "This package provides a partial Go implementation of the Remote Call
12858Procedure libraries, presented in
12859@@url{http://pubs.opengroup.org/onlinepubs/9629399/,CDE 1.1: Remote Procedure
12860Call}.")
12861 (license license:asl2.0)))
12862
12863(define-public go-github-com-jcmturner-rpc-v2
12864 (package
12865 (inherit go-github-com-jcmturner-rpc)
12866 (name "go-github-com-jcmturner-rpc-v2")
12867 (version "2.0.3")
12868 (source
12869 (origin
12870 (method git-fetch)
12871 (uri (git-reference
12872 (url "https://github.com/jcmturner/rpc")
12873 (commit (string-append "v" version))))
12874 (file-name (git-file-name name version))
12875 (sha256
12876 (base32 "1nm4j2nwcszghldw39rwdx2hr56i1lybfpv33y4gd67w6qcqbpsi"))))
12877 (arguments
12878 (list
12879 #:import-path "github.com/jcmturner/rpc/v2"
12880 #:unpack-path "github.com/jcmturner/rpc"
12881 #:phases
12882 #~(modify-phases %standard-phases
12883 (delete 'build)))) ; no go files in project's root
12884 (propagated-inputs
12885 (list go-golang-org-x-net))))
12886
12887(define-public go-github-com-jedisct1-go-dnsstamps
12888 (package
12889 (name "go-github-com-jedisct1-go-dnsstamps")
12890 (version "0.0.0-20260518121737-6579dc73e4a2")
12891 (source
12892 (origin
12893 (method git-fetch)
12894 (uri (git-reference
12895 (url "https://github.com/jedisct1/go-dnsstamps")
12896 (commit (go-version->git-ref version))))
12897 (file-name (git-file-name name version))
12898 (sha256
12899 (base32 "137h7s15y84z76f64h22s79pqv2z4sh4d29gm654dziyjdjcr2ml"))))
12900 (build-system go-build-system)
12901 (arguments
12902 (list
12903 #:import-path "github.com/jedisct1/go-dnsstamps"))
12904 (home-page "https://github.com/jedisct1/go-dnsstamps")
12905 (synopsis "DNS Stamps library for Go")
12906 (description "This package provide a DNS Stamps library for Go.")
12907 (license license:expat)))
12908
12909(define-public go-github-com-jedisct1-go-ipcrypt
12910 (package
12911 (name "go-github-com-jedisct1-go-ipcrypt")
12912 (version "0.1.2")
12913 (source
12914 (origin
12915 (method git-fetch)
12916 (uri (git-reference
12917 (url "https://github.com/jedisct1/go-ipcrypt")
12918 (commit (string-append "v" version))))
12919 (file-name (git-file-name name version))
12920 (sha256
12921 (base32 "0sk94l07kfiqqxzzkipsfr834949f3nys3b3vcsr9g7xzfxyg11p"))))
12922 (build-system go-build-system)
12923 (arguments
12924 (list
12925 #:import-path "github.com/jedisct1/go-ipcrypt"))
12926 (home-page "https://ipcrypt-std.github.io/")
12927 (synopsis "IP address encryption and obfuscation for Go")
12928 (description
12929 "Package ipcrypt implements IP address encryption and obfuscation methods
12930specified in @url{https://datatracker.ietf.org/doc/draft-denis-ipcrypt/,
12931ipcrypt document}.")
12932 (license license:isc)))
12933
12934(define-public go-github-com-jellydator-ttlcache-v3
12935 (package
12936 (name "go-github-com-jellydator-ttlcache-v3")
12937 ;; 3.4.0 (2025-06-17), the latest changes provide fix for
12938 ;; <https://github.com/jellydator/ttlcache/issues/207>.
12939 (properties '((commit . "87a96cbf94c3d009ac14d8f5747efb7239dc5631")
12940 (revision . "0")))
12941 (version (git-version "3.4.0"
12942 (assoc-ref properties 'revision)
12943 (assoc-ref properties 'commit)))
12944 (source
12945 (origin
12946 (method git-fetch)
12947 (uri (git-reference
12948 (url "https://github.com/jellydator/ttlcache")
12949 (commit (assoc-ref properties 'commit))))
12950 (file-name (git-file-name name version))
12951 (sha256
12952 (base32 "1z9si2sdq0xxq9vwlm4z58c43aypqs4d50kx03ghrnj46qkzl7d5"))))
12953 (build-system go-build-system)
12954 (arguments
12955 (list
12956 #:import-path "github.com/jellydator/ttlcache/v3"
12957 #:phases
12958 #~(modify-phases %standard-phases
12959 (add-after 'unpack 'remove-examples-and-benchmarks
12960 (lambda* (#:key tests? import-path #:allow-other-keys)
12961 (with-directory-excursion (string-append "src/" import-path)
12962 (delete-file-recursively "bench")
12963 (delete-file-recursively "examples")))))))
12964 (native-inputs
12965 (list go-github-com-stretchr-testify
12966 go-go-uber-org-goleak))
12967 (propagated-inputs
12968 (list go-golang-org-x-sync))
12969 (home-page "https://github.com/jellydator/ttlcache")
12970 (synopsis "In-memory cache with item expiration and generics")
12971 (description
12972 "TTLCache is an in-memory cache with item expiration and generics which
12973provides the following features:
12974
12975@itemize
12976@item simple API
12977@item type parameters
12978@item item expiration and automatic deletion
12979@item automatic expiration time extension on each Get call
12980@item loader interface that may be used to load/lazily initialize missing
12981citem items
12982@item thread safety
12983@item event handlers (insertion, update, and eviction)
12984@item metrics
12985@end itemize")
12986 (license license:expat)))
12987
12988(define-public go-github-com-jeremija-gosubmit
12989 (package
12990 (name "go-github-com-jeremija-gosubmit")
12991 (version "0.2.8")
12992 (source
12993 (origin
12994 (method git-fetch)
12995 (uri (git-reference
12996 (url "https://github.com/jeremija/gosubmit")
12997 (commit (string-append "v" version))))
12998 (file-name (git-file-name name version))
12999 (sha256
13000 (base32 "1x3m4ydwvw9875s9yx9xs6dj11zn02qzk2xknpy0875xfc62ypa7"))))
13001 (build-system go-build-system)
13002 (arguments
13003 (list
13004 #:import-path "github.com/jeremija/gosubmit"))
13005 (propagated-inputs
13006 (list go-golang-org-x-net))
13007 (home-page "https://github.com/jeremija/gosubmit")
13008 (synopsis "Go library for parsing and submitting HTML forms")
13009 (description
13010 "This package implements a functionality to help filling out plain html
13011forms during testing. Will automatically take the existing values from the
13012form so there is no need to manually set things like csrf tokens. Alerts
13013about missing required fields, or when pattern validation does not match.")
13014 (license license:expat)))
13015
13016(define-public go-github-com-jhillyerd-enmime
13017 (package
13018 (name "go-github-com-jhillyerd-enmime")
13019 (version "1.3.0")
13020 (source
13021 (origin
13022 (method git-fetch)
13023 (uri (git-reference
13024 (url "https://github.com/jhillyerd/enmime")
13025 (commit (string-append "v" version))))
13026 (file-name (git-file-name name version))
13027 (sha256
13028 (base32 "1mlgnk0y0d8njx7h66w6bhr95zh2ccg1hxlnm15i2lfh6l58s60q"))))
13029 (build-system go-build-system)
13030 (arguments
13031 (list
13032 #:import-path "github.com/jhillyerd/enmime"
13033 #:test-flags
13034 #~(list "-vet=off"
13035 ;; Failed to render email.
13036 "-skip" "TestReadMultiLineError")))
13037 (native-inputs
13038 (list go-github-com-go-test-deep
13039 go-github-com-stretchr-testify))
13040 (propagated-inputs
13041 (list go-github-com-cention-sany-utf7
13042 go-github-com-gogs-chardet
13043 go-github-com-jaytaylor-html2text
13044 go-github-com-pkg-errors
13045 go-golang-org-x-text))
13046 (home-page "https://github.com/jhillyerd/enmime")
13047 (synopsis "MIME encoder and decoder for Go")
13048 (description
13049 "The enmime package implements a MIME encoding and decoding library
13050geared towards parsing MIME encoded emails.")
13051 (license license:expat)))
13052
13053(define-public go-github-com-jhillyerd-enmime-v2
13054 (package
13055 (inherit go-github-com-jhillyerd-enmime)
13056 (name "go-github-com-jhillyerd-enmime-v2")
13057 (version "2.5.0")
13058 (source
13059 (origin
13060 (method git-fetch)
13061 (uri (git-reference
13062 (url "https://github.com/jhillyerd/enmime")
13063 (commit (string-append "v" version))))
13064 (file-name (git-file-name name version))
13065 (sha256
13066 (base32 "087rq6lqy9dm55g9c3z3iahzy9kdw35402s2l5lr053v1435rfvx"))))
13067 (arguments
13068 (list
13069 #:import-path "github.com/jhillyerd/enmime/v2"
13070 #:test-flags #~(list "-vet=off")))
13071 (propagated-inputs
13072 (list go-github-com-cention-sany-utf7
13073 go-github-com-gogs-chardet
13074 go-github-com-inbucket-html2text
13075 go-github-com-pkg-errors
13076 go-golang-org-x-text))))
13077
13078(define-public go-github-com-jlaffaye-ftp
13079 (package
13080 (name "go-github-com-jlaffaye-ftp")
13081 (version "0.2.0")
13082 (source
13083 (origin
13084 (method git-fetch)
13085 (uri (git-reference
13086 (url "https://github.com/jlaffaye/ftp")
13087 (commit (string-append "v" version))))
13088 (file-name (git-file-name name version))
13089 (sha256
13090 (base32 "0z9d1dxhx351158a22a08qbnfql7a1cajg6v3zm82m2rnp17ahir"))))
13091 (build-system go-build-system)
13092 (arguments
13093 (list
13094 #:import-path "github.com/jlaffaye/ftp"
13095 #:test-flags #~(list "-vet=off")))
13096 (native-inputs
13097 (list go-github-com-stretchr-testify))
13098 (propagated-inputs
13099 (list go-github-com-hashicorp-go-multierror))
13100 (home-page "https://github.com/jlaffaye/ftp")
13101 (synopsis "FTP client package for Go")
13102 (description
13103 "Package ftp implements a @acronym{File Transfer Protocol,FTP} client as
13104described in @url{https://www.rfc-editor.org/rfc/rfc959,RFC 959}.")
13105 (license license:isc)))
13106
13107(define-public go-github-com-jmespath-go-jmespath
13108 (package
13109 (name "go-github-com-jmespath-go-jmespath")
13110 (version "0.4.0")
13111 (source
13112 (origin
13113 (method git-fetch)
13114 (uri (git-reference
13115 (url "https://github.com/jmespath/go-jmespath")
13116 (commit (string-append "v" version))))
13117 (file-name (git-file-name name version))
13118 (sha256
13119 (base32 "18zyr9nlywmwp3wpzcjxrgq9s9d2mmc6zg6xhsna00m663nkyc3n"))))
13120 (build-system go-build-system)
13121 (arguments
13122 (list
13123 #:import-path "github.com/jmespath/go-jmespath"
13124 #:test-flags #~(list "-vet=off")))
13125 (native-inputs
13126 (list go-github-com-davecgh-go-spew
13127 go-github-com-pmezard-go-difflib
13128 go-github-com-stretchr-objx
13129 go-gopkg-in-yaml-v2))
13130 (home-page "https://github.com/jmespath/go-jmespath")
13131 (synopsis "Golang implementation of JMESPath")
13132 (description
13133 "This package implements JMESPath, a query language for JSON. It
13134transforms one JSON document into another through a JMESPath expression.")
13135 (license license:asl2.0)))
13136
13137(define-public go-github-com-johannesboyne-gofakes3
13138 (package
13139 (name "go-github-com-johannesboyne-gofakes3")
13140 (version "0.0.0-20260208201424-4c385a1f6a73")
13141 (source
13142 (origin
13143 (method git-fetch)
13144 (uri (git-reference
13145 (url "https://github.com/johannesboyne/gofakes3")
13146 (commit (go-version->git-ref version))))
13147 (file-name (git-file-name name version))
13148 (sha256
13149 (base32 "14h4wrryrn4darp2vg2kyh2rwz0p93y99plv7lyql9i50h351895"))))
13150 (build-system go-build-system)
13151 (arguments
13152 (list
13153 #:import-path "github.com/johannesboyne/gofakes3"))
13154 (native-inputs
13155 (list go-github-com-stretchr-testify
13156 go-go-shabbyrobe-org-gocovmerge))
13157 (propagated-inputs
13158 (list go-github-com-aws-aws-sdk-go-v2
13159 go-github-com-aws-aws-sdk-go-v2-config
13160 go-github-com-aws-aws-sdk-go-v2-credentials
13161 go-github-com-aws-aws-sdk-go-v2-feature-s3-manager
13162 go-github-com-aws-aws-sdk-go-v2-service-s3
13163 go-github-com-aws-smithy-go
13164 go-github-com-cevatbarisyilmaz-ara
13165 go-github-com-ryszard-goskiplist
13166 go-github-com-spf13-afero
13167 go-go-etcd-io-bbolt
13168 go-golang-org-x-tools
13169 go-gopkg-in-mgo-v2))
13170 (home-page "https://github.com/johannesboyne/gofakes3")
13171 (synopsis "Simple fake AWS S3 object storage")
13172 (description
13173 "AWS S3 fake server and testing library for extensive S3 test
13174integrations. Either by running a test-server, e.g. for testing of AWS Lambda
13175functions accessing S3. Or, to have a simple and convenience S3 mock- and
13176test-server.")
13177 (license license:expat)))
13178
13179(define-public go-github-com-jsimonetti-rtnetlink
13180 (package
13181 (name "go-github-com-jsimonetti-rtnetlink")
13182 (version "1.4.2")
13183 (source
13184 (origin
13185 (method git-fetch)
13186 (uri (git-reference
13187 (url "https://github.com/jsimonetti/rtnetlink")
13188 (commit (string-append "v" version))))
13189 (file-name (git-file-name name version))
13190 (sha256
13191 (base32 "19m8fcrcbw98gc191snfsi6qhb80jxnjhxzy8gppcwwg6732wmm1"))))
13192 (build-system go-build-system)
13193 (arguments
13194 (list
13195 #:import-path "github.com/jsimonetti/rtnetlink"))
13196 (native-inputs
13197 (list go-github-com-google-go-cmp))
13198 (propagated-inputs
13199 (list go-github-com-mdlayher-netlink go-golang-org-x-sys))
13200 (home-page "https://github.com/jsimonetti/rtnetlink")
13201 (synopsis "Low-level access to the Linux rtnetlink API")
13202 (description
13203 "This package allows the kernel's routing tables to be read and
13204altered. Network routes, IP addresses, Link parameters, Neighbor
13205setups,Queueing disciplines, Traffic classes and Packet classifiers may all be
13206controlled. It is based on netlink messages.")
13207 (license license:expat)))
13208
13209(define-public go-github-com-jsimonetti-rtnetlink-v2
13210 (package
13211 (inherit go-github-com-jsimonetti-rtnetlink)
13212 (name "go-github-com-jsimonetti-rtnetlink-v2")
13213 (version "2.0.2")
13214 (source
13215 (origin
13216 (method git-fetch)
13217 (uri (git-reference
13218 (url "https://github.com/jsimonetti/rtnetlink")
13219 (commit (string-append "v" version))))
13220 (file-name (git-file-name name version))
13221 (sha256
13222 (base32 "1lgx3kip6hiigahcnvjy7d1qqxbm2vnfh2m3zrpfkqkh03dl39x4"))))
13223 (arguments
13224 (list
13225 #:import-path "github.com/jsimonetti/rtnetlink/v2"))))
13226
13227(define-public go-github-com-json-iterator-go
13228 (package
13229 (name "go-github-com-json-iterator-go")
13230 (version "1.1.12")
13231 (source
13232 (origin
13233 (method git-fetch)
13234 (uri (git-reference
13235 (url "https://github.com/json-iterator/go")
13236 (commit (string-append "v" version))))
13237 (file-name (git-file-name name version))
13238 (sha256
13239 (base32 "1c8f0hxm18wivx31bs615x3vxs2j3ba0v6vxchsjhldc8kl311bz"))))
13240 (build-system go-build-system)
13241 (arguments
13242 (list
13243 #:import-path "github.com/json-iterator/go"
13244 #:test-flags
13245 #~(list "-skip" (string-join
13246 (list "Test_marshal/.53..b/string"
13247 "Test_marshal/.57._/string"
13248 "Test_string_encode_with_std_without_html_escape"
13249 "Test_symmetric/map.test.stringKeyType.string")
13250 "|")
13251 "-vet=off")))
13252 (native-inputs
13253 (list go-github-com-davecgh-go-spew
13254 go-github-com-google-gofuzz
13255 go-github-com-stretchr-testify))
13256 (propagated-inputs
13257 (list go-github-com-modern-go-concurrent
13258 go-github-com-modern-go-reflect2))
13259 (home-page "https://github.com/json-iterator/go")
13260 (synopsis "High-performance replacement for Golang @code{encoding/json}")
13261 (description
13262 "This package implements encoding and decoding of JSON as defined in
13263@uref{https://rfc-editor.org/rfc/rfc4627.html,RFC 4627} and provides
13264interfaces with identical syntax of standard lib encoding/json. Converting
13265from encoding/json to jsoniter is no more than replacing the package with
13266jsoniter and variable type declarations (if any). jsoniter interfaces gives
13267100% compatibility with code using standard lib.")
13268 (license license:expat)))
13269
13270(define-public go-github-com-jtolio-noiseconn
13271 (package
13272 (name "go-github-com-jtolio-noiseconn")
13273 (version "0.0.0-20231127013910-f6d9ecbf1de7")
13274 (source
13275 (origin
13276 (method git-fetch)
13277 (uri (git-reference
13278 (url "https://github.com/jtolio/noiseconn")
13279 (commit (go-version->git-ref version))))
13280 (file-name (git-file-name name version))
13281 (sha256
13282 (base32 "0xbki359wmmwn6sm5h9ixw28nzv74zcmkqxzabp46mkfv0qjsa85"))))
13283 (build-system go-build-system)
13284 (arguments
13285 (list
13286 #:import-path "github.com/jtolio/noiseconn"))
13287 (propagated-inputs
13288 (list go-github-com-dsnet-try
13289 go-github-com-flynn-noise
13290 go-github-com-zeebo-errs
13291 go-golang-org-x-sync))
13292 (home-page "https://github.com/jtolio/noiseconn")
13293 (synopsis "Simple Golang std @code{net.Conn} wrapper")
13294 (description
13295 "This package provides a @code{net.Conn} wrapper around
13296https://github.com/flynn/noise crypto protocols.")
13297 (license license:expat)))
13298
13299(define-public go-github-com-juju-ratelimit
13300 (package
13301 (name "go-github-com-juju-ratelimit")
13302 (version "1.0.2")
13303 (source
13304 (origin
13305 (method git-fetch)
13306 (uri (git-reference
13307 (url "https://github.com/juju/ratelimit")
13308 (commit (string-append "v" version))))
13309 (file-name (git-file-name name version))
13310 (sha256
13311 (base32 "1qbjcm4y53awkqmpxb1nm9c1xdylc44vph4mn30qjb5wrcqy7c1r"))))
13312 (build-system go-build-system)
13313 (arguments
13314 (list
13315 #:import-path "github.com/juju/ratelimit"))
13316 (native-inputs
13317 (list go-gopkg-in-check-v1))
13318 (home-page "https://github.com/juju/ratelimit")
13319 (synopsis "Efficient token bucket implementation")
13320 (description
13321 "The ratelimit package provides an efficient
13322@url{http://en.wikipedia.org/wiki/Token_bucket, token bucket} implementation
13323that can be used to limit the rate of arbitrary things.")
13324 (license license:lgpl3)))
13325
13326(define-public go-github-com-julienschmidt-httprouter
13327 (package
13328 (name "go-github-com-julienschmidt-httprouter")
13329 (version "1.3.0")
13330 (source
13331 (origin
13332 (method git-fetch)
13333 (uri (git-reference
13334 (url "https://github.com/julienschmidt/httprouter")
13335 (commit (string-append "v" version))))
13336 (file-name (git-file-name name version))
13337 (sha256
13338 (base32 "1a6sy0ysqknsjssjh7qg1dqn21xmj9a36c57nrk7srfmab4ffmk1"))))
13339 (build-system go-build-system)
13340 (arguments
13341 '(#:import-path "github.com/julienschmidt/httprouter"))
13342 (home-page "https://github.com/julienschmidt/httprouter")
13343 (synopsis "High performance HTTP request router")
13344 (description
13345 "Package @code{httprouter} is a trie based high performance HTTP request
13346router.")
13347 (license license:bsd-3)))
13348
13349(define-public go-github-com-justinas-alice
13350 (package
13351 (name "go-github-com-justinas-alice")
13352 (version "1.2.0")
13353 (source
13354 (origin
13355 (method git-fetch)
13356 (uri (git-reference
13357 (url "https://github.com/justinas/alice")
13358 (commit (string-append "v" version))))
13359 (file-name (git-file-name name version))
13360 (sha256
13361 (base32 "19l88vi13rqyhjl100zd5z26ghy4iln74kqfd3hsmd2nydz7manz"))))
13362 (build-system go-build-system)
13363 (arguments
13364 (list
13365 #:import-path "github.com/justinas/alice"))
13366 (home-page "https://github.com/justinas/alice")
13367 (synopsis "Middleware chaining for Golang")
13368 (description
13369 "Package alice provides a convenient way to chain HTTP handlers.")
13370 (license license:expat)))
13371
13372(define-public go-github-com-kankanreno-go-snowflake
13373 (package
13374 (name "go-github-com-kankanreno-go-snowflake")
13375 (version "1.2.0")
13376 (source
13377 (origin
13378 (method git-fetch)
13379 (uri (git-reference
13380 (url "https://github.com/kankanreno/go-snowflake")
13381 (commit (string-append "v" version))))
13382 (file-name (git-file-name name version))
13383 (sha256
13384 (base32 "1c78rqgyvgypk9crq5mfracmcmxj7611r17d483abhd398cg2pgg"))))
13385 (build-system go-build-system)
13386 (arguments
13387 (list
13388 #:tests? #f ;timed out or panic
13389 #:import-path "github.com/kankanreno/go-snowflake"))
13390 (home-page "https://github.com/kankanreno/go-snowflake")
13391 (synopsis "Lock Free ID Generator for Golang based on Snowflake Algorithm")
13392 (description
13393 "Package snowflake is a network service for generating unique ID numbers
13394at high scale with some simple guarantees. The ID generated by the snowflake
13395algorithm is not guaranteed to be unique. For example, when two different
13396requests enter the same machine at the same time, and the sequence generated
13397by the node is the same, the generated ID will be duplicated. It's an
13398alternative fork of @url{https://github.com/godruoyi/go-snowflake}.")
13399 (license license:expat)))
13400
13401(define-public go-github-com-knqyf263-go-plugin
13402 (package
13403 (name "go-github-com-knqyf263-go-plugin")
13404 (version "0.9.0")
13405 (source
13406 (origin
13407 (method git-fetch)
13408 (uri (git-reference
13409 (url "https://github.com/knqyf263/go-plugin")
13410 (commit (string-append "v" version))))
13411 (file-name (git-file-name name version))
13412 (sha256
13413 (base32 "1c81xa5zcwzbi5r1lf1phh53vpzgc1hq0lymwa741xn9qmj9g0ac"))))
13414 (build-system go-build-system)
13415 (arguments
13416 (list
13417 #:skip-build? #t
13418 #:build-flags
13419 #~(list (string-append "-ldflags=-X"
13420 " github.com/knqyf263/go-plugin/version.Version="
13421 #$version))
13422 #:test-flags
13423 ;; TODO: Figure out how to generate wasm files:
13424 ;; open plugin/plugin.wasm: no such file or directory
13425 #~(list "-skip" (string-join
13426 (list "TestEmpty"
13427 "TestEmptyRequest"
13428 "TestErrorResponse"
13429 "TestFields"
13430 "TestHostFunctions"
13431 "TestImport"
13432 "TestStd"
13433 "TestWellKnownTypes")
13434 "|"))
13435 #:import-path "github.com/knqyf263/go-plugin"
13436 #:phases
13437 #~(modify-phases %standard-phases
13438 (add-after 'unpack 'remove-examples
13439 (lambda* (#:key tests? import-path #:allow-other-keys)
13440 (with-directory-excursion (string-append "src/" import-path)
13441 (delete-file-recursively "examples")))))))
13442 (native-inputs
13443 (list go-github-com-stretchr-testify))
13444 (propagated-inputs
13445 (list go-github-com-planetscale-vtprotobuf
13446 go-github-com-tetratelabs-wazero
13447 go-google-golang-org-protobuf))
13448 (home-page "https://github.com/knqyf263/go-plugin")
13449 (synopsis "Golang Plugin System over WebAssembly")
13450 (description
13451 "This package provides a plugin system over @code{WebAssembly}. As a
13452 plugin is compiled to Wasm, it can be size-efficient, memory-safe, sandboxed
13453and portable. The plugin system auto-generates Go SDK for plugins from
13454@url{https://developers.google.com/protocol-buffers/docs/overview, Protocol
13455Buffers} files. While it is powered by Wasm, plugin authors/users don't have
13456to be aware of the Wasm specification since the raw Wasm APIs are capsulated
13457by the SDK.")
13458 (license license:expat)))
13459
13460(define-public go-github-com-kolo-xmlrpc
13461 (package
13462 (name "go-github-com-kolo-xmlrpc")
13463 (version "0.0.0-20220921171641-a4b6fa1dd06b")
13464 (source
13465 (origin
13466 (method git-fetch)
13467 (uri (git-reference
13468 (url "https://github.com/kolo/xmlrpc")
13469 (commit (go-version->git-ref version))))
13470 (file-name (git-file-name name version))
13471 (sha256
13472 (base32 "0nhcnqycdc52k4ymdd4g2chcimsnvr86m0yx13ws91qxs5pgs9d2"))))
13473 (build-system go-build-system)
13474 (arguments
13475 (list
13476 #:import-path "github.com/kolo/xmlrpc"))
13477 (propagated-inputs
13478 (list go-golang-org-x-text))
13479 (home-page "https://github.com/kolo/xmlrpc")
13480 (synopsis "Implementation of XMLRPC protocol in Golang")
13481 (description
13482 "This package provides an implementation of client side part of XMLRPC
13483protocol in Go language.")
13484 (license license:expat)))
13485
13486(define-public go-github-com-koofr-go-httpclient
13487 (package
13488 (name "go-github-com-koofr-go-httpclient")
13489 (version "0.0.0-20240520111329-e20f8f203988")
13490 (source
13491 (origin
13492 (method git-fetch)
13493 (uri (git-reference
13494 (url "https://github.com/koofr/go-httpclient")
13495 (commit (go-version->git-ref version))))
13496 (file-name (git-file-name name version))
13497 (sha256
13498 (base32 "1jl7k1254l9454bans3fjssvwmhm420f14rc7x5xmypdsphvwks0"))))
13499 (build-system go-build-system)
13500 (arguments
13501 (list
13502 #:import-path "github.com/koofr/go-httpclient"))
13503 (native-inputs
13504 (list go-github-com-onsi-gomega
13505 go-github-com-onsi-ginkgo-v2))
13506 (home-page "https://github.com/koofr/go-httpclient")
13507 (synopsis "HTTP client for Golang")
13508 (description "This packages implements a trivial HTTP client.")
13509 (license license:expat)))
13510
13511(define-public go-github-com-koofr-go-koofrclient
13512 (package
13513 (name "go-github-com-koofr-go-koofrclient")
13514 (version "0.0.0-20221207135200-cbd7fc9ad6a6")
13515 (source
13516 (origin
13517 (method git-fetch)
13518 (uri (git-reference
13519 (url "https://github.com/koofr/go-koofrclient")
13520 (commit (go-version->git-ref version))))
13521 (file-name (git-file-name name version))
13522 (sha256
13523 (base32 "1bsc587q33kl8bjp2j8is6hydp39vrzc3z0k6cx4kkxx40y0ya07"))))
13524 (build-system go-build-system)
13525 (arguments
13526 (list
13527 #:tests? #f ;Tests are out of date
13528 #:import-path "github.com/koofr/go-koofrclient"))
13529 (propagated-inputs
13530 (list go-github-com-koofr-go-httpclient
13531 go-github-com-onsi-ginkgo))
13532 (home-page "https://github.com/koofr/go-koofrclient")
13533 (synopsis "Koofr client for Golang")
13534 (description "This package provides a SDK implementing HTTP client for
13535@url{https://koofr.eu/, Koofr} cloud storage provider.")
13536 (license license:expat)))
13537
13538(define-public go-github-com-koron-go-ssdp
13539 (package
13540 (name "go-github-com-koron-go-ssdp")
13541 (version "0.1.0")
13542 (source
13543 (origin
13544 (method git-fetch)
13545 (uri (git-reference
13546 (url "https://github.com/koron/go-ssdp")
13547 (commit (string-append "v" version))))
13548 (file-name (git-file-name name version))
13549 (sha256
13550 (base32 "1777lrpxmrcbmqardmlcsz5zcqbvgsr4kfa5z1sqh8yx0nz9084m"))))
13551 (build-system go-build-system)
13552 (arguments
13553 (list
13554 #:import-path "github.com/koron/go-ssdp"
13555 #:test-flags
13556 #~(list "-skip"
13557 (string-join
13558 ;; Tests requiring network setup.
13559 (list "TestAdvertise_Alive"
13560 "TestAdvertise_Bye"
13561 "TestAnnounceAlive"
13562 "TestAnnounceBye"
13563 "TestInterfaces"
13564 "TestSearch_AdvetiserWithHost"
13565 "TestSearch_Request"
13566 "TestSearch_Response"
13567 "TestSearch_ServiceRawHeader")
13568 "|"))))
13569 (propagated-inputs
13570 (list go-golang-org-x-net))
13571 (home-page "https://github.com/koron/go-ssdp")
13572 (synopsis "SSDP library for Golang")
13573 (description
13574 "@code{go-ssdp} is a @url{https://tools.ietf.org/html/draft-cai-ssdp-v1-03,
13575@acronym{Simple Service Discovery Protocol, SSDP}} library for Golang.")
13576 (license license:expat)))
13577
13578(define-public go-github-com-kortschak-wol
13579 (package
13580 (name "go-github-com-kortschak-wol")
13581 (version "0.0.0-20200729010619-da482cc4850a")
13582 (source
13583 (origin
13584 (method git-fetch)
13585 (uri (git-reference
13586 (url "https://github.com/kortschak/wol")
13587 (commit (go-version->git-ref version))))
13588 (file-name (git-file-name name version))
13589 (sha256
13590 (base32 "16qyy1c1q5cxcnwdzl69v49pjmyxha4i88fsg0g83gwdyapzsyln"))))
13591 (build-system go-build-system)
13592 (arguments
13593 (list
13594 #:import-path "github.com/kortschak/wol"))
13595 (home-page "https://github.com/kortschak/wol")
13596 (synopsis "Wake On LAN client")
13597 (description
13598 "Package wol provides a Wake On LAN function.")
13599 (license license:bsd-3)))
13600
13601(define-public go-github-com-labbsr0x-goh
13602 (package
13603 (name "go-github-com-labbsr0x-goh")
13604 (version "1.0.1")
13605 (source
13606 (origin
13607 (method git-fetch)
13608 (uri (git-reference
13609 (url "https://github.com/labbsr0x/goh")
13610 (commit (string-append "v" version))))
13611 (file-name (git-file-name name version))
13612 (sha256
13613 (base32 "06yrd6ih6r0rkxyn88b66gfarjxsqmi3wzi8cgsxskq7mbah0iyp"))))
13614 (build-system go-build-system)
13615 (arguments
13616 (list
13617 #:skip-build? #t
13618 #:import-path "github.com/labbsr0x/goh"
13619 #:test-flags #~(list "-vet=off")))
13620 (propagated-inputs
13621 (list go-github-com-go-cmd-cmd
13622 go-github-com-go-errors-errors
13623 go-github-com-sirupsen-logrus))
13624 (home-page "https://github.com/labbsr0x/goh")
13625 (synopsis "Utility library for writing web hooks")
13626 (description
13627 "This package provides an utility library for writing extremely simple
13628webhooks in Golang.")
13629 (license license:expat)))
13630
13631(define-public go-github-com-labstack-echo-v4
13632 (package
13633 (name "go-github-com-labstack-echo-v4")
13634 (version "4.15.2")
13635 (source
13636 (origin
13637 (method git-fetch)
13638 (uri (git-reference
13639 (url "https://github.com/labstack/echo")
13640 (commit (string-append "v" version))))
13641 (file-name (git-file-name name version))
13642 (sha256
13643 (base32 "0dnnvafgi4vdfzfvfhyka78c6cbl2sq69jl0gj29slhdamy7f1yc"))))
13644 (build-system go-build-system)
13645 (arguments
13646 (list
13647 #:import-path "github.com/labstack/echo/v4"))
13648 (native-inputs
13649 (list go-github-com-stretchr-testify))
13650 (propagated-inputs
13651 (list go-github-com-labstack-gommon
13652 go-github-com-valyala-fasttemplate
13653 go-golang-org-x-crypto
13654 go-golang-org-x-net
13655 go-golang-org-x-time))
13656 (home-page "https://echo.labstack.com/")
13657 (synopsis "High performance, minimalist Go web framework")
13658 (description
13659 "Package echo implements a high performance, minimalist Go web framework.
13660Features:
13661@itemize
13662@item optimized HTTP router which smartly prioritize routes
13663@item build robust and scalable RESTful APIs
13664@item group APIs
13665@item extensible middleware framework
13666@item define middleware at root, group or route level
13667@item data binding for JSON, XML and form payload
13668@item handy functions to send variety of HTTP responses
13669@item centralized HTTP error handling
13670@item template rendering with any template engine
13671@item define your format for the logger
13672@item highly customizable
13673@item automatic TLS via Let’s Encrypt
13674@item HTTP/2 support
13675@end itemize")
13676 (license license:expat)))
13677
13678(define-public go-github-com-labstack-echo-v5
13679 (package
13680 (inherit go-github-com-labstack-echo-v4)
13681 (name "go-github-com-labstack-echo-v5")
13682 (version "5.1.1")
13683 (source
13684 (origin
13685 (method git-fetch)
13686 (uri (git-reference
13687 (url "https://github.com/labstack/echo")
13688 (commit (string-append "v" version))))
13689 (file-name (git-file-name name version))
13690 (sha256
13691 (base32 "1a7d9cmn6kchzl79cdldxxhanqqjpml1vvaw5ak6cwan6cn9gb5i"))))
13692 (arguments
13693 (list
13694 #:import-path "github.com/labstack/echo/v5"))
13695 (propagated-inputs
13696 (list go-golang-org-x-net
13697 go-golang-org-x-time))))
13698
13699(define-public go-github-com-lestrrat-go-httpcc
13700 (package
13701 (name "go-github-com-lestrrat-go-httpcc")
13702 (version "1.0.1")
13703 (source
13704 (origin
13705 (method git-fetch)
13706 (uri (git-reference
13707 (url "https://github.com/lestrrat-go/httpcc")
13708 (commit (string-append "v" version))))
13709 (file-name (git-file-name name version))
13710 (sha256
13711 (base32 "12wsr6ipl3h7iaq7s7a2mgkbli9z5zpxj9dxqhzqn33akb055i28"))))
13712 (build-system go-build-system)
13713 (arguments
13714 (list
13715 #:import-path "github.com/lestrrat-go/httpcc"))
13716 (native-inputs
13717 (list go-github-com-stretchr-testify))
13718 (home-page "https://github.com/lestrrat-go/httpcc")
13719 (synopsis "HTTP/1.1 Cache-Control header parser for Golang")
13720 (description
13721 "This package provides a Go library that parses HTTP/1.1 Cache-Control
13722header and returns a struct that is convenient for the end-user to do what
13723they will with.")
13724 (license license:expat)))
13725
13726(define-public go-github-com-lestrrat-go-httprc
13727 (package
13728 (name "go-github-com-lestrrat-go-httprc")
13729 (version "1.0.6")
13730 (source
13731 (origin
13732 (method git-fetch)
13733 (uri (git-reference
13734 (url "https://github.com/lestrrat-go/httprc")
13735 (commit (string-append "v" version))))
13736 (file-name (git-file-name name version))
13737 (sha256
13738 (base32 "19pvxzw3l1riz0lryyh4n8s4jk7ba6js7fvbcdpxl60gb69fpz3g"))))
13739 (build-system go-build-system)
13740 (arguments
13741 (list
13742 #:import-path "github.com/lestrrat-go/httprc"))
13743 (native-inputs
13744 (list go-github-com-stretchr-testify))
13745 (propagated-inputs
13746 (list go-github-com-lestrrat-go-httpcc
13747 go-github-com-lestrrat-go-option))
13748 (home-page "https://github.com/lestrrat-go/httprc")
13749 (synopsis "Quasi Up-to-date HTTP In-memory Cache ")
13750 (description
13751 "Package httprc implements a cache for resources available over http(s).
13752Its aim is not only to cache these resources so that it saves on HTTP
13753roundtrips, but it also periodically attempts to auto-refresh these resources
13754once they are cached based on the user-specified intervals and HTTP
13755@code{Expires} and @code{Cache-Control} headers, thus keeping the entries
13756relativelyfresh.")
13757 (license license:expat)))
13758
13759(define-public go-github-com-lestrrat-go-httprc-v3
13760 (package
13761 (inherit go-github-com-lestrrat-go-httprc)
13762 (name "go-github-com-lestrrat-go-httprc-v3")
13763 (version "3.0.1")
13764 (source
13765 (origin
13766 (method git-fetch)
13767 (uri (git-reference
13768 (url "https://github.com/lestrrat-go/httprc")
13769 (commit (string-append "v" version))))
13770 (file-name (git-file-name name version))
13771 (sha256
13772 (base32 "15kcs3qi55f5774k1sh0sx9vhg60cxkh9x2wb1frd6c7f7q4nkq7"))))
13773 (build-system go-build-system)
13774 (arguments
13775 (list
13776 #:import-path "github.com/lestrrat-go/httprc/v3"))))
13777
13778(define-public go-github-com-lestrrat-go-jwx
13779 (package
13780 (name "go-github-com-lestrrat-go-jwx")
13781 (version "1.2.31")
13782 (source
13783 (origin
13784 (method git-fetch)
13785 (uri (git-reference
13786 (url "https://github.com/lestrrat-go/jwx")
13787 (commit (string-append "v" version))))
13788 (file-name (git-file-name name version))
13789 (sha256
13790 (base32 "0ljbnw7fd9d5xggixrkx7fg9gs4jk23m6xkfy7s1rc7ljkh1n1qk"))
13791 (modules '((guix build utils)))
13792 (snippet
13793 #~(begin
13794 ;; Submodules with their own go.mod files and packaged separately:
13795 ;;
13796 ;; - github.com/lestrrat-go/jwx/cmd/jwx
13797 ;; - github.com/lestrrat-go/jwx/internal/cmd/genreadfile
13798 ;; - github.com/lestrrat-go/jwx/jwa/internal/cmd/gentypes
13799 ;; - github.com/lestrrat-go/jwx/jwe/internal/cmd/genheader
13800 ;; - github.com/lestrrat-go/jwx/jwk/internal/cmd/genheader
13801 ;; - github.com/lestrrat-go/jwx/jws/internal/cmd/genheader
13802 ;; - github.com/lestrrat-go/jwx/jwt/internal/cmd/gentoken
13803 (for-each delete-file-recursively
13804 (list "cmd/jwx"
13805 "internal/cmd/genreadfile"
13806 "jwa/internal/cmd/gentypes"
13807 "jwe/internal/cmd/genheader"
13808 "jwk/internal/cmd/genheader"
13809 "jws/internal/cmd/genheader"
13810 "jwt/internal/cmd/gentoken"))))))
13811 (build-system go-build-system)
13812 (arguments
13813 (list
13814 #:import-path "github.com/lestrrat-go/jwx"
13815 #:test-flags
13816 #~(list "-skip" (string-append
13817 ;; XXX: Not sure why these two tests fail.
13818 "TestGH664/Check_what_happens_when_primes_are_reduced_to_0"
13819 "|TestGH664/Check_what_happens_when_primes_are_reduced_to_1"))
13820 #:phases
13821 #~(modify-phases %standard-phases
13822 (add-after 'unpack 'remove-examples-and-benchmarks
13823 (lambda* (#:key tests? import-path #:allow-other-keys)
13824 (with-directory-excursion (string-append "src/" import-path)
13825 (delete-file-recursively "bench")
13826 (delete-file-recursively "examples")))))))
13827 (native-inputs
13828 (list go-github-com-stretchr-testify))
13829 (propagated-inputs
13830 (list go-github-com-decred-dcrd-dcrec-secp256k1-v4
13831 go-github-com-goccy-go-json
13832 go-github-com-lestrrat-go-backoff-v2
13833 go-github-com-lestrrat-go-blackmagic
13834 go-github-com-lestrrat-go-httpcc
13835 go-github-com-lestrrat-go-iter
13836 go-github-com-lestrrat-go-option
13837 go-github-com-pkg-errors
13838 go-golang-org-x-crypto))
13839 (home-page "https://github.com/lestrrat-go/jwx")
13840 (synopsis "Complete implementation of JWx in Golang")
13841 (description
13842 "This package provides implementations of various @acronym{JWx,
13843Javascript Object Signing and Encryption/JOSE} (JWA/JWE/JWK/JWS/JWT, otherwise
13844known as JOSE) technologies.")
13845 (license license:expat)))
13846
13847(define-public go-github-com-lestrrat-go-jwx-v2
13848 (package
13849 (inherit go-github-com-lestrrat-go-jwx)
13850 (name "go-github-com-lestrrat-go-jwx-v2")
13851 (version "2.1.6")
13852 (source
13853 (origin
13854 (method git-fetch)
13855 (uri (git-reference
13856 (url "https://github.com/lestrrat-go/jwx")
13857 (commit (string-append "v" version))))
13858 (file-name (git-file-name name version))
13859 (sha256
13860 (base32 "1qvi2z45pc2y97paw55vyb5q2ngrwczvxlkp0ccgxvpd73fbwmx9"))
13861 (modules '((guix build utils)))
13862 (snippet
13863 #~(begin
13864 ;; Submodules with their own go.mod files and packaged separately:
13865 ;;
13866 ;; - github.com/lestrrat-go/jwx/cmd/jwx
13867 ;; - github.com/lestrrat-go/jwx/tools/cmd/genjwa
13868 ;; - github.com/lestrrat-go/jwx/tools/cmd/genjwe
13869 ;; - github.com/lestrrat-go/jwx/tools/cmd/genjwk
13870 ;; - github.com/lestrrat-go/jwx/tools/cmd/genjws
13871 ;; - github.com/lestrrat-go/jwx/tools/cmd/genjwt
13872 ;; - github.com/lestrrat-go/jwx/tools/cmd/genoptions
13873 ;; - github.com/lestrrat-go/jwx/tools/cmd/genreadfile
13874 (for-each delete-file-recursively
13875 (list "cmd/jwx"
13876 "tools/cmd"))))))
13877 (build-system go-build-system)
13878 (arguments
13879 (substitute-keyword-arguments
13880 (package-arguments go-github-com-lestrrat-go-jwx)
13881 ((#:import-path _) "github.com/lestrrat-go/jwx/v2")))
13882 (propagated-inputs
13883 (list go-github-com-decred-dcrd-dcrec-secp256k1-v4
13884 go-github-com-goccy-go-json
13885 go-github-com-lestrrat-go-blackmagic
13886 go-github-com-lestrrat-go-httprc
13887 go-github-com-lestrrat-go-iter
13888 go-github-com-lestrrat-go-option
13889 go-github-com-segmentio-asm
13890 go-golang-org-x-crypto))))
13891
13892(define-public go-github-com-lestrrat-go-jwx-v3
13893 (package
13894 (inherit go-github-com-lestrrat-go-jwx)
13895 (name "go-github-com-lestrrat-go-jwx-v3")
13896 (version "3.2.0")
13897 (source
13898 (origin
13899 (method git-fetch)
13900 (uri (git-reference
13901 (url "https://github.com/lestrrat-go/jwx")
13902 (commit (string-append "v" version))))
13903 (file-name (git-file-name name version))
13904 (sha256
13905 (base32 "1y4l2rgir1hyr2zmmbw5ilzwqpc5lj3qpp7viq7l2wqfjaka0fca"))
13906 (modules '((guix build utils)))
13907 (snippet
13908 #~(begin
13909 ;; Submodules with their own go.mod files and packaged separately:
13910 (for-each delete-file-recursively
13911 (list "cmd/jwx"
13912 "tools/cmd"))))))
13913 (build-system go-build-system)
13914 (arguments
13915 (substitute-keyword-arguments arguments
13916 ((#:import-path _) "github.com/lestrrat-go/jwx/v3")
13917 ((#:test-flags test-flags #~(list))
13918 ;; Refresh should not deadlock (got context deadline exceeded,
13919 ;; indicating workers are stuck)
13920 #~(list "-skip" "TestGH1551"))))
13921 (propagated-inputs
13922 (list go-github-com-decred-dcrd-dcrec-secp256k1-v4
13923 go-github-com-goccy-go-json
13924 go-github-com-lestrrat-go-blackmagic
13925 go-github-com-lestrrat-go-dsig
13926 go-github-com-lestrrat-go-dsig-secp256k1
13927 go-github-com-lestrrat-go-httprc-v3
13928 go-github-com-lestrrat-go-option-v2
13929 go-github-com-segmentio-asm
13930 go-github-com-valyala-fastjson
13931 go-golang-org-x-crypto))))
13932
13933(define-public go-github-com-letsencrypt-boulder
13934 (package
13935 (name "go-github-com-letsencrypt-boulder")
13936 (version "0.20260202.0")
13937 (source
13938 (origin
13939 (method git-fetch)
13940 (uri (git-reference
13941 (url "https://github.com/letsencrypt/boulder")
13942 (commit (string-append "v" version))))
13943 (file-name (git-file-name name version))
13944 (sha256
13945 (base32 "1n8pg1bnxb7ajpjs93ji8vibaqx5rs5wyv082klajdx80pz7mbks"))
13946 (snippet
13947 #~(begin (use-modules (guix build utils))
13948 (delete-file-recursively "vendor")))))
13949 (build-system go-build-system)
13950 (arguments
13951 (list
13952 #:skip-build? #t
13953 #:import-path "github.com/letsencrypt/boulder"
13954 #:test-subdirs
13955 ;; XXX: Remove when all inputs are packaged.
13956 #~(list "allowlist"
13957 "core"
13958 "crl/idp"
13959 "csr"
13960 "errors"
13961 "goodkey"
13962 "goodkey/sagoodkey"
13963 "grpc/creds"
13964 "grpc/internal/leakcheck"
13965 "grpc/noncebalancer"
13966 "iana"
13967 "identifier"
13968 "linter/lints"
13969 "linter/lints/cabf_br"
13970 "linter/lints/cpcps"
13971 "linter/lints/rfc"
13972 "log/validator"
13973 "metrics/measured_http"
13974 "must"
13975 "nonce"
13976 "pkcs11helpers"
13977 "policy"
13978 "precert"
13979 "privatekey"
13980 "probs"
13981 "salesforce"
13982 "sfe/forms"
13983 "sfe/zendesk"
13984 "strictyaml"
13985 "test/load-generator/acme"
13986 "test/zendeskfake")))
13987 (propagated-inputs
13988 (list go-github-com-aws-aws-sdk-go-v2
13989 go-github-com-aws-aws-sdk-go-v2-config
13990 go-github-com-aws-aws-sdk-go-v2-service-s3
13991 go-github-com-aws-smithy-go
13992 go-github-com-eggsampler-acme-v3
13993 go-github-com-go-jose-go-jose-v4
13994 go-github-com-go-logr-stdr
13995 go-github-com-go-sql-driver-mysql
13996 go-github-com-golang-groupcache
13997 go-github-com-grpc-ecosystem-go-grpc-middleware-providers-prometheus
13998 go-github-com-jmhodges-clock
13999 go-github-com-letsencrypt-borp
14000 go-github-com-letsencrypt-challtestsrv
14001 go-github-com-letsencrypt-pkcs11key-v4
14002 go-github-com-letsencrypt-validator-v10
14003 go-github-com-miekg-dns
14004 go-github-com-miekg-pkcs11
14005 go-github-com-nxadm-tail
14006 go-github-com-prometheus-client-golang
14007 go-github-com-prometheus-client-model
14008 go-github-com-redis-go-redis-v9
14009 go-github-com-titanous-rocacheck
14010 go-github-com-weppos-publicsuffix-go
14011 go-github-com-zmap-zcrypto
14012 go-github-com-zmap-zlint-v3
14013 go-go-opentelemetry-io-contrib-instrumentation-google-golang-org-grpc-otelgrpc
14014 go-go-opentelemetry-io-contrib-instrumentation-net-http-otelhttp
14015 go-go-opentelemetry-io-otel
14016 go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc
14017 go-go-opentelemetry-io-otel-sdk
14018 go-go-opentelemetry-io-otel-trace
14019 go-golang-org-x-crypto
14020 go-golang-org-x-net
14021 go-golang-org-x-term
14022 go-golang-org-x-text
14023 go-golang-org-x-time
14024 go-google-golang-org-grpc
14025 go-google-golang-org-protobuf
14026 go-gopkg-in-yaml-v3
14027
14028 ;; TODO: Complete packaging
14029 ;; go-github-com-google-certificate-transparency-go
14030 #;go-github-com-redis-go-redis-extra-redisotel-v9))
14031 (home-page "https://github.com/letsencrypt/boulder")
14032 (synopsis "ACME-based certificate authority used by Let's Encrypt")
14033 (description
14034 "Boulder is the software that runs @url{https://letsencrypt.org,Let's
14035Encrypt} certificate authority. This package provides the goodkey subpackage
14036for checking RSA and ECDSA public keys for common weaknesses.")
14037 (license license:mpl2.0)
14038 ;; XXX: Don't expose since it's a partial package.
14039 (properties '((hidden? . #t)))))
14040
14041(define-public go-github-com-letsencrypt-challtestsrv
14042 (package
14043 (name "go-github-com-letsencrypt-challtestsrv")
14044 (version "1.3.3")
14045 (source
14046 (origin
14047 (method git-fetch)
14048 (uri (git-reference
14049 (url "https://github.com/letsencrypt/challtestsrv")
14050 (commit (string-append "v" version))))
14051 (file-name (git-file-name name version))
14052 (sha256
14053 (base32 "03g5bvifxijhg9kw4qrs3x3h48m6q6s9a14w7172s1mwshmyr0wi"))))
14054 (build-system go-build-system)
14055 (arguments
14056 (list
14057 #:import-path "github.com/letsencrypt/challtestsrv"))
14058 (propagated-inputs
14059 (list go-github-com-miekg-dns))
14060 (home-page "https://github.com/letsencrypt/challtestsrv")
14061 (synopsis "Challenge Test Server")
14062 (description
14063 "Package challtestsrv provides a trivially insecure acme challenge response
14064server for rapidly testing HTTP-01, DNS-01 and TLS-ALPN-01 challenge types.")
14065 (license license:mpl2.0)))
14066
14067(define-public go-github-com-letsencrypt-pebble-v2
14068 (package
14069 (name "go-github-com-letsencrypt-pebble-v2")
14070 (version "2.8.0")
14071 (source
14072 (origin
14073 (method git-fetch)
14074 (uri (git-reference
14075 (url "https://github.com/letsencrypt/pebble")
14076 (commit (string-append "v" version))))
14077 (file-name (git-file-name name version))
14078 (sha256
14079 (base32 "17jqkmgh8hl4cazslnjc90blzncqv5g2h0nf1bihpc26x7an3xqx"))))
14080 (build-system go-build-system)
14081 (arguments
14082 (list
14083 #:skip-build? #t
14084 #:import-path "github.com/letsencrypt/pebble/v2"))
14085 (propagated-inputs
14086 (list go-github-com-go-jose-go-jose-v4
14087 go-github-com-letsencrypt-challtestsrv
14088 go-github-com-miekg-dns))
14089 (home-page "https://github.com/letsencrypt/pebble")
14090 (synopsis "RFC 8555 ACME test server")
14091 (description
14092 "This package provides a miniature version of
14093@url{https://github.com/letsencrypt/boulder, Boulder}, Pebble is a small
14094@url{https://github.com/ietf-wg-acme/acme, ACME} test server not suited for
14095use as a production CA.")
14096 (license license:mpl2.0)))
14097
14098(define-public go-github-com-levigross-grequests
14099 (package
14100 (name "go-github-com-levigross-grequests")
14101 (version "0.0.0-20231203190023-9c307ef1f48d")
14102 (source
14103 (origin
14104 (method git-fetch)
14105 (uri (git-reference
14106 (url "https://github.com/levigross/grequests")
14107 (commit (go-version->git-ref version))))
14108 (file-name (git-file-name name version))
14109 (sha256
14110 (base32 "13r24vrcgfkps8r09crjlhsywpxs8bnnmlgn5qhbhqiqag754xdc"))))
14111 (build-system go-build-system)
14112 (arguments
14113 (list
14114 #:tests? #f ; most of them need network access
14115 #:embed-files #~(list "children" "nodes" "text")
14116 #:import-path "github.com/levigross/grequests"))
14117 (propagated-inputs
14118 (list go-github-com-google-go-querystring
14119 go-golang-org-x-net))
14120 (home-page "https://github.com/levigross/grequests")
14121 (synopsis "Requests library for Golang")
14122 (description
14123 "Package grequests implements a friendly API over Go's existing
14124@code{net/http} library.")
14125 (license license:asl2.0)))
14126
14127(define-public go-github-com-libdns-libdns
14128 (package
14129 (name "go-github-com-libdns-libdns")
14130 (version "0.2.2")
14131 (source
14132 (origin
14133 (method git-fetch)
14134 (uri (git-reference
14135 (url "https://github.com/libdns/libdns")
14136 (commit (string-append "v" version))))
14137 (file-name (git-file-name name version))
14138 (sha256
14139 (base32 "00zx6yij1ac8mhswhsks1nchzgmhbzrsm9hr0faqbmx0vkip78j5"))))
14140 (build-system go-build-system)
14141 (arguments
14142 (list
14143 #:import-path "github.com/libdns/libdns"))
14144 (native-inputs (list go-github-com-stretchr-testify))
14145 (propagated-inputs (list go-golang-org-x-exp))
14146 (home-page "https://github.com/libdns/libdns")
14147 (synopsis "Universal DNS provider APIs for Go")
14148 (description
14149 "@code{libdns} is a collection of free-range DNS provider client
14150implementations. It defines the core interfaces that provider packages should
14151implement. They are small and idiomatic interfaces with well-defined semantics.
14152
14153The interfaces include:
14154@itemize
14155@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordGetter, RecordGetter} to
14156list records.
14157@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordAppender,
14158RecordAppender} to append new records.
14159@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordSetter, RecordSetter} to
14160set (create or change existing) records.
14161@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordDeleter, RecordDeleter}
14162to delete records.
14163@end itemize")
14164 (license license:expat)))
14165
14166(define-public go-github-com-libp2p-go-flow-metrics
14167 (package
14168 (name "go-github-com-libp2p-go-flow-metrics")
14169 (version "0.1.0")
14170 (source
14171 (origin
14172 (method git-fetch)
14173 (uri (git-reference
14174 (url "https://github.com/libp2p/go-flow-metrics")
14175 (commit (string-append "v" version))))
14176 (file-name (git-file-name name version))
14177 (sha256
14178 (base32 "13yb68vrcn2zdi0mjjh17dphfxl6y99bkq0ia53hasyfj6l6626h"))))
14179 (build-system go-build-system)
14180 (arguments
14181 ;; XXX: Tests may hang sometimes, see
14182 ;; <https://github.com/libp2p/go-flow-metrics/issues/30>.
14183 (list
14184 #:import-path "github.com/libp2p/go-flow-metrics"))
14185 (propagated-inputs
14186 (list go-github-com-benbjohnson-clock))
14187 (home-page "https://github.com/libp2p/go-flow-metrics")
14188 (synopsis "Simple library for tracking flow metrics")
14189 (description
14190 "A simple alternative to rcrowley's @command{go-metrics} that's a lot
14191faster (and only does simple bandwidth metrics).")
14192 (license license:expat)))
14193
14194(define-public go-github-com-libp2p-go-libp2p-asn-util
14195 (package
14196 (name "go-github-com-libp2p-go-libp2p-asn-util")
14197 (version "0.4.1")
14198 (source
14199 (origin
14200 (method git-fetch)
14201 (uri (git-reference
14202 (url "https://github.com/libp2p/go-libp2p-asn-util")
14203 (commit (string-append "v" version))))
14204 (file-name (git-file-name name version))
14205 (sha256
14206 (base32 "1c94sq43bl1kp04lllcfrfyiy5z3zcfz0s65sm1vgb2s40zrwpr7"))
14207 (modules '((guix build utils)))
14208 (snippet
14209 #~(begin
14210 ;; Delete generated binary file.
14211 (delete-file "sorted-network-list.bin")))))
14212 (build-system go-build-system)
14213 (arguments
14214 (list
14215 #:import-path "github.com/libp2p/go-libp2p-asn-util"
14216 #:phases
14217 #~(modify-phases %standard-phases
14218 (add-after 'unpack 'generate-sorted-network-list
14219 (lambda* (#:key import-path #:allow-other-keys)
14220 (with-directory-excursion (string-append "src/" import-path)
14221 (setenv "ASN_IPV6_FILE"
14222 (string-append
14223 #$(this-package-native-input "specification-ip2asn-v6")
14224 "/share/data/ip2asn-v6.tsv"))
14225 (invoke "go" "run" "./generate/")))))))
14226 (native-inputs
14227 (list go-github-com-stretchr-testify
14228 specification-ip2asn-v6))
14229 (propagated-inputs
14230 (list go-golang-org-x-exp))
14231 (home-page "https://github.com/libp2p/go-libp2p-asn-util")
14232 (synopsis "Golang library for IP to ASN mapping")
14233 (description
14234 "@code{go-libp2p-asn-util} is a Golang library to lookup the
14235@acronym{ASN, Autonomous System Number} for an IP address. It uses the IPv6
14236to ASN database downloaded from https://iptoasn.com/. Supports only IPv6
14237addresses for now.")
14238 (license license:expat)))
14239
14240(define-public go-github-com-libp2p-go-nat
14241 (package
14242 (name "go-github-com-libp2p-go-nat")
14243 (version "0.2.0")
14244 (source
14245 (origin
14246 (method git-fetch)
14247 (uri (git-reference
14248 (url "https://github.com/libp2p/go-nat")
14249 (commit (string-append "v" version))))
14250 (file-name (git-file-name name version))
14251 (sha256
14252 (base32 "1yyb3knxvfr7fi759nh7mhh88ap1jpkb7nky7niqrh75737phgh0"))))
14253 (build-system go-build-system)
14254 (arguments
14255 (list
14256 #:import-path "github.com/libp2p/go-nat"))
14257 (propagated-inputs
14258 (list go-github-com-huin-goupnp
14259 go-github-com-jackpal-go-nat-pmp
14260 go-github-com-koron-go-ssdp
14261 go-github-com-libp2p-go-netroute))
14262 (home-page "https://github.com/libp2p/go-nat")
14263 (synopsis "NAT port mapping library for Golang")
14264 (description
14265 "Package @code{go-nat} implements NAT handling facilities.")
14266 (license license:asl2.0)))
14267
14268(define-public go-github-com-libp2p-go-netroute
14269 (package
14270 (name "go-github-com-libp2p-go-netroute")
14271 (version "0.4.0")
14272 (source
14273 (origin
14274 (method git-fetch)
14275 (uri (git-reference
14276 (url "https://github.com/libp2p/go-netroute")
14277 (commit (string-append "v" version))))
14278 (file-name (git-file-name name version))
14279 (sha256
14280 (base32 "1k292b2ka0nydp74mzxiad6dc9czf0dg4r1nr2889yqgj19l24mx"))))
14281 (build-system go-build-system)
14282 (arguments
14283 (list
14284 #:tests? #f ;network access is required
14285 #:import-path "github.com/libp2p/go-netroute"))
14286 (propagated-inputs
14287 (list go-golang-org-x-net
14288 go-golang-org-x-sys))
14289 (home-page "https://github.com/libp2p/go-netroute")
14290 (synopsis "Routing table abstraction library for Golang")
14291 (description
14292 "@code{go-netroute} provides an implementation of the
14293@url{https://godoc.org/github.com/google/gopacket/routing#Router,
14294gopacket/routing.Router} interface for Golang.")
14295 (license license:bsd-3)))
14296
14297(define-public go-github-com-libp2p-go-reuseport
14298 (package
14299 (name "go-github-com-libp2p-go-reuseport")
14300 (version "0.4.0")
14301 (source
14302 (origin
14303 (method git-fetch)
14304 (uri (git-reference
14305 (url "https://github.com/libp2p/go-reuseport")
14306 (commit (string-append "v" version))))
14307 (file-name (git-file-name name version))
14308 (sha256
14309 (base32 "012kgriw1bchf0apk6ff4y34n9mffbh0cmi15348v9vj3h4w3sa5"))))
14310 (build-system go-build-system)
14311 (arguments
14312 (list
14313 #:import-path "github.com/libp2p/go-reuseport"))
14314 (native-inputs
14315 (list go-github-com-stretchr-testify))
14316 (propagated-inputs
14317 (list go-github-com-google-gopacket
14318 go-golang-org-x-net
14319 go-golang-org-x-sys))
14320 (home-page "https://github.com/libp2p/go-reuseport")
14321 (synopsis "Reuse TCP/UDP ports in Golang")
14322 (description
14323 "@code{go-reuseport} enables listening and dialing from the same TCP or
14324UDP port. This means that @code{SO_REUSEADDR} and @code{SO_REUSEPORT} socket
14325options may be set. This is particularly important when attempting to do TCP
14326NAT hole-punching, which requires a process to both @code{Listen} and
14327@code{Dial} on the same TCP port. @code{go-reuseport} provides some utilities
14328around enabling this behaviour on various operating systems.")
14329 (license license:isc)))
14330
14331(define-public go-github-com-libp2p-go-yamux-v4
14332 (package
14333 (name "go-github-com-libp2p-go-yamux-v4")
14334 (version "4.0.2")
14335 (source
14336 (origin
14337 (method git-fetch)
14338 (uri (git-reference
14339 (url "https://github.com/libp2p/go-yamux")
14340 (commit (string-append "v" version))))
14341 (file-name (git-file-name name version))
14342 (sha256
14343 (base32 "1jrj7pamcs8s6pd6c8dhkfv3a8cdjhb0kamcxa9cgv79n8rnyp86"))))
14344 (build-system go-build-system)
14345 (arguments
14346 (list
14347 #:import-path "github.com/libp2p/go-yamux/v4"
14348 #:test-flags
14349 ;; Test fails on ARM with error: [ERR] yamux: Failed to read stream data
14350 ;; on stream 1: receive window exceeded (remain: 262144, recv:
14351 ;; 33554432).
14352 #~(list #$@(if (target-arm?)
14353 '("-skip" "TestSendData_VeryLarge")
14354 '()))))
14355 (native-inputs
14356 (list go-github-com-stretchr-testify))
14357 (propagated-inputs
14358 (list go-github-com-libp2p-go-buffer-pool))
14359 (home-page "https://github.com/libp2p/go-yamux")
14360 (synopsis "Reuse TCP/UDP ports in Golang")
14361 (description
14362 "Yamux (Yet another Multiplexer) is a multiplexing library for Golang.
14363It relies on an underlying connection to provide reliability and ordering,
14364such as TCP or Unix domain sockets, and provides stream-oriented multiplexing.
14365It is inspired by SPDY but is not interoperable with it.")
14366 (license (list license:mpl2.0 license:bsd-3))))
14367
14368(define-public go-github-com-libp2p-go-yamux-v5
14369 (package
14370 (inherit go-github-com-libp2p-go-yamux-v4)
14371 (name "go-github-com-libp2p-go-yamux-v5")
14372 (version "5.1.0")
14373 (source
14374 (origin
14375 (method git-fetch)
14376 (uri (git-reference
14377 (url "https://github.com/libp2p/go-yamux")
14378 (commit (string-append "v" version))))
14379 (file-name (git-file-name name version))
14380 (sha256
14381 (base32 "0m9cvbkm90ba7wmyy5kfrb26wba1pbbp1miyvd0s15cjzs2gw2mf"))))
14382 (build-system go-build-system)
14383 (arguments
14384 (substitute-keyword-arguments
14385 (package-arguments go-github-com-libp2p-go-yamux-v4)
14386 ((#:import-path _) "github.com/libp2p/go-yamux/v5")))))
14387
14388(define-public go-github-com-libp2p-zeroconf-v2
14389 (package
14390 (name "go-github-com-libp2p-zeroconf-v2")
14391 (version "2.2.0")
14392 (source
14393 (origin
14394 (method git-fetch)
14395 (uri (git-reference
14396 (url "https://github.com/libp2p/zeroconf")
14397 (commit (string-append "v" version))))
14398 (file-name (git-file-name name version))
14399 (sha256
14400 (base32 "0xrqdi7s8296963zh7gz450ivbniar7723xlr8v9nh90cyy1ah3r"))))
14401 (build-system go-build-system)
14402 (arguments
14403 (list
14404 #:tests? #f ; it requires netwok setup
14405 #:import-path "github.com/libp2p/zeroconf/v2"))
14406 (propagated-inputs
14407 (list go-github-com-miekg-dns go-golang-org-x-net))
14408 (home-page "https://github.com/libp2p/zeroconf")
14409 (synopsis "mDNS/DNS-SD Service Discovery in pure Golang")
14410 (description
14411 "This package implements a service discovery functionality specified in
14412@url{https://tools.ietf.org/html/rfc6762, RFC 6762} (mDNS) and
14413@url{https://tools.ietf.org/html/rfc6763, RFC 6763} (DNS-SD) standards which
14414intends to be compatible with Avahi.")
14415 (license license:expat)))
14416
14417(define-public go-github-com-lifenjoiner-dhcpdns
14418 (package
14419 (name "go-github-com-lifenjoiner-dhcpdns")
14420 (version "0.0.7")
14421 (source
14422 (origin
14423 (method git-fetch)
14424 (uri (git-reference
14425 (url "https://github.com/lifenjoiner/dhcpdns")
14426 (commit (string-append "v" version))))
14427 (file-name (git-file-name name version))
14428 (sha256
14429 (base32 "12jmhcqfi992vhmz295m4yrhh5hhifxzc6b57p3zy287s562c52g"))))
14430 (build-system go-build-system)
14431 (arguments
14432 (list
14433 #:import-path "github.com/lifenjoiner/dhcpdns"))
14434 (home-page "https://github.com/lifenjoiner/dhcpdns")
14435 (synopsis "Go package to get the DHCP DNS")
14436 (description
14437 "This package provide a Go package to get the Dynamic Host Configuration
14438Protocol and Domain Name System.")
14439 (license license:expat)))
14440
14441(define-public go-github-com-linbit-golinstor
14442 (package
14443 (name "go-github-com-linbit-golinstor")
14444 (version "0.56.2")
14445 (source
14446 (origin
14447 (method git-fetch)
14448 (uri (git-reference
14449 (url "https://github.com/LINBIT/golinstor")
14450 (commit (string-append "v" version))))
14451 (file-name (git-file-name name version))
14452 (sha256
14453 (base32 "00aviasdygy6c4wmfpn7whbhryc3gf3dmcjnkzp6w933izyvydw8"))))
14454 (build-system go-build-system)
14455 (arguments
14456 (list
14457 #:import-path "github.com/LINBIT/golinstor"))
14458 (native-inputs
14459 (list go-github-com-stretchr-testify))
14460 (propagated-inputs
14461 (list go-github-com-burntsushi-toml
14462 go-github-com-donovanhide-eventsource
14463 go-github-com-google-go-querystring
14464 go-github-com-sirupsen-logrus
14465 go-golang-org-x-time
14466 go-moul-io-http2curl-v2))
14467 (home-page "https://github.com/LINBIT/golinstor")
14468 (synopsis "Golang bindings for @code{linstor}")
14469 (description
14470 "This package provides bindgings to Java
14471@url{https://github.com/LINBIT/linstor-server, Linstore} - Software-Defined
14472Block Storage for container, cloud and virtualisation.")
14473 (license license:asl2.0)))
14474
14475(define-public go-github-com-linuxkit-virtsock
14476 (package
14477 (name "go-github-com-linuxkit-virtsock")
14478 (version "0.0.0-20241009230534-cb6a20cc0422")
14479 (source
14480 (origin
14481 (method git-fetch)
14482 (uri (git-reference
14483 (url "https://github.com/linuxkit/virtsock")
14484 (commit (go-version->git-ref version))))
14485 (file-name (git-file-name name version))
14486 (sha256
14487 (base32 "08f8m6jnq76p1996wbf5kw8s1p9g3ix373rb4f46n9qg1qang4bl"))
14488 (modules '((guix build utils)))
14489 (snippet '(delete-file-recursively "vendor"))))
14490 (build-system go-build-system)
14491 (arguments
14492 (list
14493 #:skip-build? #t
14494 #:test-flags
14495 #~(list "-vet=off") ;[email protected] forces vet, but tests are not ready yet.
14496 #:import-path "github.com/linuxkit/virtsock"))
14497 (propagated-inputs (list go-golang-org-x-sys))
14498 (home-page "https://github.com/linuxkit/virtsock")
14499 (synopsis "Virtio and Hyper-V sockets bindings for Golang")
14500 (description
14501 "This package contains Go bindings and sample code for
14502@url{https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/develop/make_mgmt_service,
14503Hyper-V sockets} and @url{http://stefanha.github.io/virtio/, virtio
14504sockets}.")
14505 (license license:asl2.0)))
14506
14507(define-public go-github-com-loft-sh-admin-apis
14508 (package
14509 (name "go-github-com-loft-sh-admin-apis")
14510 (version "0.0.0-20260212114730-dbda80c541d7")
14511 (source
14512 (origin
14513 (method git-fetch)
14514 (uri (git-reference
14515 (url "https://github.com/loft-sh/admin-apis")
14516 (commit (go-version->git-ref version))))
14517 (file-name (git-file-name name version))
14518 (sha256
14519 (base32 "1s6njnn7xfk7jbf1sw3rfhrwhdp8ln37anqrnpjjc09fjzax7ish"))))
14520 (build-system go-build-system)
14521 (arguments
14522 (list
14523 #:skip-build? #t
14524 #:import-path "github.com/loft-sh/admin-apis"))
14525 (propagated-inputs
14526 (list go-github-com-ghodss-yaml
14527 go-github-com-stripe-stripe-go-v81))
14528 (home-page "https://github.com/loft-sh/admin-apis")
14529 (synopsis "Loft admin API definitions")
14530 (description
14531 "This package provides admin API definitions for the Loft platform.")
14532 (license license:asl2.0)))
14533
14534(define-public go-github-com-lum8rjack-go-ja4h
14535 (package
14536 (name "go-github-com-lum8rjack-go-ja4h")
14537 (version "0.0.0-20250828030157-fa5266d50650")
14538 (source
14539 (origin
14540 (method git-fetch)
14541 (uri (git-reference
14542 (url "https://github.com/lum8rjack/go-ja4h")
14543 (commit (go-version->git-ref version))))
14544 (file-name (git-file-name name version))
14545 (sha256
14546 (base32 "079qh3lj6a8jr90g170lc36b878hqfyi94azqs8fl0wnj2fzzcs3"))))
14547 (build-system go-build-system)
14548 (arguments
14549 (list
14550 #:import-path "github.com/lum8rjack/go-ja4h"))
14551 (home-page "https://github.com/lum8rjack/go-ja4h")
14552 (synopsis "JA4H Fingerprint in Golang")
14553 (description
14554 "This Package provides an implementation of the
14555@url{https://github.com/FoxIO-LLC/ja4, JA4HTTP (JA4H) hashing algorithm}.")
14556 (license license:expat)))
14557
14558(define-public go-github-com-macronut-go-tproxy
14559 (package
14560 (name "go-github-com-macronut-go-tproxy")
14561 (version "0.0.0-20190726054950-ef7efd7f24ed")
14562 (source
14563 (origin
14564 (method git-fetch)
14565 (uri (git-reference
14566 (url "https://github.com/FutureProtocolLab/go-tproxy")
14567 (commit (go-version->git-ref version))))
14568 (file-name (git-file-name name version))
14569 (sha256
14570 (base32 "0jibsg0xhsn0h1jq4g9qd4nr58w43y8majlwfri9ffk2cbfrwqdr"))
14571 (modules '((guix build utils)))
14572 (snippet '(delete-file-recursively "example"))))
14573 (build-system go-build-system)
14574 (arguments
14575 (list
14576 #:import-path "github.com/macronut/go-tproxy"))
14577 (home-page "https://github.com/FutureProtocolLab/go-tproxy")
14578 (synopsis "Linux Transparent Proxy library")
14579 (description
14580 "Golang TProxy provides an easy to use wrapper for the Linux Transparent
14581Proxy functionality.")
14582 (license license:expat)))
14583
14584(define-public go-github-com-magisterquis-connectproxy
14585 (package
14586 (name "go-github-com-magisterquis-connectproxy")
14587 (version "0.0.0-20200725203833-3582e84f0c9b")
14588 (source
14589 (origin
14590 (method git-fetch)
14591 (uri (git-reference
14592 (url "https://github.com/magisterquis/connectproxy")
14593 (commit (go-version->git-ref version))))
14594 (file-name (git-file-name name version))
14595 (sha256
14596 (base32 "19l94ahyg33z186fiymbjdc8pb0rzknz46xs3rb7wzqq84mni4p5"))))
14597 (build-system go-build-system)
14598 (arguments
14599 (list
14600 #:import-path "github.com/magisterquis/connectproxy"))
14601 (native-inputs
14602 (list go-github-com-gorilla-websocket))
14603 (propagated-inputs
14604 (list go-golang-org-x-net))
14605 (home-page "https://github.com/magisterquis/connectproxy")
14606 (synopsis "Golang @code{proxy.Dialer} which uses HTTP(s) CONNECT requests")
14607 (description
14608 "This package implements a @code{proxy.Dialer} which uses HTTP(s) CONNECT
14609requests.")
14610 (license license:zlib)))
14611
14612(define-public go-github-com-mailru-easyjson
14613 (package
14614 (name "go-github-com-mailru-easyjson")
14615 (version "0.9.1")
14616 (source
14617 (origin
14618 (method git-fetch)
14619 (uri (git-reference
14620 (url "https://github.com/mailru/easyjson")
14621 (commit (string-append "v" version))))
14622 (file-name (git-file-name name version))
14623 (sha256
14624 (base32 "053nsr9q363l4f2ql54a6m8hx4zvglvad76paas8qx78wsyrzav8"))))
14625 (build-system go-build-system)
14626 (arguments
14627 (list
14628 #:import-path "github.com/mailru/easyjson"
14629 ;; XXX: All tests in "tests" directory fail, figure out why.
14630 #:test-subdirs #~(list ".")
14631 #:phases
14632 #~(modify-phases %standard-phases
14633 (add-after 'unpack 'remove-benchmarks
14634 (lambda* (#:key import-path #:allow-other-keys)
14635 (with-directory-excursion (string-append "src/" import-path)
14636 (delete-file-recursively "benchmark")))))))
14637 (propagated-inputs
14638 (list go-github-com-josharian-intern))
14639 (home-page "https://github.com/mailru/easyjson")
14640 (synopsis "JSON serializer for Golang")
14641 (description
14642 "Package @code{easyjson} implements functionality to marshal/unmarshal
14643Golang structs to/from JSON without the use of reflection. It also aims to
14644keep generated Go code simple enough so that it can be easily optimized or
14645fixed.")
14646 (license license:expat)))
14647
14648(define-public go-github-com-makeworld-the-better-one-go-gemini
14649 (package
14650 (name "go-github-com-makeworld-the-better-one-go-gemini")
14651 (version "0.13.1")
14652 (source
14653 (origin
14654 (method git-fetch)
14655 (uri (git-reference
14656 (url "https://github.com/makew0rld/go-gemini")
14657 (commit (string-append "v" version))))
14658 (file-name (git-file-name name version))
14659 (sha256
14660 (base32 "196rxfg7w8s3zn87gra1mxh1l8iav6kdmg909gkbnc9cxip65zc0"))))
14661 (build-system go-build-system)
14662 (propagated-inputs
14663 (list go-github-com-google-go-cmp
14664 go-golang-org-x-net
14665 go-golang-org-x-text))
14666 (arguments
14667 (list
14668 #:import-path "github.com/makeworld-the-better-one/go-gemini"
14669 #:test-flags #~(list "-vet=off")))
14670 (home-page "https://github.com/makew0rld/go-gemini")
14671 (synopsis "Client/server library for the Gemini protocol, in Go")
14672 (description
14673 "@code{go-gemini} is a library that provides an easy interface to create
14674clients that speak the Gemini protocol.")
14675 (license license:isc)))
14676
14677(define-public go-github-com-makeworld-the-better-one-go-gemini-socks5
14678 (package
14679 (name "go-github-com-makeworld-the-better-one-go-gemini-socks5")
14680 (version "1.0.0")
14681 (source
14682 (origin
14683 (method git-fetch)
14684 (uri (git-reference
14685 (url "https://github.com/makew0rld/go-gemini-socks5")
14686 (commit (string-append "v" version))))
14687 (file-name (git-file-name name version))
14688 (sha256
14689 (base32 "0r8iljs12nhyn3nk5dzsji9hi88fivashbrcb5d42x5rvzry15px"))))
14690 (build-system go-build-system)
14691 (arguments
14692 (list
14693 #:import-path "github.com/makeworld-the-better-one/go-gemini-socks5"))
14694 (propagated-inputs
14695 (list go-golang-org-x-net))
14696 (home-page "https://github.com/makeworld-the-better-one/go-gemini-socks5")
14697 (synopsis "SOCKS5 proxy for go-gemini")
14698 (description
14699 "This package provides SOCKS5 proxy for
14700@@url{https://github.com/makeworld-the-better-one/go-gemini,go-gemini}.")
14701 (license license:expat)))
14702
14703(define-public go-github-com-mark3labs-mcp-go
14704 (package
14705 (name "go-github-com-mark3labs-mcp-go")
14706 (version "0.8.3")
14707 (source
14708 (origin
14709 (method git-fetch)
14710 (uri (git-reference
14711 (url "https://github.com/mark3labs/mcp-go")
14712 (commit (string-append "v" version))))
14713 (file-name (git-file-name name version))
14714 (sha256
14715 (base32 "0ijd4cj6nqsqr4fds0ckjjl2hvid71w28fp3dcsjamgggy303mgx"))))
14716 (build-system go-build-system)
14717 (arguments
14718 (list
14719 #:import-path "github.com/mark3labs/mcp-go"
14720 #:skip-build? #t))
14721 (propagated-inputs (list go-github-com-google-uuid))
14722 (native-inputs
14723 (list go-github-com-stretchr-testify))
14724 (home-page "https://github.com/mark3labs/mcp-go")
14725 (synopsis "Model Context Protocol implementation in Go")
14726 (description
14727 "This package implements the Model Context Protocol, including clients and
14728servers using standard transports.")
14729 (license license:expat)))
14730
14731(define-public go-github-com-markbates-goth
14732 (package
14733 (name "go-github-com-markbates-goth")
14734 (version "1.82.0")
14735 (source
14736 (origin
14737 (method git-fetch)
14738 (uri (git-reference
14739 (url "https://github.com/markbates/goth")
14740 (commit (string-append "v" version))))
14741 (file-name (git-file-name name version))
14742 (sha256
14743 (base32 "0f5bgdpm4vpb6jsjr2z0v7xlwg3kgy6h7jhw6mq619bdkl5hv5zd"))))
14744 (build-system go-build-system)
14745 (arguments
14746 (list
14747 #:import-path "github.com/markbates/goth"))
14748 (native-inputs
14749 (list go-github-com-jarcoal-httpmock
14750 go-github-com-stretchr-testify))
14751 (propagated-inputs
14752 (list go-github-com-go-chi-chi-v5
14753 go-github-com-golang-jwt-jwt-v5
14754 go-github-com-gorilla-mux
14755 go-github-com-gorilla-pat
14756 go-github-com-gorilla-sessions
14757 go-github-com-lestrrat-go-jwx
14758 go-github-com-markbates-going
14759 go-github-com-mrjones-oauth
14760 go-golang-org-x-oauth2))
14761 (home-page "https://github.com/markbates/goth")
14762 (synopsis "Multi-Provider Authentication for Go")
14763 (description
14764 "Package goth provides a idiomatic way to write authentication packages
14765for Go web applications.")
14766 (license license:expat)))
14767
14768(define-public go-github-com-marten-seemann-tcp
14769 (package
14770 (name "go-github-com-marten-seemann-tcp")
14771 (version "0.0.0-20210406111302-dfbc87cc63fd")
14772 (source
14773 (origin
14774 (method git-fetch)
14775 (uri (git-reference
14776 (url "https://github.com/marten-seemann/tcp")
14777 (commit (go-version->git-ref version))))
14778 (file-name (git-file-name name version))
14779 (sha256
14780 (base32 "0l03l7vx5j641bsgqzlcdshmsi7m1x0yny8i81hx5c5fbg5c25zx"))))
14781 (build-system go-build-system)
14782 (arguments
14783 (list
14784 #:import-path "github.com/marten-seemann/tcp"
14785 #:test-flags
14786 #~(list "-skip"
14787 (string-join
14788 ;; Test fails with error: couldn't initialize from a wrapped
14789 ;; conn: unknown connection type.
14790 (list "TestWrappedConn"
14791 ;; Get "https://golang.org/robots.txt": dial tcp: lookup
14792 ;; golang.org on [::1]:53: read udp
14793 ;; [::1]:56806->[::1]:53: read: connection refused
14794 "TestInfo"
14795 ;; Test fails on ARM with error: raw-control tcp
14796 ;; 127.0.0.1:49386: getsockopt: protocol not available.
14797 #$@(if (target-arm?)
14798 '("TestConcurrentReadWriteAndInfo")
14799 '()))
14800 "|"))))
14801 (native-inputs
14802 (list go-golang-org-x-net))
14803 (propagated-inputs
14804 (list go-github-com-mikioh-tcp))
14805 (home-page "https://github.com/marten-seemann/tcp")
14806 (synopsis "TCP-level socket options implementation in Golang")
14807 (description
14808 "This package provides a TCP-level socket options that allow manipulation
14809of TCP connection facilities.")
14810 (license license:bsd-2)))
14811
14812(define-public go-github-com-mattbaird-jsonpatch
14813 (package
14814 (name "go-github-com-mattbaird-jsonpatch")
14815 (version "0.0.0-20240118010651-0ba75a80ca38")
14816 (source
14817 (origin
14818 (method git-fetch)
14819 (uri (git-reference
14820 (url "https://github.com/mattbaird/jsonpatch")
14821 (commit (go-version->git-ref version))))
14822 (file-name (git-file-name name version))
14823 (sha256
14824 (base32 "1nxbrpk8bvvmfgl4sfsbx82g0q44i2sakl7vigbsj3prx6nql5iv"))))
14825 (build-system go-build-system)
14826 (arguments
14827 (list
14828 #:import-path "github.com/mattbaird/jsonpatch"))
14829 (native-inputs
14830 (list go-github-com-evanphx-json-patch go-github-com-stretchr-testify))
14831 (home-page "https://github.com/mattbaird/jsonpatch")
14832 (synopsis "JSON Patch library for Go")
14833 (description
14834 "@url{http://jsonpatch.com/, JSON Patch} implementation for Go as
14835specified in @url{https://datatracker.ietf.org/doc/html/rfc6902/, RFC 6902}
14836from the IETF.
14837
14838JSON Patch allows you to generate JSON that describes changes you want to make
14839to a document, so you don't have to send the whole doc. JSON Patch format is
14840supported by HTTP PATCH method, allowing for standards based partial updates
14841via REST APIs.")
14842 (license license:asl2.0)))
14843
14844(define-public go-github-com-matterbridge-gomatrix
14845 (package
14846 (name "go-github-com-matterbridge-gomatrix")
14847 (version "0.0.0-20220411225302-271e5088ea27")
14848 (source
14849 (origin
14850 (method git-fetch)
14851 (uri (git-reference
14852 (url "https://github.com/matterbridge/gomatrix")
14853 (commit (go-version->git-ref version))))
14854 (file-name (git-file-name name version))
14855 (sha256
14856 (base32 "08y6kbsa9cs4d9qckwg85i64gz7jbv606gqk4sk09172bzaxzsm1"))))
14857 (build-system go-build-system)
14858 (arguments
14859 (list
14860 #:import-path "github.com/matterbridge/gomatrix"))
14861 (home-page "https://github.com/matterbridge/gomatrix")
14862 (synopsis "Golang Matrix client")
14863 (description
14864 "Package gomatrix implements the Matrix Client-Server API. This package
14865is an alternative fork of not maintained
14866https://github.com/matrix-org/gomatrix project.")
14867 (license license:asl2.0)))
14868
14869(define-public go-github-com-mattn-go-ieproxy
14870 (package
14871 (name "go-github-com-mattn-go-ieproxy")
14872 (version "0.0.12")
14873 (source
14874 (origin
14875 (method git-fetch)
14876 (uri (git-reference
14877 (url "https://github.com/mattn/go-ieproxy")
14878 (commit (string-append "v" version))))
14879 (file-name (git-file-name name version))
14880 (sha256
14881 (base32 "1cqfjq106vdm9l9ddb4pps001wxwzabrq2q82f9dimszfq0my8av"))))
14882 (build-system go-build-system)
14883 (arguments
14884 (list
14885 #:import-path "github.com/mattn/go-ieproxy"))
14886 (propagated-inputs
14887 (list go-golang-org-x-net
14888 go-golang-org-x-sys))
14889 (home-page "https://github.com/mattn/go-ieproxy")
14890 (synopsis "Detect the proxy settings from Golang")
14891 (description
14892 "Package ieproxy is a utility to retrieve the proxy parameters.")
14893 (license license:expat)))
14894
14895(define-public go-github-com-mattn-go-mastodon
14896 (package
14897 (name "go-github-com-mattn-go-mastodon")
14898 (version "0.0.9")
14899 (source
14900 (origin
14901 (method git-fetch)
14902 (uri (git-reference
14903 (url "https://github.com/mattn/go-mastodon")
14904 (commit (string-append "v" version))))
14905 (file-name (git-file-name name version))
14906 (sha256
14907 (base32 "05hnh5359awm5x7qbaf8fvf772p2hc781alfqnp7ymr4rjfk3pql"))
14908 (modules '((guix build utils)))
14909 (snippet
14910 #~(begin
14911 ;; Submodules with their own go.mod files and packaged separately:
14912 ;;
14913 ;; - github.com/mattn/go-mastodon/cmd/mstd
14914 (delete-file-recursively "cmd")))))
14915 (build-system go-build-system)
14916 (arguments
14917 (list
14918 #:import-path "github.com/mattn/go-mastodon"))
14919 (propagated-inputs
14920 (list go-github-com-gorilla-websocket
14921 go-github-com-tomnomnom-linkheader))
14922 (home-page "https://github.com/mattn/go-mastodon")
14923 (synopsis "Mastodon client for golang")
14924 (description
14925 "Package mastodon provides functions and structs for accessing the
14926mastodon API.")
14927 (license license:expat)))
14928
14929(define-public go-github-com-mattn-go-xmlrpc
14930 (package
14931 (name "go-github-com-mattn-go-xmlrpc")
14932 (version "0.0.3")
14933 (source
14934 (origin
14935 (method git-fetch)
14936 (uri (git-reference
14937 (url "https://github.com/mattn/go-xmlrpc")
14938 (commit (string-append "v" version))))
14939 (file-name (git-file-name name version))
14940 (sha256
14941 (base32 "0hv843qf8lzyn01mgk4lwwhirzpzpz33a1cz2ws998shhvq75dvg"))))
14942 (build-system go-build-system)
14943 (arguments
14944 (list
14945 #:import-path "github.com/mattn/go-xmlrpc"))
14946 (home-page "https://github.com/mattn/go-xmlrpc")
14947 (synopsis "XML RPC interface for Golang")
14948 (description
14949 "This package implements XML RPC interface for Go programming
14950language.")
14951 (license license:expat)))
14952
14953(define-public go-github-com-mattn-godown
14954 (package
14955 (name "go-github-com-mattn-godown")
14956 (version "0.0.1")
14957 (source
14958 (origin
14959 (method git-fetch)
14960 (uri (git-reference
14961 (url "https://github.com/mattn/godown")
14962 (commit (string-append "v" version))))
14963 (file-name (git-file-name name version))
14964 (sha256
14965 (base32 "1f979h6z13nwwx42ahhqv3d4q2ywpg4l7v03qhnr9zaw319jjaln"))))
14966 (build-system go-build-system)
14967 (arguments
14968 (list
14969 #:import-path "github.com/mattn/godown"))
14970 (propagated-inputs
14971 (list go-github-com-mattn-go-runewidth
14972 go-golang-org-x-net))
14973 (home-page "https://github.com/mattn/godown")
14974 (synopsis "Convert HTML into Markdown")
14975 (description
14976 "This package provides a functionality to convert HTML into Markdown.")
14977 (license license:expat)))
14978
14979(define-public go-github-com-mattn-goveralls
14980 (package
14981 (name "go-github-com-mattn-goveralls")
14982 (version "0.0.12")
14983 (source
14984 (origin
14985 (method git-fetch)
14986 (uri (git-reference
14987 (url "https://github.com/mattn/goveralls")
14988 (commit (string-append "v" version))))
14989 (file-name (git-file-name name version))
14990 (sha256
14991 (base32 "16jszydip2abwc0fws3sz5yzyy87w8mbkhzm2wzb8ijpjhk1by79"))))
14992 (build-system go-build-system)
14993 (arguments
14994 (list
14995 #:import-path "github.com/mattn/goveralls"
14996 ;; Test requires git.
14997 #:test-flags #~(list "-skip" "TestShowArg/with_show")))
14998 (propagated-inputs
14999 (list go-golang-org-x-mod
15000 go-golang-org-x-tools))
15001 (home-page "https://github.com/mattn/goveralls")
15002 (synopsis "Golang client for Coveralls.io")
15003 (description
15004 "This package provides a client for @url{http://coveralls.io/
15005Coveralls.io} continuous code coverage tracking system.")
15006 (license license:expat)))
15007
15008(define-public go-github-com-mdlayher-arp
15009 (package
15010 (name "go-github-com-mdlayher-arp")
15011 (version "0.0.0-20220512170110-6706a2966875")
15012 (source
15013 (origin
15014 (method git-fetch)
15015 (uri (git-reference
15016 (url "https://github.com/mdlayher/arp")
15017 (commit (go-version->git-ref version))))
15018 (file-name (git-file-name name version))
15019 (sha256
15020 (base32 "18gi06d387pwpl1krlb3y47c2i2rip4n604gv9k9ark3lh9maavx"))))
15021 (build-system go-build-system)
15022 (arguments
15023 (list
15024 #:import-path "github.com/mdlayher/arp"))
15025 (propagated-inputs
15026 (list go-github-com-mdlayher-ethernet
15027 go-github-com-mdlayher-packet))
15028 (home-page "https://github.com/mdlayher/arp")
15029 (synopsis "Implementation of the ARP protocol in Golang")
15030 (description
15031 "Package arp implements the ARP protocol, as described in
15032@url{https://rfc-editor.org/rfc/rfc826.html, RFC 826}.")
15033 (license license:expat)))
15034
15035(define-public go-github-com-mdlayher-ethernet
15036 (package
15037 (name "go-github-com-mdlayher-ethernet")
15038 (version "0.0.0-20220221185849-529eae5b6118")
15039 (source
15040 (origin
15041 (method git-fetch)
15042 (uri (git-reference
15043 (url "https://github.com/mdlayher/ethernet")
15044 (commit (go-version->git-ref version))))
15045 (file-name (git-file-name name version))
15046 (sha256
15047 (base32 "154jx1i5g5nphzlbx0hr2v0rhhri2p9z80hjnnngbzcqzmy1npbm"))))
15048 (build-system go-build-system)
15049 (arguments
15050 (list
15051 #:import-path "github.com/mdlayher/ethernet"))
15052 (propagated-inputs
15053 (list go-github-com-mdlayher-packet))
15054 (home-page "https://github.com/mdlayher/ethernet")
15055 (synopsis "Encode/decode of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags")
15056 (description
15057 "Package ethernet implements marshaling and unmarshaling of IEEE 802.3
15058Ethernet II frames and IEEE 802.1Q VLAN tags.")
15059 (license license:expat)))
15060
15061(define-public go-github-com-mdlayher-ethtool
15062 (package
15063 (name "go-github-com-mdlayher-ethtool")
15064 (version "0.2.0")
15065 (source
15066 (origin
15067 (method git-fetch)
15068 (uri (git-reference
15069 (url "https://github.com/mdlayher/ethtool")
15070 (commit (string-append "v" version))))
15071 (file-name (git-file-name name version))
15072 (sha256
15073 (base32 "1pwm4cg1yf364k0c4i0jrrvgn82k14b163xcvnm3bvpglfbcy2ks"))))
15074 (build-system go-build-system)
15075 (arguments
15076 (list
15077 #:import-path "github.com/mdlayher/ethtool"))
15078 (native-inputs
15079 (list go-github-com-google-go-cmp))
15080 (propagated-inputs
15081 (list go-github-com-josharian-native
15082 go-github-com-mdlayher-genetlink
15083 go-github-com-mdlayher-netlink
15084 go-golang-org-x-sys))
15085 (home-page "https://github.com/mdlayher/ethtool")
15086 (synopsis "Control of the Linux ethtool generic netlink interface")
15087 (description
15088 "Package ethtool allows control of the Linux ethtool generic netlink
15089interface. as it's described in
15090@url{https://www.kernel.org/doc/html/latest/networking/ethtool-netlink.html,
15091ethtool-netlink}.")
15092 (license license:expat)))
15093
15094(define-public go-github-com-mdlayher-genetlink
15095 (package
15096 (name "go-github-com-mdlayher-genetlink")
15097 (version "1.3.2")
15098 (source
15099 (origin
15100 (method git-fetch)
15101 (uri (git-reference
15102 (url "https://github.com/mdlayher/genetlink")
15103 (commit (string-append "v" version))))
15104 (file-name (git-file-name name version))
15105 (sha256
15106 (base32 "0vppn8071nh8pnbyq9769j1zcgq76iadd5fry90xkmfq429if356"))))
15107 (build-system go-build-system)
15108 (arguments
15109 (list
15110 #:import-path "github.com/mdlayher/genetlink"))
15111 (native-inputs
15112 (list go-github-com-google-go-cmp))
15113 (propagated-inputs
15114 (list go-github-com-mdlayher-netlink
15115 go-golang-org-x-net
15116 go-golang-org-x-sys))
15117 (home-page "https://github.com/mdlayher/genetlink")
15118 (synopsis "Generic netlink interactions and data types")
15119 (description
15120 "Package genetlink implements generic netlink interactions and data
15121types.")
15122 (license license:expat)))
15123
15124(define-public go-github-com-mdlayher-ndp
15125 (package
15126 (name "go-github-com-mdlayher-ndp")
15127 (version "1.1.0")
15128 (source
15129 (origin
15130 (method git-fetch)
15131 (uri (git-reference
15132 (url "https://github.com/mdlayher/ndp")
15133 (commit (string-append "v" version))))
15134 (file-name (git-file-name name version))
15135 (sha256
15136 (base32 "0mkffb1wjaigj73vz2hk7gyk83yj7xnn70zn45254xa6fvhpwl9z"))))
15137 (build-system go-build-system)
15138 (arguments
15139 (list
15140 #:import-path "github.com/mdlayher/ndp"))
15141 (native-inputs
15142 (list go-github-com-google-go-cmp))
15143 (propagated-inputs
15144 (list go-golang-org-x-net))
15145 (home-page "https://github.com/mdlayher/ndp")
15146 (synopsis "Implementation of the Neighbor Discovery Protocol in Golang")
15147 (description
15148 "Package ndp implements the Neighbor Discovery Protocol, as described in
15149@url{https://rfc-editor.org/rfc/rfc4861.html, RFC 4861}.")
15150 (license license:expat)))
15151
15152(define-public go-github-com-mdlayher-netlink
15153 (package
15154 (name "go-github-com-mdlayher-netlink")
15155 (version "1.7.2")
15156 (source
15157 (origin
15158 (method git-fetch)
15159 (uri (git-reference
15160 (url "https://github.com/mdlayher/netlink")
15161 (commit (string-append "v" version))))
15162 (file-name (git-file-name name version))
15163 (sha256
15164 (base32 "1pxd0qn73jr9n64gkp2kd8q8x7xgssm3v8a68vkh88al55g8jkma"))
15165 (modules '((guix build utils)))
15166 (snippet
15167 #~(begin
15168 ;; Cycles with go-github-com-jsimonetti-rtnetlink.
15169 (delete-file-recursively "internal/integration")))))
15170 (build-system go-build-system)
15171 (arguments
15172 (list
15173 #:import-path "github.com/mdlayher/netlink"
15174 #:test-flags
15175 #~(list "-skip"
15176 (string-join
15177 ;; Test fails to start command "ip": exec: "ip": executable
15178 ;; file not found in $PATH
15179 (list "TestIntegrationConnSetBuffersSyscallConn"
15180 #$@(if (target-arm?)
15181 ;; Tests fail on ARM systems with error: failed to
15182 ;; dial netlink: socket: protocol not supported.
15183 '("TestIntegrationConn"
15184 "TestIntegrationConnClosedConn"
15185 "TestIntegrationConnConcurrentClosePreventsReceive"
15186 "TestIntegrationConnConcurrentCloseUnblocksReceive"
15187 "TestIntegrationConnConcurrentOneConn"
15188 "TestIntegrationConnConcurrentSerializeExecute"
15189 "TestIntegrationConnExecuteTimeout"
15190 "TestIntegrationConnExplicitPID"
15191 "TestIntegrationConnReceiveTimeout"
15192 "TestIntegrationConnSendTimeout"
15193 "TestIntegrationConnSetBPF"
15194 "TestIntegrationConnSetBPFEmpty"
15195 "TestIntegrationConnStrict")
15196 '())
15197 "|")))))
15198 (propagated-inputs
15199 (list go-github-com-google-go-cmp
15200 go-github-com-josharian-native
15201 go-github-com-mdlayher-socket
15202 go-golang-org-x-net
15203 go-golang-org-x-sys))
15204 (home-page "https://github.com/mdlayher/netlink")
15205 (synopsis "Low-level access to Linux netlink sockets")
15206 (description
15207 "This package provides a low-level access to Linux netlink
15208sockets (AF_NETLINK).")
15209 (license license:expat)))
15210
15211(define-public go-github-com-mdlayher-netx
15212 (package
15213 (name "go-github-com-mdlayher-netx")
15214 (version "0.0.0-20230430222610-7e21880baee8")
15215 (source
15216 (origin
15217 (method git-fetch)
15218 (uri (git-reference
15219 (url "https://github.com/mdlayher/netx")
15220 (commit (go-version->git-ref version))))
15221 (file-name (git-file-name name version))
15222 (sha256
15223 (base32 "16l7z3z90im1ny6x9xq892hi4nha6phzv04izgjaaj1vvgs5pdqs"))))
15224 (build-system go-build-system)
15225 (arguments
15226 (list
15227 #:skip-build? #t
15228 #:test-flags #~(list "-skip" "TestListenerAddr") ;unexpected UNIX address
15229 #:import-path "github.com/mdlayher/netx"))
15230 (native-inputs
15231 (list go-github-com-google-go-cmp))
15232 (propagated-inputs
15233 (list go-golang-org-x-net
15234 go-golang-org-x-sync))
15235 (home-page "https://github.com/mdlayher/netx")
15236 (synopsis "Collection of small Go networking packages")
15237 (description
15238 "This package provides a collection of small Go networking packages.")
15239 (license license:expat)))
15240
15241(define-public go-github-com-mdlayher-packet
15242 (package
15243 (name "go-github-com-mdlayher-packet")
15244 (version "1.1.2")
15245 (source
15246 (origin
15247 (method git-fetch)
15248 (uri (git-reference
15249 (url "https://github.com/mdlayher/packet")
15250 (commit (string-append "v" version))))
15251 (file-name (git-file-name name version))
15252 (sha256
15253 (base32 "17jms60j1xygsn5z61r2kz8yywsihf0xjzlhq3v5cpqf08mljwsn"))))
15254 (build-system go-build-system)
15255 (arguments
15256 (list
15257 #:import-path "github.com/mdlayher/packet"))
15258 (native-inputs
15259 (list go-github-com-google-go-cmp))
15260 (propagated-inputs
15261 (list go-github-com-josharian-native
15262 go-github-com-mdlayher-socket
15263 go-golang-org-x-net
15264 go-golang-org-x-sys))
15265 (home-page "https://github.com/mdlayher/packet")
15266 (synopsis "Access to Linux packet sockets from Golang")
15267 (description
15268 "Package packet provides access to Linux packet sockets (@url{AF_PACKET,
15269https://www.man7.org/linux/man-pages/man7/packet.7.html}).")
15270 (license license:expat)))
15271
15272(define-public go-github-com-mdlayher-socket
15273 (package
15274 (name "go-github-com-mdlayher-socket")
15275 (version "0.5.1")
15276 (source
15277 (origin
15278 (method git-fetch)
15279 (uri (git-reference
15280 (url "https://github.com/mdlayher/socket")
15281 (commit (string-append "v" version))))
15282 (file-name (git-file-name name version))
15283 (sha256
15284 (base32 "1bq6sphsffjqqk2v9wy8qkv5yf0r6d72pklapgy3znqlnpgvnqab"))))
15285 (build-system go-build-system)
15286 (arguments
15287 (list
15288 #:test-flags
15289 #~(list
15290 ;; One test fails on ARM with error: conn_linux_test.go:120:
15291 ;; skipping, permission denied: failed to unshare network namespace:
15292 ;; operation not permitted
15293 #$@(if (target-arm?)
15294 '("-skip" "TestLinuxBindToDevice")
15295 '()))
15296 #:import-path "github.com/mdlayher/socket"))
15297 (native-inputs
15298 (list go-github-com-google-go-cmp))
15299 (propagated-inputs
15300 (list go-golang-org-x-net
15301 go-golang-org-x-sync
15302 go-golang-org-x-sys))
15303 (home-page "https://github.com/mdlayher/socket")
15304 (synopsis "Low-level network connection type with async I/O and deadline support")
15305 (description
15306 "This package provides a low-level network connection type which
15307integrates with Go's runtime network poller to provide asynchronous I/O and
15308deadline support.")
15309 (license license:expat)))
15310
15311(define-public go-github-com-mdlayher-vsock
15312 (package
15313 (name "go-github-com-mdlayher-vsock")
15314 (version "1.2.1")
15315 (source
15316 (origin
15317 (method git-fetch)
15318 (uri (git-reference
15319 (url "https://github.com/mdlayher/vsock")
15320 (commit (string-append "v" version))))
15321 (file-name (git-file-name name version))
15322 (sha256
15323 (base32 "1pnhxz9jz25469gnd5p9a8jl10w3affcjxlvzhlni2c434s3l6kx"))))
15324 (build-system go-build-system)
15325 (arguments
15326 (list
15327 #:import-path "github.com/mdlayher/vsock"))
15328 (native-inputs
15329 (list go-github-com-google-go-cmp))
15330 (propagated-inputs
15331 (list go-github-com-mdlayher-socket
15332 go-golang-org-x-net
15333 go-golang-org-x-sync
15334 go-golang-org-x-sys))
15335 (home-page "https://github.com/mdlayher/vsock")
15336 (synopsis "Access to Linux VM sockets for Golang")
15337 (description
15338 "Package vsock provides access to Linux VM sockets (AF_VSOCK) for
15339communication between a hypervisor and its virtual machines.")
15340 (license license:expat)))
15341
15342(define-public go-github-com-mdlayher-wifi
15343 (package
15344 (name "go-github-com-mdlayher-wifi")
15345 (version "0.3.0")
15346 (source
15347 (origin
15348 (method git-fetch)
15349 (uri (git-reference
15350 (url "https://github.com/mdlayher/wifi")
15351 (commit (string-append "v" version))))
15352 (file-name (git-file-name name version))
15353 (sha256
15354 (base32 "18h5n58gr3i4jbf7c4hfvx3w87bjjiaavcnpcl0j310bgrc6dnzi"))))
15355 (build-system go-build-system)
15356 (arguments
15357 (list
15358 #:import-path "github.com/mdlayher/wifi"))
15359 (native-inputs
15360 (list go-github-com-google-go-cmp))
15361 (propagated-inputs
15362 (list go-github-com-mdlayher-genetlink
15363 go-github-com-mdlayher-netlink
15364 go-golang-org-x-crypto
15365 go-golang-org-x-sys))
15366 (home-page "https://github.com/mdlayher/wifi")
15367 (synopsis "Access to IEEE 802.11 WiFi device actions")
15368 (description
15369 "Package wifi provides access to IEEE 802.11 @code{WiFi} device
15370operations on Linux using nl80211.")
15371 (license license:expat)))
15372
15373(define-public go-github-com-meilisearch-meilisearch-go
15374 (package
15375 (name "go-github-com-meilisearch-meilisearch-go")
15376 (version "0.36.3")
15377 (source
15378 (origin
15379 (method git-fetch)
15380 (uri (git-reference
15381 (url "https://github.com/meilisearch/meilisearch-go")
15382 (commit (string-append "v" version))))
15383 (file-name (git-file-name name version))
15384 (sha256
15385 (base32 "0m2akgsx8y3fmxzw54hfyns85ikb1805d724alz95wsjd7hxr0sa"))))
15386 (build-system go-build-system)
15387 (arguments
15388 (list
15389 ;; XXX: Tests expecting ruining Meilisearch instance.
15390 #:tests? #f
15391 #:import-path "github.com/meilisearch/meilisearch-go"))
15392 (native-inputs
15393 (list go-github-com-stretchr-testify))
15394 (propagated-inputs
15395 (list go-github-com-andybalholm-brotli
15396 go-github-com-golang-jwt-jwt-v5))
15397 (home-page "https://github.com/meilisearch/meilisearch-go")
15398 (synopsis "Golang wrapper for the Meilisearch API")
15399 (description
15400 "Package meilisearch is the official Meilisearch SDK for the Go
15401programming language.")
15402 (license license:expat)))
15403
15404(define-public go-github-com-mholt-acmez-v2
15405 (package
15406 (name "go-github-com-mholt-acmez-v2")
15407 (version "2.0.3")
15408 (source
15409 (origin
15410 (method git-fetch)
15411 (uri (git-reference
15412 (url "https://github.com/mholt/acmez")
15413 (commit (string-append "v" version))))
15414 (file-name (git-file-name name version))
15415 (sha256
15416 (base32 "0xfl6p8izgjs1d26iygfilmmagxld409qsgdy60r1chfsrcnraby"))))
15417 (build-system go-build-system)
15418 (arguments
15419 (list
15420 #:import-path "github.com/mholt/acmez/v2"))
15421 (propagated-inputs
15422 (list go-golang-org-x-crypto
15423 go-golang-org-x-net
15424 go-go-uber-org-zap))
15425 (home-page "https://github.com/mholt/acmez")
15426 (synopsis "ACME (RFC 8555) client library for Go")
15427 (description
15428 "@code{ACMEz} is a lightweight, fully-compliant
15429@url{https://tools.ietf.org/html/rfc8555, RFC 8555} (ACME) implementation, that
15430provides an API for getting certificates. @code{ACMEz} is suitable for large-scale
15431enterprise deployments. It also supports common IETF-standardized ACME extensions.
15432
15433This module has two primary packages:
15434@itemize
15435@item @code{acmez} is a high-level wrapper for getting certificates. It implements
15436the ACME order flow described in RFC 8555 including challenge solving using pluggable
15437solvers.
15438@item @code{acme} is a low-level RFC 8555 implementation that provides the
15439fundamental ACME operations, mainly useful if you have advanced or niche
15440requirements.
15441@end itemize
15442
15443Main features:
15444@itemize
15445@item Go API that thoroughly documented with spec citations.
15446@item Structured error values (@samp{problems} as defined in
15447@url{https://tools.ietf.org/html/rfc7807, RFC 7807}.)
15448@item Smart retries (resilient against network and server hiccups.)
15449@item Challenge plasticity (randomized challenges, and will retry others if one
15450fails.)
15451@item Context cancellation (suitable for high-frequency config changes or reloads.)
15452@item Highly flexible and customizable.
15453@item External Account Binding (EAB) support.
15454@item Tested with numerous ACME CAs (more than just Let's Encrypt.)
15455@item Implements niche aspects of RFC 8555 (such as alt cert chains and account key
15456rollover.)
15457@item Efficient solving of large SAN lists (e.g. for slow DNS record propagation.)
15458@item Utility functions for solving challenges: device attestation
15459challenges (draft-acme-device-attest-02), @url{https://tools.ietf.org/html/rfc8737,
15460RFC 8737} (tls-alpn-01 challenge), @url{https://tools.ietf.org/html/rfc8823, RFC
154618823} (email-reply-00 challenge; S/MIME.)
15462@item ACME Renewal Information (ARI) support (draft-ietf-acme-ari-03.)
15463@end itemize")
15464 (license license:asl2.0)))
15465
15466(define-public go-github-com-mholt-acmez-v3
15467 (package
15468 (inherit go-github-com-mholt-acmez-v2)
15469 (name "go-github-com-mholt-acmez-v3")
15470 (version "3.1.2")
15471 (source
15472 (origin
15473 (method git-fetch)
15474 (uri (git-reference
15475 (url "https://github.com/mholt/acmez")
15476 (commit (string-append "v" version))))
15477 (file-name (git-file-name name version))
15478 (sha256
15479 (base32 "0knh1j9679ma50myh38nj1hpgifk2h3jyn70nnjsmmmm6whysnlg"))))
15480 (arguments
15481 (list
15482 #:import-path "github.com/mholt/acmez/v3"))))
15483
15484(define-public go-github-com-microcosm-cc-bluemonday
15485 (package
15486 (name "go-github-com-microcosm-cc-bluemonday")
15487 (version "1.0.27")
15488 (source
15489 (origin
15490 (method git-fetch)
15491 (uri (git-reference
15492 (url "https://github.com/microcosm-cc/bluemonday")
15493 (commit (string-append "v" version))))
15494 (file-name (git-file-name name version))
15495 (sha256
15496 (base32 "0jzh55x7zff2i3j28mk1gr5xsmyvfb3dkkdy10vhygabs5mv550i"))))
15497 (build-system go-build-system)
15498 (arguments
15499 `(#:import-path "github.com/microcosm-cc/bluemonday"))
15500 (propagated-inputs
15501 (list go-github-com-chris-ramon-douceur
15502 go-golang-org-x-net))
15503 (home-page "https://github.com/microcosm-cc/bluemonday/")
15504 (synopsis "HTML sanitizer")
15505 (description "@code{bluemonday} is a HTML sanitizer implemented in Go.")
15506 (license license:bsd-3)))
15507
15508(define-public go-github-com-microsoft-dev-tunnels
15509 (package
15510 (name "go-github-com-microsoft-dev-tunnels")
15511 (version "0.1.19")
15512 (source
15513 (origin
15514 (method git-fetch)
15515 (uri (git-reference
15516 (url "https://github.com/microsoft/dev-tunnels")
15517 (commit (string-append "v" version))))
15518 (file-name (git-file-name name version))
15519 (sha256
15520 (base32 "0wi99gx8d697gqcrz4m1d6lji7csg4s4lkm7fm2czsb8ix1in00j"))
15521 (modules '((guix build utils)))
15522 (snippet
15523 #~(begin
15524 ;; Git contains Java, C#, Rust and TypeScript implementations,
15525 ;; where we need only Go.
15526 (for-each delete-file-recursively
15527 (list ".pipelines"
15528 ".vscode"
15529 "cs"
15530 "java"
15531 "rs"
15532 "samples"
15533 "ts"))))))
15534 (build-system go-build-system)
15535 (arguments
15536 (list
15537 #:skip-build? #t
15538 #:import-path "github.com/microsoft/dev-tunnels"
15539 #:test-flags
15540 #~(list "-vet=off"
15541 ;; manager_test.go:53: error sending create tunnel request:
15542 ;; error sending request: Put
15543 ;; "https://global.rel.tunnels.api.visualstudio.com/tunnels/\
15544 ;; puzzled-horse-43731hh?api-version=2023-09-27-preview":
15545 ;; dial tcp: lookup global.rel.tunnels.api.visualstudio.com on
15546 ;; [::1]:53: read udp [::1]:55610->[::1]:53: read: connection
15547 ;; refused
15548 "-skip" (string-join
15549 (list "TestTunnelCreateDelete"
15550 "TestListTunnels"
15551 "TestTunnelCreateUpdateDelete"
15552 "TestTunnelCreateUpdateTwiceDelete"
15553 "TestTunnelCreateGetDelete"
15554 "TestTunnelAddPort"
15555 "TestTunnelDeletePort"
15556 "TestTunnelUpdatePort"
15557 "TestTunnelListPorts"
15558 "TestTunnelEndpoints")
15559 "|"))))
15560 (propagated-inputs
15561 (list go-github-com-gorilla-websocket
15562 go-github-com-rodaine-table
15563 go-golang-org-x-crypto))
15564 (home-page "https://github.com/microsoft/dev-tunnels")
15565 (synopsis "Dev tunnels SDK for Go")
15566 (description
15567 "This package provides a Go SDK for Microsoft Dev Tunnels, enabling
15568secure port forwarding and tunneling for development workflows. It supports
15569creating and managing tunnels with SSH-based connections.")
15570 (license license:expat)))
15571
15572(define-public go-github-com-miekg-dns
15573 (package
15574 (name "go-github-com-miekg-dns")
15575 (version "1.1.72")
15576 (source
15577 (origin
15578 (method git-fetch)
15579 (uri (git-reference
15580 (url "https://github.com/miekg/dns")
15581 (commit (string-append "v" version))))
15582 (file-name (git-file-name name version))
15583 (sha256
15584 (base32 "05b9r955fdyak4l6azzv3z2yccmr2srp73b42yjkx3wha41g154b"))))
15585 (build-system go-build-system)
15586 (arguments
15587 (list
15588 #:import-path "github.com/miekg/dns"
15589 #:test-flags
15590 ;; client_test.go:102: unable to run test server: listen unix
15591 #~(list "-skip" "TestIsPacketConn")))
15592 (propagated-inputs
15593 (list go-golang-org-x-tools
15594 go-golang-org-x-sys
15595 go-golang-org-x-sync
15596 go-golang-org-x-net))
15597 (home-page "https://github.com/miekg/dns")
15598 (synopsis "Domain Name Service library in Go")
15599 (description
15600 "This package provides a fully featured interface to the @acronym{DNS,
15601Domain Name System}. Both server and client side programming is supported.
15602The package allows complete control over what is sent out to the @acronym{DNS,
15603Domain Name Service}. The API follows the less-is-more principle, by
15604presenting a small interface.")
15605 (license license:bsd-3)))
15606
15607(define-public go-github-com-mikioh-tcp
15608 (package
15609 (name "go-github-com-mikioh-tcp")
15610 (version "0.0.0-20190314235350-803a9b46060c")
15611 (source
15612 (origin
15613 (method git-fetch)
15614 (uri (git-reference
15615 (url "https://github.com/mikioh/tcp")
15616 (commit (go-version->git-ref version))))
15617 (file-name (git-file-name name version))
15618 (sha256
15619 (base32 "0mwldbqkl6j4lzxar5pnvi946w0iifmw43rmanbwzp7ngx27fz5a"))))
15620 (build-system go-build-system)
15621 (arguments
15622 (list
15623 #:import-path "github.com/mikioh/tcp"
15624 #:test-flags
15625 #~(list "-skip"
15626 (string-join
15627 ;; Get "https://golang.org/robots.txt": dial tcp: lookup
15628 ;; golang.org on [::1]:53: read udp [::1]:47181->[::1]:53:
15629 ;; read: connection refused.
15630 (list "TestInfo"
15631 #$@(if (target-arm?)
15632 ;; Test fails on ARM with error: raw-control tcp
15633 ;; 127.0.0.1:58464: getsockopt: protocol not
15634 ;; available.
15635 '("TestConcurrentReadWriteAndInfo")
15636 '()))
15637 "|"))))
15638 (native-inputs
15639 (list go-golang-org-x-net))
15640 (propagated-inputs
15641 (list go-github-com-mikioh-tcpinfo))
15642 (home-page "https://github.com/mikioh/tcp")
15643 (synopsis "TCP-level socket options implementation in Golang")
15644 (description
15645 "This package implements a TCP-level socket options that allow
15646manipulation of TCP connection facilities.")
15647 (license license:bsd-2)))
15648
15649(define-public go-github-com-mikioh-tcpinfo
15650 (package
15651 (name "go-github-com-mikioh-tcpinfo")
15652 (version "0.0.0-20190314235526-30a79bb1804b")
15653 (source
15654 (origin
15655 (method git-fetch)
15656 (uri (git-reference
15657 (url "https://github.com/mikioh/tcpinfo")
15658 (commit (go-version->git-ref version))))
15659 (file-name (git-file-name name version))
15660 (sha256
15661 (base32 "053dwvlawhhm7ly2vhjziqdifnqp12dav6rsbxbcivjjzyzw987f"))))
15662 (build-system go-build-system)
15663 (arguments
15664 (list
15665 #:import-path "github.com/mikioh/tcpinfo"
15666 #:phases
15667 #~(modify-phases %standard-phases
15668 ;; It inroduce cycle with go-github-com-mikioh-tcp.
15669 (add-after 'unpack 'remove-examples
15670 (lambda* (#:key import-path #:allow-other-keys)
15671 (with-directory-excursion (string-append "src/" import-path)
15672 (delete-file "example_test.go")))))))
15673 (propagated-inputs
15674 (list go-github-com-mikioh-tcpopt))
15675 (home-page "https://github.com/mikioh/tcpinfo")
15676 (synopsis "Encoding and decoding of TCP-level socket options")
15677 (description
15678 "This package implements an encoding and decoding of TCP-level socket
15679options regarding connection information.")
15680 (license license:bsd-2)))
15681
15682(define-public go-github-com-mikioh-tcpopt
15683 (package
15684 (name "go-github-com-mikioh-tcpopt")
15685 (version "0.0.0-20190314235656-172688c1accc")
15686 (source
15687 (origin
15688 (method git-fetch)
15689 (uri (git-reference
15690 (url "https://github.com/mikioh/tcpopt")
15691 (commit (go-version->git-ref version))))
15692 (file-name (git-file-name name version))
15693 (sha256
15694 (base32 "1qdr0vmriy0wf6zg7hpq75g3b4nvp2p4gsc6xqvqg298v42zbrqj"))))
15695 (build-system go-build-system)
15696 (arguments
15697 (list
15698 #:import-path "github.com/mikioh/tcpopt"
15699 #:phases
15700 #~(modify-phases %standard-phases
15701 ;; It inroduce cycle with go-github-com-mikioh-tcp.
15702 (add-after 'unpack 'remove-examples
15703 (lambda* (#:key import-path #:allow-other-keys)
15704 (with-directory-excursion (string-append "src/" import-path)
15705 (delete-file "example_test.go")))))))
15706 (home-page "https://github.com/mikioh/tcpopt")
15707 (synopsis "Encoding and decoding of TCP-level socket options in Golang")
15708 (description
15709 "This package implements an encoding and decoding of TCP-level socket
15710options.")
15711 (license license:bsd-2)))
15712
15713(define-public go-github-com-minio-minio-go
15714 (package
15715 (name "go-github-com-minio-minio-go")
15716 (version "3.0.2")
15717 (source
15718 (origin
15719 (method git-fetch)
15720 (uri (git-reference
15721 (url "https://github.com/minio/minio-go")
15722 (commit (string-append "v" version))))
15723 (file-name (git-file-name name version))
15724 (sha256
15725 (base32 "1fihvi30wrjd4xgksryz8r315w30x4gyqp1qs1gzaipyyksim8d2"))))
15726 (build-system go-build-system)
15727 (arguments
15728 (list
15729 #:skip-build? #t
15730 #:tests? #f
15731 #:import-path "github.com/minio/minio-go"))
15732 (home-page "https://github.com/minio/minio-go")
15733 (synopsis "Minio Go Client SDK for Amazon S3 Compatible Cloud Storage")
15734 (description
15735 "The Minio Go Client SDK provides simple APIs to access any Amazon S3
15736compatible object storage.")
15737 (license license:asl2.0)))
15738
15739(define-public go-github-com-minio-minio-go-v7
15740 (package
15741 (inherit go-github-com-minio-minio-go)
15742 (name "go-github-com-minio-minio-go-v7")
15743 (version "7.2.0")
15744 (source
15745 (origin
15746 (method git-fetch)
15747 (uri (git-reference
15748 (url "https://github.com/minio/minio-go")
15749 (commit (string-append "v" version))))
15750 (file-name (git-file-name name version))
15751 (sha256
15752 (base32 "0c2bl16s3smqz1g3i88xkp9d325lyqfch8l8fxzd793i4c9y7ixl"))))
15753 (build-system go-build-system)
15754 (arguments
15755 (list
15756 #:import-path "github.com/minio/minio-go/v7"
15757 #:embed-files
15758 #~(list
15759 ;; golang.org/x/net/publicsuffix/table.go:63:12: pattern
15760 ;; data/children: cannot embed irregular file data/children
15761 "children"
15762 ;; golang.org/x/net/publicsuffix/table.go:48:12: pattern data/nodes:
15763 ;; cannot embed irregular file data/nodes
15764 "nodes"
15765 ;; golang.org/x/net/publicsuffix/table.go:33:12: pattern data/text:
15766 ;; cannot embed irregular file data/text
15767 "text")
15768 #:test-flags
15769 #~(list #$@(if (target-aarch64?) '("-short") '()))
15770 #:phases
15771 #~(modify-phases %standard-phases
15772 (add-after 'unpack 'fix-tests
15773 (lambda* (#:key import-path #:allow-other-keys)
15774 (substitute* (format #f
15775 "src/~a/pkg/credentials/credentials.sample"
15776 import-path)
15777 (("/bin/cat") (which "cat"))))))))
15778 (propagated-inputs
15779 (list go-github-com-cespare-xxhash-v2
15780 go-github-com-dustin-go-humanize
15781 go-github-com-google-uuid
15782 go-github-com-klauspost-compress
15783 go-github-com-klauspost-crc32
15784 go-github-com-minio-crc64nvme
15785 go-github-com-minio-md5-simd
15786 go-github-com-rs-xid
15787 go-github-com-tinylib-msgp
15788 go-github-com-zeebo-xxh3
15789 go-go-yaml-in-yaml-v3
15790 go-golang-org-x-crypto
15791 go-golang-org-x-net
15792 go-gopkg-in-ini-v1))))
15793
15794(define-public go-github-com-moby-ipvs
15795 (package
15796 (name "go-github-com-moby-ipvs")
15797 (version "1.1.0")
15798 (source
15799 (origin
15800 (method git-fetch)
15801 (uri (git-reference
15802 (url "https://github.com/moby/ipvs")
15803 (commit (string-append "v" version))))
15804 (file-name (git-file-name name version))
15805 (sha256
15806 (base32 "0gi7cjxs5s1db7nssj3r46fp44x94j5mlcrzng3ma663sbpmsrj2"))))
15807 (build-system go-build-system)
15808 (arguments
15809 (list
15810 #:import-path "github.com/moby/ipvs"
15811 ;; Failed to enter netns: operation not permitted
15812 #:test-flags #~(list "-skip" "TestService|TestDestination|TestTimeouts")))
15813 (propagated-inputs
15814 (list go-github-com-sirupsen-logrus
15815 go-github-com-vishvananda-netlink
15816 go-github-com-vishvananda-netns
15817 go-golang-org-x-sys))
15818 (home-page "https://github.com/moby/ipvs")
15819 (synopsis "Networking for containers")
15820 (description
15821 "ipvs provides a native Go implementation for communicating with
15822@url{https://en.wikipedia.org/wiki/IP_Virtual_Server, IPVS} kernel module
15823using a netlink socket.")
15824 (license license:asl2.0)))
15825
15826(define-public go-github-com-moby-moby-api
15827 (package
15828 (name "go-github-com-moby-moby-api")
15829 (version "1.55.0")
15830 (source
15831 (origin
15832 (method git-fetch)
15833 (uri (git-reference
15834 (url "https://github.com/moby/moby")
15835 (commit (go-version->git-ref version #:subdir "api"))))
15836 (file-name (git-file-name name version))
15837 (sha256
15838 (base32 "109avd81qjlzkfq3l6c410qgsh5gyy9lch20d6iq2ys3gknckvbm"))
15839 (modules '((guix build utils)))
15840 (snippet
15841 #~(begin
15842 (delete-file-recursively "vendor")))))
15843 (build-system go-build-system)
15844 (arguments
15845 (list
15846 #:skip-build? #t
15847 #:import-path "github.com/moby/moby/api"
15848 #:unpack-path "github.com/moby/moby"))
15849 (native-inputs
15850 (list go-gotest-tools-v3
15851 go-pgregory-net-rapid))
15852 (propagated-inputs
15853 (list go-github-com-docker-go-units
15854 go-github-com-moby-docker-image-spec
15855 go-github-com-opencontainers-go-digest
15856 go-github-com-opencontainers-image-spec))
15857 (home-page "https://github.com/moby/moby")
15858 (synopsis "Docker Engine API")
15859 (description
15860 "The Docker Engine API is an HTTP API used by the command-line client to
15861communicate with the daemon. It can also be used by third-party software to
15862control the daemon.")
15863 (license license:asl2.0)))
15864
15865(define-public go-github-com-moby-moby-client
15866 (package
15867 (name "go-github-com-moby-moby-client")
15868 (version "0.5.0")
15869 (source
15870 (origin
15871 (method git-fetch)
15872 (uri (git-reference
15873 (url "https://github.com/moby/moby")
15874 (commit (go-version->git-ref version #:subdir "client"))))
15875 (file-name (git-file-name name version))
15876 (sha256
15877 (base32 "175i8w410z4532krammdard8gn13q4mr6bfadf81gqyd3ab60ksy"))
15878 (modules '((guix build utils)))
15879 (snippet
15880 #~(begin (delete-all-but "." "client")))))
15881 (build-system go-build-system)
15882 (arguments
15883 (list
15884 #:import-path "github.com/moby/moby/client"
15885 #:unpack-path "github.com/moby/moby"))
15886 (native-inputs
15887 (list go-github-com-google-go-cmp))
15888 (propagated-inputs
15889 (list go-github-com-containerd-errdefs
15890 go-github-com-containerd-errdefs-pkg
15891 go-github-com-distribution-reference
15892 go-github-com-docker-go-connections
15893 go-github-com-docker-go-units
15894 ;; go-github-com-microsoft-go-winio ;Windows only
15895 go-github-com-moby-moby-api
15896 go-github-com-moby-term
15897 go-github-com-opencontainers-go-digest
15898 go-github-com-opencontainers-image-spec
15899 go-go-opentelemetry-io-contrib-instrumentation-net-http-otelhttp
15900 go-go-opentelemetry-io-otel-trace
15901 go-golang-org-x-time
15902 go-gotest-tools-v3))
15903 (home-page "https://github.com/moby/moby")
15904 (synopsis "Go client for the Docker Engine API")
15905 (description "Package client is a Go client for the Docker Engine API.")
15906 (license license:asl2.0)))
15907
15908(define-public go-github-com-moby-vpnkit
15909 (package
15910 (name "go-github-com-moby-vpnkit")
15911 (version "0.6.0")
15912 (source
15913 (origin
15914 (method git-fetch)
15915 (uri (git-reference
15916 (url "https://github.com/moby/vpnkit")
15917 (commit (string-append "v" version))))
15918 (file-name (git-file-name name version))
15919 (sha256
15920 (base32 "14f6a0qs59q4ajcgj8i41pnx8vragzj62xiz4pl0ydxzx2327sh7"))
15921 (modules '((guix build utils)))
15922 (snippet
15923 #~(begin
15924 (delete-file-recursively "vendor")))))
15925 (build-system go-build-system)
15926 (arguments
15927 (list
15928 #:skip-build? #t
15929 #:import-path "github.com/moby/vpnkit"
15930 #:test-flags
15931 #~(list "-skip" (string-join
15932 ;; Tests requiring access with TOKEN to API endpoints.
15933 (list "ControllerDispose"
15934 "OverlappingPorts"
15935 "DiscardClusterIPService")
15936 "|"))
15937 #:phases
15938 #~(modify-phases %standard-phases
15939 (add-after 'unpack 'remove-broken-test-files
15940 (lambda* (#:key tests? import-path #:allow-other-keys)
15941 (with-directory-excursion (string-append "src/" import-path)
15942 (delete-file "go/pkg/controller/controller_test.go")))))))
15943 (native-inputs
15944 (list go-github-com-spf13-viper
15945 go-github-com-stretchr-testify))
15946 (propagated-inputs
15947 (list go-github-com-google-uuid
15948 go-github-com-labstack-echo-v4
15949 go-github-com-linuxkit-virtsock
15950 ;; go-github-com-microsoft-go-winio ;Windows only
15951 go-github-com-pkg-errors
15952 go-github-com-sirupsen-logrus
15953 go-golang-org-x-crypto
15954 go-golang-org-x-sync
15955 go-k8s-io-api
15956 go-k8s-io-apimachinery
15957 go-k8s-io-client-go))
15958 (home-page "https://github.com/moby/vpnkit")
15959 (synopsis "Virtual network support for container tooling for Golang")
15960 (description "This package provides a set of Golang libraries and utilities
15961facilitating virtual networking for container runtimes and reliable TCP/UDP
15962forwarding and DNS resolution across host and VM boundaries.")
15963 (license license:asl2.0)))
15964
15965(define-public go-github-com-mreiferson-go-httpclient
15966 (package
15967 (name "go-github-com-mreiferson-go-httpclient")
15968 (version "0.0.0-20201222173833-5e475fde3a4d")
15969 (source
15970 (origin
15971 (method git-fetch)
15972 (uri (git-reference
15973 (url "https://github.com/mreiferson/go-httpclient")
15974 (commit (go-version->git-ref version))))
15975 (file-name (git-file-name name version))
15976 (sha256
15977 (base32 "13s8va5zlbmh5lgxpkdrcxvbqkbxszjvf27p1njv75q4jk8g5vhq"))))
15978 (build-system go-build-system)
15979 (arguments
15980 (list
15981 #:import-path "github.com/mreiferson/go-httpclient"
15982 #:test-flags
15983 ;; Test require internet access
15984 #~(list "-skip" "TestHttpsConnection")))
15985 (home-page "https://github.com/mreiferson/go-httpclient")
15986 (synopsis "HTTP client in Golang with retries and hooks")
15987 (description
15988 "This package provides a HTTP Transport that implements the
15989@code{RoundTripper} interface and can be used as a built in replacement for
15990the standard library.")
15991 (license license:expat)))
15992
15993(define-public go-github-com-mrexodia-wray
15994 (package
15995 (name "go-github-com-mrexodia-wray")
15996 (version "0.0.0-20160318003008-78a2c1f284ff")
15997 (source
15998 (origin
15999 (method git-fetch)
16000 (uri (git-reference
16001 (url "https://github.com/mrexodia/wray")
16002 (commit (go-version->git-ref version))))
16003 (file-name (git-file-name name version))
16004 (sha256
16005 (base32 "13fpq4sav9bb5g4vhq9lygimxzhslfp7nplfd5cyfgcxmckp5yrj"))))
16006 (build-system go-build-system)
16007 (arguments
16008 (list
16009 #:tests? #f ;tests are broken
16010 #:import-path "github.com/mrexodia/wray"))
16011 (native-inputs
16012 (list go-github-com-smartystreets-goconvey))
16013 (home-page "https://github.com/mrexodia/wray")
16014 (synopsis "Faye client for golang")
16015 (description
16016 "Wray is a client for the @url{http://faye.jcoglan.com/, Faye}
16017publish-subscribe messaging service. It's alternative fork of
16018@url{https://github.com/pythonandchips/wray}.")
16019 (license license:expat)))
16020
16021(define-public go-github-com-mrjones-oauth
16022 (package
16023 (name "go-github-com-mrjones-oauth")
16024 (version "0.0.0-20190623134757-126b35219450")
16025 (source
16026 (origin
16027 (method git-fetch)
16028 (uri (git-reference
16029 (url "https://github.com/mrjones/oauth")
16030 (commit (go-version->git-ref version))))
16031 (file-name (git-file-name name version))
16032 (sha256
16033 (base32 "120ajfcqcbdiglxl31yq1xgp6ahpb7jfnyk0587b9mljkaggs8gh"))))
16034 (build-system go-build-system)
16035 (arguments
16036 (list
16037 #:import-path "github.com/mrjones/oauth"
16038 #:phases
16039 #~(modify-phases %standard-phases
16040 (add-after 'unpack 'remove-examples
16041 (lambda* (#:key import-path #:allow-other-keys)
16042 (with-directory-excursion (string-append "src/" import-path)
16043 (delete-file-recursively "examples")))))))
16044 (home-page "https://github.com/mrjones/oauth")
16045 (synopsis "OAuth 1.0 implementation in Go")
16046 (description
16047 "This package provides a OAuth 1.0 consumer implementation as specified
16048in @url{http://www.oauth.net,http://www.oauth.net} and
16049@url{https://rfc-editor.org/rfc/rfc5849.html, RFC 5849}.")
16050 (license license:expat)))
16051
16052(define-public go-github-com-muhlemmer-httpforwarded
16053 (package
16054 (name "go-github-com-muhlemmer-httpforwarded")
16055 (version "0.1.0")
16056 (source
16057 (origin
16058 (method git-fetch)
16059 (uri (git-reference
16060 (url "https://github.com/muhlemmer/httpforwarded")
16061 (commit (string-append "v" version))))
16062 (file-name (git-file-name name version))
16063 (sha256
16064 (base32 "0wgiq97yzyrhfigyg1ndvi3llbmcd59ccc69ccaaigv42gf816c1"))))
16065 (build-system go-build-system)
16066 (arguments
16067 (list
16068 #:import-path "github.com/muhlemmer/httpforwarded"))
16069 (native-inputs
16070 (list go-gopkg-in-check-v1))
16071 (home-page "https://github.com/muhlemmer/httpforwarded")
16072 (synopsis "Parse the HTTP Forwarded header (RFC-7239) in Golang")
16073 (description
16074 "Package httpforwarded is a helper package for parsing the Forwarded HTTP
16075header as defined in @url{RFC-7239, https://www.rfc-editor.org/rfc/rfc7239}.
16076There is a function for parsing the value of multiple Forwarded headers, and a
16077function for formatting a Forwarded header.")
16078 (license license:bsd-3)))
16079
16080(define-public go-github-com-multiformats-go-multiaddr
16081 (package
16082 (name "go-github-com-multiformats-go-multiaddr")
16083 (version "0.16.1")
16084 (source
16085 (origin
16086 (method git-fetch)
16087 (uri (git-reference
16088 (url "https://github.com/multiformats/go-multiaddr")
16089 (commit (string-append "v" version))))
16090 (file-name (git-file-name name version))
16091 (sha256
16092 (base32 "076ch502vvgn65d1bf1hkikpa518dcgxgzz8a0sd5c7a1s2d9lsf"))))
16093 (build-system go-build-system)
16094 (arguments
16095 (list
16096 #:import-path "github.com/multiformats/go-multiaddr"))
16097 (native-inputs
16098 (list go-github-com-stretchr-testify))
16099 (propagated-inputs
16100 (list go-github-com-ipfs-go-cid
16101 go-github-com-multiformats-go-multibase
16102 go-github-com-multiformats-go-multihash
16103 go-github-com-multiformats-go-varint
16104 go-golang-org-x-exp))
16105 (home-page "https://github.com/multiformats/go-multiaddr")
16106 (synopsis "Composable and future-proof network addresses")
16107 (description
16108 "Multiaddr is a standard way to represent addresses that does the
16109following:
16110
16111@itemize
16112@item Support any standard network protocols.
16113@item Self-describe (include protocols).
16114@item Have a binary packed format.
16115@item Have a nice string representation.
16116@item Encapsulate well.
16117@end itemize")
16118 (license license:expat)))
16119
16120(define-public go-github-com-multiformats-go-multiaddr-dns
16121 (package
16122 (name "go-github-com-multiformats-go-multiaddr-dns")
16123 (version "0.5.0")
16124 (source
16125 (origin
16126 (method git-fetch)
16127 (uri (git-reference
16128 (url "https://github.com/multiformats/go-multiaddr-dns")
16129 (commit (string-append "v" version))))
16130 (file-name (git-file-name name version))
16131 (sha256
16132 (base32 "0cnz066iijxr0xvik8ihl026frd2gwij2byjsb1372vrhwzr6g6p"))))
16133 (build-system go-build-system)
16134 (arguments
16135 (list
16136 #:import-path "github.com/multiformats/go-multiaddr-dns"))
16137 (propagated-inputs
16138 (list go-github-com-miekg-dns
16139 go-github-com-multiformats-go-multiaddr))
16140 (home-page "https://multiformats.io/multiaddr/")
16141 (synopsis "Library and CLI tool for DNS multiaddr resolution")
16142 (description
16143 "Go library for /dns4, /dns6, /dnsaddr multiaddr resolution.")
16144 (license license:expat)))
16145
16146(define-public go-github-com-multiformats-go-multiaddr-fmt
16147 (package
16148 (name "go-github-com-multiformats-go-multiaddr-fmt")
16149 (version "0.1.0")
16150 (source
16151 (origin
16152 (method git-fetch)
16153 (uri (git-reference
16154 (url "https://github.com/multiformats/go-multiaddr-fmt")
16155 (commit (string-append "v" version))))
16156 (file-name (git-file-name name version))
16157 (sha256
16158 (base32 "119qqrnhzcb9im428alssv2dz9rrj74hy0asd10bnfv2d5fd09nm"))))
16159 (build-system go-build-system)
16160 (arguments
16161 (list
16162 #:import-path "github.com/multiformats/go-multiaddr-fmt"))
16163 (propagated-inputs
16164 (list go-github-com-multiformats-go-multiaddr))
16165 (home-page "https://github.com/multiformats/go-multiaddr-fmt")
16166 (synopsis "Declarative validator for multiaddrs")
16167 (description
16168 "This package provides a validation checker for multiaddrs. Some basic
16169validators for common address types are provided, but creating your own
16170combinations is easy.")
16171 (license license:expat)))
16172
16173(define-public go-github-com-multiformats-go-multistream
16174 (package
16175 (name "go-github-com-multiformats-go-multistream")
16176 (version "0.6.1")
16177 (source
16178 (origin
16179 (method git-fetch)
16180 (uri (git-reference
16181 (url "https://github.com/multiformats/go-multistream")
16182 (commit (string-append "v" version))))
16183 (file-name (git-file-name name version))
16184 (sha256
16185 (base32 "1lawi95ms4gqq34na69cy9ziimdig04kaq9rzgl5ramf1cp86qj8"))))
16186 (build-system go-build-system)
16187 (arguments
16188 (list
16189 #:import-path "github.com/multiformats/go-multistream"))
16190 (propagated-inputs
16191 (list go-github-com-multiformats-go-varint))
16192 (home-page "https://github.com/multiformats/go-multistream")
16193 (synopsis "Implementation of the multistream protocol in Golang")
16194 (description
16195 "Package multistream implements a simple stream router for the
16196multistream-select protocol. The protocol is defined at
16197@url{https://github.com/multiformats/multistream-select}")
16198 (license license:expat)))
16199
16200(define-public go-github-com-munnerz-goautoneg
16201 (package
16202 (name "go-github-com-munnerz-goautoneg")
16203 (version "0.0.0-20191010083416-a7dc8b61c822")
16204 (source
16205 (origin
16206 (method git-fetch)
16207 (uri (git-reference
16208 (url "https://github.com/munnerz/goautoneg")
16209 (commit (go-version->git-ref version))))
16210 (file-name (git-file-name name version))
16211 (sha256
16212 (base32 "1m4v6bw6yf1g0kvpc46isjp0qfhx2y8gnvlnyjf637jy64613mgg"))))
16213 (build-system go-build-system)
16214 (arguments
16215 (list
16216 #:import-path "github.com/munnerz/goautoneg"))
16217 (home-page "https://github.com/munnerz/goautoneg")
16218 (synopsis "HTTP Content-Type Autonegotiation")
16219 (description
16220 "This package implements @url{https://rfc-editor.org/rfc/rfc2616.html,RFC
162212616} HTTP/1.1 standard.")
16222 (license license:bsd-3)))
16223
16224(define-public go-github-com-mvdan-xurls
16225 (package
16226 (name "go-github-com-mvdan-xurls")
16227 (version "1.1.0")
16228 (source
16229 (origin
16230 (method git-fetch)
16231 (uri (git-reference
16232 (url "https://github.com/mvdan/xurls")
16233 (commit (string-append "v" version))))
16234 (file-name (git-file-name name version))
16235 (sha256
16236 (base32 "05q4nqbpgfb0a35sn22rn9mlag2ks4cgwb54dx925hipp6zgj1hx"))))
16237 (build-system go-build-system)
16238 (arguments
16239 (list
16240 #:import-path "github.com/mvdan/xurls"))
16241 (propagated-inputs (list go-golang-org-x-net))
16242 (home-page "https://github.com/mvdan/xurls")
16243 (synopsis "Extracts URLs from text")
16244 (description
16245 "Xurls extracts urls from plain text using regular expressions. It can
16246be used as both a binary and a library.")
16247 (license license:bsd-3)))
16248
16249(define-public go-github-com-ncw-swift-v2
16250 (package
16251 (name "go-github-com-ncw-swift-v2")
16252 (version "2.0.3")
16253 (source
16254 (origin
16255 (method git-fetch)
16256 (uri (git-reference
16257 (url "https://github.com/ncw/swift")
16258 (commit (string-append "v" version))))
16259 (file-name (git-file-name name version))
16260 (sha256
16261 (base32 "058mbdgm57rm24skscpl2lklqxs46sc4c3x5770xrd3yncry0rl8"))))
16262 (build-system go-build-system)
16263 (arguments
16264 (list
16265 #:import-path "github.com/ncw/swift/v2"
16266 #:test-flags
16267 #~(list "-skip" (string-join
16268 ;; Tests requiring access with TOKEN to API endpoints.
16269 (list "TestAuthenticate"
16270 "TestCDNDisable"
16271 "TestCDNEnable"
16272 "TestCDNMeta"
16273 "TestContainerCreate"
16274 "TestContainerDelete"
16275 "TestOnReAuth")
16276 "|"))))
16277 (home-page "https://github.com/ncw/swift")
16278 (synopsis "Interface to various cloud storage APIs")
16279 (description
16280 "Package swift provides an easy to use interface to Swift / Openstack
16281Object Storage / Rackspace Cloud Files.")
16282 (license license:expat)))
16283
16284(define-public go-github-com-networkplumbing-go-nft
16285 (package
16286 (name "go-github-com-networkplumbing-go-nft")
16287 (version "0.4.0")
16288 (source
16289 (origin
16290 (method git-fetch)
16291 (uri (git-reference
16292 (url "https://github.com/networkplumbing/go-nft")
16293 (commit (string-append "v" version))))
16294 (file-name (git-file-name name version))
16295 (sha256
16296 (base32 "1gx0xh9llgi600v6qacnaxwk3j0kmmwk7d2hm9j5jpmcm8whvp2w"))))
16297 (build-system go-build-system)
16298 (arguments
16299 (list
16300 #:skip-build? #t
16301 #:import-path "github.com/networkplumbing/go-nft"
16302 #:test-flags
16303 #~(list "-skip" (string-join
16304 ;; Root access is required to pass these tests.
16305 (list "TestConfig/#00"
16306 "TestConfig/#01"
16307 "TestConfig/#02"
16308 "TestConfig/#03"
16309 "TestNATExamples/#00"
16310 "TestNftlib/#00"
16311 "TestNoMacSpoofingExample/#00")
16312 "|"))))
16313 (native-inputs
16314 (list go-github-com-stretchr-testify))
16315 (propagated-inputs
16316 (list nftables))
16317 (home-page "https://github.com/networkplumbing/go-nft")
16318 (synopsis "NFT utility bindings for Golang")
16319 (description
16320 "This package provides Go bindings for @command{nft} utility.
16321go-nft wraps invocation of the @command{nft} utility with functions to append
16322and delete rules; create, clear and delete tables and chains.")
16323 (license license:asl2.0)))
16324
16325(define-public go-github-com-newrelic-go-agent-v3
16326 (package
16327 (name "go-github-com-newrelic-go-agent-v3")
16328 (version "3.45.0")
16329 (source
16330 (origin
16331 (method git-fetch)
16332 (uri (git-reference
16333 (url "https://github.com/newrelic/go-agent")
16334 (commit (string-append "v" version))))
16335 (file-name (git-file-name name version))
16336 (sha256
16337 (base32 "1xhhk47bp2vxvn3zgi51yzk1ysjy5k47bijdyr3vmq2miav3iwvi"))
16338 (modules '((guix build utils)))
16339 (snippet
16340 #~(begin
16341 ;; Submodules with their own go.mod files and packaged separately.
16342 (delete-file-recursively "v3/integrations")))))
16343 (build-system go-build-system)
16344 (arguments
16345 (list
16346 #:skip-build? #t
16347 #:import-path "github.com/newrelic/go-agent/v3"
16348 #:unpack-path "github.com/newrelic/go-agent"
16349 #:test-flags
16350 ;; Network setup is required.
16351 #~(list "-skip" "TestConnect|TestDistributedTracingTestApp")
16352 #:test-subdirs
16353 ;; Run core tests as seen in Makefile.
16354 #~(list "newrelic/integrationsupport"
16355 "newrelic/sqlparse"
16356 "internal"
16357 "internal/awssupport"
16358 "internal/cat"
16359 "internal/com_newrelic_trace_v1"
16360 "internal/crossagent"
16361 "internal/jsonx"
16362 "internal/logcontext"
16363 "internal/logger"
16364 "internal/stacktracetest"
16365 "internal/sysinfo"
16366 "internal/utilization")))
16367 (native-inputs
16368 (list go-github-com-nsf-jsondiff))
16369 (propagated-inputs
16370 (list go-github-com-google-pprof
16371 go-google-golang-org-grpc
16372 go-google-golang-org-protobuf))
16373 (home-page "https://github.com/newrelic/go-agent")
16374 (synopsis "New Relic Go Agent")
16375 (description
16376 "This package provides a Go integration to @url{https://newrelic.com/,
16377New Relic} API, an observability application.")
16378 (license license:asl2.0)))
16379
16380(define-public go-github-com-nrdcg-goinwx
16381 (package
16382 (name "go-github-com-nrdcg-goinwx")
16383 (version "0.10.0")
16384 (source
16385 (origin
16386 (method git-fetch)
16387 (uri (git-reference
16388 (url "https://github.com/nrdcg/goinwx")
16389 (commit (string-append "v" version))))
16390 (file-name (git-file-name name version))
16391 (sha256
16392 (base32 "1ld3spdi7q8cf4hf0wnbl7gyw2k8n4wp03fqncjx2gw2nsjng684"))))
16393 (build-system go-build-system)
16394 (arguments
16395 (list
16396 #:import-path "github.com/nrdcg/goinwx"))
16397 (propagated-inputs
16398 (list
16399 go-github-com-fatih-structs
16400 go-github-com-kolo-xmlrpc
16401 go-github-com-mitchellh-mapstructure))
16402 (home-page "https://github.com/nrdcg/goinwx")
16403 (synopsis "INWX Go API client")
16404 (description
16405 "This go library implements some parts of the official
16406@url{https://www.inwx.com/en/help/apidoc, INWX XML-RPC API}.")
16407 (license license:expat)))
16408
16409(define-public go-github-com-nytimes-gziphandler
16410 (package
16411 (name "go-github-com-nytimes-gziphandler")
16412 (version "1.1.1")
16413 (source
16414 (origin
16415 (method git-fetch)
16416 (uri (git-reference
16417 (url "https://github.com/nytimes/gziphandler")
16418 (commit (string-append "v" version))))
16419 (file-name (git-file-name name version))
16420 (sha256
16421 (base32 "0rhrjlw220hnymzfccm0yir3pc9dpj7h3gwzhzq2cbsb3hhsqvyy"))))
16422 (build-system go-build-system)
16423 (arguments
16424 (list
16425 #:import-path "github.com/NYTimes/gziphandler"))
16426 (native-inputs
16427 (list go-github-com-stretchr-testify))
16428 (home-page "https://github.com/NYTimes/gziphandler")
16429 (synopsis "Middleware to gzip HTTP responses")
16430 (description
16431 "This is a tiny Go package which wraps HTTP handlers to transparently
16432gzip the response body, for clients which support it.")
16433 (license license:asl2.0)))
16434
16435(define-public go-github-com-ohler55-ojg
16436 (package
16437 (name "go-github-com-ohler55-ojg")
16438 (version "1.26.2")
16439 (source
16440 (origin
16441 (method git-fetch)
16442 (uri (git-reference
16443 (url "https://github.com/ohler55/ojg")
16444 (commit (string-append "v" version))))
16445 (file-name (git-file-name name version))
16446 (sha256
16447 (base32 "1zg2m6kxm4lw75if8w4grp57bky55746j8m7qysqjcwm4y65hcdb"))))
16448 (build-system go-build-system)
16449 (arguments
16450 (list
16451 #:import-path "github.com/ohler55/ojg"))
16452 (home-page "https://github.com/ohler55/ojg")
16453 (synopsis "Optimized JSON for Go")
16454 (description
16455 "OjG is a high performance parser with a variety of additional
16456JSON tools. @code{OjG} is optimized to processing huge data sets where data
16457does not necessarily conform to a fixed structure.")
16458 (license license:expat)))
16459
16460(define-public go-github-com-olivere-elastic-v7
16461 (package
16462 (name "go-github-com-olivere-elastic-v7")
16463 (version "7.0.32")
16464 (source
16465 (origin
16466 (method git-fetch)
16467 (uri (git-reference
16468 (url "https://github.com/olivere/elastic")
16469 (commit (string-append "v" version))))
16470 (file-name (git-file-name name version))
16471 (sha256
16472 (base32 "1wgb891qs4rgw1sfpwfnplp57g4w4sq3ci31h7121cx118hy1v17"))
16473 (modules '((guix build utils)))
16474 (snippet
16475 #~(begin
16476 ;; Submodules with their own go.mod files and packaged separately:
16477 (delete-file-recursively "recipes")))))
16478 (build-system go-build-system)
16479 (arguments
16480 (list
16481 #:tests? #f ;they need running ElasticSearch instance in Docker
16482 #:import-path "github.com/olivere/elastic/v7"))
16483 (propagated-inputs
16484 (list go-github-com-aws-aws-sdk-go
16485 go-github-com-mailru-easyjson
16486 go-github-com-opentracing-opentracing-go
16487 go-github-com-pkg-errors
16488 go-github-com-smartystreets-go-aws-auth
16489 go-go-opencensus-io
16490 go-go-opentelemetry-io-otel))
16491 (home-page "https://github.com/olivere/elastic")
16492 (synopsis "Elasticsearch client for the Go")
16493 (description
16494 "Package elastic provides an interface to the Elasticsearch server
16495@url{https://www.elastic.co/products/elasticsearch}.")
16496 (license license:expat)))
16497
16498;; Deprecated on <2026-07-11>.
16499(define-deprecated-package go-github-com-olivere-elastic
16500 go-github-com-olivere-elastic-v7)
16501
16502(define-public go-github-com-ooni-minivpn
16503 (package
16504 (name "go-github-com-ooni-minivpn")
16505 (version "0.0.7")
16506 (source
16507 (origin
16508 (method git-fetch)
16509 (uri (git-reference
16510 (url "https://github.com/ooni/minivpn")
16511 (commit (string-append "v" version))))
16512 (file-name (git-file-name name version))
16513 (sha256
16514 (base32 "07qs7z3255xi35c2ypbizxdp6mn5xm3xlzlsf63ncyi1khs6xwhb"))
16515 (modules '((guix build utils)))
16516 (snippet
16517 #~(begin
16518 ;; Module name has been changed upstream.
16519 (substitute* (find-files "." "\\.go$")
16520 (("git.torproject.org/pluggable-transports/goptlib.git")
16521 "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib"))))))
16522 (build-system go-build-system)
16523 (arguments
16524 (list
16525 #:skip-build? #t
16526 #:import-path "github.com/ooni/minivpn"
16527 #:test-flags #~(list "-vet=off")
16528 #:phases
16529 #~(modify-phases %standard-phases
16530 (add-after 'unpack 'remove-integration-tests
16531 (lambda* (#:key tests? import-path #:allow-other-keys)
16532 (with-directory-excursion (string-append "src/" import-path)
16533 ;; Depends on github.com/google/martian.
16534 (delete-file-recursively
16535 "internal/tlssession/tlshandshake_test.go")
16536 ;; Depends on github.com/ory/dockertest/v3.
16537 (delete-file-recursively "tests/integration")))))))
16538 (native-inputs
16539 (list go-github-com-google-go-cmp
16540 go-github-com-stretchr-testify))
16541 (propagated-inputs
16542 (list go-github-com-apex-log
16543 go-github-com-doridian-water
16544 go-github-com-google-gopacket
16545 go-github-com-google-uuid
16546 go-github-com-jackpal-gateway
16547 go-github-com-refraction-networking-utls
16548 go-gitlab-com-yawning-obfs4-git
16549 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib
16550 go-golang-org-x-exp
16551 go-golang-org-x-net
16552 go-golang-org-x-sync))
16553 (home-page "https://github.com/ooni/minivpn")
16554 (synopsis "Minimalistic OpenVPN implementation in Go")
16555 (description
16556 "This package provides a minimalistic implementation of the
16557@code{OpenVPN} protocol in Go (client only).")
16558 (license license:gpl3)))
16559
16560(define-public go-github-com-ooni-netem
16561 (package
16562 (name "go-github-com-ooni-netem")
16563 (version "0.0.0-20260715150927-e0a456040e27")
16564 (source
16565 (origin
16566 (method git-fetch)
16567 (uri (git-reference
16568 (url "https://github.com/ooni/netem")
16569 (commit (go-version->git-ref version))))
16570 (file-name (git-file-name name version))
16571 (sha256
16572 (base32 "0hs4lc90pw8g9ipk31iv9zss9x0dahvc06s9pxsw9rkw2sm0cm1b"))))
16573 (build-system go-build-system)
16574 (arguments
16575 (list
16576 #:import-path "github.com/ooni/netem"
16577 #:test-flags #~(list "-vet=off")))
16578 (native-inputs
16579 (list go-github-com-google-go-cmp
16580 go-github-com-montanaflynn-stats))
16581 (propagated-inputs
16582 (list go-github-com-apex-log
16583 go-github-com-google-gopacket
16584 go-github-com-miekg-dns
16585 go-golang-org-x-crypto
16586 go-gvisor-dev-gvisor-source))
16587 (home-page "https://github.com/ooni/netem")
16588 (synopsis "Network emulation for writing integration tests in Go")
16589 (description
16590 "Package netem is a framework to write integration tests that use TCP/IP
16591stacks implemented in userspace.")
16592 (license license:bsd-3)))
16593
16594(define-public go-github-com-ooni-oohttp
16595 (package
16596 (name "go-github-com-ooni-oohttp")
16597 (version "0.8.1")
16598 (source
16599 (origin
16600 (method git-fetch)
16601 (uri (git-reference
16602 (url "https://github.com/ooni/oohttp")
16603 (commit (string-append "v" version))))
16604 (file-name (git-file-name name version))
16605 (sha256
16606 (base32 "1a3xv9yanvxh421qs4lxqk4w2l1yga7rjgdzv5y66m2nmglj85q5"))))
16607 (build-system go-build-system)
16608 (arguments
16609 (list
16610 #:import-path "github.com/ooni/oohttp"
16611 #:test-flags #~(list "-vet=off")
16612 #:phases
16613 #~(modify-phases %standard-phases
16614 (add-after 'unpack 'remove-examples
16615 (lambda* (#:key tests? import-path #:allow-other-keys)
16616 (with-directory-excursion (string-append "src/" import-path)
16617 (delete-file-recursively "example")))))))
16618 (propagated-inputs
16619 (list go-golang-org-x-net))
16620 (home-page "https://github.com/ooni/oohttp")
16621 (synopsis "Modified fork of Go stdlib's @code{net/http}")
16622 (description
16623 "Package http is a fork of stdlib's @code{net/http} that provides HTTP
16624client and server implementations that are compatible with alternative TLS
16625libraries such as github.com/refraction-networking/utls.")
16626 (license license:bsd-3)))
16627
16628(define-public go-github-com-ooni-probe-assets
16629 (package
16630 (name "go-github-com-ooni-probe-assets")
16631 (version "0.31.0")
16632 (source
16633 (origin
16634 (method git-fetch)
16635 (uri (git-reference
16636 (url "https://github.com/ooni/probe-assets")
16637 (commit (string-append "v" version))))
16638 (file-name (git-file-name name version))
16639 (sha256
16640 (base32 "1l4np2vxncksamf619qh1kvw0j96widmlzp1wag6q4fikm1bzb78"))))
16641 (build-system go-build-system)
16642 (arguments
16643 (list
16644 #:skip-build? #t
16645 #:import-path "github.com/ooni/probe-assets"))
16646 (propagated-inputs
16647 (list go-github-com-oschwald-maxminddb-golang))
16648 (home-page "https://ooni.org/")
16649 (synopsis "Assets used by OONI Probe")
16650 (description
16651 "This package provides generic OONI assets. It includes @code{MaxMind}
16652DB files retrieved from CURL.")
16653 (license license:bsd-3)))
16654
16655(define-public go-github-com-ooni-probe-engine
16656 (package
16657 (name "go-github-com-ooni-probe-engine")
16658 (version "0.29.0")
16659 (source
16660 (origin
16661 (method git-fetch)
16662 (uri (git-reference
16663 (url "https://github.com/ooni/probe-engine")
16664 (commit (string-append "v" version))))
16665 (file-name (git-file-name name version))
16666 (sha256
16667 (base32 "1hx9j38a60m4b5mvaakdd1z9bv8bfjlbvkpl3dxi15gyisnyxz8p"))))
16668 (build-system go-build-system)
16669 (arguments
16670 (list
16671 #:skip-build? #t
16672 #:import-path "github.com/ooni/probe-engine"
16673 #:test-subdirs
16674 ;; XXX: Remove when all inputs are packaged.
16675 #~(list "pkg/urlx" "pkg/flagx" "pkg/idnax" "pkg/randx" "pkg/humanize"
16676 "pkg/optional" "pkg/platform" "pkg/runtimex" "pkg/scrubber"
16677 "pkg/strcasex" "pkg/stuninput" "pkg/memoryless"
16678 "pkg/legacy/assetsdir" "pkg/legacy/multierror"
16679 "pkg/legacy/kvstore2dir" "pkg/legacy/legacymodel"
16680 "pkg/shellx/shellxtesting" "pkg/cmd/gardener/internal/sync"
16681 "pkg/cmd/gardener/internal/dnsfix"
16682 "pkg/cmd/gardener/internal/testlists"
16683 "pkg/experiment/webconnectivity/internal")))
16684 (native-inputs
16685 (list go-github-com-google-go-cmp
16686 go-github-com-google-shlex
16687 go-github-com-pborman-getopt-v2
16688 go-github-com-spf13-cobra))
16689 (propagated-inputs
16690 (list go-filippo-io-age
16691 go-github-com-psiphon-labs-psiphon-tunnel-core
16692 go-github-com-apex-log
16693 go-github-com-armon-go-socks5
16694 go-github-com-cloudflare-circl
16695 go-github-com-cretz-bine
16696 go-github-com-dop251-goja
16697 go-github-com-dop251-goja-nodejs
16698 go-github-com-google-gopacket
16699 go-github-com-google-uuid
16700 go-github-com-gorilla-websocket
16701 go-github-com-hexops-gotextdiff
16702 go-github-com-miekg-dns
16703 go-github-com-montanaflynn-stats
16704 go-github-com-ooni-oohttp
16705 go-github-com-ooni-probe-assets
16706 go-github-com-pion-stun
16707 go-github-com-pkg-errors
16708 go-github-com-quic-go-quic-go-0.52
16709 go-github-com-rogpeppe-go-internal
16710 go-github-com-schollz-progressbar-v3
16711 go-gitlab-com-yawning-obfs4-git
16712 go-gitlab-com-yawning-utls-git
16713 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib
16714 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2
16715 go-golang-org-x-crypto
16716 go-golang-org-x-net
16717 go-golang-org-x-sys
16718
16719 ;; TODO: Complete packaging.
16720 ;; go-github-com-ooni-netem
16721 ;; go-github-com-ooni-oocrypto
16722 ;; go-github-com-rubenv-sql-migrate
16723 #;go-github-com-upper-db-v4))
16724 (home-page "https://ooni.org/")
16725 (synopsis "OONI Probe Engine")
16726 (description
16727 "This package provides a semi-automatically exported from
16728github.com/ooni/probe-cli.")
16729 (license license:gpl3)))
16730
16731(define-public go-github-com-open-policy-agent-opa
16732 (package
16733 (name "go-github-com-open-policy-agent-opa")
16734 (version "1.19.0")
16735 (source
16736 (origin
16737 (method git-fetch)
16738 (uri (git-reference
16739 (url "https://github.com/open-policy-agent/opa")
16740 (commit (string-append "v" version))))
16741 (file-name (git-file-name name version))
16742 (sha256
16743 (base32 "1c9n0fzx70081cyccyajwhdchh5rmap9hxf7vaz9gg4pjf4c4w00"))
16744 (modules '((guix build utils)))
16745 (snippet
16746 #~(begin
16747 ;; Submodules with their own go.mod files and packaged separately.
16748 (delete-file-recursively "build/tools")
16749 (delete-file-recursively "e2e")
16750 ;; Exit status 1 when run tests.
16751 (for-each delete-file-recursively
16752 (list "v1/test/e2e/authz"
16753 "v1/test/e2e/certrefresh"
16754 "v1/test/e2e/concurrency"
16755 "v1/test/e2e/diagnostics"
16756 "v1/test/e2e/distributedtracing"
16757 "v1/test/e2e/h2c"
16758 "v1/test/e2e/http"
16759 "v1/test/e2e/logs/console"
16760 "v1/test/e2e/metrics"
16761 "v1/test/e2e/shutdown"
16762 "v1/test/e2e/tls"))))))
16763 (build-system go-build-system)
16764 (arguments
16765 (list
16766 #:skip-build? #t
16767 #:import-path "github.com/open-policy-agent/opa"
16768 #:embed-files
16769 #~(list "prelude.graphql"
16770 ;; For go-github-com-santhosh-tekuri-jsonschema-v6:
16771 "applicator"
16772 "content"
16773 "core"
16774 "format"
16775 "format-annotation"
16776 "format-assertion"
16777 "meta-data"
16778 "schema"
16779 "unevaluated"
16780 "validation")
16781 #:test-flags
16782 #~(list "-short"
16783 "-skip" (string-join
16784 ;; Skip benchmark and tests requiring network access.
16785 (list ".*Bench.*"
16786 "Test405StatusCodev0"
16787 "Test405StatusCodev1"
16788 "TestAuthorization"
16789 "TestAuthorizationUsesInterQueryCache"
16790 "TestBadQueryV1"
16791 "TestBufferedLoggerIntegration"
16792 "TestBundleNoRoots"
16793 "TestBundleScope"
16794 "TestBundleScopeMultiBundle"
16795 "TestCertPoolReloading"
16796 "TestCompile.*"
16797 "TestConfigV1"
16798 "TestConfigV1WithInvalidConfig"
16799 "TestCustom.*"
16800 "TestData.*"
16801 "TestDataYAML"
16802 "TestDecisionIDs"
16803 "TestDecisionLog.*"
16804 "TestDiagnosticRoutes"
16805 "TestEnable.*"
16806 "TestExtraAuthorizerRoutes"
16807 "TestExtraMiddleware"
16808 "TestOTLP.*"
16809 "TestPolicies.*"
16810 "TestPostPartialChecks"
16811 "TestQuery.*"
16812 "TestRequest.*"
16813 "TestRunServer.*"
16814 "TestSSOCredentialService"
16815 "TestServerReloadTrigger"
16816 "TestSocketHTTPGetRequest"
16817 "TestStatusV1"
16818 "TestStatusV1MetricsWithSystemAuthzPolicy"
16819 "TestUnversionedGet.*"
16820 "TestUnversionedPost"
16821 "TestV1Pretty")
16822 "|"))))
16823 (native-inputs
16824 (list go-github-com-google-go-cmp
16825 go-github-com-spf13-cobra
16826 go-github-com-spf13-pflag
16827 go-github-com-spf13-viper))
16828 (propagated-inputs
16829 (list go-github-com-agnivade-levenshtein
16830 go-github-com-cespare-xxhash-v2
16831 go-github-com-dgraph-io-badger-v4
16832 go-github-com-fortytw2-leaktest
16833 go-github-com-foxcpp-go-mockdns
16834 go-github-com-fsnotify-fsnotify
16835 go-github-com-go-logr-logr
16836 go-github-com-gobwas-glob
16837 go-github-com-google-uuid
16838 go-github-com-hashicorp-golang-lru-v2
16839 go-github-com-huandu-go-sqlbuilder
16840 go-github-com-lestrrat-go-jwx-v3
16841 go-github-com-olekukonko-tablewriter
16842 go-github-com-opencontainers-go-digest
16843 go-github-com-opencontainers-image-spec
16844 go-github-com-prometheus-client-golang
16845 go-github-com-prometheus-client-model
16846 go-github-com-rcrowley-go-metrics
16847 go-github-com-reeflective-readline
16848 go-github-com-santhosh-tekuri-jsonschema-v6
16849 go-github-com-sergi-go-diff
16850 go-github-com-sirupsen-logrus
16851 go-github-com-tchap-go-patricia-v2
16852 go-github-com-tetratelabs-wazero
16853 go-github-com-vektah-gqlparser-v2
16854 go-github-com-xeipuuv-gojsonreference
16855 go-github-com-yashtewari-glob-intersection
16856 go-go-opentelemetry-io-contrib-bridges-prometheus
16857 go-go-opentelemetry-io-contrib-instrumentation-net-http-otelhttp
16858 go-go-opentelemetry-io-otel
16859 go-go-opentelemetry-io-otel-exporters-otlp-otlpmetric-otlpmetricgrpc
16860 go-go-opentelemetry-io-otel-exporters-otlp-otlpmetric-otlpmetrichttp
16861 go-go-opentelemetry-io-otel-exporters-otlp-otlptrace
16862 go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc
16863 go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracehttp
16864 go-go-opentelemetry-io-otel-sdk
16865 go-go-opentelemetry-io-otel-sdk-metric
16866 go-go-opentelemetry-io-otel-trace
16867 go-go-opentelemetry-io-proto-otlp
16868 go-go-yaml-in-yaml-v3
16869 go-golang-org-x-sync
16870 go-golang-org-x-term
16871 go-golang-org-x-text
16872 go-golang-org-x-time
16873 go-google-golang-org-grpc
16874 go-google-golang-org-protobuf
16875 go-gopkg-in-check-v1
16876 go-gopkg-in-ini-v1
16877 go-gopkg-in-natefinch-lumberjack-v2
16878 go-oras-land-oras-go-v2
16879 go-sigs-k8s-io-yaml))
16880 (home-page "https://github.com/open-policy-agent/opa")
16881 (synopsis "General purpose policy engine")
16882 (description
16883 "Open Policy Agent (OPA) is an open source, general-purpose policy engine
16884that enables unified, context-aware policy enforcement across the entire
16885stack.")
16886 (license license:asl2.0)))
16887
16888(define-public go-github-com-openfga-go-sdk
16889 (package
16890 (name "go-github-com-openfga-go-sdk")
16891 (version "0.7.1")
16892 (source
16893 (origin
16894 (method git-fetch)
16895 (uri (git-reference
16896 (url "https://github.com/openfga/go-sdk")
16897 (commit (string-append "v" version))))
16898 (file-name (git-file-name name version))
16899 (sha256
16900 (base32 "0z30xiqbvgi9ks0qymyw2k2pn0s07nq05nq75h924nyagm3axz0v"))))
16901 (build-system go-build-system)
16902 (arguments
16903 (list
16904 #:import-path "github.com/openfga/go-sdk"
16905 #:phases
16906 #~(modify-phases %standard-phases
16907 (add-after 'unpack 'remove-example
16908 (lambda* (#:key import-path #:allow-other-keys)
16909 (with-directory-excursion (string-append "src/" import-path)
16910 (delete-file-recursively "example")))))))
16911 (native-inputs
16912 (list go-github-com-jarcoal-httpmock))
16913 (propagated-inputs
16914 (list go-github-com-sourcegraph-conc
16915 go-go-opentelemetry-io-otel
16916 go-go-opentelemetry-io-otel-metric
16917 go-golang-org-x-sync))
16918 (home-page "https://github.com/openfga/go-sdk")
16919 (synopsis "OpenFGA SDK for Golang")
16920 (description
16921 "This package provides a wrapper around the @url{OpenFGA API,
16922https://openfga.dev/api} definition.")
16923 (license license:asl2.0)))
16924
16925(define-public go-github-com-opentracing-contrib-go-grpc
16926 (package
16927 (name "go-github-com-opentracing-contrib-go-grpc")
16928 (version "0.1.4")
16929 (source
16930 (origin
16931 (method git-fetch)
16932 (uri (git-reference
16933 (url "https://github.com/opentracing-contrib/go-grpc")
16934 (commit (string-append "v" version))))
16935 (file-name (git-file-name name version))
16936 (sha256
16937 (base32 "1igrpi9yyjpzqyzyvgc6kl5l043x1hmkki26bnny30cmxahmjnrv"))
16938 (modules '((guix build utils)))
16939 (snippet
16940 #~(begin
16941 ;; Submodules with their own go.mod files and packaged separately:
16942 (delete-file-recursively "test")))))
16943 (build-system go-build-system)
16944 (arguments
16945 (list
16946 #:import-path "github.com/opentracing-contrib/go-grpc"))
16947 (native-inputs
16948 (list go-github-com-stretchr-testify))
16949 (propagated-inputs
16950 (list go-github-com-opentracing-opentracing-go
16951 go-google-golang-org-grpc))
16952 (home-page "https://github.com/opentracing-contrib/go-grpc")
16953 (synopsis "OpenTracing support for gRPC in Go")
16954 (description
16955 "Package otgrpc provides @code{OpenTracing} support for any @code{gRPC}
16956client or server.")
16957 (license license:asl2.0)))
16958
16959(define-public go-github-com-opentracing-contrib-go-grpc-test
16960 (package
16961 (name "go-github-com-opentracing-contrib-go-grpc-test")
16962 (version "0.1.4")
16963 (source
16964 (origin
16965 (method git-fetch)
16966 (uri (git-reference
16967 (url "https://github.com/opentracing-contrib/go-grpc")
16968 (commit (string-append "v" version))))
16969 (file-name (git-file-name name version))
16970 (sha256
16971 (base32 "1igrpi9yyjpzqyzyvgc6kl5l043x1hmkki26bnny30cmxahmjnrv"))
16972 (modules '((guix build utils)))
16973 (snippet #~(delete-all-but "." "test"))))
16974 (build-system go-build-system)
16975 (arguments
16976 (list
16977 #:skip-build? #t
16978 #:import-path "github.com/opentracing-contrib/go-grpc/test"
16979 #:unpack-path "github.com/opentracing-contrib/go-grpc"))
16980 (native-inputs
16981 (list go-github-com-stretchr-testify))
16982 (propagated-inputs
16983 (list go-github-com-golang-protobuf
16984 go-github-com-opentracing-contrib-go-grpc
16985 go-github-com-opentracing-opentracing-go
16986 go-google-golang-org-grpc))
16987 (home-page "https://github.com/opentracing-contrib/go-grpc")
16988 (synopsis "Testing module for OpenTracing support for gRPC in Go")
16989 (description
16990 "Package otgrpc provides tests mocks for @code{OpenTracing} support for
16991any @code{gRPC} client or server.")
16992 (license license:asl2.0)))
16993
16994(define-public go-github-com-opentracing-contrib-go-stdlib
16995 (package
16996 (name "go-github-com-opentracing-contrib-go-stdlib")
16997 (version "1.1.0")
16998 (source
16999 (origin
17000 (method git-fetch)
17001 (uri (git-reference
17002 (url "https://github.com/opentracing-contrib/go-stdlib")
17003 (commit (string-append "v" version))))
17004 (file-name (git-file-name name version))
17005 (sha256
17006 (base32 "18ws81a30igmff4pnqfvc2sv8hcy5gjb2saqz00mgz64y8nvjfx7"))))
17007 (build-system go-build-system)
17008 (arguments
17009 (list
17010 #:skip-build? #t
17011 #:import-path "github.com/opentracing-contrib/go-stdlib"))
17012 (propagated-inputs
17013 (list go-github-com-opentracing-opentracing-go))
17014 (home-page "https://github.com/opentracing-contrib/go-stdlib")
17015 (synopsis "OpenTracing instrumentation for packages in the Golang stdlib")
17016 (description
17017 "This package provides an OpenTracing instrumentation for @code{net/http}
17018standard library.")
17019 (license license:asl2.0)))
17020
17021(define-public go-github-com-opentracing-opentracing-go
17022 (package
17023 (name "go-github-com-opentracing-opentracing-go")
17024 (version "1.2.0")
17025 (source
17026 (origin
17027 (method git-fetch)
17028 (uri
17029 (git-reference
17030 (url "https://github.com/opentracing/opentracing-go")
17031 (commit (string-append "v" version))))
17032 (file-name (git-file-name name version))
17033 (sha256
17034 (base32 "04rgdwl29kimp2wnm4dycnzp7941hvpj6wym85x23c6fclacm94h"))))
17035 (build-system go-build-system)
17036 (arguments
17037 `(#:import-path "github.com/opentracing/opentracing-go"))
17038 (native-inputs
17039 (list go-github-com-stretchr-testify))
17040 (home-page "https://github.com/opentracing/opentracing-go")
17041 (synopsis "OpenTracing API for Go")
17042 (description "OpenTracing-Go is a Go implementation of the OpenTracing API.")
17043 (license license:asl2.0)))
17044
17045(define-public go-github-com-openzipkin-zipkin-go
17046 (package
17047 (name "go-github-com-openzipkin-zipkin-go")
17048 (version "0.4.3")
17049 (source
17050 (origin
17051 (method git-fetch)
17052 (uri (git-reference
17053 (url "https://github.com/openzipkin/zipkin-go")
17054 (commit (string-append "v" version))))
17055 (file-name (git-file-name name version))
17056 (sha256
17057 (base32 "0780agn2bygi7i2nxng8n80mspaab17k95px1vf6nqil1kg8hh7m"))))
17058 (build-system go-build-system)
17059 (arguments
17060 (list
17061 #:import-path "github.com/openzipkin/zipkin-go"
17062 ;; span_test.go:56: expected valid endpoint, got error: host lookup
17063 ;; failure: lookup www.google.com on [::1]:53: read udp
17064 ;; [::1]:56302->[::1]:53: read: connection refused
17065 #:test-flags #~(list "-skip" "TestRemoteEndpoint|TestHTTPClient")))
17066 (native-inputs
17067 (list go-github-com-onsi-ginkgo-v2
17068 go-github-com-onsi-gomega))
17069 (propagated-inputs
17070 (list go-github-com-ibm-sarama
17071 go-github-com-rabbitmq-amqp091-go
17072 go-google-golang-org-grpc
17073 go-google-golang-org-protobuf))
17074 (home-page "https://github.com/openzipkin/zipkin-go")
17075 (synopsis "Zipkin Library for Go")
17076 (description
17077 "Package zipkin implements a native Zipkin instrumentation library for
17078Go. @url{https://zipkin.io/, Zipkin} is a distributed tracing system.")
17079 (license license:asl2.0)))
17080
17081(define-public go-github-com-oracle-oci-go-sdk-v65
17082 (package
17083 (name "go-github-com-oracle-oci-go-sdk-v65")
17084 (version "65.104.1")
17085 (source
17086 (origin
17087 (method git-fetch)
17088 (uri (git-reference
17089 (url "https://github.com/oracle/oci-go-sdk")
17090 (commit (string-append "v" version))))
17091 (file-name (git-file-name name version))
17092 (sha256
17093 (base32 "1d8mpawbk29s28pb269fkmgqgdv4ypwk3a26hmm2amgn4vsaaqj2"))
17094 (modules '((guix build utils)))
17095 (snippet
17096 #~(begin
17097 ;; Submodules with their own go.mod files and packaged separately:
17098 ;;
17099 ;; - example.com/faas/test-go-func
17100 (delete-file-recursively "example/example_resource_principal_function")))))
17101 (build-system go-build-system)
17102 (arguments
17103 (list
17104 #:import-path "github.com/oracle/oci-go-sdk/v65"
17105 #:test-flags
17106 #~(list "-vet=off" ;[email protected] forces vet, but tests are not ready yet.
17107 ;; panic: runtime error: invalid memory address or nil
17108 ;; pointer dereference
17109 "-skip" "TestUpload.*")
17110 #:phases
17111 #~(modify-phases %standard-phases
17112 (add-after 'unpack 'remove-example-tests
17113 (lambda* (#:key import-path #:allow-other-keys)
17114 (with-directory-excursion (string-append "src/" import-path)
17115 (for-each delete-file-recursively
17116 (find-files "example" ".*_test\\.go$")))))
17117 (add-before 'check 'pre-check
17118 (lambda* (#:key import-path #:allow-other-keys)
17119 (with-directory-excursion (string-append "src/" import-path)
17120 (substitute* "common/client.go"
17121 ;; getHomeFolder function reads current user config first
17122 ;; (which is nil) in common/client.go and set it to the root
17123 ;; of file system or "Give up and try to return something
17124 ;; sensible":
17125 ;;
17126 ;; current, e := user.Current()
17127 (("if e != nil")
17128 "if e == nil"))
17129 (setenv "DOMAIN_ENDPOINT" "dummy.dummy")
17130 (setenv "USER" "guix")
17131 (setenv "USERPROFILE" "/tmp")
17132 (setenv "HOME" "/tmp")))))))
17133 (native-inputs
17134 (list go-github-com-stretchr-testify))
17135 (propagated-inputs
17136 (list go-github-com-gofrs-flock
17137 go-github-com-sony-gobreaker
17138 go-github-com-youmark-pkcs8))
17139 (home-page "https://github.com/oracle/oci-go-sdk")
17140 (synopsis "Oracle Cloud Infrastructure Golang SDK")
17141 (description
17142 "This package provides an official Go SDK for Oracle Cloud Infrastructure.")
17143 ;; This software is dual-licensed to you under the Universal Permissive
17144 ;; License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or
17145 ;; Apache License 2.0 as shown at
17146 ;; http://www.apache.org/licenses/LICENSE-2.0. You may choose either
17147 ;; license.
17148 (license (list license:asl2.0
17149 (license:non-copyleft "https://oss.oracle.com/licenses/upl/")))))
17150
17151(define-public go-github-com-oschwald-geoip2-golang
17152 (package
17153 (name "go-github-com-oschwald-geoip2-golang")
17154 (version "1.11.0")
17155 (source
17156 (origin
17157 (method git-fetch)
17158 (uri (git-reference
17159 (url "https://github.com/oschwald/geoip2-golang")
17160 (commit (string-append "v" version))))
17161 (file-name (git-file-name name version))
17162 (sha256
17163 (base32 "0670cv1b9c2p0lx63rlwl7kplbvzr79apbw13109v0pv4qlapmhx"))))
17164 (build-system go-build-system)
17165 (arguments
17166 (list
17167 #:tests? #f ; Requires some unpackaged software and test data
17168 #:import-path "github.com/oschwald/geoip2-golang"))
17169 (propagated-inputs
17170 (list go-github-com-oschwald-maxminddb-golang))
17171 (home-page "https://github.com/oschwald/geoip2-golang")
17172 (synopsis "MaxMind GeoIP2 reader")
17173 (description
17174 "This package provides a library for reading MaxMind GeoLite2 and GeoIP2
17175databases in Go.")
17176 (license license:isc)))
17177
17178(define-public go-github-com-oschwald-geoip2-golang-v2
17179 (package
17180 (inherit go-github-com-oschwald-geoip2-golang)
17181 (name "go-github-com-oschwald-geoip2-golang-v2")
17182 (version "2.3.0")
17183 (source
17184 (origin
17185 (method git-fetch)
17186 (uri (git-reference
17187 (url "https://github.com/oschwald/geoip2-golang")
17188 (commit (string-append "v" version))))
17189 (file-name (git-file-name name version))
17190 (sha256
17191 (base32 "0xpvrbs9fbfj7yi9jh4vrsk47r9kgic6vim4yvlf11lrhq6qkgr7"))))
17192 (arguments
17193 (list
17194 #:tests? #f
17195 #:import-path "github.com/oschwald/geoip2-golang/v2"))
17196 (native-inputs
17197 (list go-github-com-stretchr-testify))
17198 (propagated-inputs
17199 (list go-github-com-oschwald-maxminddb-golang-v2))))
17200
17201(define-public go-github-com-oschwald-maxminddb-golang
17202 (package
17203 (name "go-github-com-oschwald-maxminddb-golang")
17204 (version "1.13.0")
17205 (source
17206 (origin
17207 (method git-fetch)
17208 (uri (git-reference
17209 (url "https://github.com/oschwald/maxminddb-golang")
17210 (commit (string-append "v" version))))
17211 (file-name (git-file-name name version))
17212 (sha256
17213 (base32 "1p0c10r6850znvarc9h3y0jlwika9qmq0ys7rmg2aj8x2cffz3z6"))))
17214 (build-system go-build-system)
17215 (arguments
17216 (list
17217 #:import-path "github.com/oschwald/maxminddb-golang"
17218 #:phases
17219 #~(modify-phases %standard-phases
17220 ;; XXX: Remove most of the tests requiring test-data from submodule
17221 ;; <https://github.com/maxmind/MaxMind-DB>, there is a documented
17222 ;; process on how to generate it, consider to pack and activate
17223 ;; tests in the next update cycle.
17224 (add-after 'unpack 'remove-failing-tests
17225 (lambda* (#:key import-path #:allow-other-keys)
17226 (with-directory-excursion (string-append "src/" import-path)
17227 (for-each delete-file
17228 (list "decoder_test.go"
17229 "deserializer_test.go"
17230 "example_test.go"
17231 "reader_test.go"
17232 "traverse_test.go"
17233 "verifier_test.go"))))))))
17234 (native-inputs
17235 (list go-github-com-stretchr-testify))
17236 (propagated-inputs
17237 (list go-golang-org-x-sys))
17238 (home-page "https://github.com/oschwald/maxminddb-golang")
17239 (synopsis "MaxMind DB Reader for Go")
17240 (description
17241 "This is a Go reader for the MaxMind DB format. Although this can be
17242used to read GeoLite2 and GeoIP2 databases, @code{geoip2} provides a
17243higher-level API for doing so.")
17244 (license license:isc)))
17245
17246(define-public go-github-com-oschwald-maxminddb-golang-v2
17247 (package
17248 (inherit go-github-com-oschwald-maxminddb-golang)
17249 (name "go-github-com-oschwald-maxminddb-golang-v2")
17250 (version "2.5.0")
17251 (source
17252 (origin
17253 (method git-fetch)
17254 (uri (git-reference
17255 (url "https://github.com/oschwald/maxminddb-golang")
17256 (commit (string-append "v" version))))
17257 (file-name (git-file-name name version))
17258 (sha256
17259 (base32 "05cfdil456f53gsa4jpb53639pv2rqixcz15qbfjkz59x2f7pksq"))))
17260 (arguments
17261 (list
17262 #:import-path "github.com/oschwald/maxminddb-golang/v2"
17263 #:test-flags
17264 ;; XXX: Tests depend on upackaged https://github.com/maxmind/MaxMind-DB
17265 ;; used as test-data git submodule.
17266 #~(list "-skip" (string-join
17267 (list "TestBadDataFixtures"
17268 "TestBrokenDoubleDatabase"
17269 "TestComplexStructWithNestingAndPointer"
17270 "TestCustomUnmarshaler"
17271 "TestDecodePath"
17272 "TestDecoder"
17273 "TestDecodingToInterface"
17274 "TestDecodingToNonPointer"
17275 "TestDecodingUint16IntoInt"
17276 "TestDisableStringCache"
17277 "TestEmbeddedStructAsInterface"
17278 "TestFallbackToReflection"
17279 "TestGenerateGoldenIsDeterministicAndCompiles"
17280 "TestGenerateTracksImportsAndPackageNameCollisions"
17281 "TestGenerateUsesNestedCursorUnmarshalers"
17282 "TestGeneratedImportAliasesCannotBeShadowed"
17283 "TestGeoIPNetworksWithin"
17284 "TestInvalidNodeCountDatabase"
17285 "TestIpv6inIpv4"
17286 "TestLookupIPv4OnlyDB"
17287 "TestLookupIPv4VsIPv6Mixed"
17288 "TestLookupNetwork"
17289 "TestLookupRejectsDataPointersOutsideDataSection"
17290 "TestLookupRejectsInvalidAddress"
17291 "TestMetadataBuildTime"
17292 "TestMetadataPointer"
17293 "TestNestedMapDecode"
17294 "TestNestedOffsetDecode"
17295 "TestNetworks"
17296 "TestNetworksWithInvalidSearchTree"
17297 "TestNetworksWithin"
17298 "TestNetworksWithinInvalidPrefix"
17299 "TestNonEmptyNilInterface"
17300 "TestPointers"
17301 "TestPointersInDecoder"
17302 "TestReader"
17303 "TestReaderBytes"
17304 "TestReaderLeaks"
17305 "TestRegenerationDropsInvalidAliasReceivers"
17306 "TestRegenerationDropsInvalidDefinedReceivers"
17307 "TestResultDecodeAfterReaderClose"
17308 "TestSetIPv4StartKnownValues"
17309 "TestSkipEmptyValues"
17310 "TestSkipEmptyValuesWithNetworksWithin"
17311 "TestSkipEmptyValuesWithOtherOptions"
17312 "TestStructInterface"
17313 "TestUsingClosedDatabase"
17314 "TestValueTypeInterface"
17315 "TestVerifyOnBrokenDatabases"
17316 "TestVerifyOnGoodDatabases")
17317 "|"))
17318 #:phases
17319 #~(modify-phases %standard-phases
17320 (add-after 'unpack 'remove-examples
17321 (lambda* (#:key tests? import-path #:allow-other-keys)
17322 (with-directory-excursion (string-append "src/" import-path)
17323 (delete-file "example_test.go")
17324 (delete-file "example_uint_test.go")))))))
17325 (propagated-inputs
17326 (list go-golang-org-x-sys
17327 go-golang-org-x-tools))))
17328
17329(define-public go-github-com-osrg-gobgp-v3
17330 (package
17331 (name "go-github-com-osrg-gobgp-v3")
17332 (version "3.37.0")
17333 (source
17334 (origin
17335 (method git-fetch)
17336 (uri (git-reference
17337 (url "https://github.com/osrg/gobgp")
17338 (commit (string-append "v" version))))
17339 (file-name (git-file-name name version))
17340 (sha256
17341 (base32 "1kk9ri15a2950z22nw12mb69w7nyjawhjzig7vp3xba74sdhj7in"))))
17342 (build-system go-build-system)
17343 (arguments
17344 (list
17345 #:skip-build? #t
17346 #:import-path "github.com/osrg/gobgp/v3"))
17347 (native-inputs
17348 (list go-github-com-go-test-deep
17349 go-github-com-google-go-cmp
17350 go-github-com-prometheus-client-model
17351 go-github-com-stretchr-testify))
17352 (propagated-inputs
17353 (list go-github-com-burntsushi-toml
17354 go-github-com-coreos-go-systemd-v22
17355 go-github-com-dgryski-go-farm
17356 go-github-com-eapache-channels
17357 go-github-com-fsnotify-fsnotify
17358 go-github-com-getsentry-sentry-go
17359 go-github-com-google-uuid
17360 go-github-com-grpc-ecosystem-go-grpc-prometheus
17361 go-github-com-jessevdk-go-flags
17362 go-github-com-k-sone-critbitgo
17363 go-github-com-kr-pretty
17364 go-github-com-prometheus-client-golang
17365 go-github-com-sirupsen-logrus
17366 go-github-com-spf13-cobra
17367 go-github-com-spf13-viper
17368 go-github-com-vishvananda-netlink
17369 go-golang-org-x-sys
17370 go-golang-org-x-text
17371 go-golang-org-x-time
17372 go-google-golang-org-grpc
17373 go-google-golang-org-protobuf))
17374 (home-page "https://osrg.github.io/gobgp/")
17375 (synopsis "BGP implemented in Golang")
17376 (description
17377 "@code{GoBGP} is an
17378@url{https://en.wikipedia.org/wiki/Border_Gateway_Protocol, @acronym{BGP,
17379Border Gateway Protocol}} implementation.")
17380 (license license:asl2.0)))
17381
17382(define-public go-github-com-ovn-kubernetes-libovsdb
17383 ;; The package go-github-com-ovn-org-libovsdb needs to be inherited from
17384 ;; here according to upstream declaimer: "This library has been moved to
17385 ;; <https://github.com/ovn-kubernetes/libovsdb>".
17386 (package
17387 (name "go-github-com-ovn-kubernetes-libovsdb")
17388 (version "0.8.0")
17389 (source
17390 (origin
17391 (method git-fetch)
17392 (uri (git-reference
17393 (url "https://github.com/ovn-kubernetes/libovsdb")
17394 (commit (string-append "v" version))))
17395 (file-name (git-file-name name version))
17396 (sha256
17397 (base32 "0f3axb7j8ykimiypgarg4icjgykwsvz0fjp7vich5bj7z5qvdslx"))))
17398 (build-system go-build-system)
17399 (arguments
17400 (list
17401 #:skip-build? #t
17402 #:import-path "github.com/ovn-kubernetes/libovsdb"
17403 #:test-flags
17404 #~(list "-coverprofile=unit.cov"
17405 "-test.short"
17406 "-timeout" "30s"
17407 "-skip" (string-join
17408 (list
17409 ;; cannot parse column object json: cannot unmarshal
17410 ;; number 4294967295 into Go struct field .type of
17411 ;; type int
17412 #$@(if (target-32bit?)
17413 #~("TestCheckIndexes.*"
17414 "TestClientServer.*"
17415 "TestModelUpdates.*"
17416 "TestMonitorFilter.*"
17417 "TestMultipleOps.*"
17418 "TestMutateOp"
17419 "TestOvsdbServer.*"
17420 "TestReferentialIntegrity"
17421 "TestTableCache_ApplyModelUpdates"
17422 "TestTransactionLogger"
17423 "TestUnsetOptional"
17424 "TestUpdateOptional"
17425 "TestUpdates_AddOperation"
17426 "TestWaitOpEquals"
17427 "TestWaitOpNotEquals"
17428 "Test_merge")
17429 #~()))
17430 "|")
17431 "-vet=off")
17432 #:phases
17433 #~(modify-phases %standard-phases
17434 (add-after 'unpack 'remove-examples
17435 (lambda* (#:key tests? import-path #:allow-other-keys)
17436 (with-directory-excursion (string-append "src/" import-path)
17437 (delete-file-recursively "example"))))
17438 #$@(if (target-32bit?)
17439 ;; cannot use 4294967295 (untyped int constant) as int value
17440 ;; in assignment (overflows)
17441 #~((add-after 'unpack 'remove-problematic-test-files
17442 (lambda* (#:key tests? import-path #:allow-other-keys)
17443 (with-directory-excursion (string-append "src/" import-path)
17444 (delete-file "ovsdb/schema_test.go")))))
17445 #~())
17446 (add-after 'remove-examples 'remove-integration-tests
17447 (lambda* (#:key tests? import-path #:allow-other-keys)
17448 (with-directory-excursion (string-append "src/" import-path)
17449 (for-each delete-file-recursively
17450 (list "modelgen/table_test.go"
17451 "test/ovs/ovs_integration_test.go"))))))))
17452 (native-inputs
17453 (list ;; go-github-com-ory-dockertest-v3 ;for integration tests
17454 go-github-com-stretchr-testify))
17455 (propagated-inputs
17456 (list go-github-com-cenkalti-backoff-v4
17457 go-github-com-cenkalti-rpc2
17458 go-github-com-go-logr-logr
17459 go-github-com-go-logr-stdr
17460 go-github-com-google-uuid
17461 go-github-com-prometheus-client-golang
17462 go-golang-org-x-text))
17463 (home-page "https://github.com/ovn-kubernetes/libovsdb")
17464 (synopsis "OVSDB Client Library in Golang")
17465 (description
17466 "This package implements @acronym{OVSDB, Open vSwitch Database Protocol}
17467specified in @url{http://tools.ietf.org/html/rfc7047, RFC 7047}. It's used
17468mainly for managing the configuration of Open vSwitch and OVN, but it could
17469also be used to manage your stamp collection.")
17470 (license license:asl2.0)))
17471
17472(define-public go-github-com-package-url-packageurl-go
17473 (package
17474 (name "go-github-com-package-url-packageurl-go")
17475 (version "0.1.5")
17476 (source
17477 (origin
17478 (method git-fetch)
17479 (uri (git-reference
17480 (url "https://github.com/package-url/packageurl-go")
17481 (commit (string-append "v" version))))
17482 (file-name (git-file-name name version))
17483 (sha256
17484 (base32 "1yjqmijynkjhz69nxj8x13hd547m0lfk3dsb68j6dbklf2p2i8xd"))))
17485 (build-system go-build-system)
17486 (arguments
17487 (list
17488 #:import-path "github.com/package-url/packageurl-go"
17489 #:test-flags
17490 #~(list "-skip" (string-join
17491 ;; open testdata/test-suite-data.json:
17492 ;; no such file or directory
17493 (list "TestFromStringExamples"
17494 "TestToStringExamples"
17495 "TestStringer"
17496 "TestPurlSpecFixtures")
17497 "|"))))
17498 (home-page "https://github.com/package-url/packageurl-go")
17499 (synopsis "Implementation of package-url in Golang")
17500 (description
17501 "This package provides a Golang implementation of the
17502@url{https://ecma-tc54.github.io/ECMA-427/, package-url specification}.")
17503 (license license:expat)))
17504
17505(define-public go-github-com-pascaldekloe-goe
17506 (package
17507 (name "go-github-com-pascaldekloe-goe")
17508 (version "0.1.1")
17509 (source
17510 (origin
17511 (method git-fetch)
17512 (uri (git-reference
17513 (url "https://github.com/pascaldekloe/goe")
17514 (commit (string-append "v" version))))
17515 (file-name (git-file-name name version))
17516 (sha256
17517 (base32 "1mszfjcc29b6nvw3hs8w33iy6zx6ih5v2jlard0dsrgkpvsx5c81"))))
17518 (build-system go-build-system)
17519 (arguments
17520 (list
17521 #:skip-build? #t
17522 #:import-path "github.com/pascaldekloe/goe"
17523 #:test-flags #~(list "-vet=off")))
17524 (home-page "https://github.com/pascaldekloe/goe")
17525 (synopsis "Enterprise tooling for Golang")
17526 (description
17527 "Common enterprise features for the Go programming language.")
17528 (license license:cc0)))
17529
17530(define-public go-github-com-performancecopilot-speed-v4
17531 (package
17532 (name "go-github-com-performancecopilot-speed-v4")
17533 (version "4.0.0")
17534 (source
17535 (origin
17536 (method git-fetch)
17537 (uri (git-reference
17538 (url "https://github.com/performancecopilot/speed")
17539 (commit (string-append "v" version))))
17540 (file-name (git-file-name name version))
17541 (sha256
17542 (base32 "0zpf42pid3cd3sqv4gy2h51adq2zpw0pi0v3fpgxqna4iia280j0"))))
17543 (build-system go-build-system)
17544 (arguments
17545 (list
17546 #:import-path "github.com/performancecopilot/speed/v4"))
17547 (propagated-inputs
17548 (list go-github-com-edsrzf-mmap-go
17549 go-github-com-hdrhistogram-hdrhistogram-go
17550 go-github-com-pkg-errors))
17551 (home-page "https://github.com/performancecopilot/speed")
17552 (synopsis "Performance Co-Pilot instrumentation API in Golang")
17553 (description
17554 "Package speed implements a golang client for the @url{https://pcp.io/,
17555Performance Co-Pilot}, system performance analysis toolkit, instrumentation
17556API.")
17557 (license license:expat)))
17558
17559(define-public go-github-com-perimeterx-marshmallow
17560 (package
17561 (name "go-github-com-perimeterx-marshmallow")
17562 (version "1.1.5")
17563 (source
17564 (origin
17565 (method git-fetch)
17566 (uri (git-reference
17567 (url "https://github.com/PerimeterX/marshmallow")
17568 (commit (string-append "v" version))))
17569 (file-name (git-file-name name version))
17570 (sha256
17571 (base32 "0jxpjfyshcbrmj9qmj3sr21va6kw7hs55w2gaz9118jd861s6mbw"))))
17572 (build-system go-build-system)
17573 (arguments
17574 (list
17575 #:import-path "github.com/perimeterx/marshmallow"
17576 #:test-flags #~(list "-vet=off")))
17577 (native-inputs
17578 (list go-github-com-go-test-deep))
17579 (propagated-inputs
17580 (list go-github-com-mailru-easyjson
17581 go-github-com-ugorji-go-codec))
17582 (home-page "https://github.com/perimeterx/marshmallow")
17583 (synopsis "JSON unmarshalling in Golang")
17584 (description
17585 "This package provides a simple API to perform JSON unmarshalling.
17586It supports unmarshalling of some known and some unknown fields with zero
17587performance overhead. While unmarshalling, it allows fully retaining the
17588original data and access it via a typed struct and a dynamic map.")
17589 (license license:expat)))
17590
17591(define-public go-github-com-peterbourgon-unixtransport
17592 (package
17593 (name "go-github-com-peterbourgon-unixtransport")
17594 (version "0.0.4")
17595 (source
17596 (origin
17597 (method git-fetch)
17598 (uri (git-reference
17599 (url "https://github.com/peterbourgon/unixtransport")
17600 (commit (string-append "v" version))))
17601 (file-name (git-file-name name version))
17602 (sha256
17603 (base32 "0c5j01bqwh8zy3n2mynh6irh30wfv6sdd1a34yhhg39l9xbpj51g"))))
17604 (build-system go-build-system)
17605 (arguments
17606 (list
17607 #:import-path "github.com/peterbourgon/unixtransport"))
17608 (propagated-inputs
17609 (list go-github-com-miekg-dns
17610 go-github-com-oklog-run
17611 go-github-com-peterbourgon-ff-v3))
17612 (home-page "https://github.com/peterbourgon/unixtransport")
17613 (synopsis "Support for Unix domain sockets in Go HTTP clients")
17614 (description
17615 "This package adds support for Unix domain sockets in Go HTTP clients.")
17616 (license license:asl2.0)))
17617
17618(define-public go-github-com-phayes-freeport
17619 (package
17620 (name "go-github-com-phayes-freeport")
17621 (version "1.0.2")
17622 (source
17623 (origin
17624 (method git-fetch)
17625 (uri (git-reference
17626 (url "https://github.com/phayes/freeport")
17627 (commit (go-version->git-ref version))))
17628 (file-name (git-file-name name version))
17629 (sha256
17630 (base32 "1gwaan8fwmc5lfx4dzymq0jd6z2l1frg83jkmjpm4kw8ay4vr11q"))))
17631 (build-system go-build-system)
17632 (arguments
17633 (list
17634 #:import-path "github.com/phayes/freeport"))
17635 (home-page "https://github.com/phayes/freeport")
17636 (synopsis "Find a free and open TCP port")
17637 (description
17638 "This package provides a Go library that finds a free open TCP port that
17639is ready to use.")
17640 (license license:bsd-3)))
17641
17642(define-public go-github-com-phemmer-go-iptrie
17643 (package
17644 (name "go-github-com-phemmer-go-iptrie")
17645 (version "0.0.0-20240326174613-ba542f5282c9")
17646 (source
17647 (origin
17648 (method git-fetch)
17649 (uri (git-reference
17650 (url "https://github.com/phemmer/go-iptrie")
17651 (commit (go-version->git-ref version))))
17652 (file-name (git-file-name name version))
17653 (sha256
17654 (base32 "1ns7qd8s6lbrm9gybdxjxcpq7n9yr9q79mmvzmil537qq5fp8kg8"))))
17655 (build-system go-build-system)
17656 (arguments
17657 (list
17658 #:import-path "github.com/phemmer/go-iptrie"
17659 #:phases
17660 #~(modify-phases %standard-phases
17661 (add-after 'unpack 'remove-benchmarks
17662 (lambda* (#:key import-path #:allow-other-keys)
17663 (with-directory-excursion (string-append "src/" import-path)
17664 (delete-file-recursively "benchmark")))))))
17665 (native-inputs
17666 (list go-github-com-stretchr-testify))
17667 (home-page "https://github.com/phemmer/go-iptrie")
17668 (synopsis "IP storage & lookup using a trie in Golang")
17669 (description
17670 "Package iptrie provides an IP/network tree (trie) implementation for
17671fast IP address lookups.")
17672 (license license:expat)))
17673
17674(define-public go-github-com-pion-datachannel
17675 (package
17676 (name "go-github-com-pion-datachannel")
17677 (version "1.6.0")
17678 (source
17679 (origin
17680 (method git-fetch)
17681 (uri (git-reference
17682 (url "https://github.com/pion/datachannel")
17683 (commit (string-append "v" version))))
17684 (file-name (git-file-name name version))
17685 (sha256
17686 (base32 "1la92n41rdsq798g49j8rbd0ryfkqy67iqn20cwwrl244k8g0gql"))))
17687 (build-system go-build-system)
17688 (arguments
17689 (list
17690 #:import-path "github.com/pion/datachannel"))
17691 (native-inputs
17692 (list go-github-com-stretchr-testify))
17693 (propagated-inputs
17694 (list go-github-com-pion-logging
17695 go-github-com-pion-sctp
17696 go-github-com-pion-transport-v4))
17697 (home-page "https://github.com/pion/datachannel")
17698 (synopsis "Implementation of WebRTC Data Channels in Golang")
17699 (description
17700 "This package implements @code{WebRTC} Data Channels.")
17701 (license license:expat)))
17702
17703(define-public go-github-com-pion-dtls
17704 (package
17705 (name "go-github-com-pion-dtls")
17706 (version "1.5.4")
17707 (source
17708 (origin
17709 (method git-fetch)
17710 (uri (git-reference
17711 (url "https://github.com/pion/dtls")
17712 (commit (string-append "v" version))))
17713 (file-name (git-file-name name version))
17714 (sha256
17715 (base32 "0qc5dbgh31lilbd1lpmajj1fjzy4jx9iadzqgl9jd1ry9fj3ly1d"))))
17716 (build-system go-build-system)
17717 (arguments
17718 (list
17719 ;; XXX: TestClientCertificate: Client failed(x509: certificate relies on
17720 ;; legacy Common Name field, use SANs instead)
17721 #:tests? #f
17722 #:import-path "github.com/pion/dtls"))
17723 (propagated-inputs
17724 (list go-github-com-pion-logging
17725 go-github-com-pion-transport
17726 go-golang-org-x-crypto))
17727 (home-page "https://github.com/pion/dtls")
17728 (synopsis "DTLS 1.2 Server/Client implementation for Go")
17729 (description
17730 "This package provides a native
17731@url{https://datatracker.ietf.org/doc/html/rfc6347, DTLS 1.2} implementation
17732in Golang.")
17733 (license license:expat)))
17734
17735(define-public go-github-com-pion-dtls-v2
17736 (package
17737 (inherit go-github-com-pion-dtls)
17738 (name "go-github-com-pion-dtls-v2")
17739 (version "2.2.12")
17740 (source
17741 (origin
17742 (inherit (package-source go-github-com-pion-dtls))
17743 (uri (git-reference
17744 (url "https://github.com/pion/dtls")
17745 (commit (string-append "v" version))))
17746 (file-name (git-file-name name version))
17747 (sha256
17748 (base32 "0fihyk4p7mqilj4ymdrgns6fg3c2pfsi12v145im5vy1gxy6lc42"))))
17749 (arguments
17750 (list
17751 #:import-path "github.com/pion/dtls/v2"))
17752 (native-inputs
17753 (list go-github-com-stretchr-testify))
17754 (propagated-inputs
17755 (list go-github-com-pion-logging
17756 go-github-com-pion-transport-v2
17757 go-golang-org-x-crypto
17758 go-golang-org-x-net))))
17759
17760(define-public go-github-com-pion-dtls-v3
17761 (package
17762 (inherit go-github-com-pion-dtls-v2)
17763 (name "go-github-com-pion-dtls-v3")
17764 (version "3.1.2")
17765 (source
17766 (origin
17767 (inherit (package-source go-github-com-pion-dtls))
17768 (uri (git-reference
17769 (url "https://github.com/pion/dtls")
17770 (commit (string-append "v" version))))
17771 (file-name (git-file-name name version))
17772 (sha256
17773 (base32 "12wfn5jjwwydq1mz88dg6jd25j5z45fxaan9l05rhr0hhhngpgrh"))))
17774 (arguments
17775 (list
17776 #:import-path "github.com/pion/dtls/v3"))
17777 (native-inputs
17778 (list go-github-com-stretchr-testify))
17779 (propagated-inputs
17780 (list go-github-com-pion-logging
17781 go-github-com-pion-transport-v4
17782 go-golang-org-x-crypto
17783 go-golang-org-x-net))))
17784
17785(define-public go-github-com-pion-ice
17786 (package
17787 (name "go-github-com-pion-ice")
17788 (version "0.7.18")
17789 (source
17790 (origin
17791 (method git-fetch)
17792 (uri (git-reference
17793 (url "https://github.com/pion/ice/")
17794 (commit (string-append "v" version))))
17795 (file-name (git-file-name name version))
17796 (sha256
17797 (base32 "17108z4fkr9b2fxf5icxspgif29a40gi57bhp9a50mlfr36yv9vk"))))
17798 (build-system go-build-system)
17799 (arguments
17800 (list
17801 ;; Source-only package
17802 #:tests? #f
17803 #:import-path "https://github.com/pion/ice"
17804 #:phases
17805 ;; Failed to build and only required for inheritance:
17806 ;;
17807 ;; cannot use a.net (type *vnet.Net) as type transport.Net in field value:
17808 ;; *vnet.Net does not implement transport.Net (wrong type for CreateDialer method)
17809 ;; have CreateDialer(*net.Dialer) vnet.Dialer
17810 ;; want CreateDialer(*net.Dialer) transport.Dialer
17811 #~(modify-phases %standard-phases
17812 (delete 'build))))
17813 (native-inputs
17814 (list go-github-com-stretchr-testify))
17815 (propagated-inputs
17816 (list go-github-com-google-uuid
17817 go-github-com-pion-dtls-v2
17818 go-github-com-pion-logging
17819 go-github-com-pion-mdns
17820 go-github-com-pion-randutil
17821 go-github-com-pion-stun
17822 go-github-com-pion-transport
17823 go-github-com-pion-turn-v2
17824 go-golang-org-x-net))
17825 (home-page "https://github.com/pion/ice/")
17826 (synopsis "Go implementation of ICE")
17827 (description
17828 "This package provides an implementation of @acronym{ICE, Interactive
17829Connectivity Establishment protocol}, specified in
17830@url{https://datatracker.ietf.org/doc/html/rfc8445, RFC8445}. It is used as a
17831part of @url{https://github.com/pion, Pion} WebRTC implementation.")
17832 (license license:expat)))
17833
17834(define-public go-github-com-pion-ice-v2
17835 (package
17836 (inherit go-github-com-pion-ice)
17837 (name "go-github-com-pion-ice-v2")
17838 (version "2.3.34")
17839 (source
17840 (origin
17841 (method git-fetch)
17842 (uri (git-reference
17843 (url "https://github.com/pion/ice/")
17844 (commit (string-append "v" version))))
17845 (file-name (git-file-name name version))
17846 (sha256
17847 (base32 "1hiiwd3xchlybbvgd33s0i7rcwgrdiw3q963avzziycimia0qyvz"))))
17848 (arguments
17849 (list
17850 #:tests? #f ;Tests require network access.
17851 #:import-path "github.com/pion/ice/v2"))
17852 (propagated-inputs
17853 (list go-github-com-google-uuid
17854 go-github-com-pion-dtls-v2
17855 go-github-com-pion-logging
17856 go-github-com-pion-mdns
17857 go-github-com-pion-randutil
17858 go-github-com-pion-stun
17859 go-github-com-pion-transport-v2
17860 go-github-com-pion-turn-v2
17861 go-golang-org-x-net))))
17862
17863(define-public go-github-com-pion-ice-v3
17864 (package
17865 (inherit go-github-com-pion-ice)
17866 (name "go-github-com-pion-ice-v3")
17867 (version "3.0.7")
17868 (source
17869 (origin
17870 (method git-fetch)
17871 (uri (git-reference
17872 (url "https://github.com/pion/ice/")
17873 (commit (string-append "v" version))))
17874 (file-name (git-file-name name version))
17875 (sha256
17876 (base32 "0f9jy80law69zb26rkb6kl6w1c66vdghdrmifhwlmzngb644ihdb"))))
17877 (arguments
17878 (list
17879 #:tests? #f ;Tests require network access.
17880 #:import-path "github.com/pion/ice/v3"))
17881 (propagated-inputs
17882 (list go-github-com-google-uuid
17883 go-github-com-pion-dtls-v2
17884 go-github-com-pion-logging
17885 go-github-com-pion-mdns-v2
17886 go-github-com-pion-randutil
17887 go-github-com-pion-stun-v2
17888 go-github-com-pion-transport-v3
17889 go-github-com-pion-turn-v3
17890 go-golang-org-x-net))))
17891
17892(define-public go-github-com-pion-ice-v4
17893 (package
17894 (inherit go-github-com-pion-ice-v3)
17895 (name "go-github-com-pion-ice-v4")
17896 (version "4.2.0")
17897 (source
17898 (origin
17899 (method git-fetch)
17900 (uri (git-reference
17901 (url "https://github.com/pion/ice/")
17902 (commit (string-append "v" version))))
17903 (file-name (git-file-name name version))
17904 (sha256
17905 (base32 "18xys90qh2i88wfsr6gsvkivbhl0fypcgf3ffcacsc5jfrk235sm"))))
17906 (arguments
17907 (list
17908 #:tests? #f ;Tests require network access.
17909 #:import-path "github.com/pion/ice/v4"))
17910 (propagated-inputs
17911 (modify-inputs propagated-inputs
17912 (replace "go-github-com-pion-dtls-v2" go-github-com-pion-dtls-v3)
17913 (replace "go-github-com-pion-stun-v2" go-github-com-pion-stun-v3)
17914 (replace "go-github-com-pion-turn-v3" go-github-com-pion-turn-v4)))))
17915
17916(define-public go-github-com-pion-interceptor
17917 (package
17918 (name "go-github-com-pion-interceptor")
17919 (version "0.1.44")
17920 (source
17921 (origin
17922 (method git-fetch)
17923 (uri (git-reference
17924 (url "https://github.com/pion/interceptor")
17925 (commit (string-append "v" version))))
17926 (file-name (git-file-name name version))
17927 (sha256
17928 (base32 "1k180k2c23pbn03mx8sr31r0bi3zbgv74kkb6wnc74b4awbzj5ni"))))
17929 (build-system go-build-system)
17930 (arguments
17931 (list
17932 #:import-path "github.com/pion/interceptor"))
17933 (native-inputs
17934 (list go-github-com-stretchr-testify))
17935 (propagated-inputs
17936 (list go-github-com-pion-logging
17937 go-github-com-pion-rtcp
17938 go-github-com-pion-rtp
17939 go-github-com-pion-transport-v3
17940 go-golang-org-x-time))
17941 (home-page "https://github.com/pion/interceptor")
17942 (synopsis "Pluggable RTP/RTCP processors for building real time communication")
17943 (description
17944 "Interceptor is a framework for building RTP/RTCP communication software.
17945This framework defines a interface that each interceptor must satisfy. These
17946interceptors are then run sequentially.")
17947 (license license:expat)))
17948
17949(define-public go-github-com-pion-mdns
17950 (package
17951 (name "go-github-com-pion-mdns")
17952 (version "0.0.12")
17953 (source
17954 (origin
17955 (method git-fetch)
17956 (uri (git-reference
17957 (url "https://github.com/pion/mdns/")
17958 (commit (string-append "v" version))))
17959 (file-name (git-file-name name version))
17960 (sha256
17961 (base32 "18nz0vddxik3q11mn4z65zvrfhspxv0xymxv9w3kgk2kszwq2byy"))))
17962 (build-system go-build-system)
17963 (arguments
17964 (list
17965 ;; Tests are implemented in GitHub Actions and require additional
17966 ;; packaging, see
17967 ;; <https://github.com/pion/.goassets/blob/master/.github/workflows/test.reusable.yml>.
17968 #:tests? #f
17969 #:unpack-path "github.com/pion/mdns"
17970 #:import-path "github.com/pion/mdns"))
17971 (native-inputs
17972 (list go-github-com-stretchr-testify))
17973 (propagated-inputs
17974 (list go-github-com-pion-logging
17975 go-github-com-pion-transport-v3
17976 go-golang-org-x-net))
17977 (home-page "https://github.com/pion/mdns/")
17978 (synopsis "Pure Go implementation of Multicast DNS")
17979 (description
17980 "This package implements a mDNS (multicast DNS) used by
17981@url{https://github.com/pion, Pion}.")
17982 (license license:expat)))
17983
17984(define-public go-github-com-pion-mdns-v2
17985 (package
17986 (inherit go-github-com-pion-mdns)
17987 (name "go-github-com-pion-mdns-v2")
17988 (version "2.1.0")
17989 (source
17990 (origin
17991 (method git-fetch)
17992 (uri (git-reference
17993 (url "https://github.com/pion/mdns/")
17994 (commit (string-append "v" version))))
17995 (file-name (git-file-name name version))
17996 (sha256
17997 (base32 "0aiisfldvrj71icnpzkyfjcm853bvcjw93cx98d4pcl66gs0rg7n"))))
17998 (arguments
17999 (substitute-keyword-arguments (package-arguments
18000 go-github-com-pion-mdns)
18001 ((#:unpack-path flags ''())
18002 "github.com/pion/mdns/v2")
18003 ((#:import-path flags ''())
18004 "github.com/pion/mdns/v2")))))
18005
18006(define-public go-github-com-pion-rtcp
18007 (package
18008 (name "go-github-com-pion-rtcp")
18009 (version "1.2.16")
18010 (source
18011 (origin
18012 (method git-fetch)
18013 (uri (git-reference
18014 (url "https://github.com/pion/rtcp")
18015 (commit (string-append "v" version))))
18016 (file-name (git-file-name name version))
18017 (sha256
18018 (base32 "1aj2zapmah998jaaas7b599drpyw85zivfkk3kxrwbqqqpw339qp"))))
18019 (build-system go-build-system)
18020 (arguments
18021 (list
18022 #:import-path "github.com/pion/rtcp"))
18023 (native-inputs
18024 (list go-github-com-stretchr-testify))
18025 (home-page "https://github.com/pion/rtcp")
18026 (synopsis "Implementation of RTCP protocol in Golang")
18027 (description
18028 "Package rtcp implements encoding and decoding of RTCP packets according
18029to @url{https://www.rfc-editor.org/rfc/rfc3550, RFC 3550},
18030@url{https://www.rfc-editor.org/rfc/rfc5506, RFC 5506}.")
18031 (license license:expat)))
18032
18033(define-public go-github-com-pion-rtp
18034 (package
18035 (name "go-github-com-pion-rtp")
18036 (version "1.10.1")
18037 (source
18038 (origin
18039 (method git-fetch)
18040 (uri (git-reference
18041 (url "https://github.com/pion/rtp")
18042 (commit (string-append "v" version))))
18043 (file-name (git-file-name name version))
18044 (sha256
18045 (base32 "0cnx8g1bhla8sxrqcp4r5lxjj8jzjk9vrz6jsrwxd1y4a96m0slj"))))
18046 (build-system go-build-system)
18047 (arguments
18048 (list
18049 #:import-path "github.com/pion/rtp"))
18050 (native-inputs
18051 (list go-github-com-stretchr-testify))
18052 (propagated-inputs
18053 (list go-github-com-pion-randutil))
18054 (home-page "https://github.com/pion/rtp")
18055 (synopsis "Go implementation of RTP")
18056 (description
18057 "This package provides a @acronym{Real-time Transport Protocol, RTP}
18058packetizer and depacketizer.")
18059 (license license:expat)))
18060
18061(define-public go-github-com-pion-sctp
18062 (package
18063 (name "go-github-com-pion-sctp")
18064 (version "1.9.2")
18065 (source
18066 (origin
18067 (method git-fetch)
18068 (uri (git-reference
18069 (url "https://github.com/pion/sctp")
18070 (commit (string-append "v" version))))
18071 (file-name (git-file-name name version))
18072 (sha256
18073 (base32 "0byfznyagyq9xp20iy3rd4pnriy727csvkn7jhm60wwr47151rzs"))))
18074 (build-system go-build-system)
18075 (arguments
18076 (list
18077 #:import-path "github.com/pion/sctp"))
18078 (native-inputs
18079 (list go-github-com-stretchr-testify))
18080 (propagated-inputs
18081 (list go-github-com-pion-logging
18082 go-github-com-pion-randutil
18083 go-github-com-pion-transport-v4))
18084 (home-page "https://github.com/pion/sctp")
18085 (synopsis "Implementation of SCTP in Golang")
18086 (description
18087 "This package implements the @acronym{Stream Control Transmission
18088Protocol,SCTP} as specified in
18089@uref{https://rfc-editor.org/rfc/rfc9260.html,RFC 9260}.")
18090 (license license:expat)))
18091
18092(define-public go-github-com-pion-sdp-v3
18093 (package
18094 (name "go-github-com-pion-sdp-v3")
18095 (version "3.0.17")
18096 (source
18097 (origin
18098 (method git-fetch)
18099 (uri (git-reference
18100 (url "https://github.com/pion/sdp")
18101 (commit (string-append "v" version))))
18102 (file-name (git-file-name name version))
18103 (sha256
18104 (base32 "03i8csyagyh8ybm0niwsva7h1qgg9nn68mlhdxdrzxadf2564dn9"))))
18105 (build-system go-build-system)
18106 (arguments
18107 (list
18108 #:import-path "github.com/pion/sdp/v3"))
18109 (native-inputs
18110 (list go-github-com-stretchr-testify))
18111 (propagated-inputs
18112 (list go-github-com-pion-randutil))
18113 (home-page "https://github.com/pion/sdp")
18114 (synopsis "Implementation of the SDP protocol in Golang")
18115 (description
18116 "Package sdp implements @acronym{Session Description Protocol,SDP}.")
18117 (license license:expat)))
18118
18119(define-public go-github-com-pion-srtp-v2
18120 (package
18121 (name "go-github-com-pion-srtp-v2")
18122 (version "2.0.20")
18123 (source
18124 (origin
18125 (method git-fetch)
18126 (uri (git-reference
18127 (url "https://github.com/pion/srtp")
18128 (commit (string-append "v" version))))
18129 (file-name (git-file-name name version))
18130 (sha256
18131 (base32 "1ijwx9mrc0ha8fam6y6xxih59dyr8hg9ly476kv6gfw564qfp7hk"))))
18132 (build-system go-build-system)
18133 (arguments
18134 (list
18135 #:import-path "github.com/pion/srtp/v2"))
18136 (native-inputs
18137 (list go-github-com-stretchr-testify))
18138 (propagated-inputs
18139 (list go-github-com-pion-logging
18140 go-github-com-pion-rtcp
18141 go-github-com-pion-rtp
18142 go-github-com-pion-transport-v2))
18143 (home-page "https://github.com/pion/srtp")
18144 (synopsis "Implementation of SRTP protocol in Golang")
18145 (description
18146 "Package srtp implements Secure Real-time Transport Protocol.")
18147 (license license:expat)))
18148
18149(define-public go-github-com-pion-srtp-v3
18150 (package
18151 (inherit go-github-com-pion-srtp-v2)
18152 (name "go-github-com-pion-srtp-v3")
18153 (version "3.0.10")
18154 (source
18155 (origin
18156 (method git-fetch)
18157 (uri (git-reference
18158 (url "https://github.com/pion/srtp")
18159 (commit (string-append "v" version))))
18160 (file-name (git-file-name name version))
18161 (sha256
18162 (base32 "1lmmn0x1b7g2q5lp3nkhyc5g32lrirnb9dx2x274hfdmzmcgw104"))))
18163 (arguments
18164 (list
18165 #:import-path "github.com/pion/srtp/v3"))
18166 (propagated-inputs
18167 (modify-inputs propagated-inputs
18168 (replace "go-github-com-pion-transport-v2"
18169 go-github-com-pion-transport-v4)))))
18170
18171(define-public go-github-com-pion-stun
18172 (package
18173 (name "go-github-com-pion-stun")
18174 (version "0.6.1")
18175 (source
18176 (origin
18177 (method git-fetch)
18178 (uri (git-reference
18179 (url "https://github.com/pion/stun")
18180 (commit (string-append "v" version))))
18181 (file-name (git-file-name name version))
18182 (sha256
18183 (base32 "0172fcm1xvzvy3d5lcpscayzpf3i5w4bpfydifdc9l4n2wslx0sm"))))
18184 (build-system go-build-system)
18185 (arguments
18186 (list
18187 #:import-path "github.com/pion/stun"
18188 #:test-flags #~(list "-vet=off")))
18189 (native-inputs
18190 (list go-github-com-stretchr-testify))
18191 (propagated-inputs
18192 (list go-github-com-pion-dtls-v2
18193 go-github-com-pion-logging
18194 go-github-com-pion-transport-v2))
18195 (home-page "https://github.com/pion/stun")
18196 (synopsis "Go implementation of STUN")
18197 (description
18198 "Package @code{stun} implements Session Traversal Utilities for
18199+NAT (STUN) (@url{https://tools.ietf.org/html/rfc5389, RFC 5389}) protocol and
18200+@url{https://pkg.go.dev/github.com/pion/stun#Client, client} with no external
18201+dependencies and zero allocations in hot paths. Client
18202+@url{https://pkg.go.dev/github.com/pion/stun#WithRTO, supports} automatic
18203+request retransmissions.")
18204 (license license:expat)))
18205
18206(define-public go-github-com-pion-stun-v2
18207 (package
18208 (inherit go-github-com-pion-stun)
18209 (name "go-github-com-pion-stun-v2")
18210 (version "2.0.0")
18211 (source
18212 (origin
18213 (inherit (package-source go-github-com-pion-stun))
18214 (uri (git-reference
18215 (url "https://github.com/pion/stun")
18216 (commit (string-append "v" version))))
18217 (file-name (git-file-name name version))
18218 (sha256
18219 (base32 "0zli55ls5izpr6cw0wj0gy44872xn9rk20i8ay9cfk7j2rb60y60"))))
18220 (arguments
18221 (list
18222 #:import-path "github.com/pion/stun/v2"
18223 #:test-flags #~(list "-vet=off")))
18224 (propagated-inputs
18225 (list go-github-com-pion-dtls-v2
18226 go-github-com-pion-logging
18227 go-github-com-pion-transport-v3
18228 go-golang-org-x-crypto
18229 go-golang-org-x-net))))
18230
18231(define-public go-github-com-pion-stun-v3
18232 (package
18233 (inherit go-github-com-pion-stun-v2)
18234 (name "go-github-com-pion-stun-v3")
18235 (version "3.1.1")
18236 (source
18237 (origin
18238 (inherit (package-source go-github-com-pion-stun))
18239 (uri (git-reference
18240 (url "https://github.com/pion/stun")
18241 (commit (string-append "v" version))))
18242 (file-name (git-file-name name version))
18243 (sha256
18244 (base32 "0k8pwwqd030blz4yby2kzzrs082mhyi9vbjmikv47jqjg9zzykqp"))))
18245 (arguments
18246 (list
18247 #:import-path "github.com/pion/stun/v3"
18248 #:test-flags #~(list "-vet=off")))
18249 (propagated-inputs
18250 (list go-github-com-pion-dtls-v3
18251 go-github-com-pion-logging
18252 go-github-com-pion-transport-v4))))
18253
18254(define-public go-github-com-pion-transport
18255 (package
18256 (name "go-github-com-pion-transport")
18257 (version "0.14.1")
18258 (source
18259 (origin
18260 (method git-fetch)
18261 (uri (git-reference
18262 (url "https://github.com/pion/transport")
18263 (commit (string-append "v" version))))
18264 (file-name (git-file-name name version))
18265 (sha256
18266 (base32 "0331kywqaa6fymc64wrqgwnxlhx31qdf299i927vifx1wdcl9ikp"))))
18267 (build-system go-build-system)
18268 (arguments
18269 (list
18270 ;; Source-only package
18271 #:tests? #f
18272 #:import-path "github.com/pion/transport"
18273 #:phases
18274 #~(modify-phases %standard-phases
18275 (delete 'build))))
18276 (native-inputs
18277 (list go-github-com-stretchr-testify))
18278 (propagated-inputs
18279 (list go-github-com-pion-logging
18280 go-golang-org-x-net
18281 go-golang-org-x-sys))
18282 (home-page "https://github.com/pion/transport")
18283 (synopsis "Golang networking related functions")
18284 (description
18285 "This package implements a various networking related functions used
18286throughout the @url{https://github.com/pion, Pion} modules.")
18287 (license license:expat)))
18288
18289(define-public go-github-com-pion-transport-v2
18290 (package
18291 (inherit go-github-com-pion-transport)
18292 (name "go-github-com-pion-transport-v2")
18293 (version "2.2.10")
18294 (source
18295 (origin
18296 (inherit (package-source go-github-com-pion-transport))
18297 (uri (git-reference
18298 (url "https://github.com/pion/transport/")
18299 (commit (string-append "v" version))))
18300 (file-name (git-file-name name version))
18301 (sha256
18302 (base32 "0g5pg6mz61blprccxzysbwldkil84qgwp6404lsp4m9wh44312hf"))))
18303 (arguments
18304 (list
18305 #:import-path "github.com/pion/transport/v2"
18306 #:phases
18307 #~(modify-phases %standard-phases
18308 (add-after 'unpack 'fix-module-paths
18309 (lambda* (#:key tests? import-path #:allow-other-keys)
18310 (with-directory-excursion (string-append "src/" import-path)
18311 (substitute* (find-files "." "\\.go$")
18312 (("github.com/pion/transport/v3") import-path))))))))
18313 (native-inputs
18314 (list go-github-com-stretchr-testify))
18315 (propagated-inputs
18316 (modify-inputs propagated-inputs
18317 (prepend go-github-com-wlynxg-anet)))))
18318
18319(define-public go-github-com-pion-transport-v3
18320 (package
18321 (inherit go-github-com-pion-transport-v2)
18322 (name "go-github-com-pion-transport-v3")
18323 (version "3.1.1")
18324 (source
18325 (origin
18326 (method git-fetch)
18327 (uri (git-reference
18328 (url "https://github.com/pion/transport")
18329 (commit (string-append "v" version))))
18330 (file-name (git-file-name name version))
18331 (sha256
18332 (base32 "0h9da86rpws4g9vclmb938iabcmxdxwkdaakd7x77gy719n78ymk"))))
18333 (arguments
18334 (list
18335 #:import-path "github.com/pion/transport/v3"))
18336 (propagated-inputs
18337 (list go-github-com-pion-logging
18338 go-github-com-wlynxg-anet
18339 go-golang-org-x-net
18340 go-golang-org-x-sys))))
18341
18342(define-public go-github-com-pion-transport-v4
18343 (package
18344 (inherit go-github-com-pion-transport-v3)
18345 (name "go-github-com-pion-transport-v4")
18346 (version "4.0.1")
18347 (source
18348 (origin
18349 (method git-fetch)
18350 (uri (git-reference
18351 (url "https://github.com/pion/transport")
18352 (commit (string-append "v" version))))
18353 (file-name (git-file-name name version))
18354 (sha256
18355 (base32 "1ai5yirbgwalp3rq2ndybx9n3sd73ak3dry2ky07388ssd2v7ipr"))))
18356 (arguments
18357 (list
18358 #:import-path "github.com/pion/transport/v4"))
18359 (propagated-inputs
18360 (modify-inputs propagated-inputs
18361 (prepend go-golang-org-x-time)))))
18362
18363(define-public go-github-com-pion-turn-v2
18364 (package
18365 (name "go-github-com-pion-turn-v2")
18366 (version "2.1.6")
18367 (source
18368 (origin
18369 (method git-fetch)
18370 (uri (git-reference
18371 (url "https://github.com/pion/turn/")
18372 (commit (string-append "v" version))))
18373 (file-name (git-file-name name version))
18374 (sha256
18375 (base32 "0iw7nvqsxpqy90k5a8mq3dyask272391m59cbiy30aak1y2wwaac"))))
18376 (build-system go-build-system)
18377 (arguments
18378 (list
18379 #:import-path "github.com/pion/turn/v2"
18380 #:test-flags
18381 ;; panic: runtime error: invalid memory address or nil pointer
18382 ;; dereference
18383 #~(list "-skip" "TestClientWithSTUN")
18384 #:phases
18385 #~(modify-phases %standard-phases
18386 (add-after 'unpack 'remove-examples
18387 (lambda* (#:key tests? import-path #:allow-other-keys)
18388 (with-directory-excursion (string-append "src/" import-path)
18389 (delete-file-recursively "examples")))))))
18390 (native-inputs
18391 (list go-github-com-stretchr-testify))
18392 (propagated-inputs
18393 (list go-github-com-pion-logging
18394 go-github-com-pion-randutil
18395 go-github-com-pion-stun
18396 go-github-com-pion-transport-v2
18397 go-golang-org-x-sys))
18398 (home-page "https://github.com/pion/turn/")
18399 (synopsis "API for building TURN clients and servers in Golang")
18400 (description
18401 "This package provides a toolkit for building @acronym{TURN, Traversal
18402Using Relays around NAT}, specified in
18403@url{https://datatracker.ietf.org/doc/html/rfc8656, RFC 8656}, servers and
18404clients.
18405
18406@code{pion/turn} is an API for building STUN/TURN clients and servers, not a
18407binary you deploy then configure. It may require copying the examples and
18408making minor modifications to fit your need, no knowledge of Go is required
18409however.
18410
18411The advantage of this is that you don't need to deal with complicated
18412configuration files, or custom APIs to modify the state of Pion TURN. After
18413you instantiate an instance of a Pion TURN server or client you interact with
18414it like any library. The quickest way to get started is to look at the
18415@url{https://github.com/pion/turn/blob/master/examples, examples} or
18416@url{https://godoc.org/github.com/pion/turn, GoDoc}.")
18417 (license license:expat)))
18418
18419(define-public go-github-com-pion-turn-v3
18420 (package
18421 (inherit go-github-com-pion-turn-v2)
18422 (name "go-github-com-pion-turn-v3")
18423 (version "3.0.3")
18424 (source
18425 (origin
18426 (method git-fetch)
18427 (uri (git-reference
18428 (url "https://github.com/pion/turn/")
18429 (commit (string-append "v" version))))
18430 (file-name (git-file-name name version))
18431 (sha256
18432 (base32 "0l78m9ym0sv1zfalbv95lwblmr789fc53d957ph5mdznhjx89lyx"))))
18433 (arguments
18434 (substitute-keyword-arguments (package-arguments
18435 go-github-com-pion-turn-v2)
18436 ((#:import-path flags ''())
18437 "github.com/pion/turn/v3")))
18438 (propagated-inputs
18439 (list go-github-com-pion-logging
18440 go-github-com-pion-randutil
18441 go-github-com-pion-stun-v2
18442 go-github-com-pion-transport-v3
18443 go-golang-org-x-sys))))
18444
18445(define-public go-github-com-pion-turn-v4
18446 (package
18447 (inherit go-github-com-pion-turn-v3)
18448 (name "go-github-com-pion-turn-v4")
18449 (version "4.1.4")
18450 (source
18451 (origin
18452 (method git-fetch)
18453 (uri (git-reference
18454 (url "https://github.com/pion/turn/")
18455 (commit (string-append "v" version))))
18456 (file-name (git-file-name name version))
18457 (sha256
18458 (base32 "1fm7k7bjbsy421yblslnh2hmwvdmml4xawyjsaj7h9grx2h0z9p1"))))
18459 (arguments
18460 (substitute-keyword-arguments (package-arguments
18461 go-github-com-pion-turn-v3)
18462 ((#:import-path _) "github.com/pion/turn/v4")))
18463 (propagated-inputs
18464 (list go-github-com-pion-logging
18465 go-github-com-pion-randutil
18466 go-github-com-pion-stun-v3
18467 go-github-com-pion-transport-v4
18468 go-golang-org-x-sys))))
18469
18470(define-public go-github-com-pion-turn-v5
18471 (package
18472 (inherit go-github-com-pion-turn-v4)
18473 (name "go-github-com-pion-turn-v5")
18474 (version "5.0.2")
18475 (source
18476 (origin
18477 (method git-fetch)
18478 (uri (git-reference
18479 (url "https://github.com/pion/turn/")
18480 (commit (string-append "v" version))))
18481 (file-name (git-file-name name version))
18482 (sha256
18483 (base32 "1vllx7iyi32acbdph7pcqwxhzfrcb2zap4jvwl0kny5jy5h023sy"))))
18484 (arguments
18485 (substitute-keyword-arguments (package-arguments
18486 go-github-com-pion-turn-v4)
18487 ((#:import-path _) "github.com/pion/turn/v5")))
18488 (propagated-inputs
18489 (list go-github-com-pion-logging
18490 go-github-com-pion-randutil
18491 go-github-com-pion-stun-v3
18492 go-github-com-pion-transport-v4
18493 go-golang-org-x-sys
18494 go-golang-org-x-time))))
18495
18496(define-public go-github-com-pion-webrtc-v4
18497 (package
18498 (name "go-github-com-pion-webrtc-v4")
18499 (version "4.2.6")
18500 (source
18501 (origin
18502 (method git-fetch)
18503 (uri (git-reference
18504 (url "https://github.com/pion/webrtc")
18505 (commit (string-append "v" version))))
18506 (file-name (git-file-name name version))
18507 (sha256
18508 (base32 "039sm8w6bmsk63zpa7dpfqz1fb5bysi6432d6by0j8s64r9dvp50"))))
18509 (build-system go-build-system)
18510 (arguments
18511 (list
18512 ;; XXX: Figure out why tests timeout and fail eventually.
18513 #:tests? #f
18514 #:import-path "github.com/pion/webrtc/v4"
18515 #:phases
18516 #~(modify-phases %standard-phases
18517 (add-after 'unpack 'remove-examples-and-benchmarks
18518 (lambda* (#:key tests? import-path #:allow-other-keys)
18519 (with-directory-excursion (string-append "src/" import-path)
18520 (for-each delete-file-recursively
18521 (list "examples"))))))))
18522 (native-inputs
18523 (list go-github-com-stretchr-testify))
18524 (propagated-inputs
18525 (list go-github-com-pion-datachannel
18526 go-github-com-pion-dtls-v3
18527 go-github-com-pion-ice-v4
18528 go-github-com-pion-interceptor
18529 go-github-com-pion-logging
18530 go-github-com-pion-randutil
18531 go-github-com-pion-rtcp
18532 go-github-com-pion-rtp
18533 go-github-com-pion-sctp
18534 go-github-com-pion-sdp-v3
18535 go-github-com-pion-srtp-v3
18536 go-github-com-pion-stun-v3
18537 go-github-com-pion-transport-v4
18538 go-github-com-pion-turn-v4
18539 go-golang-org-x-net))
18540 (home-page "https://github.com/pion/webrtc")
18541 (synopsis "Implementation of the WebRTC API in Golang")
18542 (description
18543 "Package webrtc implements the @code{WebRTC} (Real-Time Communication in
18544Browsers) 1.0 as defined in W3C @url{https://www.w3.org/TR/webrtc/,WebRTC}
18545specification document.
18546Features:
18547@itemize
18548@item implementation of @url{https://w3c.github.io/webrtc-pc/,webrtc-pc} and
18549@code{https://www.w3.org/TR/webrtc-stats/,webrtc-stats}
18550@item DataChannels
18551@item Send/Receive audio and video
18552@item Renegotiation
18553@item Plan-B and Unified Plan
18554@item SettingEngine for Pion specific extensions
18555@item implemented connectivity - Full ICE Agent, ICE Restart, Trickle ICE,
18556STUN, TURN mDNS candidates
18557@end itemize")
18558 (license license:expat)))
18559
18560(define-public go-github-com-pires-go-proxyproto
18561 (package
18562 (name "go-github-com-pires-go-proxyproto")
18563 (version "0.11.0")
18564 (source
18565 (origin
18566 (method git-fetch)
18567 (uri (git-reference
18568 (url "https://github.com/pires/go-proxyproto")
18569 (commit (string-append "v" version))))
18570 (file-name (git-file-name name version))
18571 (sha256
18572 (base32 "09m0c632kzclamsq225mcg8xkfd4nbssml4125jdyfh9j8dcrkpb"))))
18573 (build-system go-build-system)
18574 (arguments
18575 (list
18576 #:import-path "github.com/pires/go-proxyproto"
18577 ;; protocol_test.go: TestParse_unixStream: unable to listen unix.
18578 #:test-flags #~(list "-skip" "TestParse_unixStream")))
18579 (propagated-inputs
18580 (list go-golang-org-x-net))
18581 (home-page "https://github.com/pires/go-proxyproto")
18582 (synopsis "Implementation of the PROXY protocol")
18583 (description
18584 "Package proxyproto implements Proxy Protocol (v1 and v2) parser and
18585writer, as per specification:
18586@@url{https://www.haproxy.org/download/2.3/doc/proxy-protocol.txt}. It is to
18587be used in one of or both proxy clients and proxy servers that need to support
18588said protocol. Both protocol versions, 1 (text-based) and 2 (binary-based)
18589are supported. @acronym{TLV, tag-length-value} parsers extensions coming with
18590this library support AWS, Azure and GCP.")
18591 (license license:asl2.0)))
18592
18593(define-public go-github-com-pkg-browser
18594 (package
18595 (name "go-github-com-pkg-browser")
18596 (version "0.0.0-20240102092130-5ac0b6a4141c")
18597 (source
18598 (origin
18599 (method git-fetch)
18600 (uri (git-reference
18601 (url "https://github.com/pkg/browser")
18602 (commit (go-version->git-ref version))))
18603 (file-name (git-file-name name version))
18604 (sha256
18605 (base32 "05m0baqy1grd42by3vgih55473fa98cz2psyakbmf0swg8f949pn"))))
18606 (build-system go-build-system)
18607 (arguments
18608 (list
18609 #:import-path "github.com/pkg/browser"))
18610 (propagated-inputs (list go-golang-org-x-sys))
18611 (home-page "https://github.com/pkg/browser")
18612 (synopsis "Helpers to open files, readers, and URLs in a browser window")
18613 (description
18614 "Package browser provides helpers to open files, readers, and urls in a
18615browser window. The choice of which browser is started is entirely client
18616dependent.")
18617 (license license:bsd-2)))
18618
18619(define-public go-github-com-planetscale-vtprotobuf
18620 (package
18621 (name "go-github-com-planetscale-vtprotobuf")
18622 (version "0.5.0")
18623 (source
18624 (origin
18625 (method git-fetch)
18626 (uri (git-reference
18627 (url "https://github.com/planetscale/vtprotobuf")
18628 (commit (string-append "v" version))))
18629 (file-name (git-file-name name version))
18630 (sha256
18631 (base32 "0ajsz51src9k69qbaimrhqxay0ln0gy29hdlmylwbl154vq4nfnq"))))
18632 (build-system go-build-system)
18633 (arguments
18634 (list
18635 #:skip-build? #t
18636 #:import-path "github.com/planetscale/vtprotobuf"
18637 #:test-flags
18638 ;; TODO: Generate proto files to complete tests, see Makefile.
18639 ;; conformance_test.go:56: execution error: fork/exec
18640 ;; conformance/conformance-test-runner: no such file or directory
18641 #~(list "-skip" "Test")))
18642 (native-inputs
18643 (list go-github-com-stretchr-testify))
18644 (propagated-inputs
18645 (list go-google-golang-org-grpc
18646 go-google-golang-org-protobuf))
18647 (home-page "https://github.com/planetscale/vtprotobuf")
18648 (synopsis "Protocol Buffers compiler for ProtoBuf APIv2 Golang code")
18649 (description
18650 "This package provides @code{protoc-gen-go-vtproto} plug-in for
18651@code{protoc}, which is used by Vitess to generate optimized marshall &
18652unmarshal code.")
18653 (license license:bsd-3)))
18654
18655;; For go-github-com-tonistiigi-fsutil, remove when other packages support
18656;; v0.6+.
18657(define-public go-github-com-planetscale-vtprotobuf-0.6
18658 (hidden-package
18659 (package
18660 (inherit go-github-com-planetscale-vtprotobuf)
18661 (name "go-github-com-planetscale-vtprotobuf")
18662 (version "0.6.0")
18663 (source
18664 (origin
18665 (method git-fetch)
18666 (uri (git-reference
18667 (url "https://github.com/planetscale/vtprotobuf")
18668 (commit (string-append "v" version))))
18669 (file-name (git-file-name name version))
18670 (sha256
18671 (base32 "0bms8rrg8wrm3x9mspqrzzix24vjgi3p5zzbw108ydr1rnarwblf")))))))
18672
18673(define-public go-github-com-powerman-fileuri
18674 (package
18675 (name "go-github-com-powerman-fileuri")
18676 (version "0.3.0")
18677 (source
18678 (origin
18679 (method git-fetch)
18680 (uri (git-reference
18681 (url "https://github.com/powerman/fileuri")
18682 (commit (string-append "v" version))))
18683 (file-name (git-file-name name version))
18684 (sha256
18685 (base32 "02g2y13nwr2p9jl8xlv4ml8nl82j68a6mmlczd718mzhdn3agglm"))))
18686 (build-system go-build-system)
18687 (arguments
18688 (list
18689 #:import-path "github.com/powerman/fileuri"))
18690 (home-page "https://github.com/powerman/fileuri")
18691 (synopsis "Go package to work with @code{file://} URI")
18692 (description
18693 "Package fileuri provides functions to work with @code{file://} URLs. It
18694implements @url{https://rfc-editor.org/rfc/rfc8089.html, RFC 8089} The
18695\"file\" URI Scheme.")
18696 (license license:expat)))
18697
18698(define-public go-github-com-pquerna-cachecontrol
18699 (package
18700 (name "go-github-com-pquerna-cachecontrol")
18701 (version "0.2.0")
18702 (source (origin
18703 (method git-fetch)
18704 (uri (git-reference
18705 (url "https://github.com/pquerna/cachecontrol")
18706 (commit (string-append "v" version))))
18707 (file-name (git-file-name name version))
18708 (sha256
18709 (base32
18710 "0d5zgv2w0sinh9m41pw3n015zzyabk7awgwwga7nmhjz452c9r5n"))))
18711 (build-system go-build-system)
18712 (arguments
18713 (list #:import-path "github.com/pquerna/cachecontrol"))
18714 (native-inputs
18715 (list go-github-com-stretchr-testify))
18716 (home-page "https://github.com/pquerna/cachecontrol")
18717 (synopsis "Golang HTTP Cache-Control Parser and Interpretation")
18718 (description
18719 "This package implements RFC 7234 Hypertext Transfer Protocol (HTTP/1.1):
18720Caching.")
18721 (license license:asl2.0)))
18722
18723(define-public go-github-com-pquerna-ffjson
18724 (package
18725 (name "go-github-com-pquerna-ffjson")
18726 (version "0.0.0-20190930134022-aa0246cd15f7")
18727 (source
18728 (origin
18729 (method git-fetch)
18730 (uri (git-reference
18731 (url "https://github.com/pquerna/ffjson")
18732 (commit (go-version->git-ref version))))
18733 (file-name (git-file-name name version))
18734 (sha256
18735 (base32 "0mxmrvqmiinqhlaxncaqznxwfspf3p8bmg9vniz40dw5jpv24cwb"))))
18736 (build-system go-build-system)
18737 (arguments
18738 (list
18739 #:import-path "github.com/pquerna/ffjson"
18740 #:test-subdirs #~(list "fflib/v1/...")))
18741 (native-inputs
18742 (list go-github-com-google-gofuzz
18743 go-github-com-stretchr-testify))
18744 (home-page "https://github.com/pquerna/ffjson")
18745 (synopsis "Faster JSON for Golang")
18746 (description
18747 "This package implements functionality to generate static
18748@code{MarshalJSON} and @code{UnmarshalJSON} functions for structures in Go.
18749The generated functions reduce the reliance upon runtime reflection to do
18750serialization and are generally 2 to 3 times faster. In cases where
18751@@code{ffjson} doesn't understand a Type involved, it falls back to
18752@@code{encoding/json}, meaning it is a safe drop in replacement. By using
18753@code{ffjson} your JSON serialization just gets faster with no additional code
18754changes.")
18755 (license license:asl2.0)))
18756
18757(define-public go-github-com-protonmail-gluon
18758 (package
18759 (name "go-github-com-protonmail-gluon")
18760 ;; The latest commit from dev branch, 0.17.0 was placed in 2023.
18761 (properties '((commit . "17b9426ae8f792e9eaa4309cb7dceb193d31cb66")
18762 (revision . "0")))
18763 (version (git-version "0.17.0"
18764 (assoc-ref properties 'revision)
18765 (assoc-ref properties 'commit)))
18766 (source
18767 (origin
18768 (method git-fetch)
18769 (uri (git-reference
18770 (url "https://github.com/ProtonMail/gluon")
18771 (commit (assoc-ref properties 'commit))))
18772 (file-name (git-file-name name version))
18773 (sha256
18774 (base32 "1bbbn3777947ffls5ngdfh5r1miqws1l9lq7g2379843admsszc8"))))
18775 (build-system go-build-system)
18776 (arguments
18777 (list
18778 #:import-path "github.com/ProtonMail/gluon"))
18779 (native-inputs
18780 (list go-github-com-stretchr-testify
18781 go-go-uber-org-goleak))
18782 (propagated-inputs
18783 (list go-github-com-bradenaw-juniper
18784 go-github-com-emersion-go-imap
18785 go-github-com-emersion-go-imap-uidplus
18786 go-github-com-golang-mock
18787 go-github-com-google-uuid
18788 go-github-com-mattn-go-sqlite3
18789 go-github-com-pierrec-lz4-v4
18790 go-github-com-pkg-profile
18791 go-github-com-protonmail-go-mbox
18792 go-github-com-sirupsen-logrus
18793 go-golang-org-x-exp
18794 go-golang-org-x-sys
18795 go-golang-org-x-text
18796 go-gopkg-in-yaml-v3))
18797 (home-page "https://github.com/ProtonMail/gluon")
18798 (synopsis "IMAP server library")
18799 (description
18800 "This package implements an IMAP4rev1 (+extensions) mailserver.")
18801 (license license:expat)))
18802
18803(define-public go-github-com-protonmail-go-mime
18804 (package
18805 (name "go-github-com-protonmail-go-mime")
18806 (version "0.0.0-20230322103455-7d82a3887f2f")
18807 (source
18808 (origin
18809 (method git-fetch)
18810 (uri (git-reference
18811 (url "https://github.com/ProtonMail/go-mime")
18812 (commit (go-version->git-ref version))))
18813 (file-name (git-file-name name version))
18814 (sha256
18815 (base32 "0n7q98dsw4v2zjf2bhi8gc4map1fc8m9p9v95mqcljnfp5kncxwz"))))
18816 (build-system go-build-system)
18817 (arguments
18818 (list
18819 #:import-path "github.com/ProtonMail/go-mime"))
18820 (propagated-inputs
18821 (list go-golang-org-x-text))
18822 (home-page "https://github.com/ProtonMail/go-mime")
18823 (synopsis "Go Mime Wrapper Library")
18824 (description "This package provides a parser for MIME messages.")
18825 (license license:expat)))
18826
18827(define-public go-github-com-protonmail-go-srp
18828 (package
18829 (name "go-github-com-protonmail-go-srp")
18830 (version "0.0.7")
18831 (source
18832 (origin
18833 (method git-fetch)
18834 (uri (git-reference
18835 (url "https://github.com/ProtonMail/go-srp")
18836 (commit (string-append "v" version))))
18837 (file-name (git-file-name name version))
18838 (sha256
18839 (base32 "0bzpq1yqfrrzyrmmwc9kf84k35567hdrs4zagxakpi7hia847l1z"))))
18840 (build-system go-build-system)
18841 (arguments
18842 (list
18843 #:import-path "github.com/ProtonMail/go-srp"
18844 #:phases
18845 #~(modify-phases %standard-phases
18846 (add-before 'build 'delete-windows-files
18847 (lambda* (#:key import-path #:allow-other-keys)
18848 (with-directory-excursion (string-append "src/" import-path)
18849 (delete-file-recursively "dist/windows")))))))
18850 (propagated-inputs
18851 (list go-github-com-cronokirby-saferith
18852 go-github-com-pkg-errors
18853 go-github-com-protonmail-bcrypt
18854 go-github-com-protonmail-go-crypto
18855 go-golang-org-x-crypto))
18856 (home-page "https://github.com/ProtonMail/go-srp")
18857 (synopsis "SRP protocol implementation in Golang")
18858 (description
18859 "This package provides a Golang implementation of the
18860@url{https://datatracker.ietf.org/doc/html/rfc5054, SRP protocol}, used for
18861authentication of ProtonMail users.")
18862 (license license:expat)))
18863
18864(define-public go-github-com-protonmail-gopenpgp-v2
18865 (package
18866 (name "go-github-com-protonmail-gopenpgp-v2")
18867 (version "2.9.0")
18868 (source
18869 (origin
18870 (method git-fetch)
18871 (uri (git-reference
18872 (url "https://github.com/ProtonMail/gopenpgp")
18873 (commit (string-append "v" version))))
18874 (file-name (git-file-name name version))
18875 (sha256
18876 (base32 "0ky3hrpdimn0k28h6llp3zj6hdm3wdrcq6gnff3zzrzagybly9w4"))))
18877 (build-system go-build-system)
18878 (arguments
18879 (list
18880 #:skip-build? #t
18881 #:import-path "github.com/ProtonMail/gopenpgp/v2"))
18882 (native-inputs
18883 (list go-github-com-stretchr-testify))
18884 (propagated-inputs
18885 (list go-github-com-pkg-errors
18886 go-github-com-protonmail-go-crypto
18887 go-github-com-protonmail-go-mime
18888 go-golang-org-x-crypto))
18889 (home-page "https://github.com/ProtonMail/gopenpgp")
18890 (synopsis "High-level OpenPGP library for Golang")
18891 (description
18892 "This package is a high-level OpenPGP library built on top of the
18893Golang crypto library.")
18894 (license license:expat)))
18895
18896(define-public go-github-com-protonmail-gopenpgp-v3
18897 (package
18898 (inherit go-github-com-protonmail-gopenpgp-v2)
18899 (name "go-github-com-protonmail-gopenpgp-v3")
18900 (version "3.4.1")
18901 (source
18902 (origin
18903 (method git-fetch)
18904 (uri (git-reference
18905 (url "https://github.com/ProtonMail/gopenpgp")
18906 (commit (string-append "v" version))))
18907 (file-name (git-file-name name version))
18908 (sha256
18909 (base32 "0s3ycn7mfpq3vl35xhnk9164rfr8n4s48g066f9zs6p33h81a7h8"))))
18910 (build-system go-build-system)
18911 (arguments
18912 (list
18913 #:skip-build? #t
18914 #:import-path "github.com/ProtonMail/gopenpgp/v3"))))
18915
18916(define-public go-github-com-psiphon-labs-psiphon-tunnel-core
18917 (package
18918 (name "go-github-com-psiphon-labs-psiphon-tunnel-core")
18919 (version "1.0.10")
18920 (source
18921 (origin
18922 (method git-fetch)
18923 (uri (git-reference
18924 (url "https://github.com/Psiphon-Labs/psiphon-tunnel-core")
18925 (commit (string-append "v" version))))
18926 (file-name (git-file-name name version))
18927 (sha256
18928 (base32 "10j1harhjzkkmyjnxbx8wapz5zcfjnibqpx5d7j79gqf9mzbf9dk"))
18929 (modules '((guix build utils)))
18930 (snippet
18931 #~(begin
18932 (delete-file-recursively "vendor")))))
18933 (build-system go-build-system)
18934 (arguments
18935 (list
18936 #:skip-build? #t
18937 #:import-path "github.com/Psiphon-Labs/psiphon-tunnel-core"
18938 #:test-subdirs
18939 ;; XXX: Remove when all inputs are packaged.
18940 #~(list "psiphon/common/crypto/acme"
18941 "psiphon/common/crypto/bcrypt"
18942 "psiphon/common/crypto/blowfish"
18943 "psiphon/common/crypto/bn256"
18944 "psiphon/common/crypto/cast5"
18945 "psiphon/common/crypto/cryptobyte"
18946 "psiphon/common/crypto/curve25519"
18947 "psiphon/common/crypto/ed25519"
18948 "psiphon/common/crypto/hkdf"
18949 "psiphon/common/crypto/internal/chacha20"
18950 "psiphon/common/crypto/internal/subtle"
18951 "psiphon/common/crypto/md4"
18952 "psiphon/common/crypto/nacl/auth"
18953 "psiphon/common/crypto/nacl/box"
18954 "psiphon/common/crypto/nacl/secretbox"
18955 "psiphon/common/crypto/nacl/sign"
18956 "psiphon/common/crypto/ocsp"
18957 "psiphon/common/crypto/openpgp"
18958 "psiphon/common/crypto/openpgp/armor"
18959 "psiphon/common/crypto/openpgp/elgamal"
18960 "psiphon/common/crypto/openpgp/packet"
18961 "psiphon/common/crypto/openpgp/s2k"
18962 "psiphon/common/crypto/otr"
18963 "psiphon/common/crypto/pbkdf2"
18964 "psiphon/common/crypto/pkcs12"
18965 "psiphon/common/crypto/pkcs12/internal/rc2"
18966 "psiphon/common/crypto/poly1305"
18967 "psiphon/common/crypto/ripemd160"
18968 "psiphon/common/crypto/salsa20"
18969 "psiphon/common/crypto/salsa20/salsa"
18970 "psiphon/common/crypto/scrypt"
18971 "psiphon/common/crypto/sha3"
18972 "psiphon/common/crypto/tea"
18973 "psiphon/common/crypto/twofish"
18974 "psiphon/common/crypto/xtea"
18975 "psiphon/common/crypto/xts"
18976 "psiphon/common/sss"
18977 "psiphon/upstreamproxy/go-ntlm/ntlm/md4")))
18978 (propagated-inputs
18979 (list go-github-com-juju-ratelimit
18980
18981 ;; TODO: Complete packaging.
18982 ;; go-github-com-psiphon-labs-bolt
18983 ;; go-github-com-psiphon-labs-dns
18984 ;; go-github-com-psiphon-labs-goarista-monotime
18985 ;; go-github-com-psiphon-labs-goptlib
18986 ;; go-github-com-psiphon-labs-net-http2
18987 ;; go-github-com-psiphon-labs-tls-tris
18988 ;; go-github-com-psiphon-labs-utls
18989 ;; go-github-com-yawning-chacha20
18990 ;; go-github-com-creack-goselect
18991 ;; go-github-com-grafov-m3u8
18992 ;; go-github-com-lucas-clemente-quic-go
18993 ;; go-github-com-lucas-clemente-quic-go-qerr
18994 ;; go-github-com-syndtr-gocapability-capability
18995 #;go-github-com-zach-klippenstein-goregen))
18996 (home-page "https://github.com/Psiphon-Labs/psiphon-tunnel-core")
18997 (synopsis "Internet censorship circumvention system")
18998 (description
18999 "Psiphon is an Internet censorship circumvention system. The tunnel core
19000project includes a tunneling client and server, which together implement key
19001aspects of evading blocking and relaying client traffic through Psiphon and
19002beyond censorship.")
19003 (license license:gpl3)))
19004
19005(define-public go-github-com-puerkitobio-goquery
19006 (package
19007 (name "go-github-com-puerkitobio-goquery")
19008 (version "1.10.3")
19009 (source
19010 (origin
19011 (method git-fetch)
19012 (uri (git-reference
19013 (url "https://github.com/PuerkitoBio/goquery")
19014 (commit (string-append "v" version))))
19015 (file-name (git-file-name name version))
19016 (sha256
19017 (base32 "1f2iar9agj3rhlr0iiyj44yc4i8jfqv8ssjj9adlwn3jg8m115y2"))))
19018 (build-system go-build-system)
19019 (arguments
19020 `(#:import-path "github.com/PuerkitoBio/goquery"))
19021 (propagated-inputs
19022 (list go-github-com-andybalholm-cascadia go-golang-org-x-net))
19023 (home-page "https://github.com/PuerkitoBio/goquery")
19024 (synopsis "Features similar to jQuery to the Go language")
19025 (description "@code{goquery} brings a syntax and a set of features similar
19026to jQuery to the Go language.")
19027 (license license:bsd-3)))
19028
19029(define-public go-github-com-puerkitobio-purell
19030 (package
19031 (name "go-github-com-puerkitobio-purell")
19032 (version "1.2.1")
19033 (source
19034 (origin
19035 (method git-fetch)
19036 (uri (git-reference
19037 (url "https://github.com/PuerkitoBio/purell")
19038 (commit (string-append "v" version))))
19039 (file-name (git-file-name name version))
19040 (sha256
19041 (base32 "1zv1pkfvnrpv18ji3mgqa1k77h066yz5hvhdr1mxdz19kdjc5l43"))))
19042 (build-system go-build-system)
19043 (arguments
19044 (list #:import-path "github.com/PuerkitoBio/purell"))
19045 (propagated-inputs
19046 (list go-golang-org-x-net go-golang-org-x-text))
19047 (home-page "https://github.com/PuerkitoBio/purell")
19048 (synopsis "Tiny Go library to normalize URLs")
19049 (description
19050 "This package provides implements a functionality of URL normalizer as
19051described in @url{http://tools.ietf.org/html/rfc3986#section-6, RFC 3986}.")
19052 (license license:bsd-3)))
19053
19054(define-public go-github-com-puerkitobio-urlesc
19055 (package
19056 (name "go-github-com-puerkitobio-urlesc")
19057 (version "0.0.0-20170810143723-de5bf2ad4578")
19058 (source
19059 (origin
19060 (method git-fetch)
19061 (uri (git-reference
19062 (url "https://github.com/PuerkitoBio/urlesc")
19063 (commit (go-version->git-ref version))))
19064 (file-name (git-file-name name version))
19065 (sha256
19066 (base32 "0n0srpqwbaan1wrhh2b7ysz543pjs1xw2rghvqyffg9l0g8kzgcw"))))
19067 (build-system go-build-system)
19068 (arguments
19069 (list
19070 #:import-path "github.com/PuerkitoBio/urlesc"))
19071 (home-page "https://github.com/PuerkitoBio/urlesc")
19072 (synopsis "Proper URL escaping as per RFC 3986")
19073 (description
19074 "Package @code{urlesc} implements query escaping as per
19075@url{https://rfc-editor.org/rfc/rfc3986.html,RFC 3986}. It contains some
19076parts of the @code{net/url} package, modified so as to allow some reserved
19077characters incorrectly escaped by net/url.")
19078 (license license:bsd-3)))
19079
19080(define-public go-github-com-putdotio-go-putio
19081 (package
19082 (name "go-github-com-putdotio-go-putio")
19083 (version "1.7.2")
19084 (source
19085 (origin
19086 (method git-fetch)
19087 (uri (git-reference
19088 (url "https://github.com/putdotio/go-putio")
19089 (commit (string-append "v" version))))
19090 (file-name (git-file-name name version))
19091 (sha256
19092 (base32 "16gcs8cbf99yzq61xlv7aysjcyxh035ps41mvk59mpcjck0xh617"))))
19093 (build-system go-build-system)
19094 (arguments
19095 (list
19096 #:import-path "github.com/putdotio/go-putio"))
19097 (propagated-inputs
19098 (list go-golang-org-x-oauth2))
19099 (home-page "https://github.com/putdotio/go-putio")
19100 (synopsis "Put.io API client")
19101 (description
19102 "Package putio is the @url{Put.io} API v2 client for Go. It's an alternative
19103fork of https://github.com/igungor/go-putio.")
19104 (license license:expat)))
19105
19106(define-public go-github-com-putdotio-go-putio-for-rclone
19107 (hidden-package
19108 (let ((commit "16d982cac2b8cbae19cc4dd129dacee91f8c1447")
19109 (revision "0"))
19110 (package
19111 (inherit go-github-com-putdotio-go-putio)
19112 (name "go-github-com-putdotio-go-putio")
19113 (version (git-version "0.0.0" revision commit))
19114 (source
19115 (origin
19116 (method git-fetch)
19117 (uri (git-reference
19118 (url "https://github.com/putdotio/go-putio")
19119 (commit commit)))
19120 (file-name (git-file-name name version))
19121 (sha256
19122 (base32 "1z4rfrhzrm6kbx7hpg00g02q88n3k6hvixd4drdadak13dsncipb"))))
19123 (arguments
19124 (substitute-keyword-arguments
19125 (package-arguments go-github-com-putdotio-go-putio)
19126 ((#:skip-build? _ #t) #t)))))))
19127
19128(define-public go-github-com-quic-go-qpack
19129 (package
19130 (name "go-github-com-quic-go-qpack")
19131 (version "0.6.0")
19132 (source
19133 (origin
19134 (method git-fetch)
19135 (uri (git-reference
19136 (url "https://github.com/quic-go/qpack")
19137 (commit (string-append "v" version))))
19138 (file-name (git-file-name name version))
19139 (sha256
19140 (base32 "0gakqzk7z1vh5vr852qwppy3f555pfswbdny3hrg3wm8cd3f3bqh"))))
19141 (build-system go-build-system)
19142 (arguments
19143 (list
19144 #:import-path "github.com/quic-go/qpack"
19145 #:phases
19146 #~(modify-phases %standard-phases
19147 (add-after 'unpack 'remove-examples
19148 (lambda* (#:key tests? import-path #:allow-other-keys)
19149 (with-directory-excursion (string-append "src/" import-path)
19150 (delete-file-recursively "example"))))
19151 (add-after 'unpack 'copy-qifs-specs
19152 (lambda* (#:key import-path #:allow-other-keys)
19153 (with-directory-excursion (string-append "src/" import-path)
19154 (copy-recursively
19155 (string-append
19156 #$(this-package-native-input "specification-qifs") "/share")
19157 "interop/qifs")))))))
19158 (native-inputs
19159 (list go-github-com-stretchr-testify
19160 specification-qifs))
19161 (propagated-inputs
19162 (list go-golang-org-x-net))
19163 (home-page "https://github.com/quic-go/qpack")
19164 (synopsis "Minimal QPACK (RFC 9204) implementation for Go")
19165 (description
19166 "A minimal QPACK (RFC 9204) implementation in Go. It is minimal in the
19167sense that it doesn't use the dynamic table at all, but just the static table
19168and (Huffman encoded) string literals. Wherever possible, it reuses code from
19169the @url{https://github.com/golang/net/tree/master/http2/hpack, HPACK
19170implementation in the Go standard library}.")
19171 (license license:expat)))
19172
19173(define-public go-github-com-quic-go-quic-go
19174 (package
19175 (name "go-github-com-quic-go-quic-go")
19176 (version "0.59.0")
19177 (source
19178 (origin
19179 (method git-fetch)
19180 (uri (git-reference
19181 (url "https://github.com/quic-go/quic-go")
19182 (commit (string-append "v" version))))
19183 (file-name (git-file-name name version))
19184 (sha256
19185 (base32 "0yj7l75my9nv24lv52g3mmj8bc4fhgrxkgrzvlmf79sgqlpjs51c"))
19186 (modules '((guix build utils)))
19187 (snippet
19188 #~(begin
19189 ;; Submodules with their own go.mod files and packaged separately:
19190 ;;
19191 ;; - test
19192 (delete-file-recursively "integrationtests/gomodvendor")))))
19193 (build-system go-build-system)
19194 (arguments
19195 (list
19196 ;; Remove when a fresh version is released.
19197 ;; See: <https://github.com/quic-go/quic-go/issues/5623>,
19198 ;; <https://github.com/quic-go/quic-go/issues/5286>.
19199 #:go go-1.24
19200 #:import-path "github.com/quic-go/quic-go"
19201 #:test-flags
19202 ;; [1] Error: Should NOT be empty, but was []
19203 ;; [2] Error: Received unexpected error: Application error 0x0 (remote)
19204 #~(list "-skip" "TestHandshakePacketBuffering|TestDrainServerAcceptQueue")
19205 #:phases
19206 #~(modify-phases %standard-phases
19207 (add-after 'unpack 'remove-examples
19208 (lambda* (#:key tests? import-path #:allow-other-keys)
19209 (with-directory-excursion (string-append "src/" import-path)
19210 (delete-file-recursively "example"))))
19211 (add-before 'build 'go-generate
19212 (lambda* (#:key import-path #:allow-other-keys)
19213 (with-directory-excursion (string-append "src/" import-path)
19214 (invoke "go" "generate" "-v" "-n" "./..."))))
19215 (add-before 'check 'pre-check
19216 (lambda* (#:key tests? import-path #:allow-other-keys)
19217 ;; See: <https://go.dev/blog/synctest>.
19218 (setenv "GOEXPERIMENT" "synctest")
19219 ;; See: <https://github.com/quic-go/quic-go/issues/5419>.
19220 (setenv "GODEBUG" "asynctimerchan=0")
19221 (setenv "TIMESCALE_FACTOR" "10"))))))
19222 (native-inputs
19223 (list go-github-com-stretchr-testify
19224 go-go-uber-org-mock))
19225 (propagated-inputs
19226 (list go-github-com-quic-go-qpack
19227 go-golang-org-x-crypto
19228 go-golang-org-x-net
19229 go-golang-org-x-sync
19230 go-golang-org-x-sys))
19231 (home-page "https://github.com/quic-go/quic-go")
19232 (synopsis "QUIC in Go")
19233 (description
19234 "This package provides a Go language implementation of the QUIC network
19235protocol.")
19236 (license license:expat)))
19237
19238(define-public go-github-com-quic-go-quic-go-0.52
19239 (hidden-package
19240 (package
19241 (inherit go-github-com-quic-go-quic-go)
19242 (name "go-github-com-quic-go-quic-go")
19243 (version "0.52.0")
19244 (source
19245 (origin
19246 (method git-fetch)
19247 (uri (git-reference
19248 (url "https://github.com/quic-go/quic-go")
19249 (commit (string-append "v" version))))
19250 (file-name (git-file-name name version))
19251 (sha256
19252 (base32 "0frcjzrarvk3ck6dhqp88a1cbazw7jb26gxq1wp3lhgmxv4v4m2m"))))
19253 (arguments
19254 (list
19255 #:skip-build? #t
19256 #:tests? #f
19257 #:import-path "github.com/quic-go/quic-go")))))
19258
19259(define-public go-github-com-quic-go-webtransport-go
19260 (package
19261 (name "go-github-com-quic-go-webtransport-go")
19262 (version "0.10.0")
19263 (source
19264 (origin
19265 (method git-fetch)
19266 (uri (git-reference
19267 (url "https://github.com/quic-go/webtransport-go")
19268 (commit (string-append "v" version))))
19269 (file-name (git-file-name name version))
19270 (sha256
19271 (base32 "0np42zg6pkflp1hfnl4xbgk3bkfvhm210mbw9qzldwglxh7mql7i"))))
19272 (build-system go-build-system)
19273 (arguments
19274 (list
19275 #:import-path "github.com/quic-go/webtransport-go"
19276 #:phases
19277 #~(modify-phases %standard-phases
19278 (add-before 'check 'pre-check
19279 (lambda* (#:key tests? import-path #:allow-other-keys)
19280 ;; See: <https://go.dev/blog/synctest>.
19281 (setenv "GOEXPERIMENT" "synctest")
19282 (setenv "GODEBUG" "asynctimerchan=0"))))))
19283 (native-inputs
19284 (list go-github-com-stretchr-testify))
19285 (propagated-inputs
19286 (list go-github-com-dunglas-httpsfv
19287 go-github-com-quic-go-quic-go
19288 go-golang-org-x-exp))
19289 (home-page "https://github.com/quic-go/webtransport-go")
19290 (synopsis "WebTransport implementation based on quic-go")
19291 (description
19292 "webtransport-go is an implementation of the @code{WebTransport}
19293protocol, based on @@url{https://github.com/quic-go/quic-go,quic-go}. It
19294currently implements
19295@@url{https://www.ietf.org/archive/id/draft-ietf-webtrans-http3-02.html,draft-02}
19296of the specification.")
19297 (license license:expat)))
19298
19299(define-public go-github-com-rabbitmq-amqp091-go
19300 (package
19301 (name "go-github-com-rabbitmq-amqp091-go")
19302 (version "1.11.0")
19303 (source
19304 (origin
19305 (method git-fetch)
19306 (uri (git-reference
19307 (url "https://github.com/rabbitmq/amqp091-go")
19308 (commit (string-append "v" version))))
19309 (file-name (git-file-name name version))
19310 (sha256
19311 (base32 "1xn0ykx08l8gg66qk6jhz2md4as8n9fqm0smzcbislyqp4d3gpr8"))))
19312 (build-system go-build-system)
19313 (arguments
19314 (list
19315 #:import-path "github.com/rabbitmq/amqp091-go"
19316 #:phases
19317 #~(modify-phases %standard-phases
19318 (add-after 'unpack 'remove-examples
19319 (lambda* (#:key tests? import-path #:allow-other-keys)
19320 (with-directory-excursion (string-append "src/" import-path)
19321 (delete-file-recursively "_examples")))))))
19322 (native-inputs
19323 (list go-go-uber-org-goleak))
19324 (home-page "https://github.com/rabbitmq/amqp091-go")
19325 (synopsis "Go RabbitMQ Client Library")
19326 (description
19327 "Package amqp091 is an @acronym{Advanced Message Queuing Protocol, AMQP}
193280.9.1 client with @code{RabbitMQ} extensions.")
19329 (license license:bsd-2)))
19330
19331(define-public go-github-com-rasky-go-xdr
19332 (package
19333 (name "go-github-com-rasky-go-xdr")
19334 (version "0.0.0-20170124162913-1a41d1a06c93")
19335 (source
19336 (origin
19337 (method git-fetch)
19338 (uri (git-reference
19339 (url "https://github.com/rasky/go-xdr")
19340 (commit (go-version->git-ref version))))
19341 (file-name (git-file-name name version))
19342 (sha256
19343 (base32 "0f69yfdvgwyqrj6l0zdbdb78fi6iwkqh4v6rr5ns4v63kxvnfs9s"))
19344 (modules '((guix build utils)))
19345 (snippet
19346 #~(begin
19347 ;; Module name has not been changed after been forked upstream.
19348 (substitute* (find-files "." "\\.go$")
19349 (("github.com/davecgh/go-xdr") "github.com/rasky/go-xdr"))))))
19350 (build-system go-build-system)
19351 (arguments
19352 (list
19353 #:skip-build? #t
19354 #:import-path "github.com/rasky/go-xdr"))
19355 (propagated-inputs (list go-github-com-davecgh-go-xdr))
19356 (home-page "https://github.com/rasky/go-xdr")
19357 (synopsis "XDR standard in pure Go")
19358 (description
19359 "This package implements the data representation portion of the External
19360 Data Representation (XDR) standard protocol as specified in
19361@url{https://www.rfc-editor.org/rfc/rfc1832, RFC4506} (obsoletes RFC 1832 and
19362RFC 1014) in Go.")
19363 (license license:isc)))
19364
19365(define-public go-github-com-rclone-go-proton-api
19366 (package
19367 (name "go-github-com-rclone-go-proton-api")
19368 (version "1.0.4")
19369 (source
19370 (origin
19371 (method git-fetch)
19372 (uri (git-reference
19373 (url "https://github.com/rclone/go-proton-api")
19374 (commit (string-append "v" version))))
19375 (file-name (git-file-name name version))
19376 (sha256
19377 (base32 "19sipnl8z1xa62vvkw77hyizyaffah0hxkb0ij7ydq19s60nvw0p"))))
19378 (build-system go-build-system)
19379 (arguments
19380 (list
19381 #:import-path "github.com/rclone/go-proton-api"
19382 #:embed-files #~(list "children" "nodes" "text")))
19383 (native-inputs
19384 (list go-github-com-stretchr-testify
19385 go-github-com-urfave-cli-v2
19386 go-go-uber-org-goleak))
19387 (propagated-inputs
19388 (list go-github-com-bradenaw-juniper
19389 go-github-com-emersion-go-message
19390 go-github-com-emersion-go-vcard
19391 go-github-com-gin-gonic-gin
19392 go-github-com-go-resty-resty-v2
19393 go-github-com-google-uuid
19394 go-github-com-masterminds-semver-v3
19395 go-github-com-protonmail-gluon
19396 go-github-com-protonmail-go-crypto
19397 go-github-com-protonmail-go-srp
19398 go-github-com-protonmail-gopenpgp-v3
19399 go-github-com-puerkitobio-goquery
19400 go-github-com-sirupsen-logrus
19401 go-golang-org-x-exp
19402 go-golang-org-x-net
19403 go-golang-org-x-text
19404 go-google-golang-org-grpc
19405 go-google-golang-org-protobuf))
19406 (home-page "https://github.com/rclone/go-proton-api")
19407 (synopsis "Proton API library used by Go-based clients and tools")
19408 (description
19409 "This package provides a Go Proton API, a Go library implementing a
19410client and development server for (a subset of) the Proton REST API. It's a
19411clone of @url{https://github.com/henrybear327/go-proton-api}.")
19412 (license license:expat)))
19413
19414(define-public go-github-com-rclone-gofakes3
19415 (package
19416 (name "go-github-com-rclone-gofakes3")
19417 (version "0.0.4")
19418 (source
19419 (origin
19420 (method git-fetch)
19421 (uri (git-reference
19422 (url "https://github.com/rclone/gofakes3")
19423 (commit (string-append "v" version))))
19424 (file-name (git-file-name name version))
19425 (sha256
19426 (base32 "021xy4sycanrn55a0ygbkmirvnwdsplxkzq336nvlfhnd8bnyf6v"))))
19427 (build-system go-build-system)
19428 (arguments
19429 (list
19430 #:import-path "github.com/rclone/gofakes3"))
19431 (native-inputs
19432 (list go-github-com-stretchr-testify))
19433 (propagated-inputs
19434 (list go-github-com-aws-aws-sdk-go-v2
19435 go-github-com-aws-aws-sdk-go-v2-credentials
19436 go-github-com-aws-aws-sdk-go-v2-feature-s3-manager
19437 go-github-com-aws-aws-sdk-go-v2-service-s3
19438 go-github-com-aws-smithy-go
19439 go-github-com-minio-xxml
19440 go-github-com-ryszard-goskiplist
19441 go-github-com-shabbyrobe-gocovmerge
19442 go-golang-org-x-tools))
19443 (home-page "https://github.com/rclone/gofakes3")
19444 (synopsis "Fake S3 server in Golang")
19445 (description "This package implements a fake S3 server for rclone.")
19446 (license license:expat)))
19447
19448(define-public go-github-com-rclone-proton-api-bridge
19449 (package
19450 (name "go-github-com-rclone-proton-api-bridge")
19451 (version "1.0.5")
19452 (source
19453 (origin
19454 (method git-fetch)
19455 (uri (git-reference
19456 (url "https://github.com/rclone/Proton-API-Bridge")
19457 (commit (string-append "v" version))))
19458 (file-name (git-file-name name version))
19459 (sha256
19460 (base32 "01svmcn295vyjw0lb16dy6sa8vzm4pwa60yb1arw7lvlib6kr26d"))))
19461 (build-system go-build-system)
19462 (arguments
19463 (list
19464 #:import-path "github.com/rclone/Proton-API-Bridge"
19465 #:embed-files #~(list "children" "nodes" "text")))
19466 (propagated-inputs
19467 (list go-github-com-protonmail-gluon
19468 go-github-com-protonmail-go-crypto
19469 go-github-com-protonmail-gopenpgp-v3
19470 go-github-com-rclone-go-proton-api
19471 go-github-com-relvacode-iso8601
19472 go-golang-org-x-sync))
19473 (home-page "https://github.com/rclone/Proton-API-Bridge")
19474 (synopsis "Proton API Bridge")
19475 (description
19476 "@code{proton-go-api} provides the basic building blocks of API calls and
19477error handling, such as 429 exponential back-off, but it is pretty much just a
19478barebone interface to the Proton API. It's a clone of
19479@url{https://github.com/henrybear327/Proton-API-Bridge}.")
19480 (license license:expat)))
19481
19482(define-public go-github-com-rcrowley-go-metrics
19483 (package
19484 (name "go-github-com-rcrowley-go-metrics")
19485 (version "0.0.0-20250401214520-65e299d6c5c9")
19486 (source
19487 (origin
19488 (method git-fetch)
19489 (uri (git-reference
19490 (url "https://github.com/rcrowley/go-metrics")
19491 (commit (go-version->git-ref version))))
19492 (file-name (git-file-name name version))
19493 (sha256
19494 (base32 "1d47289sm3gzjx0ah5wi0gcia40kixfyxyilrdrdzlak8mra94c4"))))
19495 (build-system go-build-system)
19496 (arguments
19497 (list
19498 #:import-path "github.com/rcrowley/go-metrics"
19499 #:test-flags
19500 ;; Arbitrary precision tests are known to be broken on aarch64, ppc64le
19501 ;; and s390x. See: https://github.com/rcrowley/go-metrics/issues/249
19502 #~(list #$@(if (or (target-aarch64?) (target-ppc64le?))
19503 '("-skip" (string-join
19504 (list "TestEWMA1"
19505 "TestEWMA5"
19506 "TestUniformSampleSnapshot"
19507 "TestUniformSampleStatistics")
19508 "|"))
19509 '())
19510 "-vet=off")))
19511 (propagated-inputs
19512 (list go-github-com-stathat-go))
19513 (home-page "https://github.com/rcrowley/go-metrics")
19514 (synopsis "Go port of Coda Hale's Metrics library")
19515 (description
19516 "This package provides a Go implementation of Coda Hale's Metrics
19517library.")
19518 (license license:bsd-2)))
19519
19520(define-public go-github-com-realclientip-realclientip-go
19521 (package
19522 (name "go-github-com-realclientip-realclientip-go")
19523 (version "1.0.0")
19524 (source
19525 (origin
19526 (method git-fetch)
19527 (uri (git-reference
19528 (url "https://github.com/realclientip/realclientip-go")
19529 (commit (string-append "v" version))))
19530 (file-name (git-file-name name version))
19531 (sha256
19532 (base32 "1mg3nrb4b1q38q9j1diz4pl2nqpa3ay45gi81i6ma3bvss8v7ri3"))))
19533 (build-system go-build-system)
19534 (arguments
19535 (list
19536 #:import-path "github.com/realclientip/realclientip-go"))
19537 (home-page "https://github.com/realclientip/realclientip-go")
19538 (synopsis "Go reference implementation of \"real\" client IP algorithms")
19539 (description
19540 "Package realclientip provides strategies for obtaining the \"real\"
19541client IP from HTTP requests.")
19542 (license license:bsd-0)))
19543
19544(define-public go-github-com-restic-chunker
19545 (package
19546 (name "go-github-com-restic-chunker")
19547 (version "0.4.0")
19548 (source
19549 (origin
19550 (method git-fetch)
19551 (uri (git-reference
19552 (url "https://github.com/restic/chunker")
19553 (commit (string-append "v" version))))
19554 (file-name (git-file-name name version))
19555 (sha256
19556 (base32 "1bp6471lsjzjg17r3q359sz7cybjxpf5xrpndf9xhqc0v9vfx7f5"))))
19557 (build-system go-build-system)
19558 (arguments
19559 (list
19560 #:import-path "github.com/restic/chunker"))
19561 (home-page "https://github.com/restic/chunker")
19562 (synopsis "Implementation of Content Defined Chunking Golang")
19563 (description
19564 "Package chunker implements @acronym{Content Defined Chunking,
19565@url{https://restic.net/blog/2015-09-12/restic-foundation1-cdc/, CDC}} based
19566on a rolling Rabin Checksum.")
19567 (license license:bsd-2)))
19568
19569(define-public go-github-com-rs-cors
19570 (package
19571 (name "go-github-com-rs-cors")
19572 (version "1.11.1")
19573 (source
19574 (origin
19575 (method git-fetch)
19576 (uri (git-reference
19577 (url "https://github.com/rs/cors")
19578 (commit (string-append "v" version))))
19579 (file-name (git-file-name name version))
19580 (sha256
19581 (base32 "0qbzxk1aabn8k2smrkpz3h59mwr6s2zvg4faj6kjsp78hyi172xn"))
19582 (modules '((guix build utils)))
19583 (snippet
19584 #~(begin
19585 ;; Submodule(s) with their own go.mod files and packed as
19586 ;; separated packages:
19587 ;;
19588 ;; - github.com/rs/cors/wrapper/gin
19589 (for-each delete-file-recursively
19590 (list "wrapper/gin"))))))
19591 (build-system go-build-system)
19592 (arguments
19593 (list
19594 #:import-path "github.com/rs/cors"
19595 #:phases
19596 #~(modify-phases %standard-phases
19597 ;; Examples requires additional dependencies and comes with their
19598 ;; own go.mod, consider to pack it as separate package if required.
19599 (add-after 'unpack 'remove-examples
19600 (lambda* (#:key import-path #:allow-other-keys)
19601 (delete-file-recursively
19602 (string-append "src/" import-path "/examples")))))))
19603 (home-page "https://github.com/rs/cors")
19604 (synopsis "Golang @code{net/http} configurable handler for CORS requests")
19605 (description
19606 "Package cors is @code{net/http} handler to handle @acronym{Cross-origin
19607resource sharing,CORS} related requests as defined by
19608@url{http://www.w3.org/TR/cors/,http://www.w3.org/TR/cors/}.")
19609 (license license:expat)))
19610
19611(define-public go-github-com-rs-xid
19612 (package
19613 (name "go-github-com-rs-xid")
19614 (version "1.6.0")
19615 (source
19616 (origin
19617 (method git-fetch)
19618 (uri (git-reference
19619 (url "https://github.com/rs/xid")
19620 (commit (string-append "v" version))))
19621 (file-name (git-file-name name version))
19622 (sha256
19623 (base32 "0dck1girg54kgwjms0vsizaxasc8rj6pby4rlz7m07xffa3pp45c"))))
19624 (build-system go-build-system)
19625 (arguments
19626 (list
19627 #:import-path "github.com/rs/xid"))
19628 (home-page "https://github.com/rs/xid")
19629 (synopsis "Globally Unique ID Generator")
19630 (description
19631 "Package xid is a globally unique id generator suited for web scale.
19632Features:
19633@itemize
19634@item zize: 12 bytes (96 bits), smaller than UUID, larger than snowflake
19635@item base32 hex encoded by default (20 chars when transported as printable
19636string, still sortable)
19637@item mon configured, you don't need set a unique machine and/or data center
19638id
19639@item k-ordered
19640@item embedded time with 1 second precision
19641@item unicity guaranteed for 16,777,216 (24 bits) unique ids per second and
19642per host/process
19643@item lock-free (i.e.: unlike UUIDv1 and v2)
19644@end itemize")
19645 (license license:expat)))
19646
19647(define-public go-github-com-sacloud-go-http
19648 (package
19649 (name "go-github-com-sacloud-go-http")
19650 (version "0.1.9")
19651 (source
19652 (origin
19653 (method git-fetch)
19654 (uri (git-reference
19655 (url "https://github.com/sacloud/go-http")
19656 (commit (string-append "v" version))))
19657 (file-name (git-file-name name version))
19658 (sha256
19659 (base32 "1c7anxj00sam5q06jlqhi1z39p19p7nffd5q07j78pahcskgvpim"))))
19660 (build-system go-build-system)
19661 (arguments
19662 (list
19663 #:import-path "github.com/sacloud/go-http"))
19664 (native-inputs
19665 (list go-github-com-stretchr-testify))
19666 (propagated-inputs
19667 (list go-github-com-hashicorp-go-retryablehttp
19668 go-go-uber-org-ratelimit))
19669 (home-page "https://github.com/sacloud/go-http")
19670 (synopsis "HTTP client library for SAKURA cloud in Go")
19671 (description
19672 "This package provides a HTTP client functionality that can be used
19673across various @url{https://www.sakura.ad.jp/, Sakura Cloud} APIs (IaaS,
19674ObjectStorage, PHY, etc.).")
19675 (license license:asl2.0)))
19676
19677(define-public go-github-com-safchain-ethtool
19678 (package
19679 (name "go-github-com-safchain-ethtool")
19680 (version "0.5.9")
19681 (source
19682 (origin
19683 (method git-fetch)
19684 (uri (git-reference
19685 (url "https://github.com/safchain/ethtool")
19686 (commit (string-append "v" version))))
19687 (file-name (git-file-name name version))
19688 (sha256
19689 (base32 "01q0qfyksnhd4a2w2824yzdmyb4g4xr0y2z4ffnpbzz1wp60rydg"))))
19690 (build-system go-build-system)
19691 (arguments
19692 (list
19693 #:import-path "github.com/safchain/ethtool"
19694 #:test-flags
19695 ;; Unable to retrieve driver from any interface of this system.
19696 #~(list "-skip"
19697 (string-join
19698 (list "TestCmdGet"
19699 "TestCmdGetMapped"
19700 "TestMsglvlGet"
19701 "TestStats"
19702 "TestDriverName"
19703 "TestBusInfo"
19704 #$@(if (target-arm?)
19705 ;; Inappropriate ioctl for device.
19706 '("TestFeatures")
19707 '()))
19708 "|"))))
19709 (propagated-inputs
19710 (list go-golang-org-x-sys))
19711 (home-page "https://github.com/safchain/ethtool")
19712 (synopsis "Ethtool library for Golang")
19713 (description
19714 "The ethtool package aims to provide a library that implements easy
19715access to the Linux SIOCETHTOOL ioctl operations. It can be used to retrieve
19716information from a network device such as statistics, driver related
19717information or even the peer of a VETH interface.")
19718 (license license:asl2.0)))
19719
19720(define-public go-github-com-sagernet-sing
19721 (package
19722 (name "go-github-com-sagernet-sing")
19723 (version "0.8.4")
19724 (source
19725 (origin
19726 (method git-fetch)
19727 (uri (git-reference
19728 (url "https://github.com/SagerNet/sing")
19729 (commit (string-append "v" version))))
19730 (file-name (git-file-name name version))
19731 (sha256
19732 (base32 "0lc65fl58kh4g2r66yx141k3w1qnc1x76aq8wkg0gym6qdk2nzwg"))))
19733 (build-system go-build-system)
19734 (arguments
19735 (list
19736 #:skip-build? #t
19737 #:import-path "github.com/sagernet/sing"))
19738 (native-inputs
19739 (list go-github-com-stretchr-testify))
19740 (propagated-inputs
19741 (list go-golang-org-x-sys))
19742 (home-page "https://github.com/sagernet/sing")
19743 (synopsis "Proxy platform core library")
19744 (description
19745 "This package provides a core functionality for a universal proxy
19746platform.")
19747 (license license:gpl3+)))
19748
19749(define-public go-github-com-sagernet-sing-shadowsocks
19750 (package
19751 (name "go-github-com-sagernet-sing-shadowsocks")
19752 (version "0.2.8")
19753 (source
19754 (origin
19755 (method git-fetch)
19756 (uri (git-reference
19757 (url "https://github.com/SagerNet/sing-shadowsocks")
19758 (commit (string-append "v" version))))
19759 (file-name (git-file-name name version))
19760 (sha256
19761 (base32 "0gq8k8lsbi68hnscl9c5f611cg76idz61g0i3bzmmrrnkims071k"))))
19762 (build-system go-build-system)
19763 (arguments
19764 (list
19765 #:import-path "github.com/sagernet/sing-shadowsocks"))
19766 (propagated-inputs
19767 (list go-github-com-sagernet-sing
19768 go-golang-org-x-crypto
19769 go-lukechampine-com-blake3))
19770 (home-page "https://github.com/sagernet/sing-shadowsocks")
19771 (synopsis "Lightweight shadowsocks implementation")
19772 (description
19773 "This package provides a lightweight and efficient shadowsocks
19774implementation with sing.")
19775 (license license:gpl3+)))
19776
19777(define-public go-github-com-santhosh-tekuri-jsonschema-v5
19778 (package
19779 (name "go-github-com-santhosh-tekuri-jsonschema-v5")
19780 (version "5.3.1")
19781 (source
19782 (origin
19783 (method git-fetch)
19784 (uri (git-reference
19785 (url "https://github.com/santhosh-tekuri/jsonschema")
19786 (commit (string-append "v" version))))
19787 (file-name (git-file-name name version))
19788 (sha256
19789 (base32 "0fjklx6sik1pp4qpmzsvwfmavd1m9pcsyap1wvajhm2d8wx3vnh0"))
19790 (modules '((guix build utils)))
19791 (snippet
19792 #~(begin
19793 ;; Submodules with their own go.mod files and packaged separately:
19794 ;;
19795 ;; - github.com/santhosh-tekuri/jsonschema/cmd/jv
19796 (delete-file-recursively "cmd")))))
19797 (build-system go-build-system)
19798 (arguments
19799 (list
19800 #:import-path "github.com/santhosh-tekuri/jsonschema/v5"
19801 #:test-flags
19802 ;; Figure out why these test patterns fail.
19803 #~(list "-skip" "TestDraft2020")
19804 #:phases
19805 #~(modify-phases %standard-phases
19806 (add-after 'unpack 'copy-json-schema-specs
19807 (lambda* (#:key import-path #:allow-other-keys)
19808 (with-directory-excursion (string-append "src/" import-path)
19809 (copy-recursively
19810 (string-append #$(this-package-native-input
19811 "specification-json-schema-test-suite")
19812 "/share/tests")
19813 "testdata/JSON-Schema-Test-Suite/tests")
19814 (copy-recursively
19815 (string-append #$(this-package-native-input
19816 "specification-json-schema-test-suite")
19817 "/share/remotes")
19818 "testdata/JSON-Schema-Test-Suite/remotes"))))
19819 (add-after 'check 'remove-json-schema-specs
19820 (lambda* (#:key import-path #:allow-other-keys)
19821 (with-directory-excursion (string-append "src/" import-path)
19822 (delete-file-recursively "testdata")))))))
19823 (native-inputs
19824 (list specification-json-schema-test-suite))
19825 (home-page "https://github.com/santhosh-tekuri/jsonschema")
19826 (synopsis "JSONSchema validation using Golang")
19827 (description
19828 "Package jsonschema provides json-schema compilation and validation.")
19829 (license license:asl2.0)))
19830
19831(define-public go-github-com-santhosh-tekuri-jsonschema-v6
19832 (package
19833 (inherit go-github-com-santhosh-tekuri-jsonschema-v5)
19834 (name "go-github-com-santhosh-tekuri-jsonschema-v6")
19835 (version "6.0.2")
19836 (source
19837 (origin (inherit
19838 (package-source go-github-com-santhosh-tekuri-jsonschema-v5))
19839 (method git-fetch)
19840 (uri (git-reference
19841 (url "https://github.com/santhosh-tekuri/jsonschema")
19842 (commit (string-append "v" version))))
19843 (file-name (git-file-name name version))
19844 (sha256
19845 (base32 "0d1mpp77a9080r7n45wi2avf2zpgjyvxk5zqzxdyd8q0rvb811h0"))))
19846 (arguments
19847 (substitute-keyword-arguments
19848 (package-arguments go-github-com-santhosh-tekuri-jsonschema-v5)
19849 ((#:import-path _) "github.com/santhosh-tekuri/jsonschema/v6")
19850 ((#:test-flags _) #~'())
19851 ((#:phases _ '%standard-phases)
19852 #~(modify-phases %standard-phases
19853 (add-after 'unpack 'remove-example-tests
19854 (lambda* (#:key import-path #:allow-other-keys)
19855 (with-directory-excursion (string-append "src/" import-path)
19856 ;; Tests try to download from
19857 ;; https://raw.githubusercontent.com/santhosh-tekuri/boon\
19858 ;; /main/tests/examples/schema.json
19859 (delete-file "example_http_test.go"))))))))
19860 (propagated-inputs
19861 (list go-github-com-dlclark-regexp2
19862 go-golang-org-x-text))))
19863
19864(define-public go-github-com-sassoftware-relic-v7
19865 (package
19866 (name "go-github-com-sassoftware-relic-v7")
19867 (version "7.6.2")
19868 (source
19869 (origin
19870 (method git-fetch)
19871 (uri (git-reference
19872 (url "https://github.com/sassoftware/relic")
19873 (commit (string-append "v" version))))
19874 (file-name (git-file-name name version))
19875 (sha256
19876 (base32 "0jbl44hrnmpr2lc9hm1f13da1zmi9ds162jam24b9mijv4bbxgjg"))))
19877 (build-system go-build-system)
19878 (arguments
19879 (list
19880 #:skip-build? #t
19881 #:import-path "github.com/sassoftware/relic/v7"
19882 #:test-subdirs
19883 ;; XXX: Remove when all inputs are packaged.
19884 #~(list "internal/realip" "internal/zhttp" "lib/assuan" "lib/comdoc"
19885 "lib/compresshttp" "lib/pkcs7" "lib/x509tools")))
19886 (native-inputs
19887 (list go-github-com-cli-browser
19888 go-github-com-prometheus-client-golang
19889 go-github-com-spf13-cobra
19890 go-github-com-spf13-pflag
19891 go-github-com-stretchr-testify))
19892 (propagated-inputs
19893 (list go-cloud-google-com-go-kms
19894 go-github-com-aws-aws-sdk-go-v2-config
19895 go-github-com-aws-aws-sdk-go-v2-service-kms
19896 go-github-com-azuread-microsoft-authentication-library-for-go
19897 go-github-com-bradfitz-gomemcache
19898 go-github-com-go-asn1-ber-asn1-ber
19899 go-github-com-go-chi-chi-v5
19900 go-github-com-go-jose-go-jose-v3
19901 go-github-com-golang-snappy
19902 go-github-com-google-uuid
19903 go-github-com-gregjones-httpcache
19904 go-github-com-kr-pretty
19905 go-github-com-lib-pq
19906 go-github-com-miekg-pkcs11
19907 go-github-com-opencontainers-go-digest
19908 go-github-com-opencontainers-image-spec
19909 go-github-com-peterbourgon-diskv
19910 go-github-com-rs-zerolog
19911 go-github-com-sassoftware-go-rpmutils
19912 go-github-com-xi2-xz
19913 go-github-com-zalando-go-keyring
19914 go-golang-org-x-crypto
19915 go-golang-org-x-net
19916 go-golang-org-x-oauth2
19917 go-golang-org-x-sync
19918 go-golang-org-x-sys
19919 go-golang-org-x-term
19920 go-golang-org-x-time
19921 go-google-golang-org-api
19922 go-google-golang-org-genproto
19923 go-gopkg-in-yaml-v3
19924 go-howett-net-plist
19925 go-software-sslmate-com-src-go-pkcs12
19926
19927 ;; TODO: Complete packaging
19928 ;; go-github-com-azure-azure-sdk-for-go
19929 ;; go-github-com-azure-go-autorest-autorest
19930 ;; go-github-com-azure-go-autorest-autorest-adal
19931 ;; go-github-com-azure-go-autorest-autorest-azure-auth
19932 ;; go-github-com-beevik-etree
19933 ;; go-github-com-howeyc-gopass
19934 ;; go-github-com-qur-ar
19935 #;go-github-com-streadway-amqp))
19936 (home-page "https://github.com/sassoftware/relic")
19937 (synopsis "Digital signatures to operating system packages")
19938 (description
19939 "relic is a multi-tool and server for package signing and working with
19940hardware security modules (HSMs).")
19941 (license license:asl2.0)
19942 ;; XXX: Don't expose since it's a partial package.
19943 (properties '((hidden? . #t)))))
19944
19945(define-public go-github-com-sassoftware-relic
19946 (package/inherit go-github-com-sassoftware-relic-v7
19947 (name "go-github-com-sassoftware-relic")
19948 (source
19949 (origin
19950 (inherit (package-source go-github-com-sassoftware-relic-v7))
19951 (modules '((guix build utils)))
19952 (snippet
19953 #~(begin
19954 ;; It's the same package but some projects expect differnt import
19955 ;; path.
19956 (substitute* (find-files "." "\\.go$")
19957 (("github.com/sassoftware/relic/v7")
19958 "github.com/sassoftware/relic"))))))
19959 (arguments
19960 (substitute-keyword-arguments arguments
19961 ((#:import-path _ "github.com/sassoftware/relic/v7")
19962 "github.com/sassoftware/relic")))))
19963
19964(define-public go-github-com-schollz-peerdiscovery
19965 (package
19966 (name "go-github-com-schollz-peerdiscovery")
19967 (version "1.7.6")
19968 (source
19969 (origin
19970 (method git-fetch)
19971 (uri (git-reference
19972 (url "https://github.com/schollz/peerdiscovery")
19973 (commit (string-append "v" version))))
19974 (file-name (git-file-name name version))
19975 (sha256
19976 (base32 "1ygdcz1zxahy7h0n1xqgfd97sklaidvqiw2axjh5mzjjrrf30dm5"))))
19977 (build-system go-build-system)
19978 (arguments
19979 (list
19980 #:tests? #f ;they require network setup
19981 #:import-path "github.com/schollz/peerdiscovery"
19982 #:phases
19983 #~(modify-phases %standard-phases
19984 (add-after 'unpack 'remove-examples
19985 (lambda* (#:key tests? import-path #:allow-other-keys)
19986 (with-directory-excursion (string-append "src/" import-path)
19987 (delete-file-recursively "examples")))))))
19988 (propagated-inputs
19989 (list go-golang-org-x-net))
19990 (home-page "https://github.com/schollz/peerdiscovery")
19991 (synopsis "Local peer discovery using UDP multicast")
19992 (description
19993 "This package implements a functionality for cross-platform thread-safe
19994local peer discovery using UDP multicast.")
19995 (license license:expat)))
19996
19997(define-public go-github-com-sebest-xff
19998 (package
19999 (name "go-github-com-sebest-xff")
20000 (version "0.0.0-20210106013422-671bd2870b3a")
20001 (source
20002 (origin
20003 (method git-fetch)
20004 (uri (git-reference
20005 (url "https://github.com/sebest/xff")
20006 (commit (go-version->git-ref version))))
20007 (file-name (git-file-name name version))
20008 (sha256
20009 (base32 "06is8vvgxsis4sdr1d1n7p5g16x3rrw86qwkiwgamm5vnjkrvcdp"))))
20010 (build-system go-build-system)
20011 (arguments
20012 (list
20013 #:import-path "github.com/sebest/xff"
20014 #:phases
20015 #~(modify-phases %standard-phases
20016 (add-after 'unpack 'remove-examples
20017 (lambda* (#:key tests? import-path #:allow-other-keys)
20018 (with-directory-excursion (string-append "src/" import-path)
20019 (delete-file-recursively "examples")))))))
20020 (native-inputs
20021 (list go-github-com-stretchr-testify))
20022 (home-page "https://github.com/sebest/xff")
20023 (synopsis "X-Forwarded-For middleware for Golang")
20024 (description
20025 "Package @@code{xff} is a @code{net/http} middleware/handler to parse
20026@url{http://tools.ietf.org/html/rfc7239, Forwarded HTTP Extension} in
20027Golang.")
20028 (license license:expat)))
20029
20030(define-public go-github-com-sherclockholmes-webpush-go
20031 (package
20032 (name "go-github-com-sherclockholmes-webpush-go")
20033 (version "1.4.0")
20034 (source
20035 (origin
20036 (method git-fetch)
20037 (uri (git-reference
20038 (url "https://github.com/SherClockHolmes/webpush-go")
20039 (commit (string-append "v" version))))
20040 (file-name (git-file-name name version))
20041 (sha256
20042 (base32 "0dzc2nlxd1lfwr97cqmr4fc792zbsb6yssr7yqxxamqck1y8gnqm"))))
20043 (build-system go-build-system)
20044 (arguments
20045 (list
20046 #:import-path "github.com/SherClockHolmes/webpush-go"))
20047 (propagated-inputs
20048 (list go-github-com-golang-jwt-jwt-v5 go-golang-org-x-crypto))
20049 (home-page "https://github.com/SherClockHolmes/webpush-go")
20050 (synopsis "Web Push API Encryption with VAPID support")
20051 (description
20052 "Web Push API Encryption with
20053@url{https://datatracker.ietf.org/doc/html/draft-ietf-webpush-vapid-01, VAPID}
20054support.")
20055 (license license:expat)))
20056
20057(define-public go-github-com-shopify-goreferrer
20058 (package
20059 (name "go-github-com-shopify-goreferrer")
20060 (version "0.0.0-20250513162709-b78e2829e40b")
20061 (source
20062 (origin
20063 (method git-fetch)
20064 (uri (git-reference
20065 (url "https://github.com/Shopify/goreferrer")
20066 (commit (go-version->git-ref version))))
20067 (file-name (git-file-name name version))
20068 (sha256
20069 (base32 "1sdmhkb1z5lhk7sgwq13vn2ryp0aaj4vsqb3fcxj8nyjvq19bfin"))))
20070 (build-system go-build-system)
20071 (arguments
20072 (list
20073 #:import-path "github.com/Shopify/goreferrer"
20074 #:embed-files
20075 #~(list
20076 ;; golang.org/x/net/publicsuffix/table.go:63:12: pattern
20077 ;; data/children: cannot embed irregular file data/children
20078 "children"
20079 ;; golang.org/x/net/publicsuffix/table.go:48:12: pattern data/nodes:
20080 ;; cannot embed irregular file data/nodes
20081 "nodes"
20082 ;; golang.org/x/net/publicsuffix/table.go:33:12: pattern data/text:
20083 ;; cannot embed irregular file data/text
20084 "text")))
20085 (native-inputs
20086 (list go-github-com-stretchr-testify))
20087 (propagated-inputs
20088 (list go-golang-org-x-net))
20089 (home-page "https://github.com/Shopify/goreferrer")
20090 (synopsis "Referrer URLs analyzer and classifier library for Golang")
20091 (description
20092 "This package provides a Go module that analyzes and classifies different
20093kinds of referrer URLs (search, social, ...).")
20094 (license license:expat)))
20095
20096(define-public go-github-com-shurcool-githubv4
20097 (package
20098 (name "go-github-com-shurcool-githubv4")
20099 (version "0.0.0-20240429030203-be2daab69064")
20100 (source
20101 (origin
20102 (method git-fetch)
20103 (uri (git-reference
20104 (url "https://github.com/shurcooL/githubv4")
20105 (commit (go-version->git-ref version))))
20106 (file-name (git-file-name name version))
20107 (sha256
20108 (base32 "0kkvqwv0waa8hj1jr9b4nvz8rmslqpchidl7gs9bplrkl3fvsxn6"))))
20109 (build-system go-build-system)
20110 (arguments
20111 (list
20112 #:import-path "github.com/shurcooL/githubv4"))
20113 (propagated-inputs
20114 (list go-github-com-shurcool-graphql
20115 go-golang-org-x-oauth2))
20116 (home-page "https://github.com/shurcooL/githubv4")
20117 (synopsis "Client library for GitHub GraphQL API v4")
20118 (description
20119 "Package githubv4 is a client library for accessing GitHub @code{GraphQL}
20120API v4.")
20121 (license license:expat)))
20122
20123(define-public go-github-com-shurcool-graphql
20124 (package
20125 (name "go-github-com-shurcool-graphql")
20126 (version "0.0.0-20230722043721-ed46e5a46466")
20127 (source
20128 (origin
20129 (method git-fetch)
20130 (uri (git-reference
20131 (url "https://github.com/shurcooL/graphql")
20132 (commit (go-version->git-ref version))))
20133 (file-name (git-file-name name version))
20134 (sha256
20135 (base32 "12cq16qak217bkpklqsmqhl42gz8cpadpzqw6fsivc3ambjpqdry"))))
20136 (build-system go-build-system)
20137 (arguments
20138 (list
20139 #:import-path "github.com/shurcooL/graphql"))
20140 (home-page "https://github.com/shurcooL/graphql")
20141 (synopsis "GraphQL client")
20142 (description
20143 "Package graphql provides a @code{GraphQL} client implementation.")
20144 (license license:expat)))
20145
20146(define-public go-github-com-shurcool-httpfs
20147 (package
20148 (name "go-github-com-shurcool-httpfs")
20149 (version "0.0.0-20230704072500-f1e31cf0ba5c")
20150 (source
20151 (origin
20152 (method git-fetch)
20153 (uri (git-reference
20154 (url "https://github.com/shurcooL/httpfs")
20155 (commit (go-version->git-ref version))))
20156 (file-name (git-file-name name version))
20157 (sha256
20158 (base32 "1m0jjnfzr8372cjx0zjm2zm695kwaz8l1yk7gzgn05biadsklprm"))))
20159 (build-system go-build-system)
20160 (arguments
20161 (list
20162 #:skip-build? #t
20163 #:import-path "github.com/shurcooL/httpfs"))
20164 (native-inputs
20165 (list go-golang-org-x-tools-godoc))
20166 (propagated-inputs
20167 (list go-github-com-shurcool-httpgzip))
20168 (home-page "https://github.com/shurcooL/httpfs")
20169 (synopsis "Utilities for @code{http.FileSystem}")
20170 (description
20171 "Collection of Go packages for working with the +@code{http.FileSystem}
20172interface.")
20173 (license license:expat)))
20174
20175(define-public go-github-com-shurcool-httpgzip
20176 (package
20177 (name "go-github-com-shurcool-httpgzip")
20178 (version "0.0.0-20230704072819-d1585fc322fa")
20179 (source
20180 (origin
20181 (method git-fetch)
20182 (uri (git-reference
20183 (url "https://github.com/shurcooL/httpgzip")
20184 (commit (go-version->git-ref version))))
20185 (file-name (git-file-name name version))
20186 (sha256
20187 (base32 "10fnndia8ij3hwwvknn8qy8z3955bm7xyvqd69yh5g2zh25zc5x2"))))
20188 (build-system go-build-system)
20189 (arguments
20190 (list
20191 #:import-path "github.com/shurcooL/httpgzip"))
20192 (native-inputs
20193 (list go-golang-org-x-tools-godoc))
20194 (propagated-inputs
20195 (list go-golang-org-x-net))
20196 (home-page "https://github.com/shurcooL/httpgzip")
20197 (synopsis "Primitives of @code{net-http}-like with gzip compression")
20198 (description
20199 "Package @code{httpgzip} provides @code{net/http}-like primitives that
20200use gzip compression when serving HTTP requests.")
20201 (license license:expat)))
20202
20203(define-public go-github-com-shurcool-vfsgen
20204 (package
20205 (name "go-github-com-shurcool-vfsgen")
20206 (version "0.0.0-20230704071429-0000e147ea92")
20207 (source
20208 (origin
20209 (method git-fetch)
20210 (uri (git-reference
20211 (url "https://github.com/shurcooL/vfsgen")
20212 (commit (go-version->git-ref version))))
20213 (file-name (git-file-name name version))
20214 (sha256
20215 (base32 "1ypfdiv56ckb0yc7mccc2l8vc3gmfws2p7bcf9f0j415m7r0aq6q"))))
20216 (build-system go-build-system)
20217 (arguments
20218 (list
20219 #:import-path "github.com/shurcooL/vfsgen"))
20220 (native-inputs
20221 (list go-golang-org-x-tools-godoc))
20222 (propagated-inputs
20223 (list go-github-com-shurcool-httpfs))
20224 (home-page "https://github.com/shurcooL/vfsgen")
20225 (synopsis "Generate Go code from an @code{http.FileSystem}")
20226 (description
20227 "Package @code{vfsgen} takes an @code{http.FileSystem} (likely at
20228@code{go generate} time) and generates Go code that statically implements the
20229provided @code{http.FileSystem}.")
20230 (license license:expat)))
20231
20232(define-public go-github-com-sigstore-fulcio
20233 (package
20234 (name "go-github-com-sigstore-fulcio")
20235 (version "1.8.5")
20236 (source
20237 (origin
20238 (method git-fetch)
20239 (uri (git-reference
20240 (url "https://github.com/sigstore/fulcio")
20241 (commit (string-append "v" version))))
20242 (file-name (git-file-name name version))
20243 (sha256
20244 (base32 "1cz66fswvy50868yr13s4pvrdn3lk9kh0wp3ynrb2g6l4y7z8rw5"))
20245 (modules '((guix build utils)))
20246 (snippet
20247 #~(begin
20248 ;; Submodules with their own go.mod files and packaged separately:
20249 ;;
20250 ;; - github.com/sigstore/fulcio/hack/tools
20251 (delete-file-recursively "hack/tools")))))
20252 (build-system go-build-system)
20253 (arguments
20254 (list
20255 ;; TODO: Generate source, see
20256 ;; <https://github.com/sigstore/fulcio/blob/v1.8.5/Makefile>.
20257 #:skip-build? #t
20258 #:import-path "github.com/sigstore/fulcio"
20259 #:test-subdirs
20260 ;; XXX: Remove when all inputs are packaged.
20261 #~(list "pkg/api"
20262 "pkg/certificate"
20263 "pkg/ctl"
20264 "pkg/oauthflow")))
20265 (native-inputs
20266 (list go-github-com-stretchr-testify
20267 go-github-com-google-go-cmp
20268 go-github-com-spf13-cobra
20269 go-github-com-spf13-pflag
20270 go-github-com-spf13-viper))
20271 (propagated-inputs
20272 (list go-cloud-google-com-go-security
20273 go-github-com-asaskevich-govalidator
20274 go-github-com-coreos-go-oidc-v3
20275 go-github-com-fsnotify-fsnotify
20276 go-github-com-go-jose-go-jose-v4
20277 go-github-com-google-certificate-transparency-go
20278 go-github-com-grpc-ecosystem-go-grpc-middleware
20279 go-github-com-grpc-ecosystem-go-grpc-prometheus
20280 go-github-com-grpc-ecosystem-grpc-gateway-v2
20281 go-github-com-hashicorp-golang-lru-v2
20282 go-github-com-magiconair-properties
20283 go-github-com-paesslerag-jsonpath
20284 go-github-com-prometheus-client-golang
20285 go-github-com-prometheus-client-model
20286 go-github-com-prometheus-common
20287 go-github-com-rs-cors
20288 go-github-com-sigstore-protobuf-specs
20289 go-github-com-sigstore-sigstore
20290 go-github-com-spiffe-go-spiffe-v2
20291 go-github-com-tink-crypto-tink-go-v2
20292 go-go-step-sm-crypto
20293 go-go-uber-org-zap
20294 go-go-yaml-in-yaml-v3
20295 go-google-golang-org-api
20296 go-google-golang-org-genproto-googleapis-api
20297 go-google-golang-org-grpc
20298 go-google-golang-org-protobuf
20299 go-sigs-k8s-io-release-utils
20300
20301 ;; TODO: Complete packaging
20302 ;; go-chainguard-dev-go-grpc-kit
20303 ;; go-chainguard-dev-sdk
20304 ;; go-github-com-sigstore-sigstore-pkg-signature-kms-aws
20305 ;; go-github-com-sigstore-sigstore-pkg-signature-kms-azure
20306 ;; go-github-com-sigstore-sigstore-pkg-signature-kms-gcp
20307 ;; go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault
20308 ;; go-github-com-thalesignite-crypto11
20309 ;; go-github-com-tink-crypto-tink-go-awskms-v2
20310 ;; go-github-com-tink-crypto-tink-go-gcpkms-v2
20311 #;go-goa-design-goa-v3))
20312 (home-page "https://github.com/sigstore/fulcio")
20313 (synopsis "Sigstore certificate authority for code signing")
20314 (description
20315 "Fulcio is a free-to-use certificate authority for issuing code signing
20316certificates for an OpenID Connect (OIDC) identity, such as email address.
20317It is part of the Sigstore project for software supply chain security.")
20318 (license license:asl2.0)
20319 ;; XXX: Don't expose since it's a partial package.
20320 (properties '((hidden? . #t)))))
20321
20322(define-public go-github-com-sigstore-rekor
20323 (package
20324 (name "go-github-com-sigstore-rekor")
20325 (version "1.4.3")
20326 (source
20327 (origin
20328 (method git-fetch)
20329 (uri (git-reference
20330 (url "https://github.com/sigstore/rekor")
20331 (commit (string-append "v" version))))
20332 (file-name (git-file-name name version))
20333 (sha256
20334 (base32 "1g2xma0fzy7a4nv7bj04pj9vqg4hbbz3j3jxkir0sxql5ragj36d"))))
20335 (build-system go-build-system)
20336 (arguments
20337 (list
20338 #:skip-build? #t
20339 #:import-path "github.com/sigstore/rekor"
20340 #:embed-files #~(list ".*\\.json")
20341 ;; ;; XXX: Remove when all inputs are packaged.
20342 #:test-subdirs
20343 #~(list "pkg/client"
20344 "pkg/events/newentry"
20345 "pkg/indexstorage/mysql"
20346 "pkg/pki/minisign"
20347 "pkg/pki/pgp"
20348 "pkg/pki/ssh"
20349 "pkg/pki/tuf"
20350 "pkg/pki/x509"
20351 "pkg/pubsub/gcp"
20352 "pkg/tle"
20353 "pkg/types"
20354 "pkg/util"
20355 "pkg/verify")))
20356 (native-inputs
20357 (list go-github-com-asaskevich-govalidator
20358 go-github-com-data-dog-go-sqlmock
20359 go-github-com-golang-mock
20360 go-github-com-google-go-cmp
20361 go-github-com-spf13-cobra
20362 go-github-com-spf13-pflag
20363 go-github-com-spf13-viper
20364 go-github-com-stretchr-testify
20365 go-go-uber-org-goleak
20366 go-sigs-k8s-io-release-utils))
20367 (propagated-inputs
20368 (list go-cloud-google-com-go-iam
20369 go-cloud-google-com-go-profiler
20370 go-github-com-asaskevich-govalidator
20371 go-github-com-blang-semver
20372 go-github-com-cyberphone-json-canonicalization
20373 go-github-com-go-chi-chi-v5
20374 go-github-com-go-openapi-errors
20375 go-github-com-go-openapi-loads
20376 go-github-com-go-openapi-runtime
20377 go-github-com-go-openapi-spec
20378 go-github-com-go-openapi-strfmt
20379 go-github-com-go-openapi-swag
20380 go-github-com-go-openapi-swag-conv
20381 go-github-com-go-openapi-validate
20382 go-github-com-go-sql-driver-mysql
20383 go-github-com-go-viper-mapstructure-v2
20384 go-github-com-google-rpmpack
20385 go-github-com-google-trillian
20386 go-github-com-grpc-ecosystem-go-grpc-middleware
20387 go-github-com-hashicorp-go-cleanhttp
20388 go-github-com-hashicorp-go-retryablehttp
20389 go-github-com-in-toto-in-toto-golang
20390 go-github-com-jedisct1-go-minisign
20391 go-github-com-jmoiron-sqlx
20392 go-github-com-prometheus-client-golang
20393 go-github-com-redis-go-redis-v9
20394 go-github-com-rs-cors
20395 go-github-com-sassoftware-relic
20396 go-github-com-sassoftware-relic-v7
20397 go-github-com-secure-systems-lab-go-securesystemslib
20398 go-github-com-sigstore-protobuf-specs
20399 go-github-com-sigstore-sigstore
20400 go-github-com-sigstore-sigstore-pkg-signature-kms-aws
20401 go-github-com-sigstore-sigstore-pkg-signature-kms-azure
20402 go-github-com-sigstore-sigstore-pkg-signature-kms-gcp
20403 go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault
20404 go-github-com-theupdateframework-go-tuf
20405 go-github-com-tink-crypto-tink-go-awskms-v2
20406 go-github-com-tink-crypto-tink-go-gcpkms-v2
20407 go-github-com-tink-crypto-tink-go-v2
20408 go-github-com-transparency-dev-merkle
20409 go-github-com-veraison-go-cose
20410 go-go-step-sm-crypto
20411 go-go-uber-org-zap
20412 go-golang-org-x-crypto
20413 go-golang-org-x-mod
20414 go-golang-org-x-net
20415 go-golang-org-x-sync
20416 go-google-golang-org-api
20417 go-google-golang-org-genproto-googleapis-rpc
20418 go-google-golang-org-grpc
20419 go-google-golang-org-protobuf
20420 go-gopkg-in-ini-v1
20421 go-gopkg-in-yaml-v2
20422 go-sigs-k8s-io-yaml
20423
20424 ;; TODO: Complete packaging.
20425 ;; go-cloud-google-com-go-pubsub
20426 ;; go-cloud-google-com-go-pubsub-v2
20427 ;; go-github-com-adamkorcz-go-fuzz-headers-1
20428 ;; go-github-com-cavaliercoder-go-rpm
20429 ;; go-github-com-go-redis-redismock-v9
20430 #;go-gocloud-dev))
20431 (home-page "https://github.com/sigstore/rekor")
20432 (synopsis "Sigstore transparency log")
20433 (description
20434 "Rekor provides an immutable tamper-resistant ledger of metadata generated
20435within a software project's supply chain. It enables software maintainers
20436and consumers to transparently record signed metadata to a ledger.")
20437 (license license:asl2.0)))
20438
20439(define-public go-github-com-sigstore-rekor-tiles-v2
20440 (package
20441 (name "go-github-com-sigstore-rekor-tiles-v2")
20442 (version "2.0.1")
20443 (source
20444 (origin
20445 (method git-fetch)
20446 (uri (git-reference
20447 (url "https://github.com/sigstore/rekor-tiles")
20448 (commit (string-append "v" version))))
20449 (file-name (git-file-name name version))
20450 (sha256
20451 (base32 "0z9is3mf31abzwappwp05z1pzci6f25z1ax27qgghmdisxmd3c6k"))))
20452 (build-system go-build-system)
20453 (arguments
20454 (list
20455 #:skip-build? #t
20456 #:import-path "github.com/sigstore/rekor-tiles/v2"
20457 #:embed-files #~(list ".*\\.json")))
20458 (native-inputs
20459 (list go-github-com-go-test-deep
20460 go-github-com-sigstore-sigstore-go-bootstrap ;cycles
20461 go-github-com-spf13-cobra
20462 go-github-com-spf13-viper
20463 go-github-com-stretchr-testify
20464 go-sigs-k8s-io-release-utils
20465 ;; XXX: To fix: warning: collision encountered.
20466 go-github-com-hashicorp-hcl-vault-7))
20467 (propagated-inputs
20468 (list go-cloud-google-com-go-spanner
20469 go-cloud-google-com-go-storage
20470 go-github-com-aws-aws-sdk-go-v2
20471 go-github-com-aws-aws-sdk-go-v2-config
20472 go-github-com-aws-aws-sdk-go-v2-credentials
20473 go-github-com-aws-aws-sdk-go-v2-service-s3
20474 go-github-com-aws-smithy-go
20475 go-github-com-cyberphone-json-canonicalization
20476 go-github-com-grpc-ecosystem-go-grpc-middleware
20477 go-github-com-grpc-ecosystem-go-grpc-middleware-providers-prometheus
20478 go-github-com-grpc-ecosystem-go-grpc-middleware-v2
20479 go-github-com-grpc-ecosystem-grpc-gateway-v2
20480 go-github-com-prometheus-client-golang
20481 go-github-com-secure-systems-lab-go-securesystemslib
20482 go-github-com-sigstore-protobuf-specs
20483 go-github-com-sigstore-sigstore
20484 go-github-com-chainguard-dev-clog
20485 go-github-com-sigstore-sigstore-pkg-signature-kms-aws
20486 go-github-com-sigstore-sigstore-pkg-signature-kms-gcp
20487 go-github-com-tink-crypto-tink-go-awskms-v2
20488 go-github-com-tink-crypto-tink-go-gcpkms-v2
20489 go-github-com-tink-crypto-tink-go-v2
20490 go-github-com-transparency-dev-formats
20491 go-github-com-transparency-dev-merkle
20492 go-github-com-transparency-dev-tessera
20493 go-go-opentelemetry-io-otel
20494 go-go-opentelemetry-io-otel-exporters-prometheus
20495 go-go-opentelemetry-io-otel-sdk-metric
20496 go-go-step-sm-crypto
20497 go-golang-org-x-exp
20498 go-golang-org-x-mod
20499 go-golang-org-x-sync
20500 go-google-golang-org-api
20501 go-google-golang-org-genproto-googleapis-api
20502 go-google-golang-org-grpc
20503 go-google-golang-org-protobuf
20504 go-k8s-io-klog-v2))
20505 (home-page "https://github.com/sigstore/rekor-tiles")
20506 (synopsis "Tile-based transparency log for Sigstore")
20507 (description
20508 "This package provides a tile-based implementation of a transparency log
20509for the Sigstore ecosystem, supporting efficient verification of log entries.")
20510 (license license:asl2.0)))
20511
20512(define-public go-github-com-sigstore-sigstore
20513 (package
20514 (name "go-github-com-sigstore-sigstore")
20515 (version "1.10.4")
20516 (source
20517 (origin
20518 (method git-fetch)
20519 (uri (git-reference
20520 (url "https://github.com/sigstore/sigstore")
20521 (commit (string-append "v" version))))
20522 (file-name (git-file-name name version))
20523 (sha256
20524 (base32 "0whcwzdmvf8xhin55112dmwflk5ipcd14mxjlgj5lpw3a8fp38af"))
20525 (modules '((guix build utils)))
20526 (snippet
20527 #~(begin
20528 ;; Submodules with their own go.mod files and packaged separately:
20529 ;;
20530 ;; - github.com/sigstore/sigstore/hack/tools
20531 ;; - github.com/sigstore/sigstore/pkg/signature/kms/aws
20532 ;; - github.com/sigstore/sigstore/pkg/signature/kms/azure
20533 ;; - github.com/sigstore/sigstore/pkg/signature/kms/gcp
20534 ;; - github.com/sigstore/sigstore/pkg/signature/kms/hashivault
20535 ;; - sigstore-kms-localkms
20536 ;; - github.com/sigstore/sigstore/test/fuzz
20537 (for-each delete-file-recursively
20538 (list "hack/tools"
20539 "pkg/signature/kms/aws"
20540 "pkg/signature/kms/azure"
20541 "pkg/signature/kms/gcp"
20542 "pkg/signature/kms/hashivault"
20543 "test/cliplugin/localkms"
20544 "test/fuzz"))))))
20545 (build-system go-build-system)
20546 (arguments
20547 (list
20548 #:skip-build? #t
20549 #:import-path "github.com/sigstore/sigstore"
20550 #:test-flags
20551 #~(list "-skip" (string-join
20552 ;; Network access is required.
20553 (list "TestAltLegacyURLToCDN"
20554 "TestCache"
20555 "TestConcurrentAccessInitialize"
20556 "TestConcurrentAccessNewFromEnv"
20557 "TestCustomRoot"
20558 "TestCustomRootFileRemoteStore"
20559 "TestGetTargetsByMeta"
20560 "TestLegacyBucketToCDN"
20561 "TestProviderIsAzureBacked"
20562 "TestNewFromEnv"
20563 "TestLegacyURLToCDN"
20564 "TestAltLegacyURLToCDN"
20565 "TestNoCache"
20566 "TestUpdatedTargetNamesEmbedded"
20567 "TestUpdatedTargetNamesEmbedded")
20568 "|"))
20569 #:phases
20570 #~(modify-phases %standard-phases
20571 (add-before 'check 'set-home
20572 (lambda _
20573 (setenv "HOME" "/tmp"))))))
20574 (native-inputs
20575 (list go-github-com-stretchr-testify
20576 go-github-com-google-go-cmp))
20577 (propagated-inputs
20578 (list go-github-com-coreos-go-oidc-v3
20579 go-github-com-go-jose-go-jose-v4
20580 go-github-com-go-rod-rod
20581 go-github-com-google-go-containerregistry
20582 go-github-com-letsencrypt-boulder
20583 go-github-com-pkg-browser
20584 go-github-com-secure-systems-lab-go-securesystemslib
20585 go-github-com-sigstore-protobuf-specs
20586 go-github-com-theupdateframework-go-tuf
20587 go-github-com-tink-crypto-tink-go-v2
20588 go-golang-org-x-crypto
20589 go-golang-org-x-oauth2
20590 go-golang-org-x-term))
20591 (home-page "https://sigstore.dev/")
20592 (synopsis "Common Go library for Sigstore services")
20593 (description
20594 "Sigstore is a Go library providing common functionality for Sigstore
20595services. It includes cryptographic utilities, OAuth/OIDC authentication,
20596certificate handling, and tools for interacting with Sigstore infrastructure
20597like Fulcio and Rekor.")
20598 (license license:asl2.0)))
20599
20600(define-public go-github-com-sigstore-sigstore-go
20601 (package
20602 (name "go-github-com-sigstore-sigstore-go")
20603 (version "1.1.4")
20604 (source
20605 (origin
20606 (method git-fetch)
20607 (uri (git-reference
20608 (url "https://github.com/sigstore/sigstore-go")
20609 (commit (string-append "v" version))))
20610 (file-name (git-file-name name version))
20611 (sha256
20612 (base32 "0jr8jj4wibzxawn3dzv1j4cxmbh2b5g356mh2bqq9d0p78idf7k3"))))
20613 (build-system go-build-system)
20614 (arguments
20615 (list
20616 #:skip-build? #t
20617 #:import-path "github.com/sigstore/sigstore-go"
20618 #:embed-files #~(list ".*\\.json")
20619 #:test-subdirs
20620 #~(list "pkg/bundle"
20621 "pkg/fulcio/certificate"
20622 "pkg/tlog"
20623 "pkg/tuf")))
20624 (native-inputs
20625 (list go-github-com-stretchr-testify))
20626 (propagated-inputs
20627 (list go-github-com-cyberphone-json-canonicalization
20628 go-github-com-digitorus-timestamp
20629 go-github-com-go-openapi-runtime
20630 go-github-com-go-openapi-strfmt
20631 go-github-com-go-openapi-swag-conv
20632 go-github-com-google-certificate-transparency-go
20633 go-github-com-in-toto-attestation
20634 go-github-com-in-toto-in-toto-golang
20635 go-github-com-secure-systems-lab-go-securesystemslib
20636 go-github-com-sigstore-protobuf-specs
20637 go-github-com-sigstore-rekor
20638 go-github-com-sigstore-rekor-tiles-v2
20639 go-github-com-sigstore-sigstore
20640 go-github-com-sigstore-timestamp-authority-v2
20641 go-github-com-theupdateframework-go-tuf-v2
20642 go-golang-org-x-crypto
20643 go-golang-org-x-mod
20644 go-google-golang-org-protobuf))
20645 (home-page "https://github.com/sigstore/sigstore-go")
20646 (synopsis "Go client library for Sigstore")
20647 (description
20648 "This package provides a Go client library for Sigstore, enabling
20649verification of signatures and attestations produced by Sigstore tools.")
20650 (license license:asl2.0)))
20651
20652(define-public go-github-com-sigstore-sigstore-go-bootstrap
20653 (package
20654 (inherit go-github-com-sigstore-sigstore-go)
20655 (name "go-github-com-sigstore-sigstore-go-bootstrap")
20656 (source
20657 (origin
20658 (inherit (package-source go-github-com-sigstore-sigstore-go))
20659 (modules '((guix build utils)))
20660 (snippet
20661 #~(begin
20662 (delete-file-recursively "examples")
20663 (for-each delete-file (find-files "." "^.*_test\\.go$"))))))
20664 (build-system go-build-system)
20665 (arguments
20666 (list
20667 #:skip-build? #t
20668 #:tests? #f
20669 #:import-path "github.com/sigstore/sigstore-go"))
20670 (propagated-inputs
20671 (list go-github-com-digitorus-timestamp
20672 go-github-com-go-openapi-runtime
20673 go-github-com-go-openapi-strfmt
20674 go-github-com-in-toto-attestation
20675 go-github-com-sigstore-rekor
20676 go-github-com-sigstore-timestamp-authority-v2
20677 go-github-com-theupdateframework-go-tuf-v2))
20678 (properties '((hidden? . #t)))))
20679
20680(define-public go-github-com-sigstore-sigstore-pkg-signature-kms-aws
20681 (package
20682 (name "go-github-com-sigstore-sigstore-pkg-signature-kms-aws")
20683 (version "1.10.5")
20684 (source
20685 (origin
20686 (method git-fetch)
20687 (uri (git-reference
20688 (url "https://github.com/sigstore/sigstore")
20689 (commit (go-version->git-ref version
20690 #:subdir
20691 "pkg/signature/kms/aws"))))
20692 (file-name (git-file-name name version))
20693 (sha256
20694 (base32 "0shnvcgz4g7v65biwraahjrbsmr13qmb903al50giak2694qhyyk"))
20695 (modules '((guix build utils)))
20696 (snippet
20697 #~(begin
20698 (delete-all-but "." "pkg")
20699 (delete-all-but "pkg" "signature")
20700 (delete-all-but "pkg/signature" "kms")
20701 (delete-all-but "pkg/signature/kms" "aws")))))
20702 (build-system go-build-system)
20703 (arguments
20704 (list
20705 #:import-path "github.com/sigstore/sigstore/pkg/signature/kms/aws"
20706 #:unpack-path "github.com/sigstore/sigstore"))
20707 (native-inputs
20708 (list go-github-com-stretchr-testify))
20709 (propagated-inputs
20710 (list go-github-com-aws-aws-sdk-go-v2
20711 go-github-com-aws-aws-sdk-go-v2-config
20712 go-github-com-aws-aws-sdk-go-v2-service-kms
20713 go-github-com-jellydator-ttlcache-v3
20714 go-github-com-sigstore-sigstore))
20715 (home-page "https://github.com/sigstore/sigstore")
20716 (synopsis "Utilities related to AWS KMS")
20717 (description
20718 "Package aws implement the interface with Amazon AWS KMS service.")
20719 (license license:asl2.0)))
20720
20721(define-public go-github-com-sigstore-sigstore-pkg-signature-kms-azure
20722 (package
20723 (name "go-github-com-sigstore-sigstore-pkg-signature-kms-azure")
20724 (version "1.10.5")
20725 (source
20726 (origin
20727 (method git-fetch)
20728 (uri (git-reference
20729 (url "https://github.com/sigstore/sigstore")
20730 (commit (go-version->git-ref version
20731 #:subdir
20732 "pkg/signature/kms/azure"))))
20733 (file-name (git-file-name name version))
20734 (sha256
20735 (base32 "0shnvcgz4g7v65biwraahjrbsmr13qmb903al50giak2694qhyyk"))
20736 (modules '((guix build utils)))
20737 (snippet
20738 #~(begin
20739 (delete-all-but "." "pkg")
20740 (delete-all-but "pkg" "signature")
20741 (delete-all-but "pkg/signature" "kms")
20742 (delete-all-but "pkg/signature/kms" "azure")))))
20743 (build-system go-build-system)
20744 (arguments
20745 (list
20746 #:import-path "github.com/sigstore/sigstore/pkg/signature/kms/azure"
20747 #:unpack-path "github.com/sigstore/sigstore"))
20748 (propagated-inputs
20749 (list go-github-com-azure-azure-sdk-for-go-sdk-azcore
20750 go-github-com-azure-azure-sdk-for-go-sdk-azidentity
20751 go-github-com-azure-azure-sdk-for-go-sdk-security-keyvault-azkeys
20752 go-github-com-go-jose-go-jose-v4
20753 go-github-com-google-go-cmp
20754 go-github-com-jellydator-ttlcache-v3
20755 go-github-com-sigstore-sigstore
20756 go-golang-org-x-crypto))
20757 (home-page "https://github.com/sigstore/sigstore")
20758 (synopsis "Utilities related to Microsoft Azure KMS")
20759 (description
20760 "Package azure implement the interface with Microsoft Azure KMS
20761service.")
20762 (license license:asl2.0)))
20763
20764(define-public go-github-com-sigstore-sigstore-pkg-signature-kms-gcp
20765 (package
20766 (name "go-github-com-sigstore-sigstore-pkg-signature-kms-gcp")
20767 (version "1.10.5")
20768 (source
20769 (origin
20770 (method git-fetch)
20771 (uri (git-reference
20772 (url "https://github.com/sigstore/sigstore")
20773 (commit (go-version->git-ref version
20774 #:subdir
20775 "pkg/signature/kms/gcp"))))
20776 (file-name (git-file-name name version))
20777 (sha256
20778 (base32 "0shnvcgz4g7v65biwraahjrbsmr13qmb903al50giak2694qhyyk"))
20779 (modules '((guix build utils)))
20780 (snippet
20781 #~(begin
20782 (delete-all-but "." "pkg")
20783 (delete-all-but "pkg" "signature")
20784 (delete-all-but "pkg/signature" "kms")
20785 (delete-all-but "pkg/signature/kms" "gcp")))))
20786 (build-system go-build-system)
20787 (arguments
20788 (list
20789 #:import-path "github.com/sigstore/sigstore/pkg/signature/kms/gcp"
20790 #:unpack-path "github.com/sigstore/sigstore"))
20791 (propagated-inputs
20792 (list go-cloud-google-com-go-kms
20793 go-github-com-jellydator-ttlcache-v3
20794 go-github-com-sigstore-sigstore
20795 go-golang-org-x-oauth2
20796 go-google-golang-org-api
20797 go-google-golang-org-protobuf))
20798 (home-page "https://github.com/sigstore/sigstore")
20799 (synopsis "Utilities related to Google Cloud Platform KMS")
20800 (description
20801 "Package gcp implement the interface with Google Cloud KMS service.")
20802 (license license:asl2.0)))
20803
20804(define-public go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault
20805 (package
20806 (name "go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault")
20807 (version "1.10.5")
20808 (source
20809 (origin
20810 (method git-fetch)
20811 (uri (git-reference
20812 (url "https://github.com/sigstore/sigstore")
20813 (commit (go-version->git-ref version
20814 #:subdir
20815 "pkg/signature/kms/hashivault"))))
20816 (file-name (git-file-name name version))
20817 (sha256
20818 (base32 "0shnvcgz4g7v65biwraahjrbsmr13qmb903al50giak2694qhyyk"))
20819 (modules '((guix build utils)))
20820 (snippet
20821 #~(begin
20822 (delete-all-but "." "pkg")
20823 (delete-all-but "pkg" "signature")
20824 (delete-all-but "pkg/signature" "kms")
20825 (delete-all-but "pkg/signature/kms" "hashivault")))))
20826 (build-system go-build-system)
20827 (arguments
20828 (list
20829 #:import-path "github.com/sigstore/sigstore/pkg/signature/kms/hashivault"
20830 #:unpack-path "github.com/sigstore/sigstore"))
20831 (native-inputs
20832 (list go-github-com-stretchr-testify))
20833 (propagated-inputs
20834 (list go-github-com-hashicorp-vault-api
20835 go-github-com-jellydator-ttlcache-v3
20836 go-github-com-mitchellh-go-homedir
20837 go-github-com-sigstore-sigstore))
20838 (home-page "https://github.com/sigstore/sigstore")
20839 (synopsis "Utilities related to Hashivault KMS")
20840 (description
20841 "Package hashivault implement the interface with
20842@url{https://www.hashicorp.com/en/products/vault HashiCorp Vault} KMS
20843service.")
20844 (license license:asl2.0)))
20845
20846(define-public go-github-com-sigstore-timestamp-authority-v2
20847 (package
20848 (name "go-github-com-sigstore-timestamp-authority-v2")
20849 (version "2.0.4")
20850 (source
20851 (origin
20852 (method git-fetch)
20853 (uri (git-reference
20854 (url "https://github.com/sigstore/timestamp-authority")
20855 (commit (string-append "v" version))))
20856 (file-name (git-file-name name version))
20857 (sha256
20858 (base32 "1pgdxwkyrl10ayhw02n72r02q362gxg7110l9h9isiyqwbrmw2lp"))))
20859 (build-system go-build-system)
20860 (arguments
20861 (list
20862 #:skip-build? #t
20863 #:import-path "github.com/sigstore/timestamp-authority/v2"
20864 #:embed-files #~(list ".*\\.json")
20865 #:test-subdirs #~(list "pkg/client" "pkg/x509")))
20866 (native-inputs
20867 (list go-github-com-go-playground-validator-v10
20868 go-github-com-google-go-cmp
20869 go-github-com-prometheus-client-golang
20870 go-github-com-sigstore-sigstore
20871 go-github-com-spf13-cobra
20872 go-github-com-spf13-pflag
20873 go-github-com-spf13-viper
20874 go-github-com-tink-crypto-tink-go-v2
20875 go-sigs-k8s-io-release-utils))
20876 (propagated-inputs
20877 (list go-cloud-google-com-go-security
20878 go-github-com-beevik-ntp
20879 go-github-com-digitorus-pkcs7
20880 go-github-com-digitorus-timestamp
20881 go-github-com-go-chi-chi
20882 go-github-com-go-openapi-errors
20883 go-github-com-go-openapi-loads
20884 go-github-com-go-openapi-runtime
20885 go-github-com-go-openapi-spec
20886 go-github-com-go-openapi-strfmt
20887 go-github-com-go-openapi-swag
20888 go-github-com-pkg-errors
20889 go-github-com-rs-cors
20890 go-github-com-sigstore-sigstore-pkg-signature-kms-aws
20891 go-github-com-sigstore-sigstore-pkg-signature-kms-azure
20892 go-github-com-sigstore-sigstore-pkg-signature-kms-gcp
20893 go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault
20894 go-github-com-tink-crypto-tink-go-awskms-v2
20895 go-github-com-tink-crypto-tink-go-gcpkms-v2
20896 go-github-com-tink-crypto-tink-go-hcvault-v2
20897 go-github-com-urfave-negroni
20898 go-go-step-sm-crypto
20899 go-sigs-k8s-io-yaml))
20900 (home-page "https://github.com/sigstore/timestamp-authority")
20901 (synopsis "RFC 3161 timestamp verification for Sigstore")
20902 (description
20903 "This package provides timestamp verification functionality for the
20904Sigstore ecosystem, implementing RFC 3161 timestamp response validation.")
20905 (license license:asl2.0)))
20906
20907(define-public go-github-com-slackhq-nebula
20908 ;; This a verbatim copy of (@ (gnu packages networking) nebula), packaged
20909 ;; as Go source library.
20910 (package
20911 (name "go-github-com-slackhq-nebula")
20912 (version "1.11.1")
20913 (source
20914 (origin
20915 (method git-fetch)
20916 (uri (git-reference
20917 (url "https://github.com/slackhq/nebula")
20918 (commit (string-append "v" version))))
20919 (file-name (git-file-name name version))
20920 (sha256
20921 (base32 "1zj8wlchilk8lwjj686sgbr6ahqackzyhndi45j2hd9iv6mlx36x"))
20922 ;; Remove windows-related binary blobs and files
20923 (snippet
20924 #~(begin
20925 (use-modules (guix build utils))
20926 (delete-file-recursively "dist/windows")
20927 (delete-file-recursively "wintun")))))
20928 (build-system go-build-system)
20929 (arguments
20930 (list
20931 #:import-path "github.com/slackhq/nebula"))
20932 (native-inputs
20933 (list go-github-com-stretchr-testify))
20934 (propagated-inputs
20935 (list go-dario-cat-mergo
20936 go-filippo-io-bigmod
20937 go-github-com-anmitsu-go-shlex
20938 go-github-com-armon-go-radix
20939 go-github-com-cyberdelia-go-metrics-graphite
20940 go-github-com-flynn-noise
20941 go-github-com-gaissmai-bart
20942 go-github-com-gogo-protobuf
20943 go-github-com-google-gopacket
20944 go-github-com-kardianos-service
20945 go-github-com-miekg-dns
20946 go-github-com-miekg-pkcs11
20947 go-github-com-nbrownus-go-metrics-prometheus
20948 go-github-com-prometheus-client-golang
20949 go-github-com-rcrowley-go-metrics
20950 go-github-com-sirupsen-logrus
20951 go-github-com-skip2-go-qrcode
20952 go-github-com-stefanberger-go-pkcs11uri
20953 go-github-com-vishvananda-netlink
20954 go-go-yaml-in-yaml-v3
20955 go-golang-org-x-crypto
20956 go-golang-org-x-exp
20957 go-golang-org-x-net
20958 go-golang-org-x-sync
20959 go-golang-org-x-sys
20960 go-golang-org-x-term
20961 go-golang-zx2c4-com-wireguard
20962 go-google-golang-org-protobuf
20963 go-gopkg-in-yaml-v3
20964 go-gvisor-dev-gvisor-source))
20965 (home-page "https://github.com/slackhq/nebula")
20966 (synopsis "Scalable, peer-to-peer overlay networking tool")
20967 (description
20968 "Nebula is a peer-to-peer networking tool based on the
20969@url{https://noiseprotocol.org/, Noise Protocol Framework}. It is not a fully
20970decentralized network, but instead uses central discovery nodes and a
20971certificate authority to facilitate direct, encrypted peer-to-peer connections
20972from behind most firewalls and @acronym{NAT, Network Address Translation}
20973layers.")
20974 (license license:expat)))
20975
20976(define-public go-github-com-slok-go-http-metrics
20977 (package
20978 (name "go-github-com-slok-go-http-metrics")
20979 (version "0.13.0")
20980 (source
20981 (origin
20982 (method git-fetch)
20983 (uri (git-reference
20984 (url "https://github.com/slok/go-http-metrics")
20985 (commit (string-append "v" version))))
20986 (file-name (git-file-name name version))
20987 (sha256
20988 (base32 "1lrnf0vhqlnhad6n8yyc2iafqlw6jr55cmyg9gqns2yi2gdfqv8m"))))
20989 (build-system go-build-system)
20990 (arguments
20991 (list
20992 #:import-path "github.com/slok/go-http-metrics"
20993 ;; XXX: Full tests require Iris package.
20994 #:test-subdirs #~(list "metrics/...")
20995 #:phases
20996 #~(modify-phases %standard-phases
20997 (add-after 'unpack 'remove-examples
20998 (lambda* (#:key tests? import-path #:allow-other-keys)
20999 (with-directory-excursion (string-append "src/" import-path)
21000 (delete-file-recursively "examples")))))))
21001 (propagated-inputs
21002 (list go-contrib-go-opencensus-io-exporter-prometheus
21003 go-github-com-emicklei-go-restful-v3
21004 go-github-com-fasthttp-router
21005 go-github-com-gin-gonic-gin
21006 go-github-com-go-chi-chi-v5
21007 go-github-com-gorilla-mux
21008 go-github-com-julienschmidt-httprouter
21009 go-github-com-justinas-alice
21010 ;; go-github-com-kataras-iris-v12
21011 go-github-com-labstack-echo-v4
21012 go-github-com-prometheus-client-golang
21013 go-github-com-stretchr-testify
21014 go-github-com-urfave-negroni
21015 go-github-com-valyala-fasthttp
21016 go-go-opencensus-io
21017 go-goji-io))
21018 (home-page "https://github.com/slok/go-http-metrics")
21019 (synopsis "Modular http middleware to measure HTTP requests")
21020 (description
21021 "Package gohttpmetrics knows how to measure http metrics in different
21022metric formats, it comes with a middleware that can be used for different
21023frameworks and also the the main Go net/http handler:.")
21024 (license license:asl2.0)))
21025
21026(define-public go-github-com-smallstep-linkedca
21027 (package
21028 (name "go-github-com-smallstep-linkedca")
21029 (version "0.26.0")
21030 (source
21031 (origin
21032 (method git-fetch)
21033 (uri (git-reference
21034 (url "https://github.com/smallstep/linkedca")
21035 (commit (string-append "v" version))))
21036 (file-name (git-file-name name version))
21037 (sha256
21038 (base32 "0sag4ilzss1gb7c2dx2yb130dls59fb16rkv3xw2pm1lcpwhdcw3"))))
21039 (build-system go-build-system)
21040 (arguments
21041 (list
21042 #:import-path "github.com/smallstep/linkedca"))
21043 (native-inputs
21044 (list go-github-com-stretchr-testify))
21045 (propagated-inputs
21046 (list go-google-golang-org-grpc
21047 go-google-golang-org-grpc-cmd-protoc-gen-go-grpc
21048 go-google-golang-org-protobuf))
21049 (home-page "https://github.com/smallstep/linkedca")
21050 (synopsis "Support for Linked CAs using protocol buffers and @code{gRPC}")
21051 (description
21052 "This package provides support for Linked CAs using protocol buffers and
21053@code{gRPC}.")
21054 (license license:asl2.0)))
21055
21056(define-public go-github-com-smartystreets-go-aws-auth
21057 (package
21058 (name "go-github-com-smartystreets-go-aws-auth")
21059 (version "0.0.0-20180515143844-0c1422d1fdb9")
21060 (source
21061 (origin
21062 (method git-fetch)
21063 (uri (git-reference
21064 (url "https://github.com/smarty-archives/go-aws-auth")
21065 (commit (go-version->git-ref version))))
21066 (file-name (git-file-name name version))
21067 (sha256
21068 (base32 "0krfdpgn3gfii1z9fi8ydfw0wwfqyvp6w3rji7w92m528zkjl93d"))
21069 (modules '((guix build utils)))
21070 (snippet
21071 #~(begin
21072 ;; Module names have not been changed after repositories changed upstream.
21073 (substitute* (find-files "." "\\.go$")
21074 (("github.com/smartystreets/assertions")
21075 "github.com/smarty/assertions")
21076 (("github.com/smartystreets/gunit")
21077 "github.com/smarty/gunit"))))))
21078 (build-system go-build-system)
21079 (arguments
21080 (list
21081 #:import-path "github.com/smartystreets/go-aws-auth"
21082 #:test-flags
21083 #~(list "-skip" (string-join
21084 ;; Assertions are not equal.
21085 (list "TestSign_ExistingCredentials_Version2"
21086 "TestSign_ExistingCredentials_Version3"
21087 "TestSign_Version2"
21088 "TestSign_Version3")
21089 "|"))))
21090 (native-inputs
21091 (list go-github-com-smarty-assertions
21092 go-github-com-smarty-gunit))
21093 (home-page "https://github.com/smarty-archives/go-aws-auth")
21094 (synopsis "Signs requests to Amazon Web Services using IAM")
21095 (description
21096 "Package awsauth implements AWS request signing using Signed Signature
21097Version 2,Signed Signature Version 3, and Signed Signature Version 4.
21098Supports S3 and STS.")
21099 (license license:expat)))
21100
21101(define-public go-github-com-snabb-httpreaderat
21102 (package
21103 (name "go-github-com-snabb-httpreaderat")
21104 (version "1.0.1")
21105 (source
21106 (origin
21107 (method git-fetch)
21108 (uri (git-reference
21109 (url "https://github.com/snabb/httpreaderat")
21110 (commit (string-append "v" version))))
21111 (file-name (git-file-name name version))
21112 (sha256
21113 (base32 "0f9qdqyzk57mrizdbr049ynz8xpw6h3dlsb5ibbzlcryl0pbhzki"))))
21114 (build-system go-build-system)
21115 (arguments
21116 (list
21117 #:import-path "github.com/snabb/httpreaderat"
21118 #:phases
21119 #~(modify-phases %standard-phases
21120 (add-after 'unpack 'remove-examples
21121 (lambda* (#:key tests? import-path #:allow-other-keys)
21122 (with-directory-excursion (string-append "src/" import-path)
21123 (delete-file-recursively "example")))))))
21124 (propagated-inputs
21125 (list go-github-com-pkg-errors))
21126 (home-page "https://github.com/snabb/httpreaderat")
21127 (synopsis "Golang @code{io.ReaderAt} to make HTTP Range Requests")
21128 (description
21129 "This package implements @code{io.ReaderAt} that makes
21130@url{https://tools.ietf.org/html/rfc7233, HTTP Range Requests}. It can be
21131used for example with \"archive/zip\" package in Go standard library. Together
21132they can be used to access remote (HTTP accessible) ZIP archives without
21133needing to download the whole archive file.")
21134 (license license:expat)))
21135
21136(define-public go-github-com-soheilhy-cmux
21137 (package
21138 (name "go-github-com-soheilhy-cmux")
21139 (version "0.1.5")
21140 (source
21141 (origin
21142 (method git-fetch)
21143 (uri (git-reference
21144 (url "https://github.com/soheilhy/cmux")
21145 (commit (string-append "v" version))))
21146 (file-name (git-file-name name version))
21147 (sha256
21148 (base32 "17zpa45xvmk3jl1qqx3lkqdyxs6hdczpv7hwg4s7x0895jx3zl5y"))
21149 (modules '((guix build utils)))
21150 (snippet
21151 #~(begin
21152 ;; Submodules with their own go.mod files and packaged separately:
21153 ;;
21154 ;; - github.com/soheilhy/cmux/example
21155 (delete-file-recursively "example")))))
21156 (build-system go-build-system)
21157 (arguments
21158 (list
21159 #:import-path "github.com/soheilhy/cmux"))
21160 (propagated-inputs
21161 (list go-golang-org-x-net))
21162 (home-page "https://github.com/soheilhy/cmux")
21163 (synopsis "Connection multiplexer for GoLang")
21164 (description
21165 "Package cmux is a library to multiplex network connections based on
21166their payload to server gRPC, SSH, HTTPS, HTTP, Go RPC, and pretty much any
21167other protocol on the same TCP listener.")
21168 (license license:asl2.0)))
21169
21170(define-public go-github-com-sourcegraph-jsonrpc2
21171 (package
21172 (name "go-github-com-sourcegraph-jsonrpc2")
21173 (version "0.2.1")
21174 (home-page "https://github.com/sourcegraph/jsonrpc2")
21175 (source
21176 (origin
21177 (method git-fetch)
21178 (uri (git-reference
21179 (url home-page)
21180 (commit (string-append "v" version))))
21181 (file-name (git-file-name name version))
21182 (sha256
21183 (base32 "0nxiq8da4x4sipjkap50cfzjg9b8vqm45w65hbjywwj6q73jl54a"))))
21184 (build-system go-build-system)
21185 (arguments
21186 '(#:import-path "github.com/sourcegraph/jsonrpc2"))
21187 (propagated-inputs
21188 (list go-github-com-gorilla-websocket))
21189 (synopsis "Provides a client and server implementation of JSON-RPC 2.0")
21190 (description
21191 "Package jsonrpc2 provides a Go implementation of JSON-RPC 2.0.")
21192 (license license:expat)))
21193
21194(define-public go-github-com-spiffe-go-spiffe-v2
21195 (package
21196 (name "go-github-com-spiffe-go-spiffe-v2")
21197 (version "2.6.0")
21198 (source
21199 (origin
21200 (method git-fetch)
21201 (uri (git-reference
21202 (url "https://github.com/spiffe/go-spiffe")
21203 (commit (string-append "v" version))))
21204 (file-name (git-file-name name version))
21205 (sha256
21206 (base32 "0ng0f3w3va4m7z3ip0w2gn60afrivh7lqd9idxg02j7000dz5yzi"))))
21207 (build-system go-build-system)
21208 (arguments
21209 (list
21210 #:skip-build? #t
21211 #:import-path "github.com/spiffe/go-spiffe/v2"
21212 #:phases
21213 #~(modify-phases %standard-phases
21214 (add-after 'unpack 'remove-examples
21215 (lambda* (#:key tests? import-path #:allow-other-keys)
21216 (with-directory-excursion (string-append "src/" import-path)
21217 (delete-file-recursively "examples")))))))
21218 (native-inputs
21219 (list go-github-com-stretchr-testify
21220 go-google-golang-org-grpc-examples))
21221 (propagated-inputs
21222 (list go-github-com-go-jose-go-jose-v4
21223 go-google-golang-org-grpc
21224 go-google-golang-org-protobuf))
21225 (home-page "https://github.com/spiffe/go-spiffe")
21226 (synopsis "SPIFFE Workload API client library for Go")
21227 (description
21228 "This package provides a Go client library for the
21229@url{https://spiffe.io/, SPIFFE} Workload API, enabling applications to fetch
21230and validate SPIFFE identities (SVIDs). It supports X.509-SVID and JWT-SVID
21231workload identity documents.")
21232 (license license:asl2.0)))
21233
21234(define-public go-github-com-ssgelm-cookiejarparser
21235 (package
21236 (name "go-github-com-ssgelm-cookiejarparser")
21237 (version "1.0.1")
21238 (source
21239 (origin
21240 (method git-fetch)
21241 (uri (git-reference
21242 (url "https://github.com/ssgelm/cookiejarparser")
21243 (commit (string-append "v" version))))
21244 (file-name (git-file-name name version))
21245 (sha256
21246 (base32 "0fnm53br0cg3iwzniil0lh9w4xd6xpzfypwfpdiammfqavlqgcw4"))))
21247 (build-system go-build-system)
21248 (arguments
21249 (list
21250 #:embed-files #~(list "children" "nodes" "text")
21251 #:import-path "github.com/ssgelm/cookiejarparser"))
21252 (propagated-inputs (list go-golang-org-x-net))
21253 (home-page "https://github.com/ssgelm/cookiejarparser")
21254 (synopsis "Parse a curl cookiejar with Go")
21255 (description
21256 "This package is a Go library that parses a curl (netscape) cookiejar
21257file into a Go http.CookieJar.")
21258 (license license:expat)))
21259
21260(define-public go-github-com-stathat-go
21261 (package
21262 (name "go-github-com-stathat-go")
21263 (version "1.0.0")
21264 (source
21265 (origin
21266 (method git-fetch)
21267 (uri (git-reference
21268 (url "https://github.com/stathat/go")
21269 (commit (string-append "v" version))))
21270 (file-name (git-file-name name version))
21271 (sha256
21272 (base32 "1zzlsl24dyr202qkr2pay22m6d0gb7ssms77wgdx0r0clgm7dihw"))))
21273 (build-system go-build-system)
21274 (arguments
21275 (list
21276 #:import-path "github.com/stathat/go"))
21277 (home-page "https://github.com/stathat/go")
21278 (synopsis "Post statistics to StatHat")
21279 (description
21280 "This is a Go package for posting to a @url{https://www.stathat.com/,
21281StatHat} account.")
21282 (license license:expat)))
21283
21284(define-public go-github-com-stripe-stripe-go-v81
21285 (package
21286 (name "go-github-com-stripe-stripe-go-v81")
21287 (version "81.4.0")
21288 (source
21289 (origin
21290 (method git-fetch)
21291 (uri (git-reference
21292 (url "https://github.com/stripe/stripe-go")
21293 (commit (string-append "v" version))))
21294 (file-name (git-file-name name version))
21295 (sha256
21296 (base32 "1x6sbpw4c90p30q8hhlqwswx96ap6p50plj4sk2bl79nax647vnn"))))
21297 (build-system go-build-system)
21298 (arguments
21299 (list
21300 #:import-path "github.com/stripe/stripe-go/v81"
21301 #:test-subdirs
21302 ;; XXX: The most of the tests fail with error: Couldn't reach
21303 ;; stripe-mock at `localhost:12112`.
21304 ;; Running with helper function from Makefile breaks on the same point,
21305 ;; keep just a small portion of tests.
21306 #~(list "client" "form" "webhook")))
21307 (native-inputs
21308 (list go-github-com-stretchr-testify))
21309 (propagated-inputs
21310 (list go-golang-org-x-net))
21311 (home-page "https://github.com/stripe/stripe-go")
21312 (synopsis "Go library for the Stripe API")
21313 (description
21314 "This package provides the binding for @url{https://stripe.com/, Stripe}
21315REST APIs.")
21316 (license license:expat)))
21317
21318(define-public go-github-com-studio-b12-gowebdav
21319 (package
21320 (name "go-github-com-studio-b12-gowebdav")
21321 (version "0.12.0")
21322 (source
21323 (origin
21324 (method git-fetch)
21325 (uri (git-reference
21326 (url "https://github.com/studio-b12/gowebdav")
21327 (commit (string-append "v" version))))
21328 (file-name (git-file-name name version))
21329 (sha256
21330 (base32 "0wa69g86vm61xr7kxvj6v6902h39xbdakkwk8z6lv883vm7mh2x4"))))
21331 (build-system go-build-system)
21332 (arguments
21333 (list
21334 #:import-path "github.com/studio-b12/gowebdav"))
21335 (propagated-inputs
21336 (list go-golang-org-x-net))
21337 (home-page "https://github.com/studio-b12/gowebdav")
21338 (synopsis "WebDAV client library in Go")
21339 (description
21340 "This package is a @code{WebDAV} client library with a command line tool
21341included.")
21342 (license license:bsd-3)))
21343
21344(define-public go-github-com-swaggo-echo-swagger
21345 (package
21346 (name "go-github-com-swaggo-echo-swagger")
21347 (version "1.4.1")
21348 (source
21349 (origin
21350 (method git-fetch)
21351 (uri (git-reference
21352 (url "https://github.com/swaggo/echo-swagger")
21353 (commit (string-append "v" version))))
21354 (file-name (git-file-name name version))
21355 (sha256
21356 (base32 "1bh1rmf16f5f6qhz8308v7kz5dw04sjwvisbbwjd7hkr54hghkvl"))))
21357 (build-system go-build-system)
21358 (arguments
21359 (list
21360 #:import-path "github.com/swaggo/echo-swagger"
21361 #:embed-files
21362 #~(list ".*\\.png" ".*\\.json" ".*\\.css" ".*\\.html"
21363 ".*\\.js" ".*\\.map")))
21364 (native-inputs
21365 (list go-github-com-stretchr-testify))
21366 (propagated-inputs
21367 (list go-github-com-ghodss-yaml
21368 go-github-com-labstack-echo-v4
21369 go-github-com-swaggo-files-v2
21370 go-github-com-swaggo-swag))
21371 (home-page "https://github.com/swaggo/echo-swagger")
21372 (synopsis "Echo middleware to generate RESTful API documentation with Swagger")
21373 (description
21374 "This package provides echo (web framework) middleware to automatically
21375generate RESTful API documentation with Swagger 2.0.")
21376 (license license:expat)))
21377
21378(define-public go-github-com-swaggo-files-v2
21379 (package
21380 (name "go-github-com-swaggo-files-v2")
21381 (version "2.0.2")
21382 (source
21383 (origin
21384 (method git-fetch)
21385 (uri (git-reference
21386 (url "https://github.com/swaggo/files")
21387 (commit (string-append "v" version))
21388 ;; XXX: Submodule which pulls
21389 ;; <https://github.com/swagger-api/swagger-ui>, try to package
21390 ;; some of it's portion.
21391 (recursive? #t)))
21392 (file-name (git-file-name name version))
21393 (sha256
21394 (base32 "0p727hiqvydf0bidhr6bbdz14wpm4nxlbi2bw4dz51c9hgdsn1v2"))))
21395 (build-system go-build-system)
21396 (arguments
21397 (list
21398 #:import-path "github.com/swaggo/files/v2"))
21399 (home-page "https://github.com/swaggo/files")
21400 (synopsis "Static files for Swaggo API builder")
21401 (description
21402 "This package provides a collection of static files to build API
21403specifications with Swaggo.")
21404 (license license:expat)))
21405
21406(define-public go-github-com-swaggo-swag
21407 (package
21408 (name "go-github-com-swaggo-swag")
21409 (version "1.16.4")
21410 (source
21411 (origin
21412 (method git-fetch)
21413 (uri (git-reference
21414 (url "https://github.com/swaggo/swag")
21415 (commit (string-append "v" version))))
21416 (file-name (git-file-name name version))
21417 (sha256
21418 (base32 "1a9dg8clgmpsfww5wv3jbdpm7lqza61iihviskwp5rd7wvp57862"))))
21419 (build-system go-build-system)
21420 (arguments
21421 (list
21422 #:import-path "github.com/swaggo/swag"
21423 #:unpack-path "github.com/swaggo/swag"
21424 #:embed-files
21425 #~(list
21426 ;; github.com/go-openapi/spec/embed.go:8:12: pattern schemas/*.json:
21427 ;; cannot embed irregular file schemas/jsonschema-draft-04.json
21428 "jsonschema-draft-04\\.json"
21429 ;; github.com/go-openapi/spec/embed.go:8:27: pattern
21430 ;; schemas/*/*.json: cannot embed irregular file
21431 ;; schemas/v2/schema.json
21432 "schema\\.json")
21433 #:test-flags
21434 #~(list "-skip" (string-append "TestParseGoList/enableGOMODULE"
21435 "|TestParseDescriptionMarkdown")
21436 "-vet=off")
21437 #:phases
21438 #~(modify-phases %standard-phases
21439 (add-after 'unpack 'remove-examples
21440 (lambda* (#:key tests? unpack-path #:allow-other-keys)
21441 (with-directory-excursion (string-append "src/" unpack-path)
21442 (delete-file-recursively "example")))))))
21443 (native-inputs
21444 (list go-github-com-stretchr-testify))
21445 (propagated-inputs
21446 (list go-github-com-go-openapi-spec
21447 go-github-com-kylebanks-depth
21448 go-github-com-urfave-cli-v2
21449 go-golang-org-x-text
21450 go-golang-org-x-tools
21451 go-sigs-k8s-io-yaml))
21452 (home-page "https://github.com/swaggo/swag")
21453 (synopsis "Generate RESTful API documentation with Swagger 2.0 for Go")
21454 (description
21455 "Package swag converts Go annotations to Swagger Documentation 2.0 for
21456verity of Go web frameworks which may be integrated with an existing project
21457using Swagger UI.")
21458 (license license:expat)))
21459
21460(define-public go-github-com-t3rm1n4l-go-mega
21461 (package
21462 (name "go-github-com-t3rm1n4l-go-mega")
21463 (version "0.0.0-20251031123324-a804aaa87491")
21464 (source
21465 (origin
21466 (method git-fetch)
21467 (uri (git-reference
21468 (url "https://github.com/t3rm1n4l/go-mega")
21469 (commit (go-version->git-ref version))))
21470 (file-name (git-file-name name version))
21471 (sha256
21472 (base32 "1fvcc8bg75rj323mcfb9s6xiylk5mlrn1n4lws6iqffrn0di80fy"))))
21473 (build-system go-build-system)
21474 (arguments
21475 (list
21476 #:import-path "github.com/t3rm1n4l/go-mega"))
21477 (propagated-inputs
21478 (list go-golang-org-x-crypto))
21479 (home-page "https://github.com/t3rm1n4l/go-mega")
21480 (synopsis "Client library for mega.co.nz storage service")
21481 (description
21482 "This package provides a client library in go for mega.co.nz storage
21483service.
21484Features:
21485@itemize
21486@item User login
21487@item Fetch filesystem tree
21488@item Upload file
21489@item Download file
21490@item Create directory
21491@item Move file or directory
21492@item Rename file or directory
21493@item Delete file or directory
21494@item Parallel split download and upload
21495@item Filesystem events auto sync
21496@item Unit tests
21497@end itemize")
21498 (license license:expat)))
21499
21500(define-public go-github-com-tailscale-goexpect
21501 (package
21502 (name "go-github-com-tailscale-goexpect")
21503 (version "0.0.0-20210902213824-6e8c725cea41")
21504 (source
21505 (origin
21506 (method git-fetch)
21507 (uri (git-reference
21508 (url "https://github.com/tailscale/goexpect")
21509 (commit (go-version->git-ref version))))
21510 (file-name (git-file-name name version))
21511 (sha256
21512 (base32 "1q3npn5n51p3cxi1p87i8iqjw3mldwdg08wp1fk0y47m57m59yhh"))))
21513 (build-system go-build-system)
21514 (arguments
21515 (list
21516 #:import-path "github.com/tailscale/goexpect"
21517 #:test-flags #~(list "-vet=off" )
21518 #:phases
21519 #~(modify-phases %standard-phases
21520 (add-after 'unpack 'fix-tests
21521 (lambda* (#:key import-path #:allow-other-keys)
21522 (substitute* (string-append "src/" import-path "/expect_test.go")
21523 (("/bin/true") (which "true"))
21524 (("/bin/false") (which "false"))
21525 (("/bin/cat") (which "cat"))))))))
21526 (propagated-inputs
21527 (list go-golang-org-x-crypto
21528 go-github-com-ziutek-telnet
21529 go-github-com-google-goterm))
21530 (home-page "https://github.com/tailscale/goexpect")
21531 (synopsis "Classic TCL Expect implementation in Golang")
21532 (description
21533 "This package provides the classic @acronym{Tool Command Language, TCL}
21534Expect implementation in Golang.")
21535 (license license:bsd-3)))
21536
21537(define-public go-github-com-tailscale-goupnp
21538 (package
21539 (name "go-github-com-tailscale-goupnp")
21540 (version "1.0.1-0.20210804011211-c64d0f06ea05")
21541 (source
21542 (origin
21543 (method git-fetch)
21544 (uri (git-reference
21545 (url "https://github.com/tailscale/goupnp")
21546 (commit (go-version->git-ref version))))
21547 (file-name (git-file-name name version))
21548 (sha256
21549 (base32 "10nkgf29jwg8qp2lkxgnh3cf2jiwjc2pbga03rdkmhiyhrqhj4rx"))))
21550 (build-system go-build-system)
21551 (arguments
21552 (list
21553 #:test-flags
21554 #~(list "-vet=off") ;Malformed example suffix
21555 #:import-path "github.com/tailscale/goupnp"))
21556 (propagated-inputs
21557 (list go-github-com-huin-goupnp
21558 go-github-com-huin-goutil
21559 go-golang-org-x-net))
21560 (home-page "https://github.com/tailscale/goupnp")
21561 (synopsis "UPnP client in Go")
21562 (description
21563 "This package is an implementation of a client for various @code{UPnP}
21564services. It's an alternative fork of @url{https://github.com/huin/goupnp}.")
21565 (license license:bsd-2)))
21566
21567(define-public go-github-com-tailscale-hujson
21568 (package
21569 (name "go-github-com-tailscale-hujson")
21570 (version "0.0.0-20250605163823-992244df8c5a")
21571 (source
21572 (origin
21573 (method git-fetch)
21574 (uri (git-reference
21575 (url "https://github.com/tailscale/hujson")
21576 (commit (go-version->git-ref version))))
21577 (file-name (git-file-name name version))
21578 (sha256
21579 (base32 "14adnvmdfm2i8nnan3bidgsqshq55z0rys5h55lfwlxi41d2ylg6"))))
21580 (build-system go-build-system)
21581 (arguments
21582 (list
21583 #:test-flags
21584 #~(list "-skip" "Fuzz") ;Test fails
21585 #:import-path "github.com/tailscale/hujson"))
21586 (native-inputs
21587 (list go-github-com-google-go-cmp))
21588 (propagated-inputs
21589 (list go-github-com-hexops-gotextdiff))
21590 (home-page "https://github.com/tailscale/hujson")
21591 (synopsis "Parser for JWCC format")
21592 (description
21593 "This package contains a parser and packer for the JWCC format: JSON With
21594Commas and Comments (or \"human JSON\").")
21595 (license license:bsd-3)))
21596
21597(define-public go-github-com-tailscale-mkctr
21598 (package
21599 (name "go-github-com-tailscale-mkctr")
21600 (version "0.0.0-20250228050937-c75ea1476830")
21601 (source
21602 (origin
21603 (method git-fetch)
21604 (uri (git-reference
21605 (url "https://github.com/tailscale/mkctr")
21606 (commit (go-version->git-ref version))))
21607 (file-name (git-file-name name version))
21608 (sha256
21609 (base32 "0wjmysd9azzqinf10p4i1c8228znpikkdy53zdgn57hayiqn722d"))))
21610 (build-system go-build-system)
21611 (arguments
21612 (list
21613 #:import-path "github.com/tailscale/mkctr"))
21614 (propagated-inputs
21615 (list go-github-com-google-go-containerregistry))
21616 (home-page "https://github.com/tailscale/mkctr")
21617 (synopsis "Cross platform container builder for Go")
21618 (description
21619 "This package is a small Go binary which uses @code{GOOS= GOARCH= go
21620build} directly to compile Go binaries and then uses
21621@code{go-containerregistry} to create and publish the new containers based on
21622the desired platforms.")
21623 (license license:bsd-3)))
21624
21625;; Does not build on latest proper release
21626(define-public go-github-com-tailscale-netlink
21627 (package
21628 (name "go-github-com-tailscale-netlink")
21629 (version "1.1.1-0.20240822203006-4d49adab4de7")
21630 (source
21631 (origin
21632 (method git-fetch)
21633 (uri (git-reference
21634 (url "https://github.com/tailscale/netlink")
21635 (commit (go-version->git-ref version))))
21636 (file-name (git-file-name name version))
21637 (sha256
21638 (base32 "0zf45fnkmw89wf7r2pakxanwk4khqzivrnc170v4dwn5lh5wvlwm"))))
21639 (build-system go-build-system)
21640 (arguments
21641 (list
21642 #:import-path "github.com/tailscale/netlink"))
21643 (propagated-inputs
21644 (list go-golang-org-x-sys
21645 go-github-com-vishvananda-netns))
21646 (home-page "https://github.com/tailscale/netlink")
21647 (synopsis "Netlink library for go")
21648 (description
21649 "This package provides a simple library for netlink. Netlink is the
21650interface a user-space program in linux uses to communicate with the kernel.
21651It can be used to add and remove interfaces, set up ip addresses and routes,
21652and confiugre ipsec. Netlink communication requires elevated privileges, so
21653in most cases this code needs to be run as root. The low level primitives for
21654netlink are contained in the nl subpackage. This package attempts to provide
21655a high-level interface that is loosly modeled on the iproute2 cli.
21656
21657It's an alternative fork of @url{https://github.com/vishvananda/netlink}.")
21658 (license license:asl2.0)))
21659
21660(define-public go-github-com-tailscale-peercred
21661 (package
21662 (name "go-github-com-tailscale-peercred")
21663 (version "0.0.0-20250107143737-35a0c7bd7edc")
21664 (source
21665 (origin
21666 (method git-fetch)
21667 (uri (git-reference
21668 (url "https://github.com/tailscale/peercred")
21669 (commit (go-version->git-ref version))))
21670 (file-name (git-file-name name version))
21671 (sha256
21672 (base32 "0lcks6xxf1d6860h0x5bagjmbsbkycwhgg7y95qnzl2qvrv2zh4v"))))
21673 (build-system go-build-system)
21674 (arguments
21675 (list
21676 #:test-flags
21677 #~(list "-skip" "TestUnixSock")
21678 #:import-path "github.com/tailscale/peercred"))
21679 (propagated-inputs
21680 (list go-golang-org-x-sys))
21681 (home-page "https://github.com/tailscale/peercred")
21682 (synopsis "Golang library to get information out of a network connection")
21683 (description
21684 "This package maps from a @code{net.Conn} to information about the other
21685side of the connection, using various OS-specific facilities.")
21686 (license license:bsd-3)))
21687
21688(define-public go-github-com-tailscale-setec
21689 (package
21690 (name "go-github-com-tailscale-setec")
21691 (version "0.0.0-20260415230416-802071d7d5bf")
21692 (source
21693 (origin
21694 (method git-fetch)
21695 (uri (git-reference
21696 (url "https://github.com/tailscale/setec")
21697 (commit (go-version->git-ref version))))
21698 (file-name (git-file-name name version))
21699 (sha256
21700 (base32 "0gljd9cdxm04lwnwxihdh15xmz5zaywsp2zmpmh4yli1njprsc2y"))))
21701 (build-system go-build-system)
21702 (arguments
21703 (list
21704 #:skip-build? #t
21705 #:test-subdirs
21706 ;; XXX: Remove when all inputs are packaged.
21707 #~(list "acl" "audit")
21708 #:import-path "github.com/tailscale/setec"))
21709 (native-inputs
21710 (list go-github-com-davecgh-go-spew
21711 go-github-com-google-go-cmp))
21712 (propagated-inputs
21713 (list go-github-com-aws-aws-sdk-go-v2
21714 go-github-com-aws-aws-sdk-go-v2-config
21715 go-github-com-aws-aws-sdk-go-v2-credentials
21716 go-github-com-aws-aws-sdk-go-v2-service-s3
21717 go-github-com-aws-aws-sdk-go-v2-service-sts
21718 go-github-com-creachadair-command
21719 go-github-com-creachadair-flax
21720 go-github-com-creachadair-mds
21721 go-github-com-creachadair-msync
21722 go-github-com-tink-crypto-tink-go-awskms-v2
21723 go-github-com-tink-crypto-tink-go-v2
21724 go-golang-org-x-term
21725 go-honnef-co-go-tools
21726
21727 ;; TODO: Complete packaging.
21728 #;go-tailscale-com))
21729 (home-page "https://github.com/tailscale/setec")
21730 (synopsis "Tailscale secrets management service with access control")
21731 (description
21732 "This package is a lightweight secrets management service that uses
21733Tailscale for access control.")
21734 (license license:bsd-3)))
21735
21736(define-public go-github-com-tailscale-tscert
21737 (package
21738 (name "go-github-com-tailscale-tscert")
21739 (version "0.0.0-20251216020129-aea342f6d747")
21740 (source
21741 (origin
21742 (method git-fetch)
21743 (uri (git-reference
21744 (url "https://github.com/tailscale/tscert")
21745 (commit (go-version->git-ref version))))
21746 (file-name (git-file-name name version))
21747 (sha256
21748 (base32 "1y1z4xxz9fbhdkw3brsp1xdrn21jyp69bslcs8vmd79f9jr6gwm0"))))
21749 (build-system go-build-system)
21750 (arguments
21751 (list
21752 #:import-path "github.com/tailscale/tscert"
21753 #:test-flags
21754 ;; basic_test.go:31: listen unix /tmp/guix-bui...est: bind: invalid argument
21755 #~(list "-skip" "TestBasics")))
21756 (propagated-inputs
21757 (list go-github-com-mitchellh-go-ps
21758 ;; go-github-com-tailscale-go-winio ;Windows only
21759 go-golang-org-x-sys))
21760 (home-page "https://github.com/tailscale/tscert")
21761 (synopsis "Minimal Golang package for the HTTPS certificate fetching")
21762 (description
21763 "This package provides stripped down version of the
21764@url{tailscale.com/client/tailscale} Go package but with minimal dependencies
21765and supporting older versions of Go. Meant for use by Caddy.")
21766 (license license:bsd-3)))
21767
21768(define-public go-github-com-tailscale-xnet
21769 (package
21770 (name "go-github-com-tailscale-xnet")
21771 (version "0.0.0-20240729143630-8497ac4dab2e")
21772 (source
21773 (origin
21774 (method git-fetch)
21775 (uri (git-reference
21776 (url "https://github.com/tailscale/xnet")
21777 (commit (go-version->git-ref version))))
21778 (file-name (git-file-name name version))
21779 (sha256
21780 (base32 "0rca6xkmkf8ax50dgb165xm0kd20r39vp3xklfc15pfwachj9hw5"))))
21781 (build-system go-build-system)
21782 (arguments
21783 (list
21784 #:skip-build? #t
21785 #:test-flags #~(list "-vet=off")
21786 #:import-path "github.com/tailscale/xnet"))
21787 (propagated-inputs
21788 (list go-golang-org-x-crypto
21789 go-golang-org-x-sys
21790 go-golang-org-x-term
21791 go-golang-org-x-text))
21792 (home-page "https://github.com/tailscale/xnet")
21793 (synopsis "Tailscale's fork of golang.org/x/net")
21794 (description
21795 "This package is a temporary dev fork of @code{golang.org/x/net} for use in
21796Tailscale.")
21797 (license license:bsd-3)))
21798
21799(define-public go-github-com-tcnksm-go-httpstat
21800 (package
21801 (name "go-github-com-tcnksm-go-httpstat")
21802 (version "0.2.0")
21803 (source
21804 (origin
21805 (method git-fetch)
21806 (uri (git-reference
21807 (url "https://github.com/tcnksm/go-httpstat")
21808 (commit (string-append "v" version))))
21809 (file-name (git-file-name name version))
21810 (sha256
21811 (base32 "18jn40ra97waxx1mf23pkh6rq46y0nqd7vi3zcx9cwc39zqaf9bc"))))
21812 (build-system go-build-system)
21813 (arguments
21814 (list
21815 #:tests? #f ;Tests require network connection
21816 #:import-path "github.com/tcnksm/go-httpstat"))
21817 (home-page "https://github.com/tcnksm/go-httpstat")
21818 (synopsis "Trace HTTP latency information in Go")
21819 (description
21820 "Package httpstat traces HTTP latency infomation, such as DNSLookup and
21821TCP Connection, on any Golang HTTP request with no big code modification.")
21822 (license license:expat)))
21823
21824(define-public go-github-com-tdewolff-minify-v2
21825 (package
21826 (name "go-github-com-tdewolff-minify-v2")
21827 (version "2.21.2")
21828 (source
21829 (origin
21830 (method git-fetch)
21831 (uri (git-reference
21832 (url "https://github.com/tdewolff/minify")
21833 (commit (string-append "v" version))))
21834 (file-name (git-file-name name version))
21835 (sha256
21836 (base32 "0vhblx1xim14i4npglzdp9hpjz92q2k29wbf9kp9m7id9cm7c7l9"))))
21837 (build-system go-build-system)
21838 (arguments
21839 (list
21840 #:import-path "github.com/tdewolff/minify/v2"
21841 #:phases
21842 #~(modify-phases %standard-phases
21843 (add-after 'unpack 'regenerate-hash
21844 (lambda* (#:key import-path #:allow-other-keys)
21845 (for-each
21846 (lambda (dir)
21847 (with-directory-excursion
21848 (format #f "src/~a/~a" import-path dir)
21849 (make-file-writable "hash.go")
21850 (format #t "Generating `hash.go' for ~a...~%" dir)
21851 (invoke "go" "generate" "-v" "-n")))
21852 '("css" "html" "svg")))))))
21853 ;; For tests and the CLI.
21854 (native-inputs
21855 (list go-github-com-djherbis-atime
21856 go-github-com-fsnotify-fsnotify
21857 go-github-com-matryer-try
21858 go-github-com-tdewolff-argp
21859 go-github-com-tdewolff-hasher ; to generate go files
21860 go-github-com-tdewolff-test))
21861 (propagated-inputs
21862 (list go-github-com-tdewolff-parse-v2))
21863 (home-page "https://go.tacodewolff.nl/minify")
21864 (synopsis "Go minifiers for web formats")
21865 (description
21866 "This package provides HTML5, CSS3, JS, JSON, SVG and XML minifiers and
21867an interface to implement any other minifier.")
21868 (license license:expat)))
21869
21870(define-public go-github-com-tdewolff-parse-v2
21871 (package
21872 (name "go-github-com-tdewolff-parse-v2")
21873 (version "2.7.19")
21874 (source
21875 (origin
21876 (method git-fetch)
21877 (uri (git-reference
21878 (url "https://github.com/tdewolff/parse")
21879 (commit (string-append "v" version))))
21880 (file-name (git-file-name name version))
21881 (sha256
21882 (base32 "17yswndnxgdj425h5q25wfvchjxnjf6nxyx76k9yn12r16arbl44"))))
21883 (build-system go-build-system)
21884 (arguments
21885 (list
21886 #:import-path "github.com/tdewolff/parse/v2"
21887 #:phases
21888 #~(modify-phases %standard-phases
21889 (add-after 'unpack 'regenerate-hash
21890 (lambda* (#:key import-path #:allow-other-keys)
21891 (for-each
21892 (lambda (dir)
21893 (with-directory-excursion
21894 (format #f "src/~a/~a" import-path dir)
21895 (make-file-writable "hash.go")
21896 (format #t "Generating `hash.go' for ~a...~%" dir)
21897 (invoke "go" "generate")))
21898 '("css" "html")))))))
21899 (native-inputs
21900 (list go-github-com-tdewolff-hasher
21901 go-github-com-tdewolff-test))
21902 (home-page "https://github.com/tdewolff/parse")
21903 (synopsis "Go parsers for web formats")
21904 (description
21905 "This package contains several lexers and parsers written in Go.")
21906 (license license:expat)))
21907
21908(define-public go-github-com-techarohq-thoth-proto
21909 (package
21910 (name "go-github-com-techarohq-thoth-proto")
21911 (version "0.4.0")
21912 (source
21913 (origin
21914 (method git-fetch)
21915 (uri (git-reference
21916 (url "https://github.com/TecharoHQ/thoth-proto")
21917 (commit (string-append "v" version))))
21918 (file-name (git-file-name name version))
21919 (sha256
21920 (base32 "1acwg613q6v8k12wks77749k72xcx110py4jrr5rh0glqy6c64kd"))))
21921 (build-system go-build-system)
21922 (arguments
21923 (list
21924 #:skip-build? #t
21925 #:import-path "github.com/TecharoHQ/thoth-proto"))
21926 (propagated-inputs
21927 (list go-buf-build-gen-go-bufbuild-protovalidate-protocolbuffers-go
21928 go-google-golang-org-protobuf
21929 go-google-golang-org-grpc))
21930 (home-page "https://github.com/TecharoHQ/thoth-proto")
21931 (synopsis "Reputation database for Anubis")
21932 (description
21933 "This package provides Thoth (from Greek: Θώθ) witch feeds information to
21934@url{https://github.com/TecharoHQ/anubis, Anubis} so that it can make better
21935decisions about which traffic is innocuous and which traffic is suspicious.")
21936 (license license:expat)))
21937
21938(define-public go-github-com-tetratelabs-wabin
21939 (package
21940 (name "go-github-com-tetratelabs-wabin")
21941 (version "0.0.0-20230304001439-f6f874872834")
21942 (source
21943 (origin
21944 (method git-fetch)
21945 (uri (git-reference
21946 (url "https://github.com/tetratelabs/wabin")
21947 (commit (go-version->git-ref version))))
21948 (file-name (git-file-name name version))
21949 (sha256
21950 (base32 "195bh4n2ba3rbgzcb1h7zi93dr0k38qxhg8m0laa0z41vl9i0igm"))))
21951 (build-system go-build-system)
21952 (arguments
21953 (list
21954 #:import-path "github.com/tetratelabs/wabin"
21955 #:phases
21956 #~(modify-phases %standard-phases
21957 ;; XXX: Replace when go-build-system supports nested path.
21958 (delete 'build)
21959 (replace 'check
21960 (lambda* (#:key import-path tests? #:allow-other-keys)
21961 (when tests?
21962 (with-directory-excursion (string-append "src/" import-path)
21963 (invoke "go" "test" "-v" "./..."))))))))
21964 (native-inputs
21965 (list go-github-com-stretchr-testify))
21966 (home-page "https://github.com/tetratelabs/wabin")
21967 (synopsis "WebAssembly Binary Format in Go")
21968 (description
21969 "This package provides @code{WebAssembly} a @code{WebAssembly} data model
21970and binary encoder.")
21971 (license license:asl2.0)))
21972
21973(define-public go-github-com-tetratelabs-wazero
21974 (package
21975 (name "go-github-com-tetratelabs-wazero")
21976 (version "1.11.0")
21977 (source
21978 (origin
21979 (method git-fetch)
21980 (uri (git-reference
21981 (url "https://github.com/wazero/wazero")
21982 (commit (string-append "v" version))))
21983 (file-name (git-file-name name version))
21984 (sha256
21985 (base32 "15gpb9w2wq16z40042vkhqzs39yb6icpxd4l8cnwhdfzbj3rd1hm"))
21986 (modules '((guix build utils)))
21987 (snippet
21988 #~(begin
21989 (for-each delete-file-recursively
21990 (list
21991 ;; This directory holds the wazero site's source code.
21992 "site"
21993 ;; Windows related MSI packaging files.
21994 "packaging"))))))
21995 (build-system go-build-system)
21996 (arguments
21997 (list
21998 #:import-path "github.com/tetratelabs/wazero"
21999 #:test-flags
22000 #~(list "-skip" (string-join
22001 (list "TestHugePageConfigs"
22002 "TestRun"
22003 "TestRun/3_1"
22004 "Test_cli"
22005 "Test_cli/cargo-wasi"
22006 "Test_cli/cargo-wasi/test.txt"
22007 "Test_cli/cargo-wasi/testcases/test.txt"
22008 "Test_cli/tinygo"
22009 "Test_cli/tinygo/test.txt"
22010 "Test_cli/tinygo/testcases/test.txt"
22011 "Test_cli/zig"
22012 "Test_cli/zig-cc"
22013 "Test_cli/zig-cc/test.txt"
22014 "Test_cli/zig-cc/testcases/test.txt"
22015 "Test_cli/zig/test.txt")
22016 "|"))))
22017 (propagated-inputs (list go-golang-org-x-sys))
22018 (home-page "https://github.com/wazero/wazero")
22019 (synopsis "CGO-free WebAssembly runtime for Go")
22020 (description
22021 "wazero is a WebAssembly Core Specification
22022@url{https://www.w3.org/TR/2019/REC-wasm-core-1-20191205/,1.0} and
22023@url{https://www.w3.org/TR/2022/WD-wasm-core-2-20220419/,2.0} compliant
22024runtime. It doesn't rely on CGO, which means you can run applications in
22025other languages and still keep cross compilation.")
22026 (license license:asl2.0)))
22027
22028(define-public go-github-com-theodorsm-covert-dtls
22029 (package
22030 (name "go-github-com-theodorsm-covert-dtls")
22031 (version "1.4.1")
22032 (source
22033 (origin
22034 (method git-fetch)
22035 (uri (git-reference
22036 (url "https://github.com/theodorsm/covert-dtls")
22037 (commit (string-append "v" version))))
22038 (file-name (git-file-name name version))
22039 (sha256
22040 (base32 "1sv239ij3938mw55i2a3nnj8h4sy18rbkxn3vz4mypli5v6rai28"))))
22041 (build-system go-build-system)
22042 (arguments
22043 (list
22044 #:skip-build? #t ;XXX: libpcap
22045 #:tests? #f
22046 #:import-path "github.com/theodorsm/covert-dtls"))
22047 (propagated-inputs
22048 (list go-github-com-google-gopacket
22049 go-github-com-pion-dtls-v3))
22050 (home-page "https://github.com/theodorsm/covert-dtls")
22051 (synopsis "Fingerprint-resistance module for pion/dtls")
22052 (description
22053 "@code{covertDTLS} is a library inspired by
22054@@url{https://github.com/refraction-networking/utls, @code{uTLS}} for offering
22055fingerprint-resistance features to @url{https://github.com/pion/dtls,
22056pion/dtls}.")
22057 (license license:expat)))
22058
22059(define-public go-github-com-things-go-go-socks5
22060 (package
22061 (name "go-github-com-things-go-go-socks5")
22062 (version "0.0.6")
22063 (source
22064 (origin
22065 (method git-fetch)
22066 (uri (git-reference
22067 (url "https://github.com/things-go/go-socks5")
22068 (commit (string-append "v" version))))
22069 (file-name (git-file-name name version))
22070 (sha256
22071 (base32 "0r7v1bpja4j8q9bjh124w8l5m29vwnpaq0flm97izvzw4pcyxybf"))))
22072 (build-system go-build-system)
22073 (arguments
22074 (list
22075 #:import-path "github.com/things-go/go-socks5"))
22076 (native-inputs
22077 (list go-github-com-stretchr-testify))
22078 (propagated-inputs
22079 (list go-golang-org-x-net))
22080 (home-page "https://github.com/things-go/go-socks5")
22081 (synopsis "SOCKS5 with full TCP/UDP and IPv4/IPv6 support in Golang")
22082 (description
22083 "This package implements a @url{http://en.wikipedia.org/wiki/SOCKS,
22084SOCKS5}. SOCKS (Secure Sockets) is used to route traffic between a client and
22085server through an intermediate proxy layer. This can be used to bypass
22086firewalls or NATs.
22087
22088Features:
22089@itemize
22090@item support socks5 server
22091@item support TCP/UDP and IPv4/IPv6
22092@item unit tests
22093@item \"No Auth\" mode
22094@item user/password authentication optional user addr limit
22095@item support for the CONNECT command
22096@item support for the ASSOCIATE command
22097@item rules to do granular filtering of commands
22098@item custom DNS resolution
22099@item custom goroutine pool
22100@item buffer pool design and optional custom buffer pool
22101@item custom logger
22102@end itemize")
22103 (license license:expat)))
22104
22105(define-public go-github-com-tink-crypto-tink-go-awskms-v2
22106 (package
22107 (name "go-github-com-tink-crypto-tink-go-awskms-v2")
22108 (version "2.1.0")
22109 (source
22110 (origin
22111 (method git-fetch)
22112 (uri (git-reference
22113 (url "https://github.com/tink-crypto/tink-go-awskms")
22114 (commit (string-append "v" version))))
22115 (file-name (git-file-name name version))
22116 (sha256
22117 (base32 "0crsky461yyvl04g0gbsz9gh2zmlmgd5li5qk4k7zvmj103gmwlr"))))
22118 (build-system go-build-system)
22119 (arguments
22120 (list
22121 #:skip-build? #t
22122 #:import-path "github.com/tink-crypto/tink-go-awskms/v2"))
22123 (propagated-inputs
22124 (list go-github-com-aws-aws-sdk-go
22125 go-github-com-tink-crypto-tink-go-v2))
22126 (home-page "https://github.com/tink-crypto/tink-go-awskms")
22127 (synopsis "Tink Go AWS KMS extension")
22128 (description
22129 "This is an extension to the @url{https://github.com/tink-crypto/tink-go,
22130Tink Go} library that provides support for AWS KMS.")
22131 (license license:asl2.0)))
22132
22133(define-public go-github-com-tink-crypto-tink-go-awskms-v3
22134 (package
22135 (inherit go-github-com-tink-crypto-tink-go-awskms-v2)
22136 (name "go-github-com-tink-crypto-tink-go-awskms-v3")
22137 (version "3.0.0")
22138 (source
22139 (origin
22140 (method git-fetch)
22141 (uri (git-reference
22142 (url "https://github.com/tink-crypto/tink-go-awskms")
22143 (commit (string-append "v" version))))
22144 (file-name (git-file-name name version))
22145 (sha256
22146 (base32 "0h6r4wdvz54h388y5m27mi7pvdicqc5v3z3rfswyy077za4x0f5r"))))
22147 (build-system go-build-system)
22148 (arguments
22149 (list
22150 #:skip-build? #t
22151 #:import-path "github.com/tink-crypto/tink-go-awskms/v3"
22152 #:unpack-path "github.com/tink-crypto/tink-go-awskms"
22153 #:test-flags
22154 #~(list "-skip" (string-join
22155 ;; Network access is required.
22156 (list "TestKeyCommitment"
22157 "TestNewClientWithCredentialsGetAEADEncryptDecrypt"
22158 "TestNewAEADWithContextEncryptDecrypt"
22159 "TestEmptyAssociatedDataEncryptDecrypt"
22160 "TestKMSEnvelopeAEADEncryptAndDecrypt"
22161 "TestDecryptValidCiphertextForKeyURI")
22162 "|"))))
22163 (propagated-inputs
22164 (list go-github-com-aws-aws-sdk-go-v2
22165 go-github-com-aws-aws-sdk-go-v2-config
22166 go-github-com-aws-aws-sdk-go-v2-credentials
22167 go-github-com-aws-aws-sdk-go-v2-service-kms
22168 go-github-com-tink-crypto-tink-go-v2))))
22169
22170(define-public go-github-com-tink-crypto-tink-go-gcpkms-v2
22171 (package
22172 (name "go-github-com-tink-crypto-tink-go-gcpkms-v2")
22173 (version "2.2.0")
22174 (source
22175 (origin
22176 (method git-fetch)
22177 (uri (git-reference
22178 (url "https://github.com/tink-crypto/tink-go-gcpkms")
22179 (commit (string-append "v" version))))
22180 (file-name (git-file-name name version))
22181 (sha256
22182 (base32 "0hf31f26lmpg81k64flsvcx83ngkhazkkf792i5qkq14q4ndsdhw"))))
22183 (build-system go-build-system)
22184 (arguments
22185 (list
22186 #:skip-build? #t
22187 #:import-path "github.com/tink-crypto/tink-go-gcpkms/v2"))
22188 (propagated-inputs
22189 (list go-github-com-tink-crypto-tink-go-v2
22190 go-google-golang-org-api))
22191 (home-page "https://github.com/tink-crypto/tink-go-gcpkms")
22192 (synopsis "Tink Go Google Cloud KMS extension")
22193 (description
22194 "This is an extension to the @url{https://github.com/tink-crypto/tink-go,
22195Tink Go} library that provides support for Google Cloud KMS.")
22196 (license license:asl2.0)))
22197
22198(define-public go-github-com-tink-crypto-tink-go-hcvault-v2
22199 (package
22200 (name "go-github-com-tink-crypto-tink-go-hcvault-v2")
22201 (version "2.4.0")
22202 (source
22203 (origin
22204 (method git-fetch)
22205 (uri (git-reference
22206 (url "https://github.com/tink-crypto/tink-go-hcvault")
22207 (commit (string-append "v" version))))
22208 (file-name (git-file-name name version))
22209 (sha256
22210 (base32 "1ifwxrsyynkss652wnn2ivhfj8n84m8rz7fjpi8gcx2cppmx9zrv"))))
22211 (build-system go-build-system)
22212 (arguments
22213 (list
22214 #:skip-build? #t
22215 #:import-path "github.com/tink-crypto/tink-go-hcvault/v2"))
22216 (propagated-inputs
22217 (list go-github-com-hashicorp-vault-api
22218 go-github-com-tink-crypto-tink-go-v2))
22219 (home-page "https://github.com/tink-crypto/tink-go-hcvault")
22220 (synopsis "Tink Go HashiCorp Vault extension")
22221 (description
22222 "This is an extension to the @url{https://github.com/tink-crypto/tink-go,
22223Tink Go} library that provides support for HashiCorp Vault.")
22224 (license license:asl2.0)))
22225
22226(define-public go-github-com-tj-go-elastic
22227 (package
22228 (name "go-github-com-tj-go-elastic")
22229 (version "0.0.0-20171221160941-36157cbbebc2")
22230 (source
22231 (origin
22232 (method git-fetch)
22233 (uri (git-reference
22234 (url "https://github.com/tj/go-elastic")
22235 (commit (go-version->git-ref version))))
22236 (file-name (git-file-name name version))
22237 (sha256
22238 (base32 "1r94vc4hbfvqvjz74n4mvsw4dy3vbyzlivb90kyn8vn76a4wqk69"))))
22239 (build-system go-build-system)
22240 (arguments
22241 (list
22242 #:import-path "github.com/tj/go-elastic"
22243 #:test-flags
22244 #~(list "-skip" (string-join
22245 ;; Tests fail with assertion: unsupported protocol scheme.
22246 (list "TestClient_Bulk"
22247 "TestClient_Bulk_error"
22248 "TestClient_SearchIndex"
22249 "TestClient_Aliases"
22250 "TestIndexes_RemoveOlderThan"
22251 "TestClient_RemoveOldIndexes"
22252 "TestClient_SearchIndexString")
22253 "|"))
22254 #:phases
22255 #~(modify-phases %standard-phases
22256 ;; Cycles with <github.com/apex/log>.
22257 (add-after 'unpack 'remove-test-file
22258 (lambda* (#:key tests? import-path #:allow-other-keys)
22259 (with-directory-excursion (string-append "src/" import-path)
22260 (delete-file "batch/batch_test.go")))))))
22261 (native-inputs
22262 (list go-github-com-stretchr-testify))
22263 (propagated-inputs
22264 (list go-github-com-smartystreets-go-aws-auth))
22265 (home-page "https://github.com/tj/go-elastic")
22266 (synopsis "Elasticsearch client with AWS sigv4 support")
22267 (description
22268 "Package elastic provides an Elasticsearch client with AWS sigv4 support.")
22269 (license license:expat)))
22270
22271(define-public go-github-com-tj-go-kinesis
22272 (package
22273 (name "go-github-com-tj-go-kinesis")
22274 (version "0.0.0-20171128231115-08b17f58cb1b")
22275 (source
22276 (origin
22277 (method git-fetch)
22278 (uri (git-reference
22279 (url "https://github.com/tj/go-kinesis")
22280 (commit (go-version->git-ref version))))
22281 (file-name (git-file-name name version))
22282 (sha256
22283 (base32 "108c6p5j6rhhc2cnc2v5368yfsw73y6lzlvz02vpvvjph8rhmld4"))))
22284 (build-system go-build-system)
22285 (arguments
22286 (list
22287 #:import-path "github.com/tj/go-kinesis"))
22288 (propagated-inputs
22289 (list go-github-com-apex-log-bootstrap
22290 go-github-com-aws-aws-sdk-go
22291 go-github-com-jpillora-backoff))
22292 (home-page "https://github.com/tj/go-kinesis")
22293 (synopsis "Batch producer for AWS Kinesis")
22294 (description
22295 "Package kinesis implements a batch producer built on top of the official
22296AWS SDK.")
22297 (license license:expat)))
22298
22299(define-public go-github-com-tj-go-kinesis-bootstrap
22300 (hidden-package
22301 (package/inherit go-github-com-tj-go-kinesis
22302 (arguments
22303 (list #:skip-build? #t
22304 #:tests? #f
22305 #:import-path "github.com/tj/go-kinesis"))
22306 (propagated-inputs
22307 (list go-github-com-aws-aws-sdk-go
22308 go-github-com-jpillora-backoff)))))
22309
22310(define-public go-github-com-tj-go-redirects
22311 (package
22312 (name "go-github-com-tj-go-redirects")
22313 (version "0.0.0-20200911105812-fd1ba1020b37")
22314 (source
22315 (origin
22316 (method git-fetch)
22317 (uri (git-reference
22318 (url "https://github.com/tj/go-redirects")
22319 (commit (go-version->git-ref version))))
22320 (file-name (git-file-name name version))
22321 (sha256
22322 (base32 "0fg9bfsgkishnj3w5mnxphk13hjm32vs7jv5q3jb65zqsk2jk5hs"))))
22323 (build-system go-build-system)
22324 (arguments
22325 (list
22326 #:import-path "github.com/tj/go-redirects"))
22327 (native-inputs
22328 (list go-github-com-tj-assert))
22329 (propagated-inputs
22330 (list go-github-com-pkg-errors))
22331 (home-page "https://github.com/tj/go-redirects")
22332 (synopsis "Netlify's _redirects file format parser")
22333 (description
22334 "This package provides a Go redirect format parser to match Netlify's
22335@code{https://www.netlify.com/docs/redirects/, format}.")
22336 (license license:expat)))
22337
22338(define-public go-github-com-tmc-grpc-websocket-proxy
22339 (package
22340 (name "go-github-com-tmc-grpc-websocket-proxy")
22341 (version "0.0.0-20220101234140-673ab2c3ae75")
22342 (source
22343 (origin
22344 (method git-fetch)
22345 (uri (git-reference
22346 (url "https://github.com/tmc/grpc-websocket-proxy")
22347 (commit (go-version->git-ref version))))
22348 (file-name (git-file-name name version))
22349 (sha256
22350 (base32 "0299q3njcs6smrac6734xfjslpvwvsc8jyh5fq5849cdlp5a8290"))))
22351 (build-system go-build-system)
22352 (arguments
22353 (list
22354 #:skip-build? #t
22355 #:import-path "github.com/tmc/grpc-websocket-proxy"))
22356 (propagated-inputs
22357 (list go-github-com-gorilla-websocket
22358 go-github-com-sirupsen-logrus
22359 go-golang-org-x-net))
22360 (home-page "https://github.com/tmc/grpc-websocket-proxy")
22361 (synopsis "Grpc-gateway websockets proxy")
22362 (description
22363 "This package implements a websocket proxy for grpc-gateway backed
22364services.")
22365 (license license:expat)))
22366
22367(define-public go-github-com-tomasen-realip
22368 (package
22369 (name "go-github-com-tomasen-realip")
22370 (version "0.0.0-20180522021738-f0c99a92ddce")
22371 (source
22372 (origin
22373 (method git-fetch)
22374 (uri (git-reference
22375 (url "https://github.com/tomasen/realip")
22376 (commit (go-version->git-ref version))))
22377 (file-name (git-file-name name version))
22378 (sha256
22379 (base32 "1iz2cwks2ywwvvnbfmw3pfyz4ql7z0f8s9sdj6pzirpp75zar9nn"))))
22380 (build-system go-build-system)
22381 (arguments
22382 (list
22383 #:import-path "github.com/tomasen/realip"))
22384 (home-page "https://github.com/tomasen/realip")
22385 (synopsis "Extract real client IP from Go requests")
22386 (description
22387 "This package provides a Golang library to determine the real client IP
22388address by inspecting common headers such as X-Forwarded-For and X-Real-IP,
22389with safe fallbacks in the presence of proxies.")
22390 (license license:expat)))
22391
22392(define-public go-github-com-tomnomnom-linkheader
22393 (package
22394 (name "go-github-com-tomnomnom-linkheader")
22395 (version "0.0.0-20180905144013-02ca5825eb80")
22396 (source
22397 (origin
22398 (method git-fetch)
22399 (uri (git-reference
22400 (url "https://github.com/tomnomnom/linkheader")
22401 (commit (go-version->git-ref version))))
22402 (file-name (git-file-name name version))
22403 (sha256
22404 (base32 "1ghrv28vrvvrpyr4d4q817yby8g1j04mid8ql00sds1pvfv67d32"))))
22405 (build-system go-build-system)
22406 (arguments
22407 (list
22408 #:import-path "github.com/tomnomnom/linkheader"))
22409 (home-page "https://github.com/tomnomnom/linkheader")
22410 (synopsis "Golang HTTP Link header parser")
22411 (description
22412 "Package linkheader provides functions for parsing HTTP Link headers.")
22413 (license license:expat)))
22414
22415(define-public go-github-com-tonistiigi-go-actions-cache
22416 (package
22417 (name "go-github-com-tonistiigi-go-actions-cache")
22418 (version "0.0.0-20260120203934-54bc28c26fd2")
22419 (source
22420 (origin
22421 (method git-fetch)
22422 (uri (git-reference
22423 (url "https://github.com/tonistiigi/go-actions-cache")
22424 (commit (go-version->git-ref version))))
22425 (file-name (git-file-name name version))
22426 (sha256
22427 (base32 "13jijp4zhc7cz3qrp6z70mq2f7k92mbms4qs1qxmzkp1pgpw5n4i"))))
22428 (build-system go-build-system)
22429 (arguments
22430 (list
22431 #:import-path "github.com/tonistiigi/go-actions-cache"))
22432 (native-inputs
22433 (list go-github-com-stretchr-testify
22434 openssl))
22435 (propagated-inputs
22436 (list go-github-com-azure-azure-sdk-for-go-sdk-azcore
22437 go-github-com-azure-azure-sdk-for-go-sdk-storage-azblob
22438 go-github-com-dimchansky-utfbom
22439 go-github-com-golang-jwt-jwt-v5
22440 go-github-com-pkg-errors
22441 go-golang-org-x-sync))
22442 (home-page "https://github.com/tonistiigi/go-actions-cache")
22443 (synopsis "GitHub Actions cache protocol implementation for Golang")
22444 (description
22445 "This package is a Go library that implements the internal GitHub Actions
22446caching protocol. It provides support to programmatically store and retrieve
22447build caches, instead of relying on the standard actions/cache YAML step.")
22448 (license license:expat)))
22449
22450(define-public go-github-com-toqueteos-webbrowser
22451 (package
22452 (name "go-github-com-toqueteos-webbrowser")
22453 (version "1.2.1")
22454 (source
22455 (origin
22456 (method git-fetch)
22457 (uri (git-reference
22458 (url "https://github.com/toqueteos/webbrowser")
22459 (commit (string-append "v" version))))
22460 (file-name (git-file-name name version))
22461 (sha256
22462 (base32 "0bnn02zcfc9xkxc2qvv4q6wy5sipcwc0hwmx7hdhvv3lsw177flw"))))
22463 (build-system go-build-system)
22464 (arguments
22465 (list
22466 #:import-path "github.com/toqueteos/webbrowser"))
22467 (home-page "https://github.com/toqueteos/webbrowser")
22468 (synopsis "Simple API for opening web pages")
22469 (description
22470 "This package provides a simple API for opening web pages on your default
22471browser.")
22472 (license license:expat)))
22473
22474(define-public go-github-com-transparency-dev-tessera
22475 (package
22476 (name "go-github-com-transparency-dev-tessera")
22477 (version "1.0.2")
22478 (source
22479 (origin
22480 (method git-fetch)
22481 (uri (git-reference
22482 (url "https://github.com/transparency-dev/tessera")
22483 (commit (string-append "v" version))))
22484 (file-name (git-file-name name version))
22485 (sha256
22486 (base32 "101y83j67g7r1bqk49qj8mwxgys88wkxz5lf7pvjp4c6b10w5gck"))))
22487 (build-system go-build-system)
22488 (arguments
22489 (list
22490 #:import-path "github.com/transparency-dev/tessera"
22491 #:phases
22492 #~(modify-phases %standard-phases
22493 (add-after 'unpack 'fix-access-to-state-tree-state
22494 (lambda* (#:key import-path #:allow-other-keys)
22495 (with-directory-excursion (string-append "src/" import-path)
22496 (make-file-writable "testdata/log/.state/treeState.lock"))))
22497 (add-after 'check 'remove-testdata
22498 (lambda* (#:key import-path #:allow-other-keys)
22499 (with-directory-excursion (string-append "src/" import-path)
22500 (delete-file-recursively "testdata")))))))
22501 (native-inputs
22502 (list strace
22503 ;; XXX: Remove when cycle is fixed.
22504 go-github-com-envoyproxy-go-control-plane))
22505 (propagated-inputs
22506 (list go-cloud-google-com-go-spanner
22507 go-cloud-google-com-go-storage
22508 go-github-com-avast-retry-go-v4
22509 go-github-com-aws-aws-sdk-go-v2
22510 go-github-com-aws-aws-sdk-go-v2-config
22511 go-github-com-aws-aws-sdk-go-v2-credentials
22512 go-github-com-aws-aws-sdk-go-v2-service-s3
22513 go-github-com-aws-smithy-go
22514 go-github-com-bitfield-script
22515 go-github-com-cenkalti-backoff-v5
22516 go-github-com-charmbracelet-bubbletea
22517 go-github-com-charmbracelet-lipgloss
22518 go-github-com-dgraph-io-badger-v4
22519 go-github-com-dustin-go-humanize
22520 go-github-com-gdamore-tcell-v2
22521 go-github-com-go-sql-driver-mysql
22522 go-github-com-google-go-cmp
22523 go-github-com-googlecloudplatform-opentelemetry-operations-go-exporter-metric
22524 go-github-com-googlecloudplatform-opentelemetry-operations-go-exporter-trace
22525 go-github-com-hashicorp-golang-lru-v2
22526 go-github-com-muesli-termenv
22527 go-github-com-rivo-tview
22528 go-github-com-robinus2-golang-moving-average
22529 go-github-com-transparency-dev-formats
22530 go-github-com-transparency-dev-merkle
22531 go-go-opentelemetry-io-contrib-detectors-aws-ec2-v2
22532 go-go-opentelemetry-io-contrib-detectors-aws-ecs
22533 go-go-opentelemetry-io-contrib-detectors-gcp
22534 go-go-opentelemetry-io-contrib-propagators-aws
22535 go-go-opentelemetry-io-otel
22536 go-go-opentelemetry-io-otel-exporters-otlp-otlpmetric-otlpmetricgrpc
22537 go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc
22538 go-go-opentelemetry-io-otel-metric
22539 go-go-opentelemetry-io-otel-sdk
22540 go-go-opentelemetry-io-otel-sdk-metric
22541 go-golang-org-x-crypto
22542 go-golang-org-x-exp
22543 go-golang-org-x-mod
22544 go-golang-org-x-net
22545 go-golang-org-x-sync
22546 go-golang-org-x-time
22547 go-google-golang-org-api
22548 go-google-golang-org-grpc
22549 go-k8s-io-klog-v2))
22550 (home-page "https://github.com/transparency-dev/tessera")
22551 (synopsis "Go library for building tile-based transparency logs (tlogs)")
22552 (description
22553 "Tessera is a Go library for building tile-based transparency logs (tlogs).
22554 It is the logical successor to the approach
22555@url{https://github.com/google/trillian, Trillian v1} takes in building and
22556operating logs. The implementation and its APIs bake-in current
22557best-practices based on the lessons learned over the past decade of building
22558and operating transparency logs in production environments and at scale.")
22559 (license license:asl2.0)))
22560
22561(define-public go-github-com-tv42-httpunix
22562
22563 (let ((commit "2ba4b9c3382c77e7b9ea89d00746e6111d142a22")
22564 (revision "0"))
22565 (package
22566 (name "go-github-com-tv42-httpunix")
22567 (version (git-version "0.0.0" revision commit))
22568 (source
22569 (origin
22570 (method git-fetch)
22571 (uri (git-reference
22572 (url "https://github.com/tv42/httpunix")
22573 (commit commit)))
22574 (file-name (git-file-name name version))
22575 (sha256
22576 (base32 "0xbwpip2hsfhd2kd878jn5ndl8y1i9658lggha4x3xb5m1rsds9w"))))
22577 (build-system go-build-system)
22578 (arguments
22579 '(#:import-path "github.com/tv42/httpunix"))
22580 (home-page "https://github.com/tv42/httpunix")
22581 (synopsis "Go library to talk HTTP over Unix domain sockets")
22582 (description "This package is a Go library to talk HTTP over Unix domain
22583sockets.")
22584 (license license:expat))))
22585
22586(define-public go-github-com-txthinking-socks5
22587 (package
22588 (name "go-github-com-txthinking-socks5")
22589 (version "0.0.0-20230325130024-4230056ae301")
22590 (source
22591 (origin
22592 (method git-fetch)
22593 (uri (git-reference
22594 (url "https://github.com/txthinking/socks5")
22595 (commit (go-version->git-ref version))))
22596 (file-name (git-file-name name version))
22597 (sha256
22598 (base32 "1zbwczxwmx8ngs6s0bnb0v73jvx96m9ll753zfgcns8fvvgdi2lb"))))
22599 (build-system go-build-system)
22600 (arguments
22601 (list
22602 #:import-path "github.com/txthinking/socks5"))
22603 (propagated-inputs
22604 (list go-github-com-miekg-dns
22605 go-github-com-patrickmn-go-cache
22606 go-github-com-txthinking-runnergroup))
22607 (home-page "https://github.com/txthinking/socks5")
22608 (synopsis "SOCKSv5 protocol Golang library")
22609 (description
22610 "This package provides a SOCKS protocol version 5 library with full
22611TCP/UDP and IPv4/IPv6 support.")
22612 (license license:expat)))
22613
22614(define-public go-github-com-uber-jaeger-client-go
22615 (package
22616 (name "go-github-com-uber-jaeger-client-go")
22617 (version "2.30.0")
22618 (source
22619 (origin
22620 (method git-fetch)
22621 (uri (git-reference
22622 (url "https://github.com/jaegertracing/jaeger-client-go")
22623 (commit (string-append "v" version))))
22624 (file-name (git-file-name name version))
22625 (sha256
22626 (base32 "0nm4mi23bvk84418gkpl2wmijij4bnb082f5zv4ivrvcrp9lhkx3"))))
22627 (build-system go-build-system)
22628 (arguments
22629 (list
22630 #:import-path "github.com/uber/jaeger-client-go"))
22631 (native-inputs
22632 (list go-github-com-crossdock-crossdock-go
22633 go-github-com-golang-mock
22634 go-github-com-stretchr-testify))
22635 (propagated-inputs
22636 (list go-github-com-opentracing-opentracing-go
22637 go-github-com-pkg-errors
22638 go-github-com-prometheus-client-golang
22639 go-github-com-uber-jaeger-lib
22640 go-go-uber-org-atomic
22641 go-go-uber-org-zap))
22642 (home-page "https://github.com/jaegertracing/jaeger-lib")
22643 (synopsis "Jaeger Bindings for Go OpenTracing API")
22644 (description
22645 "Package jaeger implements an @url{http://opentracing.io, OpenTracing}
22646Tracer.")
22647 (license license:asl2.0)))
22648
22649(define-public go-github-com-uber-jaeger-lib
22650 (package
22651 (name "go-github-com-uber-jaeger-lib")
22652 (version "2.4.1")
22653 (source
22654 (origin
22655 (method git-fetch)
22656 (uri (git-reference
22657 (url "https://github.com/jaegertracing/jaeger-lib")
22658 (commit (string-append "v" version))))
22659 (file-name (git-file-name name version))
22660 (sha256
22661 (base32 "15871xzc7qs00yy5bv1gzdv4xlfws68bhb70m4k5p5n41060ppj0"))))
22662 (build-system go-build-system)
22663 (arguments
22664 (list
22665 ;; XXX: Project is deprecated, use it as a source only to build
22666 ;; go-github-com-sourcegraph-zoekt.
22667 #:skip-build? #t
22668 #:tests? #f
22669 #:import-path "github.com/uber/jaeger-lib"))
22670 (native-inputs
22671 (list go-github-com-stretchr-testify))
22672 (propagated-inputs
22673 (list go-github-com-hdrhistogram-hdrhistogram-go))
22674 (home-page "https://github.com/jaegertracing/jaeger-lib")
22675 (synopsis "Collection of libraries used by Jaeger")
22676 (description
22677 "This package provides a collection of shared infrastructure libraries
22678used by different components of @url{https://github.com/jaegertracing/jaeger,
22679Jaeger} backend and @url{https://github.com/uber/jaeger-client-go,
22680jaeger-client-go}.")
22681 (license license:asl2.0)))
22682
22683(define-public go-github-com-ucarion-urlpath
22684 (package
22685 (name "go-github-com-ucarion-urlpath")
22686 (version "0.0.0-20200424170820-7ccc79b76bbb")
22687 (source
22688 (origin
22689 (method git-fetch)
22690 (uri (git-reference
22691 (url "https://github.com/ucarion/urlpath")
22692 (commit (go-version->git-ref version))))
22693 (file-name (git-file-name name version))
22694 (sha256
22695 (base32 "12ns9lqdz566agdp4y0whgksmidi0zp7759akvx0b79mjzyvypax"))))
22696 (build-system go-build-system)
22697 (arguments
22698 (list
22699 #:import-path "github.com/ucarion/urlpath"))
22700 (home-page "https://github.com/ucarion/urlpath")
22701 (synopsis "REST-like URL path patterns matching")
22702 (description
22703 "Package urlpath matches paths against a template. It's meant for
22704applications that take in REST-like URL paths, and need to validate and
22705extract data from those paths.")
22706 (license license:expat)))
22707
22708(define-public go-github-com-ugorji-go-codec
22709 (package
22710 (name "go-github-com-ugorji-go-codec")
22711 (version "1.2.14")
22712 (source
22713 (origin
22714 (method git-fetch)
22715 (uri (git-reference
22716 (url "https://github.com/ugorji/go")
22717 (commit (string-append "v" version))))
22718 (file-name (git-file-name name version))
22719 (sha256
22720 (base32 "1mny5gm5gr82hz4y6k5ljaa0khjw647ys278wq750fgrbzp6fs8h"))
22721 (modules '((guix build utils)))
22722 (snippet
22723 #~(begin
22724 ;; Submodules with their own go.mod files and packaged separately:
22725 ;;
22726 ;; - github.com/ugorji/go/codec/codecgen
22727 (delete-file-recursively "codec/codecgen")))))
22728 (build-system go-build-system)
22729 (arguments
22730 (list
22731 #:skip-build? #t
22732 #:import-path "github.com/ugorji/go"
22733 #:test-flags
22734 #~(list "-vet=off") ;[email protected] forces vet, but tests are not ready yet.
22735 #:phases #~(modify-phases %standard-phases
22736 (add-after 'unpack 'remove-benchmarks
22737 (lambda* (#:key import-path #:allow-other-keys)
22738 (delete-file-recursively (string-append "src/"
22739 import-path
22740 "/codec/bench")))))))
22741 (propagated-inputs (list go-golang-org-x-tools))
22742 (home-page "https://github.com/ugorji/go")
22743 (synopsis "Codec and encoding library for various serialization formats")
22744 (description
22745 "This package provides a high performance and feature rich codec and
22746encoding library for the MessagePack, CBOR, JSON and the Binc formats.")
22747 (license license:expat)))
22748
22749(define-public go-github-com-uptrace-bunrouter
22750 (package
22751 (name "go-github-com-uptrace-bunrouter")
22752 (version "1.0.23")
22753 (source
22754 (origin
22755 (method git-fetch)
22756 (uri (git-reference
22757 (url "https://github.com/uptrace/bunrouter")
22758 (commit (string-append "v" version))))
22759 (file-name (git-file-name name version))
22760 (sha256
22761 (base32 "1q02f9bmz7qrwd6j7kdlxsskwapcrpvngkiw28dwf86zikzfnwxa"))
22762 (modules '((guix build utils)))
22763 (snippet
22764 #~(begin
22765 ;; Submodules with their own go.mod files and packaged separately:
22766 ;;
22767 ;; - github.com/uptrace/bunrouter/extra/basicauth
22768 ;; - github.com/uptrace/bunrouter/extra/bunrouterotel
22769 ;; - github.com/uptrace/bunrouter/extra/reqlog
22770 (delete-file-recursively "extra")))))
22771 (build-system go-build-system)
22772 (arguments
22773 (list
22774 #:import-path "github.com/uptrace/bunrouter"
22775 #:phases
22776 #~(modify-phases %standard-phases
22777 (add-after 'unpack 'remove-examples
22778 (lambda* (#:key tests? import-path #:allow-other-keys)
22779 (with-directory-excursion (string-append "src/" import-path)
22780 (delete-file-recursively "example")))))))
22781 (native-inputs
22782 (list go-github-com-stretchr-testify))
22783 (home-page "https://github.com/uptrace/bunrouter")
22784 (synopsis "HTTP router for Golang")
22785 (description
22786 "BunRouter is a fast HTTP router for Go with unique combination of features:
22787
22788@itemize
22789@item middlewares allow to extract common operations from HTTP handlers into
22790reusable functions
22791@item error handling allows to further reduce the size of HTTP handlers by
22792handling errors in middlewares
22793@item routes priority enables meaningful matching priority for routing rules:
22794first static nodes, then named nodes, lastly wildcard nodes
22795@item @code{net/http} compatible API which means using minimal API without
22796constructing huge wrappers that try to do everything: from serving static
22797files to XML generation (for example, @code{gin.Context} or
22798@code{echo.Context})
22799@end itemize")
22800 (license license:expat)))
22801
22802(define-public go-github-com-urfave-negroni
22803 (package
22804 (name "go-github-com-urfave-negroni")
22805 (version "1.0.0")
22806 (source
22807 (origin
22808 (method git-fetch)
22809 (uri (git-reference
22810 (url "https://github.com/urfave/negroni")
22811 (commit (string-append "v" version))))
22812 (file-name (git-file-name name version))
22813 (sha256
22814 (base32 "1gp6j74adi1cn8fq5v3wzlzhwl4zg43n2746m4fzdcdimihk3ccp"))))
22815 (build-system go-build-system)
22816 (arguments
22817 (list
22818 #:import-path "github.com/urfave/negroni"
22819 #:test-flags #~(list "-vet=off")))
22820 (home-page "https://github.com/urfave/negroni")
22821 (synopsis "Idiomatic HTTP Middleware for Golang")
22822 (description
22823 "Package negroni is an idiomatic approach to web middleware in Go. It is
22824tiny,non-intrusive, and encourages use of @code{net/http} Handlers.")
22825 (license license:expat)))
22826
22827(define-public go-github-com-urfave-negroni-v3
22828 (package
22829 (inherit go-github-com-urfave-negroni)
22830 (name "go-github-com-urfave-negroni-v3")
22831 (version "3.1.1")
22832 (source
22833 (origin
22834 (method git-fetch)
22835 (uri (git-reference
22836 (url "https://github.com/urfave/negroni")
22837 (commit (string-append "v" version))))
22838 (file-name (git-file-name name version))
22839 (sha256
22840 (base32 "04fbp15jq23sp10kgrpgmbif3mvzs82m1wx2bbmgknh27yy8i95y"))))
22841 (build-system go-build-system)
22842 (arguments
22843 (list
22844 #:import-path "github.com/urfave/negroni/v3"
22845 #:test-flags #~(list "-vet=off")))))
22846
22847(define-public go-github-com-valyala-fasthttp
22848 (package
22849 (name "go-github-com-valyala-fasthttp")
22850 (version "1.71.0")
22851 (source
22852 (origin
22853 (method git-fetch)
22854 (uri (git-reference
22855 (url "https://github.com/valyala/fasthttp")
22856 (commit (string-append "v" version))))
22857 (file-name (git-file-name name version))
22858 (sha256
22859 (base32 "0l744biq95xf9xwz2d2idhh179qg8z4pa84s8dnaqzgw1gf4n70g"))))
22860 (build-system go-build-system)
22861 (arguments
22862 (list
22863 #:import-path "github.com/valyala/fasthttp"
22864 #:test-flags
22865 #~(list "-shuffle=on"
22866 ;; dialer_test.go:231: lookup github.com on [::1]:53: read udp
22867 ;; [::1]:52547->[::1]:53: read: connection refused
22868 "-skip" "TestDialer_GetDialFunc")
22869 #:phases
22870 #~(modify-phases %standard-phases
22871 (replace 'check
22872 (lambda* (#:key inputs #:allow-other-keys #:rest args)
22873 (unless
22874 ;; Tests hang forever with gccgo.
22875 (false-if-exception (search-input-file inputs "/bin/gccgo"))
22876 (apply (assoc-ref %standard-phases 'check) args)))))))
22877 (propagated-inputs
22878 (list go-github-com-andybalholm-brotli
22879 go-github-com-klauspost-compress
22880 go-github-com-valyala-bytebufferpool
22881 go-golang-org-x-crypto
22882 go-golang-org-x-net
22883 go-golang-org-x-sys))
22884 (home-page "https://github.com/valyala/fasthttp")
22885 (synopsis "Provides fast HTTP server and client API")
22886 (description
22887 "This package provides a Go module @code{fasthttp} which may be used as
22888replacement for native @code{net/http} module. It is optimized for high
22889performance with zero memory allocations in hot paths.")
22890 (license license:expat)))
22891
22892(define-public go-github-com-valyala-tcplisten
22893 (package
22894 (name "go-github-com-valyala-tcplisten")
22895 (version "1.0.0")
22896 (source
22897 (origin
22898 (method git-fetch)
22899 (uri (git-reference
22900 (url "https://github.com/valyala/tcplisten")
22901 (commit (string-append "v" version))))
22902 (file-name (git-file-name name version))
22903 (sha256
22904 (base32 "1fv5hxmq1jwrjn1rdjvbmjrrkb601zcdh01qhx6d8l7ss6n05zb8"))))
22905 (build-system go-build-system)
22906 (arguments
22907 ;; NOTE: (Sharlatan-20211218T165504+0000): Tests failing:
22908 ;;
22909 ;; tcplisten_test.go:56: cannot create listener 0 using Config
22910 ;; &tcplisten.Config{ReusePort:false, DeferAccept:false, FastOpen:false,
22911 ;; Backlog:32}: lookup ip6-localhost on [::1]:53: read udp
22912 ;; [::1]:33932->[::1]:53: read: connection refused
22913 ;;
22914 '(#:tests? #f
22915 #:import-path "github.com/valyala/tcplisten"))
22916 (home-page "https://github.com/valyala/tcplisten")
22917 (synopsis "Customizable TCP net.Listener for Go")
22918 (description
22919 "@code{tcplisten} provides customizable TCP net.Listener with various
22920performance-related options.")
22921 (license license:expat)))
22922
22923(define-public go-github-com-varlink-go-varlink
22924 (package
22925 (name "go-github-com-varlink-go-varlink")
22926 (version "0.4.0")
22927 (source
22928 (origin
22929 (method git-fetch)
22930 (uri (git-reference
22931 (url "https://github.com/varlink/go")
22932 (commit (string-append "v" version))))
22933 (file-name (git-file-name name version))
22934 (sha256
22935 (base32 "1bhpi18xrmf5in2m4y6wj2q05rxk9m219knk9dj3bin1aj1dlf56"))))
22936 (build-system go-build-system)
22937 (arguments
22938 (list
22939 #:skip-build? #t
22940 #:import-path "github.com/varlink/go"
22941 ;; Tests in cmd are broken.
22942 #:test-subdirs #~(list "varlink/...")))
22943 (home-page "https://github.com/varlink/go")
22944 (synopsis "Go implementation of the Varlink IPC protocol")
22945 (description
22946 "This package provides a Go implementation of the
22947@url{https://varlink.org/, Varlink} protocol, a protocol for inter-process
22948communication. Varlink utilizes a plain-text, JSON-based format for messages
22949and is designed to be accessible to both humans and machines.")
22950 (license license:asl2.0)))
22951
22952(define-public go-github-com-vektah-gqlparser-v2
22953 (package
22954 (name "go-github-com-vektah-gqlparser-v2")
22955 (version "2.5.31")
22956 (source
22957 (origin
22958 (method git-fetch)
22959 (uri (git-reference
22960 (url "https://github.com/vektah/gqlparser")
22961 (commit (string-append "v" version))))
22962 (file-name (git-file-name name version))
22963 (sha256
22964 (base32 "1fg0p4q4ryh59jrcdbzh6kvs98525dhj52xc6d2r3yhsgbjm3qns"))))
22965 (build-system go-build-system)
22966 (arguments
22967 (list
22968 #:import-path "github.com/vektah/gqlparser/v2"))
22969 (native-inputs
22970 (list go-github-com-andreyvit-diff
22971 go-github-com-stretchr-testify))
22972 (propagated-inputs
22973 (list go-github-com-agnivade-levenshtein
22974 go-gopkg-in-yaml-v3))
22975 (home-page "https://github.com/vektah/gqlparser")
22976 (synopsis "Port of the parser from @code{graphql-js} into golang")
22977 (description
22978 "This is a parser for GraphQL, written to mirror the
22979@url{https://github.com/graphql/graphql-js, graphql-js} reference
22980implementation as closely while remaining idiomatic and easy to use.")
22981 (license license:expat)))
22982
22983(define-public go-github-com-victoriametrics-easyproto
22984 (package
22985 (name "go-github-com-victoriametrics-easyproto")
22986 (version "1.2.0")
22987 (source
22988 (origin
22989 (method git-fetch)
22990 (uri (git-reference
22991 (url "https://github.com/VictoriaMetrics/easyproto")
22992 (commit (string-append "v" version))))
22993 (file-name (git-file-name name version))
22994 (sha256
22995 (base32 "1h52wjjfqp58wk77q154am8h8zwzi8x8nk9sa844nz04jkkf760p"))))
22996 (build-system go-build-system)
22997 (arguments
22998 (list
22999 #:import-path "github.com/VictoriaMetrics/easyproto"))
23000 (home-page "https://github.com/VictoriaMetrics/easyproto")
23001 (synopsis "Building blocks for protobuf marshaling and unmarshaling")
23002 (description
23003 "Package easyproto provides building blocks for marshaling and
23004unmarshaling (encoding/decoding) protobuf v3 messages according to
23005@url{https://protobuf.dev/programming-guides/encoding}.")
23006 (license license:asl2.0)))
23007
23008(define-public go-github-com-vishvananda-netlink
23009 (package
23010 (name "go-github-com-vishvananda-netlink")
23011 (version "1.3.1")
23012 (source
23013 (origin
23014 (method git-fetch)
23015 (uri (git-reference
23016 (url "https://github.com/vishvananda/netlink")
23017 (commit (string-append "v" version))))
23018 (file-name (git-file-name name version))
23019 (sha256
23020 (base32 "0zc18p7mfcfjrpiwgyka8153lfyqrrlqnw7x1zzsfjf961m2cgw3"))))
23021 (build-system go-build-system)
23022 (arguments
23023 (list
23024 ;; The tests are unsupported on all architectures except x86_64-linux:
23025 ;; cannot use 0xabcdef99 (untyped int constant 2882400153) as int value
23026 ;; in struct literal (overflows)
23027 #:tests? (and (not (%current-target-system)) (target-x86-64?))
23028 #:test-flags
23029 ;; One test fails with error: operation not permitted.
23030 #~(list "-skip" "TestSocketXDPGetInfo")
23031 #:import-path "github.com/vishvananda/netlink"))
23032 (propagated-inputs
23033 (list go-github-com-vishvananda-netns
23034 go-golang-org-x-sys))
23035 (home-page "https://github.com/vishvananda/netlink")
23036 (synopsis "Simple netlink library for Go")
23037 (description
23038 "The netlink package provides a simple netlink library for Go. Netlink
23039is the interface a user-space program in Linux uses to communicate with the
23040kernel. It can be used to add and remove interfaces, set IP addresses and
23041routes, and configure IPsec.")
23042 (license license:asl2.0)))
23043
23044(define-public go-github-com-vishvananda-netns
23045 (package
23046 (name "go-github-com-vishvananda-netns")
23047 (version "0.0.5")
23048 (source
23049 (origin
23050 (method git-fetch)
23051 (uri (git-reference
23052 (url "https://github.com/vishvananda/netns")
23053 (commit (string-append "v" version))))
23054 (file-name (git-file-name name version))
23055 (sha256
23056 (base32 "1f96fbmjq93msdfxmicnypnn2lzvi7jrxy82fiyd9gwxdapfd061"))))
23057 (build-system go-build-system)
23058 (arguments
23059 (list
23060 ;; Tests fail with error: operation not permitted.
23061 #:test-flags #~(list "-skip" "TestGetNewSetDelete|TestThreaded")
23062 #:import-path "github.com/vishvananda/netns"))
23063 (propagated-inputs
23064 (list go-golang-org-x-sys))
23065 (home-page "https://github.com/vishvananda/netns")
23066 (synopsis "Simple network namespace handling for Go")
23067 (description
23068 "The netns package provides a simple interface for handling network
23069namespaces in Go.")
23070 (license license:asl2.0)))
23071
23072(define-public go-github-com-weppos-publicsuffix-go
23073 (package
23074 (name "go-github-com-weppos-publicsuffix-go")
23075 (version "0.50.2")
23076 (source
23077 (origin
23078 (method git-fetch)
23079 (uri (git-reference
23080 (url "https://github.com/weppos/publicsuffix-go")
23081 (commit (string-append "v" version))))
23082 (file-name (git-file-name name version))
23083 (sha256
23084 (base32 "0mj4mg4p5ap41281qbn39rwz0wr8pa314qfjyp2h7aybjkpdm1ag"))))
23085 (build-system go-build-system)
23086 (arguments
23087 (list
23088 #:skip-build? #t
23089 #:import-path "github.com/weppos/publicsuffix-go"
23090 #:embed-files
23091 #~(list
23092 ;; golang.org/x/net/publicsuffix/table.go:63:12: pattern
23093 ;; data/children: cannot embed irregular file data/children
23094 "children"
23095 ;; golang.org/x/net/publicsuffix/table.go:48:12: pattern data/nodes:
23096 ;; cannot embed irregular file data/nodes
23097 "nodes"
23098 ;; golang.org/x/net/publicsuffix/table.go:33:12: pattern data/text:
23099 ;; cannot embed irregular file data/text
23100 "text")))
23101 (propagated-inputs (list go-golang-org-x-net))
23102 (home-page "https://github.com/weppos/publicsuffix-go")
23103 (synopsis "Public suffix domain utility for Golang")
23104 (description
23105 "This package provides a Golang implementation of the
23106@url{https://publicsuffix.org/, Public Suffix List} used to determine domain
23107boundaries (e.g., distinguishing <example.co.uk> from its TLD). It allows
23108parsing domain names and identifying effective top-level domains for cookie
23109policies, host validation, and domain processing.")
23110 (license license:expat)))
23111
23112(define-public go-github-com-whyrusleeping-cbor
23113 (package
23114 (name "go-github-com-whyrusleeping-cbor")
23115 (version "0.0.0-20171005072247-63513f603b11")
23116 (source
23117 (origin
23118 (method git-fetch)
23119 (uri (git-reference
23120 (url "https://github.com/whyrusleeping/cbor")
23121 (commit (go-version->git-ref version))))
23122 (file-name (git-file-name name version))
23123 (sha256
23124 (base32 "0v3kgzk8grz17my2vhv12qi9dgpx3z86hy9ff1c4qw83mg8hm67s"))))
23125 (build-system go-build-system)
23126 (arguments
23127 (list
23128 #:import-path "github.com/whyrusleeping/cbor"
23129 #:phases
23130 #~(modify-phases %standard-phases
23131 ;; XXX: Replace when go-build-system supports nested path.
23132 (delete 'build)
23133 (replace 'check
23134 (lambda* (#:key import-path tests? #:allow-other-keys)
23135 (when tests?
23136 (with-directory-excursion (string-append "src/" import-path)
23137 ;; No test vectors were provided with git checkout:
23138 ;; var errpath string = "../test-vectors/appendix_a.json"
23139 (substitute* "go/cbor_test.go"
23140 (("TestDecodeVectors") "offTestDecodeVectors"))
23141 (invoke "go" "test" "-v" "./..."))))))))
23142 (home-page "https://github.com/whyrusleeping/cbor")
23143 (synopsis "Concise Binary Object Representation in Golang")
23144 (description
23145 "@acronym{Concise Binary Object Representation,CBOR} is a superset of
23146JSON's schema that's faster and more compact.")
23147 (license license:asl2.0)))
23148
23149(define-public go-github-com-whyrusleeping-chunker
23150 (package
23151 (name "go-github-com-whyrusleeping-chunker")
23152 (version "0.0.0-20181014151217-fe64bd25879f")
23153 (source
23154 (origin
23155 (method git-fetch)
23156 (uri (git-reference
23157 (url "https://github.com/whyrusleeping/chunker")
23158 (commit (go-version->git-ref version))))
23159 (file-name (git-file-name name version))
23160 (sha256
23161 (base32 "13q4flp9iwwyi0izqar786h42713rf3m22qlvg0masbmdi69qjr2"))))
23162 (build-system go-build-system)
23163 (arguments
23164 (list
23165 #:import-path "github.com/whyrusleeping/chunker"))
23166 (home-page "https://github.com/whyrusleeping/chunker")
23167 (synopsis "Implementation of Content Defined Chunking in Golang")
23168 (description
23169 "Package chunker implements @acronym{Content Defined Chunking,CDC} based
23170on a rolling Rabin Checksum. This package provides a modified fork of
23171https://github.com/restic/restic project.")
23172 (license license:bsd-2)))
23173
23174(define-public go-github-com-whyrusleeping-json-filter
23175 (let ((commit "ff25329a9528f01c5175414f16cc0a6a162a5b8b")
23176 (revision "0"))
23177 (package
23178 (name "go-github-com-whyrusleeping-json-filter")
23179 (version (git-version "0.0.0" revision commit))
23180 (source
23181 (origin
23182 (method git-fetch)
23183 (uri (git-reference
23184 (url "https://github.com/whyrusleeping/json-filter")
23185 (commit commit)))
23186 (file-name (git-file-name name version))
23187 (sha256
23188 (base32 "0cai0drvx4c8j686l908vpcsz3mw3vxi3ziz94b0f3c5ylpj07j7"))))
23189 (build-system go-build-system)
23190 (arguments
23191 '(#:import-path
23192 "github.com/whyrusleeping/json-filter"))
23193 (home-page "https://github.com/whyrusleeping/json-filter")
23194 (synopsis "Library to query JSON objects marshalled into map[string]interface")
23195 (description "A library to query JSON objects marshalled into
23196@command{map[string]interface{}}.")
23197 (license license:expat))))
23198
23199(define-public go-github-com-whyrusleeping-multiaddr-filter
23200 (package
23201 (name "go-github-com-whyrusleeping-multiaddr-filter")
23202 (version "0.0.0-20160516205228-e903e4adabd7")
23203 (source
23204 (origin
23205 (method git-fetch)
23206 (uri (git-reference
23207 (url "https://github.com/whyrusleeping/multiaddr-filter")
23208 (commit (go-version->git-ref version))))
23209 (file-name (git-file-name name version))
23210 (sha256
23211 (base32 "0ksd8vnp207dvphmhrazwldj8if900fnyc1pqa9pfvj04qp92640"))))
23212 (build-system go-build-system)
23213 (arguments
23214 (list
23215 ;; (*testing.common).Fatalf format %s has arg val of wrong type bool
23216 #:tests? #f
23217 #:import-path "github.com/whyrusleeping/multiaddr-filter"))
23218 (home-page "https://github.com/whyrusleeping/multiaddr-filter")
23219 (synopsis "Parsing ip filters and masks in the multiaddr format")
23220 (description
23221 "This module creates very simple
23222@url{https://github.com/jbenet/go-multiaddr,multiaddr} formatted cidr
23223netmasks.")
23224 (license license:expat)))
23225
23226(define-public go-github-com-willscott-go-nfs
23227 (package
23228 (name "go-github-com-willscott-go-nfs")
23229 (version "0.0.3")
23230 (source
23231 (origin
23232 (method git-fetch)
23233 (uri (git-reference
23234 (url "https://github.com/willscott/go-nfs")
23235 (commit (string-append "v" version))))
23236 (file-name (git-file-name name version))
23237 (sha256
23238 (base32 "13iqjvy9daslg5a7lxafj1xad0ps5d2vcv9076sfa6fljzd6hzb6"))))
23239 (build-system go-build-system)
23240 (arguments
23241 (list
23242 #:import-path "github.com/willscott/go-nfs"
23243 #:phases
23244 #~(modify-phases %standard-phases
23245 (add-after 'unpack 'remove-examples
23246 (lambda* (#:key import-path #:allow-other-keys)
23247 (with-directory-excursion (string-append "src/" import-path)
23248 (delete-file-recursively "example")))))))
23249 (propagated-inputs
23250 (list go-github-com-go-git-go-billy-v5
23251 go-github-com-google-uuid
23252 go-github-com-hashicorp-golang-lru-v2
23253 go-github-com-rasky-go-xdr
23254 go-github-com-willscott-go-nfs-client
23255 go-golang-org-x-sys))
23256 (home-page "https://github.com/willscott/go-nfs")
23257 (synopsis "Golang Network File Server")
23258 (description
23259 "This package implements a NFSv3 protocol implementation in pure Golang.")
23260 (license license:asl2.0)))
23261
23262(define-public go-github-com-willscott-go-nfs-client
23263 (package
23264 (name "go-github-com-willscott-go-nfs-client")
23265 (version "0.0.0-20251022144359-801f10d98886")
23266 (source
23267 (origin
23268 (method git-fetch)
23269 (uri (git-reference
23270 (url "https://github.com/willscott/go-nfs-client")
23271 (commit (go-version->git-ref version))))
23272 (file-name (git-file-name name version))
23273 (sha256
23274 (base32 "0b1v0cxjj7dqd90iyhq1hg5ilnf047xgdvnw541ymbwj8in7ck34"))))
23275 (build-system go-build-system)
23276 (arguments
23277 (list
23278 #:skip-build? #t
23279 #:import-path "github.com/willscott/go-nfs-client"))
23280 (propagated-inputs (list go-github-com-rasky-go-xdr))
23281 (home-page "https://github.com/willscott/go-nfs-client")
23282 (synopsis "NFS client for Go")
23283 (description
23284 "This package implements a Network File System (NFS) client in Go.
23285It's an alternative fork of unmaintained https://github.com/davecheney/nfs.")
23286 (license license:bsd-2)))
23287
23288(define-public go-github-com-willscott-goturn
23289 (package
23290 (name "go-github-com-willscott-goturn")
23291 (version "0.0.0-20170802220503-19f41278d0c9")
23292 (source
23293 (origin
23294 (method git-fetch)
23295 (uri (git-reference
23296 (url "https://github.com/willscott/goturn")
23297 (commit (go-version->git-ref version))))
23298 (file-name (git-file-name name version))
23299 (sha256
23300 (base32 "0zwvhfznr84ayzknn9flh65nvqjsixisgy9fkhz2jlahl1ldqcq7"))))
23301 (build-system go-build-system)
23302 (arguments
23303 (list
23304 #:tests? #f ; tests are broken on a newer go, starting from 1.17.
23305 #:import-path "github.com/willscott/goturn"))
23306 (home-page "https://github.com/willscott/goturn")
23307 (synopsis "Go TURN dialer")
23308 (description
23309 "GoTURN is a library providing a Go interface compatible with the
23310golang proxy package which connects through a TURN relay. It provides parsing
23311and encoding support for STUN and TURN protocols.")
23312 (license license:bsd-3)))
23313
23314(define-public go-github-com-wlynxg-anet
23315 (package
23316 (name "go-github-com-wlynxg-anet")
23317 (version "0.0.5")
23318 (source
23319 (origin
23320 (method git-fetch)
23321 (uri (git-reference
23322 (url "https://github.com/wlynxg/anet")
23323 (commit (string-append "v" version))))
23324 (file-name (git-file-name name version))
23325 (sha256
23326 (base32 "09s3x28qb571xs92gnbqzkyiah4vhk56hqqb4cc4yfrzfv3430hp"))))
23327 (build-system go-build-system)
23328 (arguments
23329 (list
23330 #:import-path "github.com/wlynxg/anet"))
23331 (home-page "https://github.com/wlynxg/anet")
23332 (synopsis "Adjusted @code{net.Interfaces()} for Golang")
23333 (description
23334 "This package implements a functionality to resolve some problems for
23335Android environment where standard @code{net} and @code{golang.org/x/net}
23336missing it. It address the issues
23337@url{https://github.com/golang/go/issues/40569, #40569} and
23338@url{https://github.com/golang/go/issues/68082, #68082}.")
23339 (license license:bsd-3)))
23340
23341(define-public go-github-com-xdg-go-scram
23342 (package
23343 (name "go-github-com-xdg-go-scram")
23344 (version "1.1.2")
23345 (source
23346 (origin
23347 (method git-fetch)
23348 (uri (git-reference
23349 (url "https://github.com/xdg-go/scram")
23350 (commit (string-append "v" version))))
23351 (file-name (git-file-name name version))
23352 (sha256
23353 (base32 "1bkznny84fdn4sy3wq5680v424glsq9nh2169qy51213bah6by84"))))
23354 (build-system go-build-system)
23355 (arguments
23356 (list
23357 #:import-path "github.com/xdg-go/scram"))
23358 (propagated-inputs
23359 (list go-github-com-xdg-go-stringprep
23360 go-github-com-xdg-go-pbkdf2))
23361 (home-page "https://github.com/xdg-go/scram")
23362 (synopsis "Go implementation of RFC-5802")
23363 (description
23364 "Package scram provides client and server implementations of the
23365@acronym{Salted Challenge Response Authentication Mechanism, SCRAM} described
23366in RFC-5802 and RFC-7677.")
23367 (license license:asl2.0)))
23368
23369(define-public go-github-com-xeipuuv-gojsonpointer
23370 (let ((commit "4e3ac2762d5f479393488629ee9370b50873b3a6")
23371 (revision "0"))
23372 (package
23373 (name "go-github-com-xeipuuv-gojsonpointer")
23374 (version (git-version "0.0.0" revision commit))
23375 (source
23376 (origin
23377 (method git-fetch)
23378 (uri (git-reference
23379 (url "https://github.com/xeipuuv/gojsonpointer")
23380 (commit commit)))
23381 (file-name (git-file-name name version))
23382 (sha256
23383 (base32 "13y6iq2nzf9z4ls66bfgnnamj2m3438absmbpqry64bpwjfbsi9q"))))
23384 (build-system go-build-system)
23385 (arguments
23386 '(#:import-path "github.com/xeipuuv/gojsonpointer"))
23387 (home-page "https://github.com/xeipuuv/gojsonpointer")
23388 (synopsis "Implementation of JSON Pointer for Go")
23389 (description
23390 "This package provides an implementation of JSON Pointer for the Go
23391programming language.")
23392 (license license:asl2.0))))
23393
23394(define-public go-github-com-xeipuuv-gojsonreference
23395 (let ((commit "bd5ef7bd5415a7ac448318e64f11a24cd21e594b")
23396 (revision "0"))
23397 (package
23398 (name "go-github-com-xeipuuv-gojsonreference")
23399 (version (git-version "0.0.0" revision commit))
23400 (source
23401 (origin
23402 (method git-fetch)
23403 (uri (git-reference
23404 (url "https://github.com/xeipuuv/gojsonreference")
23405 (commit commit)))
23406 (file-name (git-file-name name version))
23407 (sha256
23408 (base32 "1xby79padc7bmyb8rfbad8wfnfdzpnh51b1n8c0kibch0kwc1db5"))))
23409 (build-system go-build-system)
23410 (arguments
23411 '(#:import-path "github.com/xeipuuv/gojsonreference"))
23412 (propagated-inputs
23413 (list go-github-com-xeipuuv-gojsonpointer))
23414 (home-page "https://github.com/xeipuuv/gojsonreference")
23415 (synopsis "Implementation of JSON Reference for Go")
23416 (description
23417 "This package provides an implementation of JSON Reference for the Go
23418programming language.")
23419 (license license:asl2.0))))
23420
23421(define-public go-github-com-xeipuuv-gojsonschema
23422 (package
23423 (name "go-github-com-xeipuuv-gojsonschema")
23424 (version "1.2.0")
23425 (source
23426 (origin
23427 (method git-fetch)
23428 (uri (git-reference
23429 (url "https://github.com/xeipuuv/gojsonschema")
23430 (commit (string-append "v" version))))
23431 (file-name (git-file-name name version))
23432 (sha256
23433 (base32 "1mqiq0r8qw4qlfp3ls8073r6514rmzwrmdn4j33rppk3zh942i6l"))))
23434 (build-system go-build-system)
23435 (arguments
23436 (list
23437 ;; validation of time strings. only RFC3339 not all of ISO 8601 are
23438 ;; valid. expects: false, given true Schema: {"format":"time"} Data:
23439 ;; "01:01:01,1111"
23440 #:test-flags #~(list "-skip" "TestFormats"
23441 "-vet=off")
23442 #:import-path "github.com/xeipuuv/gojsonschema"))
23443 (native-inputs
23444 (list go-github-com-stretchr-testify))
23445 (propagated-inputs
23446 (list go-github-com-xeipuuv-gojsonreference
23447 go-github-com-xeipuuv-gojsonpointer))
23448 (home-page "https://github.com/xeipuuv/gojsonschema")
23449 (synopsis "Implementation of JSON Schema for Go")
23450 (description
23451 "This package provides an implementation of JSON Schema for the Go
23452programming language, which supports draft-04, draft-06 and draft-07.")
23453 (license license:asl2.0)))
23454
23455(define-public go-github-com-xiang90-probing
23456 (package
23457 (name "go-github-com-xiang90-probing")
23458 (version "0.0.0-20221125231312-a49e3df8f510")
23459 (source
23460 (origin
23461 (method git-fetch)
23462 (uri (git-reference
23463 (url "https://github.com/xiang90/probing")
23464 (commit (go-version->git-ref version))))
23465 (file-name (git-file-name name version))
23466 (sha256
23467 (base32 "1w0pwy8fzxfqnsjzl28jy08di58kwag48vlj4yj9hls77qgbr9ar"))))
23468 (build-system go-build-system)
23469 (arguments
23470 (list
23471 #:import-path "github.com/xiang90/probing"))
23472 (home-page "https://github.com/xiang90/probing")
23473 (synopsis "HTTP prober")
23474 (description
23475 "This package implements a simple HTTP prober which may be used to check
23476endpoint health status.")
23477 (license license:expat)))
23478
23479(define-public go-github-com-xo-dburl
23480 (package
23481 (name "go-github-com-xo-dburl")
23482 (version "0.23.2")
23483 (source
23484 (origin
23485 (method git-fetch)
23486 (uri (git-reference
23487 (url "https://github.com/xo/dburl")
23488 (commit (string-append "v" version))))
23489 (file-name (git-file-name name version))
23490 (sha256
23491 (base32 "0yxyfrm45dqd26513r2cvgkqfsclijsfzqrckbw45wydk45mq442"))))
23492 (build-system go-build-system)
23493 (arguments
23494 (list
23495 #:import-path "github.com/xo/dburl"))
23496 (home-page "https://github.com/xo/dburl")
23497 (synopsis
23498 "URL style mechanism for parsing and opening SQL database connection strings")
23499 (description
23500 "Package dburl provides a standard, @code{net/url.URL} style mechanism
23501for parsing and opening SQL database connection strings for Go. Provides
23502standardized way to parse and open @@url{#URL,URL}'s for popular databases
23503@code{PostgreSQL}, @code{MySQL}, SQLite3, Oracle Database, Microsoft SQL
23504Server, in addition to most other SQL databases with a publicly available Go
23505driver.")
23506 (license license:expat)))
23507
23508(define-public go-github-com-xtaci-kcp-go-v5
23509 (package
23510 (name "go-github-com-xtaci-kcp-go-v5")
23511 (version "5.6.18")
23512 (source
23513 (origin
23514 (method git-fetch)
23515 (uri (git-reference
23516 (url "https://github.com/xtaci/kcp-go")
23517 (commit (string-append "v" version))))
23518 (file-name (git-file-name name version))
23519 (sha256
23520 (base32 "17jqgl2zdra9rz8ap3zlrk7ljnm316gd4dy4cimlk2641n8r5bjx"))))
23521 (build-system go-build-system)
23522 (arguments
23523 (list
23524 #:import-path "github.com/xtaci/kcp-go/v5"))
23525 (native-inputs
23526 (list go-github-com-stretchr-testify))
23527 (propagated-inputs
23528 (list go-github-com-klauspost-reedsolomon
23529 go-github-com-pkg-errors
23530 go-github-com-templexxx-xorsimd
23531 go-github-com-tjfoc-gmsm
23532 go-github-com-xtaci-lossyconn
23533 go-golang-org-x-crypto
23534 go-golang-org-x-net))
23535 (home-page "https://github.com/xtaci/kcp-go")
23536 (synopsis "Crypto-Secure Reliable-UDP Library with FEC")
23537 (description
23538 "This package provides smooth, resilient, ordered, error-checked and
23539anonymous delivery of streams over UDP packets.
23540Features:
23541@itemize
23542@item designed for latency-sensitive scenarios
23543@item cache-friendly and memory-optimized design
23544@item handles >5K concurrent connections on a single commodity server
23545@item compatible with @code{net.Conn} and @code{net.Listener}, serving as a
23546drop-in replacement for @code{net.TCPConn}
23547@item @acronym{Forward Error Correction, FEC} support with
23548@url{https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction,
23549Reed-Solomon Codes}
23550@item packet-level encryption support with @code{3DES}, @code{AES},
23551@code{Blowfish}, @code{Cast5}, @code{PBKDF2}, @code{SM4}, @code{Salsa20},
23552@code{TEA}, @code{Twofish}, and @code{XTEA}
23553@item only a fixed number of goroutines are created for the entire server
23554application
23555@item compatible with @url{https://github.com/skywind3000, skywind3000}'s C
23556version with various improvements
23557@end itemize")
23558 (license license:expat)))
23559
23560(define-public go-github-com-xtaci-lossyconn
23561 (package
23562 (name "go-github-com-xtaci-lossyconn")
23563 (version "0.0.0-20200209145036-adba10fffc37")
23564 (source
23565 (origin
23566 (method git-fetch)
23567 (uri (git-reference
23568 (url "https://github.com/xtaci/lossyconn")
23569 (commit (go-version->git-ref version))))
23570 (file-name (git-file-name name version))
23571 (sha256
23572 (base32 "1pizmd8py5x8yjqp6fz2y0kpvd1za3rbp7whyyh69zyk1a305fam"))))
23573 (build-system go-build-system)
23574 (arguments
23575 (list
23576 ;; XXX: In CI with 16+ threads goroutines fail. Figure out how to detect
23577 ;; CI environment.
23578 #:tests? #f
23579 #:parallel-tests? #f
23580 #:import-path "github.com/xtaci/lossyconn"))
23581 (home-page "https://github.com/xtaci/lossyconn")
23582 (synopsis "Lossy connection simulator")
23583 (description
23584 "Package lossyconn is a lossy connection simulator for Golang.")
23585 (license license:expat)))
23586
23587(define-public go-github-com-xtaci-smux
23588 (package
23589 (name "go-github-com-xtaci-smux")
23590 (version "1.5.30")
23591 (source
23592 (origin
23593 (method git-fetch)
23594 (uri (git-reference
23595 (url "https://github.com/xtaci/smux")
23596 (commit (string-append "v" version))))
23597 (file-name (git-file-name name version))
23598 (sha256
23599 (base32 "1i4h672vmg2b4p8hkbhpsp8p2nk4d3qm6vf76yly389l2zb7h4l3"))))
23600 (build-system go-build-system)
23601 (arguments
23602 (list
23603 #:import-path "github.com/xtaci/smux"))
23604 (home-page "https://github.com/xtaci/smux")
23605 (synopsis "Introduction")
23606 (description
23607 "Smux (@strong{S}imple @strong{MU}ltiple@strong{X}ing) is a multiplexing
23608library for Golang. It relies on an underlying connection to provide
23609reliability and ordering, such as TCP or
23610@url{https://github.com/xtaci/kcp-go,KCP}, and provides stream-oriented
23611multiplexing. The original intention of this library is to power the
23612connection management for @url{https://github.com/xtaci/kcp-go,kcp-go}.")
23613 (license license:expat)))
23614
23615(define-public go-github-com-yggdrasil-network-yggdrasil-go
23616 (package
23617 (name "go-github-com-yggdrasil-network-yggdrasil-go")
23618 (version "0.5.12")
23619 (source
23620 (origin
23621 (method git-fetch)
23622 (uri (git-reference
23623 (url "https://github.com/yggdrasil-network/yggdrasil-go")
23624 (commit (string-append "v" version))))
23625 (file-name (git-file-name name version))
23626 (sha256
23627 (base32 "072r52b6bkpc7bhn0v1z6dm6q5g9qf4k1xlqwrvzmzwai6fm0lrn"))
23628 (patches (search-patches "yggdrasil-extra-config.patch"))))
23629 (build-system go-build-system)
23630 (arguments
23631 (list
23632 #:skip-build? #t
23633 #:import-path "github.com/yggdrasil-network/yggdrasil-go"))
23634 (propagated-inputs
23635 (list go-github-com-arceliar-ironwood
23636 go-github-com-arceliar-phony
23637 go-github-com-cheggaaa-pb-v3
23638 go-github-com-coder-websocket
23639 go-github-com-gologme-log
23640 go-github-com-hashicorp-go-syslog
23641 go-github-com-hjson-hjson-go-v4
23642 go-github-com-kardianos-minwinsvc
23643 go-github-com-olekukonko-tablewriter-0.0.5
23644 go-github-com-quic-go-quic-go-0.52
23645 go-github-com-vishvananda-netlink
23646 go-github-com-wlynxg-anet
23647 go-golang-org-x-crypto
23648 go-golang-org-x-net
23649 go-golang-org-x-sys
23650 go-golang-org-x-text
23651 ;; go-golang-zx2c4-com-wintun
23652 go-golang-zx2c4-com-wireguard
23653 ;; go-golang-zx2c4-com-wireguard-windows
23654 go-suah-dev-protect))
23655 (home-page "https://github.com/yggdrasil-network/yggdrasil-go")
23656 (synopsis "IPv6 overlay network Golang library")
23657 (description
23658 "This package provides a source code for P2P overlay Yaggdrasil network.
23659It is to used for inputs in other packages.")
23660 (license
23661 ;; As a special exception to the GNU Lesser General Public License
23662 ;; version 3 ("LGPL3"), the copyright holders of this Library give you
23663 ;; permission to convey to a third party a Combined Work that links
23664 ;; statically or dynamically to this Library without providing any Minimal
23665 ;; Corresponding Source or Minimal Application Code as set out in 4d or
23666 ;; providing the installation information set out in section 4e, provided
23667 ;; that you comply with the other provisions of LGPL3 and provided that you
23668 ;; meet, for the Application the terms and conditions of the license(s)
23669 ;; which apply to the Application. Except as stated in this special
23670 ;; exception, the provisions of LGPL3 will continue to comply in full to
23671 ;; this Library. If you modify this Library, you may apply this exception
23672 ;; to your version of this Library, but you are not obliged to do so. If
23673 ;; you do not wish to do so, delete this exception statement from your
23674 ;; version. This exception does not (and cannot) modify any license terms
23675 ;; which apply to the Application, with which you must still comply
23676 license:lgpl3)))
23677
23678(define-public go-github-com-yohcop-openid-go
23679 (package
23680 (name "go-github-com-yohcop-openid-go")
23681 (version "1.0.1")
23682 (source
23683 (origin
23684 (method git-fetch)
23685 (uri (git-reference
23686 (url "https://github.com/yohcop/openid-go")
23687 (commit (string-append "v" version))))
23688 (file-name (git-file-name name version))
23689 (sha256
23690 (base32 "1dkxsivwlv7zmk44iwhphrqx2fv2sighlf6vz451m9lap47851s9"))))
23691 (build-system go-build-system)
23692 (arguments
23693 (list
23694 #:import-path "github.com/yohcop/openid-go"
23695 ;; Discovery failed.
23696 #:test-flags #~(list "-skip" "TestYahoo|TestYohcop|TestSteam")))
23697 (propagated-inputs
23698 (list go-golang-org-x-net))
23699 (home-page "https://github.com/yohcop/openid-go")
23700 (synopsis "OpenID consumer implementation in Go")
23701 (description
23702 "This package provides a consumer (Relying party) implementation of
23703@code{OpenId} 2.0, written in Golang.")
23704 (license license:asl2.0)))
23705
23706(define-public go-github-com-ysmood-fetchup
23707 (package
23708 (name "go-github-com-ysmood-fetchup")
23709 (version "0.5.3")
23710 (source
23711 (origin
23712 (method git-fetch)
23713 (uri (git-reference
23714 (url "https://github.com/ysmood/fetchup")
23715 (commit (string-append "v" version))))
23716 (file-name (git-file-name name version))
23717 (sha256
23718 (base32 "0da4n133bnz31jpbjvd1wq2qqd1jf0fnw02yh626l0am3jmrhqz8"))))
23719 (build-system go-build-system)
23720 (arguments
23721 (list
23722 #:import-path "github.com/ysmood/fetchup"
23723 #:phases
23724 #~(modify-phases %standard-phases
23725 ;; Network access is required.
23726 (add-after 'unpack 'remove-examples
23727 (lambda* (#:key import-path #:allow-other-keys)
23728 (delete-file
23729 (string-append "src/" import-path "/examples_test.go")))))))
23730 (propagated-inputs
23731 (list go-github-com-ysmood-got))
23732 (home-page "https://github.com/ysmood/fetchup")
23733 (synopsis "Go helper to download and unpack files")
23734 (description
23735 "Fetchup is a Go helper library for downloading and unpacking files from
23736URLs. It supports various archive formats and provides progress tracking.")
23737 (license license:expat)))
23738
23739;; Remove when go-rod is updated
23740(define-public go-github-com-ysmood-fetchup-for-go-rod
23741 (hidden-package
23742 (package
23743 (inherit go-github-com-ysmood-fetchup)
23744 (name "go-github-com-ysmood-fetchup")
23745 (version "0.2.3")
23746 (source
23747 (origin
23748 (method git-fetch)
23749 (uri (git-reference
23750 (url "https://github.com/ysmood/fetchup")
23751 (commit (string-append "v" version))))
23752 (file-name (git-file-name name version))
23753 (sha256
23754 (base32 "0xyqiywynidrn7fmh07vg80wscy55fch1q7rng27sg3zq824z7xh"))))
23755 (arguments
23756 (list
23757 #:tests? #f
23758 #:import-path "github.com/ysmood/fetchup")))))
23759
23760(define-public go-github-com-yunify-qingstor-sdk-go-v3
23761 (package
23762 (name "go-github-com-yunify-qingstor-sdk-go-v3")
23763 (version "3.2.0")
23764 (source
23765 (origin
23766 (method git-fetch)
23767 (uri (git-reference
23768 (url "https://github.com/qingstor/qingstor-sdk-go")
23769 (commit (string-append "v" version))))
23770 (file-name (git-file-name name version))
23771 (sha256
23772 (base32 "1m7lnvkvn66r50gjhlfymhw3cslqa9q815y6vwad4gdwnj7bhfwl"))
23773 (modules '((guix build utils)))
23774 (snippet
23775 #~(begin
23776 ;; Submodules with their own go.mod files and packaged separately:
23777 ;;
23778 ;; - github.com/yunify/qingstor-sdk-go/test
23779 (delete-file-recursively "test")))))
23780 (build-system go-build-system)
23781 (arguments
23782 (list
23783 #:import-path "github.com/yunify/qingstor-sdk-go/v3"))
23784 (native-inputs
23785 (list go-github-com-stretchr-testify))
23786 (propagated-inputs
23787 (list go-github-com-pengsrc-go-shared
23788 go-gopkg-in-yaml-v2))
23789 (home-page "https://github.com/yunify/qingstor-sdk-go")
23790 (synopsis "QingStor SDK for Go")
23791 (description
23792 "This package is the official @url{https://qingcloud.com, QingStor} SDK
23793for the Go programming language.")
23794 (license license:asl2.0)))
23795
23796(define-public go-github-com-zeebo-admission-v3
23797 (package
23798 (name "go-github-com-zeebo-admission-v3")
23799 (version "3.0.3")
23800 (source
23801 (origin
23802 (method git-fetch)
23803 (uri (git-reference
23804 (url "https://github.com/zeebo/admission")
23805 (commit (string-append "v" version))))
23806 (file-name (git-file-name name version))
23807 (sha256
23808 (base32 "0lvgpdnz7iapq5gzm2xbr6pz05wd1ackmy0z102sh72fzv9d5w6x"))))
23809 (build-system go-build-system)
23810 (arguments
23811 (list
23812 #:import-path "github.com/zeebo/admission/v3"))
23813 (native-inputs
23814 (list go-github-com-zeebo-assert))
23815 (propagated-inputs
23816 (list go-github-com-spacemonkeygo-monkit-v3
23817 go-github-com-zeebo-errs
23818 go-github-com-zeebo-float16
23819 go-github-com-zeebo-incenc))
23820 (home-page "https://github.com/zeebo/admission")
23821 (synopsis "UDP packets processing in Golang")
23822 ;; XXX: Project provides no README or any relevant documentation.
23823 (description
23824 "Package admission is a fast way to ingest/send metrics via UDP.")
23825 (license license:asl2.0)))
23826
23827(define-public go-github-com-zitadel-oidc-v3
23828 (package
23829 (name "go-github-com-zitadel-oidc-v3")
23830 (version "3.45.0")
23831 (source
23832 (origin
23833 (method git-fetch)
23834 (uri (git-reference
23835 (url "https://github.com/zitadel/oidc")
23836 (commit (string-append "v" version))))
23837 (file-name (git-file-name name version))
23838 (sha256
23839 (base32 "14wqsrbyrd88czkjnl3x8b7cwaya7x2rvkks3pdm5d6l4aljg0r7"))))
23840 (build-system go-build-system)
23841 (arguments
23842 (list
23843 #:import-path "github.com/zitadel/oidc/v3"
23844 #:test-flags
23845 #~(list "-skip" (string-join
23846 ;; Tests requiring Internet access.
23847 (list "TestDiscover/spotify"
23848 "TestIntrospect"
23849 "TestNewResourceServer/spotify-full-discovery"
23850 "TestNewResourceServer/spotify-with-static-introspecturl"
23851 "TestNewResourceServer/spotify-with-static-tokenurl")
23852 "|"))))
23853 (native-inputs
23854 (list go-github-com-stretchr-testify))
23855 (propagated-inputs
23856 (list go-github-com-bmatcuk-doublestar-v4
23857 go-github-com-go-chi-chi-v5
23858 go-github-com-go-jose-go-jose-v4
23859 go-github-com-golang-mock
23860 go-github-com-google-go-github-v31
23861 go-github-com-google-uuid
23862 go-github-com-gorilla-securecookie
23863 go-github-com-jeremija-gosubmit
23864 go-github-com-muhlemmer-gu
23865 go-github-com-muhlemmer-httpforwarded
23866 go-github-com-rs-cors
23867 go-github-com-sirupsen-logrus
23868 go-github-com-zitadel-logging
23869 go-github-com-zitadel-schema
23870 go-go-opentelemetry-io-otel
23871 go-go-opentelemetry-io-otel-trace
23872 go-golang-org-x-oauth2
23873 go-golang-org-x-text))
23874 (home-page "https://github.com/zitadel/oidc")
23875 (synopsis "OpenID Connect client and server library in Golang")
23876 (description
23877 "This package provide an implementation of @url{OpenID Connect,
23878https://openid.net/developers/how-connect-works/}.")
23879 (license license:asl2.0)))
23880
23881(define-public go-gitlab-com-gitlab-org-api-client-go
23882 (package
23883 (name "go-gitlab-com-gitlab-org-api-client-go")
23884 (version "1.28.0")
23885 (source
23886 (origin
23887 (method git-fetch)
23888 (uri (git-reference
23889 (url "https://gitlab.com/gitlab-org/api/client-go")
23890 (commit (string-append "v" version))))
23891 (file-name (git-file-name name version))
23892 (sha256
23893 (base32 "0n6grsvc39w879jmwfx86y1w8harhbykzdx8sq7slvwvhj5kjzvj"))))
23894 (build-system go-build-system)
23895 (arguments
23896 (list
23897 ;; TODO: Try to enable complete test suite, most of them SIGSEGV trying
23898 ;; to setup HTTP client.
23899 #:tests? #f
23900 #:import-path "gitlab.com/gitlab-org/api/client-go"
23901 #:phases
23902 #~(modify-phases %standard-phases
23903 (add-after 'unpack 'remove-examples
23904 (lambda* (#:key import-path #:allow-other-keys)
23905 (with-directory-excursion (string-append "src/" import-path)
23906 (delete-file-recursively "config/examples")))))))
23907 (native-inputs
23908 (list go-github-com-stretchr-testify
23909 go-go-uber-org-mock))
23910 (propagated-inputs
23911 ;; XXX: Packaging of buf is quite complex is it requires buf to produce
23912 ;; buf modules, see: <https://codeberg.org/guix/guix/pulls/2572>.
23913 (list ;; go-buf-build-gen-go-bufbuild-protovalidate-protocolbuffers-go
23914 ;; go-buf-build-go-protovalidate
23915 ;; go-buf-build-go-protoyaml
23916 go-github-com-google-go-querystring
23917 go-github-com-hashicorp-go-cleanhttp
23918 go-github-com-hashicorp-go-retryablehttp
23919 go-github-com-makenowjust-heredoc-v2
23920 go-github-com-zalando-go-keyring
23921 go-golang-org-x-oauth2
23922 go-golang-org-x-time
23923 go-google-golang-org-protobuf
23924 go-gopkg-in-yaml-v3))
23925 (home-page "https://gitlab.com/gitlab-org/api/client-go")
23926 (synopsis "GitLab client for Golang")
23927 (description
23928 "This package provides a GitLab API client enabling Go programs to
23929interact with GitLab in a simple and uniform way.")
23930 (license license:asl2.0)))
23931
23932;; git-bug fails to build with the latest
23933;; go-gitlab-com-gitlab-org-api-client-go. So, we package this version. See
23934;; the git-bug package for details.
23935(define-public go-gitlab-com-gitlab-org-api-client-go-0.116
23936 (hidden-package
23937 (package
23938 (inherit go-gitlab-com-gitlab-org-api-client-go)
23939 (name "go-gitlab-com-gitlab-org-api-client-go")
23940 (version "0.116.0")
23941 (source
23942 (origin
23943 (method git-fetch)
23944 (uri (git-reference
23945 (url "https://gitlab.com/gitlab-org/api/client-go")
23946 (commit (string-append "v" version))))
23947 (file-name (git-file-name name version))
23948 (sha256
23949 (base32 "0cajw57mcsgf0b8xk8z0bgfqsmz7wp7dwzwyapvdxn8a9kqzx59r"))))
23950 (arguments
23951 (substitute-keyword-arguments
23952 (package-arguments go-gitlab-com-gitlab-org-api-client-go)
23953 ((#:phases phases #~%standard-phases)
23954 #~(modify-phases #$phases
23955 (delete 'remove-examples))))))))
23956
23957(define-public go-gitlab-torproject-org-tpo-anti-censorship-geoip
23958 (package
23959 (name "go-gitlab-torproject-org-tpo-anti-censorship-geoip")
23960 (version "0.0.0-20210928150955-7ce4b3d98d01")
23961 (source
23962 (origin
23963 (method git-fetch)
23964 (uri (git-reference
23965 (url
23966 "https://gitlab.torproject.org/tpo/anti-censorship/geoip.git")
23967 (commit (go-version->git-ref version))))
23968 (file-name (git-file-name name version))
23969 (sha256
23970 (base32 "0i7dc717w1g7hk7488vscqxj0a10af6fz9jczxxsfyxagynfzqcq"))))
23971 (build-system go-build-system)
23972 (arguments
23973 (list
23974 #:import-path "gitlab.torproject.org/tpo/anti-censorship/geoip"))
23975 (propagated-inputs
23976 (list go-github-com-smartystreets-goconvey))
23977 (home-page "https://gitlab.torproject.org/tpo/anti-censorship/geoip")
23978 (synopsis "GeoIP go library that uses the tor geoipdb")
23979 (description
23980 "This code is for loading database data that maps IP addresses to
23981countries for collecting and presenting statistics on snowflake use that might
23982alert us to censorship events.")
23983 (license license:bsd-3)))
23984
23985(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib
23986 (package
23987 (name "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib")
23988 (version "1.6.0")
23989 (source
23990 (origin
23991 (method git-fetch)
23992 (uri (git-reference
23993 (url "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib")
23994 (commit (string-append "v" version))))
23995 (file-name (git-file-name name version))
23996 (sha256
23997 (base32 "0jw9vlvlx7rrl366kwz47414aciw3r37lwg6h4jq8cj5hb4bqnd9"))))
23998 (build-system go-build-system)
23999 (arguments
24000 (list
24001 #:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib"))
24002 (home-page "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib")
24003 (synopsis "Go pluggable transports library")
24004 (description "GoPtLib is a library for writing Tor pluggable transports in
24005Go.")
24006 (license license:cc0)))
24007
24008(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-ptutil
24009 (package
24010 (name
24011 "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-ptutil")
24012 (version "0.0.0-20250130151315-efaf4e0ec0d3")
24013 (source
24014 (origin
24015 (method git-fetch)
24016 (uri (git-reference
24017 (url (string-append
24018 "https://gitlab.torproject.org/tpo/anti-censorship"
24019 "/pluggable-transports/ptutil.git"))
24020 (commit (go-version->git-ref version))))
24021 (file-name (git-file-name name version))
24022 (sha256
24023 (base32 "04c76aygplm81h49dbibzjax1r9b4i37rn7qi8qsi2j2czvm639z"))))
24024 (build-system go-build-system)
24025 (arguments
24026 (list
24027 #:skip-build? #t
24028 #:import-path
24029 "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/ptutil"))
24030 (native-inputs
24031 (list go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2-bootstrap))
24032 (propagated-inputs
24033 (list go-github-com-prometheus-client-golang
24034 go-github-com-prometheus-client-model
24035 go-github-com-refraction-networking-utls
24036 go-github-com-smartystreets-goconvey
24037 go-golang-org-x-net
24038 go-google-golang-org-protobuf))
24039 (home-page
24040 "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/ptutil")
24041 (synopsis "Collection of utilities for Pluggable Transports")
24042 (description
24043 "This package provides a collection of utilities for Pluggable Transports.")
24044 (license license:bsd-3)))
24045
24046(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2
24047 (package
24048 (name
24049 "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2")
24050 (version "2.14.1")
24051 (source
24052 (origin
24053 (method git-fetch)
24054 (uri (git-reference
24055 (url (string-append
24056 "https://gitlab.torproject.org/tpo/anti-censorship"
24057 "/pluggable-transports/snowflake"))
24058 (commit (string-append "v" version))))
24059 (file-name (git-file-name name version))
24060 (sha256
24061 (base32 "0r83j8bqa28rf7vvxd95kqmmbypn0ay6966g8fw7d6wpzy87bx9j"))
24062 (modules '((guix build utils)))
24063 (snippet
24064 #~(begin
24065 (substitute* (find-files "." "\\.go$")
24066 (("github.com/pion/transport/v3")
24067 "github.com/pion/transport/v4"))))))
24068 (build-system go-build-system)
24069 (arguments
24070 (list
24071 ;; TODO: Project provides a Go library and also CLI builds for service,
24072 ;; client and proxy.
24073 #:skip-build? #t
24074 #:import-path
24075 "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2"))
24076 (native-inputs
24077 (list go-github-com-smartystreets-goconvey
24078 go-github-com-stretchr-testify))
24079 (propagated-inputs
24080 (list go-github-com-aws-aws-sdk-go-v2
24081 go-github-com-aws-aws-sdk-go-v2-config
24082 go-github-com-aws-aws-sdk-go-v2-credentials
24083 go-github-com-aws-aws-sdk-go-v2-service-sqs
24084 go-github-com-clarkduvall-hyperloglog
24085 go-github-com-golang-mock
24086 go-github-com-gorilla-websocket
24087 go-github-com-miekg-dns
24088 go-github-com-pion-ice-v4
24089 go-github-com-pion-sdp-v3
24090 go-github-com-pion-stun-v3
24091 go-github-com-pion-transport-v4
24092 go-github-com-pion-webrtc-v4
24093 go-github-com-prometheus-client-golang
24094 go-github-com-realclientip-realclientip-go
24095 go-github-com-refraction-networking-utls
24096 go-github-com-theodorsm-covert-dtls
24097 go-github-com-txthinking-socks5
24098 go-github-com-xtaci-kcp-go-v5
24099 go-github-com-xtaci-smux
24100 go-gitlab-torproject-org-tpo-anti-censorship-geoip
24101 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib
24102 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-ptutil
24103 go-golang-org-x-crypto
24104 go-golang-org-x-net
24105 go-golang-org-x-sys))
24106 (home-page
24107 "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake")
24108 (synopsis "Pluggable Transport using WebRTC, inspired by Flashproxy")
24109 (description
24110 "Pluggable Transport using @code{WebRTC}, inspired by Flashproxy and
24111adheres to the pluggable transports v2.1 Go AP.
24112This package provides:
24113@itemize
24114@item @code{broker} contains code for the Snowflake broker
24115@item @code{doc} contains Snowflake documentation and manpages
24116@item @code{client} contains the Tor pluggable transport client and client
24117library code
24118@item @code{common} contains generic libraries used by multiple pieces of
24119Snowflake
24120@item @code{proxy} contains code for the Go standalone Snowflake proxy
24121@item @code{probetest} contains code for a NAT probetesting service
24122@item @code{server} contains the Tor pluggable transport server and server
24123library code
24124@end itemize")
24125 (license license:bsd-3)))
24126
24127(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2-bootstrap
24128 ;; This variant is to break cycle where ptuil tries to read version from
24129 ;; <gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2/common/version>
24130 (hidden-package
24131 (package/inherit go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2
24132 (arguments
24133 (list #:skip-build? #t
24134 #:tests? #f
24135 #:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2"))
24136 (propagated-inputs
24137 (modify-inputs (package-propagated-inputs
24138 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2)
24139 (delete "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-ptutil"))))))
24140
24141(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-webtunnel
24142 (package
24143 (name "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-webtunnel")
24144 (version "0.0.3")
24145 (source
24146 (origin
24147 (method git-fetch)
24148 (uri (git-reference
24149 (url "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel")
24150 (commit (string-append "v" version))))
24151 (file-name (git-file-name name version))
24152 (sha256
24153 (base32 "092r0f42cgb2ksplszkxvirmvmmlxd8xvdj555gywy0948c7j7qw"))))
24154 (build-system go-build-system)
24155 (arguments
24156 (list
24157 #:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel"))
24158 (propagated-inputs
24159 (list go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib))
24160 (home-page "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel")
24161 (synopsis "Go WebTunnel Pluggable Transport")
24162 (description
24163 "WebTunnel is a Go Pluggable Transport that attempts to imitate web
24164browsing activities based on HTTP Upgrade (HTTPT).")
24165 (license license:bsd-2)))
24166
24167(define-public go-go-bug-st-downloader
24168 (package
24169 (name "go-go-bug-st-downloader")
24170 (version "3.0.0")
24171 (source
24172 (origin
24173 (method git-fetch)
24174 (uri (git-reference
24175 (url "https://github.com/bugst/go-downloader")
24176 (commit (string-append "v" version))))
24177 (file-name (git-file-name name version))
24178 (sha256
24179 (base32 "1nrba8k7v0cq9qp7l5f95inwkspzx7wli0dr6i62qz0jcf6ncgj2"))))
24180 (build-system go-build-system)
24181 (arguments
24182 (list
24183 #:import-path "go.bug.st/downloader/v3"
24184 #:test-flags
24185 ;; Skip network resource tests.
24186 #~(list "-skip" (string-join
24187 (list "TestDownload"
24188 "TestResume"
24189 "TestResumeOnAlreadyCompletedFile"
24190 "TestNoResume"
24191 "TestRunAndPool"
24192 "TestApplyUserAgentHeaderUsingConfig")
24193 "|"))))
24194 (native-inputs
24195 (list go-github-com-stretchr-testify))
24196 (home-page "https://go.bug.st/downloader")
24197 (synopsis "Simple HTTP/S file downloader for golang")
24198 (description
24199 "Package downloader provides an asynchronous file downloader with
24200progress tracking and timeout support.")
24201 (license license:bsd-3)))
24202
24203(define-public go-go-etcd-io-etcd-api-v3
24204 (package
24205 (name "go-go-etcd-io-etcd-api-v3")
24206 (version "3.6.12")
24207 (source
24208 (origin
24209 (method git-fetch)
24210 (uri (git-reference
24211 (url "https://github.com/etcd-io/etcd")
24212 (commit (go-version->git-ref version #:subdir "api"))))
24213 (file-name (git-file-name name version))
24214 (sha256
24215 (base32 "0xg0bh3fv4av63ika8f7vgj4f929b108ia5ccyqrv00j3k4vyjm1"))
24216 (modules '((guix build utils)))
24217 (snippet
24218 #~(begin
24219 (delete-all-but "." "api")
24220 ;; This is a workaround to provide a correct import-path.
24221 (rename-file "api" "tmp")
24222 (mkdir-p "api/v3")
24223 (copy-recursively "tmp" "api/v3")
24224 (delete-file-recursively "tmp")))))
24225 (build-system go-build-system)
24226 (arguments
24227 (list
24228 #:skip-build? #t
24229 #:import-path "go.etcd.io/etcd/api/v3"
24230 #:unpack-path "go.etcd.io/etcd"))
24231 (native-inputs
24232 (list go-github-com-stretchr-testify))
24233 (propagated-inputs
24234 (list go-github-com-coreos-go-semver
24235 go-github-com-gogo-protobuf
24236 go-github-com-golang-protobuf
24237 go-github-com-grpc-ecosystem-grpc-gateway-v2
24238 go-google-golang-org-genproto-googleapis-api
24239 go-google-golang-org-grpc
24240 go-google-golang-org-protobuf))
24241 (home-page "https://go.etcd.io/etcd")
24242 (synopsis "Golang definitions of etcd v3 API")
24243 (description
24244 "This package provides the Golang definitions and protocol interfaces for
24245interacting with the etcd v3 API.")
24246 (license license:asl2.0)))
24247
24248(define-public go-go-etcd-io-etcd-client-pkg-v3
24249 (package
24250 (name "go-go-etcd-io-etcd-client-pkg-v3")
24251 (version "3.6.12")
24252 (source
24253 (origin
24254 (method git-fetch)
24255 (uri (git-reference
24256 (url "https://github.com/etcd-io/etcd")
24257 (commit (go-version->git-ref version #:subdir "client/pkg"))))
24258 (file-name (git-file-name name version))
24259 (sha256
24260 (base32 "0xg0bh3fv4av63ika8f7vgj4f929b108ia5ccyqrv00j3k4vyjm1"))
24261 (modules '((guix build utils)))
24262 (snippet
24263 #~(begin
24264 (delete-all-but "." "client")
24265 (delete-all-but "client" "pkg")
24266 ;; This is a workaround to provide a correct import-path.
24267 (rename-file "client/pkg" "client/tmp")
24268 (mkdir-p "client/pkg/v3")
24269 (copy-recursively "client/tmp" "client/pkg/v3")
24270 (delete-file-recursively "client/tmp")))))
24271 (build-system go-build-system)
24272 (arguments
24273 (list
24274 #:skip-build? #t
24275 #:import-path "go.etcd.io/etcd/client/pkg/v3"
24276 #:unpack-path "go.etcd.io/etcd"))
24277 (native-inputs
24278 (list go-github-com-stretchr-testify))
24279 (propagated-inputs
24280 (list go-github-com-coreos-go-systemd-v22
24281 go-go-uber-org-zap
24282 go-golang-org-x-sys))
24283 (home-page "https://go.etcd.io/etcd")
24284 (synopsis "Shared utilities used by etcd v3 Go clients")
24285 (description
24286 "This package provides a set of shared utility packages used by the etcd
24287v3 Go clients, including logging helpers, TLS configuration utilities,
24288endpoint parsing, retry logic, and test support functions.")
24289 (license license:asl2.0)))
24290
24291(define-public go-go-etcd-io-raft-v3
24292 (package
24293 (name "go-go-etcd-io-raft-v3")
24294 (version "3.6.0")
24295 (source
24296 (origin
24297 (method git-fetch)
24298 (uri (git-reference
24299 (url "https://github.com/etcd-io/raft")
24300 (commit (string-append "v" version))))
24301 (file-name (git-file-name name version))
24302 (sha256
24303 (base32 "18d9l8739irzgl0860qrrmdn3aqhc92lhc9brv8lkq7n59gxqd6i"))))
24304 (build-system go-build-system)
24305 (arguments
24306 (list
24307 #:import-path "go.etcd.io/raft/v3"))
24308 (native-inputs
24309 (list go-github-com-stretchr-testify))
24310 (propagated-inputs
24311 (list go-github-com-cockroachdb-datadriven
24312 go-github-com-gogo-protobuf
24313 go-github-com-golang-protobuf))
24314 (home-page "https://raft.github.io")
24315 (synopsis "Raft library for Golang")
24316 (description
24317 "This package provides a Golang implementation of the Raft Protocol.
24318Raft is a protocol with which a cluster of nodes can maintain a replicated
24319state machine. See @url{https://raft.github.io/raft.pdf} for more info.")
24320 (license license:asl2.0)))
24321
24322(define-public go-go-mau-fi-whatsmeow
24323 (package
24324 (name "go-go-mau-fi-whatsmeow")
24325 (properties '((commit . "662ad1dc6900ffe1b1a2a6bc0fca01cba488d747")
24326 (revision . "1")))
24327 (version (git-version "0.0.0"
24328 (assoc-ref properties 'revision)
24329 (assoc-ref properties 'commit)))
24330 (source
24331 (origin
24332 (method git-fetch)
24333 (uri (git-reference
24334 (url "https://github.com/tulir/whatsmeow")
24335 (commit (assoc-ref properties 'commit))))
24336 (file-name (git-file-name name version))
24337 (sha256
24338 (base32 "1ykwgys1apqznz3px6sgcbmq1jnwqj9y8rx26xmxg48czfqqbd81"))))
24339 (build-system go-build-system)
24340 (arguments
24341 (list
24342 #:import-path "go.mau.fi/whatsmeow"))
24343 (propagated-inputs
24344 (list go-github-com-beeper-argo-go
24345 go-github-com-coder-websocket
24346 go-github-com-google-uuid
24347 go-github-com-rs-zerolog
24348 go-go-mau-fi-libsignal
24349 go-go-mau-fi-util
24350 go-golang-org-x-crypto
24351 go-golang-org-x-net
24352 go-golang-org-x-sync
24353 go-google-golang-org-protobuf))
24354 (home-page "https://go.mau.fi/whatsmeow")
24355 (synopsis "Go library for the WhatsApp web multidevice API")
24356 (description
24357 "Package whatsmeow implements a client for interacting with the
24358@code{WhatsApp} web multidevice API.
24359
24360Features:
24361@itemize
24362@item sending messages to private chats and groups (both text and media)
24363@item receiving all messages
24364@item managing groups and receiving group change events
24365@item joining via invite messages, using and creating invite links
24366@item sending and receiving typing notifications
24367@item sending and receiving delivery and read receipts
24368@item reading and writing app state (contact list, chat pin/mute status, etc)
24369@item sending and handling retry receipts if message decryption fails
24370@item sending status messages (experimental, may not work for large contact
24371lists)
24372@end itemize")
24373 (license license:mpl2.0)))
24374
24375;; XXX: This project was archived by the owner on Jul 31, 2023. It is now
24376;; read-only. Consider to remove when nothing depends on it.
24377(define-public go-go-opencensus-io
24378 (package
24379 (name "go-go-opencensus-io")
24380 (version "0.24.0")
24381 (source
24382 (origin
24383 (method git-fetch)
24384 (uri (git-reference
24385 (url "https://github.com/census-instrumentation/opencensus-go")
24386 (commit (string-append "v" version))))
24387 (file-name (git-file-name name version))
24388 (sha256
24389 (base32 "1923j8v214fyk9qlw0lfva6ah8p7s8cfkrysiada5pp4jim4k4xi"))))
24390 (build-system go-build-system)
24391 (arguments
24392 (list
24393 #:import-path "go.opencensus.io"
24394 #:test-subdirs
24395 #~(list "exporter/stackdriver/propagation"
24396 "internal"
24397 "metric"
24398 "metric/metricexport"
24399 "metric/metricproducer"
24400 "metric/test"
24401 "plugin/ochttp/propagation/b3"
24402 "plugin/ochttp/propagation/tracecontext"
24403 "plugin/runmetrics"
24404 "resource"
24405 "stats"
24406 "stats/view"
24407 "tag"
24408 "trace"
24409 "trace/propagation"
24410 "trace/tracestate")
24411 #:test-flags
24412 #~(list "-skip"
24413 (string-join
24414 ;; Tests requiring networking.
24415 (list "TestAgainstSpecs/Successful_GET_call_to_https.*"
24416 "TestAgainstSpecs/Successfully_POST_call_to_https.*")
24417 "|"))
24418 #:phases
24419 #~(modify-phases %standard-phases
24420 (add-after 'unpack 'remove-examples
24421 (lambda* (#:key import-path #:allow-other-keys)
24422 (with-directory-excursion (string-append "src/" import-path)
24423 (delete-file-recursively "examples")))))))
24424 (propagated-inputs
24425 (list go-github-com-golang-groupcache
24426 go-github-com-golang-protobuf
24427 go-github-com-google-go-cmp
24428 go-github-com-stretchr-testify
24429 go-golang-org-x-net
24430 go-google-golang-org-grpc))
24431 (home-page "https://opencensus.io/")
24432 (synopsis "Stats collection and distributed tracing framework")
24433 (description
24434 "Package opencensus contains Go support for @code{OpenCensus}.")
24435 (license license:asl2.0)))
24436
24437(define-public go-go-opentelemetry-io-auto-sdk
24438 (package
24439 (name "go-go-opentelemetry-io-auto-sdk")
24440 (version "1.1.0")
24441 (source
24442 (origin
24443 (method git-fetch)
24444 (uri (git-reference
24445 (url
24446 "https://github.com/open-telemetry/opentelemetry-go-instrumentation")
24447 (commit (go-version->git-ref version
24448 #:subdir "sdk"))))
24449 (file-name (git-file-name name version))
24450 (sha256
24451 (base32 "155qcbl84bwy7m9k221w75yakfv71fbxpfn9g3d7nnq6cl30fbfw"))
24452 (modules '((guix build utils)))
24453 (snippet #~(delete-all-but "." "sdk"))))
24454 (build-system go-build-system)
24455 (arguments
24456 (list
24457 #:tests? #f
24458 #:skip-build? #t
24459 #:import-path "go.opentelemetry.io/auto/sdk"
24460 #:unpack-path "go.opentelemetry.io/auto"))
24461 (home-page "https://go.opentelemetry.io/auto")
24462 (synopsis "Auto-instrumentable OpenTelemetry SDK")
24463 (description
24464 "Package sdk provides an auto-instrumentable @code{OpenTelemetry} SDK.")
24465 (license license:asl2.0)))
24466
24467(define-public go-go-opentelemetry-io-contrib-detectors-aws-ec2-v2
24468 (package
24469 (name "go-go-opentelemetry-io-contrib-detectors-aws-ec2-v2")
24470 (version "2.5.0")
24471 (source
24472 (origin
24473 (method git-fetch)
24474 (uri (git-reference
24475 (url "https://github.com/open-telemetry/opentelemetry-go-contrib")
24476 (commit (go-version->git-ref version
24477 #:subdir "detectors/aws/ec2"))))
24478 (file-name (git-file-name name version))
24479 (sha256
24480 (base32 "0nh7g1zxr3drqcbhsnnkqaz2hn1rnawg8jalixng23c9hwfgqaly"))
24481 (modules '((guix build utils)))
24482 (snippet
24483 #~(begin
24484 (delete-all-but "detectors/aws" "ec2")
24485 (delete-all-but "detectors" "aws")
24486 (delete-all-but "." "detectors")))))
24487 (build-system go-build-system)
24488 (arguments
24489 (list
24490 #:import-path "go.opentelemetry.io/contrib/detectors/aws/ec2/v2"
24491 #:unpack-path "go.opentelemetry.io/contrib"))
24492 (native-inputs
24493 (list go-github-com-stretchr-testify))
24494 (propagated-inputs
24495 (list go-github-com-aws-aws-sdk-go-v2
24496 go-github-com-aws-aws-sdk-go-v2-config
24497 go-github-com-aws-aws-sdk-go-v2-feature-ec2-imds
24498 go-github-com-aws-smithy-go
24499 go-go-opentelemetry-io-otel
24500 go-go-opentelemetry-io-otel-sdk))
24501 (home-page "https://github.com/open-telemetry/opentelemetry-go-contrib")
24502 (synopsis "Resource detector for EC2 instances")
24503 (description
24504 "Package ec2 provides a resource detector for @acronym{Amazon Elastic
24505Compute Cloud, EC2} instances using @code{aws-sdk-go-v2}.")
24506 (license license:asl2.0)))
24507
24508(define-public go-go-opentelemetry-io-contrib-detectors-aws-ecs
24509 (package
24510 (name "go-go-opentelemetry-io-contrib-detectors-aws-ecs")
24511 (version "1.43.0")
24512 (source
24513 (origin
24514 (method git-fetch)
24515 (uri (git-reference
24516 (url "https://github.com/open-telemetry/opentelemetry-go-contrib")
24517 (commit (go-version->git-ref version
24518 #:subdir "detectors/aws/ecs"))))
24519 (file-name (git-file-name name version))
24520 (sha256
24521 (base32 "0nh7g1zxr3drqcbhsnnkqaz2hn1rnawg8jalixng23c9hwfgqaly"))
24522 (modules '((guix build utils)))
24523 (snippet
24524 #~(begin
24525 (delete-all-but "detectors/aws" "ecs")
24526 (delete-all-but "detectors" "aws")
24527 (delete-all-but "." "detectors")))))
24528 (build-system go-build-system)
24529 (arguments
24530 (list
24531 #:import-path "go.opentelemetry.io/contrib/detectors/aws/ecs"
24532 #:unpack-path "go.opentelemetry.io/contrib"))
24533 (native-inputs
24534 (list go-github-com-stretchr-testify))
24535 (propagated-inputs
24536 (list go-github-com-brunoscheufler-aws-ecs-metadata-go
24537 go-go-opentelemetry-io-otel
24538 go-go-opentelemetry-io-otel-sdk))
24539 (home-page "https://go.opentelemetry.io/contrib")
24540 (synopsis "OTLP resource detector for AWS ECS instances")
24541 (description
24542 "Package ecs provides a resource detector for AWS @acronym{Elastic
24543Container Service, ECS} instances.")
24544 (license license:asl2.0)))
24545
24546(define-public go-go-opentelemetry-io-contrib-detectors-gcp
24547 (package
24548 (name "go-go-opentelemetry-io-contrib-detectors-gcp")
24549 (version "1.42.0")
24550 (source
24551 (origin
24552 (method git-fetch)
24553 (uri (git-reference
24554 (url "https://github.com/open-telemetry/opentelemetry-go-contrib")
24555 (commit (go-version->git-ref version #:subdir "detectors/gcp"))))
24556 (file-name (git-file-name name version))
24557 (sha256
24558 (base32 "18k9pqwzlcjkiz8cy2hgl5jwal10ypj171hra4zsqizbqjivd4lc"))
24559 (modules '((guix build utils)))
24560 (snippet
24561 #~(begin
24562 (delete-all-but "detectors" "gcp")
24563 (delete-all-but "." "detectors")))))
24564 (build-system go-build-system)
24565 (arguments
24566 (list
24567 #:skip-build? #t
24568 #:import-path "go.opentelemetry.io/contrib/detectors/gcp"
24569 #:unpack-path "go.opentelemetry.io/contrib"))
24570 (propagated-inputs
24571 (list go-cloud-google-com-go-compute-metadata
24572 go-github-com-google-go-cmp
24573 go-github-com-googlecloudplatform-opentelemetry-operations-go-detectors-gcp
24574 go-github-com-stretchr-testify
24575 go-go-opentelemetry-io-otel
24576 go-go-opentelemetry-io-otel-sdk))
24577 (home-page "https://go.opentelemetry.io/contrib")
24578 (synopsis "GCP Resource detector")
24579 (description
24580 "Package gcp provides a resource detector for GCP Cloud Function.")
24581 (license license:asl2.0)))
24582
24583(define-public go-go-opentelemetry-io-contrib-instrumentation-google-golang-org-grpc-otelgrpc
24584 (package
24585 (name
24586 "go-go-opentelemetry-io-contrib-instrumentation-google-golang-org-grpc-otelgrpc")
24587 (version "0.59.0")
24588 (source
24589 (origin
24590 (method git-fetch)
24591 (uri (git-reference
24592 (url "https://github.com/open-telemetry/opentelemetry-go-contrib")
24593 (commit (go-version->git-ref version
24594 #:subdir "instrumentation/google.golang.org/grpc/otelgrpc"))))
24595 (file-name (git-file-name name version))
24596 (sha256
24597 (base32 "17kyba5816983migninw6v2si2d28j32973c0x8i08fswrjz5dm0"))))
24598 (build-system go-build-system)
24599 (arguments
24600 (list
24601 #:import-path
24602 "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
24603 #:unpack-path "go.opentelemetry.io/contrib"))
24604 (native-inputs
24605 (list go-github-com-stretchr-testify
24606 go-go-uber-org-goleak))
24607 (propagated-inputs
24608 (list go-go-opentelemetry-io-otel
24609 go-go-opentelemetry-io-otel-exporters-stdout-stdouttrace
24610 go-go-opentelemetry-io-otel-metric
24611 go-go-opentelemetry-io-otel-sdk
24612 go-go-opentelemetry-io-otel-sdk-metric
24613 go-go-opentelemetry-io-otel-trace
24614 go-google-golang-org-grpc
24615 go-google-golang-org-protobuf))
24616 (home-page "https://go.opentelemetry.io/contrib")
24617 (synopsis "OTLP instrumentation library for @code{google.golang.org/grpc}")
24618 (description
24619 "Package otelgrpc is the instrumentation library for
24620@url{/google.golang.org/grpc,google.golang.org/grpc}.")
24621 (license license:asl2.0)))
24622
24623(define-public go-go-opentelemetry-io-contrib-instrumentation-net-http-httptrace-otelhttptrace
24624 (package
24625 (name
24626 "go-go-opentelemetry-io-contrib-instrumentation-net-http-httptrace-otelhttptrace")
24627 (version "0.62.0")
24628 (source
24629 (origin
24630 (method git-fetch)
24631 (uri (git-reference
24632 (url "https://github.com/open-telemetry/opentelemetry-go-contrib")
24633 (commit (go-version->git-ref version
24634 #:subdir
24635 (string-append "instrumentation/"
24636 "net/http/httptrace/"
24637 "otelhttptrace")))))
24638 (file-name (git-file-name name version))
24639 (sha256
24640 (base32 "06h5rvvji92dj25vb37s9vmvp5fignbp7zbigbdhbql16gfhp225"))
24641 (modules '((guix build utils)))
24642 (snippet
24643 #~(begin
24644 (delete-all-but "instrumentation/net/http/httptrace"
24645 "otelhttptrace")
24646 (delete-all-but "instrumentation/net/http" "httptrace")
24647 (delete-all-but "." "instrumentation")))))
24648 (build-system go-build-system)
24649 (arguments
24650 (list
24651 #:import-path
24652 "go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace"
24653 #:unpack-path "go.opentelemetry.io/contrib"
24654 #:phases
24655 #~(modify-phases %standard-phases
24656 (add-after 'unpack 'remove-examples
24657 (lambda* (#:key import-path #:allow-other-keys)
24658 (with-directory-excursion (string-append "src/" import-path)
24659 (delete-file-recursively "example")))))))
24660 (native-inputs
24661 (list go-github-com-google-go-cmp
24662 go-github-com-stretchr-testify))
24663 (propagated-inputs
24664 (list go-go-opentelemetry-io-contrib-instrumentation-net-http-otelhttp
24665 go-go-opentelemetry-io-otel
24666 go-go-opentelemetry-io-otel-metric
24667 go-go-opentelemetry-io-otel-sdk
24668 go-go-opentelemetry-io-otel-sdk-metric
24669 go-go-opentelemetry-io-otel-trace))
24670 (home-page "https://go.opentelemetry.io/contrib")
24671 (synopsis "OTLP instrumentation library for @code{net/http/httptrace}")
24672 (description
24673 "Package otelhttptrace provides instrumentation for the
24674@code{/net/http/httptrace} package.")
24675 (license license:asl2.0)))
24676
24677(define-public go-go-opentelemetry-io-contrib-instrumentation-net-http-otelhttp
24678 (package
24679 (name "go-go-opentelemetry-io-contrib-instrumentation-net-http-otelhttp")
24680 (version "0.62.0")
24681 (source
24682 (origin
24683 (method git-fetch)
24684 (uri (git-reference
24685 (url "https://github.com/open-telemetry/opentelemetry-go-contrib")
24686 (commit (go-version->git-ref version
24687 #:subdir
24688 "instrumentation/net/http/otelhttp"))))
24689 (file-name (git-file-name name version))
24690 (sha256
24691 (base32 "06h5rvvji92dj25vb37s9vmvp5fignbp7zbigbdhbql16gfhp225"))))
24692 (build-system go-build-system)
24693 (arguments
24694 (list
24695 #:import-path
24696 "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
24697 #:unpack-path "go.opentelemetry.io/contrib"
24698 #:test-flags #~(list "-skip" "TestWithSpanNameFormatter")
24699 #:phases
24700 #~(modify-phases %standard-phases
24701 (add-after 'unpack 'remove-examples
24702 (lambda* (#:key unpack-path #:allow-other-keys)
24703 (with-directory-excursion (string-append "src/" unpack-path)
24704 (delete-file-recursively
24705 "instrumentation/net/http/otelhttp/example")))))))
24706 (native-inputs
24707 (list go-github-com-stretchr-testify
24708 go-go-opentelemetry-io-otel-sdk
24709 go-go-opentelemetry-io-otel-sdk-metric))
24710 (propagated-inputs
24711 (list go-github-com-felixge-httpsnoop
24712 go-go-opentelemetry-io-otel
24713 go-go-opentelemetry-io-otel-metric
24714 go-go-opentelemetry-io-otel-trace))
24715 (home-page "https://opentelemetry.io/")
24716 (synopsis "Golang std @code{http.Handler} wrapper library")
24717 (description
24718 "Package otelhttp provides an http.Handler and functions that are
24719intended to be used to add tracing by wrapping existing handlers (with
24720Handler) and routes @code{WithRouteTag}.")
24721 (license license:asl2.0)))
24722
24723(define-public go-go-opentelemetry-io-contrib-propagators-autoprop
24724 (package
24725 (name "go-go-opentelemetry-io-contrib-propagators-autoprop")
24726 (version "0.61.0")
24727 (source
24728 (origin
24729 (method git-fetch)
24730 (uri (git-reference
24731 (url "https://github.com/open-telemetry/opentelemetry-go-contrib")
24732 (commit (go-version->git-ref version
24733 #:subdir "propagators/autoprop"))))
24734 (file-name (git-file-name name version))
24735 (sha256
24736 (base32 "15k2xps4qv37pw3ml6pj98kihl6a04bbr005px5hhckl23s40w2c"))
24737 (modules '((guix build utils)))
24738 (snippet
24739 #~(begin
24740 (delete-all-but "propagators" "autoprop")
24741 (delete-all-but "." "propagators")))))
24742 (build-system go-build-system)
24743 (arguments
24744 (list
24745 #:import-path "go.opentelemetry.io/contrib/propagators/autoprop"
24746 #:unpack-path "go.opentelemetry.io/contrib"))
24747 (native-inputs
24748 (list go-github-com-stretchr-testify))
24749 (propagated-inputs
24750 (list go-go-opentelemetry-io-contrib-propagators-aws
24751 go-go-opentelemetry-io-contrib-propagators-b3
24752 go-go-opentelemetry-io-contrib-propagators-jaeger
24753 go-go-opentelemetry-io-contrib-propagators-ot
24754 go-go-opentelemetry-io-otel))
24755 (home-page "https://opentelemetry.io/")
24756 (synopsis "OpenTelemetry TextMapPropagator creation")
24757 (description
24758 "Package autoprop provides an @code{OpenTelemetry}
24759@code{TextMapPropagator} creation function. The @code{OpenTelemetry}
24760specification states that the default @code{TextMapPropagator} needs to be a
24761no-operation implementation. The opentelemetry-go project adheres to this
24762requirement. However, for systems that perform propagation this default is
24763not ideal. This package provides a @code{TextMapPropagator} with useful
24764defaults (a combined @code{TraceContext} and Baggage
24765@code{TextMapPropagator}), and supports environment overrides using the
24766OTEL_PROPAGATORS environment variable.")
24767 (license license:asl2.0)))
24768
24769(define-public go-go-opentelemetry-io-contrib-propagators-aws
24770 (package
24771 (name "go-go-opentelemetry-io-contrib-propagators-aws")
24772 (version "1.36.0")
24773 (source
24774 (origin
24775 (method git-fetch)
24776 (uri (git-reference
24777 (url "https://github.com/open-telemetry/opentelemetry-go-contrib")
24778 (commit (go-version->git-ref version
24779 #:subdir "propagators/aws"))))
24780 (file-name (git-file-name name version))
24781 (sha256
24782 (base32 "15k2xps4qv37pw3ml6pj98kihl6a04bbr005px5hhckl23s40w2c"))))
24783 (build-system go-build-system)
24784 (arguments
24785 (list
24786 #:import-path "go.opentelemetry.io/contrib/propagators/aws"
24787 #:unpack-path "go.opentelemetry.io/contrib"))
24788 (native-inputs
24789 (list go-github-com-google-go-cmp
24790 go-github-com-stretchr-testify))
24791 (propagated-inputs
24792 (list go-go-opentelemetry-io-otel
24793 go-go-opentelemetry-io-otel-sdk
24794 go-go-opentelemetry-io-otel-trace))
24795 (home-page "https://go.opentelemetry.io/contrib")
24796 (synopsis "OpenTracing AWS propagator library")
24797 (description
24798 "Package aws contains @code{OpenTelemetry} propagators that use AWS
24799propagation formats.")
24800 (license license:asl2.0)))
24801
24802(define-public go-go-opentelemetry-io-contrib-propagators-b3
24803 (package
24804 (name "go-go-opentelemetry-io-contrib-propagators-b3")
24805 (version "1.36.0")
24806 (source
24807 (origin
24808 (method git-fetch)
24809 (uri (git-reference
24810 (url "https://github.com/open-telemetry/opentelemetry-go-contrib")
24811 (commit (go-version->git-ref version
24812 #:subdir "propagators/b3"))))
24813 (file-name (git-file-name name version))
24814 (sha256
24815 (base32 "15k2xps4qv37pw3ml6pj98kihl6a04bbr005px5hhckl23s40w2c"))))
24816 (build-system go-build-system)
24817 (arguments
24818 (list
24819 #:import-path "go.opentelemetry.io/contrib/propagators/b3"
24820 #:unpack-path "go.opentelemetry.io/contrib"))
24821 (native-inputs
24822 (list go-github-com-google-go-cmp
24823 go-github-com-stretchr-testify))
24824 (propagated-inputs
24825 (list go-go-opentelemetry-io-otel
24826 go-go-opentelemetry-io-otel-trace))
24827 (home-page "https://go.opentelemetry.io/contrib")
24828 (synopsis "OpenTracing B3 propagator library")
24829 (description
24830 "Package b3 implements the B3 propagator specification as defined at
24831@@url{https://github.com/openzipkin/b3-propagation,}.")
24832 (license license:asl2.0)))
24833
24834(define-public go-go-opentelemetry-io-contrib-propagators-jaeger
24835 (package
24836 (name "go-go-opentelemetry-io-contrib-propagators-jaeger")
24837 (version "1.36.0")
24838 (source
24839 (origin
24840 (method git-fetch)
24841 (uri (git-reference
24842 (url "https://github.com/open-telemetry/opentelemetry-go-contrib")
24843 (commit (go-version->git-ref version
24844 #:subdir "propagators/jaeger"))))
24845 (file-name (git-file-name name version))
24846 (sha256
24847 (base32 "15k2xps4qv37pw3ml6pj98kihl6a04bbr005px5hhckl23s40w2c"))))
24848 (build-system go-build-system)
24849 (arguments
24850 (list
24851 #:import-path "go.opentelemetry.io/contrib/propagators/jaeger"
24852 #:unpack-path "go.opentelemetry.io/contrib"))
24853 (native-inputs
24854 (list go-github-com-google-go-cmp
24855 go-github-com-stretchr-testify))
24856 (propagated-inputs
24857 (list go-go-opentelemetry-io-otel
24858 go-go-opentelemetry-io-otel-trace))
24859 (home-page "https://go.opentelemetry.io/contrib")
24860 (synopsis "OpenTracing Jaeger propagator library")
24861 (description
24862 "Package jaeger implements the Jaeger propagator specification as defined
24863at
24864@url{https://www.jaegertracing.io/docs/1.18/client-libraries/#propagation-format}.")
24865 (license license:asl2.0)))
24866
24867(define-public go-go-opentelemetry-io-contrib-propagators-ot
24868 (package
24869 (name "go-go-opentelemetry-io-contrib-propagators-ot")
24870 (version "1.36.0")
24871 (source
24872 (origin
24873 (method git-fetch)
24874 (uri (git-reference
24875 (url "https://github.com/open-telemetry/opentelemetry-go-contrib")
24876 (commit (go-version->git-ref version
24877 #:subdir "propagators/ot"))))
24878 (file-name (git-file-name name version))
24879 (sha256
24880 (base32 "15k2xps4qv37pw3ml6pj98kihl6a04bbr005px5hhckl23s40w2c"))))
24881 (build-system go-build-system)
24882 (arguments
24883 (list
24884 #:import-path "go.opentelemetry.io/contrib/propagators/ot"
24885 #:unpack-path "go.opentelemetry.io/contrib"))
24886 (native-inputs
24887 (list go-github-com-google-go-cmp
24888 go-github-com-stretchr-testify))
24889 (propagated-inputs
24890 (list
24891 go-go-opentelemetry-io-otel
24892 go-go-opentelemetry-io-otel-trace
24893 go-go-uber-org-multierr))
24894 (home-page "https://opentelemetry.io/")
24895 (synopsis "OpenTracing propagator library")
24896 (description
24897 "Package ot implements the ot-tracer-* propagator used by the default
24898Tracer implementation from the @code{OpenTracing} project.")
24899 (license license:asl2.0)))
24900
24901(define-public go-go-opentelemetry-io-contrib-zpages
24902 (package
24903 (name "go-go-opentelemetry-io-contrib-zpages")
24904 (version "0.68.0")
24905 (source
24906 (origin
24907 (method git-fetch)
24908 (uri (git-reference
24909 (url "https://github.com/open-telemetry/opentelemetry-go-contrib")
24910 (commit (go-version->git-ref version
24911 #:subdir "zpages"))))
24912 (file-name (git-file-name name version))
24913 (sha256
24914 (base32 "0nh7g1zxr3drqcbhsnnkqaz2hn1rnawg8jalixng23c9hwfgqaly"))))
24915 (build-system go-build-system)
24916 (arguments
24917 (list
24918 #:import-path "go.opentelemetry.io/contrib/zpages"
24919 #:unpack-path "go.opentelemetry.io/contrib"))
24920 (native-inputs (list go-github-com-stretchr-testify))
24921 (propagated-inputs (list go-go-opentelemetry-io-otel
24922 go-go-opentelemetry-io-otel-sdk
24923 go-go-opentelemetry-io-otel-trace))
24924 (home-page "https://opentelemetry.io/")
24925 (synopsis "Display telemetry stats")
24926 (description "Package zPages implements a collection of HTML pages that
24927display telemetry stats.")
24928 (license license:asl2.0)))
24929
24930(define-public go-go-opentelemetry-io-otel
24931 (package
24932 (name "go-go-opentelemetry-io-otel")
24933 (version "1.42.0")
24934 (source
24935 (origin
24936 (method git-fetch)
24937 (uri (git-reference
24938 (url "https://github.com/open-telemetry/opentelemetry-go")
24939 (commit (string-append "v" version))))
24940 (file-name (git-file-name name version))
24941 (sha256
24942 (base32 "1mxj3gv04lh0lss2fk4c5n23m55qm4zy1caa3fqxmnjhy0yjm6rf"))
24943 (modules '((guix build utils)))
24944 (snippet
24945 #~(begin
24946 ;; Submodules with their own go.mod files and packed as separated
24947 ;; packages:
24948 (for-each
24949 delete-file-recursively
24950 ;; Do not sort the list, it needs to be formatted with
24951 ;; the longest path to go.mod first, shell snippet to
24952 ;; produce the list:
24953 ;; find . -type f -name go.mod -printf "%d %p\n" | sort -rn
24954 (list "sdk/metric"
24955 "sdk/log"
24956 "internal/tools"
24957 "bridge/opentracing"
24958 "bridge/opencensus"
24959 ;; "trace" - introduces a cycle, keep it
24960 "exporters"
24961 "sdk"
24962 "schema"
24963 ;; "metric" - introduces a cycle, keep it
24964 "log"))))))
24965 (build-system go-build-system)
24966 (arguments
24967 (list
24968 #:tests? #f ;; TODO: Tests require additional dependencies
24969 #:import-path "go.opentelemetry.io/otel"
24970 ;; Error: Both arguments must be pointers.
24971 #:test-flags #~(list "-skip" "TestTraceProviderDelegatesSameInstance")))
24972 (native-inputs
24973 (list go-github-com-google-go-cmp
24974 go-github-com-stretchr-testify
24975 #;go-go-opentelemetry-io-collector-pdata))
24976 (propagated-inputs
24977 (list go-github-com-cespare-xxhash-v2
24978 go-github-com-go-logr-logr
24979 go-github-com-go-logr-stdr
24980 go-go-opentelemetry-io-auto-sdk))
24981 (home-page "https://opentelemetry.io/")
24982 (synopsis "OpenTelemetry implementation for Golang")
24983 (description
24984 "Package otel provides global access to the @code{OpenTelemetry} API.
24985The subpackages of the otel package provide an implementation of the
24986@code{OpenTelemetry} API. This package contains 3 Golang modules:
24987go.opentelemetry.io/otel, go.opentelemetry.io/otel/metric and
24988go.opentelemetry.io/otel/trace.")
24989 (license license:asl2.0)))
24990
24991(define-public go-go-opentelemetry-io-otel-bridge-opentracing
24992 (package
24993 (name "go-go-opentelemetry-io-otel-bridge-opentracing")
24994 (version "1.43.0")
24995 (source
24996 (origin
24997 (method git-fetch)
24998 (uri (git-reference
24999 (url "https://github.com/open-telemetry/opentelemetry-go")
25000 (commit (go-version->git-ref version
25001 #:subdir "bridge/opentracing"))))
25002 (file-name (git-file-name name version))
25003 (sha256
25004 (base32 "0583dw99k25k07pnq8hhhb45kwqhsx30lbk9yxsh4m50ji65wl8h"))
25005 (modules '((guix build utils)))
25006 (snippet
25007 #~(begin
25008 (delete-all-but "bridge" "opentracing")
25009 (delete-all-but "." "bridge")))))
25010 (build-system go-build-system)
25011 (arguments
25012 (list
25013 #:import-path "go.opentelemetry.io/otel/bridge/opentracing"
25014 #:unpack-path "go.opentelemetry.io/otel"))
25015 (native-inputs
25016 (list go-github-com-opentracing-contrib-go-grpc-test
25017 go-github-com-stretchr-testify))
25018 (propagated-inputs
25019 (list go-github-com-opentracing-contrib-go-grpc
25020 go-github-com-opentracing-opentracing-go
25021 go-go-opentelemetry-io-otel
25022 go-go-opentelemetry-io-otel-metric
25023 go-go-opentelemetry-io-otel-trace
25024 go-google-golang-org-grpc))
25025 (home-page "https://go.opentelemetry.io/otel")
25026 (synopsis "OpenTelemetry/OpenTracing Bridge")
25027 (description
25028 "Package opentracing implements a bridge that forwards @code{OpenTracing}
25029API calls to the @code{OpenTelemetry} SDK.")
25030 (license license:asl2.0)))
25031
25032(define-public go-go-opentelemetry-io-otel-exporters-jaeger
25033 (package
25034 (name "go-go-opentelemetry-io-otel-exporters-jaeger")
25035 (version "1.17.0")
25036 (source
25037 (origin
25038 (method git-fetch)
25039 (uri (git-reference
25040 (url "https://github.com/open-telemetry/opentelemetry-go")
25041 (commit (go-version->git-ref version
25042 #:subdir "exporters/jaeger"))))
25043 (file-name (git-file-name name version))
25044 (sha256
25045 (base32 "0241rgx3wf4gfk9q0s0r378kv6hs8dii1d2zgp09941dgk59zmp9"))))
25046 (build-system go-build-system)
25047 (arguments
25048 (list
25049 #:import-path "go.opentelemetry.io/otel/exporters/jaeger"
25050 #:unpack-path "go.opentelemetry.io/otel"))
25051 (native-inputs
25052 (list go-github-com-stretchr-testify))
25053 (propagated-inputs
25054 (list go-github-com-go-logr-logr
25055 go-github-com-go-logr-stdr
25056 go-github-com-google-go-cmp
25057 go-golang-org-x-sys))
25058 (home-page "https://pkg.go.dev/go.opentelemetry.io/otel")
25059 (synopsis "OpenTelemetry-Go Jaeger Exporter")
25060 (description
25061 "Package jaeger contains an OpenTelemetry tracing exporter for Jaeger.")
25062 (license license:asl2.0)))
25063
25064(define-public go-go-opentelemetry-io-otel-exporters-otlp-otlpmetric-otlpmetricgrpc
25065 (package
25066 (name "go-go-opentelemetry-io-otel-exporters-otlp-otlpmetric-otlpmetricgrpc")
25067 (version "1.33.0")
25068 (source
25069 (origin
25070 (method git-fetch)
25071 (uri (git-reference
25072 (url "https://github.com/open-telemetry/opentelemetry-go")
25073 (commit (go-version->git-ref version
25074 #:subdir
25075 "exporters/otlp/otlpmetric/otlpmetricgrpc"))))
25076 (file-name (git-file-name name version))
25077 (sha256
25078 (base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
25079 (modules '((guix build utils)))
25080 (snippet
25081 #~(begin
25082 (delete-all-but "exporters/otlp/otlpmetric" "otlpmetricgrpc")
25083 (delete-all-but "." "exporters")))))
25084 (build-system go-build-system)
25085 (arguments
25086 (list
25087 #:import-path
25088 "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc"
25089 #:unpack-path "go.opentelemetry.io/otel"))
25090 (native-inputs
25091 (list go-github-com-stretchr-testify))
25092 (propagated-inputs
25093 (list go-github-com-cenkalti-backoff-v4
25094 go-github-com-google-go-cmp
25095 go-go-opentelemetry-io-otel
25096 go-go-opentelemetry-io-otel-sdk-metric
25097 go-go-opentelemetry-io-proto-otlp
25098 go-google-golang-org-grpc
25099 go-google-golang-org-protobuf))
25100 (home-page "https://go.opentelemetry.io/otel")
25101 (synopsis "OTLP Metric HTTP Exporter")
25102 (description
25103 "Package otlpmetrichttp provides an OTLP metrics exporter using HTTP with
25104protobuf payloads.")
25105 (license license:asl2.0)))
25106
25107(define-public go-go-opentelemetry-io-otel-exporters-otlp-otlpmetric-otlpmetrichttp
25108 (package
25109 (name "go-go-opentelemetry-io-otel-exporters-otlp-otlpmetric-otlpmetrichttp")
25110 (version "1.33.0")
25111 (source
25112 (origin
25113 (method git-fetch)
25114 (uri (git-reference
25115 (url "https://github.com/open-telemetry/opentelemetry-go")
25116 (commit (go-version->git-ref version
25117 #:subdir
25118 "exporters/otlp/otlpmetric/otlpmetrichttp"))))
25119 (file-name (git-file-name name version))
25120 (sha256
25121 (base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
25122 (modules '((guix build utils)))
25123 (snippet
25124 #~(begin
25125 (delete-all-but "exporters/otlp/otlpmetric" "otlpmetrichttp")
25126 (delete-all-but "." "exporters")))))
25127 (build-system go-build-system)
25128 (arguments
25129 (list
25130 #:import-path
25131 "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp"
25132 #:unpack-path "go.opentelemetry.io/otel"))
25133 (native-inputs (list go-github-com-stretchr-testify))
25134 (propagated-inputs
25135 (list go-github-com-cenkalti-backoff-v4
25136 go-github-com-google-go-cmp
25137 go-go-opentelemetry-io-otel
25138 go-go-opentelemetry-io-otel-sdk-metric
25139 go-go-opentelemetry-io-proto-otlp
25140 go-google-golang-org-grpc
25141 go-google-golang-org-protobuf))
25142 (home-page "https://go.opentelemetry.io/otel")
25143 (synopsis "OTLP Metric HTTP Exporter")
25144 (description
25145 "Package otlpmetrichttp provides an OTLP metrics exporter using HTTP with
25146protobuf payloads.")
25147 (license license:asl2.0)))
25148
25149(define-public go-go-opentelemetry-io-otel-exporters-otlp-otlptrace
25150 (package
25151 (name "go-go-opentelemetry-io-otel-exporters-otlp-otlptrace")
25152 (version "1.36.0")
25153 (source
25154 (origin
25155 (method git-fetch)
25156 (uri (git-reference
25157 (url "https://github.com/open-telemetry/opentelemetry-go")
25158 (commit (go-version->git-ref version
25159 #:subdir "exporters/otlp/otlptrace"))))
25160 (file-name (git-file-name name version))
25161 (sha256
25162 (base32 "1kvfbqc56p1h9rh9cvgn37ya6k10613r0f2rhjiwrrkgs2mszk30"))
25163 (modules '((guix build utils)))
25164 (snippet
25165 #~(begin
25166 (delete-all-but "exporters/otlp" "otlptrace")
25167 (delete-all-but "." "exporters")
25168 ;; Submodules with their own go.mod files and packed as separated
25169 ;; packages:
25170 ;;
25171 ;; - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
25172 ;; - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
25173 (for-each delete-file-recursively
25174 (list "exporters/otlp/otlptrace/otlptracegrpc"
25175 "exporters/otlp/otlptrace/otlptracehttp"))))))
25176 (build-system go-build-system)
25177 (arguments
25178 (list
25179 #:import-path "go.opentelemetry.io/otel/exporters/otlp/otlptrace"
25180 #:unpack-path "go.opentelemetry.io/otel"))
25181 (native-inputs
25182 (list go-github-com-google-go-cmp
25183 go-github-com-stretchr-testify))
25184 (propagated-inputs
25185 (list go-go-opentelemetry-io-proto-otlp
25186 go-google-golang-org-protobuf))
25187 (home-page "https://go.opentelemetry.io/otel")
25188 (synopsis "OTLP Trace Exporter")
25189 (description
25190 "Package otlptrace contains abstractions for OTLP span exporters.")
25191 (license license:asl2.0)))
25192
25193(define-public go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc
25194 (package
25195 (name "go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc")
25196 (version "1.43.0")
25197 (source
25198 (origin
25199 (method git-fetch)
25200 (uri (git-reference
25201 (url "https://github.com/open-telemetry/opentelemetry-go")
25202 (commit (go-version->git-ref version
25203 #:subdir "exporters/otlp/otlptrace/otlptracegrpc"))))
25204 (file-name (git-file-name name version))
25205 (sha256
25206 (base32 "0583dw99k25k07pnq8hhhb45kwqhsx30lbk9yxsh4m50ji65wl8h"))
25207 (modules '((guix build utils)))
25208 (snippet
25209 #~(begin
25210 (delete-all-but "exporters/otlp/otlptrace" "otlptracegrpc")
25211 (delete-all-but "exporters/otlp" "otlptrace")
25212 (delete-all-but "." "exporters")))))
25213 (build-system go-build-system)
25214 (arguments
25215 (list
25216 #:import-path
25217 "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc"
25218 #:unpack-path "go.opentelemetry.io/otel"))
25219 (native-inputs
25220 (list go-github-com-stretchr-testify
25221 go-go-uber-org-goleak))
25222 (propagated-inputs
25223 (list go-github-com-cenkalti-backoff-v5
25224 go-go-opentelemetry-io-otel
25225 go-go-opentelemetry-io-otel-exporters-otlp-otlptrace
25226 go-go-opentelemetry-io-otel-metric
25227 go-go-opentelemetry-io-otel-metric-x
25228 go-go-opentelemetry-io-otel-sdk
25229 go-go-opentelemetry-io-otel-sdk-metric
25230 go-go-opentelemetry-io-otel-trace
25231 go-go-opentelemetry-io-proto-otlp
25232 go-google-golang-org-genproto-googleapis-rpc
25233 go-google-golang-org-grpc
25234 go-google-golang-org-protobuf))
25235 (home-page "https://go.opentelemetry.io/otel")
25236 (synopsis "OTLP Trace gRPC Exporter")
25237 (description
25238 "Package otlptracegrpc provides an OTLP span exporter using @code{gRPC}.
25239By default the telemetry is sent to @@url{https://localhost:4317}.")
25240 (license license:asl2.0)))
25241
25242(define-public go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracehttp
25243 (package
25244 (name "go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracehttp")
25245 (version "1.36.0")
25246 (source
25247 (origin
25248 (method git-fetch)
25249 (uri (git-reference
25250 (url "https://github.com/open-telemetry/opentelemetry-go")
25251 (commit (go-version->git-ref version
25252 #:subdir "exporters/otlp/otlptrace/otlptracehttp"))))
25253 (file-name (git-file-name name version))
25254 (sha256
25255 (base32 "1kvfbqc56p1h9rh9cvgn37ya6k10613r0f2rhjiwrrkgs2mszk30"))
25256 (modules '((guix build utils)))
25257 (snippet
25258 #~(begin
25259 (delete-all-but "exporters/otlp/otlptrace" "otlptracehttp")
25260 (delete-all-but "." "exporters")))))
25261 (build-system go-build-system)
25262 (arguments
25263 (list
25264 ;; TODO: Enable when all missing inputs are available, use as source
25265 ;; only package for Boxo.
25266 #:skip-build? #t
25267 #:tests? #f
25268 #:import-path
25269 "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp"
25270 #:unpack-path "go.opentelemetry.io/otel"))
25271 (native-inputs
25272 (list go-github-com-stretchr-testify))
25273 (propagated-inputs
25274 (list go-github-com-cenkalti-backoff-v5
25275 go-go-opentelemetry-io-proto-otlp
25276 ;; go-google-golang-org-grpc
25277 go-google-golang-org-protobuf))
25278 (home-page "https://go.opentelemetry.io/otel")
25279 (synopsis "OTLP Trace HTTP Exporter")
25280 (description
25281 "Package otlptracehttp provides an OTLP span exporter using HTTP with
25282protobuf payloads. By default the telemetry is sent to
25283@@url{https://localhost:4318/v1/traces}.")
25284 (license license:asl2.0)))
25285
25286(define-public go-go-opentelemetry-io-otel-exporters-prometheus
25287 (package
25288 (name "go-go-opentelemetry-io-otel-exporters-prometheus")
25289 (version "0.62.0")
25290 (source
25291 (origin
25292 (method git-fetch)
25293 (uri (git-reference
25294 (url "https://github.com/open-telemetry/opentelemetry-go")
25295 (commit (go-version->git-ref version
25296 #:subdir "exporters/prometheus"))))
25297 (file-name (git-file-name name version))
25298 (sha256
25299 (base32 "0ag8103mf4j03lspi5rxk161iscbw1wkdk6ri9f746jia1w4qji8"))
25300 (modules '((guix build utils)))
25301 (snippet
25302 #~(begin
25303 (delete-all-but "exporters" "prometheus")
25304 (delete-all-but "." "exporters")))))
25305 (build-system go-build-system)
25306 (arguments
25307 (list
25308 #:import-path "go.opentelemetry.io/otel/exporters/prometheus"
25309 #:unpack-path "go.opentelemetry.io/otel"))
25310 (native-inputs
25311 (list go-github-com-stretchr-testify))
25312 (propagated-inputs
25313 (list go-github-com-prometheus-client-golang
25314 go-github-com-prometheus-client-model
25315 go-github-com-prometheus-otlptranslator
25316 go-go-opentelemetry-io-otel
25317 go-go-opentelemetry-io-otel-metric
25318 go-go-opentelemetry-io-otel-sdk
25319 go-go-opentelemetry-io-otel-sdk-metric
25320 go-go-opentelemetry-io-otel-trace
25321 go-google-golang-org-protobuf))
25322 (home-page "https://go.opentelemetry.io/otel")
25323 (synopsis "OTLP Prometheus Exporter")
25324 (description
25325 "Package prometheus provides a Prometheus Exporter that converts OTLP
25326metrics into the Prometheus exposition format and implements
25327prometheus.Collector to provide a handler for these metrics.")
25328 (license license:asl2.0)))
25329
25330(define-public go-go-opentelemetry-io-otel-exporters-stdout-stdoutmetric
25331 (package
25332 (name "go-go-opentelemetry-io-otel-exporters-stdout-stdoutmetric")
25333 (version "1.43.0")
25334 (source
25335 (origin
25336 (method git-fetch)
25337 (uri (git-reference
25338 (url "https://github.com/open-telemetry/opentelemetry-go")
25339 (commit (go-version->git-ref version
25340 #:subdir
25341 "exporters/stdout/stdoutmetric"))))
25342 (file-name (git-file-name name version))
25343 (sha256
25344 (base32 "0583dw99k25k07pnq8hhhb45kwqhsx30lbk9yxsh4m50ji65wl8h"))
25345 (modules '((guix build utils)))
25346 (snippet
25347 #~(begin
25348 (delete-all-but "exporters/stdout" "stdoutmetric")
25349 (delete-all-but "exporters" "stdout")
25350 (delete-all-but "." "exporters")))))
25351 (build-system go-build-system)
25352 (arguments
25353 (list
25354 #:import-path "go.opentelemetry.io/otel/exporters/stdout/stdoutmetric"
25355 #:unpack-path "go.opentelemetry.io/otel"
25356 #:test-flags
25357 #~(list "-skip" (string-join
25358 (list "TestExporterExportObservability/Enabled"
25359 "TestExporterExportObservability/EncodingError")
25360 "|"))))
25361 (native-inputs
25362 (list go-github-com-stretchr-testify))
25363 (propagated-inputs
25364 (list go-go-opentelemetry-io-otel
25365 go-go-opentelemetry-io-otel-sdk
25366 go-go-opentelemetry-io-otel-sdk-metric))
25367 (home-page "https://go.opentelemetry.io/otel")
25368 (synopsis "OTLP STDOUT Metric Exporter")
25369 (description
25370 "Package stdoutmetric provides an @code{OpenTelemetry} exporter for
25371metric telemetry. It is intended to be used for testing and debugging, not
25372for production use.")
25373 (license license:asl2.0)))
25374
25375(define-public go-go-opentelemetry-io-otel-exporters-stdout-stdouttrace
25376 (package
25377 (name "go-go-opentelemetry-io-otel-exporters-stdout-stdouttrace")
25378 (version "1.36.0")
25379 (source
25380 (origin
25381 (method git-fetch)
25382 (uri (git-reference
25383 (url "https://github.com/open-telemetry/opentelemetry-go")
25384 (commit (go-version->git-ref version
25385 #:subdir
25386 "exporters/stdout/stdouttrace"))))
25387 (file-name (git-file-name name version))
25388 (sha256
25389 (base32 "1kvfbqc56p1h9rh9cvgn37ya6k10613r0f2rhjiwrrkgs2mszk30"))
25390 (modules '((guix build utils)))
25391 (snippet
25392 #~(begin
25393 (delete-all-but "exporters/stdout" "stdouttrace")
25394 (delete-all-but "exporters" "stdout")
25395 (delete-all-but "." "exporters")))))
25396 (build-system go-build-system)
25397 (arguments
25398 (list
25399 #:import-path "go.opentelemetry.io/otel/exporters/stdout/stdouttrace"
25400 #:unpack-path "go.opentelemetry.io/otel"))
25401 (native-inputs
25402 (list go-github-com-stretchr-testify))
25403 (propagated-inputs
25404 (list go-go-opentelemetry-io-otel
25405 go-go-opentelemetry-io-otel-sdk
25406 go-go-opentelemetry-io-otel-trace
25407 go-go-opentelemetry-io-otel-metric))
25408 (home-page "https://go.opentelemetry.io/otel")
25409 (synopsis "OTLP STDOUT Trace Exporter")
25410 (description
25411 "Package stdouttrace contains an @code{OpenTelemetry} exporter for tracing
25412telemetry to be written to an output destination as JSON.")
25413 (license license:asl2.0)))
25414
25415(define-public go-go-opentelemetry-io-otel-exporters-zipkin
25416 (package
25417 (name "go-go-opentelemetry-io-otel-exporters-zipkin")
25418 (version "1.36.0")
25419 (source
25420 (origin
25421 (method git-fetch)
25422 (uri (git-reference
25423 (url "https://github.com/open-telemetry/opentelemetry-go")
25424 (commit (go-version->git-ref version
25425 #:subdir "exporters/zipkin"))))
25426 (file-name (git-file-name name version))
25427 (sha256
25428 (base32 "1kvfbqc56p1h9rh9cvgn37ya6k10613r0f2rhjiwrrkgs2mszk30"))
25429 (modules '((guix build utils)))
25430 (snippet
25431 #~(begin
25432 (delete-all-but "exporters" "zipkin")
25433 (delete-all-but "." "exporters")))))
25434 (build-system go-build-system)
25435 (arguments
25436 (list
25437 #:import-path "go.opentelemetry.io/otel/exporters/zipkin"
25438 #:unpack-path "go.opentelemetry.io/otel"))
25439 (native-inputs
25440 (list go-github-com-stretchr-testify))
25441 (propagated-inputs
25442 (list go-github-com-openzipkin-zipkin-go
25443 go-github-com-google-go-cmp
25444 go-github-com-go-logr-stdr
25445 go-github-com-go-logr-logr))
25446 (home-page "https://go.opentelemetry.io/otel")
25447 (synopsis "Zipkin Exporter")
25448 (description
25449 "Package zipkin contains an @code{OpenTelemetry} tracing exporter for Zipkin.")
25450 (license license:asl2.0)))
25451
25452(define-public go-go-opentelemetry-io-otel-log
25453 (package
25454 (name "go-go-opentelemetry-io-otel-log")
25455 (version "0.9.0")
25456 (source
25457 (origin
25458 (method git-fetch)
25459 (uri (git-reference
25460 (url "https://github.com/open-telemetry/opentelemetry-go")
25461 (commit (go-version->git-ref version
25462 #:subdir "log"))))
25463 (file-name (git-file-name name version))
25464 (sha256
25465 (base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
25466 (modules '((guix build utils)))
25467 (snippet #~(delete-all-but "." "log"))))
25468 (build-system go-build-system)
25469 (arguments
25470 (list
25471 #:import-path "go.opentelemetry.io/otel/log"
25472 #:unpack-path "go.opentelemetry.io/otel"))
25473 (native-inputs
25474 (list go-github-com-stretchr-testify))
25475 (propagated-inputs
25476 (list go-github-com-go-logr-logr
25477 go-go-opentelemetry-io-otel))
25478 (home-page "https://go.opentelemetry.io/otel")
25479 (synopsis "OpenTelemetry Logs API")
25480 (description
25481 "This package is intended to be used by bridges between existing logging
25482libraries and OpenTelemetry. Users should not directly use this package as a
25483logging library. Instead, install one of the bridges listed in the
25484[registry], and use the associated logging library.")
25485 (license license:asl2.0)))
25486
25487(define-public go-go-opentelemetry-io-otel-metric
25488 (package/inherit go-go-opentelemetry-io-otel
25489 (name "go-go-opentelemetry-io-otel-metric")
25490 (arguments
25491 (list
25492 #:import-path "go.opentelemetry.io/otel/metric"
25493 #:unpack-path "go.opentelemetry.io/otel"))
25494 (synopsis "OpenTelemetry Metric API")
25495 (description
25496 "Package metric provides an implementation of the metric part of the
25497OpenTelemetry API.")))
25498
25499(define-public go-go-opentelemetry-io-otel-metric-x
25500 (package
25501 (name "go-go-opentelemetry-io-otel-metric-x")
25502 (version "0.0.0-20260424084752-468c62dac625")
25503 (source
25504 (origin
25505 (method git-fetch)
25506 (uri (git-reference
25507 (url "https://github.com/open-telemetry/opentelemetry-go")
25508 (commit (go-version->git-ref version #:subdir "metric/x"))))
25509 (file-name (git-file-name name version))
25510 (sha256
25511 (base32 "16x0aw116dadi73vzh8bcwasy79sblvh6k1q7yfx8n841x48ry8r"))
25512 (modules '((guix build utils)))
25513 (snippet
25514 #~(begin
25515 (delete-all-but "metric" "x")
25516 (delete-all-but "." "metric")))))
25517 (build-system go-build-system)
25518 (arguments
25519 (list
25520 #:import-path "go.opentelemetry.io/otel/metric/x"
25521 #:unpack-path "go.opentelemetry.io/otel"))
25522 (propagated-inputs
25523 (list go-go-opentelemetry-io-otel
25524 go-go-opentelemetry-io-otel-metric
25525 go-go-opentelemetry-io-otel-trace))
25526 (home-page "https://github.com/open-telemetry/opentelemetry-go")
25527 (synopsis "Experimental Metric Options")
25528 (description
25529 "This package contains experimental options for the OpenTelemetry metric
25530package. These options are currently under development and not part of the
25531stable API. They may be changed in backwards-incompatible ways, or removed
25532entirely.")
25533 (license license:asl2.0)))
25534
25535(define-public go-go-opentelemetry-io-otel-sdk
25536 (package
25537 (name "go-go-opentelemetry-io-otel-sdk")
25538 (version "1.33.0")
25539 (source
25540 (origin
25541 (method git-fetch)
25542 (uri (git-reference
25543 (url "https://github.com/open-telemetry/opentelemetry-go")
25544 (commit (go-version->git-ref version #:subdir "sdk"))))
25545 (file-name (git-file-name name version))
25546 (sha256
25547 (base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
25548 (modules '((guix build utils)))
25549 (snippet
25550 #~(begin
25551 (delete-all-but "." "sdk")
25552 (delete-file-recursively "sdk/log")
25553 (delete-file-recursively "sdk/metric")))))
25554 (build-system go-build-system)
25555 (arguments
25556 (list
25557 #:import-path "go.opentelemetry.io/otel/sdk"
25558 #:unpack-path "go.opentelemetry.io/otel"))
25559 (native-inputs
25560 (list go-github-com-stretchr-testify))
25561 (propagated-inputs
25562 (list go-github-com-go-logr-logr
25563 go-github-com-google-go-cmp
25564 go-github-com-google-uuid
25565 go-go-opentelemetry-io-otel
25566 go-golang-org-x-sys))
25567 (home-page "https://opentelemetry.io/")
25568 (synopsis "OpenTelemetry Golang SDK")
25569 (description
25570 "This package provides OpenTelemetry Otel SDK.")
25571 (license license:asl2.0)))
25572
25573(define-public go-go-opentelemetry-io-otel-sdk-log
25574 (package
25575 (name "go-go-opentelemetry-io-otel-sdk-log")
25576 (version "0.9.0")
25577 (source
25578 (origin
25579 (method git-fetch)
25580 (uri (git-reference
25581 (url "https://github.com/open-telemetry/opentelemetry-go")
25582 (commit (go-version->git-ref version
25583 #:subdir "sdk/log"))))
25584 (file-name (git-file-name name version))
25585 (sha256
25586 (base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
25587 (modules '((guix build utils)))
25588 (snippet
25589 #~(begin
25590 (delete-all-but "sdk" "log")
25591 (delete-all-but "." "sdk")))))
25592 (build-system go-build-system)
25593 (arguments
25594 (list
25595 #:import-path "go.opentelemetry.io/otel/sdk/log"
25596 #:unpack-path "go.opentelemetry.io/otel"))
25597 (native-inputs
25598 (list go-github-com-stretchr-testify))
25599 (propagated-inputs
25600 (list go-github-com-go-logr-logr
25601 go-github-com-go-logr-stdr
25602 go-github-com-google-go-cmp
25603 go-go-opentelemetry-io-otel-log
25604 go-go-opentelemetry-io-otel-sdk))
25605 (home-page "https://go.opentelemetry.io/otel")
25606 (synopsis "OpenTelemetry Log SDK library")
25607 (description "Package log provides the @code{OpenTelemetry} Logs SDK.")
25608 (license license:asl2.0)))
25609
25610(define-public go-go-opentelemetry-io-otel-sdk-metric
25611 (package
25612 (name "go-go-opentelemetry-io-otel-sdk-metric")
25613 (version "1.33.0")
25614 (source
25615 (origin
25616 (method git-fetch)
25617 (uri (git-reference
25618 (url "https://github.com/open-telemetry/opentelemetry-go")
25619 (commit (go-version->git-ref version
25620 #:subdir "sdk/metric"))))
25621 (file-name (git-file-name name version))
25622 (sha256
25623 (base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
25624 (modules '((guix build utils)))
25625 (snippet
25626 #~(begin
25627 (delete-all-but "sdk" "metric")
25628 (delete-all-but "." "sdk")))))
25629 (build-system go-build-system)
25630 (arguments
25631 (list
25632 #:import-path "go.opentelemetry.io/otel/sdk/metric"
25633 #:unpack-path "go.opentelemetry.io/otel"
25634 #:test-flags
25635 #~(list "-skip" (string-join
25636 (list "TestGlobalInstRegisterCallback"
25637 "TestMeterProviderDelegation")
25638 "|"))))
25639 (native-inputs
25640 (list go-github-com-stretchr-testify))
25641 (propagated-inputs
25642 (list go-github-com-go-logr-logr
25643 go-github-com-go-logr-stdr
25644 go-github-com-google-go-cmp
25645 go-go-opentelemetry-io-otel
25646 go-go-opentelemetry-io-otel-sdk))
25647 (home-page "https://go.opentelemetry.io/otel")
25648 (synopsis "OpenTelemetry Metric SDK library")
25649 (description
25650 "Package metric provides an implementation of the @code{OpenTelemetry}
25651metrics SDK.")
25652 (license license:asl2.0)))
25653
25654(define-public go-go-opentelemetry-io-otel-trace
25655 (package/inherit go-go-opentelemetry-io-otel
25656 (name "go-go-opentelemetry-io-otel-trace")
25657 (arguments
25658 (list
25659 #:tests? #f ;; TODO: Tests require additional dependencies
25660 #:import-path "go.opentelemetry.io/otel/trace"
25661 #:unpack-path "go.opentelemetry.io/otel"))
25662 (synopsis "OpenTelemetry Trace API")
25663 (description
25664 "Package trace provides an implementation of the tracing part of the
25665OpenTelemetry API.")))
25666
25667(define-public go-go-opentelemetry-io-proto-otlp
25668 (package
25669 (name "go-go-opentelemetry-io-proto-otlp")
25670 (version "1.7.0")
25671 (source
25672 (origin
25673 (method git-fetch)
25674 (uri (git-reference
25675 (url "https://github.com/open-telemetry/opentelemetry-proto-go")
25676 (commit (go-version->git-ref version
25677 #:subdir "otlp"))))
25678 (file-name (git-file-name name version))
25679 (sha256
25680 (base32 "0k7g5p1qhw17szyzxr08aixi5d0d2ixlb3sp4dksgz45v0dy5cds"))))
25681 (build-system go-build-system)
25682 (arguments
25683 (list
25684 #:skip-build? #t
25685 #:import-path "go.opentelemetry.io/proto/otlp"
25686 #:unpack-path "go.opentelemetry.io/proto"))
25687 (propagated-inputs
25688 (list go-github-com-grpc-ecosystem-grpc-gateway-v2
25689 go-google-golang-org-grpc
25690 go-google-golang-org-protobuf))
25691 (home-page "https://go.opentelemetry.io/proto")
25692 (synopsis "OpenTelemetry protobuf data model")
25693 (description
25694 "This package provides Go code follows the stability guarantees as
25695defined in
25696@code{https://github.com/open-telemetry/opentelemetry-proto?tab=readme-ov-file#maturity-level,
25697maturity level}.")
25698 (license license:asl2.0)))
25699
25700(define-public go-go-starlark-net
25701 (package
25702 (name "go-go-starlark-net")
25703 (version "0.0.0-20250701195324-d457b4515e0e")
25704 (source
25705 (origin
25706 (method git-fetch)
25707 (uri (git-reference
25708 (url "https://github.com/google/starlark-go")
25709 (commit (go-version->git-ref version))))
25710 (file-name (git-file-name name version))
25711 (sha256
25712 (base32 "1cy6xxf2hjvd9b0wbdybn46h3qrkhxy9l11mzbrs21y0i1hlyiji"))))
25713 (build-system go-build-system)
25714 (arguments
25715 (list
25716 #:skip-build? #t
25717 #:import-path "go.starlark.net"
25718 ;; Intfallback subcommand failed: fork/exec /bin/sh: no such file or
25719 ;; directory.
25720 #:test-flags #~(list "-skip" "TestIntFallback")))
25721 (propagated-inputs
25722 (list go-github-com-chzyer-readline
25723 go-github-com-google-go-cmp
25724 go-golang-org-x-sys
25725 go-golang-org-x-term
25726 go-google-golang-org-protobuf))
25727 (home-page "https://github.com/google/starlark-go")
25728 (synopsis "Starlark configuration language, implemented in Golang")
25729 (description
25730 "This package provides Starlark - a dialect of Python intended for use as
25731a configuration language.")
25732 (license license:bsd-3)))
25733
25734(define-public go-go4-org-netipx
25735 (package
25736 (name "go-go4-org-netipx")
25737 (version "0.0.0-20231129151722-fdeea329fbba")
25738 (source
25739 (origin
25740 (method git-fetch)
25741 (uri (git-reference
25742 (url "https://github.com/go4org/netipx")
25743 (commit (go-version->git-ref version))))
25744 (file-name (git-file-name name version))
25745 (sha256
25746 (base32 "1g45hmdsgy6c73277j4i0mdi6031qbh5il1i5ab6bkywnpwhy9p4"))))
25747 (build-system go-build-system)
25748 (arguments
25749 (list
25750 #:import-path "go4.org/netipx"))
25751 (propagated-inputs
25752 (list go-honnef-co-go-tools
25753 go-github-com-dvyukov-go-fuzz))
25754 (home-page "https://go4.org/netipx")
25755 (synopsis "Leftover code from inet.af/netaddr")
25756 (description
25757 "This package contains code and types that were left behind when the old
25758inet.af/netaddr package moved to the standard library in Go 1.18 as
25759net/netip.")
25760 (license license:bsd-3)))
25761
25762(define-public go-goftp-io-server-v2
25763 (package
25764 (name "go-goftp-io-server-v2")
25765 (version "2.0.2")
25766 (source
25767 (origin
25768 (method git-fetch)
25769 (uri (git-reference
25770 (url "https://gitea.com/goftp/server")
25771 (commit (string-append "v" version))))
25772 (file-name (git-file-name name version))
25773 (sha256
25774 (base32 "12gyq0jpp03bxzas5439d4a7shqak7vg7s9q7j4fa1vq5n2pd2qn"))))
25775 (build-system go-build-system)
25776 (arguments
25777 (list
25778 #:embed-files
25779 #~(list "children" "nodes" "text")
25780 #:import-path "goftp.io/server/v2"))
25781 (native-inputs
25782 (list go-github-com-stretchr-testify))
25783 (propagated-inputs
25784 (list go-github-com-jlaffaye-ftp
25785 go-github-com-minio-minio-go-v7))
25786 (home-page "https://goftp.io/server")
25787 (synopsis "FTP server framework")
25788 (description
25789 "This package provides a FTP server framework forked from
25790 https://github.com/yob/graval.")
25791 (license license:expat)))
25792
25793(define-public go-goji-io
25794 (package
25795 (name "go-goji-io")
25796 (version "2.0.2")
25797 (source
25798 (origin
25799 (method git-fetch)
25800 (uri (git-reference
25801 (url "https://github.com/goji/goji")
25802 (commit (string-append "v" version))))
25803 (file-name (git-file-name name version))
25804 (sha256
25805 (base32 "0sckb1gayxfrlm12kdp33vwqq4gs5irqswr7pm0skkdz66swsvcc"))))
25806 (build-system go-build-system)
25807 (arguments
25808 (list
25809 #:import-path "goji.io"))
25810 (home-page "https://goji.io")
25811 (synopsis "HTTP request multiplexer for Golang")
25812 (description
25813 "Goji is a HTTP request multiplexer, similar to std
25814@code{net/http.ServeMux}. It compares incoming requests to a list of
25815registered Patterns, and dispatches to the @code{http.Handler} that
25816corresponds to the first matching Pattern. Goji also supports
25817Middleware (composable shared functionality applied to every request) and uses
25818the standard @code{context} package to store request-scoped values.")
25819 (license license:expat)))
25820
25821(define-public go-golang-getoutline-org-sdk
25822 (package
25823 (name "go-golang-getoutline-org-sdk")
25824 (version "0.0.23")
25825 (source
25826 (origin
25827 (method git-fetch)
25828 (uri (git-reference
25829 (url "https://github.com/OutlineFoundation/outline-sdk")
25830 (commit (string-append "v" version))))
25831 (file-name (git-file-name name version))
25832 (sha256
25833 (base32 "1gvw5mw57kcbcjc6mh22w2gnjlb1gz4m5dal6vs6sfqdmhw0zqiy"))
25834 (modules '((guix build utils)))
25835 (snippet
25836 #~(begin
25837 ;; Submodules with their own go.mod files and packaged separately:
25838 ;; Outline Experimental.
25839 (delete-file-recursively "x")))))
25840 (build-system go-build-system)
25841 (arguments
25842 (list
25843 #:skip-build? #t
25844 #:import-path "golang.getoutline.org/sdk"
25845 #:test-flags
25846 #~(list "-skip" (string-join
25847 ;; Network tests.
25848 (list "TestAllCustom"
25849 "TestDomain"
25850 "TestExpired"
25851 "TestFakeSNI"
25852 "TestHostSelector"
25853 "TestIP"
25854 "TestIPOverride"
25855 "TestNewHTTPSResolver"
25856 "TestNewTCPResolver"
25857 "TestNewTLSResolver"
25858 "TestNewUDPResolver"
25859 "TestNoSNI"
25860 "TestUntrustedRoot")
25861 "|"))
25862 #:phases
25863 #~(modify-phases %standard-phases
25864 (add-before 'check 'pre-check
25865 (lambda* (#:key tests? import-path #:allow-other-keys)
25866 (setenv "GODEBUG" "asynctimerchan=0"))))))
25867 (native-inputs
25868 (list go-github-com-stretchr-testify))
25869 (propagated-inputs
25870 (list go-github-com-eycorsican-go-tun2socks
25871 go-github-com-google-gopacket
25872 go-github-com-shadowsocks-go-shadowsocks2
25873 go-github-com-things-go-go-socks5
25874 go-golang-org-x-crypto
25875 go-golang-org-x-net))
25876 (home-page "https://getoutline.org/for-developers/")
25877 (synopsis "SDK to build network tools based on Outline components")
25878 (description
25879 "This package provides a Go library and set of tools for app developers
25880to easily reuse Outline's advanced networking strategies to mitigate even the
25881most complex network-level interference.")
25882 (license license:asl2.0)))
25883
25884(define-public go-golang-getoutline-org-sdk-x
25885 (package
25886 (name "go-golang-getoutline-org-sdk-x")
25887 (version "0.2.0")
25888 (source
25889 (origin
25890 (method git-fetch)
25891 (uri (git-reference
25892 (url "https://github.com/OutlineFoundation/outline-sdk")
25893 (commit (go-version->git-ref version #:subdir "x"))))
25894 (file-name (git-file-name name version))
25895 (sha256
25896 (base32 "01hgmz80292q6sd4p43ldvnq1fwkknq6hzsg671nxfhzz99v30dx"))
25897 (modules '((guix build utils)))
25898 (snippet #~(delete-all-but "." "x"))))
25899 (build-system go-build-system)
25900 (arguments
25901 (list
25902 #:skip-build? #t
25903 #:import-path "golang.getoutline.org/sdk/x"
25904 #:unpack-path "golang.getoutline.org/sdk"
25905 #:test-subdirs
25906 ;; XXX: Remove when all inputs are packaged.
25907 #~(list "httpproxy"
25908 "report"
25909 "sockopt"
25910 "websocket")
25911 #:phases
25912 #~(modify-phases %standard-phases
25913 (add-before 'check 'pre-check
25914 (lambda* (#:key tests? import-path #:allow-other-keys)
25915 (setenv "GODEBUG" "asynctimerchan=0"))))))
25916 (native-inputs
25917 (list go-github-com-stretchr-testify))
25918 (propagated-inputs
25919 (list go-github-com-goccy-go-yaml
25920 go-github-com-gorilla-websocket
25921 go-github-com-lmittmann-tint
25922 go-github-com-psiphon-labs-psiphon-tunnel-core
25923 go-github-com-quic-go-quic-go
25924 go-github-com-songgao-water
25925 go-github-com-things-go-go-socks5
25926 go-github-com-vishvananda-netlink
25927 go-golang-getoutline-org-sdk
25928 go-golang-org-x-mobile
25929 go-golang-org-x-net
25930 go-golang-org-x-sys
25931 go-golang-org-x-term))
25932 (home-page "https://golang.getoutline.org/sdk")
25933 (synopsis "Outline Experimental Go SDK")
25934 (description
25935 "This package contains experimental code for Outline SDK.")
25936 (license license:asl2.0)))
25937
25938(define-public go-golang-org-x-oauth2
25939 (package
25940 (name "go-golang-org-x-oauth2")
25941 (version "0.36.0")
25942 (source
25943 (origin
25944 (method git-fetch)
25945 (uri (git-reference
25946 (url "https://go.googlesource.com/oauth2")
25947 (commit (string-append "v" version))))
25948 (file-name (git-file-name name version))
25949 (sha256
25950 (base32 "0k7n299v6m0k0bkynfvwjclx56hbd5hvaaipk4khm9ib8ddbpx3s"))))
25951 (build-system go-build-system)
25952 (arguments
25953 (list
25954 #:import-path "golang.org/x/oauth2"))
25955 (propagated-inputs
25956 (list go-cloud-google-com-go-compute-metadata))
25957 (home-page "https://go.googlesource.com/oauth2")
25958 (synopsis "Client implementation of the OAuth 2.0 spec")
25959 (description
25960 "This package contains a client implementation for OAuth 2.0
25961 spec in Go.")
25962 (license license:bsd-3)))
25963
25964(define-public go-golang-zx2c4-com-wireguard
25965 (package
25966 (name "go-golang-zx2c4-com-wireguard")
25967 (version "0.0.0-20250521234502-f333402bd9cb")
25968 (source
25969 (origin
25970 (method git-fetch)
25971 ;; NOTE: module URL is a redirect
25972 ;; target: git.zx2c4.com/wireguard-go
25973 ;; source: golang.zx2c4.com/wireguard
25974 (uri (git-reference
25975 (url "https://git.zx2c4.com/wireguard-go/")
25976 (commit (go-version->git-ref version))))
25977 (file-name (git-file-name name version))
25978 (sha256
25979 (base32 "1h4rmdvssk939gk31f0sfwa1yaks72zk8rkcs7fj3qcvl8sgq6hr"))))
25980 (build-system go-build-system)
25981 (arguments
25982 (list
25983 #:import-path "golang.zx2c4.com/wireguard"))
25984 (propagated-inputs
25985 (list go-golang-org-x-crypto
25986 go-golang-org-x-net
25987 go-golang-org-x-sys
25988 go-gvisor-dev-gvisor))
25989 (home-page "https://git.zx2c4.com/wireguard")
25990 (synopsis "Implementation of WireGuard in Go")
25991 (description "This package is a Go Implementation of WireGuard.")
25992 (license license:expat)))
25993
25994(define-public go-gomodules-xyz-jsonpatch-v2
25995 (package
25996 (name "go-gomodules-xyz-jsonpatch-v2")
25997 (version "2.5.0")
25998 (source
25999 (origin
26000 (method git-fetch)
26001 (uri (git-reference
26002 (url "https://github.com/gomodules/jsonpatch")
26003 (commit (string-append "v" version))))
26004 (file-name (git-file-name name version))
26005 (sha256
26006 (base32 "1a4f7q7lfpwq1ky1k3sfrvmskc64b9wizfn94wqa9kwb6v6j8b0l"))))
26007 (build-system go-build-system)
26008 (arguments
26009 (list
26010 #:import-path "gomodules.xyz/jsonpatch/v2"
26011 #:unpack-path "gomodules.xyz/jsonpatch"))
26012 (native-inputs
26013 (list go-github-com-stretchr-testify))
26014 (propagated-inputs
26015 (list go-github-com-evanphx-json-patch
26016 go-github-com-pkg-errors))
26017 (home-page "https://github.com/gomodules/jsonpatch")
26018 (synopsis "JSON Patch (RFC 6902) and target document generation")
26019 (description
26020 "This package provides functionality for generating JSON Patch documents
26021and for applying JSON Patch operations to JSON documents per RFC 6902. It's
26022an alternative fork of @url{https://github.com/mattbaird/jsonpatch}.")
26023 (license license:asl2.0)))
26024
26025(define-public go-google-golang-org-api
26026 (package
26027 (name "go-google-golang-org-api")
26028 (version "0.272.0")
26029 (source
26030 (origin
26031 (method git-fetch)
26032 (uri (git-reference
26033 (url "https://github.com/googleapis/google-api-go-client")
26034 (commit (string-append "v" version))))
26035 (file-name (git-file-name name version))
26036 (sha256
26037 (base32 "1agvmw1sj2xy2p0ig2xdivn8i5pjnw93d2kq4hix7s5ysiswnpw4"))
26038 (modules '((guix build utils)))
26039 (snippet
26040 #~(begin
26041 ;; Submodules with their own go.mod files and packaged separately:
26042 ;;
26043 ;; - google.golang.org/api/internal/kokoro/discogen
26044 (delete-file-recursively "internal/kokoro/discogen")))))
26045 (build-system go-build-system)
26046 (arguments
26047 (list
26048 #:import-path "google.golang.org/api"
26049 #:test-flags
26050 #~(list "-skip" (string-join
26051 ;; Network access is required.
26052 (list "TestLogDirectPathMisconfigAttrempDirectPathNotSet"
26053 "TestLogDirectPathMisconfigNotOnGCE"
26054 "TestNewClient"
26055 "TestNewTokenSource")
26056 "|"))
26057 #:phases
26058 #~(modify-phases %standard-phases
26059 (add-after 'unpack 'remove-integration-tests
26060 (lambda* (#:key import-path #:allow-other-keys)
26061 ;; Tests require network access and credential to reach external
26062 ;; API.
26063 (with-directory-excursion (string-append "src/" import-path)
26064 (delete-file-recursively "integration-tests")))))))
26065 (propagated-inputs
26066 (list go-cloud-google-com-go-auth
26067 go-cloud-google-com-go-auth-oauth2adapt
26068 go-cloud-google-com-go-compute-metadata
26069 go-github-com-google-go-cmp
26070 go-github-com-google-s2a-go
26071 go-github-com-google-uuid
26072 go-github-com-googleapis-enterprise-certificate-proxy
26073 go-github-com-googleapis-gax-go-v2
26074 go-go-opentelemetry-io-contrib-instrumentation-google-golang-org-grpc-otelgrpc
26075 go-go-opentelemetry-io-contrib-instrumentation-net-http-otelhttp
26076 go-golang-org-x-net
26077 go-golang-org-x-oauth2
26078 go-golang-org-x-sync
26079 go-golang-org-x-time
26080 go-google-golang-org-genproto-googleapis-bytestream
26081 go-google-golang-org-genproto-googleapis-rpc
26082 go-google-golang-org-grpc
26083 go-google-golang-org-protobuf))
26084 (home-page "https://google.golang.org/api/")
26085 (synopsis "Google APIs Client Library for Golang")
26086 (description
26087 "Package api is the root of the packages used to access
26088@url{https://godoc.org/google.golang.org/api, Google Cloud Services}.")
26089 (license license:bsd-3)))
26090
26091(define-public go-google-golang-org-genproto
26092 (package
26093 (name "go-google-golang-org-genproto")
26094 (version "0.0.0-20260226221140-a57be14db171")
26095 (source
26096 (origin
26097 (method git-fetch)
26098 (uri (git-reference
26099 (url "https://github.com/googleapis/go-genproto")
26100 (commit (go-version->git-ref version))))
26101 (file-name (git-file-name name version))
26102 (sha256
26103 (base32 "0y0gc5x6bfs2iq27pq510zwspaccplds4sa5zs40vkhw90ikmvy5"))
26104 (modules '((guix build utils)))
26105 (snippet
26106 #~(begin
26107 ;; Submodules with their own go.mod files and packaged separately:
26108 ;;
26109 (delete-file-recursively "googleapis/api")
26110 (delete-file-recursively "googleapis/bytestream")
26111 (delete-file-recursively "googleapis/rpc")))))
26112 (build-system go-build-system)
26113 (arguments
26114 (list
26115 #:skip-build? #t
26116 #:tests? #f ;no tests
26117 #:import-path "google.golang.org/genproto"))
26118 (propagated-inputs
26119 (list go-cloud-google-com-go ;keep here until all inputs are available
26120 ;; go-cloud-google-com-go-accessapproval
26121 ;; go-cloud-google-com-go-accesscontextmanager
26122 ;; go-cloud-google-com-go-aiplatform
26123 ;; go-cloud-google-com-go-analytics
26124 ;; go-cloud-google-com-go-apigateway
26125 ;; go-cloud-google-com-go-apigeeconnect
26126 ;; go-cloud-google-com-go-apigeeregistry
26127 ;; go-cloud-google-com-go-appengine
26128 ;; go-cloud-google-com-go-area120
26129 ;; go-cloud-google-com-go-artifactregistry
26130 ;; go-cloud-google-com-go-asset
26131 ;; go-cloud-google-com-go-assuredworkloads
26132 ;; go-cloud-google-com-go-automl
26133 ;; go-cloud-google-com-go-baremetalsolution
26134 ;; go-cloud-google-com-go-batch
26135 ;; go-cloud-google-com-go-beyondcorp
26136 ;; go-cloud-google-com-go-bigquery
26137 ;; go-cloud-google-com-go-bigtable
26138 ;; go-cloud-google-com-go-billing
26139 ;; go-cloud-google-com-go-binaryauthorization
26140 ;; go-cloud-google-com-go-certificatemanager
26141 ;; go-cloud-google-com-go-channel
26142 ;; go-cloud-google-com-go-cloudbuild
26143 ;; go-cloud-google-com-go-clouddms
26144 ;; go-cloud-google-com-go-cloudtasks
26145 ;; go-cloud-google-com-go-compute
26146 ;; go-cloud-google-com-go-contactcenterinsights
26147 ;; go-cloud-google-com-go-container
26148 ;; go-cloud-google-com-go-containeranalysis
26149 ;; go-cloud-google-com-go-datacatalog
26150 ;; go-cloud-google-com-go-dataflow
26151 ;; go-cloud-google-com-go-dataform
26152 ;; go-cloud-google-com-go-datafusion
26153 ;; go-cloud-google-com-go-datalabeling
26154 ;; go-cloud-google-com-go-dataplex
26155 ;; go-cloud-google-com-go-dataproc-v2
26156 ;; go-cloud-google-com-go-dataqna
26157 ;; go-cloud-google-com-go-datastore
26158 ;; go-cloud-google-com-go-datastream
26159 ;; go-cloud-google-com-go-deploy
26160 ;; go-cloud-google-com-go-dialogflow
26161 ;; go-cloud-google-com-go-dlp
26162 ;; go-cloud-google-com-go-documentai
26163 ;; go-cloud-google-com-go-domains
26164 ;; go-cloud-google-com-go-edgecontainer
26165 ;; go-cloud-google-com-go-errorreporting
26166 ;; go-cloud-google-com-go-essentialcontacts
26167 ;; go-cloud-google-com-go-eventarc
26168 ;; go-cloud-google-com-go-filestore
26169 ;; go-cloud-google-com-go-firestore
26170 ;; go-cloud-google-com-go-functions
26171 ;; go-cloud-google-com-go-gkebackup
26172 ;; go-cloud-google-com-go-gkeconnect
26173 ;; go-cloud-google-com-go-gkehub
26174 ;; go-cloud-google-com-go-gkemulticloud
26175 ;; go-cloud-google-com-go-gsuiteaddons
26176 ;; go-cloud-google-com-go-iam
26177 ;; go-cloud-google-com-go-iap
26178 ;; go-cloud-google-com-go-ids
26179 ;; go-cloud-google-com-go-iot
26180 ;; go-cloud-google-com-go-kms
26181 ;; go-cloud-google-com-go-language
26182 ;; go-cloud-google-com-go-lifesciences
26183 ;; go-cloud-google-com-go-logging
26184 ;; go-cloud-google-com-go-longrunning
26185 ;; go-cloud-google-com-go-managedidentities
26186 ;; go-cloud-google-com-go-maps
26187 ;; go-cloud-google-com-go-mediatranslation
26188 ;; go-cloud-google-com-go-memcache
26189 ;; go-cloud-google-com-go-metastore
26190 ;; go-cloud-google-com-go-monitoring
26191 ;; go-cloud-google-com-go-networkconnectivity
26192 ;; go-cloud-google-com-go-networkmanagement
26193 ;; go-cloud-google-com-go-networksecurity
26194 ;; go-cloud-google-com-go-notebooks
26195 ;; go-cloud-google-com-go-optimization
26196 ;; go-cloud-google-com-go-orchestration
26197 ;; go-cloud-google-com-go-orgpolicy
26198 ;; go-cloud-google-com-go-osconfig
26199 ;; go-cloud-google-com-go-oslogin
26200 ;; go-cloud-google-com-go-phishingprotection
26201 ;; go-cloud-google-com-go-policytroubleshooter
26202 ;; go-cloud-google-com-go-privatecatalog
26203 ;; go-cloud-google-com-go-pubsub
26204 ;; go-cloud-google-com-go-pubsublite
26205 ;; go-cloud-google-com-go-recaptchaenterprise-v2
26206 ;; go-cloud-google-com-go-recommendationengine
26207 ;; go-cloud-google-com-go-recommender
26208 ;; go-cloud-google-com-go-redis
26209 ;; go-cloud-google-com-go-resourcemanager
26210 ;; go-cloud-google-com-go-resourcesettings
26211 ;; go-cloud-google-com-go-retail
26212 ;; go-cloud-google-com-go-run
26213 ;; go-cloud-google-com-go-scheduler
26214 ;; go-cloud-google-com-go-secretmanager
26215 ;; go-cloud-google-com-go-security
26216 ;; go-cloud-google-com-go-securitycenter
26217 ;; go-cloud-google-com-go-servicedirectory
26218 ;; go-cloud-google-com-go-shell
26219 ;; go-cloud-google-com-go-spanner
26220 ;; go-cloud-google-com-go-speech
26221 ;; go-cloud-google-com-go-storagetransfer
26222 ;; go-cloud-google-com-go-talent
26223 ;; go-cloud-google-com-go-texttospeech
26224 ;; go-cloud-google-com-go-tpu
26225 ;; go-cloud-google-com-go-trace
26226 ;; go-cloud-google-com-go-translate
26227 ;; go-cloud-google-com-go-video
26228 ;; go-cloud-google-com-go-videointelligence
26229 ;; go-cloud-google-com-go-vision-v2
26230 ;; go-cloud-google-com-go-vmmigration
26231 ;; go-cloud-google-com-go-vmwareengine
26232 ;; go-cloud-google-com-go-vpcaccess
26233 ;; go-cloud-google-com-go-webrisk
26234 ;; go-cloud-google-com-go-websecurityscanner
26235 ;; go-cloud-google-com-go-workflows
26236 go-github-com-golang-protobuf
26237 go-google-golang-org-genproto-googleapis-api
26238 go-google-golang-org-genproto-googleapis-rpc
26239 go-google-golang-org-grpc
26240 go-google-golang-org-protobuf))
26241 (home-page "https://google.golang.org/genproto")
26242 (synopsis "Go proto packages")
26243 (description
26244 "This repository contains the Go packages for common protocol buffer
26245types, and the generated @url{http://grpc.io, @code{gRPC}} code necessary for
26246interacting with Google's @code{gRPC} APIs.")
26247 (license license:asl2.0)))
26248
26249(define-public go-google-golang-org-genproto-googleapis-api
26250 (package
26251 (name "go-google-golang-org-genproto-googleapis-api")
26252 (version "0.0.0-20250519155744-55703ea1f237")
26253 (source
26254 (origin
26255 (method git-fetch)
26256 (uri (git-reference
26257 (url "https://github.com/googleapis/go-genproto")
26258 (commit (go-version->git-ref version #:subdir "googleapis/api"))))
26259 (modules '((guix build utils)))
26260 (snippet
26261 #~(begin
26262 ;; Submodules with their own go.mod files and packaged separately:
26263 ;;
26264 ;; - google.golang.org/genproto/googleapis/api/apikeys
26265 ;; - google.golang.org/genproto/googleapis/api/servicecontrol
26266 ;; - google.golang.org/genproto/googleapis/api/servicemanagement
26267 ;; - google.golang.org/genproto/googleapis/api/serviceusage
26268 (for-each delete-file-recursively
26269 (list "googleapis/api/apikeys"
26270 "googleapis/api/servicecontrol"
26271 "googleapis/api/servicemanagement"
26272 "googleapis/api/serviceusage"))
26273 (delete-all-but "googleapis" "api")
26274 (delete-all-but "." "googleapis")))
26275 (file-name (git-file-name name version))
26276 (sha256
26277 (base32 "1ilf95lhx7930cqx2hmswxasxyxjz3xmbznd0cfcglzdl3d9k4rk"))))
26278 (build-system go-build-system)
26279 (arguments
26280 (list
26281 #:import-path "google.golang.org/genproto/googleapis/api"
26282 #:unpack-path "google.golang.org/genproto"))
26283 (propagated-inputs
26284 (list go-google-golang-org-genproto-googleapis-rpc
26285 go-google-golang-org-grpc
26286 go-google-golang-org-protobuf))
26287 (home-page "https://github.com/googleapis/go-genproto")
26288 (synopsis "API implementation of Google Cloud Platform in Golang")
26289 (description
26290 "This package provides an API to interact with @acronym{GCP, Google Cloud Platform}.")
26291 (license license:asl2.0)))
26292
26293(define-public go-google-golang-org-genproto-googleapis-bytestream
26294 (package
26295 (name "go-google-golang-org-genproto-googleapis-bytestream")
26296 (version "0.0.0-20260316180232-0b37fe3546d5")
26297 (source
26298 (origin
26299 (method git-fetch)
26300 (uri (git-reference
26301 (url "https://github.com/googleapis/go-genproto")
26302 (commit (go-version->git-ref version))))
26303 (file-name (git-file-name name version))
26304 (sha256
26305 (base32 "0yvcd9xiyarwmzgl70xqiaxxla3qiys1iysqajwmbrf8k4ghr26p"))
26306 (modules '((guix build utils)))
26307 (snippet
26308 #~(begin
26309 (delete-all-but "googleapis" "bytestream")
26310 (delete-all-but "." "googleapis")))))
26311 (build-system go-build-system)
26312 (arguments
26313 (list
26314 #:import-path "google.golang.org/genproto/googleapis/bytestream"
26315 #:unpack-path "google.golang.org/genproto"))
26316 (propagated-inputs
26317 (list go-google-golang-org-grpc
26318 go-google-golang-org-protobuf))
26319 (home-page "https://google.golang.org/genproto")
26320 (synopsis "Bytestream implementation of Google Cloud Platform in Golang")
26321 (description
26322 "This package provides an Bytestream to interact with @acronym{GCP,
26323Google Cloud Platform}.")
26324 (license license:asl2.0)))
26325
26326(define-public go-google-golang-org-grpc
26327 (package
26328 (name "go-google-golang-org-grpc")
26329 (version "1.69.2")
26330 (source
26331 (origin
26332 (method git-fetch)
26333 (uri (git-reference
26334 (url "https://github.com/grpc/grpc-go")
26335 (commit (string-append "v" version))))
26336 (file-name (git-file-name name version))
26337 (sha256
26338 (base32 "0bvwnhgg04zhzwb9pxsv3n0c96hci5mdnpdaxr4ggy2m28df2q6m"))
26339 (modules '((guix build utils)))
26340 (snippet
26341 #~(begin
26342 ;; Submodules with their own go.mod files and packaged separately:
26343 ;;
26344 ;; - google.golang.org/grpc/cmd/protoc-gen-go-grpc
26345 ;; - google.golang.org/grpc/examples
26346 ;; - google.golang.org/grpc/gcp/observability
26347 ;; - google.golang.org/grpc
26348 ;; - google.golang.org/grpc/interop/observability
26349 ;; - google.golang.org/grpc/interop/xds
26350 ;; - google.golang.org/grpc/security/advancedtls/examples
26351 ;; - google.golang.org/grpc/security/advancedtls
26352 ;; - google.golang.org/grpc/stats/opencensus
26353 ;; - google.golang.org/grpc/test/tools
26354 (for-each delete-file-recursively
26355 (list "cmd/protoc-gen-go-grpc"
26356 "examples"
26357 "gcp/observability"
26358 "interop/observability"
26359 "interop/xds"
26360 "security/advancedtls/examples"
26361 "security/advancedtls"
26362 "stats/opencensus"
26363 "test/tools"))))))
26364 (build-system go-build-system)
26365 (arguments
26366 (list
26367 #:tests? #f ; TODO: full test suite needs more packages
26368 #:import-path "google.golang.org/grpc"))
26369 (propagated-inputs
26370 (list go-github-com-cespare-xxhash-v2
26371 ;; go-github-com-cncf-xds-go
26372 ;; go-github-com-envoyproxy-go-control-plane
26373 ;; go-github-com-envoyproxy-go-control-plane-envoy
26374 go-github-com-golang-glog
26375 go-github-com-golang-protobuf
26376 go-github-com-google-go-cmp
26377 go-github-com-google-uuid
26378 ;; go-go-opentelemetry-io-contrib-detectors-gcp
26379 go-go-opentelemetry-io-otel
26380 go-go-opentelemetry-io-otel-metric
26381 go-go-opentelemetry-io-otel-sdk
26382 go-go-opentelemetry-io-otel-sdk-metric
26383 go-go-opentelemetry-io-otel-trace
26384 go-golang-org-x-net
26385 go-golang-org-x-oauth2
26386 go-golang-org-x-sync
26387 go-golang-org-x-sys
26388 go-google-golang-org-genproto-googleapis-rpc
26389 go-google-golang-org-protobuf))
26390 (home-page "https://google.golang.org/grpc")
26391 (synopsis "Golang implementation of gRPC - HTTP/2 based RPC")
26392 (description
26393 "Package grpc implements an RPC system called @code{gRPC}.")
26394 (license license:asl2.0)))
26395
26396(define-public go-google-golang-org-grpc-cmd-protoc-gen-go-grpc
26397 (package
26398 (name "go-google-golang-org-grpc-cmd-protoc-gen-go-grpc")
26399 (version "1.5.1")
26400 (source
26401 (origin
26402 (method git-fetch)
26403 (uri (git-reference
26404 (url "https://github.com/grpc/grpc-go")
26405 (commit (go-version->git-ref version
26406 #:subdir "cmd/protoc-gen-go-grpc"))))
26407 (file-name (git-file-name name version))
26408 (sha256
26409 (base32 "0yn1ir5y0wc91q95ngr3dlz2cyhp0wlb9l30hkw2cr34r38hq19w"))
26410 (modules '((guix build utils)))
26411 (snippet
26412 #~(begin (delete-all-but "." "cmd")))))
26413 (build-system go-build-system)
26414 (arguments
26415 (list
26416 #:skip-build? #t
26417 #:import-path "google.golang.org/grpc/cmd/protoc-gen-go-grpc"
26418 #:unpack-path "google.golang.org/grpc"))
26419 (propagated-inputs
26420 (list go-google-golang-org-grpc
26421 go-google-golang-org-protobuf))
26422 (home-page "https://google.golang.org/grpc")
26423 (synopsis "Generate Go bindings of gRPC's services in protobuf definition files")
26424 (description
26425 "This package provides a plugin for the Google protocol buffer compiler to
26426generate Go code.")
26427 (license license:asl2.0)))
26428
26429(define-public go-google-golang-org-grpc-examples
26430 (package
26431 (name "go-google-golang-org-grpc-examples")
26432 (version "0.0.0-20260408163837-74b3acd1a801")
26433 (source
26434 (origin
26435 (method git-fetch)
26436 (uri (git-reference
26437 (url "https://github.com/grpc/grpc-go")
26438 (commit (go-version->git-ref version #:subdir "examples"))))
26439 (file-name (git-file-name name version))
26440 (sha256
26441 (base32 "1p7h51pm4r8gfxaimvkmkwk0ii4rvhs6p6shvs3qaig86wg1rxwb"))
26442 (modules '((guix build utils)))
26443 (snippet #~(delete-all-but "." "examples"))))
26444 (build-system go-build-system)
26445 (arguments
26446 (list
26447 #:skip-build? #t
26448 #:tests? #f ;TODO: some packages cycle
26449 #:import-path "google.golang.org/grpc/examples"
26450 #:unpack-path "google.golang.org/grpc"))
26451 (propagated-inputs
26452 (list go-github-com-cncf-xds-go
26453 go-github-com-prometheus-client-golang
26454 go-go-opentelemetry-io-otel
26455 go-go-opentelemetry-io-otel-exporters-prometheus
26456 go-go-opentelemetry-io-otel-exporters-stdout-stdouttrace
26457 go-go-opentelemetry-io-otel-sdk
26458 go-go-opentelemetry-io-otel-sdk-metric
26459 go-golang-org-x-oauth2
26460 go-google-golang-org-genproto-googleapis-rpc
26461 go-google-golang-org-grpc-security-advancedtls
26462 go-google-golang-org-protobuf))
26463 (home-page "https://google.golang.org/grpc")
26464 (synopsis "Collection of gRPC examples in Golang")
26465 (description
26466 "This package provides examples to help users get started with @code{gRPC-Go}.
26467
26468They are arranged as follows:
26469@itemize
26470@item @code{helloworld} - a simple example showing a basic client and server
26471@item @code{routeguide} - a more complicated example showing different types
26472of streaming RPCs
26473@item @code{features} - a collection of examples, each focused on a single
26474gRPC feature
26475@end itemize
26476
26477@code{data} is a directory containing data used by the examples, e.g. TLS
26478certificates.")
26479 (license license:asl2.0)))
26480
26481(define-public go-google-golang-org-grpc-security-advancedtls
26482 (package
26483 (name "go-google-golang-org-grpc-security-advancedtls")
26484 (version "1.0.0")
26485 (source
26486 (origin
26487 (method git-fetch)
26488 (uri (git-reference
26489 (url "https://github.com/grpc/grpc-go")
26490 (commit (go-version->git-ref version
26491 #:subdir "security/advancedtls"))))
26492 (file-name (git-file-name name version))
26493 (sha256
26494 (base32 "1xkqjian41falr0h8sicx2vdajf1zxcrkqiz5p2g7mmm8gcb6l4w"))))
26495 (build-system go-build-system)
26496 (arguments
26497 (list
26498 #:import-path "google.golang.org/grpc/security/advancedtls"
26499 #:unpack-path "google.golang.org/grpc"
26500 #:test-flags
26501 #~(list "-vet=off"
26502 "-skip" "Test/ClientServerHandshake")))
26503 (native-inputs
26504 (list go-google-golang-org-genproto-googleapis-rpc
26505 go-golang-org-x-net))
26506 (propagated-inputs
26507 (list go-github-com-google-go-cmp
26508 go-golang-org-x-crypto
26509 go-google-golang-org-protobuf))
26510 (home-page "https://google.golang.org/grpc")
26511 (synopsis "Go package for gRPC transport credentials")
26512 (description
26513 "Package advancedtls provides gRPC transport credentials that allow easy
26514configuration of advanced TLS features. For example, periodic credential
26515reloading,support for certificate revocation lists, and customizable
26516certificate verification behaviors.")
26517 (license license:asl2.0)))
26518
26519;; This to satisfy alternative import path, some of the projects still use it
26520;; in go.mod.
26521(define-public go-gopkg-in-evanphx-json-patch-v4
26522 (package/inherit go-github-com-evanphx-json-patch
26523 (name "go-gopkg-in-evanphx-json-patch-v4")
26524 (arguments
26525 (substitute-keyword-arguments
26526 (package-arguments go-github-com-evanphx-json-patch)
26527 ((#:import-path "github.com/evanphx/json-patch")
26528 "gopkg.in/evanphx/json-patch.v4")
26529 ((#:unpack-path "github.com/evanphx/json-patch")
26530 "gopkg.in/evanphx/json-patch.v4")
26531 ((#:phases _ '%standard-phases)
26532 #~(modify-phases %standard-phases
26533 (add-after 'unpack 'remove-v5-module
26534 (lambda* (#:key import-path #:allow-other-keys)
26535 (delete-file-recursively
26536 (string-append "src/" import-path "/v5"))))
26537 (add-before 'build 'adjust-import-path
26538 (lambda* (#:key import-path #:allow-other-keys)
26539 (with-directory-excursion (string-append "src/" import-path)
26540 (substitute* (find-files "." "\\.go$")
26541 (("github.com/evanphx/json-patch") import-path)))))))))))
26542
26543(define-public go-gopkg-in-go-jose-go-jose-v2
26544 (package
26545 (inherit go-github-com-go-jose-go-jose-v3)
26546 (name "go-gopkg-in-go-jose-go-jose-v2")
26547 (version "2.6.3")
26548 (source
26549 (origin
26550 (method git-fetch)
26551 (uri (git-reference
26552 (url "https://github.com/go-jose/go-jose")
26553 (commit (string-append "v" version))))
26554 (file-name (git-file-name name version))
26555 (sha256
26556 (base32 "0frg4g9gyqdgf7h0xai9771a47ndb0zqbw0rp5yk0dswsq1vk4kq"))))
26557 (arguments
26558 (substitute-keyword-arguments
26559 (package-arguments go-github-com-go-jose-go-jose-v3)
26560 ((#:import-path _) "gopkg.in/go-jose/go-jose.v2")))
26561 (propagated-inputs
26562 (list go-golang-org-x-crypto
26563 go-gopkg-in-alecthomas-kingpin-v2))))
26564
26565(define-public go-gopkg-in-gomail-v2
26566 (package
26567 (name "go-gopkg-in-gomail-v2")
26568 (properties '((commit . "81ebce5c23dfd25c6c67194b37d3dd3f338c98b1")
26569 (revision . "0")))
26570 (version (git-version "2.0.0"
26571 (assoc-ref properties 'revision)
26572 (assoc-ref properties 'commit)))
26573 (source
26574 (origin
26575 (method git-fetch)
26576 (uri (git-reference
26577 (url "https://github.com/go-gomail/gomail")
26578 (commit (assoc-ref properties 'commit))))
26579 (file-name (git-file-name name version))
26580 (sha256
26581 (base32 "0zdykrv5s19lnq0g49p6njldy4cpk4g161vyjafiw7f84h8r28mc"))))
26582 (build-system go-build-system)
26583 (arguments
26584 (list
26585 #:import-path "gopkg.in/gomail.v2"
26586 ;; Test fails to compare email headers.
26587 #:test-flags #~(list "-skip" "TestAttachments")))
26588 (home-page "https://github.com/go-gomail/gomail")
26589 (synopsis "The best way to send emails in Go")
26590 (description
26591 "Gomail is a simple and efficient package to send emails. It is well
26592tested and documented. Gomail can only send emails using an SMTP server. But
26593the API is flexible and it is easy to implement other methods for sending
26594emails using a local Postfix, an API, etc.")
26595 (license license:expat)))
26596
26597;; This to satisfy alternative import path.
26598(define-public go-gopkg-in-jcmturner-rpc-v1
26599 (package
26600 (inherit go-github-com-jcmturner-rpc)
26601 (name "go-gopkg-in-jcmturner-rpc-v1")
26602 (arguments
26603 (substitute-keyword-arguments
26604 (package-arguments go-github-com-jcmturner-rpc)
26605 ((#:import-path _) "gopkg.in/jcmturner/rpc.v1")))))
26606
26607;; This to satisfy alternative import path.
26608(define-public go-gopkg-in-jcmturner-rpc-v2
26609 (package
26610 (inherit go-github-com-jcmturner-rpc-v2)
26611 (name "go-gopkg-in-jcmturner-rpc-v2")
26612 (arguments
26613 (substitute-keyword-arguments
26614 (package-arguments go-github-com-jcmturner-rpc-v2)
26615 ((#:tests? _ #t) #f)
26616 ((#:import-path _) "gopkg.in/jcmturner/rpc.v2")))))
26617
26618(define-public go-gopkg-in-telebot-v3
26619 (package
26620 (name "go-gopkg-in-telebot-v3")
26621 (version "3.3.8")
26622 (source
26623 (origin
26624 (method git-fetch)
26625 (uri (git-reference
26626 (url "https://github.com/go-telebot/telebot")
26627 (commit (string-append "v" version))))
26628 (file-name (git-file-name name version))
26629 (sha256
26630 (base32 "0l6gl31jd1i5im037ra5qd0sd2acwk09idh89b7d97j34y2a8bv6"))))
26631 (build-system go-build-system)
26632 (arguments
26633 (list
26634 #:import-path "gopkg.in/telebot.v3"))
26635 (native-inputs
26636 (list go-github-com-stretchr-testify))
26637 (propagated-inputs
26638 (list go-github-com-goccy-go-yaml
26639 go-github-com-spf13-viper))
26640 (home-page "https://github.com/go-telebot/telebot")
26641 (synopsis "Telegram bot framework in Golang")
26642 (description
26643 "Telebot is a bot framework for @url{https://core.telegram.org/bots/api,
26644Telegram Bot API}. This package provides the best of its kind API for command
26645routing, inline query requests and keyboards, as well as callbacks.")
26646 (license license:expat)))
26647
26648(define-public go-gvisor-dev-gvisor-source
26649 (let ((commit "9414b50a5633100fd7299a5a7998742575dcb669")
26650 (revision "1"))
26651 (package
26652 (name "go-gvisor-dev-gvisor-source")
26653 (version (git-version "0.0.0" revision commit))
26654 (source
26655 (origin
26656 (method git-fetch)
26657 (uri (git-reference
26658 (url "https://github.com/google/gvisor")
26659 (commit commit)))
26660 (file-name (git-file-name name version))
26661 (sha256
26662 (base32 "0vqaclb2ignkcs7n463bj349m0xybdsv71i6afhzh8r05hdywzax"))
26663 (modules '((guix build utils)))
26664 (snippet
26665 #~(begin
26666 (for-each delete-file (find-files "." "^(BUILD|.*_test\\.go)$"))))))
26667 (build-system go-build-system)
26668 (arguments
26669 (list
26670 #:skip-build? #t
26671 #:tests? #f
26672 #:import-path "gvisor.dev/gvisor"))
26673 (propagated-inputs
26674 (list go-github-com-google-btree
26675 go-golang-org-x-time))
26676 (home-page "https://gvisor.dev/gvisor")
26677 (synopsis "Application Kernel for Containers")
26678 (description
26679 "This package provides source of @code{gvisor.dev/gvisor}.")
26680 (license license:asl2.0)
26681 ;; Older source package for wirerguard-go, yggdrasil, nebula, and nncp
26682 ;; which use only it's "pkg/tcpip" part.
26683 (properties '((hidden? . #t))))))
26684
26685(define-public go-h12-io-socks
26686 (package
26687 (name "go-h12-io-socks")
26688 (version "1.0.3")
26689 (source
26690 (origin
26691 (method git-fetch)
26692 (uri (git-reference
26693 (url "https://github.com/h12w/socks")
26694 (commit (string-append "v" version))))
26695 (file-name (git-file-name name version))
26696 (sha256
26697 (base32 "1z05aa8j9p5hmbgmxsql1dx3b2vmy5zzz3629pbbs5517rlbc0v8"))))
26698 (build-system go-build-system)
26699 (arguments
26700 (list
26701 #:import-path "h12.io/socks"
26702 #:test-flags
26703 #~(list "-vet=off")))
26704 (native-inputs
26705 (list go-github-com-h12w-go-socks5))
26706 (propagated-inputs
26707 (list go-github-com-phayes-freeport))
26708 (home-page "https://h12.io/socks")
26709 (synopsis "SOCKS proxy client implementation")
26710 (description
26711 "This package provides a proxy client for Go supporting SOCKS4, SOCKS4A
26712and SOCKS5.")
26713 (license license:bsd-2)))
26714
26715(define-public go-k8s-io-cri-api
26716 (package
26717 (name "go-k8s-io-cri-api")
26718 (version "0.32.3")
26719 (source
26720 (origin
26721 (method git-fetch)
26722 (uri (git-reference
26723 (url "https://github.com/kubernetes/cri-api")
26724 (commit (string-append "v" version))))
26725 (file-name (git-file-name name version))
26726 (sha256
26727 (base32 "0wzqf8860xp0k1y6csrksh37alzz3ksagwl3bv67r4x602l0zadv"))))
26728 (build-system go-build-system)
26729 (arguments
26730 (list
26731 #:import-path "k8s.io/cri-api"))
26732 (native-inputs
26733 (list go-github-com-stretchr-testify))
26734 (propagated-inputs
26735 (list go-github-com-gogo-protobuf
26736 go-google-golang-org-grpc))
26737 (home-page "https://github.com/kubernetes/cri-api")
26738 (synopsis "Container Runtime Interface a plugin interface")
26739 (description
26740 "This package provides the definitions for the Container Runtime
26741Interface (CRI). CRI is a plugin interface which enables kubelet to use a
26742wide variety of container runtimes, without the need to recompile. CRI
26743consists of a protocol buffers and @code{gRPC} API. Read more about CRI API at
26744@@url{https://kubernetes.io/docs/concepts/architecture/cri/,kubernetes
26745docs}.")
26746 (license license:asl2.0)))
26747
26748(define-public go-k8s-io-kms
26749 (package
26750 (name "go-k8s-io-kms")
26751 (version "0.35.1")
26752 (source
26753 (origin
26754 (method git-fetch)
26755 (uri (git-reference
26756 (url "https://github.com/kubernetes/kms")
26757 (commit (string-append "v" version))))
26758 (file-name (git-file-name name version))
26759 (sha256
26760 (base32 "03xq8scdg4qjhc4gjnl3z3b1f4lv75i07jx7klpcmzr6cdws3kk8"))))
26761 (build-system go-build-system)
26762 (arguments
26763 (list
26764 #:import-path "k8s.io/kms"))
26765 (propagated-inputs
26766 (list go-google-golang-org-grpc
26767 go-google-golang-org-protobuf))
26768 (home-page "https://github.com/kubernetes/kms")
26769 (synopsis "Kubernetes KMS implementation")
26770 (description
26771 "This package provides proto definitions for the @acronym{KMS, Key
26772Management Services} API.")
26773 (license license:asl2.0)))
26774
26775(define-public go-k8s-io-kube-openapi
26776 (package
26777 (name "go-k8s-io-kube-openapi")
26778 (version "0.0.0-20250910181357-589584f1c912")
26779 ;; XXX: Unbundle third_party in pkg.
26780 (source
26781 (origin
26782 (method git-fetch)
26783 (uri (git-reference
26784 (url "https://github.com/kubernetes/kube-openapi")
26785 (commit (go-version->git-ref version))))
26786 (file-name (git-file-name name version))
26787 (sha256
26788 (base32 "1appaqgllddcl6kxkz3azix0xhlzy093vvxi6y3im1mkf5zblwl7"))
26789 (modules '((guix build utils)))
26790 (snippet
26791 #~(begin
26792 (delete-file-recursively "test")))))
26793 (build-system go-build-system)
26794 (arguments
26795 (list
26796 #:skip-build? #t
26797 #:import-path "k8s.io/kube-openapi"
26798 #:test-flags
26799 ;; [email protected] forces vet, but tests are not ready yet.
26800 #~(list "-vet=off"
26801 ;; It tries to regenerate the test data.
26802 "-skip" "TestGenerators")))
26803 (native-inputs
26804 (list go-github-com-onsi-ginkgo-v2
26805 go-github-com-onsi-gomega
26806 go-github-com-stretchr-testify
26807 go-golang-org-x-tools-go-packages-packagestest
26808 go-k8s-io-kube-openapi-test-integration
26809 go-sigs-k8s-io-yaml))
26810 (propagated-inputs
26811 (list go-github-com-emicklei-go-restful-v3
26812 go-github-com-go-openapi-jsonreference
26813 go-github-com-go-openapi-swag
26814 go-github-com-google-gnostic-models
26815 go-github-com-google-go-cmp
26816 go-github-com-google-uuid
26817 go-github-com-munnerz-goautoneg
26818 go-github-com-nytimes-gziphandler
26819 go-github-com-spf13-pflag
26820 go-github-com-stretchr-testify
26821 go-go-yaml-in-yaml-v2
26822 go-go-yaml-in-yaml-v3
26823 go-golang-org-x-tools
26824 go-google-golang-org-protobuf
26825 go-k8s-io-gengo-v2
26826 go-k8s-io-klog-v2
26827 go-k8s-io-utils
26828 go-sigs-k8s-io-json
26829 go-sigs-k8s-io-randfill
26830 go-sigs-k8s-io-structured-merge-diff-v6))
26831 (home-page "https://github.com/kubernetes/kube-openapi")
26832 (synopsis "Kubernetes OpenAPI spec generation & serving")
26833 (description
26834 "This package implements a Kubernetes OpenAPI discovery spec generation,
26835providing support a subset of OpenAPI features to satisfy kubernetes use-cases
26836but implement that subset with little to no assumption about the structure of
26837the code or routes.")
26838 (license license:asl2.0)))
26839
26840(define-public go-k8s-io-kube-openapi-test-integration
26841 (package
26842 (name "go-k8s-io-kube-openapi-test-integration")
26843 (version "0.0.0-20250910181357-589584f1c912")
26844 (source
26845 (origin
26846 (method git-fetch)
26847 (uri (git-reference
26848 (url "https://github.com/kubernetes/kube-openapi")
26849 (commit (go-version->git-ref version
26850 #:subdir "test/integration"))))
26851 (file-name (git-file-name name version))
26852 (sha256
26853 (base32 "1appaqgllddcl6kxkz3azix0xhlzy093vvxi6y3im1mkf5zblwl7"))
26854 (modules '((guix build utils)))
26855 (snippet
26856 #~(begin (delete-all-but "." "test")))))
26857 (build-system go-build-system)
26858 (arguments
26859 (list
26860 #:skip-build? #t
26861 #:tests? #f
26862 #:import-path "k8s.io/kube-openapi/test/integration"
26863 #:unpack-path "k8s.io/kube-openapi"))
26864 (propagated-inputs
26865 (list go-github-com-emicklei-go-restful-v3
26866 go-github-com-getkin-kin-openapi
26867 go-k8s-io-utils))
26868 (home-page "https://k8s.io/kube-openapi")
26869 (synopsis "Kube OpenAPI Integration Tests")
26870 (description
26871 "This package providies integration tests module for
26872@code{k8s.io/kube-openapi}.")
26873 (license license:asl2.0)))
26874
26875(define-public go-maunium-net-go-mautrix
26876 (package
26877 (name "go-maunium-net-go-mautrix")
26878 (version "0.30.0")
26879 (source
26880 (origin
26881 (method git-fetch)
26882 (uri (git-reference
26883 (url "https://github.com/mautrix/go")
26884 (commit (string-append "v" version))))
26885 (file-name (git-file-name name version))
26886 (sha256
26887 (base32 "1fn2j2dqs0k96lnsiwv2x1vzwl83c06nsihgi3hl1ib8sr3q77aq"))))
26888 (build-system go-build-system)
26889 (arguments
26890 (list
26891 #:import-path "maunium.net/go/mautrix"
26892 #:embed-files
26893 #~(list
26894 ;; golang.org/x/net/publicsuffix/table.go:63:12: pattern
26895 ;; data/children: cannot embed irregular file data/children
26896 "children"
26897 ;; golang.org/x/net/publicsuffix/table.go:48:12: pattern data/nodes:
26898 ;; cannot embed irregular file data/nodes
26899 "nodes"
26900 ;; golang.org/x/net/publicsuffix/table.go:33:12: pattern data/text:
26901 ;; cannot embed irregular file data/text
26902 "text")
26903 #:test-flags
26904 #~(list "-skip" (string-join
26905 ;; Network access is required for the tets.
26906 (list "TestCrossSignVerification_ScanQRAndConfirmScan"
26907 "TestSelfVerification_Accept_QRContents"
26908 "TestSelfVerification_ScanQRAndConfirmScan"
26909 "TestSelfVerification_ScanQRTransactionIDCorrup"
26910 "TestSelfVerification_ScanQRKeyCorrupted"
26911 "TestVerification_SAS"
26912 "TestVerification_SAS_BothCallStart"
26913 "TestVerification_Start"
26914 "TestVerification_StartThenCancel"
26915 "TestVerification_Accept_NoSupportedMethods"
26916 "TestVerification_Accept_CorrectMethodsPresented"
26917 "TestVerification_Accept_CancelOnNonParticipati"
26918 "TestVerification_ErrorOnDoubleAccept"
26919 "TestVerification_CancelOnDoubleStart"
26920 "TestClient_Version"
26921 "TestResolveServerName"
26922 "TestServerKeyResponse_VerifySelfSignature"
26923 "TestServerKeyResponse_FailWithFilter")
26924 "|"))))
26925 (propagated-inputs
26926 (list go-filippo-io-edwards25519
26927 go-github-com-chzyer-readline
26928 go-github-com-coder-websocket
26929 go-github-com-lib-pq
26930 go-github-com-mattn-go-sqlite3
26931 go-github-com-rs-xid
26932 go-github-com-rs-zerolog
26933 go-github-com-skip2-go-qrcode
26934 go-github-com-stretchr-testify
26935 go-github-com-tidwall-gjson
26936 go-github-com-tidwall-sjson
26937 go-github-com-yuin-goldmark
26938 go-go-mau-fi-util
26939 go-go-mau-fi-zeroconfig
26940 go-golang-org-x-crypto
26941 go-golang-org-x-exp
26942 go-golang-org-x-net
26943 go-golang-org-x-sync
26944 go-gopkg-in-yaml-v3
26945 go-maunium-net-go-mauflag
26946 ;; XXX: The final application needs an "olm" package.
26947 olm))
26948 (home-page "https://maunium.net/go/mautrix")
26949 (synopsis "Golang Matrix framework")
26950 (description
26951 "Package mautrix implements the Matrix Client-Server API and originated
26952from @url{https://github.com/matrix-org/gomatrix}.
26953
26954Features:
26955@itemize
26956@item appservice support (Intent API like mautrix-python, room state storage,
26957etc)
26958@item end-to-end encryption support (incl. interactive SAS verification)
26959@item high-level module for building puppeting bridges
26960@item high-level module for building chat clients
26961@item wrapper functions for the Synapse admin API
26962@item structs for parsing event content
26963@item helpers for parsing and generating Matrix HTML
26964@item helpers for handling push rules
26965@end itemize")
26966 (license (list
26967 ;; This project
26968 license:mpl2.0
26969 ;; Based on <https://github.com/matrix-org/gomatrix> project, no
26970 ;; longer maintained since Feb 21, 2024.
26971 license:asl2.0))))
26972
26973(define-public go-modernc-org-ccorpus
26974 (package
26975 (name "go-modernc-org-ccorpus")
26976 (version "1.11.6")
26977 (source
26978 (origin
26979 (method git-fetch)
26980 (uri (git-reference
26981 (url "https://gitlab.com/cznic/ccorpus")
26982 (commit (string-append "v" version))))
26983 (file-name (git-file-name name version))
26984 (sha256
26985 (base32 "18d5npw8aw5qzy6qcrlrili2zxvmc2v4kkwjps6c3ayvi7aj7j09"))))
26986 (build-system go-build-system)
26987 (arguments
26988 (list
26989 #:import-path "modernc.org/ccorpus"))
26990 (propagated-inputs (list go-modernc-org-httpfs))
26991 (home-page "https://gitlab.com/cznic/ccorpus")
26992 (synopsis "Test body of C code for Golang")
26993 (description
26994 "This package provides a test corpus of C code as subset of
26995@code{modernc.org/httpfs}.")
26996 ;; TODO: assets directory provides a lot of example sources for testing
26997 ;; taken from other projects, check it covered by the licenses.
26998 (license license:bsd-3)))
26999
27000(define-public go-modernc-org-httpfs
27001 (package
27002 (name "go-modernc-org-httpfs")
27003 (version "1.0.6")
27004 (source
27005 (origin
27006 (method git-fetch)
27007 (uri (git-reference
27008 (url "https://gitlab.com/cznic/httpfs")
27009 (commit (string-append "v" version))))
27010 (file-name (git-file-name name version))
27011 (sha256
27012 (base32 "01q5rvhxmrd45h0ljh4185wlly7rxv6vvh28d2shsyan4nj67zf1"))))
27013 (build-system go-build-system)
27014 (arguments
27015 (list
27016 #:import-path "modernc.org/httpfs"))
27017 (home-page "https://gitlab.com/cznic/httpfs")
27018 (synopsis "HTTP file system implementation in Golang")
27019 (description
27020 "Package httpfs implements @code{http.FileSystem} on top of a
27021@code{map[string]string}.")
27022 (license license:bsd-3)))
27023
27024(define-public go-modernc-org-token
27025 (package
27026 (name "go-modernc-org-token")
27027 (version "1.1.0")
27028 (source
27029 (origin
27030 (method git-fetch)
27031 (uri (git-reference
27032 (url "https://gitlab.com/cznic/token")
27033 (commit (string-append "v" version))))
27034 (file-name (git-file-name name version))
27035 (sha256
27036 (base32 "1vvnnfppmgq7hxmw18dx90fg6khwnxpwn9kwwf0hwxsckxfb5icv"))))
27037 (build-system go-build-system)
27038 (arguments
27039 (list
27040 #:import-path "modernc.org/token"))
27041 (home-page "https://modernc.org/token")
27042 (synopsis "Variant of the Golang stdlib package @code{token}")
27043 (description
27044 "Package token is variant of the stdlib package token with types
27045@code{FileSet} and Token removed.")
27046 (license license:bsd-3)))
27047
27048(define-public go-moul-io-http2curl-v2
27049 (package
27050 (name "go-moul-io-http2curl-v2")
27051 (version "2.3.0")
27052 (source
27053 (origin
27054 (method git-fetch)
27055 (uri (git-reference
27056 (url "https://github.com/moul/http2curl")
27057 (commit (string-append "v" version))))
27058 (file-name (git-file-name name version))
27059 (sha256
27060 (base32 "0yh07sqj31dg1rm46akp91m953mrxnr2l4sz7wjwqsw3z501c1fk"))))
27061 (build-system go-build-system)
27062 (arguments
27063 (list
27064 #:import-path "moul.io/http2curl/v2"))
27065 (native-inputs
27066 (list go-github-com-tailscale-depaware))
27067 (home-page "https://moul.io/http2curl")
27068 (synopsis "Golang's @code{http.Request} to CURL command line")
27069 (description
27070 "This package implements a functionality to convert Golang's
27071@code{http.Request} to CURL command line.")
27072 (license (list license:asl2.0 license:expat))))
27073
27074(define-public go-mvdan-cc-xurls-v2
27075 (package
27076 (name "go-mvdan-cc-xurls-v2")
27077 (version "2.6.0")
27078 (source
27079 (origin
27080 (method git-fetch)
27081 (uri (git-reference
27082 (url "https://github.com/mvdan/xurls")
27083 (commit (string-append "v" version))))
27084 (file-name (git-file-name name version))
27085 (sha256
27086 (base32 "1kk4mjizr23zjzsavs21krp13w52p3b8dcm4ahlrr6xkkfn8ry3i"))))
27087 (build-system go-build-system)
27088 (arguments
27089 (list
27090 #:import-path "mvdan.cc/xurls/v2"
27091 #:build-flags #~(list (string-append "-ldflags=-X main.version="
27092 #$version))
27093 #:test-flags #~(list "-skip" "TestScript/version")))
27094 (propagated-inputs
27095 (list go-github-com-rogpeppe-go-internal-1.14
27096 go-golang-org-x-mod
27097 go-golang-org-x-sync))
27098 (home-page "https://github.com/mvdan/xurls")
27099 (synopsis "Extracts URLs from text")
27100 (description
27101 "Xurls extracts urls from plain text using regular expressions. It can
27102be used as both a binary and a library.")
27103 (license license:bsd-3)))
27104
27105(define-public go-nhooyr-io-websocket
27106 (package
27107 (name "go-nhooyr-io-websocket")
27108 (version "1.8.11")
27109 (source
27110 (origin
27111 (method git-fetch)
27112 (uri (git-reference
27113 (url "https://github.com/nhooyr/websocket")
27114 (commit (string-append "v" version))))
27115 (file-name (git-file-name name version))
27116 (sha256
27117 (base32 "019pm2bkzwyvzl61127nqzihchk35q5xh57wy50aa2syn9214fxm"))))
27118 (build-system go-build-system)
27119 (arguments
27120 (list
27121 ;; Tests require additional dependencies like `wasmbrowsertest`.
27122 #:tests? #f
27123 #:import-path "nhooyr.io/websocket"))
27124 (home-page "https://nhooyr.io/websocket")
27125 (synopsis "Minimal and idiomatic WebSocket library for Go")
27126 (description
27127 "Package websocket implements the
27128@@url{https://rfc-editor.org/rfc/rfc6455.html,RFC 6455} @code{WebSocket}
27129protocol.")
27130 (license license:isc)))
27131
27132(define-public go-sigs-k8s-io-knftables
27133 (package
27134 (name "go-sigs-k8s-io-knftables")
27135 (version "0.0.21")
27136 (source
27137 (origin
27138 (method git-fetch)
27139 (uri (git-reference
27140 (url "https://github.com/kubernetes-sigs/knftables")
27141 (commit (string-append "v" version))))
27142 (file-name (git-file-name name version))
27143 (sha256
27144 (base32 "028x7cr5wajm455676wkc1cwrr4jmyfpy66hamnirld2xqkqcizs"))
27145 (modules '((guix build utils)))
27146 (snippet #~(begin (delete-file-recursively "vendor")))))
27147 (build-system go-build-system)
27148 (arguments
27149 (list
27150 #:import-path "sigs.k8s.io/knftables"
27151 ;; Tests are not copatible with Go 1.24+.
27152 #:test-flags #~(list "-vet=off")
27153 #:phases
27154 #~(modify-phases %standard-phases
27155 (add-after 'unpack 'fix-tests
27156 (lambda* (#:key import-path #:allow-other-keys)
27157 (substitute* (string-append "src/" import-path "/exec_test.go")
27158 (("/bin/true") (which "true"))
27159 (("/bin/false") (which "false"))))))))
27160 (native-inputs
27161 (list go-github-com-google-go-cmp
27162 go-github-com-lithammer-dedent))
27163 (home-page "https://github.com/kubernetes-sigs/knftables")
27164 (synopsis "Golang nftables library for Kubernetes")
27165 (description
27166 "This package provides nftables bindings in Go. It is not intended to
27167support arbitrary use cases, but instead specifically focuses on supporting
27168Kubernetes components which are using nftables.")
27169 (license license:asl2.0)))
27170
27171(define-public go-storj-io-common
27172 (package
27173 (name "go-storj-io-common")
27174 (version "0.0.0-20251120170554-032ced125058")
27175 (source
27176 (origin
27177 (method git-fetch)
27178 (uri (git-reference
27179 (url "https://github.com/storj/common")
27180 (commit (go-version->git-ref version))))
27181 (file-name (git-file-name name version))
27182 (sha256
27183 (base32 "11aiwpr34z3x2nx5qbj5cr21676abnbrlwhw3h8lficr66rlx1a4"))))
27184 ;; TODO: Remove vendored code <github.com/btcsuite/btcd/btcutil/base58>.
27185 (build-system go-build-system)
27186 (arguments
27187 (list
27188 #:skip-build? #t
27189 #:import-path "storj.io/common"
27190 #:test-flags
27191 #~(list "-skip" (string-join
27192 (list "TestLookupNodeAddress_Host"
27193 "TestLookupNodeAddress_HostAndPort"
27194 "TestFromBuild")
27195 "|"))
27196 #:test-subdirs
27197 ;; XXX: Remove when all missing dependencies are packaged.
27198 #~(list "accesslogs/..."
27199 "base58/..."
27200 "bloomfilter/..."
27201 "cfgstruct/..."
27202 "context2/..."
27203 "currency/..."
27204 "debug/..."
27205 "errs2/..."
27206 "eventstat/..."
27207 "experiment/..."
27208 "fpath/..."
27209 "grant/..."
27210 "http/requestid/..."
27211 "identity/..."
27212 "leak/..."
27213 "macaroon/..."
27214 "memory/..."
27215 "metrics/..."
27216 "nodetag/..."
27217 "paths/..."
27218 "pb/..."
27219 "peertls/..."
27220 "pkcrypto/..."
27221 "process/gcloudlogging/..."
27222 "processgroup/..."
27223 "ranger/..."
27224 "rpc/..."
27225 "signing/..."
27226 "storj/..."
27227 "strictcsv/..."
27228 "sync2/..."
27229 "telemetry/..."
27230 "testrand/..."
27231 "testtrace/..."
27232 "time2/..."
27233 "useragent/..."
27234 "uuid/..."
27235 "version/...")))
27236 (native-inputs
27237 (list go-github-com-stretchr-testify
27238 go-go-uber-org-zap))
27239 (propagated-inputs
27240 (list ;; go-cloud-google-com-go-profiler ; 100+ go-cloud-google-com*
27241 go-github-com-blang-semver-v4
27242 go-github-com-bmkessler-fastdiv
27243 go-github-com-calebcase-tmpfile
27244 go-github-com-flynn-noise
27245 go-github-com-gogo-protobuf
27246 go-github-com-google-gopacket
27247 go-github-com-google-pprof
27248 go-github-com-jtolds-tracetagger-v2
27249 go-github-com-jtolio-crawlspace
27250 go-github-com-jtolio-crawlspace-tools
27251 go-github-com-jtolio-noiseconn
27252 go-github-com-quic-go-quic-go
27253 go-github-com-shopspring-decimal
27254 go-github-com-spacemonkeygo-monkit-v3
27255 go-github-com-spf13-cast
27256 go-github-com-spf13-cobra
27257 go-github-com-spf13-pflag
27258 go-github-com-spf13-viper
27259 go-github-com-zeebo-admission-v3
27260 go-github-com-zeebo-blake3
27261 go-github-com-zeebo-errs
27262 go-github-com-zeebo-structs
27263 go-golang-org-x-crypto
27264 go-golang-org-x-mod
27265 go-golang-org-x-sync
27266 go-golang-org-x-sys
27267 go-gopkg-in-yaml-v2
27268 go-storj-io-drpc
27269 go-storj-io-eventkit
27270 ;; go-storj-io-monkit-jaeger ; cycles
27271 go-storj-io-picobuf))
27272 (home-page "https://storj.io/common")
27273 (synopsis "Common web and networking Golang utilities")
27274 (description
27275 "This package provides a collection of Golang utilities maintained by
27276Storj project:
27277
27278@itemize
27279@item accesslogs can handle collection and upload of arbitrarily formatted
27280server access logs in the fashion of S3's server access logging
27281@item bloomfilter implements a bloom-filter for pieces that need to be
27282preserved
27283@item cfgstruct
27284@item context2 contains utilities for contexts
27285@item currency
27286@item debug implements debug server for satellite, storage node, and edge
27287services
27288@item encryption collects common cryptographic primitives needed for path and
27289data encryption
27290@item errs2 collects common error handling functions
27291@item eventstat contains helper to create statistics about events with
27292unbounded cardinality
27293@item experiment implements feature flag propagation.
27294@item fpath implements cross-platform file and object path handling
27295@item grant
27296@item http
27297@item identity implements CA and Peer identity management and generation.
27298@item leak provides a way to track resources when race detector is enabled
27299@item macaroon implements contextual caveats and authorization
27300@item memory contains byte size types and manipulation
27301@item metrics implements a server which displays only read-only monitoring
27302data
27303@item netutil
27304@item nodetag
27305@item paths implements wrappers for handling encrypted and unencrypted paths
27306safely
27307@item peertls manages TLS configuration for peers.
27308@item pkcrypto contains a set of helper functions and constants to perform
27309common cryptographic operations
27310@item process
27311@item processgroup implements process-grouping commands.
27312@item ranger implements lazy @code{io.Reader} and @code{io.Writer} interfaces
27313@item readcloser implements utilities for @code{io.ReadClosers}
27314@item rpc implements dialing on Storj Network
27315@item signing implements consistent signing and verifying protobuf messages
27316@item socket implements @url{https://tools.ietf.org/html/rfc4594#section-2.3,
27317RFC4594}
27318@item storj contains the types which represent the main entities of the Storj
27319domain
27320@item strictcsv
27321@item sync2 provides a set of functions and types for having context aware
27322functionalities, offloading memory through the file system, and to control
27323execution of tasks which can run repetitively, concurrently or asynchronously.
27324@item telemetry
27325@item testcontext implements convenience context for testing.
27326@item testrand implements generating random base types for testing.
27327@item testtrace provides profiling debugging utilities for writing the state
27328of all goroutines
27329@item time2 provides time related functionality that can be manipulated to
27330facilite deterministic testing
27331@item traces
27332@item tracing
27333@item useragent implements parts of
27334@url{https://tools.ietf.org/html/rfc7231#section-5.5, RFC7231} and
27335@url{https://tools.ietf.org/html/rfc2616#section-14.43, RFC2616}
27336@item uuid implements UUID v4 based on
27337@url{https://www.rfc-editor.org/rfc/rfc4122, RFC4122}.
27338@item version
27339@end itemize")
27340 (license license:expat)))
27341
27342(define-public go-storj-io-drpc
27343 (package
27344 (name "go-storj-io-drpc")
27345 (version "0.0.34")
27346 (source
27347 (origin
27348 (method git-fetch)
27349 (uri (git-reference
27350 (url "https://github.com/storj/drpc")
27351 (commit (string-append "v" version))))
27352 (file-name (git-file-name name version))
27353 (sha256
27354 (base32 "14lqij58nj8m84mbad1nv30s2v33l2zbw3nvc903f7bl43rgwdl6"))
27355 (modules '((guix build utils)))
27356 (snippet
27357 #~(begin
27358 ;; Submodules with their own go.mod files and packaged separately:
27359 ;;
27360 ;; - storj.io/drpc/internal/backcompat
27361 ;; - storj.io/drpc/internal/backcompat/newservice
27362 ;; - storj.io/drpc/internal/backcompat/newservicedefs
27363 ;; - storj.io/drpc/internal/backcompat/oldservice
27364 ;; - storj.io/drpc/internal/backcompat/oldservicedefs
27365 ;; - storj.io/drpc/internal/backcompat/servicedefs
27366 ;; - storj.io/drpc/internal/grpccompat
27367 ;; - storj.io/drpc/internal/integration
27368 ;; - storj.io/drpc/internal/twirpcompat
27369 (for-each delete-file-recursively
27370 (list "internal/backcompat"
27371 "internal/grpccompat"
27372 "internal/integration"
27373 "internal/twirpcompat"))))))
27374 (build-system go-build-system)
27375 (arguments
27376 (list
27377 #:import-path "storj.io/drpc"
27378 #:phases
27379 #~(modify-phases %standard-phases
27380 (add-after 'unpack 'remove-examples
27381 (lambda* (#:key import-path #:allow-other-keys)
27382 (with-directory-excursion (string-append "src/" import-path)
27383 (delete-file-recursively "examples")))))))
27384 (native-inputs
27385 (list go-github-com-zeebo-assert))
27386 (propagated-inputs
27387 (list go-google-golang-org-protobuf
27388 go-github-com-zeebo-errs))
27389 (home-page "https://storj.io/drpc")
27390 (synopsis "Lightweight, drop-in replacement for gRPC")
27391 (description
27392 "This package is a light, drop-in replacement for gRPC, a Remote
27393Procedure Call (RPC) framework.")
27394 (license license:expat)))
27395
27396(define-public go-storj-io-eventkit
27397 (package
27398 (name "go-storj-io-eventkit")
27399 (version "0.0.0-20250410172343-61f26d3de156")
27400 (source
27401 (origin
27402 (method git-fetch)
27403 (uri (git-reference
27404 (url "https://github.com/storj/eventkit")
27405 (commit (go-version->git-ref version))))
27406 (file-name (git-file-name name version))
27407 (sha256
27408 (base32 "19vliv2ksw8wi382zfd5ak5zpm3yii2ivxhq5gk90m9x0swdg157"))))
27409 (build-system go-build-system)
27410 (arguments
27411 (list
27412 #:import-path "storj.io/eventkit"
27413 #:test-subdirs
27414 ;; XXX: Remove when all dependencies are packaged.
27415 #~(list "."
27416 "destination/..."
27417 "eventkitd/private/delimited/..."
27418 "eventkitd/private/protostream/..."
27419 "eventkitd/private/resumablecompressed/...")))
27420 (native-inputs
27421 ;; For CLI tools.
27422 (list ;; go-github-com-elek-bubbles
27423 go-github-com-charmbracelet-bubbletea
27424 go-github-com-charmbracelet-lipgloss
27425 go-github-com-spf13-cobra
27426 go-github-com-spf13-viper
27427 go-github-com-zeebo-errs-v2))
27428 (propagated-inputs
27429 (list ;; go-cloud-google-com-go-bigquery ; 100+ go-cloud-google-com-*
27430 go-github-com-google-gopacket
27431 go-github-com-pkg-errors
27432 go-github-com-spacemonkeygo-monkit-v3
27433 go-github-com-spf13-cobra
27434 go-github-com-spf13-viper
27435 go-github-com-stretchr-testify
27436 go-go-uber-org-zap
27437 go-golang-org-x-sync
27438 go-google-golang-org-api
27439 go-google-golang-org-protobuf
27440 go-storj-io-picobuf))
27441 (home-page "https://storj.io/eventkit")
27442 (synopsis "Report multidimensional events over UDP")
27443 (description
27444 "This package provides a Go library for reporting multidimensional
27445events over UDP.")
27446 (license license:expat)))
27447
27448(define-public go-storj-io-infectious
27449 (package
27450 (name "go-storj-io-infectious")
27451 (version "0.0.2")
27452 (source
27453 (origin
27454 (method git-fetch)
27455 (uri (git-reference
27456 (url "https://github.com/storj/infectious")
27457 (commit (string-append "v" version))))
27458 (file-name (git-file-name name version))
27459 (sha256
27460 (base32 "0065fizv2rqqk21amkcb008pvv1bv69qr6bylaw0bz7l6awxmxq8"))))
27461 (build-system go-build-system)
27462 (arguments
27463 (list
27464 #:import-path "storj.io/infectious"))
27465 (propagated-inputs
27466 (list go-golang-org-x-sys))
27467 (home-page "https://storj.io/infectious")
27468 (synopsis "Reed-Solomon forward error correcting library")
27469 (description
27470 "Package infectious implements
27471@url{https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction,
27472Reed-Solomon forward error correction}. It uses the Berlekamp-Welch error
27473correction algorithm to achieve the ability to actually correct errors.")
27474 (license (list license:expat
27475 license:bsd-2))))
27476
27477(define-public go-storj-io-picobuf
27478 (package
27479 (name "go-storj-io-picobuf")
27480 (version "0.0.4")
27481 (source
27482 (origin
27483 (method git-fetch)
27484 (uri (git-reference
27485 (url "https://github.com/storj/picobuf")
27486 (commit (string-append "v" version))))
27487 (file-name (git-file-name name version))
27488 (sha256
27489 (base32 "18h4ashs0i8qikqi7x30yy7y72xkxcc57xdxry6nssdzcjym4w5n"))))
27490 (build-system go-build-system)
27491 (arguments
27492 (list
27493 #:test-flags
27494 #~(list "-skip" "TestMessageSize")
27495 #:import-path "storj.io/picobuf"))
27496 (native-inputs
27497 (list go-github-com-zeebo-assert))
27498 (propagated-inputs
27499 (list go-google-golang-org-protobuf))
27500 (home-page "https://storj.io/picobuf")
27501 (synopsis "Replacement for subset of protobuf")
27502 (description
27503 "Picobuf is a minimal replacement for google.golang.org/protobuf with
27504focusing on small binary size. It does not support the whole Protocol Buffers
27505feature set and features are added on as the need arises.")
27506 (license license:expat)))
27507
27508(define-public go-storj-io-uplink
27509 (package
27510 (name "go-storj-io-uplink")
27511 (version "1.13.1")
27512 (source
27513 (origin
27514 (method git-fetch)
27515 (uri (git-reference
27516 (url "https://github.com/storj/uplink")
27517 (commit (string-append "v" version))))
27518 (file-name (git-file-name name version))
27519 (sha256
27520 (base32 "0294wyyilvf69dk5vza6zbw3imcvp7ph5nrp7d1hchxrysk3g07y"))
27521 (modules '((guix build utils)))
27522 (snippet
27523 #~(begin
27524 ;; Submodules with their own go.mod files and packaged separately:
27525 ;;
27526 ;; - storj.io/uplink/testsuite
27527 (delete-file-recursively "testsuite")))))
27528 (build-system go-build-system)
27529 (arguments
27530 (list
27531 #:import-path "storj.io/uplink"))
27532 (native-inputs
27533 (list go-github-com-stretchr-testify))
27534 (propagated-inputs
27535 (list go-github-com-klauspost-compress
27536 go-github-com-spacemonkeygo-monkit-v3
27537 go-github-com-zeebo-errs
27538 go-github-com-zeebo-sudo
27539 go-golang-org-x-exp
27540 go-golang-org-x-sync
27541 go-storj-io-common
27542 go-storj-io-drpc
27543 go-storj-io-eventkit
27544 go-storj-io-infectious
27545 go-storj-io-picobuf))
27546 (home-page "https://storj.io/uplink")
27547 (synopsis "Storj network Go library")
27548 (description
27549 "Package uplink is the main entrypoint to interacting with
27550@url{https://www.storj.io/, Storj Labs} decentralized storage network.")
27551 (license license:expat)))
27552
27553(define-public go-xorm-io-builder
27554 (package
27555 (name "go-xorm-io-builder")
27556 (version "0.3.13")
27557 (source
27558 (origin
27559 (method git-fetch)
27560 (uri (git-reference
27561 (url "https://gitea.com/xorm/builder")
27562 (commit (string-append "v" version))))
27563 (file-name (git-file-name name version))
27564 (sha256
27565 (base32 "1khn5cmrn3my2sk8pldri2i6ymfy8q7bpc65h3pbi6l4grrmkily"))))
27566 (build-system go-build-system)
27567 (arguments
27568 (list
27569 #:import-path "xorm.io/builder"
27570 #:test-flags #~(list "-vet=off")))
27571 (native-inputs
27572 (list go-github-com-stretchr-testify))
27573 (propagated-inputs
27574 (list go-gitea-com-xorm-sqlfiddle))
27575 (home-page "https://xorm.io/builder")
27576 (synopsis "SQL builder for Go")
27577 (description "Package builder is a simple and powerful SQL builder for Golang.")
27578 (license license:bsd-3)))
27579
27580;;;
27581;;; Executables:
27582;;;
27583
27584(define-public amneziawg-go
27585 (package/inherit go-github-com-amnezia-vpn-amneziawg-go
27586 (name "amneziawg-go")
27587 (arguments
27588 (substitute-keyword-arguments arguments
27589 ((#:tests? #t #t) #f)
27590 ((#:skip-build? #t #t) #f)
27591 ((#:install-source? #t #t) #f)))))
27592
27593(define-public cfssl
27594 (package/inherit go-github-com-cloudflare-cfssl
27595 (name "cfssl")
27596 (arguments
27597 (substitute-keyword-arguments arguments
27598 ((#:tests? _ #t) #f)
27599 ((#:skip-build? _ #t) #f)
27600 ((#:install-source? _ #t) #f)
27601 ((#:import-path _) "github.com/cloudflare/cfssl/cmd/...")))
27602 (native-inputs
27603 (package-propagated-inputs go-github-com-cloudflare-cfssl))
27604 (propagated-inputs '())
27605 (description
27606 "This package provides Cloudflare's PKI and TLS toolkit which includes
27607the following commands:
27608@itemize
27609@item @command{cfssl-bundle} - create a certificate bundle that contains the
27610client cer
27611@item @command{cfssl-certinfo} - output certinfo about the given cert
27612@item @command{cfssl-newkey} - generate a new key and CSR
27613@item @command{cfssl-scan} - scan a host for issues
27614@item @command{cfssl} - command line tool to issue/sign/bundle client
27615certificate
27616@item @command{cfssljson} - splits out JSON with cert, csr, and key fields to
27617separate files
27618@item @command{mkbundle} - command line tool for building certificate pool
27619bundles
27620@item @command{multirootca} - program, which is a certificate authority server
27621that can use multiple signing keys
27622@end itemize")))
27623
27624(define-public lyrebird
27625 (package
27626 (name "lyrebird")
27627 (version "0.8.1")
27628 (source
27629 (origin
27630 (method git-fetch)
27631 (uri (git-reference
27632 (url "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird")
27633 (commit (string-append "lyrebird-" version))))
27634 (file-name (git-file-name name version))
27635 (sha256
27636 (base32 "175g1d8n2ss1szsn6knmnbmhpz5cyq7cbbf8bgi2da9618cnv3r8"))))
27637 (build-system go-build-system)
27638 (arguments
27639 (list
27640 #:build-flags #~(list (string-append "-ldflags="
27641 "-X main.lyrebirdVersion="
27642 #$version " -s -w"))
27643 #:install-source? #f
27644 #:unpack-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird"
27645 #:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird/cmd/lyrebird"))
27646 (native-inputs
27647 (list go-filippo-io-edwards25519
27648 go-github-com-dchest-siphash
27649 go-github-com-refraction-networking-utls
27650 go-gitlab-com-yawning-edwards25519-extra
27651 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib
27652 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2
27653 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-webtunnel
27654 go-golang-org-x-crypto
27655 go-golang-org-x-net))
27656 (home-page "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird")
27657 (synopsis "Look-like nothing obfuscation protocol")
27658 (description
27659 "This is a look-like nothing obfuscation protocol that incorporates ideas
27660and concepts from Philipp Winter's ScrambleSuit protocol.")
27661 (license (list license:bsd-2 license:bsd-3))))
27662
27663(define-public go-jose-util
27664 (package/inherit go-github-com-go-jose-go-jose-v4
27665 (name "go-jose-util")
27666 (arguments
27667 (substitute-keyword-arguments
27668 (package-arguments go-github-com-inetaf-tcpproxy)
27669 ((#:tests? _ #t) #f)
27670 ((#:install-source? _ #t) #f)
27671 ((#:import-path _ "github.com/go-jose/go-jose/v4")
27672 "github.com/go-jose/go-jose/jose-util")
27673 ((#:unpack-path _ "")
27674 "github.com/go-jose/go-jose")))
27675 (synopsis "JOSE CLI")
27676 (description
27677 "The @code{jose-util} command line utility allows for encryption,
27678decryption,signing and verification of JOSE messages. Its main purpose is to
27679facilitate dealing with JOSE messages when testing or debugging.")))
27680
27681(define-public go-gojay
27682 (package
27683 (inherit go-github-com-francoispqt-gojay)
27684 (name "go-gojay")
27685 (arguments
27686 (list
27687 #:tests? #f ; already tested in the library
27688 #:install-source? #f
27689 #:import-path "github.com/francoispqt/gojay/gojay"
27690 #:unpack-path "github.com/francoispqt/gojay"))
27691 (description
27692 "This package provides a command line tool to generate gojay's marshaling
27693and unmarshaling interface implementation for custom struct type(s).")))
27694
27695(define-public go-gqlclient
27696 (package
27697 (inherit go-git-sr-ht-emersion-gqlclient)
27698 (name "go-gqlclient")
27699 (arguments
27700 (substitute-keyword-arguments
27701 (package-arguments go-git-sr-ht-emersion-gqlclient)
27702 ((#:tests? _ #t) #f)
27703 ((#:install-source? _ #t) #f)
27704 ((#:phases _ '%standard-phases)
27705 #~(modify-phases %standard-phases
27706 (replace 'build
27707 (lambda arguments
27708 (for-each
27709 (lambda (cmd)
27710 (apply (assoc-ref %standard-phases 'build)
27711 `(,@arguments #:import-path ,cmd)))
27712 (list "git.sr.ht/~emersion/gqlclient/cmd/gqlclient"
27713 "git.sr.ht/~emersion/gqlclient/cmd/gqlclientgen"
27714 "git.sr.ht/~emersion/gqlclient/cmd/gqlintrospect"))))
27715 (replace 'install
27716 (lambda arguments
27717 (for-each
27718 (lambda (cmd)
27719 (apply (assoc-ref %standard-phases 'install)
27720 `(,@arguments #:import-path ,cmd)))
27721 (list "git.sr.ht/~emersion/gqlclient/cmd/gqlclient"
27722 "git.sr.ht/~emersion/gqlclient/cmd/gqlclientgen"
27723 "git.sr.ht/~emersion/gqlclient/cmd/gqlintrospect"))))))))
27724 (description
27725 "This package provides command line tools: @code{gqlclient},
27726@code{gqlclientgen}, and @code{gqlintrospect}. For the Golang libriray, see
27727go-git-sr-ht-emersion-gqlclient package.")))
27728
27729(define-public go-html2text
27730 (package
27731 (inherit go-github-com-jaytaylor-html2text)
27732 (name "go-html2text")
27733 (arguments
27734 (list
27735 #:install-source? #f
27736 #:import-path "github.com/jaytaylor/html2text/cmd/html2text"
27737 #:unpack-path "github.com/jaytaylor/html2text"))
27738 (native-inputs
27739 (list go-github-com-pborman-getopt))
27740 (description
27741 (string-append (package-description go-github-com-jaytaylor-html2text)
27742 " This package provides an command line interface (CLI)
27743tool."))))
27744
27745(define-public go-madns
27746 (package/inherit go-github-com-multiformats-go-multiaddr-dns
27747 (name "go-madns")
27748 (arguments
27749 (substitute-keyword-arguments
27750 (package-arguments go-github-com-multiformats-go-multiaddr-dns)
27751 ((#:tests? _ #t) #f)
27752 ((#:install-source? _ #t) #f)
27753 ((#:import-path _) "github.com/multiformats/go-multiaddr-dns/madns")
27754 ((#:unpack-path _ "") "github.com/multiformats/go-multiaddr-dns")))
27755 (description
27756 "This package provides a CLI binary executable built from
27757go-github-com-multiformats-go-multiaddr-dns.")))
27758
27759(define-public go-minify
27760 (package
27761 (inherit go-github-com-tdewolff-minify-v2)
27762 (name "go-minify")
27763 (arguments
27764 (list
27765 #:install-source? #f
27766 #:tests? #f ; tested in the library
27767 #:import-path "github.com/tdewolff/minify/cmd/minify"
27768 #:unpack-path "github.com/tdewolff/minify"))
27769 (description "This package provides a CLI binary executable built from
27770go-github-com-tdewolff-minify-v2 source.")))
27771
27772(define-public go-tlsrouter
27773 (package/inherit go-github-com-inetaf-tcpproxy
27774 (name "go-tlsrouter")
27775 (arguments
27776 (substitute-keyword-arguments
27777 (package-arguments go-github-com-inetaf-tcpproxy)
27778 ((#:tests? _ #t) #f)
27779 ((#:install-source? _ #t) #f)
27780 ((#:import-path _) "github.com/inetaf/tcpproxy/cmd/tlsrouter")
27781 ((#:unpack-path _ "") "github.com/inetaf/tcpproxy")))
27782 (propagated-inputs '())
27783 (inputs '())
27784 (description
27785 "TLSRouter is a TLS proxy that routes connections to backends based on
27786the TLS @acronym{SNI, Server Name Indication} of the TLS handshake. It
27787carries no encryption keys and cannot decode the traffic that it proxies.")))
27788
27789(define-public go-tool-cache
27790 (package/inherit go-github-com-bradfitz-go-tool-cache
27791 (name "go-tool-cache")
27792 (arguments
27793 (substitute-keyword-arguments arguments
27794 ((#:tests? _ #t) #f)
27795 ((#:skip-build? _ #t) #f)
27796 ((#:install-source? _ #t) #f)
27797 ((#:import-path _) "github.com/bradfitz/go-tool-cache/cmd/...")
27798 ((#:unpack-path _ "") "github.com/bradfitz/go-tool-cache")))
27799 (native-inputs
27800 (package-propagated-inputs go-github-com-bradfitz-go-tool-cache))
27801 (propagated-inputs '())))
27802
27803(define-public menshen
27804 (package/inherit go-0xacab-org-leap-menshen
27805 (name "menshen")
27806 (arguments
27807 (substitute-keyword-arguments
27808 (package-arguments go-0xacab-org-leap-menshen)
27809 ((#:install-source? _ #t) #f)
27810 ((#:skip-build? _ #t) #f)
27811 ((#:tests? _ #t) #f)
27812 ((#:import-path _) "0xacab.org/leap/menshen/cmd/menshen")
27813 ((#:unpack-path _ "") "0xacab.org/leap/menshen")
27814 ((#:phases phases)
27815 #~(modify-phases #$phases
27816 (delete 'remove-cmd-invitectl)))))
27817 (native-inputs (package-propagated-inputs go-0xacab-org-leap-menshen))
27818 (propagated-inputs '())
27819 (inputs '())))
27820
27821(define-public protoc-gen-go-drpc
27822 (package/inherit go-storj-io-drpc
27823 (name "protoc-gen-go-drpc")
27824 (arguments
27825 (substitute-keyword-arguments
27826 (package-arguments go-storj-io-drpc)
27827 ((#:install-source? _ #t) #f)
27828 ((#:skip-build? _ #t) #f)
27829 ((#:tests? _ #t) #f)
27830 ((#:import-path _) "storj.io/drpc/cmd/protoc-gen-go-drpc")
27831 ((#:unpack-path _ "") "storj.io/drpc")
27832 ((#:phases phases)
27833 #~(modify-phases #$phases
27834 (delete 'remove-examples)))))
27835 (native-inputs (package-propagated-inputs go-storj-io-drpc))
27836 (propagated-inputs '())
27837 (inputs '())))
27838
27839(define-public protoc-gen-go-grpc
27840 (package/inherit go-google-golang-org-grpc-cmd-protoc-gen-go-grpc
27841 (name "protoc-gen-go-grpc")
27842 (arguments
27843 (substitute-keyword-arguments
27844 (package-arguments go-google-golang-org-grpc-cmd-protoc-gen-go-grpc)
27845 ((#:install-source? _ #t) #f)
27846 ((#:skip-build? _ #t) #f)
27847 ((#:tests? _ #t) #f)))
27848 (native-inputs (package-propagated-inputs
27849 go-google-golang-org-grpc-cmd-protoc-gen-go-grpc))
27850 (propagated-inputs '())
27851 (inputs '())))
27852
27853(define-public protoc-gen-go-lite
27854 (package/inherit go-github-com-aperturerobotics-protobuf-go-lite
27855 (name "protoc-gen-go-lite")
27856 (arguments
27857 (substitute-keyword-arguments arguments
27858 ((#:import-path _)
27859 "github.com/aperturerobotics/protobuf-go-lite/cmd/protoc-gen-go-lite")
27860 ((#:install-source? _ #t) #f)
27861 ((#:skip-build? _ #t) #f)
27862 ((#:tests? _ #t) #f)
27863 ((#:unpack-path _ "") "github.com/aperturerobotics/protobuf-go-lite")))
27864 (native-inputs
27865 (package-propagated-inputs go-github-com-aperturerobotics-protobuf-go-lite))
27866 (propagated-inputs '())
27867 (inputs '())))
27868
27869(define-public protoc-gen-go-plugin
27870 (package/inherit go-github-com-knqyf263-go-plugin
27871 (name "protoc-gen-go-plugin")
27872 (arguments
27873 (substitute-keyword-arguments
27874 (package-arguments go-github-com-knqyf263-go-plugin)
27875 ((#:install-source? _ #t) #f)
27876 ((#:skip-build? _ #t) #f)
27877 ((#:tests? _ #t) #f)
27878 ((#:import-path _)
27879 "github.com/knqyf263/go-plugin/cmd/protoc-gen-go-plugin")
27880 ((#:unpack-path _ "") "github.com/knqyf263/go-plugin")
27881 ((#:phases %standard-phases)
27882 #~(modify-phases %standard-phases
27883 (delete 'remove-examples)))))
27884 (native-inputs (package-propagated-inputs
27885 go-github-com-knqyf263-go-plugin))
27886 (propagated-inputs '())
27887 (inputs '())))
27888
27889(define-public protoc-gen-go-vtproto
27890 (package/inherit go-github-com-planetscale-vtprotobuf
27891 (name "protoc-gen-go-vtproto")
27892 (arguments
27893 (substitute-keyword-arguments
27894 (package-arguments go-github-com-planetscale-vtprotobuf)
27895 ((#:install-source? _ #t) #f)
27896 ((#:skip-build? _ #t) #f)
27897 ((#:tests? _ #t) #f)
27898 ((#:import-path _)
27899 "github.com/planetscale/vtprotobuf/cmd/protoc-gen-go-vtproto")
27900 ((#:unpack-path _ "") "github.com/planetscale/vtprotobuf")))
27901 (native-inputs (package-propagated-inputs
27902 go-github-com-planetscale-vtprotobuf))
27903 (propagated-inputs '())
27904 (inputs '())))
27905
27906(define-public protoc-gen-pico
27907 (package/inherit go-storj-io-picobuf
27908 (name "protoc-gen-pico")
27909 (arguments
27910 (substitute-keyword-arguments
27911 (package-arguments go-storj-io-picobuf)
27912 ((#:install-source? _ #t) #f)
27913 ((#:skip-build? _ #t) #f)
27914 ((#:tests? _ #t) #f)
27915 ((#:import-path _) "storj.io/picobuf/protoc-gen-pico")
27916 ((#:unpack-path _ "") "storj.io/picobuf")))
27917 (native-inputs (package-propagated-inputs go-storj-io-picobuf))
27918 (propagated-inputs '())
27919 (inputs '())))
27920
27921(define-public sarama-tools
27922 (package/inherit go-github-com-ibm-sarama
27923 (name "sarama-tools")
27924 (arguments
27925 (substitute-keyword-arguments arguments
27926 ((#:install-source? _ #t) #f)
27927 ((#:skip-build? _ #t) #f)
27928 ((#:tests? _ #t) #f)
27929 ((#:import-path _) "github.com/IBM/sarama/tools/...")))
27930 (native-inputs (package-propagated-inputs go-github-com-ibm-sarama))
27931 (propagated-inputs '())
27932 (inputs '())
27933 (description
27934 "This package contains applications that are useful for exploration of
27935Kafka cluster, or instrumentation. Some of these tools mirror tools that ship
27936with Kafka, but these tools won't require installing the JVM to function.
27937
27938@itemize
27939@item @command{kafka-console-producer}: a command line tool to produce a
27940single message to your Kafka custer.
27941@item @command{kafka-console-partitionconsumer}: a command line
27942tool to consume a single partition of a topic on your Kafka cluster.
27943@item @command{kafka-console-consumer}: a command line tool to consume
27944arbitrary partitions of a topic on your Kafka cluster.
27945@item @command{kafka-producer-performance}: a command line tool to performance
27946test producers (sync and async) on your Kafka cluster.
27947@end itemize")))
27948
27949(define-public snowflake-proxy
27950 (package/inherit
27951 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2
27952 (name "snowflake-proxy")
27953 (arguments
27954 (substitute-keyword-arguments
27955 (package-arguments
27956 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2)
27957 ((#:install-source? _ #t) #f)
27958 ((#:skip-build? _ #t) #f)
27959 ((#:tests? _ #t) #f)
27960 ((#:import-path _)
27961 (string-append "gitlab.torproject.org/tpo/anti-censorship/"
27962 "pluggable-transports/snowflake/proxy"))
27963 ((#:unpack-path _ "")
27964 (string-append "gitlab.torproject.org/tpo/anti-censorship/"
27965 "pluggable-transports/snowflake"))
27966 ((#:phases _ #~%standard-phases)
27967 #~(modify-phases %standard-phases
27968 (add-after 'install 'fix-name-collision
27969 (lambda _
27970 (rename-file (string-append #$output "/bin/proxy")
27971 (string-append #$output "/bin/" #$name))))))))
27972 (native-inputs
27973 (package-propagated-inputs
27974 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2))
27975 (propagated-inputs '())
27976 (inputs '())
27977 (description
27978 "This package provides a standalone (not browser-based) version
27979of the Snowflake proxy. For browser-based versions of the Snowflake proxy,
27980see
27981@url{https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake-webext,
27982snowflake-webext}.")))
27983
27984(define-public swag
27985 (package/inherit go-github-com-swaggo-swag
27986 (name "swag")
27987 (arguments
27988 (substitute-keyword-arguments
27989 (package-arguments go-github-com-swaggo-swag)
27990 ((#:tests? _ #t) #f)
27991 ((#:install-source? _ #t) #f)
27992 ((#:import-path _ "github.com/swaggo/swag")
27993 "github.com/swaggo/swag/cmd/swag")))
27994 (native-inputs (package-propagated-inputs go-github-com-swaggo-swag))
27995 (propagated-inputs '())
27996 (inputs '())))
27997
27998(define-public templ
27999 (package/inherit go-github-com-a-h-templ
28000 (name "templ")
28001 (arguments
28002 (substitute-keyword-arguments
28003 (package-arguments go-github-com-a-h-templ)
28004 ((#:tests? _ #t) #f)
28005 ((#:install-source? _ #t) #f)
28006 ((#:import-path _ "github.com/a-h/templ")
28007 "github.com/a-h/templ/cmd/templ")))
28008 (native-inputs
28009 (append (package-native-inputs go-github-com-a-h-templ)
28010 (package-propagated-inputs go-github-com-a-h-templ)))
28011 (propagated-inputs '())
28012 (inputs '())))
28013
28014(define-public xurls
28015 (package/inherit go-mvdan-cc-xurls-v2
28016 (name "xurls")
28017 (arguments
28018 (substitute-keyword-arguments
28019 (package-arguments go-mvdan-cc-xurls-v2)
28020 ((#:tests? _ #t) #f)
28021 ((#:install-source? _ #t) #f)
28022 ((#:import-path _ "mvdan.cc/xurls/v2") "mvdan.cc/xurls/cmd/xurls")
28023 ((#:unpack-path _ "") "mvdan.cc/xurls")))
28024 (native-inputs (package-propagated-inputs go-mvdan-cc-xurls-v2))
28025 (propagated-inputs '())
28026 (inputs '())))
28027
28028;;;
28029;;; Avoid adding new packages to the end of this file. To reduce the chances
28030;;; of a merge conflict, place them above by existing packages with similar
28031;;; functionality or similar names.
28032;;;