summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2025-01-26 20:55:06 +0000
committerSharlatan Hellseher <sharlatanus@gmail.com>2025-01-26 20:55:06 +0000
commit75437dbb7695bf336e349796f075df06662b130c (patch)
treef9be05fb167d6405297f9f5db1196c73b9795edc /gnu
parent55859a28cc1deeddb2d7e46c3a4579290029501b (diff)
parent9e2de68cf8aa5ac590ae3fca4fe90ac1b91bfa8a (diff)
Merge remote-tracking branch 'origin/go-team'
Change-Id: I3672a7dc248a41b1a83e4c488523f62cf1806710
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk3
-rw-r--r--gnu/packages/admin.scm100
-rw-r--r--gnu/packages/backup.scm4
-rw-r--r--gnu/packages/bioinformatics.scm151
-rw-r--r--gnu/packages/calendar.scm74
-rw-r--r--gnu/packages/check.scm63
-rw-r--r--gnu/packages/configuration-management.scm4
-rw-r--r--gnu/packages/curl.scm70
-rw-r--r--gnu/packages/databases.scm119
-rw-r--r--gnu/packages/disk.scm10
-rw-r--r--gnu/packages/docker.scm5
-rw-r--r--gnu/packages/education.scm8
-rw-r--r--gnu/packages/file-systems.scm45
-rw-r--r--gnu/packages/games.scm3
-rw-r--r--gnu/packages/golang-build.scm727
-rw-r--r--gnu/packages/golang-check.scm1382
-rw-r--r--gnu/packages/golang-compression.scm116
-rw-r--r--gnu/packages/golang-crypto.scm824
-rw-r--r--gnu/packages/golang-maths.scm260
-rw-r--r--gnu/packages/golang-vcs.scm172
-rw-r--r--gnu/packages/golang-web.scm3256
-rw-r--r--gnu/packages/golang-xyz.scm9560
-rw-r--r--gnu/packages/golang.scm5505
-rw-r--r--gnu/packages/high-availability.scm19
-rw-r--r--gnu/packages/image-viewers.scm10
-rw-r--r--gnu/packages/ipfs.scm176
-rw-r--r--gnu/packages/linux.scm42
-rw-r--r--gnu/packages/monitoring.scm109
-rw-r--r--gnu/packages/networking.scm54
-rw-r--r--gnu/packages/password-utils.scm78
-rw-r--r--gnu/packages/patches/exercism-disable-self-update.patch15
-rw-r--r--gnu/packages/patches/go-github-com-urfave-cli-fix-tests.patch28
-rw-r--r--gnu/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch37
-rw-r--r--gnu/packages/prometheus.scm86
-rw-r--r--gnu/packages/pulseaudio.scm1
-rw-r--r--gnu/packages/task-management.scm23
-rw-r--r--gnu/packages/terminals.scm28
-rw-r--r--gnu/packages/textutils.scm64
-rw-r--r--gnu/packages/time.scm3
-rw-r--r--gnu/packages/tor-browsers.scm4
-rw-r--r--gnu/packages/version-control.scm222
-rw-r--r--gnu/packages/virtualization.scm2
-rw-r--r--gnu/packages/web.scm88
43 files changed, 16270 insertions, 7280 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 9457fbf4cbd..6961b8816c0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -342,6 +342,7 @@ GNU_SYSTEM_MODULES = \
342 %D%/packages/golang-compression.scm \ 342 %D%/packages/golang-compression.scm \
343 %D%/packages/golang-crypto.scm \ 343 %D%/packages/golang-crypto.scm \
344 %D%/packages/golang-maths.scm \ 344 %D%/packages/golang-maths.scm \
345 %D%/packages/golang-vcs.scm \
345 %D%/packages/golang-web.scm \ 346 %D%/packages/golang-web.scm \
346 %D%/packages/golang-xyz.scm \ 347 %D%/packages/golang-xyz.scm \
347 %D%/packages/gperf.scm \ 348 %D%/packages/gperf.scm \
@@ -1507,8 +1508,6 @@ dist_patch_DATA = \
1507 %D%/packages/patches/go-fix-script-tests.patch \ 1508 %D%/packages/patches/go-fix-script-tests.patch \
1508 %D%/packages/patches/go-gopkg-in-yaml-v3-32bit.patch \ 1509 %D%/packages/patches/go-gopkg-in-yaml-v3-32bit.patch \
1509 %D%/packages/patches/go-github-com-golang-snappy-32bit-test.patch \ 1510 %D%/packages/patches/go-github-com-golang-snappy-32bit-test.patch \
1510 %D%/packages/patches/go-github-com-urfave-cli-fix-tests.patch \
1511 %D%/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch \
1512 %D%/packages/patches/go-github-com-warpfork-go-wish-fix-tests.patch \ 1511 %D%/packages/patches/go-github-com-warpfork-go-wish-fix-tests.patch \
1513 %D%/packages/patches/go-github-com-wraparound-wrap-free-fonts.patch \ 1512 %D%/packages/patches/go-github-com-wraparound-wrap-free-fonts.patch \
1514 %D%/packages/patches/go-skip-gc-test.patch \ 1513 %D%/packages/patches/go-skip-gc-test.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 659f7bc3bec..82de7c360fc 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -70,6 +70,7 @@
70;;; Copyright © 2024 Vinicius Monego <monego@posteo.net> 70;;; Copyright © 2024 Vinicius Monego <monego@posteo.net>
71;;; Copyright © 2024 nathan <nathan_mail@nborghese.com> 71;;; Copyright © 2024 nathan <nathan_mail@nborghese.com>
72;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me> 72;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me>
73;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
73;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se> 74;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
74;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com> 75;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
75;;; Copyright © 2025 Dariqq <dariqq@posteo.net> 76;;; Copyright © 2025 Dariqq <dariqq@posteo.net>
@@ -148,7 +149,10 @@
148 #:use-module (gnu packages gnupg) 149 #:use-module (gnu packages gnupg)
149 #:use-module (gnu packages golang) 150 #:use-module (gnu packages golang)
150 #:use-module (gnu packages golang-build) 151 #:use-module (gnu packages golang-build)
152 #:use-module (gnu packages golang-check)
151 #:use-module (gnu packages golang-compression) 153 #:use-module (gnu packages golang-compression)
154 #:use-module (gnu packages golang-crypto)
155 #:use-module (gnu packages golang-web)
152 #:use-module (gnu packages golang-xyz) 156 #:use-module (gnu packages golang-xyz)
153 #:use-module (gnu packages groff) 157 #:use-module (gnu packages groff)
154 #:use-module (gnu packages gtk) 158 #:use-module (gnu packages gtk)
@@ -285,6 +289,53 @@ usual file attributes can be checked for inconsistencies.")
285 (home-page "https://aide.github.io/") 289 (home-page "https://aide.github.io/")
286 (license license:gpl2+))) 290 (license license:gpl2+)))
287 291
292(define-public hetznercloud-cli
293 (package
294 (name "hetznercloud-cli")
295 (version "1.49.0")
296 (source
297 (origin
298 (method git-fetch)
299 (uri (git-reference
300 (url "https://github.com/hetznercloud/cli")
301 (commit (string-append "v" version))))
302 (file-name (git-file-name name version))
303 (sha256
304 (base32 "0mgd1rv0i18h7jbzl034ffpfxvnjirp60qwxsjpfy42jh1d8xbjm"))))
305 (build-system go-build-system)
306 (arguments
307 (list
308 #:tests? #f ; XXX: figure out hot to enable them
309 #:install-source? #f
310 #:import-path "github.com/hetznercloud/cli/cmd/hcloud"
311 #:unpack-path "github.com/hetznercloud/cli"))
312 (native-inputs
313 (list go-github-com-burntsushi-toml
314 go-github-com-cheggaaa-pb-v3
315 go-github-com-dustin-go-humanize
316 go-github-com-fatih-color
317 go-github-com-fatih-structs
318 go-github-com-goccy-go-yaml
319 go-github-com-guptarohit-asciigraph
320 go-github-com-hetznercloud-hcloud-go-v2
321 go-github-com-jedib0t-go-pretty-v6
322 go-github-com-spf13-cast
323 go-github-com-spf13-cobra
324 go-github-com-spf13-pflag
325 go-github-com-spf13-viper
326 go-github-com-stretchr-testify
327 go-github-com-swaggest-assertjson
328 go-go-uber-org-mock
329 go-golang-org-x-crypto
330 go-golang-org-x-term))
331 (home-page "https://github.com/hetznercloud/cli")
332 (synopsis "Command-line interface for the Hetzner Cloud service")
333 (description
334 "This package provides the @code{hcloud} binary, a command-line interface
335for interacting with the @url{https://www.hetzner.com/,Hetzner Cloud}
336service.")
337 (license license:expat)))
338
288(define-public progress 339(define-public progress
289 (package 340 (package
290 (name "progress") 341 (name "progress")
@@ -5463,7 +5514,6 @@ disk utilization, priority, username, state, and exit code.")
5463 (list 5514 (list
5464 #:install-source? #f 5515 #:install-source? #f
5465 #:import-path "github.com/linuxboot/fiano" 5516 #:import-path "github.com/linuxboot/fiano"
5466 #:unpack-path "github.com/linuxboot/fiano"
5467 #:phases 5517 #:phases
5468 #~(modify-phases %standard-phases 5518 #~(modify-phases %standard-phases
5469 ;; XXX: Replace this part when it's implemented in go-build-system. 5519 ;; XXX: Replace this part when it's implemented in go-build-system.
@@ -5475,10 +5525,7 @@ disk utilization, priority, username, state, and exit code.")
5475 (string-append import-path "/cmds/" cmd))) 5525 (string-append import-path "/cmds/" cmd)))
5476 (list "cbfs" 5526 (list "cbfs"
5477 "create-ffs" 5527 "create-ffs"
5478 ;; TODO: Not packed yet in guix, long jorney: 5528 "fittool"
5479 ;; - github.com/tjfoc/gmsm
5480 ;;
5481 ;; "fittool"
5482 "fmap" 5529 "fmap"
5483 "fspinfo" 5530 "fspinfo"
5484 "glzma" 5531 "glzma"
@@ -5493,20 +5540,14 @@ disk utilization, priority, username, state, and exit code.")
5493 (invoke "go" "test" "-v" 5540 (invoke "go" "test" "-v"
5494 (string-append import-path dir "/..."))) 5541 (string-append import-path dir "/...")))
5495 (list "/pkg/bytes" 5542 (list "/pkg/bytes"
5496 ;; TODO: Not packed yet in Guix, long jorney: 5543 "/pkg/amd"
5497 ;; - github.com/jedib0t
5498 ;;
5499 ;; "/pkg/amd"
5500 "/pkg/cbfs" 5544 "/pkg/cbfs"
5501 "/pkg/compression" 5545 "/pkg/compression"
5502 "/pkg/fmap" 5546 "/pkg/fmap"
5503 "/pkg/fsp" 5547 "/pkg/fsp"
5504 "/pkg/guid" 5548 "/pkg/guid"
5505 "/pkg/guid2english" 5549 "/pkg/guid2english"
5506 ;; TODO: Not packed yet in Guix, long jorney: 5550 "/pkg/intel"
5507 ;; - github.com/tjfoc/gmsm
5508 ;;
5509 ;; "/pkg/intel"
5510 "/pkg/knownguids" 5551 "/pkg/knownguids"
5511 "/pkg/log" 5552 "/pkg/log"
5512 "/pkg/uefi" 5553 "/pkg/uefi"
@@ -5533,7 +5574,7 @@ disk utilization, priority, username, state, and exit code.")
5533 (install-file cmd bindir)) 5574 (install-file cmd bindir))
5534 (list "cbfs" 5575 (list "cbfs"
5535 "create-ffs" 5576 "create-ffs"
5536 ;; "fittool" 5577 "fittool"
5537 "fmap" 5578 "fmap"
5538 "fspinfo" 5579 "fspinfo"
5539 "glzma" 5580 "glzma"
@@ -5542,11 +5583,18 @@ disk utilization, priority, username, state, and exit code.")
5542 "utk")))))))) 5583 "utk"))))))))
5543 (inputs 5584 (inputs
5544 (list go-github-com-dustin-go-humanize 5585 (list go-github-com-dustin-go-humanize
5586 go-github-com-fatih-camelcase
5545 go-github-com-hashicorp-go-multierror 5587 go-github-com-hashicorp-go-multierror
5588 go-github-com-jedib0t-go-pretty-v6
5546 go-github-com-jessevdk-go-flags 5589 go-github-com-jessevdk-go-flags
5590 go-github-com-klauspost-compress
5547 go-github-com-pierrec-lz4 5591 go-github-com-pierrec-lz4
5548 go-github-com-spf13-pflag 5592 go-github-com-spf13-pflag
5593 go-github-com-stretchr-testify
5594 go-github-com-tjfoc-gmsm
5549 go-github-com-ulikunitz-xz 5595 go-github-com-ulikunitz-xz
5596 go-github-com-xaionaro-go-bytesextra
5597 go-github-com-xaionaro-gosrc
5550 go-golang-org-x-text)) 5598 go-golang-org-x-text))
5551 (home-page "https://github.com/linuxboot/fiano") 5599 (home-page "https://github.com/linuxboot/fiano")
5552 (synopsis "UEFI image editor") 5600 (synopsis "UEFI image editor")
@@ -5701,7 +5749,7 @@ FIFO and UNIX interprocess communication.")
5701(define-public runitor 5749(define-public runitor
5702 (package 5750 (package
5703 (name "runitor") 5751 (name "runitor")
5704 (version "0.8.0") 5752 (version "1.3.0-build.4")
5705 (source 5753 (source
5706 (origin 5754 (origin
5707 (method git-fetch) 5755 (method git-fetch)
@@ -5710,7 +5758,7 @@ FIFO and UNIX interprocess communication.")
5710 (commit (string-append "v" version)))) 5758 (commit (string-append "v" version))))
5711 (file-name (git-file-name name version)) 5759 (file-name (git-file-name name version))
5712 (sha256 5760 (sha256
5713 (base32 "0vjfbyrbp5ywgzdz9j3x0qgjvnq7nw7193x8v9yy6k2cih1zsacn")))) 5761 (base32 "00l83jcjmf5kcq8yzq575kk6ljkkr2xhm5cx27zzb1yhxn93xj7n"))))
5714 (build-system go-build-system) 5762 (build-system go-build-system)
5715 (arguments 5763 (arguments
5716 `(#:unpack-path "bdd.fi/x/runitor" 5764 `(#:unpack-path "bdd.fi/x/runitor"
@@ -6353,7 +6401,7 @@ file or files to several hosts.")
6353(define-public doctl 6401(define-public doctl
6354 (package 6402 (package
6355 (name "doctl") 6403 (name "doctl")
6356 (version "1.94.0") 6404 (version "1.120.0")
6357 (source (origin 6405 (source (origin
6358 (method git-fetch) 6406 (method git-fetch)
6359 (uri (git-reference 6407 (uri (git-reference
@@ -6362,7 +6410,12 @@ file or files to several hosts.")
6362 (file-name (git-file-name name version)) 6410 (file-name (git-file-name name version))
6363 (sha256 6411 (sha256
6364 (base32 6412 (base32
6365 "0a221n0x7qrq0dbhhf1saya2g7jyy1798k3rhy9nzyvqzc4vnd0x")))) 6413 "12fgymgiv6894ghar7ljg69hb7mi18pa2a74sp7fyymqvyhiv6z9"))
6414 (snippet
6415 ;; TODO: Unbundle more.
6416 #~(begin (use-modules (guix build utils))
6417 (for-each delete-file-recursively
6418 (list "vendor/golang.org"))))))
6366 (build-system go-build-system) 6419 (build-system go-build-system)
6367 (arguments 6420 (arguments
6368 (list #:import-path "github.com/digitalocean/doctl/cmd/doctl" 6421 (list #:import-path "github.com/digitalocean/doctl/cmd/doctl"
@@ -6392,6 +6445,17 @@ file or files to several hosts.")
6392 "/etc/fish/completions/doctl.fish") 6445 "/etc/fish/completions/doctl.fish")
6393 (install-completion "zsh" 6446 (install-completion "zsh"
6394 "/etc/zsh/site-functions/_doctl")))))) 6447 "/etc/zsh/site-functions/_doctl"))))))
6448 (native-inputs
6449 (list go-golang-org-x-crypto
6450 go-golang-org-x-mod
6451 go-golang-org-x-net
6452 go-golang-org-x-oauth2
6453 go-golang-org-x-sync
6454 go-golang-org-x-sys
6455 go-golang-org-x-term
6456 go-golang-org-x-text
6457 go-golang-org-x-time
6458 go-golang-org-x-tools))
6395 (home-page "https://github.com/digitalocean/doctl") 6459 (home-page "https://github.com/digitalocean/doctl")
6396 (synopsis "Command line client for DigitalOcean") 6460 (synopsis "Command line client for DigitalOcean")
6397 (description 6461 (description
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 540dddeba71..bc449a9591a 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -1058,7 +1058,7 @@ precious backup space.
1058(define-public restic-rest-server 1058(define-public restic-rest-server
1059 (package 1059 (package
1060 (name "restic-rest-server") 1060 (name "restic-rest-server")
1061 (version "0.12.1") 1061 (version "0.13.0")
1062 (source (origin 1062 (source (origin
1063 (method git-fetch) 1063 (method git-fetch)
1064 (uri (git-reference 1064 (uri (git-reference
@@ -1067,7 +1067,7 @@ precious backup space.
1067 (file-name (git-file-name name version)) 1067 (file-name (git-file-name name version))
1068 (sha256 1068 (sha256
1069 (base32 1069 (base32
1070 "18jk93j91dq4639nml4qnq1fq5j3s67ca3gvfka5aafln8ir8ffk")))) 1070 "1ncsmwn4g1j555cgwkk5p8f093s42fip7dajhnh554jp1zx757m3"))))
1071 (build-system go-build-system) 1071 (build-system go-build-system)
1072 (arguments 1072 (arguments
1073 (list 1073 (list
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 079a64ba363..fc1df4745d2 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -24460,9 +24460,9 @@ for nanopore cDNA, native RNA, and PacBio sequencing reads.")
24460functions.") 24460functions.")
24461 (license license:bsd-3))) 24461 (license license:bsd-3)))
24462 24462
24463(define-public go-github-com-biogo-store-interval 24463(define-public go-github-com-biogo-store
24464 (package 24464 (package
24465 (name "go-github-com-biogo-store-interval") 24465 (name "go-github-com-biogo-store")
24466 (version "0.0.0-20201120204734-aad293a2328f") 24466 (version "0.0.0-20201120204734-aad293a2328f")
24467 (source (origin 24467 (source (origin
24468 (method git-fetch) 24468 (method git-fetch)
@@ -24475,8 +24475,9 @@ functions.")
24475 "0skizrp1j6vgbl0g1kmh73picagqlvwckaqs0gkl6rai5lckxj8a")))) 24475 "0skizrp1j6vgbl0g1kmh73picagqlvwckaqs0gkl6rai5lckxj8a"))))
24476 (build-system go-build-system) 24476 (build-system go-build-system)
24477 (arguments 24477 (arguments
24478 '(#:import-path "github.com/biogo/store/interval" 24478 (list
24479 #:unpack-path "github.com/biogo/store")) 24479 #:skip-build? #t
24480 #:import-path "github.com/biogo/store"))
24480 (propagated-inputs 24481 (propagated-inputs
24481 (list go-gopkg-in-check-v1 24482 (list go-gopkg-in-check-v1
24482 go-github-com-kr-pretty)) 24483 go-github-com-kr-pretty))
@@ -24487,45 +24488,9 @@ functions.")
24487useful for bioinformatic analysis.") 24488useful for bioinformatic analysis.")
24488 (license license:bsd-3))) 24489 (license license:bsd-3)))
24489 24490
24490(define-public go-github-com-biogo-store-kdtree 24491(define-public go-github-com-biogo-hts
24491 (package
24492 (inherit go-github-com-biogo-store-interval)
24493 (name "go-github-com-biogo-store-kdtree")
24494 (arguments
24495 '(#:import-path "github.com/biogo/store/kdtree"
24496 #:unpack-path "github.com/biogo/store"))
24497 (propagated-inputs
24498 (list go-gopkg-in-check-v1
24499 go-github-com-kr-pretty))
24500 (synopsis "kdtree store type for biogo")))
24501
24502(define-public go-github-com-biogo-store-llrb
24503 (package
24504 (inherit go-github-com-biogo-store-interval)
24505 (name "go-github-com-biogo-store-llrb")
24506 (arguments
24507 '(#:import-path "github.com/biogo/store/llrb"
24508 #:unpack-path "github.com/biogo/store"))
24509 (propagated-inputs
24510 (list go-gopkg-in-check-v1
24511 go-github-com-kr-pretty))
24512 (synopsis "LLRB store for biogo")))
24513
24514(define-public go-github-com-biogo-store-step
24515 (package
24516 (inherit go-github-com-biogo-store-interval)
24517 (name "go-github-com-biogo-store-step")
24518 (arguments
24519 '(#:import-path "github.com/biogo/store/step"
24520 #:unpack-path "github.com/biogo/store"))
24521 (propagated-inputs
24522 (list go-gopkg-in-check-v1
24523 go-github-com-kr-pretty))
24524 (synopsis "Step store for biogo")))
24525
24526(define-public go-github-com-biogo-hts-bam
24527 (package 24492 (package
24528 (name "go-github-com-biogo-hts-bam") 24493 (name "go-github-com-biogo-hts")
24529 (version "1.4.4") 24494 (version "1.4.4")
24530 (source (origin 24495 (source (origin
24531 (method git-fetch) 24496 (method git-fetch)
@@ -24538,91 +24503,22 @@ useful for bioinformatic analysis.")
24538 "1vkcqxyajghx5p5j7g2i376nbsxh8q2smk0smlv8mi34yr7hlw5b")))) 24503 "1vkcqxyajghx5p5j7g2i376nbsxh8q2smk0smlv8mi34yr7hlw5b"))))
24539 (build-system go-build-system) 24504 (build-system go-build-system)
24540 (arguments 24505 (arguments
24541 '(#:import-path "github.com/biogo/hts/bam" 24506 (list
24542 #:unpack-path "github.com/biogo/hts")) 24507 #:skip-build? #t
24543 (propagated-inputs 24508 #:import-path "github.com/biogo/hts"
24544 (list go-gopkg-in-check-v1)) 24509 ;; Tests try to get samples from <https://github.com/samtools/htslib>.
24545 (home-page "https://github.com/biogo/hts") 24510 #:test-flags #~(list "-skip" "TestHasEOF|TestRead")))
24546 (synopsis "HTS BAM module for biogo") 24511 (native-inputs
24547 (description "This package provides tools for handling BAM files.")
24548 (license license:bsd-3)))
24549
24550(define-public go-github-com-biogo-hts-sam
24551 (package
24552 (inherit go-github-com-biogo-hts-bam)
24553 (name "go-github-com-biogo-hts-sam")
24554 (arguments
24555 '(#:import-path "github.com/biogo/hts/sam"
24556 #:unpack-path "github.com/biogo/hts"))
24557 (propagated-inputs
24558 (list go-gopkg-in-check-v1))
24559 (synopsis "HTS SAM module for biogo")
24560 (description "This package provides tools for handling SAM files.")))
24561
24562(define-public go-github-com-biogo-hts-tabix
24563 (package
24564 (inherit go-github-com-biogo-hts-bam)
24565 (name "go-github-com-biogo-hts-tabix")
24566 (arguments
24567 '(#:import-path "github.com/biogo/hts/tabix"
24568 #:unpack-path "github.com/biogo/hts"))
24569 (propagated-inputs
24570 (list go-gopkg-in-check-v1))
24571 (synopsis "HTS Tabix module for biogo")
24572 (description "This package provides tools for handling Tabix files.")))
24573
24574(define-public go-github-com-biogo-hts-bgzf
24575 (package
24576 (inherit go-github-com-biogo-hts-bam)
24577 (name "go-github-com-biogo-hts-bgzf")
24578 (arguments
24579 '(#:import-path "github.com/biogo/hts/bgzf"
24580 #:unpack-path "github.com/biogo/hts"))
24581 (propagated-inputs
24582 (list go-gopkg-in-check-v1)) 24512 (list go-gopkg-in-check-v1))
24583 (synopsis "HTS bgzf module for biogo")
24584 (description "This package provides tools for handling bgzf files.")))
24585
24586(define-public go-github-com-biogo-hts-cram
24587 (package
24588 (inherit go-github-com-biogo-hts-bam)
24589 (name "go-github-com-biogo-hts-cram")
24590 (arguments
24591 '(#:import-path "github.com/biogo/hts/cram"
24592 #:unpack-path "github.com/biogo/hts"
24593 #:tests? #false)) ;require network access
24594 (propagated-inputs 24513 (propagated-inputs
24595 (list go-gopkg-in-check-v1 24514 (list go-github-com-ulikunitz-xz
24596 go-github-com-ulikunitz-xz
24597 go-github-com-kortschak-utter)) 24515 go-github-com-kortschak-utter))
24598 (synopsis "HTS CRAM module for biogo") 24516 (home-page "https://github.com/biogo/hts")
24599 (description "This package provides tools for handling CRAM files."))) 24517 (synopsis "HTS module for biogo")
24600 24518 (description
24601(define-public go-github-com-biogo-hts-csi 24519 "This package provides tools for handling BAM, SAM, Tabix, bgzf, CRAM,
24602 (package 24520CSIv1, CSIv2 and FAI files.")
24603 (inherit go-github-com-biogo-hts-bam) 24521 (license license:bsd-3)))
24604 (name "go-github-com-biogo-hts-csi")
24605 (arguments
24606 '(#:import-path "github.com/biogo/hts/csi"
24607 #:unpack-path "github.com/biogo/hts"))
24608 (propagated-inputs
24609 (list go-gopkg-in-check-v1))
24610 (synopsis "Coordinate sorted indexing for biogo")
24611 (description "This package implements CSIv1 and CSIv2 coordinate sorted
24612indexing.")))
24613
24614(define-public go-github-com-biogo-hts-fai
24615 (package
24616 (inherit go-github-com-biogo-hts-bam)
24617 (name "go-github-com-biogo-hts-fai")
24618 (arguments
24619 '(#:import-path "github.com/biogo/hts/fai"
24620 #:unpack-path "github.com/biogo/hts"))
24621 (propagated-inputs
24622 (list go-gopkg-in-check-v1))
24623 (synopsis "Fasta sequence file index handling for biogo")
24624 (description "This package implements FAI fasta sequence file index
24625handling.")))
24626 24522
24627(define-public go-github-com-biogo-biogo 24523(define-public go-github-com-biogo-biogo
24628 (package 24524 (package
@@ -24642,11 +24538,8 @@ handling.")))
24642 '(#:import-path "github.com/biogo/biogo")) 24538 '(#:import-path "github.com/biogo/biogo"))
24643 (propagated-inputs 24539 (propagated-inputs
24644 (list go-gopkg-in-check-v1 24540 (list go-gopkg-in-check-v1
24645 go-github-com-biogo-store-interval 24541 go-github-com-biogo-store
24646 go-github-com-biogo-store-kdtree 24542 go-github-com-biogo-hts
24647 go-github-com-biogo-store-llrb
24648 go-github-com-biogo-store-step
24649 go-github-com-biogo-hts-bam
24650 go-github-com-biogo-graph)) 24543 go-github-com-biogo-graph))
24651 (home-page "https://github.com/biogo/biogo") 24544 (home-page "https://github.com/biogo/biogo")
24652 (synopsis "Bioinformatics library for Go") 24545 (synopsis "Bioinformatics library for Go")
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index 6717db867f2..ed7a13a2c9d 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -49,7 +49,7 @@
49 #:use-module (gnu packages freedesktop) 49 #:use-module (gnu packages freedesktop)
50 #:use-module (gnu packages glib) 50 #:use-module (gnu packages glib)
51 #:use-module (gnu packages gnome) 51 #:use-module (gnu packages gnome)
52 #:use-module (gnu packages golang) 52 #:use-module (gnu packages golang-xyz)
53 #:use-module (gnu packages gtk) 53 #:use-module (gnu packages gtk)
54 #:use-module (gnu packages icu4c) 54 #:use-module (gnu packages icu4c)
55 #:use-module (gnu packages perl) 55 #:use-module (gnu packages perl)
@@ -436,36 +436,44 @@ configured to show the current time in different timezones.")
436 (license license:bsd-3)))) 436 (license license:bsd-3))))
437 437
438(define-public hebcal 438(define-public hebcal
439 (let ((commit "2384bb88dc1a41a4a5ae57a29fb58b2dd49a475d") 439 (package
440 (revision "0")) 440 (name "hebcal")
441 (package 441 (version "5.8.7")
442 (name "hebcal") 442 (source
443 (version (git-version "5.3.0" revision commit)) 443 (origin
444 (source (origin 444 (method git-fetch)
445 (method git-fetch) 445 (uri (git-reference
446 (uri (git-reference 446 (url "https://github.com/hebcal/hebcal")
447 (url "https://github.com/hebcal/hebcal") 447 (commit (string-append "v" version))))
448 (commit commit))) 448 (file-name (git-file-name name version))
449 (file-name (git-file-name name version)) 449 (sha256
450 (sha256 450 (base32 "1a1b9jip1ha6bzv6xg9fx47q167yzgbxjvrp5zngv175nzl9427j"))))
451 (base32 451 (build-system go-build-system)
452 "12rv3b51jb7wcjwmmizz9jkw7gh37yklys4xncvpzgxdkkfgmmjx")))) 452 (arguments
453 (build-system go-build-system) 453 (list
454 (arguments 454 #:install-source? #f
455 (list #:import-path "github.com/hebcal/hebcal")) 455 #:import-path "github.com/hebcal/hebcal"
456 (inputs 456 #:phases
457 (list go-github-com-hebcal-hebcal-go 457 #~(modify-phases %standard-phases
458 go-github-com-pborman-getopt)) 458 ;; taken from Makefile
459 (synopsis "Perpetual Jewish Calendar program") 459 (add-after 'unpack 'set-defautl-city
460 (description 460 (lambda* (#:key import-path #:allow-other-keys)
461 "Hebcal is a program for converting between Hebrew and Gregorian 461 (with-directory-excursion (string-append "src/" import-path)
462dates, and generating lists of Jewish holidays for a given year. 462 (with-output-to-file "dcity.go"
463Shabbat, holiday candle lighting, and havdalah times are approximated 463 (lambda ()
464using your location. 464 (format #t "package main~%var defaultCity = ~s~%"
465 "Paris")))))))))
466 (inputs
467 (list go-github-com-hebcal-hebcal-go
468 go-github-com-pborman-getopt-v2))
469 (home-page "https://github.com/hebcal/hebcal")
470 (synopsis "Perpetual Jewish Calendar program")
471 (description
472 "Hebcal is a program for converting between Hebrew and Gregorian dates,
473and generating lists of Jewish holidays for a given year. Shabbat, holiday
474candle lighting, and havdalah times are approximated using your location.
465 475
466It can also show daily prayer times, the weekly Torah reading, and 476It can also show daily prayer times, the weekly Torah reading, and the daily
467the daily leaf of Talmud. The program can help with counting of the 477leaf of Talmud. The program can help with counting of the Omer or with
468Omer or with calculation of Hebrew yahrzeits, birthdays, or 478calculation of Hebrew yahrzeits, birthdays, or anniversaries.")
469anniversaries.") 479 (license license:gpl2+)))
470 (home-page "https://github.com/hebcal/hebcal")
471 (license license:gpl2+))))
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 47047de59e0..df858af4bde 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -32,6 +32,7 @@
32;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com> 32;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
33;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> 33;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
34;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> 34;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
35;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
35;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com> 36;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com>
36;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> 37;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
37;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> 38;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
@@ -1124,6 +1125,53 @@ generation.")
1124similar to unit tests.") 1125similar to unit tests.")
1125 (license license:asl2.0))) 1126 (license license:asl2.0)))
1126 1127
1128(define-public gotestsum
1129 (package
1130 (name "gotestsum")
1131 (version "1.12.0")
1132 (source
1133 (origin
1134 (method git-fetch)
1135 (uri (git-reference
1136 (url "https://github.com/gotestyourself/gotestsum")
1137 (commit (string-append "v" version))))
1138 (file-name (git-file-name name version))
1139 (sha256
1140 (base32 "0fx92jh6ay4rk1ljbgp9b2m4fafqwy0a19q7lhdabgb1j8dvgxvs"))))
1141 (build-system go-build-system)
1142 (arguments
1143 (list
1144 #:import-path "gotest.tools/gotestsum"
1145 #:test-flags
1146 #~(list "-skip"
1147 (string-join
1148 (list "TestE2E_IgnoresWarnings"
1149 "TestE2E_MaxFails_EndTestRun"
1150 "TestScanTestOutput_TestTimeoutPanicRace/panic-race-2")
1151 "|"))
1152 ;; Run just unit test, integration tests from "testjson" require: run
1153 ;; 'go test . -update' to automatically update
1154 ;; testdata/summary/with-run-id to the new expected value.'
1155 #:test-subdirs #~(list "cmd/..." "internal/...")))
1156 (native-inputs
1157 (list go-github-com-bitfield-gotestdox
1158 go-github-com-dnephin-pflag
1159 go-github-com-fatih-color
1160 go-github-com-fsnotify-fsnotify
1161 go-github-com-google-go-cmp
1162 go-github-com-google-shlex
1163 go-golang-org-x-sync
1164 go-golang-org-x-sys
1165 go-golang-org-x-term
1166 go-golang-org-x-tools
1167 go-gotest-tools-v3))
1168 (synopsis "Go test runner with output optimized for humans")
1169 (description "This package provides a @code{go test} runner with output
1170optimized for humans, JUnit XML for CI integration, and a summary of the
1171test results.")
1172 (home-page "https://github.com/gotestyourself/gotestsum")
1173 (license license:asl2.0)))
1174
1127(define-public greatest 1175(define-public greatest
1128 (package 1176 (package
1129 (name "greatest") 1177 (name "greatest")
@@ -1301,7 +1349,7 @@ but it works for any C/C++ project.")
1301(define-public actionlint 1349(define-public actionlint
1302 (package 1350 (package
1303 (name "actionlint") 1351 (name "actionlint")
1304 (version "1.7.2") 1352 (version "1.7.6")
1305 (source 1353 (source
1306 (origin 1354 (origin
1307 (method git-fetch) 1355 (method git-fetch)
@@ -1310,7 +1358,7 @@ but it works for any C/C++ project.")
1310 (commit (string-append "v" version)))) 1358 (commit (string-append "v" version))))
1311 (file-name (git-file-name name version)) 1359 (file-name (git-file-name name version))
1312 (sha256 1360 (sha256
1313 (base32 "1rgsxv4clgfyl4gr8bjk81p4b87c6hr34flxzw6011h0vjc54n7x")))) 1361 (base32 "1waq9v48pbys8b8qmmvl0wi77jzri033fh8194gcwfzipvxb6y9l"))))
1314 (build-system go-build-system) 1362 (build-system go-build-system)
1315 (arguments 1363 (arguments
1316 (list 1364 (list
@@ -1322,13 +1370,16 @@ but it works for any C/C++ project.")
1322 #:unpack-path "github.com/rhysd/actionlint")) 1370 #:unpack-path "github.com/rhysd/actionlint"))
1323 ;; XXX: Install Man page, wrap with shellcheck and pyflakes. 1371 ;; XXX: Install Man page, wrap with shellcheck and pyflakes.
1324 (native-inputs 1372 (native-inputs
1325 (list go-github-com-fatih-color 1373 (list go-github-com-bmatcuk-doublestar-v4
1374 go-github-com-fatih-color
1375 go-github-com-google-go-cmp
1326 go-github-com-mattn-go-colorable 1376 go-github-com-mattn-go-colorable
1327 go-github-com-mattn-go-runewidth 1377 go-github-com-mattn-go-runewidth
1328 go-github-com-robfig-cron 1378 go-github-com-mattn-go-shellwords
1379 go-github-com-robfig-cron-v3
1380 go-github-com-yuin-goldmark
1329 go-golang-org-x-sync 1381 go-golang-org-x-sync
1330 go-golang-org-x-sync 1382 go-golang-org-x-sys
1331 go-github-com-google-go-cmp
1332 go-gopkg-in-yaml-v3)) 1383 go-gopkg-in-yaml-v3))
1333 (home-page "https://rhysd.github.io/actionlint/") 1384 (home-page "https://rhysd.github.io/actionlint/")
1334 (synopsis "Static checker for GitHub Actions workflow files") 1385 (synopsis "Static checker for GitHub Actions workflow files")
diff --git a/gnu/packages/configuration-management.scm b/gnu/packages/configuration-management.scm
index b654975a42e..36450ad70c7 100644
--- a/gnu/packages/configuration-management.scm
+++ b/gnu/packages/configuration-management.scm
@@ -25,9 +25,9 @@
25 #:use-module (gnu packages golang) 25 #:use-module (gnu packages golang)
26 #:use-module (gnu packages golang-build) 26 #:use-module (gnu packages golang-build)
27 #:use-module (gnu packages golang-check) 27 #:use-module (gnu packages golang-check)
28 #:use-module (gnu packages golang-vcs)
28 #:use-module (gnu packages golang-web) 29 #:use-module (gnu packages golang-web)
29 #:use-module (gnu packages golang-xyz) 30 #:use-module (gnu packages golang-xyz)
30 #:use-module (gnu packages version-control)
31 #:use-module (gnu packages textutils) 31 #:use-module (gnu packages textutils)
32 #:use-module ((guix licenses) #:prefix license:) 32 #:use-module ((guix licenses) #:prefix license:)
33 #:use-module (guix packages) 33 #:use-module (guix packages)
@@ -100,7 +100,7 @@
100 go-github-com-spf13-viper 100 go-github-com-spf13-viper
101 go-github-com-stretchr-testify 101 go-github-com-stretchr-testify
102 go-github-com-twpayne-go-shell 102 go-github-com-twpayne-go-shell
103 go-github-com-twpayne-go-vfs 103 go-github-com-twpayne-go-vfs-1.0.1
104 go-github-com-twpayne-go-vfsafero 104 go-github-com-twpayne-go-vfsafero
105 go-github-com-twpayne-go-xdg-v3 105 go-github-com-twpayne-go-xdg-v3
106 go-github-com-zalando-go-keyring 106 go-github-com-zalando-go-keyring
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index e5e3342b6dd..3e9cd517a23 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -49,8 +49,9 @@
49 #:use-module (gnu packages) 49 #:use-module (gnu packages)
50 #:use-module (gnu packages check) 50 #:use-module (gnu packages check)
51 #:use-module (gnu packages compression) 51 #:use-module (gnu packages compression)
52 #:use-module (gnu packages golang)
53 #:use-module (gnu packages golang-build) 52 #:use-module (gnu packages golang-build)
53 #:use-module (gnu packages golang-web)
54 #:use-module (gnu packages golang-xyz)
54 #:use-module (gnu packages guile) 55 #:use-module (gnu packages guile)
55 #:use-module (gnu packages kerberos) 56 #:use-module (gnu packages kerberos)
56 #:use-module (gnu packages logging) 57 #:use-module (gnu packages logging)
@@ -201,47 +202,50 @@ tunneling, and so on.")
201 (prepend libssh2))) 202 (prepend libssh2)))
202 (properties `((hidden? . #t))))) 203 (properties `((hidden? . #t)))))
203 204
205;; XXX: It looks like unmaintained, last time updated in 2018.
204(define-public kurly 206(define-public kurly
205 (package 207 (package
206 (name "kurly") 208 (name "kurly")
207 (version "1.2.2") 209 (version "1.2.2")
208 (source (origin 210 (source
209 (method git-fetch) 211 (origin
210 (uri (git-reference 212 (method git-fetch)
211 (url "https://gitlab.com/davidjpeacock/kurly.git") 213 (uri (git-reference
212 (commit (string-append "v" version)))) 214 (url "https://gitlab.com/davidjpeacock/kurly")
213 (file-name (git-file-name name version)) 215 (commit (string-append "v" version))))
214 (sha256 216 (file-name (git-file-name name version))
215 (base32 217 (sha256
216 "003jv2k45hg2svhjpy5253ccd250vi2r17x2zhm51iw54kgwxipm")))) 218 (base32 "003jv2k45hg2svhjpy5253ccd250vi2r17x2zhm51iw54kgwxipm"))))
217 (build-system go-build-system) 219 (build-system go-build-system)
218 (arguments 220 (arguments
219 `(#:import-path "gitlab.com/davidjpeacock/kurly" 221 (list
220 #:install-source? #f 222 #:install-source? #f
221 #:phases 223 #:import-path "gitlab.com/davidjpeacock/kurly"
222 (modify-phases %standard-phases 224 #:phases
223 (add-after 'install 'install-documentation 225 #~(modify-phases %standard-phases
224 (lambda* (#:key import-path outputs #:allow-other-keys) 226 (add-after 'install 'install-documentation
225 (let* ((source (string-append "src/" import-path)) 227 (lambda* (#:key import-path #:allow-other-keys)
226 (out (assoc-ref outputs "out")) 228 (let* ((source (string-append "src/" import-path))
227 (doc (string-append out "/share/doc/" ,name "-" ,version)) 229 (doc (string-append #$output "/share/doc/"
228 (man (string-append out "/share/man/man1"))) 230 #$name "-" #$version))
229 (with-directory-excursion source 231 (man (string-append #$output "/share/man/man1")))
230 (install-file "README.md" doc) 232 (with-directory-excursion source
231 (mkdir-p man) 233 (install-file "README.md" doc)
232 (copy-file "doc/kurly.man" 234 (mkdir-p man)
233 (string-append man "/kurly.1"))) 235 (copy-file "doc/kurly.man"
234 #t)))))) 236 (string-append man "/kurly.1")))))))))
235 (inputs 237 (inputs
236 (list go-github-com-alsm-ioprogress go-github-com-aki237-nscjar 238 (list go-github-com-alsm-ioprogress
239 go-github-com-aki237-nscjar
237 go-github-com-urfave-cli)) 240 go-github-com-urfave-cli))
238 (synopsis "Command-line HTTP client")
239 (description "kurly is an alternative to the @code{curl} program written in
240Go. kurly is designed to operate in a similar manner to curl, with select
241features. Notably, kurly is not aiming for feature parity, but common flags and
242mechanisms particularly within the HTTP(S) realm are to be expected. kurly does
243not offer a replacement for libcurl.")
244 (home-page "https://gitlab.com/davidjpeacock/kurly") 241 (home-page "https://gitlab.com/davidjpeacock/kurly")
242 (synopsis "Command-line HTTP client")
243 (description
244 "kurly is an alternative to the @code{curl} program written in Go. kurly
245is designed to operate in a similar manner to curl, with select features.
246Notably, kurly is not aiming for feature parity, but common flags and
247mechanisms particularly within the HTTP(S) realm are to be expected. kurly
248does not offer a replacement for libcurl.")
245 (license license:asl2.0))) 249 (license license:asl2.0)))
246 250
247(define-public guile-curl 251(define-public guile-curl
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index edcf536f7dc..95a9c1fa6cd 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -713,59 +713,6 @@ around TangentOrg’s libmemcached library, and can be used as a drop-in
713replacement for the @code{python-memcached} library.") 713replacement for the @code{python-memcached} library.")
714 (license license:bsd-3))) 714 (license license:bsd-3)))
715 715
716(define-public go-github-com-bradfitz-gomemcache
717 (package
718 (name "go-github-com-bradfitz-gomemcache")
719 (version "0.0.0-20190913173617-a41fca850d0b")
720 (source
721 (origin
722 (method git-fetch)
723 (uri (git-reference
724 (url "https://github.com/bradfitz/gomemcache")
725 (commit (go-version->git-ref version))))
726 (file-name (git-file-name name version))
727 (sha256
728 (base32 "18qpds6xr73jy80pj7l3pc1l1ndcy3va2dl8fzk17bgwg49sxwfz"))
729 (modules '((guix build utils)))
730 (snippet
731 '(begin
732 ;; Fixes the 'untyped-int -> string of one rune' issue.
733 ;; https://github.com/golang/go/issues/32479
734 (substitute* "memcache/memcache_test.go"
735 (("string\\(0x7f") "string(rune(0x7f)"))))))
736 (build-system go-build-system)
737 (arguments
738 '(#:unpack-path "github.com/bradfitz/gomemcache"
739 #:import-path "github.com/bradfitz/gomemcache/memcache"))
740 (home-page "https://github.com/bradfitz/gomemcache")
741 (synopsis "Memcache client library in Go")
742 (description
743 "This is a memcache client library for the Go programming language.")
744 (license license:asl2.0)))
745
746(define-public go-github-com-couchbase-gomemcached
747 (package
748 (name "go-github-com-couchbase-gomemcached")
749 (version "0.1.4")
750 (source
751 (origin
752 (method git-fetch)
753 (uri (git-reference
754 (url "https://github.com/couchbase/gomemcached")
755 (commit (string-append "v" version))))
756 (file-name (git-file-name name version))
757 (sha256
758 (base32 "10w74gc05x5naspls39sv2r92krrg31mk266w3lyqqwc0s3fxysl"))))
759 (build-system go-build-system)
760 (arguments '(#:import-path "github.com/couchbase/gomemcached"))
761 (native-inputs
762 (list go-github-com-stretchr-testify))
763 (home-page "https://github.com/couchbase/gomemcached")
764 (synopsis "Memcached binary protocol toolkit for go")
765 (description
766 "This package provides memcache client and server functionality.")
767 (license license:expat)))
768
769(define-public litecli 716(define-public litecli
770 (package 717 (package
771 (name "litecli") 718 (name "litecli")
@@ -3030,32 +2977,6 @@ one-to-one, while still providing an idiomatic interface.")
3030 "Package rdb implements parsing and encoding of the Redis RDB file format.") 2977 "Package rdb implements parsing and encoding of the Redis RDB file format.")
3031 (license license:expat))) 2978 (license license:expat)))
3032 2979
3033(define-public go-github-com-gomodule-redigo
3034 (package
3035 (name "go-github-com-gomodule-redigo")
3036 (version "1.8.8")
3037 (source
3038 (origin
3039 (method git-fetch)
3040 (uri (git-reference
3041 (url "https://github.com/gomodule/redigo")
3042 (commit (string-append "v" version))))
3043 (file-name (git-file-name name version))
3044 (sha256
3045 (base32 "0wplaaxg7f6c6c08gdp33l48hygn8gq1rhlnjzr1c9qcggsm07k1"))))
3046 (build-system go-build-system)
3047 (arguments
3048 '(#:unpack-path "github.com/gomodule/redigo"
3049 #:import-path "github.com/gomodule/redigo/redis"))
3050 (native-inputs
3051 (list go-github-com-stretchr-testify
3052 redis))
3053 (home-page "https://github.com/gomodule/redigo")
3054 (synopsis "Go client for Redis")
3055 (description
3056 "Redigo is a Go client for the Redis database.")
3057 (license license:asl2.0)))
3058
3059(define-public kyotocabinet 2980(define-public kyotocabinet
3060 (package 2981 (package
3061 (name "kyotocabinet") 2982 (name "kyotocabinet")
@@ -3676,34 +3597,6 @@ etc., and an SQL engine for performing simple SQL queries.")
3676 (license (list license:lgpl2.0 3597 (license (list license:lgpl2.0
3677 license:gpl2+)))) 3598 license:gpl2+))))
3678 3599
3679(define-public go-gopkg-in-mgo-v2
3680 (package
3681 (name "go-gopkg-in-mgo-v2")
3682 (version "2.0.0-20190816093944-a6b53ec6cb22")
3683 (source
3684 (origin
3685 (method git-fetch)
3686 (uri (git-reference
3687 (url "https://gopkg.in/mgo.v2")
3688 (commit (go-version->git-ref version))))
3689 (file-name (git-file-name name version))
3690 (sha256
3691 (base32 "1lgvwxsbmdrf4938qkxl56wbwgbphk2qqnmpf73qdmlv4qsg14na"))))
3692 (build-system go-build-system)
3693 (arguments
3694 '(#:tests? #f ; Tests try to use a running mongodb server.
3695 #:import-path "gopkg.in/mgo.v2"))
3696 (propagated-inputs
3697 (list go-gopkg.in-tomb.v2))
3698 (inputs
3699 (list cyrus-sasl))
3700 (native-inputs
3701 (list go-gopkg-in-check-v1))
3702 (home-page "https://gopkg.in/mgo.v2")
3703 (synopsis "MongoDB driver for Go")
3704 (description "This package provides a MongoDB driver for Go.")
3705 (license license:bsd-2)))
3706
3707(define-public python-lmdb 3600(define-public python-lmdb
3708 (package 3601 (package
3709 (name "python-lmdb") 3602 (name "python-lmdb")
@@ -5803,7 +5696,17 @@ compatible with SQLite using a graphical user interface.")
5803 (arguments 5696 (arguments
5804 (list 5697 (list
5805 #:install-source? #f 5698 #:install-source? #f
5806 #:import-path "github.com/lighttiger2505/sqls")) 5699 #:import-path "github.com/lighttiger2505/sqls"
5700 ;; XXX: Try to enable more or all tests.
5701 #:test-subdirs #~(list "ast/..."
5702 "dialect/..."
5703 "parser/..."
5704 "internal/completer"
5705 "internal/config/..."
5706 "internal/database"
5707 "internal/debug"
5708 "internal/formatter"
5709 "internal/lsp")))
5807 (native-inputs 5710 (native-inputs
5808 (list go-github-com-google-go-cmp 5711 (list go-github-com-google-go-cmp
5809 go-github-com-go-sql-driver-mysql 5712 go-github-com-go-sql-driver-mysql
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 800034624e4..3616faf61cd 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -71,7 +71,6 @@
71 #:use-module (gnu packages glib) 71 #:use-module (gnu packages glib)
72 #:use-module (gnu packages gnome) 72 #:use-module (gnu packages gnome)
73 #:use-module (gnu packages gnupg) 73 #:use-module (gnu packages gnupg)
74 #:use-module (gnu packages golang)
75 #:use-module (gnu packages golang-build) 74 #:use-module (gnu packages golang-build)
76 #:use-module (gnu packages golang-xyz) 75 #:use-module (gnu packages golang-xyz)
77 #:use-module (gnu packages graphics) 76 #:use-module (gnu packages graphics)
@@ -1324,7 +1323,7 @@ on your file system and offers to remove it. @command{rmlint} can find:
1324(define-public lf 1323(define-public lf
1325 (package 1324 (package
1326 (name "lf") 1325 (name "lf")
1327 (version "31") 1326 (version "33")
1328 (source 1327 (source
1329 (origin 1328 (origin
1330 (method git-fetch) 1329 (method git-fetch)
@@ -1333,7 +1332,7 @@ on your file system and offers to remove it. @command{rmlint} can find:
1333 (commit (string-append "r" version)))) 1332 (commit (string-append "r" version))))
1334 (file-name (git-file-name name version)) 1333 (file-name (git-file-name name version))
1335 (sha256 1334 (sha256
1336 (base32 "03icsf4c3j7295s1d8s6srz5gf09a3lghgw3zfcd86p03zhkzsaf")))) 1335 (base32 "1jmqf27ysi35n3hqahlzs5hym7i4w1mplklrvv0lc0baddzx7av8"))))
1337 (build-system go-build-system) 1336 (build-system go-build-system)
1338 (arguments 1337 (arguments
1339 (list 1338 (list
@@ -1341,10 +1340,13 @@ on your file system and offers to remove it. @command{rmlint} can find:
1341 #:import-path "github.com/gokcehan/lf")) 1340 #:import-path "github.com/gokcehan/lf"))
1342 (native-inputs 1341 (native-inputs
1343 (list go-github-com-djherbis-times 1342 (list go-github-com-djherbis-times
1343 go-github-com-fsnotify-fsnotify
1344 go-github-com-gdamore-tcell-v2 1344 go-github-com-gdamore-tcell-v2
1345 go-github-com-mattn-go-runewidth 1345 go-github-com-mattn-go-runewidth
1346 go-github-com-xuanwo-go-locale
1347 go-golang-org-x-sys
1346 go-golang-org-x-term 1348 go-golang-org-x-term
1347 go-gopkg-in-djherbis-times-v1)) 1349 go-golang-org-x-text))
1348 (home-page "https://github.com/gokcehan/lf") 1350 (home-page "https://github.com/gokcehan/lf")
1349 (synopsis "Console file browser similar to Ranger") 1351 (synopsis "Console file browser similar to Ranger")
1350 (description 1352 (description
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index bfc1898220c..aeed94e8040 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -45,6 +45,8 @@
45 #:use-module (gnu packages glib) 45 #:use-module (gnu packages glib)
46 #:use-module (gnu packages golang) 46 #:use-module (gnu packages golang)
47 #:use-module (gnu packages golang-build) 47 #:use-module (gnu packages golang-build)
48 #:use-module (gnu packages golang-web)
49 #:use-module (gnu packages golang-xyz)
48 #:use-module (gnu packages linux) 50 #:use-module (gnu packages linux)
49 #:use-module (gnu packages networking) 51 #:use-module (gnu packages networking)
50 #:use-module (gnu packages pkg-config) 52 #:use-module (gnu packages pkg-config)
@@ -194,6 +196,9 @@ Python without keeping their credentials in a Docker configuration file.")
194 "REVISION=0"))) 196 "REVISION=0")))
195 (list 197 (list
196 #:import-path "github.com/containerd/containerd" 198 #:import-path "github.com/containerd/containerd"
199 ;; XXX: This package contains full vendor, tests fail when run with
200 ;; "...", limit to the project's root. Try to unvendor.
201 #:test-subdirs #~(list ".")
197 #:phases 202 #:phases
198 #~(modify-phases %standard-phases 203 #~(modify-phases %standard-phases
199 (add-after 'unpack 'patch-paths 204 (add-after 'unpack 'patch-paths
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 44c9c17eb83..f42a2169722 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -47,7 +47,6 @@
47 #:use-module (gnu packages gettext) 47 #:use-module (gnu packages gettext)
48 #:use-module (gnu packages glib) 48 #:use-module (gnu packages glib)
49 #:use-module (gnu packages gnome) 49 #:use-module (gnu packages gnome)
50 #:use-module (gnu packages golang)
51 #:use-module (gnu packages golang-build) 50 #:use-module (gnu packages golang-build)
52 #:use-module (gnu packages golang-check) 51 #:use-module (gnu packages golang-check)
53 #:use-module (gnu packages golang-web) 52 #:use-module (gnu packages golang-web)
@@ -320,7 +319,8 @@ Currently available boards include:
320 (with-directory-excursion bin 319 (with-directory-excursion bin
321 (rename-file "v1" "gotypist")))))))) 320 (rename-file "v1" "gotypist"))))))))
322 (native-inputs 321 (native-inputs
323 (list go-github-com-gizak-termui go-github-com-stretchr-testify)) 322 (list go-github-com-gizak-termui-v3
323 go-github-com-stretchr-testify))
324 (home-page "https://github.com/KappaDistributive/gotypist") 324 (home-page "https://github.com/KappaDistributive/gotypist")
325 (synopsis "Simple typing trainer for text terminals") 325 (synopsis "Simple typing trainer for text terminals")
326 (description 326 (description
@@ -1111,7 +1111,7 @@ machine, and more.")
1111(define-public exercism 1111(define-public exercism
1112 (package 1112 (package
1113 (name "exercism") 1113 (name "exercism")
1114 (version "3.1.0") 1114 (version "3.5.4")
1115 (source 1115 (source
1116 (origin 1116 (origin
1117 (method git-fetch) 1117 (method git-fetch)
@@ -1121,7 +1121,7 @@ machine, and more.")
1121 (file-name (git-file-name name version)) 1121 (file-name (git-file-name name version))
1122 (sha256 1122 (sha256
1123 (base32 1123 (base32
1124 "0ah5v4pqq31bvj7s4rg3jyjn7jwxa15w31cn4c317gsqmi0n8rzl")) 1124 "0shh84g7j977kn9kcm09rj3lz6a3y5qq9yvklsldgb9zvass5szd"))
1125 (patches (search-patches "exercism-disable-self-update.patch")))) 1125 (patches (search-patches "exercism-disable-self-update.patch"))))
1126 (build-system go-build-system) 1126 (build-system go-build-system)
1127 (arguments 1127 (arguments
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index 06aab0801c0..22dcb4d9b0f 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -511,6 +511,7 @@ significantly increases the risk of irreversible data loss!")
511 (build-system go-build-system) 511 (build-system go-build-system)
512 (arguments 512 (arguments
513 (list 513 (list
514 #:install-source? #f
514 #:import-path "github.com/rfjakob/gocryptfs" 515 #:import-path "github.com/rfjakob/gocryptfs"
515 #:build-flags 516 #:build-flags
516 #~(list 517 #~(list
@@ -519,6 +520,15 @@ significantly increases the risk of irreversible data loss!")
519 " -X main.GitVersionFuse=" #$(package-version 520 " -X main.GitVersionFuse=" #$(package-version
520 go-github-com-hanwen-go-fuse-v2) 521 go-github-com-hanwen-go-fuse-v2)
521 " -X main.BuildDate=" "[reproducible]")) 522 " -X main.BuildDate=" "[reproducible]"))
523 #:test-flags
524 #~(list "-skip" (string-join
525 (list "TestPrepareAtSyscall"
526 "TestPrepareAtSyscallPlaintextnames"
527 "TestGetdents")
528 "|"))
529 ;; XXX: Test suit requires a root access to mount, limit to some unit
530 ;; tests, figure out how to enable most of the them.
531 #:test-subdirs #~(list "internal/...")
522 #:phases 532 #:phases
523 #~(modify-phases %standard-phases 533 #~(modify-phases %standard-phases
524 ;; after 'check phase, should maybe unmount leftover mounts as in 534 ;; after 'check phase, should maybe unmount leftover mounts as in
@@ -536,18 +546,14 @@ significantly increases the risk of irreversible data loss!")
536 "github.com/rfjakob/gocryptfs/contrib/findholes" 546 "github.com/rfjakob/gocryptfs/contrib/findholes"
537 "github.com/rfjakob/gocryptfs/contrib/atomicrename"))))))) 547 "github.com/rfjakob/gocryptfs/contrib/atomicrename")))))))
538 (native-inputs (list 548 (native-inputs (list
539 go-github-com-hanwen-go-fuse-v2
540 go-github-com-aperturerobotics-jacobsa-crypto 549 go-github-com-aperturerobotics-jacobsa-crypto
541 go-github-com-jacobsa-oglematchers 550 go-github-com-hanwen-go-fuse-v2
542 go-github-com-jacobsa-oglemock 551 go-github-com-moby-sys-mountinfo
543 go-github-com-jacobsa-ogletest
544 go-github-com-jacobsa-reqtrace
545 go-github-com-pkg-xattr 552 go-github-com-pkg-xattr
546 go-github-com-rfjakob-eme 553 go-github-com-rfjakob-eme
547 go-github-com-sabhiram-go-gitignore 554 go-github-com-sabhiram-go-gitignore
548 go-github-com-spf13-pflag 555 go-github-com-spf13-pflag
549 go-golang-org-x-crypto 556 go-golang-org-x-crypto
550 go-golang-org-x-net
551 go-golang-org-x-sys 557 go-golang-org-x-sys
552 go-golang-org-x-term 558 go-golang-org-x-term
553 openssl 559 openssl
@@ -1960,31 +1966,6 @@ Dropbox API v2.")
1960local file system using FUSE.") 1966local file system using FUSE.")
1961 (license license:gpl3+))) 1967 (license license:gpl3+)))
1962 1968
1963(define-public go-github-com-hanwen-fuse
1964 (package
1965 (name "go-github-com-hanwen-fuse")
1966 (version "2.0.3")
1967 (source
1968 (origin
1969 (method git-fetch)
1970 (uri (git-reference
1971 (url "https://github.com/hanwen/go-fuse")
1972 (commit (string-append "v" version))))
1973 (file-name (git-file-name name version))
1974 (sha256
1975 (base32
1976 "1y44d08fxyis99s6jxdr6dbbw5kv3wb8lkhq3xmr886i4w41lz03"))))
1977 (build-system go-build-system)
1978 (arguments
1979 `(#:import-path "github.com/hanwen/go-fuse"))
1980 (propagated-inputs
1981 (list go-golang-org-x-sys))
1982 (home-page "https://github.com/hanwen/go-fuse")
1983 (synopsis "FUSE bindings for Go")
1984 (description
1985 "This package provides Go native bindings for the FUSE kernel module.")
1986 (license license:bsd-3)))
1987
1988(define-public rewritefs 1969(define-public rewritefs
1989 (let ((revision "1") 1970 (let ((revision "1")
1990 (commit "3a56de8b5a2d44968b8bc3885c7d661d46367306")) 1971 (commit "3a56de8b5a2d44968b8bc3885c7d661d46367306"))
@@ -2146,7 +2127,7 @@ memory-efficient.")
2146 (setenv "DESTDIR" #$output) 2127 (setenv "DESTDIR" #$output)
2147 (invoke "make" "install"))))))) 2128 (invoke "make" "install")))))))
2148 (inputs 2129 (inputs
2149 (list go-github-com-mattn-go-sqlite3 go-github-com-hanwen-fuse)) 2130 (list go-github-com-mattn-go-sqlite3 go-github-com-hanwen-go-fuse))
2150 (home-page "https://github.com/oniony/TMSU") 2131 (home-page "https://github.com/oniony/TMSU")
2151 (synopsis "Tag files and access them through a virtual file system") 2132 (synopsis "Tag files and access them through a virtual file system")
2152 (description 2133 (description
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index e55a04b4c31..ae40e5786e5 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -157,6 +157,7 @@
157 #:use-module (gnu packages gnuzilla) 157 #:use-module (gnu packages gnuzilla)
158 #:use-module (gnu packages golang) 158 #:use-module (gnu packages golang)
159 #:use-module (gnu packages golang-build) 159 #:use-module (gnu packages golang-build)
160 #:use-module (gnu packages golang-xyz)
160 #:use-module (gnu packages gperf) 161 #:use-module (gnu packages gperf)
161 #:use-module (gnu packages graphics) 162 #:use-module (gnu packages graphics)
162 #:use-module (gnu packages graphviz) 163 #:use-module (gnu packages graphviz)
@@ -10657,7 +10658,7 @@ terminal full-window applications.")
10657 '(#:import-path "git.tuxfamily.org/harmonist/harmonist")) 10658 '(#:import-path "git.tuxfamily.org/harmonist/harmonist"))
10658 (inputs 10659 (inputs
10659 `(("go-github-com-gdamore-tcell-v2" ,go-github-com-gdamore-tcell-v2) 10660 `(("go-github-com-gdamore-tcell-v2" ,go-github-com-gdamore-tcell-v2)
10660 ("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go) 10661 ("go-github-com-nsf-termbox-go" ,go-github-com-nsf-termbox-go)
10661 ("go-github-com-anaseto-gruid" ,go-github-com-anaseto-gruid) 10662 ("go-github-com-anaseto-gruid" ,go-github-com-anaseto-gruid)
10662 ("go-github-com-anaseto-gruid-tcell" ,go-github-com-anaseto-gruid-tcell))) 10663 ("go-github-com-anaseto-gruid-tcell" ,go-github-com-anaseto-gruid-tcell)))
10663 (home-page "https://harmonist.tuxfamily.org/") 10664 (home-page "https://harmonist.tuxfamily.org/")
diff --git a/gnu/packages/golang-build.scm b/gnu/packages/golang-build.scm
index 7049acf8c2b..b7e6d14e379 100644
--- a/gnu/packages/golang-build.scm
+++ b/gnu/packages/golang-build.scm
@@ -1,12 +1,12 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2018, 2019, 2020 Leo Famulari <leo@famulari.name> 2;;; Copyright © 2017-2020 Leo Famulari <leo@famulari.name>
3;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com> 3;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
4;;; Copyright © 2019, 2020 Vagrant Cascadian <vagrant@debian.org>
4;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org> 5;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
5;;; Copyright © 2020 HiPhish <hiphish@posteo.de> 6;;; Copyright © 2020 HiPhish <hiphish@posteo.de>
6;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> 7;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
7;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> 8;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
8;;; Copyright © 2020 Vagrant Cascadian <vagrant@debian.org> 9;;; Copyright © 2020, 2022, 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
9;;; Copyright © 2020, 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
10;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net> 10;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
11;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org> 11;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
12;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> 12;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
@@ -59,10 +59,41 @@
59;;; 59;;;
60;;; Code: 60;;; Code:
61 61
62(define-public go-github-com-goccmack-gocc
63 (package
64 (name "go-github-com-goccmack-gocc")
65 (version "0.0.0-20230228185258-2292f9e40198")
66 (source
67 (origin
68 (method git-fetch)
69 (uri (git-reference
70 (url "https://github.com/goccmack/gocc")
71 (commit (go-version->git-ref version))))
72 (file-name (git-file-name name version))
73 (sha256
74 (base32 "0ah1z1bmn9y9sbh2z1jxsjgsrv1rfrzzzi4c4nq646z2n25c2x8s"))))
75 (build-system go-build-system)
76 (arguments
77 (list
78 #:import-path "github.com/goccmack/gocc"
79 ;; Test requiring gocc in PATH.
80 #:test-flags #~(list "-skip" "TestEmptyKeyword")))
81 (propagated-inputs
82 (list go-golang-org-x-mod))
83 (home-page "https://github.com/goccmack/gocc")
84 (synopsis "Parser/Scanner Generator")
85 (description
86 "Gocc is a compiler kit for Go written in Go. Gocc generates lexers and
87parsers or stand-alone DFAs or parsers from a BNF. Lexers are DFAs, which
88recognise regular languages. Gocc lexers accept UTF-8 input. Gocc parsers are
89PDAs, which recognise LR-1 languages. Optional LR1 conflict handling
90automatically resolves shift / reduce and reduce / reduce conflicts.")
91 (license license:asl2.0)))
92
62(define-public go-github-com-golang-glog 93(define-public go-github-com-golang-glog
63 (package 94 (package
64 (name "go-github-com-golang-glog") 95 (name "go-github-com-golang-glog")
65 (version "1.2.2") 96 (version "1.2.3")
66 (source 97 (source
67 (origin 98 (origin
68 (method git-fetch) 99 (method git-fetch)
@@ -71,11 +102,13 @@
71 (commit (string-append "v" version)))) 102 (commit (string-append "v" version))))
72 (file-name (git-file-name name version)) 103 (file-name (git-file-name name version))
73 (sha256 104 (sha256
74 (base32 "1a9ybpgp6grlpbhg2559sh54pxc9qfkhr4zvylw8qv1bny8c90q0")))) 105 (base32 "1sfgcf18wg4glcamgq9njmbny17xq0dd14g3094sj5c1cwjij982"))))
75 (build-system go-build-system) 106 (build-system go-build-system)
76 (arguments 107 (arguments
77 (list 108 (list
78 #:import-path "github.com/golang/glog")) 109 #:import-path "github.com/golang/glog"))
110 (native-inputs
111 (list go-github-com-google-go-cmp))
79 (home-page "https://github.com/golang/glog") 112 (home-page "https://github.com/golang/glog")
80 (synopsis "Leveled execution logs for Golang") 113 (synopsis "Leveled execution logs for Golang")
81 (description 114 (description
@@ -103,14 +136,7 @@ functions that have a name matched by regex:.")
103 #:import-path "github.com/golang/protobuf" 136 #:import-path "github.com/golang/protobuf"
104 #:phases 137 #:phases
105 #~(modify-phases %standard-phases 138 #~(modify-phases %standard-phases
106 ;; XXX: Workaround for go-build-system's lack of Go modules 139 (delete 'build)))) ; no go files in project's root
107 ;; support.
108 (delete 'build)
109 (replace 'check
110 (lambda* (#:key tests? import-path #:allow-other-keys)
111 (when tests?
112 (with-directory-excursion (string-append "src/" import-path)
113 (invoke "go" "test" "-v" "./..."))))))))
114 (native-inputs 140 (native-inputs
115 (list go-github-com-google-go-cmp)) 141 (list go-github-com-google-go-cmp))
116 (propagated-inputs 142 (propagated-inputs
@@ -279,10 +305,93 @@ replace a file or symbolic link.")
2791.1: Authentication and Security Services.") 3051.1: Authentication and Security Services.")
280 (license license:bsd-3))) 306 (license license:bsd-3)))
281 307
308(define-public go-github-com-mmcloughlin-avo
309 (package
310 (name "go-github-com-mmcloughlin-avo")
311 (version "0.6.0")
312 (source
313 (origin
314 (method git-fetch)
315 (uri (git-reference
316 (url "https://github.com/mmcloughlin/avo")
317 (commit (string-append "v" version))))
318 (file-name (git-file-name name version))
319 (sha256
320 (base32 "0lv771lb9nxaxqiz7l83k35rc82588xihixxrik6yapg13v675mp"))))
321 (build-system go-build-system)
322 (arguments
323 (list
324 #:import-path "github.com/mmcloughlin/avo"))
325 (propagated-inputs
326 (list go-golang-org-x-arch
327 go-golang-org-x-sys
328 go-golang-org-x-tools))
329 (home-page "https://github.com/mmcloughlin/avo")
330 (synopsis "Generate x86 Assembly with Go")
331 (description
332 "The avo package presents a familiar assembly-like interface that
333simplifies development without sacrificing performance.")
334 (license license:bsd-3)))
335
336;; XXX: This repository has been archived by the owner on Dec 1, 2021. It is
337;; now read-only.
338(define-public go-github-com-pkg-errors
339 (package
340 (name "go-github-com-pkg-errors")
341 (version "0.9.1")
342 (source
343 (origin
344 (method git-fetch)
345 (uri (git-reference
346 (url "https://github.com/pkg/errors")
347 (commit (string-append "v" version))))
348 (file-name (git-file-name name version))
349 (sha256
350 (base32 "1761pybhc2kqr6v5fm8faj08x9bql8427yqg6vnfv6nhrasx1mwq"))))
351 (build-system go-build-system)
352 (arguments
353 (list
354 ;; Tests fail with a newer version of Golang (1.21) due to some API
355 ;; changes in how the module path is calculated which is not reflected
356 ;; in tests.
357 #:tests? #f
358 #:import-path "github.com/pkg/errors"))
359 (home-page "https://github.com/pkg/errors")
360 (synopsis "Go error handling primitives")
361 (description
362 "This package provides @code{error}, which offers simple error handling
363primitives in Go.")
364 (license license:bsd-2)))
365
366(define-public go-github-com-twitchyliquid64-golang-asm
367 (package
368 (name "go-github-com-twitchyliquid64-golang-asm")
369 (version "0.15.1")
370 (source
371 (origin
372 (method git-fetch)
373 (uri (git-reference
374 (url "https://github.com/twitchyliquid64/golang-asm")
375 (commit (string-append "v" version))))
376 (file-name (git-file-name name version))
377 (sha256
378 (base32 "1akw41i0snxqw9lqzmnn4gx6hd5js5dr1vmfkm49wxans4k14vw4"))))
379 (build-system go-build-system)
380 (arguments
381 (list
382 #:import-path "github.com/twitchyliquid64/golang-asm"))
383 (home-page "https://github.com/twitchyliquid64/golang-asm")
384 (synopsis "Assembler from the Go compiler, in library form")
385 (description
386 "This package provides a mirror of the assembler from the Go compiler, with
387import paths re-written for the assembler to be functional as a standalone
388library.")
389 (license license:bsd-3)))
390
282(define-public go-github-com-yuin-goldmark 391(define-public go-github-com-yuin-goldmark
283 (package 392 (package
284 (name "go-github-com-yuin-goldmark") 393 (name "go-github-com-yuin-goldmark")
285 (version "1.7.4") 394 (version "1.7.8")
286 (source 395 (source
287 (origin 396 (origin
288 (method git-fetch) 397 (method git-fetch)
@@ -291,24 +400,20 @@ replace a file or symbolic link.")
291 (commit (string-append "v" version)))) 400 (commit (string-append "v" version))))
292 (file-name (git-file-name name version)) 401 (file-name (git-file-name name version))
293 (sha256 402 (sha256
294 (base32 "01807xs8501cyhkrrgg6k9ghl9jrw6dp0ry9knygck48canckxs2")))) 403 (base32 "1iz7x1hqdixx8dkcbaa8lr842i59n843mc553jv5grq057s76yjx"))))
295 (build-system go-build-system) 404 (build-system go-build-system)
296 (arguments 405 (arguments
297 (list 406 (list
298 #:import-path "github.com/yuin/goldmark" 407 #:import-path "github.com/yuin/goldmark"
299 #:phases 408 #:phases
300 #~(modify-phases %standard-phases 409 #~(modify-phases %standard-phases
301 ;; XXX: Workaround for go-build-system's lack of Go modules 410 (add-before 'check 'pre-check
302 ;; support. 411 (lambda* (#:key tests? #:allow-other-keys)
303 (replace 'check
304 (lambda* (#:key tests? import-path #:allow-other-keys)
305 (when tests? 412 (when tests?
306 ;; We need to extend the timeout on some architectures. 413 ;; We need to extend the timeout on some architectures.
307 ;; 64 is the default in extra_test.go. 414 ;; 64 is the default in extra_test.go.
308 (setenv "GOLDMARK_TEST_TIMEOUT_MULTIPLIER" 415 (setenv "GOLDMARK_TEST_TIMEOUT_MULTIPLIER"
309 (number->string (* 64 5))) 416 (number->string (* 64 5)))))))))
310 (with-directory-excursion (string-append "src/" import-path)
311 (invoke "go" "test" "-v" "./..."))))))))
312 (home-page "https://github.com/yuin/goldmark/") 417 (home-page "https://github.com/yuin/goldmark/")
313 (synopsis "Markdown parser") 418 (synopsis "Markdown parser")
314 (description 419 (description
@@ -318,7 +423,7 @@ replace a file or symbolic link.")
318(define-public go-github-com-yuin-goldmark-emoji 423(define-public go-github-com-yuin-goldmark-emoji
319 (package 424 (package
320 (name "go-github-com-yuin-goldmark-emoji") 425 (name "go-github-com-yuin-goldmark-emoji")
321 (version "1.0.3") 426 (version "1.0.4")
322 (source 427 (source
323 (origin 428 (origin
324 (method git-fetch) 429 (method git-fetch)
@@ -327,7 +432,7 @@ replace a file or symbolic link.")
327 (commit (string-append "v" version)))) 432 (commit (string-append "v" version))))
328 (file-name (git-file-name name version)) 433 (file-name (git-file-name name version))
329 (sha256 434 (sha256
330 (base32 "1mx8rkxd3ksvgi41jvf365x9mf00sxiqq4wm75x4sasd2lgcbrl4")))) 435 (base32 "001dgjaa9crbl1yb803gyq1dbcnnfzvv205ycgd97qw9p4xjg21g"))))
331 (build-system go-build-system) 436 (build-system go-build-system)
332 (arguments 437 (arguments
333 (list 438 (list
@@ -341,10 +446,44 @@ replace a file or symbolic link.")
341@url{http://github.com/yuin/goldmark,goldmark}.") 446@url{http://github.com/yuin/goldmark,goldmark}.")
342 (license license:expat))) 447 (license license:expat)))
343 448
449(define-public go-golang-org-x-arch
450 (package
451 (name "go-golang-org-x-arch")
452 (version "0.12.0")
453 (source
454 (origin
455 (method git-fetch)
456 (uri (git-reference
457 (url "https://go.googlesource.com/arch")
458 (commit (string-append "v" version))))
459 (file-name (git-file-name name version))
460 (sha256
461 (base32 "104mnfx3v6lwjndjd35ly8r6yb4bb74lq5sq1cqpxw38mqyzqmx2"))))
462 (build-system go-build-system)
463 (arguments
464 (list
465 #:skip-build? #t
466 #:import-path "golang.org/x/arch"
467 #:test-subdirs #~(list "arm/..."
468 "arm64/..."
469 "loong64/..."
470 "ppc64/..."
471 ;; "riscv64/..."; failed to build tests
472 "s390x/..."
473 "x86/...")))
474 (native-inputs
475 (list go-rsc-io-pdf))
476 (home-page "https://go.googlesource.com/arch")
477 (synopsis "Machine architecture information used by the Go toolchain")
478 (description
479 "This package provides a machine architecture information used by the Go
480toolchain. The parts needed in the main Go repository are copied in.")
481 (license license:bsd-3)))
482
344(define-public go-golang-org-x-crypto 483(define-public go-golang-org-x-crypto
345 (package 484 (package
346 (name "go-golang-org-x-crypto") 485 (name "go-golang-org-x-crypto")
347 (version "0.27.0") 486 (version "0.31.0")
348 (source 487 (source
349 (origin 488 (origin
350 (method git-fetch) 489 (method git-fetch)
@@ -353,74 +492,44 @@ replace a file or symbolic link.")
353 (commit (string-append "v" version)))) 492 (commit (string-append "v" version))))
354 (file-name (git-file-name name version)) 493 (file-name (git-file-name name version))
355 (sha256 494 (sha256
356 (base32 "1b5jgzz7fn1br2vw6m90z902i5r14sp0wj8s0lvlbm79xvi38x19")))) 495 (base32 "0pd3qipz2wb5wbbb44lgbfygxhf9lq5rknf82p2dmaicszn0rd53"))
496 (modules '((guix build utils)))
497 (snippet
498 #~(begin
499 ;; Submodules with their own go.mod files and packaged separatly:
500 ;;
501 ;; - olang.org/x/crypto/x509roots/fallback
502 (for-each delete-file-recursively (list "x509roots/fallback"))))))
357 (build-system go-build-system) 503 (build-system go-build-system)
358 (arguments 504 (arguments
359 (list 505 (list
506 #:skip-build? #t
360 #:import-path "golang.org/x/crypto" 507 #:import-path "golang.org/x/crypto"
361 #:phases 508 #:phases
362 #~(modify-phases %standard-phases 509 #~(modify-phases %standard-phases
510 ;; Network access requried: go mod download -json
511 ;; github.com/google/wycheproof@v0.0.0-20191219022705-2196000605e4.
512 ;;
513 ;; internal/wycheproof/wycheproof_test.go
514 ;; Download the JSON test files from github.com/google/wycheproof
515 ;; using `go mod download -json` so the cached source of the testdata
516 ;; can be used in the following tests.
517 ;;
518 ;; <https://github.com/google/wycheproof> ->
519 ;; <https://github.com/C2SP/wycheproof>
520 ;;
521 ;; The structs for these tests are generated from the schemas
522 ;; provided in
523 ;; <https://github.com/google/wycheproof/tree/master/schemas> using
524 ;; <https://github.com/a-h/generate>.
363 (add-after 'unpack 'remove-test-files 525 (add-after 'unpack 'remove-test-files
364 (lambda* (#:key import-path #:allow-other-keys) 526 (lambda* (#:key import-path #:allow-other-keys)
365 (with-directory-excursion (string-append "src/" import-path) 527 (with-directory-excursion (string-append "src/" import-path)
366 (for-each delete-file 528 (for-each delete-file
367 (list 529 (find-files "internal/wycheproof" ".*_test\\.go$"))))))))
368 ;; Network access requried: go mod download -json 530 (native-inputs
369 ;; github.com/google/wycheproof@v0.0.0-20191219022705-2196000605e4. 531 (list go-golang-org-x-net-bootstrap
370 "internal/wycheproof/aead_test.go" 532 go-golang-org-x-text-bootstrap))
371 "internal/wycheproof/aes_cbc_test.go"
372 "internal/wycheproof/dsa_test.go"
373 "internal/wycheproof/ecdh_stdlib_test.go"
374 "internal/wycheproof/ecdh_test.go"
375 "internal/wycheproof/ecdsa_test.go"
376 "internal/wycheproof/eddsa_test.go"
377 "internal/wycheproof/hkdf_test.go"
378 "internal/wycheproof/hmac_test.go"
379 "internal/wycheproof/rsa_oaep_decrypt_test.go"
380 "internal/wycheproof/rsa_pss_test.go"
381 "internal/wycheproof/rsa_signature_test.go"
382 "internal/wycheproof/wycheproof_test.go")))))
383 ;; XXX: Workaround for go-build-system's lack of Go modules
384 ;; support.
385 (delete 'build)
386 (replace 'check
387 (lambda* (#:key tests? import-path #:allow-other-keys)
388 (when tests?
389 (with-directory-excursion (string-append "src/" import-path)
390 (invoke "go" "test" "-v"
391 ;; acme - cycle with go-golang-org-x-net
392 "./argon2/..."
393 "./bcrypt/..."
394 "./blake2b/..."
395 "./blake2s/..."
396 "./blowfish/..."
397 "./bn256/..."
398 "./cast5/..."
399 "./chacha20/..."
400 "./chacha20poly1305/..."
401 "./cryptobyte/..."
402 "./curve25519/..."
403 "./ed25519/..."
404 "./hkdf/..."
405 "./internal/..."
406 "./md4/..."
407 "./nacl/..."
408 "./ocsp/..."
409 "./openpgp/..."
410 "./otr/..."
411 "./pbkdf2/..."
412 "./pkcs12/..."
413 "./poly1305/..."
414 "./ripemd160/..."
415 "./salsa20/..."
416 "./scrypt/..."
417 "./sha3/..."
418 "./ssh/..."
419 "./tea/..."
420 "./twofish/..."
421 "./x509roots/..."
422 "./xtea/..."
423 "./xts/..."))))))))
424 (propagated-inputs 533 (propagated-inputs
425 (list go-golang-org-x-sys go-golang-org-x-term)) 534 (list go-golang-org-x-sys go-golang-org-x-term))
426 (home-page "https://go.googlesource.com/crypto/") 535 (home-page "https://go.googlesource.com/crypto/")
@@ -430,10 +539,21 @@ replace a file or symbolic link.")
430language.") 539language.")
431 (license license:bsd-3))) 540 (license license:bsd-3)))
432 541
542(define-public go-golang-org-x-crypto-bootstrap
543 (hidden-package
544 (package
545 (inherit go-golang-org-x-crypto)
546 (arguments
547 (list #:skip-build? #t
548 #:tests? #f
549 #:import-path "golang.org/x/crypto"))
550 (native-inputs '())
551 (propagated-inputs '()))))
552
433(define-public go-golang-org-x-exp 553(define-public go-golang-org-x-exp
434 (package 554 (package
435 (name "go-golang-org-x-exp") 555 (name "go-golang-org-x-exp")
436 (version "0.0.0-20240808152545-0cdaa3abc0fa") 556 (version "0.0.0-20241217172543-b2144cdd0a67")
437 (source 557 (source
438 (origin 558 (origin
439 (method git-fetch) 559 (method git-fetch)
@@ -442,7 +562,7 @@ language.")
442 (commit (go-version->git-ref version)))) 562 (commit (go-version->git-ref version))))
443 (file-name (git-file-name name version)) 563 (file-name (git-file-name name version))
444 (sha256 564 (sha256
445 (base32 "1sa03fm57326qnchvfza7am7jjlz32l1yyqbdvy6mknw5bmp8a71")) 565 (base32 "01dq7llbqqdybv5s372zwlfiyq2syqpfqs7h4lxvbpqjq0aayf60"))
446 (modules '((guix build utils))) 566 (modules '((guix build utils)))
447 (snippet 567 (snippet
448 #~(begin 568 #~(begin
@@ -459,29 +579,38 @@ language.")
459 (build-system go-build-system) 579 (build-system go-build-system)
460 (arguments 580 (arguments
461 (list 581 (list
582 #:skip-build? #t
462 #:import-path "golang.org/x/exp" 583 #:import-path "golang.org/x/exp"
584 #:test-flags
585 #~(list "-skip"
586 (string-join
587 (list
588 ;; Disable failing tests: error running `go mod init`:
589 ;; go: modules disabled by GO111MODULE=off.
590 "TestRelease_gitRepo_uncommittedChanges"
591 "TestFailure"
592 ;; Delete: want nil discarded elements, got
593 ;; 0xc000012858, 0xc000012860
594 "TestDeleteClearTail"
595 ;; DeleteFunc: want nil discarded elements, got
596 ;; 0xc000012910, 0xc000012918
597 "TestDeleteFuncClearTail"
598 ;; Compact: want nil discarded elements, got
599 ;; 0xc000012b30, 0xc000012b38
600 "TestCompactClearTail"
601 ;; CompactFunc: want nil discarded elements, got
602 ;; 0xc000012be8, 0xc000012bf0
603 "TestCompactFuncClearTail"
604 ;; Replace: want nil discarded element, got
605 ;; 0xc000013058
606 "TestReplaceClearTail")
607 "|"))
463 #:phases 608 #:phases
464 #~(modify-phases %standard-phases 609 #~(modify-phases %standard-phases
465 (add-after 'unpack 'remove-failing-tests 610 (add-after 'unpack 'remove-benchmarks
466 (lambda* (#:key import-path #:allow-other-keys) 611 (lambda* (#:key import-path #:allow-other-keys)
467 (with-directory-excursion (string-append "src/" import-path) 612 (with-directory-excursion (string-append "src/" import-path)
468 ;; Benchmark requires other modules to pass tests, delete them. 613 (delete-file-recursively "slog/benchmarks")))))))
469 (delete-file-recursively "slog/benchmarks")
470 (substitute* (find-files "." "\\_test.go$")
471 ;; Disable failing tests: error running `go mod init`: go:
472 ;; modules disabled by GO111MODULE=off; see 'go help modules'
473 ;; , exit status 1
474 (("TestFailure") "OffTestFailure")
475 (("TestRelease_gitRepo_uncommittedChanges")
476 "OffTestRelease_gitRepo_uncommittedChanges")))))
477 ;; XXX: Workaround for go-build-system's lack of Go modules
478 ;; support.
479 (delete 'build)
480 (replace 'check
481 (lambda* (#:key tests? import-path #:allow-other-keys)
482 (when tests?
483 (with-directory-excursion (string-append "src/" import-path)
484 (invoke "go" "test" "-v" "./..."))))))))
485 (propagated-inputs 614 (propagated-inputs
486 (list go-github-com-google-go-cmp 615 (list go-github-com-google-go-cmp
487 go-golang-org-x-mod 616 go-golang-org-x-mod
@@ -493,10 +622,21 @@ language.")
493directory) packages.") 622directory) packages.")
494 (license license:bsd-3))) 623 (license license:bsd-3)))
495 624
625(define-public go-golang-org-x-exp-bootstrap
626 (hidden-package
627 (package
628 (inherit go-golang-org-x-exp)
629 (arguments
630 (list #:skip-build? #t
631 #:tests? #f
632 #:import-path "golang.org/x/exp"))
633 (native-inputs '())
634 (propagated-inputs '()))))
635
496(define-public go-golang-org-x-exp-typeparams 636(define-public go-golang-org-x-exp-typeparams
497 (package 637 (package
498 (name "go-golang-org-x-exp-typeparams") 638 (name "go-golang-org-x-exp-typeparams")
499 (version "0.0.0-20240707233637-46b078467d37") 639 (version "0.0.0-20241210194714-1829a127f884")
500 (source 640 (source
501 (origin 641 (origin
502 (method git-fetch) 642 (method git-fetch)
@@ -505,12 +645,14 @@ directory) packages.")
505 (commit (go-version->git-ref version)))) 645 (commit (go-version->git-ref version))))
506 (file-name (git-file-name name version)) 646 (file-name (git-file-name name version))
507 (sha256 647 (sha256
508 (base32 "17pwikql9x1bm5ci0kk4mlad7smkph0cgq1pi2b43gnhjz8m96l0")))) 648 (base32 "16lc0sgydpr4gbb5c9ygq86jdmq6f9qjf0vv1m5mhh3dggc1fzpp"))))
509 (build-system go-build-system) 649 (build-system go-build-system)
510 (arguments 650 (arguments
511 (list 651 (list
512 #:import-path "golang.org/x/exp/typeparams" 652 #:import-path "golang.org/x/exp/typeparams"
513 #:unpack-path "golang.org/x/exp")) 653 #:unpack-path "golang.org/x/exp"
654 ;; Could not import go/ast (can't find import: "go/ast").
655 #:test-flags #~(list "-skip" "TestAPIConsistency")))
514 (home-page "https://pkg.go.dev/golang.org/x/exp/typeparams") 656 (home-page "https://pkg.go.dev/golang.org/x/exp/typeparams")
515 (synopsis "Golang common utilities for writing tools") 657 (synopsis "Golang common utilities for writing tools")
516 (description 658 (description
@@ -530,7 +672,7 @@ compile does not support generics.")
530(define-public go-golang-org-x-image 672(define-public go-golang-org-x-image
531 (package 673 (package
532 (name "go-golang-org-x-image") 674 (name "go-golang-org-x-image")
533 (version "0.20.0") 675 (version "0.23.0")
534 (source 676 (source
535 (origin 677 (origin
536 (method git-fetch) 678 (method git-fetch)
@@ -539,32 +681,18 @@ compile does not support generics.")
539 (commit (string-append "v" version)))) 681 (commit (string-append "v" version))))
540 (file-name (git-file-name name version)) 682 (file-name (git-file-name name version))
541 (sha256 683 (sha256
542 (base32 "0bn85bqpwkznny3lrnlfk05s2p917rbq0kplz36xyv490a74pi7l")))) 684 (base32 "0xm3cqzh0j6s8m8k6c3rd170qbmz2lwb628jb48cl4wr6ivq5fp9"))))
543 (build-system go-build-system) 685 (build-system go-build-system)
544 (arguments 686 (arguments
545 (list 687 (list
546 #:import-path "golang.org/x/image" 688 #:import-path "golang.org/x/image"
547 #:phases 689 #:phases
548 #~(modify-phases %standard-phases 690 #~(modify-phases %standard-phases
549 ;; XXX: go-build-system can't install/build submodules. 691 (delete 'build) ; no go files in project's root
550 (delete 'build)
551 (add-after 'unpack 'remove-examples 692 (add-after 'unpack 'remove-examples
552 (lambda* (#:key import-path #:allow-other-keys) 693 (lambda* (#:key import-path #:allow-other-keys)
553 (delete-file-recursively 694 (delete-file-recursively
554 (string-append "src/" import-path "/example")))) 695 (string-append "src/" import-path "/example")))))))
555 (add-before 'check 'remove-failing-tests
556 (lambda* (#:key import-path #:allow-other-keys)
557 (with-directory-excursion (string-append "src/" import-path)
558 (for-each delete-file
559 ;; tiff/reader_test.go:557:14: too many errors
560 (list "tiff/reader_test.go"
561 "tiff/writer_test.go")))))
562 ;; XXX: Workaround for go-build-system's lack of Go modules support.
563 (replace 'check
564 (lambda* (#:key tests? import-path #:allow-other-keys)
565 (when tests?
566 (with-directory-excursion (string-append "src/" import-path)
567 (invoke "go" "test" "-v" "./..."))))))))
568 (propagated-inputs 696 (propagated-inputs
569 (list go-golang-org-x-text)) 697 (list go-golang-org-x-text))
570 (home-page "https://pkg.go.dev/golang.org/x/image") 698 (home-page "https://pkg.go.dev/golang.org/x/image")
@@ -573,9 +701,24 @@ compile does not support generics.")
573 "This package provides supplemental Go libraries for image processing.") 701 "This package provides supplemental Go libraries for image processing.")
574 (license license:bsd-3))) 702 (license license:bsd-3)))
575 703
704(define-public go-golang-org-x-image-bootstrap
705 (hidden-package
706 (package
707 (inherit go-golang-org-x-image)
708 (arguments
709 (list #:skip-build? #t
710 #:tests? #f
711 #:import-path "golang.org/x/image"))
712 (native-inputs '())
713 (propagated-inputs '()))))
714
576(define-public go-golang-org-x-mod 715(define-public go-golang-org-x-mod
577 (package 716 (package
578 (name "go-golang-org-x-mod") 717 (name "go-golang-org-x-mod")
718 ;; XXX: To update to 0.22.0+ go-1.23 is required, wich provides
719 ;; "go/version" module, see
720 ;; <https://cs.opensource.google/go/go/+/refs/tags/
721 ;; go1.23.0:src/go/version/version.go>.
579 (version "0.21.0") 722 (version "0.21.0")
580 (source 723 (source
581 (origin 724 (origin
@@ -589,28 +732,14 @@ compile does not support generics.")
589 (build-system go-build-system) 732 (build-system go-build-system)
590 (arguments 733 (arguments
591 (list 734 (list
735 #:skip-build? #t
592 #:import-path "golang.org/x/mod" 736 #:import-path "golang.org/x/mod"
593 #:phases 737 ;; Test tries to acces:
594 #~(modify-phases %standard-phases 738 ;; "http://ct.googleapis.com/logs/argon2020/ct/v1/get-sth": dial tcp:
595 (add-after 'unpack 'remove-test-files 739 ;; lookup ct.googleapis.com
596 (lambda* (#:key import-path #:allow-other-keys) 740 #:test-flags #~(list "-skip" "TestCertificateTransparency")))
597 (with-directory-excursion (string-append "src/" import-path) 741 (native-inputs
598 (for-each delete-file 742 (list go-golang-org-x-tools-bootstrap))
599 (list
600 ;; Break cycle: go-golang-org-x-mod ->
601 ;; go-golang-org-x-tools -> go-golang-org-x-mod.
602 "zip/zip_test.go"
603 ;; Trying to access
604 ;; <http://ct.googleapis.com/logs/argon2020/ct/v1/get-sth>.
605 "sumdb/tlog/ct_test.go")))))
606 ;; XXX: Workaround for go-build-system's lack of Go modules
607 ;; support.
608 (delete 'build)
609 (replace 'check
610 (lambda* (#:key tests? import-path #:allow-other-keys)
611 (when tests?
612 (with-directory-excursion (string-append "src/" import-path)
613 (invoke "go" "test" "-v" "./..."))))))))
614 (home-page "https://golang.org/x/mod") 743 (home-page "https://golang.org/x/mod")
615 (synopsis "Tools to work directly with Go module mechanics") 744 (synopsis "Tools to work directly with Go module mechanics")
616 (description 745 (description
@@ -623,10 +752,21 @@ The specific case of loading packages should still be done by invoking the
623loading algorithms.") 752loading algorithms.")
624 (license license:bsd-3))) 753 (license license:bsd-3)))
625 754
755(define-public go-golang-org-x-mod-bootstrap
756 (hidden-package
757 (package
758 (inherit go-golang-org-x-mod)
759 (arguments
760 (list #:skip-build? #t
761 #:tests? #f
762 #:import-path "golang.org/x/mod"))
763 (native-inputs '())
764 (propagated-inputs '()))))
765
626(define-public go-golang-org-x-net 766(define-public go-golang-org-x-net
627 (package 767 (package
628 (name "go-golang-org-x-net") 768 (name "go-golang-org-x-net")
629 (version "0.29.0") 769 (version "0.33.0")
630 (source 770 (source
631 (origin 771 (origin
632 (method git-fetch) 772 (method git-fetch)
@@ -635,21 +775,14 @@ loading algorithms.")
635 (commit (string-append "v" version)))) 775 (commit (string-append "v" version))))
636 (file-name (git-file-name name version)) 776 (file-name (git-file-name name version))
637 (sha256 777 (sha256
638 (base32 "0scksgrrxyyy4ah2anh3n0qj0snpc63bqmhyw24q5lskzrsm2zvl")))) 778 (base32 "0k3vbxj4dxyki7rflbnad95avz7hnapwr02aa7jqgs79vd9j9k7n"))))
639 (build-system go-build-system) 779 (build-system go-build-system)
640 (arguments 780 (arguments
641 (list 781 (list
642 #:import-path "golang.org/x/net" 782 #:import-path "golang.org/x/net"
643 #:phases 783 #:phases
644 #~(modify-phases %standard-phases 784 #~(modify-phases %standard-phases
645 ;; XXX: Workaround for go-build-system's lack of Go modules 785 (delete 'build)))) ; no go files in project's root
646 ;; support.
647 (delete 'build)
648 (replace 'check
649 (lambda* (#:key tests? import-path #:allow-other-keys)
650 (when tests?
651 (with-directory-excursion (string-append "src/" import-path)
652 (invoke "go" "test" "-v" "./..."))))))))
653 (propagated-inputs 786 (propagated-inputs
654 (list go-golang-org-x-crypto 787 (list go-golang-org-x-crypto
655 go-golang-org-x-sys 788 go-golang-org-x-sys
@@ -661,10 +794,21 @@ loading algorithms.")
661 "This package provides supplemental Go networking libraries.") 794 "This package provides supplemental Go networking libraries.")
662 (license license:bsd-3))) 795 (license license:bsd-3)))
663 796
797(define-public go-golang-org-x-net-bootstrap
798 (hidden-package
799 (package
800 (inherit go-golang-org-x-net)
801 (arguments
802 (list #:skip-build? #t
803 #:tests? #f
804 #:import-path "golang.org/x/net"))
805 (native-inputs '())
806 (propagated-inputs '()))))
807
664(define-public go-golang-org-x-sync 808(define-public go-golang-org-x-sync
665 (package 809 (package
666 (name "go-golang-org-x-sync") 810 (name "go-golang-org-x-sync")
667 (version "0.8.0") 811 (version "0.10.0")
668 (source 812 (source
669 (origin 813 (origin
670 (method git-fetch) 814 (method git-fetch)
@@ -673,21 +817,12 @@ loading algorithms.")
673 (commit (string-append "v" version)))) 817 (commit (string-append "v" version))))
674 (file-name (git-file-name name version)) 818 (file-name (git-file-name name version))
675 (sha256 819 (sha256
676 (base32 "1jssyq49g5z7dbhdb9bnzsb8gigvsy5f4aczbzn5paz07v9wbjxs")))) 820 (base32 "1yp7pcfvy4793mjbfq28hxbr05yg38m0njnwam580xkb54lfwshx"))))
677 (build-system go-build-system) 821 (build-system go-build-system)
678 (arguments 822 (arguments
679 (list 823 (list
680 #:import-path "golang.org/x/sync" 824 #:skip-build? #t
681 #:phases 825 #:import-path "golang.org/x/sync"))
682 #~(modify-phases %standard-phases
683 ;; XXX: Workaround for go-build-system's lack of Go modules
684 ;; support.
685 (delete 'build)
686 (replace 'check
687 (lambda* (#:key tests? import-path #:allow-other-keys)
688 (when tests?
689 (with-directory-excursion (string-append "src/" import-path)
690 (invoke "go" "test" "-v" "./..."))))))))
691 (home-page "https://go.googlesource.com/sync/") 826 (home-page "https://go.googlesource.com/sync/")
692 (synopsis "Additional Go concurrency primitives") 827 (synopsis "Additional Go concurrency primitives")
693 (description 828 (description
@@ -703,10 +838,21 @@ cancelation for groups of goroutines working on subtasks of a common task
703@end itemize") 838@end itemize")
704 (license license:bsd-3))) 839 (license license:bsd-3)))
705 840
841(define-public go-golang-org-x-sync-bootstrap
842 (hidden-package
843 (package
844 (inherit go-golang-org-x-sync)
845 (arguments
846 (list #:skip-build? #t
847 #:tests? #f
848 #:import-path "golang.org/x/sync"))
849 (native-inputs '())
850 (propagated-inputs '()))))
851
706(define-public go-golang-org-x-sys 852(define-public go-golang-org-x-sys
707 (package 853 (package
708 (name "go-golang-org-x-sys") 854 (name "go-golang-org-x-sys")
709 (version "0.25.0") 855 (version "0.28.0")
710 (source 856 (source
711 (origin 857 (origin
712 (method git-fetch) 858 (method git-fetch)
@@ -715,27 +861,48 @@ cancelation for groups of goroutines working on subtasks of a common task
715 (commit (string-append "v" version)))) 861 (commit (string-append "v" version))))
716 (file-name (git-file-name name version)) 862 (file-name (git-file-name name version))
717 (sha256 863 (sha256
718 (base32 "0hdysrba8imiifb4ksjgbhkzhk1mksm1g3fj59i3bas1zdc5lbgp")))) 864 (base32 "1lgsisl36knlr41inqls3w51xcqfl6d3hkacxry0nqx39167b882"))))
719 (build-system go-build-system) 865 (build-system go-build-system)
720 (arguments 866 (arguments
721 (list 867 (list
722 #:import-path "golang.org/x/sys" 868 #:skip-build? #t
723 #:phases 869 #:import-path "golang.org/x/sys"))
724 #~(modify-phases %standard-phases
725 ;; XXX: Workaround for go-build-system's lack of Go modules
726 ;; support.
727 (delete 'build)
728 (replace 'check
729 (lambda* (#:key tests? import-path #:allow-other-keys)
730 (when tests?
731 (with-directory-excursion (string-append "src/" import-path)
732 (invoke "go" "test" "-v" "./..."))))))))
733 (home-page "https://go.googlesource.com/sys") 870 (home-page "https://go.googlesource.com/sys")
734 (synopsis "Go support for low-level system interaction") 871 (synopsis "Go support for low-level system interaction")
735 (description "This package provides supplemental libraries offering Go 872 (description
736support for low-level interaction with the operating system.") 873 "This package provides supplemental libraries offering Go support for
874low-level interaction with the operating system.")
737 (license license:bsd-3))) 875 (license license:bsd-3)))
738 876
877(define-public go-golang-org-x-sys-bootstrap
878 (hidden-package
879 (package
880 (inherit go-golang-org-x-sys)
881 (arguments
882 (list #:skip-build? #t
883 #:tests? #f
884 #:import-path "golang.org/x/sys"))
885 (native-inputs '())
886 (propagated-inputs '()))))
887
888;; This is the only one dependency for esbuild, which is the main tool to
889;; produce all Node packages, keep it away from other golang.
890(define-public go-golang-org-x-sys-for-esbuild
891 (hidden-package
892 (package
893 (inherit go-golang-org-x-sys)
894 (name "go-golang-org-x-sys")
895 (version "0.25.0")
896 (source
897 (origin
898 (method git-fetch)
899 (uri (git-reference
900 (url "https://go.googlesource.com/sys")
901 (commit (string-append "v" version))))
902 (file-name (git-file-name name version))
903 (sha256
904 (base32 "0hdysrba8imiifb4ksjgbhkzhk1mksm1g3fj59i3bas1zdc5lbgp")))))))
905
739(define-public go-golang-org-x-telemetry 906(define-public go-golang-org-x-telemetry
740 (package 907 (package
741 (name "go-golang-org-x-telemetry") 908 (name "go-golang-org-x-telemetry")
@@ -748,11 +915,34 @@ support for low-level interaction with the operating system.")
748 (commit (go-version->git-ref version)))) 915 (commit (go-version->git-ref version))))
749 (file-name (git-file-name name version)) 916 (file-name (git-file-name name version))
750 (sha256 917 (sha256
751 (base32 "05gvxiv0yqfclckm2ysavbfy1jpz8v71r2glrcvhjq8wzw90g9gz")))) 918 (base32 "05gvxiv0yqfclckm2ysavbfy1jpz8v71r2glrcvhjq8wzw90g9gz"))
919 (modules '((guix build utils)))
920 (snippet
921 #~(begin
922 ;; Submodules with their own go.mod files and packaged separatly:
923 ;;
924 ;; - golang.org/x/telemetry/config
925 ;; - golang.org/x/telemetry/godev
926 (for-each delete-file-recursively (list "config" "godev"))))))
752 (build-system go-build-system) 927 (build-system go-build-system)
753 (arguments 928 (arguments
754 (list 929 (list
755 #:test-flags #~(list "-skip" "TestStart|TestConcurrentStart") 930 #:test-flags
931 #~(list "-skip" (string-join
932 ;; Tests fail with error: failed to download config
933 ;; module.
934 (list "TestConcurrentStart"
935 "TestDownload"
936 "TestRun_Basic"
937 "TestRun_Concurrent"
938 "TestRun_DebugLog"
939 "TestRun_EmptyUpload"
940 "TestRun_MissingDate"
941 "TestRun_ModeHandling/on"
942 "TestRun_MultipleUploads"
943 "TestRun_Retries"
944 "TestStart") ; no upload occurred on 2786
945 "|"))
756 #:import-path "golang.org/x/telemetry")) 946 #:import-path "golang.org/x/telemetry"))
757 (propagated-inputs 947 (propagated-inputs
758 (list go-golang-org-x-mod 948 (list go-golang-org-x-mod
@@ -769,7 +959,7 @@ Go toolchain programs with opt-in telemetry.")
769(define-public go-golang-org-x-telemetry-config 959(define-public go-golang-org-x-telemetry-config
770 (package 960 (package
771 (name "go-golang-org-x-telemetry-config") 961 (name "go-golang-org-x-telemetry-config")
772 (version "0.31.0") 962 (version "0.36.0")
773 (source 963 (source
774 (origin 964 (origin
775 (method git-fetch) 965 (method git-fetch)
@@ -779,7 +969,7 @@ Go toolchain programs with opt-in telemetry.")
779 #:subdir "config")))) 969 #:subdir "config"))))
780 (file-name (git-file-name name version)) 970 (file-name (git-file-name name version))
781 (sha256 971 (sha256
782 (base32 "0b5f3kf58wam741m7vfalv4n47djn6whxr4lf9w1jpjgaa6kq3an")))) 972 (base32 "1nib4d3p1zknd8m0grkylpd3qfknnw7cffv2v1l4sq0rf30gi04m"))))
783 (build-system go-build-system) 973 (build-system go-build-system)
784 (arguments 974 (arguments
785 (list 975 (list
@@ -799,7 +989,7 @@ telemetry uploads: GOOS, GOARCH, Go version, and per-program counters.")
799(define-public go-golang-org-x-term 989(define-public go-golang-org-x-term
800 (package 990 (package
801 (name "go-golang-org-x-term") 991 (name "go-golang-org-x-term")
802 (version "0.24.0") 992 (version "0.27.0")
803 (source 993 (source
804 (origin 994 (origin
805 (method git-fetch) 995 (method git-fetch)
@@ -808,7 +998,7 @@ telemetry uploads: GOOS, GOARCH, Go version, and per-program counters.")
808 (commit (string-append "v" version)))) 998 (commit (string-append "v" version))))
809 (file-name (git-file-name name version)) 999 (file-name (git-file-name name version))
810 (sha256 1000 (sha256
811 (base32 "1sclnlbchqqlspm5l914xgs70yyjswarrrahkf8n44gkr2kbkw1x")))) 1001 (base32 "1gfykqmzgwgrb3adlbknjrb96i58bx2q2vjcdvfvwm554gznkgki"))))
812 (build-system go-build-system) 1002 (build-system go-build-system)
813 (arguments '(#:import-path "golang.org/x/term")) 1003 (arguments '(#:import-path "golang.org/x/term"))
814 (propagated-inputs 1004 (propagated-inputs
@@ -819,10 +1009,21 @@ telemetry uploads: GOOS, GOARCH, Go version, and per-program counters.")
819terminals, as commonly found on Unix systems.") 1009terminals, as commonly found on Unix systems.")
820 (license license:bsd-3))) 1010 (license license:bsd-3)))
821 1011
1012(define-public go-golang-org-x-term-bootstrap
1013 (hidden-package
1014 (package
1015 (inherit go-golang-org-x-term)
1016 (arguments
1017 (list #:skip-build? #t
1018 #:tests? #f
1019 #:import-path "golang.org/x/term"))
1020 (native-inputs '())
1021 (propagated-inputs '()))))
1022
822(define-public go-golang-org-x-text 1023(define-public go-golang-org-x-text
823 (package 1024 (package
824 (name "go-golang-org-x-text") 1025 (name "go-golang-org-x-text")
825 (version "0.18.0") 1026 (version "0.21.0")
826 (source 1027 (source
827 (origin 1028 (origin
828 (method git-fetch) 1029 (method git-fetch)
@@ -831,49 +1032,38 @@ terminals, as commonly found on Unix systems.")
831 (commit (string-append "v" version)))) 1032 (commit (string-append "v" version))))
832 (file-name (git-file-name name version)) 1033 (file-name (git-file-name name version))
833 (sha256 1034 (sha256
834 (base32 "1vxx2s1y1dmhiiv4cayrwf3ls4lbq22xkhl6xw3ls8jizribl5s9")))) 1035 (base32 "02zh18l5rlr8hg8ipn9r5m4rir3hskp80pzr4ljyfmgy72gxbhlv"))))
835 (build-system go-build-system) 1036 (build-system go-build-system)
836 (arguments 1037 (arguments
837 (list 1038 (list
838 #:import-path "golang.org/x/text" 1039 #:skip-build? #t
839 #:phases 1040 #:import-path "golang.org/x/text"))
840 #~(modify-phases %standard-phases
841 ;; XXX: Workaround for go-build-system's lack of Go modules
842 ;; support.
843 (delete 'build)
844 (replace 'check
845 (lambda* (#:key tests? import-path #:allow-other-keys)
846 (when tests?
847 (with-directory-excursion (string-append "src/" import-path)
848 (invoke "go" "test" "-v"
849 "./cases/..."
850 ;; cmd - cycle with go-golang-org-x-tools
851 "./collate/..."
852 "./currency/..."
853 "./date/..."
854 "./encoding/..."
855 "./feature/..."
856 "./internal/..."
857 "./language/..."
858 ;; message - cycle with go-golang-org-x-tools
859 "./number/..."
860 "./runes/..."
861 "./search/..."
862 "./secure/..."
863 "./transform/..."
864 "./unicode/..."
865 "./width/..."))))))))
866 (home-page "https://go.googlesource.com/text") 1041 (home-page "https://go.googlesource.com/text")
1042 (native-inputs
1043 (list go-golang-org-x-mod-bootstrap
1044 go-golang-org-x-sync-bootstrap
1045 go-golang-org-x-tools-bootstrap))
867 (synopsis "Supplemental Go text processing libraries") 1046 (synopsis "Supplemental Go text processing libraries")
868 (description 1047 (description
869 "This package provides supplemental Go libraries for text 1048 "This package provides supplemental Go libraries for text
870processing.") 1049processing.")
871 (license license:bsd-3))) 1050 (license license:bsd-3)))
872 1051
1052(define-public go-golang-org-x-text-bootstrap
1053 (hidden-package
1054 (package
1055 (inherit go-golang-org-x-text)
1056 (arguments
1057 (list #:skip-build? #t
1058 #:tests? #f
1059 #:import-path "golang.org/x/text"))
1060 (native-inputs '())
1061 (propagated-inputs '()))))
1062
873(define-public go-golang-org-x-time 1063(define-public go-golang-org-x-time
874 (package 1064 (package
875 (name "go-golang-org-x-time") 1065 (name "go-golang-org-x-time")
876 (version "0.6.0") 1066 (version "0.8.0")
877 (source 1067 (source
878 (origin 1068 (origin
879 (method git-fetch) 1069 (method git-fetch)
@@ -882,21 +1072,12 @@ processing.")
882 (commit (string-append "v" version)))) 1072 (commit (string-append "v" version))))
883 (file-name (git-file-name name version)) 1073 (file-name (git-file-name name version))
884 (sha256 1074 (sha256
885 (base32 "14z7f1yx3r393f94yjv09mrsfaydq6da7pswv8wvk327mxa56vw1")))) 1075 (base32 "1m2xfgq3a6y1xckl0al9n03il927z3rp2a8fvb8369035d3al3qh"))))
886 (build-system go-build-system) 1076 (build-system go-build-system)
887 (arguments 1077 (arguments
888 (list 1078 (list
889 #:import-path "golang.org/x/time" 1079 #:skip-build? #t
890 #:phases 1080 #:import-path "golang.org/x/time"))
891 #~(modify-phases %standard-phases
892 ;; XXX: Workaround for go-build-system's lack of Go modules
893 ;; support.
894 (delete 'build)
895 (replace 'check
896 (lambda* (#:key tests? import-path #:allow-other-keys)
897 (when tests?
898 (with-directory-excursion (string-append "src/" import-path)
899 (invoke "go" "test" "-v" "./..."))))))))
900 (home-page "https://godoc.org/golang.org/x/time/rate") 1081 (home-page "https://godoc.org/golang.org/x/time/rate")
901 (synopsis "Supplemental Go time libraries") 1082 (synopsis "Supplemental Go time libraries")
902 (description 1083 (description
@@ -985,6 +1166,17 @@ time.")
985Go programming language.") 1166Go programming language.")
986 (license license:bsd-3))) 1167 (license license:bsd-3)))
987 1168
1169(define-public go-golang-org-x-tools-bootstrap
1170 (hidden-package
1171 (package
1172 (inherit go-golang-org-x-tools)
1173 (arguments
1174 (list #:skip-build? #t
1175 #:tests? #f
1176 #:import-path "golang.org/x/tools"))
1177 (native-inputs '())
1178 (propagated-inputs '()))))
1179
988(define-public go-golang-org-x-vuln 1180(define-public go-golang-org-x-vuln
989 (package 1181 (package
990 (name "go-golang-org-x-vuln") 1182 (name "go-golang-org-x-vuln")
@@ -1003,19 +1195,14 @@ Go programming language.")
1003 (build-system go-build-system) 1195 (build-system go-build-system)
1004 (arguments 1196 (arguments
1005 (list 1197 (list
1198 #:skip-build? #t
1006 #:import-path "golang.org/x/vuln" 1199 #:import-path "golang.org/x/vuln"
1007 #:phases 1200 ;; ts.RunParallel undefined (type *cmdtest.TestSuite has no field or
1008 #~(modify-phases %standard-phases 1201 ;; method RunParallel)
1009 ;; XXX: Workaround for go-build-system's lack of Go modules support. 1202 ;;
1010 (delete 'build) 1203 ;; go: modules disabled by GO111MODULE=off
1011 (replace 'check 1204 #:test-flags #~(list "-skip" "TestVet|TestGoModTidy|Test58509")
1012 (lambda* (#:key tests? import-path #:allow-other-keys) 1205 #:test-subdirs #~(list "internal/..." "scan/..." ".")))
1013 (when tests?
1014 (with-directory-excursion (string-append "src/" import-path)
1015 (invoke "go" "test" "-v"
1016 "./doc/..."
1017 "./internal/..."
1018 "./scan/..."))))))))
1019 (propagated-inputs 1206 (propagated-inputs
1020 (list go-github-com-google-go-cmdtest 1207 (list go-github-com-google-go-cmdtest
1021 go-github-com-google-go-cmp 1208 go-github-com-google-go-cmp
@@ -1033,7 +1220,7 @@ the @url{https://vuln.go.dev,Go Vulnerability Database}.")
1033(define-public go-golang-org-x-xerrors 1220(define-public go-golang-org-x-xerrors
1034 (package 1221 (package
1035 (name "go-golang-org-x-xerrors") 1222 (name "go-golang-org-x-xerrors")
1036 (version "0.0.0-20200804184101-5ec99f83aff1") 1223 (version "0.0.0-20240903120638-7835f813f4da")
1037 (source 1224 (source
1038 (origin 1225 (origin
1039 (method git-fetch) 1226 (method git-fetch)
@@ -1042,7 +1229,7 @@ the @url{https://vuln.go.dev,Go Vulnerability Database}.")
1042 (commit (go-version->git-ref version)))) 1229 (commit (go-version->git-ref version))))
1043 (file-name (git-file-name name version)) 1230 (file-name (git-file-name name version))
1044 (sha256 1231 (sha256
1045 (base32 "1dbzc3gmf2haazpv7cgmv97rq40g2xzwbglc17vas8dwhgwgwrzb")))) 1232 (base32 "1amjwicv2k6mkafa27ghwavc19jy8vi8kfndpj6vrgn0p5rc4kkc"))))
1046 (build-system go-build-system) 1233 (build-system go-build-system)
1047 (arguments 1234 (arguments
1048 (list 1235 (list
@@ -1057,7 +1244,7 @@ values.")
1057(define-public go-google-golang-org-protobuf 1244(define-public go-google-golang-org-protobuf
1058 (package 1245 (package
1059 (name "go-google-golang-org-protobuf") 1246 (name "go-google-golang-org-protobuf")
1060 (version "1.34.2") 1247 (version "1.36.0")
1061 (source 1248 (source
1062 (origin 1249 (origin
1063 (method git-fetch) 1250 (method git-fetch)
@@ -1066,21 +1253,14 @@ values.")
1066 (commit (string-append "v" version)))) 1253 (commit (string-append "v" version))))
1067 (file-name (git-file-name name version)) 1254 (file-name (git-file-name name version))
1068 (sha256 1255 (sha256
1069 (base32 "0l18301prwy38wam9zsbhgwddwjaflvnvamghg0h1d1p201gxbp3")))) 1256 (base32 "1a6l9zcm1za7w9f9n86wjszn9fm53cfacl0liyk3wpsqx4h4x6dl"))))
1070 (build-system go-build-system) 1257 (build-system go-build-system)
1071 (arguments 1258 (arguments
1072 (list 1259 (list
1073 #:import-path "google.golang.org/protobuf" 1260 #:import-path "google.golang.org/protobuf"
1074 #:phases 1261 #:phases
1075 #~(modify-phases %standard-phases 1262 #~(modify-phases %standard-phases
1076 ;; XXX: Workaround for go-build-system's lack of Go modules 1263 (delete 'build)))) ; no go files in project's root
1077 ;; support.
1078 (delete 'build)
1079 (replace 'check
1080 (lambda* (#:key tests? import-path #:allow-other-keys)
1081 (when tests?
1082 (with-directory-excursion (string-append "src/" import-path)
1083 (invoke "go" "test" "-v" "./..."))))))))
1084 (propagated-inputs (list go-github-com-google-go-cmp)) 1264 (propagated-inputs (list go-github-com-google-go-cmp))
1085 (home-page "https://google.golang.org/protobuf") 1265 (home-page "https://google.golang.org/protobuf")
1086 (synopsis "Go library for Protocol Buffers") 1266 (synopsis "Go library for Protocol Buffers")
@@ -1091,6 +1271,29 @@ data. It is a successor to @code{go-github-com-golang-protobuf} with an
1091improved and cleaner API.") 1271improved and cleaner API.")
1092 (license license:bsd-3))) 1272 (license license:bsd-3)))
1093 1273
1274(define-public go-rsc-io-pdf
1275 (package
1276 (name "go-rsc-io-pdf")
1277 (version "0.1.1")
1278 (source
1279 (origin
1280 (method git-fetch)
1281 (uri (git-reference
1282 (url "https://github.com/rsc/pdf")
1283 (commit (string-append "v" version))))
1284 (file-name (git-file-name name version))
1285 (sha256
1286 (base32 "01qjjwa8nn5a2jzd360xqg5zc8s0i2fpwcn2w2g6y2jgn9wl8x84"))))
1287 (build-system go-build-system)
1288 (arguments
1289 (list
1290 #:tests? #f
1291 #:import-path "rsc.io/pdf"))
1292 (home-page "https://rsc.io/pdf")
1293 (synopsis "PDF reader for Golang")
1294 (description "Package pdf implements reading of PDF files.")
1295 (license license:bsd-3)))
1296
1094;;; 1297;;;
1095;;; Executables: 1298;;; Executables:
1096;;; 1299;;;
@@ -1106,6 +1309,18 @@ improved and cleaner API.")
1106 #:import-path "golang.org/x/vuln/cmd/govulncheck" 1309 #:import-path "golang.org/x/vuln/cmd/govulncheck"
1107 #:unpack-path "golang.org/x/vuln")))) 1310 #:unpack-path "golang.org/x/vuln"))))
1108 1311
1312(define-public protoc-gen-go
1313 (package
1314 (inherit go-github-com-golang-protobuf)
1315 (name "protoc-gen-go")
1316 (arguments
1317 (list
1318 #:tests? #f
1319 #:install-source? #f
1320 #:import-path "github.com/golang/protobuf/protoc-gen-go"
1321 #:unpack-path "github.com/golang/protobuf"))
1322 (synopsis "Protoc plugin to generate a Go protocol buffer package")))
1323
1109;;; 1324;;;
1110;;; Avoid adding new packages to the end of this file. To reduce the chances 1325;;; Avoid adding new packages to the end of this file. To reduce the chances
1111;;; of a merge conflict, place them above by existing packages with similar 1326;;; of a merge conflict, place them above by existing packages with similar
diff --git a/gnu/packages/golang-check.scm b/gnu/packages/golang-check.scm
index 4831bb02c7d..d0371aa9159 100644
--- a/gnu/packages/golang-check.scm
+++ b/gnu/packages/golang-check.scm
@@ -9,20 +9,22 @@
9;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz> 9;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
10;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> 10;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
11;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> 11;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
12;;; Copyright © 2020, 2022 Efraim Flashner <efraim@flashner.co.il>
12;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> 13;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
13;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> 14;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
14;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr> 15;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
15;;; Copyright © 2022 ( <paren@disroot.org> 16;;; Copyright © 2022 ( <paren@disroot.org>
16;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
17;;; Copyright © 2023 Benjamin <benjamin@uvy.fr> 17;;; Copyright © 2023 Benjamin <benjamin@uvy.fr>
18;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com> 18;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com>
19;;; Copyright © 2023 Fries <fries1234@protonmail.com> 19;;; Copyright © 2023 Fries <fries1234@protonmail.com>
20;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space> 20;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
21;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com> 21;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
22;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
22;;; Copyright © 2024 Greg Hogan <code@greghogan.com> 23;;; Copyright © 2024 Greg Hogan <code@greghogan.com>
24;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
23;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com> 25;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
24;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com> 26;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
25;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com> 27;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
26;;; 28;;;
27;;; This file is part of GNU Guix. 29;;; This file is part of GNU Guix.
28;;; 30;;;
@@ -45,6 +47,7 @@
45 #:use-module (guix build-system go) 47 #:use-module (guix build-system go)
46 #:use-module (guix gexp) 48 #:use-module (guix gexp)
47 #:use-module (guix git-download) 49 #:use-module (guix git-download)
50 #:use-module (guix utils)
48 #:use-module (gnu packages) 51 #:use-module (gnu packages)
49 #:use-module (gnu packages golang) 52 #:use-module (gnu packages golang)
50 #:use-module (gnu packages golang-build) 53 #:use-module (gnu packages golang-build)
@@ -120,6 +123,113 @@ value and call @code{t.Fatal()} if the assertion fails.")
120@end itemize") 123@end itemize")
121 (license license:expat))) 124 (license license:expat)))
122 125
126(define-public go-github-com-andreyvit-diff
127 (package
128 (name "go-github-com-andreyvit-diff")
129 (version "0.0.0-20170406064948-c7f18ee00883")
130 (source
131 (origin
132 (method git-fetch)
133 (uri (git-reference
134 (url "https://github.com/andreyvit/diff")
135 (commit (go-version->git-ref version))))
136 (file-name (git-file-name name version))
137 (sha256
138 (base32 "1s4qjkxig5yqahpzfl4xqh4kzi9mymdpkzq6kj3f4dr5dl3hlynr"))))
139 (build-system go-build-system)
140 (arguments
141 (list
142 #:import-path "github.com/andreyvit/diff"))
143 (propagated-inputs
144 (list go-github-com-sergi-go-diff))
145 (home-page "https://github.com/andreyvit/diff")
146 (synopsis "Diffing strings in tests")
147 (description
148 "This package provides a quick and easy string diffing functions based on
149github.com/sergi/go-diff, mainly for diffing strings in tests.")
150 (license license:expat)))
151
152(define-public go-github-com-bitfield-gotestdox
153 (package
154 (name "go-github-com-bitfield-gotestdox")
155 (version "0.2.2")
156 (source
157 (origin
158 (method git-fetch)
159 (uri (git-reference
160 (url "https://github.com/bitfield/gotestdox")
161 (commit (string-append "v" version))))
162 (file-name (git-file-name name version))
163 (sha256
164 (base32 "1kxj8igjm0wmq9nj3wns7nf95rx70xm327ra68d3ffh300rxg401"))))
165 (build-system go-build-system)
166 (arguments
167 (list
168 #:import-path "github.com/bitfield/gotestdox"))
169 (propagated-inputs
170 (list go-github-com-fatih-color
171 go-github-com-google-go-cmp
172 go-github-com-mattn-go-isatty
173 go-github-com-rogpeppe-go-internal
174 go-golang-org-x-text))
175 (home-page "https://github.com/bitfield/gotestdox")
176 (synopsis "Format Go test results as readable documentation")
177 (description
178 "This packages implements a functionality to run tests and report the
179results, converting test names WrittenInCamelCase into ordinary sentences.")
180 (license license:expat)))
181
182(define-public go-github-com-bool64-dev
183 (package
184 (name "go-github-com-bool64-dev")
185 (version "0.2.37")
186 (source
187 (origin
188 (method git-fetch)
189 (uri (git-reference
190 (url "https://github.com/bool64/dev")
191 (commit (string-append "v" version))))
192 (file-name (git-file-name name version))
193 (sha256
194 (base32 "041ng9z0qbmbj0l7lpj55d681b7p35lrr8vcyv3iqc1m6jzqqg5q"))))
195 (build-system go-build-system)
196 (arguments
197 (list
198 #:import-path "github.com/bool64/dev"))
199 (home-page "https://github.com/bool64/dev")
200 (synopsis "Go development helpers")
201 (description
202 "This package provides scripts and workflows to automate common routines
203for Golang projects via modular Makefiles and GitHub Actions.")
204 (license license:expat)))
205
206(define-public go-github-com-bool64-shared
207 (package
208 (name "go-github-com-bool64-shared")
209 (version "0.1.5")
210 (source
211 (origin
212 (method git-fetch)
213 (uri (git-reference
214 (url "https://github.com/bool64/shared")
215 (commit (string-append "v" version))))
216 (file-name (git-file-name name version))
217 (sha256
218 (base32 "157k7vw9cq84i5yy8bab8n1dk2lc9cmz8kjjy710ic9lwridmnf8"))))
219 (build-system go-build-system)
220 (arguments
221 (list
222 #:import-path "github.com/bool64/shared"))
223 (native-inputs
224 (list go-github-com-bool64-dev
225 go-github-com-stretchr-testify))
226 (home-page "https://github.com/bool64/shared")
227 (synopsis "Share variables between test helpers in Golang")
228 (description
229 "This package provides a contract to share variables between test helpers
230in Golang.")
231 (license license:expat)))
232
123(define-public go-github-com-caarlos0-testfs 233(define-public go-github-com-caarlos0-testfs
124 (package 234 (package
125 (name "go-github-com-caarlos0-testfs") 235 (name "go-github-com-caarlos0-testfs")
@@ -206,6 +316,31 @@ test (using testing.TB's @code{TempDir}) and with a few helper methods.")
206 "A testing library for Go programs.") 316 "A testing library for Go programs.")
207 (license license:expat))) 317 (license license:expat)))
208 318
319(define-public go-github-com-corpix-uarand
320 (package
321 (name "go-github-com-corpix-uarand")
322 (version "0.2.0")
323 (source
324 (origin
325 (method git-fetch)
326 (uri (git-reference
327 (url "https://github.com/corpix/uarand")
328 (commit (string-append "v" version))))
329 (file-name (git-file-name name version))
330 (sha256
331 (base32 "0ad5k1h2qpam2cfalwkjigrwg1yc45dny10n08qmqix1gxyjillc"))))
332 (build-system go-build-system)
333 (arguments
334 (list
335 #:import-path "github.com/corpix/uarand"))
336 (native-inputs (list go-github-com-stretchr-testify))
337 (home-page "https://github.com/corpix/uarand")
338 (synopsis "Random user-agent generator for Golang")
339 (description
340 "This package implements a functionality to generate random user-agent
341strings which may be used in mock tests.")
342 (license license:unlicense)))
343
209(define-public go-github-com-davecgh-go-spew 344(define-public go-github-com-davecgh-go-spew
210 (package 345 (package
211 (name "go-github-com-davecgh-go-spew") 346 (name "go-github-com-davecgh-go-spew")
@@ -334,6 +469,9 @@ fgprof is designed for analyzing applications with mixed I/O and CPU
334workloads. This kind of profiling is also known as wall-clock profiling.") 469workloads. This kind of profiling is also known as wall-clock profiling.")
335 (license license:expat))) 470 (license license:expat)))
336 471
472;; XXX: The project looks like abandoned, see
473;; <https://github.com/frankban/quicktest/issues/172>, remove when nothing
474;; depends on it.
337(define-public go-github-com-frankban-quicktest 475(define-public go-github-com-frankban-quicktest
338 (package 476 (package
339 (name "go-github-com-frankban-quicktest") 477 (name "go-github-com-frankban-quicktest")
@@ -350,9 +488,18 @@ workloads. This kind of profiling is also known as wall-clock profiling.")
350 (build-system go-build-system) 488 (build-system go-build-system)
351 (arguments 489 (arguments
352 (list 490 (list
491 #:test-flags
492 #~(list "-skip" (string-join
493 (list "TestReportOutput"
494 "TestIndirectReportOutput"
495 "TestMultilineReportOutput"
496 "TestCmpReportOutput"
497 "TestTopLevelAssertReportOutput")
498 "|"))
353 #:import-path "github.com/frankban/quicktest")) 499 #:import-path "github.com/frankban/quicktest"))
354 (propagated-inputs 500 (propagated-inputs
355 (list go-github-com-google-go-cmp go-github-com-kr-pretty)) 501 (list go-github-com-google-go-cmp
502 go-github-com-kr-pretty))
356 (home-page "https://github.com/frankban/quicktest") 503 (home-page "https://github.com/frankban/quicktest")
357 (synopsis "Quick helpers for testing Go applications") 504 (synopsis "Quick helpers for testing Go applications")
358 (description 505 (description
@@ -360,6 +507,64 @@ workloads. This kind of profiling is also known as wall-clock profiling.")
360tests.") 507tests.")
361 (license license:expat))) 508 (license license:expat)))
362 509
510(define-public go-github-com-go-playground-validator-v10
511 (package
512 (name "go-github-com-go-playground-validator-v10")
513 (version "10.23.0")
514 (home-page "https://github.com/go-playground/validator")
515 (source
516 (origin
517 (method git-fetch)
518 (uri (git-reference
519 (url "https://github.com/go-playground/validator")
520 (commit (string-append "v" version))))
521 (file-name (git-file-name name version))
522 (sha256
523 (base32 "1frr06zq7fimmfjv9nac2cx9gclydbay0smn2h78znsbrylfhcmz"))))
524 (build-system go-build-system)
525 (arguments
526 (list
527 ;; Tests on non-x86_64 architectures are not well supported upstream.
528 ;;
529 ;; Most of them fail with error like: Error:Field validation for
530 ;; 'IsColor' failed on the 'iscolor' tag.
531 #:tests? (target-x86-64?)
532 #:import-path "github.com/go-playground/validator/v10"))
533 (native-inputs
534 (list go-github-com-go-playground-assert-v2))
535 (propagated-inputs
536 (list go-github-com-gabriel-vasile-mimetype
537 go-github-com-go-playground-locales
538 go-github-com-go-playground-universal-translator
539 go-github-com-leodido-go-urn
540 go-golang-org-x-crypto
541 go-golang-org-x-text))
542 (synopsis "Validator for structs and individual fields based on tags")
543 (description
544 "This package implements value validations for structs and individual
545fields based on tags. It has the following unique features:
546
547@itemize
548@item Cross Field and Cross Struct validations by using validation tags or
549custom validators
550@item Slice, Array and Map diving, which allows any or all levels of a
551multidimensional field to be validated
552@item Ability to dive into both map keys and values for validation
553@item Handles type interface by determining it's underlying type prior to
554validation
555@item Handles custom field types such as sql driver
556@uref{https://golang.org/src/database/sql/driver/types.go?s=1210:1293#L29,
557Valuer}
558@item Alias validation tags, which allows for mapping of several validations
559to a single tag for easier defining of validations on structs
560@item Extraction of custom defined Field Name e.g. can specify to extract the
561JSON name while validating and have it available in the resulting FieldError
562@item Customizable i18n aware error messages.
563@item Default validator for the @uref{https://github.com/gin-gonic/gin, gin}
564web framework
565@end itemize")
566 (license license:expat)))
567
363(define-public go-github-com-go-quicktest-qt 568(define-public go-github-com-go-quicktest-qt
364 (package 569 (package
365 (name "go-github-com-go-quicktest-qt") 570 (name "go-github-com-go-quicktest-qt")
@@ -376,9 +581,20 @@ tests.")
376 (build-system go-build-system) 581 (build-system go-build-system)
377 (arguments 582 (arguments
378 (list 583 (list
379 #:import-path "github.com/go-quicktest/qt")) 584 #:import-path "github.com/go-quicktest/qt"
585 #:test-flags
586 #~(list "-skip" (string-join
587 ;; Tests failing with assertion error or could not find
588 ;; test files.
589 (list "TestReportOutput"
590 "TestIndirectReportOutput"
591 "TestMultilineReportOutput"
592 "TestCmpReportOutput"
593 "TestTopLevelAssertReportOutput")
594 "|"))))
380 (propagated-inputs 595 (propagated-inputs
381 (list go-github-com-google-go-cmp go-github-com-kr-pretty)) 596 (list go-github-com-google-go-cmp
597 go-github-com-kr-pretty))
382 (home-page "https://github.com/go-quicktest/qt") 598 (home-page "https://github.com/go-quicktest/qt")
383 (synopsis "Qt: quicker Go tests") 599 (synopsis "Qt: quicker Go tests")
384 (description 600 (description
@@ -450,6 +666,30 @@ programming language}. It integrates well with Go's built-in @code{testing}
450package, but can be used in other contexts too.") 666package, but can be used in other contexts too.")
451 (license license:asl2.0))) 667 (license license:asl2.0)))
452 668
669(define-public go-github-com-golangplus-fmt
670 (package
671 (name "go-github-com-golangplus-fmt")
672 (version "1.0.0")
673 (source
674 (origin
675 (method git-fetch)
676 (uri (git-reference
677 (url "https://github.com/golangplus/fmt")
678 (commit (string-append "v" version))))
679 (file-name (git-file-name name version))
680 (sha256
681 (base32 "07d5kxz0f8ss3v46y0c8jg02sagi0wlaaijhjzzp0r462jyzqii7"))))
682 (build-system go-build-system)
683 (arguments
684 (list
685 #:tests? #f ; failing with new Golang compiler.
686 #:import-path "github.com/golangplus/fmt"))
687 (home-page "https://github.com/golangplus/fmt")
688 (synopsis "Additions to Go's standard @code{fmt} package")
689 (description
690 "This package provides additions to Go's stdlib @code{fmt}.")
691 (license license:bsd-3)))
692
453(define-public go-github-com-golangplus-testing 693(define-public go-github-com-golangplus-testing
454 (package 694 (package
455 (name "go-github-com-golangplus-testing") 695 (name "go-github-com-golangplus-testing")
@@ -467,36 +707,48 @@ package, but can be used in other contexts too.")
467 (build-system go-build-system) 707 (build-system go-build-system)
468 (arguments 708 (arguments
469 '(#:import-path "github.com/golangplus/testing")) 709 '(#:import-path "github.com/golangplus/testing"))
710 (native-inputs
711 (list go-github-com-golangplus-bytes-bootstrap))
470 (propagated-inputs 712 (propagated-inputs
471 (list go-github-com-golangplus-fmt)) 713 (list go-github-com-golangplus-fmt))
472 (synopsis "Additions to Go's standard testing package") 714 (synopsis "Additions to Go's standard testing package")
473 (description "This package provides additions to Go's stdlib testing.") 715 (description "This package provides additions to Go's stdlib testing.")
474 (license license:bsd-3))) 716 (license license:bsd-3)))
475 717
718(define-public go-github-com-golangplus-testing-bootstrap
719 (hidden-package
720 (package
721 (inherit go-github-com-golangplus-testing)
722 (arguments
723 (list #:skip-build? #t
724 #:tests? #f
725 #:import-path "github.com/golangplus/testing"))
726 (native-inputs '())
727 (propagated-inputs '()))))
728
476(define-public go-github-com-google-gofuzz 729(define-public go-github-com-google-gofuzz
477 (let ((commit "fd52762d25a41827db7ef64c43756fd4b9f7e382") 730 (package
478 (revision "0")) 731 (name "go-github-com-google-gofuzz")
479 (package 732 (version "1.2.0")
480 (name "go-github-com-google-gofuzz") 733 (source
481 (version (git-version "0.0.0" revision commit)) 734 (origin
482 (source 735 (method git-fetch)
483 (origin 736 (uri (git-reference
484 (method git-fetch) 737 (url "https://github.com/google/gofuzz")
485 (uri (git-reference 738 (commit (string-append "v" version))))
486 (url "https://github.com/google/gofuzz") 739 (file-name (git-file-name name version))
487 (commit commit))) 740 (sha256
488 (file-name (git-file-name name version)) 741 (base32 "19bykk6y9d1ivylxchkx1r1d02xrh3wfvvd02zvr5qv5ippv78ag"))))
489 (sha256 742 (build-system go-build-system)
490 (base32 743 (arguments
491 "1yxmmr73h0lq7ryf3q9a7pcm2x5xrg4d5bxkq8n5pxwxwyq26kw8")))) 744 (list
492 (build-system go-build-system) 745 #:import-path "github.com/google/gofuzz"))
493 (arguments 746 (home-page "https://github.com/google/gofuzz")
494 '(#:import-path "github.com/google/gofuzz")) 747 (synopsis "Fuzz testing library for Go")
495 (home-page "https://github.com/google/gofuzz") 748 (description
496 (synopsis "Fuzz testing library for Go") 749 "Gofuzz is a library for populationg Go objects with random values for
497 (description "Gofuzz is a library for populationg Go objects with random 750the purpose of fuzz testing.")
498values for the purpose of fuzz testing.") 751 (license license:asl2.0)))
499 (license license:asl2.0))))
500 752
501;; XXX: Placing to (gnu package profiling) creates some failing cycles. 753;; XXX: Placing to (gnu package profiling) creates some failing cycles.
502(define-public go-github-com-google-pprof 754(define-public go-github-com-google-pprof
@@ -515,6 +767,7 @@ values for the purpose of fuzz testing.")
515 (build-system go-build-system) 767 (build-system go-build-system)
516 (arguments 768 (arguments
517 (list 769 (list
770 #:tests? #f ; source only package
518 #:import-path "github.com/google/pprof" 771 #:import-path "github.com/google/pprof"
519 #:phases 772 #:phases
520 #~(modify-phases %standard-phases 773 #~(modify-phases %standard-phases
@@ -571,99 +824,239 @@ package).")
571 "This package provides a library to generate unified diffs.") 824 "This package provides a library to generate unified diffs.")
572 (license license:bsd-3))) 825 (license license:bsd-3)))
573 826
827(define-public go-github-com-icrowley-fake
828 (package
829 (name "go-github-com-icrowley-fake")
830 (version "0.0.0-20240710202011-f797eb4a99c0")
831 (source
832 (origin
833 (method git-fetch)
834 (uri (git-reference
835 (url "https://github.com/icrowley/fake")
836 (commit (go-version->git-ref version))))
837 (file-name (git-file-name name version))
838 (sha256
839 (base32 "1zb2rdck6fwjw1ib7k6gm9d9mnsig4cr2807k7v5z6nwqka1pcw1"))))
840 (build-system go-build-system)
841 (arguments
842 (list
843 #:import-path "github.com/icrowley/fake"))
844 (propagated-inputs
845 (list go-github-com-corpix-uarand))
846 (home-page "https://github.com/icrowley/fake")
847 (synopsis "Fake data generator for Golang")
848 (description
849 "Package fake is the fake data generatror for go (Golang), heavily
850inspired by forgery and @url{https://github.com/ffaker/ffaker,ffaker} Ruby
851gems.")
852 (license license:expat)))
853
854(define-public go-github-com-jackc-fake
855 (package
856 (inherit go-github-com-icrowley-fake)
857 (name "go-github-com-jackc-fake")
858 (version "0.0.0-20150926172116-812a484cc733")
859 (source
860 (origin
861 (method git-fetch)
862 (uri (git-reference
863 (url "https://github.com/jackc/fake")
864 (commit (go-version->git-ref version))))
865 (file-name (git-file-name name version))
866 (sha256
867 (base32 "0f32qgzhx7pl3s0g4v916z21kfyh5v1dv28aakxisiw23936wf68"))
868 (modules '((guix build utils)))
869 (snippet
870 #~(begin
871 ;; Module name has not been changed after been forked upstream.
872 (substitute* (find-files "." "\\.go$")
873 (("github.com/icrowley/fake") "github.com/jackc/fake"))))))
874 (arguments
875 (list
876 #:import-path "github.com/jackc/fake"))
877 (home-page "https://github.com/jackc/fake")
878 (description
879 "This package is an alternative fork of @url{github.com/icrowley/fake}
880used in go-github-com-jackc-pgx.")
881 (license license:expat)))
882
883(define-public go-github-com-jackc-pgmock
884 (package
885 (name "go-github-com-jackc-pgmock")
886 (version "0.0.0-20210724152146-4ad1a8207f65")
887 (source
888 (origin
889 (method git-fetch)
890 (uri (git-reference
891 (url "https://github.com/jackc/pgmock")
892 (commit (go-version->git-ref version))))
893 (file-name (git-file-name name version))
894 (sha256
895 (base32 "189hp5fkvavwgg7z0z9b9xj88ypsphvb7s4dpwa5aj42jm39nqha"))))
896 (build-system go-build-system)
897 (arguments
898 (list
899 #:import-path "github.com/jackc/pgmock"))
900 (native-inputs
901 (list go-github-com-jackc-pgconn-bootstrap
902 go-github-com-stretchr-testify))
903 (propagated-inputs
904 (list go-github-com-jackc-pgproto3-v2))
905 (home-page "https://github.com/jackc/pgmock")
906 (synopsis "PostgreSQL server mocking library")
907 (description
908 "This package implements a functionality to mock a PostgreSQL server.")
909 (license license:expat)))
910
911(define-public go-github-com-jackc-pgmock-bootstrap
912 (hidden-package
913 (package
914 (inherit go-github-com-jackc-pgmock)
915 (arguments
916 (list #:tests? #f
917 #:import-path "github.com/jackc/pgmock"
918 #:phases
919 #~(modify-phases %standard-phases
920 (delete 'build))))
921 (native-inputs '()))))
922
574(define-public go-github-com-jacobsa-oglematchers 923(define-public go-github-com-jacobsa-oglematchers
575 (let ((commit "141901ea67cd4769c6800aa7bfdfc558fa22bda5") 924 (package
576 (revision "0")) 925 (name "go-github-com-jacobsa-oglematchers")
577 (package 926 (version "0.0.0-20150720000706-141901ea67cd")
578 (name "go-github-com-jacobsa-oglematchers") 927 (source
579 (version (git-version "0.0.0" revision commit)) 928 (origin
580 (source (origin 929 (method git-fetch)
581 (method git-fetch) 930 (uri (git-reference
582 (uri (git-reference 931 (url "https://github.com/jacobsa/oglematchers")
583 (url "https://github.com/jacobsa/oglematchers") 932 (commit (go-version->git-ref version))))
584 (commit commit))) 933 (file-name (git-file-name name version))
585 (file-name (git-file-name name version)) 934 (sha256
586 (sha256 935 (base32 "09ff5x6vbhd9zl1z4yzyk573ifh16rry38q1rx986kbz4hqkmniq"))))
587 (base32 936 (build-system go-build-system)
588 "09ff5x6vbhd9zl1z4yzyk573ifh16rry38q1rx986kbz4hqkmniq")))) 937 (arguments
589 (build-system go-build-system) 938 '(#:import-path "github.com/jacobsa/oglematchers"
590 (arguments 939 ;; break loop with with go-github-com-jacobsa-ogletest
591 '(#:import-path "github.com/jacobsa/oglematchers" 940 #:tests? #f))
592 ;; break loop with with go-github-com-jacobsa-ogletest 941 (home-page "https://github.com/jacobsa/oglematchers")
593 #:tests? #f)) 942 (synopsis "Matchers for Go testing framework")
594 (home-page "https://github.com/jacobsa/oglematchers") 943 (description
595 (synopsis "Matchers for Go testing framework") 944 "Package oglematchers provides a set of matchers useful in a testing or
596 (description 945mocking framework. These matchers are inspired by and mostly compatible with
597 "Package oglematchers provides a set of matchers useful in a testing or mocking 946Google Test for C++ and Google JS Test.")
598framework. These matchers are inspired by and mostly compatible with Google 947 (license license:asl2.0)))
599Test for C++ and Google JS Test.")
600 (license license:asl2.0))))
601 948
602(define-public go-github-com-jacobsa-oglemock 949(define-public go-github-com-jacobsa-oglemock
603 (let ((commit "e94d794d06ffc6de42cb19d0dab3c219efdd6dcf") 950 (package
604 (revision "0")) 951 (name "go-github-com-jacobsa-oglemock")
605 (package 952 (version "0.0.0-20150831005832-e94d794d06ff")
606 (name "go-github-com-jacobsa-oglemock") 953 (source
607 (version (git-version "0.0.0" revision commit)) 954 (origin
608 (source 955 (method git-fetch)
609 (origin 956 (uri (git-reference
610 (method git-fetch) 957 (url "https://github.com/jacobsa/oglemock")
611 (uri (git-reference 958 (commit (go-version->git-ref version))))
612 (url "https://github.com/jacobsa/oglemock") 959 (file-name (git-file-name name version))
613 (commit commit))) 960 (sha256
614 (file-name (git-file-name name version)) 961 (base32
615 (sha256 962 "14yxf8ykwdwkcccksl6741xgzcf8qykyi58kp4maxpgscqhdl8rq"))))
616 (base32 963 (build-system go-build-system)
617 "14yxf8ykwdwkcccksl6741xgzcf8qykyi58kp4maxpgscqhdl8rq")))) 964 (arguments
618 (build-system go-build-system) 965 (list
619 (arguments 966 #:import-path "github.com/jacobsa/oglemock"
620 (list 967 ;; break loop with with go-github-com-jacobsa-ogletest
621 #:import-path "github.com/jacobsa/oglemock" 968 #:tests? #f))
622 ;; break loop with with go-github-com-jacobsa-ogletest 969 (native-inputs
623 #:tests? #f)) 970 (list go-github-com-jacobsa-oglematchers))
624 (native-inputs 971 (home-page "https://github.com/jacobsa/oglemock")
625 (list go-github-com-jacobsa-oglematchers)) 972 (synopsis "Mocking framework for unit tests")
626 (home-page "https://github.com/jacobsa/oglemock") 973 (description
627 (synopsis "Mocking framework for unit tests") 974 "Package oglemock provides a mocking framework for unit tests.")
628 (description 975 (license license:asl2.0)))
629 "Package oglemock provides a mocking framework for unit tests.")
630 (license license:asl2.0))))
631 976
632(define-public go-github-com-jacobsa-ogletest 977(define-public go-github-com-jacobsa-ogletest
633 (let ((commit "80d50a735a1108a2aeb7abc4a988d183f20c5292") 978 (package
634 (revision "0")) 979 (name "go-github-com-jacobsa-ogletest")
635 (package 980 (version "0.0.0-20170503003838-80d50a735a11")
636 (name "go-github-com-jacobsa-ogletest") 981 (source
637 (version (git-version "0.0.0" revision commit)) 982 (origin
638 (source 983 (method git-fetch)
639 (origin 984 (uri (git-reference
640 (method git-fetch) 985 (url "https://github.com/jacobsa/ogletest")
641 (uri (git-reference 986 (commit (go-version->git-ref version))))
642 (url "https://github.com/jacobsa/ogletest") 987 (file-name (git-file-name name version))
643 (commit commit))) 988 (sha256
644 (file-name (git-file-name name version)) 989 (base32 "1lbwbxzr75g65q07ry5k4kglxqs3ym7xkvqznzm55rm3qk76v83r"))))
645 (sha256 990 (build-system go-build-system)
646 (base32 991 (arguments
647 "1lbwbxzr75g65q07ry5k4kglxqs3ym7xkvqznzm55rm3qk76v83r")))) 992 (list
648 (build-system go-build-system) 993 #:import-path "github.com/jacobsa/ogletest"
649 (arguments 994 #:test-flags #~(list "-skip" "TestGoldenFiles")))
650 '(#:import-path "github.com/jacobsa/ogletest" 995 (propagated-inputs
651 ;; These tests should be made working 996 (list go-github-com-jacobsa-oglematchers
652 #:tests? #f)) 997 go-github-com-jacobsa-oglemock
653 (native-inputs 998 go-github-com-jacobsa-reqtrace
654 (list go-github-com-jacobsa-oglematchers 999 go-golang-org-x-net))
655 go-github-com-jacobsa-oglemock 1000 (home-page "https://github.com/jacobsa/ogletest")
656 go-github-com-jacobsa-reqtrace 1001 (synopsis "Expressive unit tests")
657 go-golang-org-x-net)) 1002 (description
658 (home-page "https://github.com/jacobsa/ogletest") 1003 "Package ogletest provides a framework for writing expressive unit tests.
659 (synopsis "Expressive unit tests") 1004It integrates with the builtin testing package, so it works with the gotest
660 (description
661 "Package ogletest provides a framework for writing expressive unit tests. It
662integrates with the builtin testing package, so it works with the gotest
663command. Unlike the testing package which offers only basic capabilities for 1005command. Unlike the testing package which offers only basic capabilities for
664signalling failures, it offers ways to express expectations and get nice failure 1006signalling failures, it offers ways to express expectations and get nice
665messages automatically.") 1007failure messages automatically.")
666 (license license:asl2.0)))) 1008 (license license:asl2.0)))
1009
1010(define-public go-github-com-jacobsa-reqtrace
1011 (package
1012 (name "go-github-com-jacobsa-reqtrace")
1013 (version "0.0.0-20150505043853-245c9e0234cb")
1014 (source
1015 (origin
1016 (method git-fetch)
1017 (uri (git-reference
1018 (url "https://github.com/jacobsa/reqtrace")
1019 (commit (go-version->git-ref version))))
1020 (file-name (git-file-name name version))
1021 (sha256
1022 (base32 "0zfyijig10896v42rvxka1n4wn6lijqz40y2281187l7mq8vv5jn"))))
1023 (build-system go-build-system)
1024 (arguments
1025 (list
1026 #:import-path "github.com/jacobsa/reqtrace"))
1027 (propagated-inputs
1028 (list go-golang-org-x-net))
1029 (home-page "https://github.com/jacobsa/reqtrace")
1030 (synopsis "Simple request tracing framework")
1031 (description
1032 "Package reqtrace contains a very simple request tracing framework.")
1033 (license license:asl2.0)))
1034
1035(define-public go-github-com-jarcoal-httpmock
1036 (package
1037 (name "go-github-com-jarcoal-httpmock")
1038 (version "1.3.1")
1039 (source
1040 (origin
1041 (method git-fetch)
1042 (uri (git-reference
1043 (url "https://github.com/jarcoal/httpmock")
1044 (commit (string-append "v" version))))
1045 (file-name (git-file-name name version))
1046 (sha256
1047 (base32 "0xw73d59nl1jj18h2hp9vlgqmfvqk9bknzpimg4mjn13d4jzhqrf"))))
1048 (build-system go-build-system)
1049 (arguments
1050 (list
1051 #:import-path "github.com/jarcoal/httpmock"))
1052 (native-inputs
1053 (list go-github-com-maxatome-go-testdeep))
1054 (home-page "https://github.com/jarcoal/httpmock")
1055 (synopsis "HTTP mocking for Golang")
1056 (description
1057 "Package httpmock provides tools for mocking HTTP responses. It
1058implements exact URL and regexp matches.")
1059 (license license:expat)))
667 1060
668(define-public go-github-com-jbenet-go-cienv 1061(define-public go-github-com-jbenet-go-cienv
669 (package 1062 (package
@@ -690,6 +1083,135 @@ Many times certain facilities are not available, or tests must run
690differently.") 1083differently.")
691 (license license:expat))) 1084 (license license:expat)))
692 1085
1086(define-public go-github-com-jmhodges-clock
1087 (package
1088 (name "go-github-com-jmhodges-clock")
1089 (version "1.2.0")
1090 (source
1091 (origin
1092 (method git-fetch)
1093 (uri (git-reference
1094 (url "https://github.com/jmhodges/clock")
1095 (commit (string-append "v" version))))
1096 (file-name (git-file-name name version))
1097 (sha256
1098 (base32 "0ys85dlg3zzzwl7p46kf5gckjm1ddgr5dai42v4p3wn9nm6ln252"))))
1099 (build-system go-build-system)
1100 (arguments
1101 (list
1102 #:import-path "github.com/jmhodges/clock"))
1103 (home-page "https://github.com/jmhodges/clock")
1104 (synopsis "System time abstraction Golang library")
1105 (description
1106 "Package clock provides an abstraction for system time that enables
1107testing of time-sensitive code.")
1108 (license license:expat)))
1109
1110(define-public go-github-com-jtolds-gls
1111 (package
1112 (name "go-github-com-jtolds-gls")
1113 (version "4.20.0")
1114 (source
1115 (origin
1116 (method git-fetch)
1117 (uri (git-reference
1118 (url "https://github.com/jtolds/gls")
1119 (commit (string-append "v" version))))
1120 (file-name (git-file-name name version))
1121 (sha256
1122 (base32 "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6"))))
1123 (build-system go-build-system)
1124 (arguments
1125 (list
1126 #:import-path "github.com/jtolds/gls"
1127 #:phases
1128 #~(modify-phases %standard-phases
1129 (replace 'check
1130 (lambda* (#:key inputs #:allow-other-keys #:rest args)
1131 (unless
1132 ;; The tests fail when run with gccgo.
1133 (false-if-exception (search-input-file inputs "/bin/gccgo"))
1134 (apply (assoc-ref %standard-phases 'check) args)))))))
1135 (home-page "https://github.com/jtolds/gls")
1136 (synopsis "@code{gls} provides Goroutine local storage")
1137 (description
1138 "The @code{gls} package provides a way to store a retrieve values
1139per-goroutine.")
1140 (license license:expat)))
1141
1142(define-public go-github-com-ldez-tagliatelle
1143 (package
1144 (name "go-github-com-ldez-tagliatelle")
1145 (version "0.5.0")
1146 (source
1147 (origin
1148 (method git-fetch)
1149 (uri (git-reference
1150 (url "https://github.com/ldez/tagliatelle")
1151 (commit (string-append "v" version))))
1152 (file-name (git-file-name name version))
1153 (sha256
1154 (base32 "0s891pqzwivmhw7xfw0m8n8fcg90xiykcg808rr869iflbkdik9n"))))
1155 (build-system go-build-system)
1156 (arguments
1157 (list
1158 #:import-path "github.com/ldez/tagliatelle"))
1159 (propagated-inputs
1160 (list go-github-com-ettle-strcase
1161 go-github-com-hashicorp-go-immutable-radix-v2
1162 go-golang-org-x-tools))
1163 (home-page "https://github.com/ldez/tagliatelle")
1164 (synopsis "Struct tags handling linter for Golang")
1165 (description
1166 "This package implement a functionality for validating tags according to
1167rules you define and fixing them according to the defined rules.")
1168 (license license:asl2.0)))
1169
1170(define-public go-github-com-maruel-panicparse
1171 (package
1172 (name "go-github-com-maruel-panicparse")
1173 (version "1.6.2")
1174 (source
1175 (origin
1176 (method git-fetch)
1177 (uri (git-reference
1178 (url "https://github.com/maruel/panicparse")
1179 (commit (string-append "v" version))))
1180 (file-name (git-file-name name version))
1181 (sha256
1182 (base32 "07hj3z47v4mzppi8r7ja20arh2kd0dih913xgb9ylapf7w5q98bn"))))
1183 (build-system go-build-system)
1184 (arguments
1185 (list
1186 #:import-path "github.com/maruel/panicparse"
1187 #:test-flags
1188 #~(list "-skip"
1189 (string-join
1190 ;; Failed with panic.
1191 (list "TestAugment"
1192 "TestPanic"
1193 "TestPanicweb"
1194 "TestProcessTwoSnapshots"
1195 "TestSnapshotHandler"
1196 "TestSnapshotHandler_Err"
1197 "TestSnapshotHandler_LargeMemory"
1198 )
1199 "|"))))
1200 (native-inputs
1201 (list go-github-com-google-go-cmp))
1202 (propagated-inputs
1203 (list go-github-com-mattn-go-colorable
1204 go-github-com-mattn-go-isatty
1205 go-github-com-mgutz-ansi
1206 go-golang-org-x-sys))
1207 (home-page "https://github.com/maruel/panicparse")
1208 (synopsis "Toolkit for parsing Go stack traces")
1209 (description
1210 "This package provides a toolkit for parsing Go language panic stack
1211traces. It simplifies the traces to make salient information more visible and
1212aid debugging.")
1213 (license license:asl2.0)))
1214
693(define-public go-github-com-marvinjwendt-testza 1215(define-public go-github-com-marvinjwendt-testza
694 (package 1216 (package
695 (name "go-github-com-marvinjwendt-testza") 1217 (name "go-github-com-marvinjwendt-testza")
@@ -758,6 +1280,34 @@ output capturing, mocking, and much more.")
758testing capabilities.") 1280testing capabilities.")
759 (license license:expat))) 1281 (license license:expat)))
760 1282
1283(define-public go-github-com-maxatome-go-testdeep
1284 (package
1285 (name "go-github-com-maxatome-go-testdeep")
1286 (version "1.14.0")
1287 (source
1288 (origin
1289 (method git-fetch)
1290 (uri (git-reference
1291 (url "https://github.com/maxatome/go-testdeep")
1292 (commit (string-append "v" version))))
1293 (file-name (git-file-name name version))
1294 (sha256
1295 (base32 "0r9w79qm6j080gbqhrd5gwjzsnkmrcihy4yniw77g0wkspxxdjww"))))
1296 (build-system go-build-system)
1297 (arguments
1298 (list
1299 #:import-path "github.com/maxatome/go-testdeep"
1300 ;; Structure comparison not equal.
1301 #:test-flags #~(list "-skip" "TestFatalTrace")))
1302 (propagated-inputs
1303 (list go-github-com-davecgh-go-spew))
1304 (home-page "https://github.com/maxatome/go-testdeep")
1305 (synopsis "Extended HTTP API testing framework")
1306 (description
1307 "Package testdeep allows flexible deep comparison, it is an adaptation of
1308Perl's @url{https://metacpan.org/pod/Test::Deep, Test::Deep perl}.")
1309 (license license:bsd-2)))
1310
761(define-public go-github-com-onsi-ginkgo 1311(define-public go-github-com-onsi-ginkgo
762 (package 1312 (package
763 (name "go-github-com-onsi-ginkgo") 1313 (name "go-github-com-onsi-ginkgo")
@@ -774,7 +1324,8 @@ testing capabilities.")
774 (build-system go-build-system) 1324 (build-system go-build-system)
775 (arguments 1325 (arguments
776 (list 1326 (list
777 #:import-path "github.com/onsi/ginkgo")) 1327 #:import-path "github.com/onsi/ginkgo"
1328 #:test-flags #~(list "-skip" "TestIntegration")))
778 (propagated-inputs 1329 (propagated-inputs
779 (list go-github-com-go-task-slim-sprig 1330 (list go-github-com-go-task-slim-sprig
780 go-github-com-nxadm-tail 1331 go-github-com-nxadm-tail
@@ -793,7 +1344,7 @@ Gomega matcher library.")
793 (package 1344 (package
794 (inherit go-github-com-onsi-ginkgo) 1345 (inherit go-github-com-onsi-ginkgo)
795 (name "go-github-com-onsi-ginkgo-v2") 1346 (name "go-github-com-onsi-ginkgo-v2")
796 (version "2.19.0") 1347 (version "2.22.0")
797 (source 1348 (source
798 (origin 1349 (origin
799 (method git-fetch) 1350 (method git-fetch)
@@ -802,10 +1353,14 @@ Gomega matcher library.")
802 (commit (string-append "v" version)))) 1353 (commit (string-append "v" version))))
803 (file-name (git-file-name name version)) 1354 (file-name (git-file-name name version))
804 (sha256 1355 (sha256
805 (base32 "0dwnkcysb5d9dyg8p84hhx5a3sj85g3bwgki1pgay4i8glz7xa7q")))) 1356 (base32 "1mla4hr73ykbhl2mr40vzr4fjl97whr17ip907cac78fzch1csn8"))))
806 (arguments 1357 (arguments
807 (list 1358 (list
808 #:import-path "github.com/onsi/ginkgo/v2")) 1359 #:import-path "github.com/onsi/ginkgo/v2"
1360 #:test-subdirs
1361 ;; XXX: Most of the tests hang, find out why, keeping bare minimal
1362 ;; amount.
1363 #~(list "dsl/..." "extensions/globals" ".")))
809 (propagated-inputs 1364 (propagated-inputs
810 (list go-github-com-go-logr-logr 1365 (list go-github-com-go-logr-logr
811 go-github-com-go-task-slim-sprig-v3 1366 go-github-com-go-task-slim-sprig-v3
@@ -815,6 +1370,19 @@ Gomega matcher library.")
815 go-golang-org-x-sys 1370 go-golang-org-x-sys
816 go-golang-org-x-tools)))) 1371 go-golang-org-x-tools))))
817 1372
1373(define-public go-github-com-onsi-ginkgo-v2-bootstrap
1374 (hidden-package (package (inherit go-github-com-onsi-ginkgo-v2)
1375 (name "go-github-com-onsi-ginkgo-v2")
1376 (arguments
1377 (list
1378 #:tests? #f
1379 #:import-path "github.com/onsi/ginkgo/v2"
1380 #:phases
1381 #~(modify-phases %standard-phases (delete 'build))))
1382 (native-inputs '())
1383 (propagated-inputs
1384 (list go-github-com-go-logr-logr)))))
1385
818(define-public go-github-com-onsi-gomega 1386(define-public go-github-com-onsi-gomega
819 (package 1387 (package
820 (name "go-github-com-onsi-gomega") 1388 (name "go-github-com-onsi-gomega")
@@ -831,10 +1399,15 @@ Gomega matcher library.")
831 (build-system go-build-system) 1399 (build-system go-build-system)
832 (arguments 1400 (arguments
833 (list 1401 (list
834 ;; Unless we disable the tests, we have a circular dependency on 1402 #:import-path "github.com/onsi/gomega"
835 ;; ginkgo/v2. 1403 #:phases
836 #:tests? #f 1404 #~(modify-phases %standard-phases
837 #:import-path "github.com/onsi/gomega")) 1405 (add-after 'unpack 'remove-failing-test-files
1406 (lambda* (#:key import-path #:allow-other-keys)
1407 (with-directory-excursion (string-append "src/" import-path)
1408 (delete-file "gexec/build_test.go")))))))
1409 (native-inputs
1410 (list go-github-com-onsi-ginkgo-v2-bootstrap))
838 (propagated-inputs 1411 (propagated-inputs
839 (list go-github-com-golang-protobuf 1412 (list go-github-com-golang-protobuf
840 go-golang-org-x-net 1413 go-golang-org-x-net
@@ -961,6 +1534,31 @@ original value once the test has been run.")
961current goroutine's ID.") 1534current goroutine's ID.")
962 (license license:asl2.0)))) 1535 (license license:asl2.0))))
963 1536
1537(define-public go-github-com-rubyist-tracerx
1538 (package
1539 (name "go-github-com-rubyist-tracerx")
1540 (version "0.0.0-20170927163412-787959303086")
1541 (source
1542 (origin
1543 (method git-fetch)
1544 (uri (git-reference
1545 (url "https://github.com/rubyist/tracerx")
1546 (commit (go-version->git-ref version))))
1547 (file-name (git-file-name name version))
1548 (sha256
1549 (base32 "1xj5213r00zjhb7d2l6wlwv62g6mss50jwjpf7g8fk8djv3l29zz"))))
1550 (build-system go-build-system)
1551 (arguments
1552 (list
1553 #:import-path "github.com/rubyist/tracerx"))
1554 (home-page "https://github.com/rubyist/tracerx/")
1555 (synopsis "Output tracing information in your Go app")
1556 (description
1557 "This package is a simple tracing application that logs messages
1558depending on environment variables. It is very much inspired by git's
1559GIT_TRACE mechanism.")
1560 (license license:expat)))
1561
964(define-public go-github-com-sasha-s-go-deadlock 1562(define-public go-github-com-sasha-s-go-deadlock
965 (package 1563 (package
966 (name "go-github-com-sasha-s-go-deadlock") 1564 (name "go-github-com-sasha-s-go-deadlock")
@@ -989,7 +1587,7 @@ current goroutine's ID.")
989(define-public go-github-com-stretchr-testify 1587(define-public go-github-com-stretchr-testify
990 (package 1588 (package
991 (name "go-github-com-stretchr-testify") 1589 (name "go-github-com-stretchr-testify")
992 (version "1.9.0") 1590 (version "1.10.0")
993 (source 1591 (source
994 (origin 1592 (origin
995 (method git-fetch) 1593 (method git-fetch)
@@ -998,11 +1596,14 @@ current goroutine's ID.")
998 (commit (string-append "v" version)))) 1596 (commit (string-append "v" version))))
999 (file-name (git-file-name name version)) 1597 (file-name (git-file-name name version))
1000 (sha256 1598 (sha256
1001 (base32 1599 (base32 "0g1bdpqih38a7dl1malahz5x4ag01adk61gx47jg2534cqzvid05"))))
1002 "12cnhk96h8b3ddlb7jfvwwavzc0j1c2iva92pszl9rv6r571ckzg"))))
1003 (build-system go-build-system) 1600 (build-system go-build-system)
1004 (arguments 1601 (arguments
1005 '(#:import-path "github.com/stretchr/testify")) 1602 (list
1603 ;; XXX: Tests are shaky on non x86_64 architectures, check if some may
1604 ;; be enabled.
1605 #:tests? (target-x86-64?)
1606 #:import-path "github.com/stretchr/testify"))
1006 (propagated-inputs 1607 (propagated-inputs
1007 (list go-github-com-davecgh-go-spew 1608 (list go-github-com-davecgh-go-spew
1008 go-github-com-pmezard-go-difflib 1609 go-github-com-pmezard-go-difflib
@@ -1010,8 +1611,9 @@ current goroutine's ID.")
1010 go-gopkg-in-yaml-v3)) 1611 go-gopkg-in-yaml-v3))
1011 (home-page "https://github.com/stretchr/testify") 1612 (home-page "https://github.com/stretchr/testify")
1012 (synopsis "Go helper library for tests and invariant checking") 1613 (synopsis "Go helper library for tests and invariant checking")
1013 (description "This package provide many tools for testifying that your 1614 (description
1014code will behave as you intend. 1615 "This package provide many tools for testifying that your code will
1616behave as you intend.
1015 1617
1016Features include: 1618Features include:
1017@itemize 1619@itemize
@@ -1058,6 +1660,45 @@ Features include:
1058strings must or must not be sent to a given local UDP listener.") 1660strings must or must not be sent to a given local UDP listener.")
1059 (license license:expat))) 1661 (license license:expat)))
1060 1662
1663(define-public go-github-com-swaggest-assertjson
1664 (package
1665 (name "go-github-com-swaggest-assertjson")
1666 (version "1.9.0")
1667 (source
1668 (origin
1669 (method git-fetch)
1670 (uri (git-reference
1671 (url "https://github.com/swaggest/assertjson")
1672 (commit (string-append "v" version))))
1673 (file-name (git-file-name name version))
1674 (sha256
1675 (base32 "0smxcs548dnchqqk4bys167xaawzz125qsvlvpa267fkhqrxk7f9"))))
1676 (build-system go-build-system)
1677 (arguments
1678 (list
1679 #:import-path "github.com/swaggest/assertjson"
1680 #:test-flags #~(list "-skip" "TestEquals_message")
1681 #:phases
1682 #~(modify-phases %standard-phases
1683 (add-after 'unpack 'remove-examples
1684 (lambda* (#:key import-path #:allow-other-keys)
1685 (with-directory-excursion (string-append "src/" import-path)
1686 (for-each delete-file
1687 (list "example_test.go"))))))))
1688 (native-inputs
1689 (list go-github-com-bool64-dev
1690 go-github-com-stretchr-testify))
1691 (propagated-inputs
1692 (list go-github-com-bool64-shared
1693 go-github-com-iancoleman-orderedmap
1694 go-github-com-yosuke-furukawa-json5
1695 go-github-com-yudai-gojsondiff))
1696 (home-page "https://github.com/swaggest/assertjson")
1697 (synopsis "JSON equality assertions for Golang")
1698 (description
1699 "This package provides JSON equality assertions for Golang.")
1700 (license license:expat)))
1701
1061(define-public go-github-com-tdewolff-test 1702(define-public go-github-com-tdewolff-test
1062 (package 1703 (package
1063 (name "go-github-com-tdewolff-test") 1704 (name "go-github-com-tdewolff-test")
@@ -1112,28 +1753,38 @@ execution when a test fails.")
1112(define-public go-github-com-smartystreets-goconvey 1753(define-public go-github-com-smartystreets-goconvey
1113 (package 1754 (package
1114 (name "go-github-com-smartystreets-goconvey") 1755 (name "go-github-com-smartystreets-goconvey")
1115 (version "v1.8.1") 1756 (version "1.8.1")
1116 (source 1757 (source
1117 (origin 1758 (origin
1118 (method git-fetch) 1759 (method git-fetch)
1119 (uri (git-reference 1760 (uri (git-reference
1120 (url "https://github.com/smartystreets/goconvey") 1761 (url "https://github.com/smartystreets/goconvey")
1121 (commit version))) 1762 (commit (string-append "v" version))))
1122 (file-name (git-file-name name version)) 1763 (file-name (git-file-name name version))
1123 (sha256 1764 (sha256
1124 (base32 "0s9s7yd4jfwgirnz46kw1sfhgcgsdzfxlca6q16i6ixaqczfaap9")))) 1765 (base32 "0s9s7yd4jfwgirnz46kw1sfhgcgsdzfxlca6q16i6ixaqczfaap9"))))
1125 (build-system go-build-system) 1766 (build-system go-build-system)
1126 (arguments 1767 (arguments
1127 '(#:import-path "github.com/smartystreets/goconvey")) 1768 (list
1769 #:import-path "github.com/smartystreets/goconvey"
1770 #:test-flags
1771 ;; XXX: Figure out why these test fail.
1772 #~(list "-skip" (string-join
1773 (list "TestShellIntegration"
1774 "TestStackModeMultipleInvocationInheritance"
1775 "TestStackModeMultipleInvocationInheritance2"
1776 "TestStackModeMultipleInvocationInheritance3"
1777 "TestWatcher")
1778 "|"))))
1128 (propagated-inputs 1779 (propagated-inputs
1129 (list go-github-com-jtolds-gls 1780 (list go-github-com-jtolds-gls
1130 go-github-com-smarty-assertions 1781 go-github-com-smarty-assertions
1131 go-golang-org-x-tools)) 1782 go-golang-org-x-tools))
1132 (home-page "https://github.com/smartystreets/goconvey") 1783 (home-page "https://github.com/smartystreets/goconvey")
1133 (synopsis "Go testing tool with both a web and terminal user interface") 1784 (synopsis "Go testing tool with both a web and terminal user interface")
1134 (description "GoConvey is a testing tool for Go. It integrates with go 1785 (description
1135test, can show test coverage and has a web user interface that will refresh 1786 "GoConvey is a testing tool for Go. It integrates with go test, can show
1136automatically.") 1787test coverage and has a web user interface that will refresh automatically.")
1137 (license license:expat))) 1788 (license license:expat)))
1138 1789
1139(define-public go-github-com-smarty-assertions 1790(define-public go-github-com-smarty-assertions
@@ -1180,7 +1831,13 @@ functions and even in applications.")
1180 (build-system go-build-system) 1831 (build-system go-build-system)
1181 (arguments 1832 (arguments
1182 (list 1833 (list
1183 #:import-path "github.com/smarty/gunit")) 1834 #:import-path "github.com/smarty/gunit"
1835 ;; Expected: [&{ BowlingGameScoringTests [0xc000080020
1836 ;; 0xc000080040 0xc000080060 0xc000080080 0xc0000800a0]}]
1837 ;; Actual: [&{ BowlingGameScoringTests [0xc0000da920
1838 ;; 0xc0000da940 0xc0000da960 0xc0000da9a0 0xc0000da9c0]}]
1839 #:test-flags
1840 #~(list "-skip" "TestParseFileWithValidFixturesAndConstructs")))
1184 (home-page "https://github.com/smarty/gunit") 1841 (home-page "https://github.com/smarty/gunit")
1185 (synopsis "Golang xUnit-style test fixture test adapter") 1842 (synopsis "Golang xUnit-style test fixture test adapter")
1186 (description 1843 (description
@@ -1188,6 +1845,114 @@ functions and even in applications.")
1188functions for writing tests in an @code{xUnit} style.") 1845functions for writing tests in an @code{xUnit} style.")
1189 (license license:expat))) 1846 (license license:expat)))
1190 1847
1848(define-public go-github-com-viant-assertly
1849 (package
1850 (name "go-github-com-viant-assertly")
1851 (version "0.9.2")
1852 (source
1853 (origin
1854 (method git-fetch)
1855 (uri (git-reference
1856 (url "https://github.com/viant/assertly")
1857 (commit (string-append "v" version))))
1858 (file-name (git-file-name name version))
1859 (sha256
1860 (base32 "0mli7kfkaz3k4izx76w14qhq5a8bp6x1zw9471idrhg5wxg1mr1r"))))
1861 (build-system go-build-system)
1862 (arguments
1863 (list
1864 #:import-path "github.com/viant/assertly"
1865 #:test-flags #~(list "-skip" "TestAssertCoalesceWithZero")
1866 #:phases
1867 #~(modify-phases %standard-phases
1868 (add-before 'check 'pre-check
1869 (lambda _
1870 ;; failed to expand macro 1<ds:env[\"USER\"]>3, path:[/]:,
1871 ;; failed to lookup USER in env.
1872 (setenv "USER" "guix"))))))
1873 (native-inputs
1874 (list go-github-com-stretchr-testify))
1875 (propagated-inputs
1876 (list go-github-com-viant-toolbox))
1877 (home-page "https://github.com/viant/assertly")
1878 (synopsis "Data structure testing library)")
1879 (description
1880 "This library enables complex data structure testing, specifically:
1881@itemize
1882@item realtime transformation or casting of incompatible data types with
1883directives system
1884@item consistent way of testing of unordered structures
1885@item contains, Range, RegExp support on any data structure deeph level
1886@item switch case directive to provide expected value alternatives based on
1887actual switch/case input match
1888@item macro system enabling complex predicate and expression evaluation, and
1889customization
1890@end itemize")
1891 (license license:asl2.0)))
1892
1893(define-public go-github-com-viant-assertly-bootstrap
1894 (hidden-package
1895 (package
1896 (inherit go-github-com-viant-assertly)
1897 (arguments
1898 (list #:tests? #f
1899 #:import-path "github.com/viant/assertly"
1900 #:phases
1901 #~(modify-phases %standard-phases
1902 (delete 'build))))
1903 (native-inputs '())
1904 (propagated-inputs '()))))
1905
1906(define-public go-go-abhg-dev-requiredfield
1907 (package
1908 (name "go-go-abhg-dev-requiredfield")
1909 (version "0.3.0")
1910 (source
1911 (origin
1912 (method git-fetch)
1913 (uri (git-reference
1914 (url "https://github.com/abhinav/requiredfield")
1915 (commit (string-append "v" version))))
1916 (file-name (git-file-name name version))
1917 (sha256
1918 (base32 "15dccs71is06wi8xi3y2nnwpcpqbsh4pas4iggdr514aix8ljknf"))))
1919 (build-system go-build-system)
1920 (arguments
1921 (list
1922 #:import-path "go.abhg.dev/requiredfield"))
1923 (propagated-inputs
1924 (list go-golang-org-x-tools))
1925 (home-page "https://go.abhg.dev/requiredfield")
1926 (synopsis "Linter for required struct fields")
1927 (description
1928 "This package implements a linter that checks for required fields during
1929struct initialization.")
1930 (license license:bsd-3)))
1931
1932(define-public go-go-abhg-dev-testing-stub
1933 (package
1934 (name "go-go-abhg-dev-testing-stub")
1935 (version "0.2.0")
1936 (source
1937 (origin
1938 (method git-fetch)
1939 (uri (git-reference
1940 (url "https://github.com/abhinav/stub-go")
1941 (commit (string-append "v" version))))
1942 (file-name (git-file-name name version))
1943 (sha256
1944 (base32 "04by4hq9lhmz3ij2rdl053nr76l65q5w8w41khxgr5xak8s63yq6"))))
1945 (build-system go-build-system)
1946 (arguments
1947 (list
1948 #:import-path "go.abhg.dev/testing/stub"))
1949 (home-page "https://github.com/abhinav/stub-go/tree")
1950 (synopsis "Trivial stubbing package for Go")
1951 (description
1952 "Package stub provides helper functions to replace global variables for testing,
1953and restore them afterwards.")
1954 (license license:bsd-3)))
1955
1191(define-public go-go-etcd-io-gofail 1956(define-public go-go-etcd-io-gofail
1192 (package 1957 (package
1193 (name "go-go-etcd-io-gofail") 1958 (name "go-go-etcd-io-gofail")
@@ -1219,6 +1984,33 @@ functions for writing tests in an @code{xUnit} style.")
1219@url{http://www.freebsd.org/cgi/man.cgi?query=fail,failpoints} for Golang.") 1984@url{http://www.freebsd.org/cgi/man.cgi?query=fail,failpoints} for Golang.")
1220 (license license:asl2.0))) 1985 (license license:asl2.0)))
1221 1986
1987(define-public go-go-simpler-org-sloglint
1988 (package
1989 (name "go-go-simpler-org-sloglint")
1990 (version "0.7.2")
1991 (source
1992 (origin
1993 (method git-fetch)
1994 (uri (git-reference
1995 (url "https://github.com/go-simpler/sloglint")
1996 (commit (string-append "v" version))))
1997 (file-name (git-file-name name version))
1998 (sha256
1999 (base32 "0y5hw79hib5g4fwwr1qdr0k6424vhj0hfs0rj2kxlqfwr3sn99qk"))))
2000 (build-system go-build-system)
2001 (arguments
2002 (list
2003 #:import-path "go-simpler.org/sloglint"))
2004 (propagated-inputs
2005 (list go-github-com-ettle-strcase
2006 go-golang-org-x-tools))
2007 (home-page "https://pkg.go.dev/go-simpler.org/sloglint")
2008 (synopsis "Ensure consistent code style when using @code{log/slog}")
2009 (description
2010 "Package sloglint implements the sloglint analyzer. The @code{log/slog}
2011API allows two different types of arguments: key-value pairs and attributes.")
2012 (license license:mpl2.0)))
2013
1222(define-public go-golang-org-sql-mock 2014(define-public go-golang-org-sql-mock
1223 (package 2015 (package
1224 (name "go-golang-org-sql-mock") 2016 (name "go-golang-org-sql-mock")
@@ -1250,33 +2042,33 @@ real database connection.")
1250 (license license:expat))) 2042 (license license:expat)))
1251 2043
1252(define-public go-golang-org-x-lint 2044(define-public go-golang-org-x-lint
1253 (let ((commit "83fdc39ff7b56453e3793356bcff3070b9b96445") 2045 (package
1254 (revision "0")) 2046 (name "go-golang-org-x-lint")
1255 (package 2047 (version "0.0.0-20241112194109-818c5a804067")
1256 (name "go-golang-org-x-lint") 2048 (source
1257 (version (git-version "0.0.0" revision commit)) 2049 (origin
1258 (source 2050 (method git-fetch)
1259 (origin 2051 (uri (git-reference
1260 (method git-fetch) 2052 (url "https://go.googlesource.com/lint")
1261 (uri (git-reference 2053 (commit (go-version->git-ref version))))
1262 (url "https://go.googlesource.com/lint") 2054 (file-name (git-file-name name version))
1263 (commit commit))) 2055 (sha256
1264 (file-name (git-file-name name version)) 2056 (base32 "06ni2jpd3s5bzg2qrry58svakkg9k43gkgkrbk8f8x886qnhnimp"))))
1265 (sha256 2057 (build-system go-build-system)
1266 (base32 "0ms3rs5hvpnm9bxbr5f9743i7hn2bbmqdmvzxq6nmi0f24ypv1l3")))) 2058 (arguments
1267 (build-system go-build-system) 2059 (list
1268 (arguments 2060 #:import-path "golang.org/x/lint"))
1269 '(#:import-path "golang.org/x/lint" 2061 (propagated-inputs
1270 #:tests? #f)) ;; TODO: Fix tests 2062 (list go-golang-org-x-tools))
1271 (propagated-inputs 2063 (home-page "https://golang.org/x/lint")
1272 (list go-golang-org-x-tools)) 2064 (synopsis "Linter for Go source code")
1273 (home-page "https://golang.org/x/lint") 2065 (description
1274 (synopsis "Linter for Go source code") 2066 "This is a linter for Go source code. Unlike gofmt, it doesn't reformat
1275 (description 2067the source code, it only prints out style mistakes.")
1276 "This is a linter for Go source code. Unlike gofmt, it doesn't 2068 (license license:bsd-3)))
1277reformat the source code, it only prints out style mistakes.")
1278 (license license:bsd-3))))
1279 2069
2070;; XXX: Unmaintained since 2020, see
2071;; <https://github.com/go-check/check/issues/111>.
1280(define-public go-gopkg-in-check-v1 2072(define-public go-gopkg-in-check-v1
1281 (package 2073 (package
1282 (name "go-gopkg-in-check-v1") 2074 (name "go-gopkg-in-check-v1")
@@ -1294,15 +2086,9 @@ reformat the source code, it only prints out style mistakes.")
1294 (build-system go-build-system) 2086 (build-system go-build-system)
1295 (arguments 2087 (arguments
1296 (list 2088 (list
1297 #:import-path "gopkg.in/check.v1" 2089 ;; Most tests failed.
1298 #:phases 2090 #:tests? #f
1299 #~(modify-phases %standard-phases 2091 #:import-path "gopkg.in/check.v1"))
1300 (replace 'check
1301 (lambda* (#:key inputs #:allow-other-keys #:rest args)
1302 (unless
1303 ;; The tests fail when run with gccgo.
1304 (false-if-exception (search-input-file inputs "/bin/gccgo"))
1305 (apply (assoc-ref %standard-phases 'check) args)))))))
1306 (propagated-inputs 2092 (propagated-inputs
1307 (list go-github-com-kr-pretty)) 2093 (list go-github-com-kr-pretty))
1308 (home-page "https://gopkg.in/check.v1") 2094 (home-page "https://gopkg.in/check.v1")
@@ -1310,6 +2096,74 @@ reformat the source code, it only prints out style mistakes.")
1310 (description "This package provides a test library for the Go language.") 2096 (description "This package provides a test library for the Go language.")
1311 (license license:bsd-2))) 2097 (license license:bsd-2)))
1312 2098
2099(define-public go-gopkg-in-dnaeon-go-vcr-v3
2100 (package
2101 (name "go-gopkg-in-dnaeon-go-vcr-v3")
2102 (version "3.2.0")
2103 (source
2104 (origin
2105 (method git-fetch)
2106 (uri (git-reference
2107 (url "https://gopkg.in/dnaeon/go-vcr.v3")
2108 (commit (string-append "v" version))))
2109 (file-name (git-file-name name version))
2110 (sha256
2111 (base32 "1nij7rjbnrbsgjlm7fwpg298qffrgi2ic3wb51vqzxl6s9qkbzrq"))
2112 (snippet
2113 #~(begin (use-modules (guix build utils))
2114 (delete-file-recursively "vendor")))))
2115 (build-system go-build-system)
2116 (arguments
2117 (list
2118 #:import-path "gopkg.in/dnaeon/go-vcr.v3"
2119 #:phases
2120 #~(modify-phases %standard-phases
2121 ;; XXX: Workaround for go-build-system's lack of Go modules
2122 ;; support.
2123 (delete 'build)
2124 (replace 'check
2125 (lambda* (#:key tests? import-path #:allow-other-keys)
2126 (when tests?
2127 (with-directory-excursion (string-append "src/" import-path)
2128 (invoke "go" "test" "-v" "./..."))))))))
2129 (propagated-inputs
2130 (list go-gopkg-in-yaml-v3))
2131 (home-page "https://gopkg.in/dnaeon/go-vcr.v3")
2132 (synopsis "Record and replay your HTTP interactions")
2133 (description
2134 "@@code{go-vcr} simplifies testing by recording your HTTP interactions
2135and replaying them in future runs in order to provide fast, deterministic and
2136accurate testing of your code.")
2137 (license license:bsd-2)))
2138
2139(define-public go-gopkg-in-dnaeon-go-vcr-v4
2140 (package
2141 (inherit go-gopkg-in-dnaeon-go-vcr-v3)
2142 (name "go-gopkg-in-dnaeon-go-vcr-v4")
2143 (version "4.0.2")
2144 (source
2145 (origin
2146 (method git-fetch)
2147 (uri (git-reference
2148 (url "https://gopkg.in/dnaeon/go-vcr.v4")
2149 (commit (string-append "v" version))))
2150 (file-name (git-file-name name version))
2151 (sha256
2152 (base32 "1p1a4hbk303k2bv9dmaf770dml71zr3260g5z7yd84vzhj8i0rzb"))))
2153 (arguments
2154 (list
2155 #:import-path "gopkg.in/dnaeon/go-vcr.v4"
2156 #:phases
2157 #~(modify-phases %standard-phases
2158 ;; XXX: Workaround for go-build-system's lack of Go modules
2159 ;; support.
2160 (delete 'build)
2161 (replace 'check
2162 (lambda* (#:key tests? import-path #:allow-other-keys)
2163 (when tests?
2164 (with-directory-excursion (string-append "src/" import-path)
2165 (invoke "go" "test" "-v" "./..."))))))))))
2166
1313(define-public go-gopkg-in-go-playground-assert-v1 2167(define-public go-gopkg-in-go-playground-assert-v1
1314 (package 2168 (package
1315 (name "go-gopkg-in-go-playground-assert-v1") 2169 (name "go-gopkg-in-go-playground-assert-v1")
@@ -1367,6 +2221,8 @@ custom assertions to be used alongside native Go testing.")
1367 (arguments 2221 (arguments
1368 (list 2222 (list
1369 #:import-path "github.com/warpfork/go-testmark")) 2223 #:import-path "github.com/warpfork/go-testmark"))
2224 (propagated-inputs
2225 (list go-github-com-warpfork-go-fsx))
1370 (home-page "https://github.com/warpfork/go-testmark") 2226 (home-page "https://github.com/warpfork/go-testmark")
1371 (synopsis "Parser for @code{testmark} format") 2227 (synopsis "Parser for @code{testmark} format")
1372 (description 2228 (description
@@ -1394,7 +2250,15 @@ testmark} format, which itself is a subset of Markdown format.")
1394 (build-system go-build-system) 2250 (build-system go-build-system)
1395 (arguments 2251 (arguments
1396 (list 2252 (list
1397 #:import-path "github.com/warpfork/go-wish")) 2253 #:import-path "github.com/warpfork/go-wish"
2254 #:test-subdirs #~(list "cmp/..." "wishfix" ".")
2255 #:test-flags
2256 #~(list "-skip" (string-join
2257 (list "TestDiff"
2258 "TestOptions"
2259 "TestGoTestOutputTree/non-verbose"
2260 "TestGoTestOutputFun/non-verbose")
2261 "|"))))
1398 (home-page "https://github.com/warpfork/go-wish") 2262 (home-page "https://github.com/warpfork/go-wish")
1399 (synopsis "Test assertions for Golang") 2263 (synopsis "Test assertions for Golang")
1400 (description 2264 (description
@@ -1485,6 +2349,79 @@ the end of a test.")
1485built-in @code{testing} package, but can be used in other contexts too.") 2349built-in @code{testing} package, but can be used in other contexts too.")
1486 (license license:asl2.0))) 2350 (license license:asl2.0)))
1487 2351
2352(define-public go-gotest-tools-v3
2353 (package
2354 (name "go-gotest-tools-v3")
2355 (version "3.5.1")
2356 (source
2357 (origin
2358 (method git-fetch)
2359 (uri (git-reference
2360 (url "https://github.com/gotestyourself/gotest.tools")
2361 (commit (string-append "v" version))))
2362 (file-name (git-file-name name version))
2363 (sha256
2364 (base32 "1r5mc6slab6fj2si9nripl7fdq097s694gsn1gsxg2wj7605m5v4"))
2365 (modules '((guix build utils)))
2366 (snippet
2367 #~(begin
2368 ;; Submodules with their own go.mod files and packaged separatly:
2369 ;;
2370 ;; - gotest.tools/x/generics
2371 (for-each delete-file-recursively
2372 (list "x/generics"))))))
2373 (build-system go-build-system)
2374 (arguments
2375 (list
2376 #:import-path "gotest.tools/v3"
2377 #:test-flags
2378 #~(list "-skip" (string-join
2379 ;; Most of these failing tests can't read test file
2380 ;; maybe due to the symlink can't be resolved properly
2381 ;; or have assertion not equal.
2382 (list "TestAssert_WithBinaryExpression_Failures"
2383 "TestAssertWithBool.*"
2384 "TestCheckFailure"
2385 "TestCheckEqualFailure"
2386 "TestCheck_MultipleFunctionsOnTheSameLine"
2387 "TestEqualFailure"
2388 "TestEqualFailure.*"
2389 "TestAssertFailureWithOfflineComparison"
2390 "TestErrorTypeFailure"
2391 "TestErrorIs"
2392 "TestEqual_WithGoldenUpdate"
2393 "TestMigrateFile.*"
2394 "TestMigrate_AssertAlready.*"
2395 "TestFormattedCallExprArg.*"
2396 "TestWaitOnSocketWithTimeout/connection_to_"
2397 "TestIfCondition"
2398 "TestIfCondition.*")
2399 "|"))))
2400 (propagated-inputs
2401 (list go-github-com-google-go-cmp
2402 go-golang-org-x-tools))
2403 (home-page "https://gotest.tools")
2404 (synopsis "gotest.tools")
2405 (description
2406 "Package gotesttools is a collection of packages to augment
2407@code{testing} and support common patterns.
2408
2409Packages:
2410@itemize
2411@item @code{assert} - compare values and fail the test when a comparison fails
2412@item @code{env} - test code which uses environment variables
2413@item @code{fs} - create temporary files and compare a filesystem tree to an
2414expected value
2415@item @code{golden} - compare large multi-line strings against values frozen
2416in golden files
2417@item @code{icmd} - execute binaries and test the output
2418@item @code{poll} - test asynchronous code by polling until a desired state is
2419reached
2420@item @code{skip} - skip a test and print the source code of the condition
2421used to skip the test
2422@end itemize")
2423 (license license:asl2.0)))
2424
1488(define-public go-honnef-co-go-tools 2425(define-public go-honnef-co-go-tools
1489 (package 2426 (package
1490 (name "go-honnef-co-go-tools") 2427 (name "go-honnef-co-go-tools")
@@ -1524,6 +2461,67 @@ built-in @code{testing} package, but can be used in other contexts too.")
1524advanced Go linter.") 2461advanced Go linter.")
1525 (license license:expat))) 2462 (license license:expat)))
1526 2463
2464(define-public go-modernc-org-ccorpus2
2465 (package
2466 (name "go-modernc-org-ccorpus2")
2467 (version "1.5.2")
2468 (source
2469 (origin
2470 (method git-fetch)
2471 (uri (git-reference
2472 (url "https://gitlab.com/cznic/ccorpus2")
2473 (commit (string-append "v" version))))
2474 (file-name (git-file-name name version))
2475 (sha256
2476 (base32 "1mwgi0jdj5a595wlllr5rn3gvl7cqz7fnjx28hn3ia9cs1nxkk0a"))))
2477 (build-system go-build-system)
2478 (arguments
2479 (list
2480 #:import-path "modernc.org/ccorpus2"))
2481 (home-page "https://gitlab.com/cznic/ccorpus2")
2482 (synopsis "Continuation of ccorpus using @code{embed.FS}")
2483 (description
2484 "This packge provides a test corpus of C code.")
2485 (license license:bsd-3)))
2486
2487(define-public go-mvdan-cc-unparam
2488 (package
2489 (name "go-mvdan-cc-unparam")
2490 (version "0.0.0-20240528143540-8a5130ca722f")
2491 (source
2492 (origin
2493 (method git-fetch)
2494 (uri (git-reference
2495 (url "https://github.com/mvdan/unparam")
2496 (commit (go-version->git-ref version))))
2497 (file-name (git-file-name name version))
2498 (sha256
2499 (base32 "0qrwszcmb5slbzkq3acw57b896z22zwkv6cf6ldxwlc6p179g009"))))
2500 (build-system go-build-system)
2501 (arguments
2502 (list
2503 #:skip-build? #t
2504 #:import-path "mvdan.cc/unparam"
2505 #:phases
2506 #~(modify-phases %standard-phases
2507 (add-before 'check 'remove-failing-test-scripts
2508 (lambda* (#:key import-path #:allow-other-keys)
2509 (with-directory-excursion (string-append "src/" import-path)
2510 (for-each delete-file
2511 (list "testdata/script/usedas.txtar"
2512 "testdata/script/stubs.txtar"
2513 "testdata/script/impl.txtar"
2514 "testdata/script/paramuses.txtar"))))))))
2515 (propagated-inputs
2516 (list go-github-com-pkg-diff
2517 go-github-com-rogpeppe-go-internal
2518 go-golang-org-x-tools))
2519 (home-page "https://mvdan.cc/unparam/")
2520 (synopsis "Find unused parameters in Go")
2521 (description
2522 "Reports unused function parameters and results in Go code.")
2523 (license license:bsd-3)))
2524
1527(define-public go-pgregory-net-rapid 2525(define-public go-pgregory-net-rapid
1528 (package 2526 (package
1529 (name "go-pgregory-net-rapid") 2527 (name "go-pgregory-net-rapid")
@@ -1600,12 +2598,29 @@ tool."))))
1600 (description "This package turns unkeyed struct literals (@code{T{1, 2, 2598 (description "This package turns unkeyed struct literals (@code{T{1, 2,
16013}}) into keyed ones (@code{T{A: 1, B: 2, C: 3}}) in Go."))) 25993}}) into keyed ones (@code{T{A: 1, B: 2, C: 3}}) in Go.")))
1602 2600
2601(define-public go-pgmockproxy
2602 (package
2603 (inherit go-github-com-jackc-pgmock)
2604 (name "go-pgmockproxy")
2605 (arguments
2606 (list
2607 #:install-source? #f
2608 #:import-path "github.com/jackc/pgmock/pgmockproxy"
2609 #:unpack-path "github.com/jackc/pgmock"))
2610 (description
2611 "pgmockproxy is a PostgreSQL proxy that logs the messages back and forth
2612between the PostgreSQL client and server. This can aid in building a mocking
2613script by running commands against a real server to observe the results. It
2614can also be used to debug applications that speak the PostgreSQL wire protocol
2615without needing to use a tool like Wireshark.")))
2616
1603(define-public go-pprof 2617(define-public go-pprof
1604 (package 2618 (package
1605 (inherit go-github-com-google-pprof) 2619 (inherit go-github-com-google-pprof)
1606 (name "go-pprof") 2620 (name "go-pprof")
1607 (arguments 2621 (arguments
1608 (list 2622 (list
2623 #:tests? #f
1609 #:install-source? #f 2624 #:install-source? #f
1610 #:import-path "github.com/google/pprof")) 2625 #:import-path "github.com/google/pprof"))
1611 (description 2626 (description
@@ -1666,6 +2681,29 @@ into @code{go-structlayout-pretty}.")))
1666 (description "This package takes @code{go-structlayout}-like JSON and 2681 (description "This package takes @code{go-structlayout}-like JSON and
1667prints an ASCII fraphic representing the memory layout."))) 2682prints an ASCII fraphic representing the memory layout.")))
1668 2683
2684(define-public go-testdox
2685 (package
2686 (inherit go-github-com-bitfield-gotestdox)
2687 (name "go-testdox")
2688 (arguments
2689 (list
2690 #:install-source? #f
2691 #:import-path "github.com/bitfield/gotestdox/cmd/gotestdox"
2692 #:unpack-path "github.com/bitfield/gotestdox"))
2693 (description
2694 (string-append (package-description go-github-com-bitfield-gotestdox)
2695 " This package provides an command line interface (CLI)
2696tool."))))
2697
2698(define-public unparam
2699 (package
2700 (inherit go-mvdan-cc-unparam)
2701 (name "unparam")
2702 (arguments
2703 (list #:tests? #f
2704 #:install-source? #f
2705 #:import-path "mvdan.cc/unparam"))))
2706
1669;;; 2707;;;
1670;;; Avoid adding new packages to the end of this file. To reduce the chances 2708;;; Avoid adding new packages to the end of this file. To reduce the chances
1671;;; of a merge conflict, place them above by existing packages with similar 2709;;; of a merge conflict, place them above by existing packages with similar
diff --git a/gnu/packages/golang-compression.scm b/gnu/packages/golang-compression.scm
index d26d775a423..2628036c313 100644
--- a/gnu/packages/golang-compression.scm
+++ b/gnu/packages/golang-compression.scm
@@ -29,6 +29,8 @@
29 #:use-module (guix packages) 29 #:use-module (guix packages)
30 #:use-module (guix utils) 30 #:use-module (guix utils)
31 #:use-module (gnu packages) 31 #:use-module (gnu packages)
32 #:use-module (gnu packages golang-build)
33 #:use-module (gnu packages golang-check)
32 #:use-module (gnu packages golang-xyz)) 34 #:use-module (gnu packages golang-xyz))
33 35
34;;; Commentary: 36;;; Commentary:
@@ -80,6 +82,9 @@ the @code{c2go} tool at
80 (arguments 82 (arguments
81 (list 83 (list
82 #:import-path "github.com/dsnet/compress" 84 #:import-path "github.com/dsnet/compress"
85 #:test-subdirs
86 #~(list "brotli/..." "bzip2/..." "flate" "internal" "internal/prefix"
87 "internal/testutil" "xflate/...")
83 #:phases 88 #:phases
84 #~(modify-phases %standard-phases 89 #~(modify-phases %standard-phases
85 ;; Testdata directories contains some compressed files requiring 90 ;; Testdata directories contains some compressed files requiring
@@ -163,7 +168,7 @@ library included in the stdlib, and supports GIF, TIFF and PDF.")
163(define-public go-github-com-klauspost-compress 168(define-public go-github-com-klauspost-compress
164 (package 169 (package
165 (name "go-github-com-klauspost-compress") 170 (name "go-github-com-klauspost-compress")
166 (version "1.13.1") 171 (version "1.17.11")
167 (source 172 (source
168 (origin 173 (origin
169 (method git-fetch) 174 (method git-fetch)
@@ -172,20 +177,11 @@ library included in the stdlib, and supports GIF, TIFF and PDF.")
172 (commit (string-append "v" version)))) 177 (commit (string-append "v" version))))
173 (file-name (git-file-name name version)) 178 (file-name (git-file-name name version))
174 (sha256 179 (sha256
175 (base32 "0ydnf9rizlhm8rilh14674qqx272sbwbkjx06xn9pqvy6mmn2r3r")))) 180 (base32 "1i8r1xiba62nng651p4razxg1kw1910sl4grm7axm2g4q8s3i298"))))
176 (build-system go-build-system) 181 (build-system go-build-system)
177 (arguments 182 (arguments
178 `(#:import-path "github.com/klauspost/compress" 183 (list
179 #:phases 184 #:import-path "github.com/klauspost/compress"))
180 (modify-phases %standard-phases
181 (add-before 'reset-gzip-timestamps 'fix-permissions
182 (lambda* (#:key outputs #:allow-other-keys)
183 ;; Provide write permissions on gzip files so that
184 ;; reset-gzip-timestamps has sufficient permissions.
185 (for-each make-file-writable
186 (find-files (assoc-ref outputs "out") ".gz$")))))))
187 (propagated-inputs
188 (list go-github-com-golang-snappy))
189 (home-page "https://github.com/klauspost/compress") 185 (home-page "https://github.com/klauspost/compress")
190 (synopsis "Go compression library") 186 (synopsis "Go compression library")
191 (description "@code{compress} provides various compression algorithms.") 187 (description "@code{compress} provides various compression algorithms.")
@@ -351,11 +347,19 @@ Supported archive formats:
351 (commit (string-append "v" version)))) 347 (commit (string-append "v" version))))
352 (file-name (git-file-name name version)) 348 (file-name (git-file-name name version))
353 (sha256 349 (sha256
354 (base32 "0vfn01gd3hcpbj6gb4ig3pw6bv0g4j5780awr0fv4kf9id8gjvyy")))) 350 (base32 "0vfn01gd3hcpbj6gb4ig3pw6bv0g4j5780awr0fv4kf9id8gjvyy"))
351 (snippet
352 ;; XXX: fiano uses this package as library only, cmd requires very
353 ;; additional not packed and dated inputs. Overwrite with
354 ;; go-github-com-pierrec-lz4-v4 when fiano is updated.
355 #~(begin (use-modules (guix build utils))
356 (delete-file-recursively "cmd")))))
355 (build-system go-build-system) 357 (build-system go-build-system)
356 (arguments 358 (arguments
357 (list 359 (list
358 #:import-path "github.com/pierrec/lz4")) 360 #:import-path "github.com/pierrec/lz4"))
361 (native-inputs
362 (list go-github-com-frankban-quicktest))
359 (home-page "https://github.com/pierrec/lz4") 363 (home-page "https://github.com/pierrec/lz4")
360 (synopsis "LZ4 compression in pure Go") 364 (synopsis "LZ4 compression in pure Go")
361 (description 365 (description
@@ -383,7 +387,85 @@ LZ4 data blocks. The implementation is based on the reference C
383 (build-system go-build-system) 387 (build-system go-build-system)
384 (arguments 388 (arguments
385 (list 389 (list
386 #:import-path "github.com/pierrec/lz4/v4")))) 390 #:import-path "github.com/pierrec/lz4/v4"))
391 ;; For CLI.
392 (native-inputs
393 (list go-code-cloudfoundry-org-bytefmt
394 go-github-com-pierrec-cmdflag
395 go-github-com-schollz-progressbar-v3))))
396
397(define-public go-github-com-saracen-fastzip
398 (package
399 (name "go-github-com-saracen-fastzip")
400 (version "0.1.11")
401 (source
402 (origin
403 (method git-fetch)
404 (uri (git-reference
405 (url "https://github.com/saracen/fastzip")
406 (commit (string-append "v" version))))
407 (file-name (git-file-name name version))
408 (sha256
409 (base32 "1h63lhbwkga920n6lrh1ccfps2k4c3dn2pqap0i6mvjk6dba95s0"))))
410 (build-system go-build-system)
411 (arguments
412 (list
413 #:import-path "github.com/saracen/fastzip"))
414 (native-inputs
415 (list go-github-com-stretchr-testify))
416 (propagated-inputs
417 (list go-github-com-klauspost-compress
418 go-github-com-saracen-zipextra
419 go-golang-org-x-sync
420 go-golang-org-x-sys))
421 (home-page "https://github.com/saracen/fastzip")
422 (synopsis "Zip archiver and extractor with a focus on speed")
423 (description
424 "Fastzip is an opinionated Zip archiver and extractor with a focus on
425speed.
426Features:
427@itemize
428@item archiving and extraction of files and directories can only occur within
429a specified directory
430@item permissions, ownership (uid, gid on linux/unix) and modification times
431are preserved
432@item buffers used for copying files are recycled to reduce allocations
433@item files are archived and extracted concurrently
434@item by default, @code{github.com/klauspost/compress/flate} library is used
435for compression and decompression
436@end itemize")
437 (license license:expat)))
438
439(define-public go-github-com-saracen-zipextra
440 (package
441 (name "go-github-com-saracen-zipextra")
442 (version "0.0.0-20220303013732-0187cb0159ea")
443 (source
444 (origin
445 (method git-fetch)
446 (uri (git-reference
447 (url "https://github.com/saracen/zipextra")
448 (commit (go-version->git-ref version))))
449 (file-name (git-file-name name version))
450 (sha256
451 (base32 "0j24jdi5495nfq08xm6yjr9s32z13x6y961ry1ihhhgi6s8zdddj"))))
452 (build-system go-build-system)
453 (arguments
454 (list
455 #:import-path "github.com/saracen/zipextra"
456 #:phases
457 #~(modify-phases %standard-phases
458 (add-after 'unpack 'remove-examples
459 (lambda* (#:key tests? import-path #:allow-other-keys)
460 (with-directory-excursion (string-append "src/" import-path)
461 (delete-file "zipextra_example_test.go")))))))
462 (home-page "https://github.com/saracen/zipextra")
463 (synopsis "Encoding and decoding ZIP archive format's \"Extra Fields\"")
464 (description
465 "This package provides a library for encoding and decoding ZIP archive
466format's \"Extra Fields\". The intention is to eventually support and provide
467a low-level API for the majority of PKWARE's and Info-ZIP's extra fields.")
468 (license license:expat)))
387 469
388(define-public go-github-com-ulikunitz-xz 470(define-public go-github-com-ulikunitz-xz
389 (package 471 (package
@@ -466,10 +548,6 @@ tool."))))
466 #:install-source? #f 548 #:install-source? #f
467 #:import-path "github.com/pierrec/lz4/cmd/lz4c" 549 #:import-path "github.com/pierrec/lz4/cmd/lz4c"
468 #:unpack-path "github.com/pierrec/lz4")) 550 #:unpack-path "github.com/pierrec/lz4"))
469 (native-inputs
470 (list go-code-cloudfoundry-org-bytefmt
471 go-github-com-pierrec-cmdflag
472 go-github-com-schollz-progressbar-v3))
473 (description 551 (description
474 (string-append (package-description go-github-com-pierrec-lz4-v4) 552 (string-append (package-description go-github-com-pierrec-lz4-v4)
475 " This package provides an additional command line 553 " This package provides an additional command line
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index b1940583d49..75c56684d4c 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -161,7 +161,7 @@ composability.")
161(define-public go-filippo-io-edwards25519 161(define-public go-filippo-io-edwards25519
162 (package 162 (package
163 (name "go-filippo-io-edwards25519") 163 (name "go-filippo-io-edwards25519")
164 (version "1.0.0") 164 (version "1.1.0")
165 (source 165 (source
166 (origin 166 (origin
167 (method git-fetch) 167 (method git-fetch)
@@ -170,7 +170,7 @@ composability.")
170 (commit (string-append "v" version)))) 170 (commit (string-append "v" version))))
171 (file-name (git-file-name name version)) 171 (file-name (git-file-name name version))
172 (sha256 172 (sha256
173 (base32 "01m8hpaj0cwp250f7b0din09cf8j6j5y631grx67qfhvfrmwr1zr")))) 173 (base32 "1b2c4iv13mfa0dydr8wawpnnrxgwl7mxzhryfrkjxrgwad8gas5k"))))
174 (build-system go-build-system) 174 (build-system go-build-system)
175 (arguments 175 (arguments
176 '(#:import-path "filippo.io/edwards25519")) 176 '(#:import-path "filippo.io/edwards25519"))
@@ -198,25 +198,15 @@ primitives.")
198 (arguments 198 (arguments
199 (list 199 (list
200 #:import-path "github.com/99designs/keyring" 200 #:import-path "github.com/99designs/keyring"
201 #:phases 201 #:test-flags
202 #~(modify-phases %standard-phases 202 #~(list "-skip" (string-join
203 (add-after 'unpack 'disable-failing-tests 203 (list "TestLibSecretKeysWhenEmpty"
204 (lambda* (#:key tests? unpack-path #:allow-other-keys) 204 "TestLibSecretKeysWhenNotEmpty"
205 (with-directory-excursion (string-append "src/" unpack-path) 205 "TestLibSecretGetWhenEmpty"
206 (substitute* (find-files "." "\\_test.go$") 206 "TestLibSecretGetWhenNotEmpty"
207 ;; Disable test requring running DBus. 207 "TestLibSecretRemoveWhenEmpty"
208 (("TestLibSecretKeysWhenEmpty") 208 "TestLibSecretRemoveWhenNotEmpty")
209 "OffTestLibSecretKeysWhenEmpty") 209 "|"))))
210 (("TestLibSecretKeysWhenNotEmpty")
211 "OffTestLibSecretKeysWhenNotEmpty")
212 (("TestLibSecretGetWhenEmpty")
213 "OffTestLibSecretGetWhenEmpty")
214 (("TestLibSecretGetWhenNotEmpty")
215 "OffTestLibSecretGetWhenNotEmpty")
216 (("TestLibSecretRemoveWhenEmpty")
217 "OffTestLibSecretRemoveWhenEmpty")
218 (("TestLibSecretRemoveWhenNotEmpty")
219 "OffTestLibSecretRemoveWhenNotEmpty"))))))))
220 (native-inputs 210 (native-inputs
221 (list gnupg go-github-com-stretchr-testify password-store)) 211 (list gnupg go-github-com-stretchr-testify password-store))
222 (propagated-inputs 212 (propagated-inputs
@@ -325,6 +315,31 @@ Go 1.20 @code{crypto/ecdh} standard package.")
325cryptographic standards that are not included in the Go standard library.") 315cryptographic standards that are not included in the Go standard library.")
326 (license license:asl2.0)))) 316 (license license:asl2.0))))
327 317
318(define-public go-github-com-bradenhilton-cityhash
319 (package
320 (name "go-github-com-bradenhilton-cityhash")
321 (version "1.0.0")
322 (source
323 (origin
324 (method git-fetch)
325 (uri (git-reference
326 (url "https://github.com/bradenhilton/cityhash")
327 (commit (string-append "v" version))))
328 (file-name (git-file-name name version))
329 (sha256
330 (base32 "0rfmbis47m42w05inqmph7jk6kza79miq9ifqlsdiax38b684yky"))))
331 (build-system go-build-system)
332 (arguments
333 (list
334 #:import-path "github.com/bradenhilton/cityhash"))
335 (home-page "https://github.com/bradenhilton/cityhash")
336 (synopsis "Google CityHash version 1 in Golang")
337 (description
338 "This package provides a Go implementation of Google City Hash,
339originated from https://github.com/zhenjl/cityhash and
340https://github.com/zentures/cityhash projects.")
341 (license license:expat)))
342
328(define-public go-github-com-btcsuite-btcd-btcec 343(define-public go-github-com-btcsuite-btcd-btcec
329 (let ((commit "67e573d211ace594f1366b4ce9d39726c4b19bd0") 344 (let ((commit "67e573d211ace594f1366b4ce9d39726c4b19bd0")
330 (revision "0")) 345 (revision "0"))
@@ -377,8 +392,8 @@ needing to use secp256k1 elliptic curve cryptography.")
377 (base32 "0h508v790wk6g8jq0gh18296xl87vmgc4fhwnac7mk6i5g3mz6v4")))) 392 (base32 "0h508v790wk6g8jq0gh18296xl87vmgc4fhwnac7mk6i5g3mz6v4"))))
378 (build-system go-build-system) 393 (build-system go-build-system)
379 (arguments 394 (arguments
380 (list #:unpack-path "github.com/bwesterb/go-ristretto" 395 (list
381 #:import-path "github.com/bwesterb/go-ristretto/edwards25519")) 396 #:import-path "github.com/bwesterb/go-ristretto"))
382 (home-page "https://github.com/bwesterb/go-ristretto") 397 (home-page "https://github.com/bwesterb/go-ristretto")
383 (synopsis "Operations on the Ristretto prime-order group") 398 (synopsis "Operations on the Ristretto prime-order group")
384 (description "This is a pure Go implementation of the group operations on 399 (description "This is a pure Go implementation of the group operations on
@@ -480,7 +495,7 @@ described at @url{https://xxhash.com/}.")
480(define-public go-github-com-cloudflare-circl 495(define-public go-github-com-cloudflare-circl
481 (package 496 (package
482 (name "go-github-com-cloudflare-circl") 497 (name "go-github-com-cloudflare-circl")
483 (version "1.3.6") 498 (version "1.5.0")
484 (source 499 (source
485 (origin 500 (origin
486 (method git-fetch) 501 (method git-fetch)
@@ -489,7 +504,20 @@ described at @url{https://xxhash.com/}.")
489 (commit (string-append "v" version)))) 504 (commit (string-append "v" version))))
490 (file-name (git-file-name name version)) 505 (file-name (git-file-name name version))
491 (sha256 506 (sha256
492 (base32 "05hk5svprcjrj6k4mg4kd732pnb658llqv04z6xrcl5v77jda2kd")))) 507 (base32 "1pfxg0iqai760arvbkznwkb6w2w7gginqpzr49s419dp73kr99hj"))
508 (modules '((guix build utils)))
509 (snippet
510 #~(begin
511 ;; Submodule(s) with their own go.mod files and packed as
512 ;; separated packages:
513 ;;
514 ;; - github.com/cloudflare/circl/pke/kyber/internal/common/asm
515 ;; - github.com/cloudflare/circl/sign/internal/dilithium/asm
516 ;; - github.com/cloudflare/circl/simd/keccakf1600/internal/asm
517 (for-each delete-file-recursively
518 (list "pke/kyber/internal/common/asm"
519 "sign/internal/dilithium/asm"
520 "simd/keccakf1600/internal/asm"))))))
493 (build-system go-build-system) 521 (build-system go-build-system)
494 (arguments 522 (arguments
495 '(#:import-path "github.com/cloudflare/circl")) 523 '(#:import-path "github.com/cloudflare/circl"))
@@ -506,6 +534,36 @@ cryptographic algorithms targeting Post-Quantum (PQ) and Elliptic Curve
506Cryptography (ECC).") 534Cryptography (ECC).")
507 (license license:bsd-3))) 535 (license license:bsd-3)))
508 536
537(define-public go-github-com-cloudwego-base64x
538 (package
539 (name "go-github-com-cloudwego-base64x")
540 (version "0.1.4")
541 (source
542 (origin
543 (method git-fetch)
544 (uri (git-reference
545 (url "https://github.com/cloudwego/base64x")
546 (commit (string-append "v" version))))
547 (file-name (git-file-name name version))
548 (sha256
549 (base32 "1lgs28mj5w350vp6pazz2265hx2kab3kbjw7vnk0w1skslxbj8kx"))))
550 (build-system go-build-system)
551 (arguments
552 (list
553 #:import-path "github.com/cloudwego/base64x"))
554 (native-inputs
555 (list go-github-com-davecgh-go-spew
556 go-github-com-stretchr-testify))
557 (propagated-inputs
558 (list go-github-com-bytedance-sonic-loader
559 go-github-com-klauspost-cpuid-v2))
560 (home-page "https://github.com/cloudwego/base64x")
561 (synopsis "Drop-in replacement of the std @code{encoding/base64} library")
562 (description
563 "This package provides a drop-in replacement of the Golang standard
564@code{encoding/base64} library.")
565 (license (list license:asl2.0 license:asl2.0))))
566
509(define-public go-github-com-davidlazar-go-crypto 567(define-public go-github-com-davidlazar-go-crypto
510 (package 568 (package
511 (name "go-github-com-davidlazar-go-crypto") 569 (name "go-github-com-davidlazar-go-crypto")
@@ -556,6 +614,29 @@ one-time authenticator as specified in
556@end itemize") 614@end itemize")
557 (license license:expat))) 615 (license license:expat)))
558 616
617(define-public go-github-com-dchest-siphash
618 (package
619 (name "go-github-com-dchest-siphash")
620 (version "1.2.3")
621 (source
622 (origin
623 (method git-fetch)
624 (uri (git-reference
625 (url "https://github.com/dchest/siphash")
626 (commit (string-append "v" version))))
627 (file-name (git-file-name name version))
628 (sha256
629 (base32 "1d6vbg5i5r6pgfk3vh93a20jdj67lgr17dk2iml7fffw67i25a2c"))))
630 (build-system go-build-system)
631 (arguments
632 (list #:import-path "github.com/dchest/siphash"))
633 (home-page "https://github.com/dchest/siphash")
634 (synopsis "Go library for pseudorandom functions")
635 (description
636 "SipHash is a family of pseudorandom functions (PRFs) optimized
637for speed on short messages.")
638 (license license:cc0)))
639
559(define-public go-github-com-decred-dcrd-crypto-blake256 640(define-public go-github-com-decred-dcrd-crypto-blake256
560 (package 641 (package
561 (name "go-github-com-decred-dcrd-crypto-blake256") 642 (name "go-github-com-decred-dcrd-crypto-blake256")
@@ -649,6 +730,31 @@ signature scheme specific to Decred) signatures. See the README.md files in
649the relevant sub packages for more details about those aspects.") 730the relevant sub packages for more details about those aspects.")
650 (license license:isc))) 731 (license license:isc)))
651 732
733(define-public go-github-com-dgryski-dgoogauth
734 (package
735 (name "go-github-com-dgryski-dgoogauth")
736 (version "0.0.0-20190221195224-5a805980a5f3")
737 (source
738 (origin
739 (method git-fetch)
740 (uri (git-reference
741 (url "https://github.com/dgryski/dgoogauth")
742 (commit (go-version->git-ref version))))
743 (file-name (git-file-name name version))
744 (sha256
745 (base32 "1ma09ghwwizxaby37jmd9xjp6560p8lp29qqi8g4xw1d35h9nhny"))))
746 (build-system go-build-system)
747 (arguments
748 (list
749 #:import-path "github.com/dgryski/dgoogauth"))
750 (home-page "https://github.com/dgryski/dgoogauth")
751 (synopsis "Google Authenticator for Golang")
752 (description
753 "This is a Go implementation of the Google Authenticator library as
754specified in @url{https://www.rfc-editor.org/rfc/rfc4226, RFC 4226} and
755@url{https://www.rfc-editor.org/rfc/rfc6238, RFC 6238}.")
756 (license license:asl2.0)))
757
652(define-public go-github-com-dgryski-go-farm 758(define-public go-github-com-dgryski-go-farm
653 (package 759 (package
654 (name "go-github-com-dgryski-go-farm") 760 (name "go-github-com-dgryski-go-farm")
@@ -675,6 +781,79 @@ It is implemented as a mechanical translation of the non-SSE4/non-AESNI hash
675functions from @url{https://github.com/google/farmhash,Google's FarmHash}.") 781functions from @url{https://github.com/google/farmhash,Google's FarmHash}.")
676 (license license:expat))) 782 (license license:expat)))
677 783
784(define-public go-github-com-dgryski-go-metro
785 (package
786 (name "go-github-com-dgryski-go-metro")
787 (version "0.0.0-20250106013310-edb8663e5e33")
788 (source
789 (origin
790 (method git-fetch)
791 (uri (git-reference
792 (url "https://github.com/dgryski/go-metro")
793 (commit (go-version->git-ref version))))
794 (file-name (git-file-name name version))
795 (sha256
796 (base32 "0had4wbhhghr3rbm5v4dcj73nlq49k1mpklqn9gkmzkkxfs8hf6z"))))
797 (build-system go-build-system)
798 (arguments
799 (list #:import-path "github.com/dgryski/go-metro"))
800 (home-page "https://github.com/dgryski/go-metro")
801 (synopsis "Go translation of MetroHash")
802 (description
803 "This package provides a Go translation of the
804@url{https://github.com/jandrewrogers/MetroHash, reference C++ code for
805MetroHash}, a high quality, high performance hash algorithm.")
806 (license license:expat)))
807
808(define-public go-github-com-dgryski-go-mph
809 (package
810 (name "go-github-com-dgryski-go-mph")
811 (version "0.0.0-20211217222804-81a8625fb7ed")
812 (source
813 (origin
814 (method git-fetch)
815 (uri (git-reference
816 (url "https://github.com/dgryski/go-mph")
817 (commit (go-version->git-ref version))))
818 (file-name (git-file-name name version))
819 (sha256
820 (base32 "10q8l4jdzqf54bnnxka2jk6qzayri3ijv51knn1n0iimfric8w9g"))))
821 (build-system go-build-system)
822 (arguments
823 (list
824 #:import-path "github.com/dgryski/go-mph"))
825 (propagated-inputs
826 (list go-github-com-dgryski-go-metro))
827 (home-page "https://github.com/dgryski/go-mph")
828 (synopsis "Go minimal perfect hash function")
829 (description
830 "This package implements a hash/displace minimal perfect hash function.")
831 (license license:expat)))
832
833(define-public go-github-com-dgryski-go-rendezvous
834 (package
835 (name "go-github-com-dgryski-go-rendezvous")
836 (version "0.0.0-20200823014737-9f7001d12a5f")
837 (source
838 (origin
839 (method git-fetch)
840 (uri (git-reference
841 (url "https://github.com/dgryski/go-rendezvous")
842 (commit (go-version->git-ref version))))
843 (file-name (git-file-name name version))
844 (sha256
845 (base32 "0hhdbsm5k19kh1fyxs4aibza9jylils4p3555lr8xalhj2iz3zlz"))))
846 (build-system go-build-system)
847 (arguments
848 (list
849 #:import-path "github.com/dgryski/go-rendezvous"))
850 (home-page "https://github.com/dgryski/go-rendezvous")
851 (synopsis "Hashing functions for Golang")
852 ;; Project provides no README.
853 (description
854 "This package provides a hashing function.")
855 (license license:expat)))
856
678(define-public go-github-com-dvsekhvalnov-jose2go 857(define-public go-github-com-dvsekhvalnov-jose2go
679 (package 858 (package
680 (name "go-github-com-dvsekhvalnov-jose2go") 859 (name "go-github-com-dvsekhvalnov-jose2go")
@@ -802,6 +981,34 @@ providing bidirectional mapping values to their names, plus enum convenience
802for values.") 981for values.")
803 (license license:bsd-3))) 982 (license license:bsd-3)))
804 983
984(define-public go-github-com-gliderlabs-ssh
985 (package
986 (name "go-github-com-gliderlabs-ssh")
987 (version "0.3.8")
988 (source
989 (origin
990 (method git-fetch)
991 (uri (git-reference
992 (url "https://github.com/gliderlabs/ssh")
993 (commit (string-append "v" version))))
994 (file-name (git-file-name name version))
995 (sha256
996 (base32 "01svn6n2i7gb3j4wvjh3d7xyh3n0kxm5cda2kg9vgpl1l3bbsvqm"))))
997 (build-system go-build-system)
998 (arguments
999 (list
1000 #:import-path "github.com/gliderlabs/ssh"))
1001 (propagated-inputs
1002 (list go-github-com-anmitsu-go-shlex
1003 go-golang-org-x-crypto))
1004 (home-page "https://github.com/gliderlabs/ssh")
1005 (synopsis "SSH servers in Golang")
1006 (description
1007 "Package ssh wraps the crypto/ssh package with a higher-level API for
1008building SSH servers. The goal of the API was to make it as simple as using
1009net/http, so the API is very similar.")
1010 (license license:bsd-3)))
1011
805(define-public go-github-com-go-asn1-ber-asn1-ber 1012(define-public go-github-com-go-asn1-ber-asn1-ber
806 (package 1013 (package
807 (name "go-github-com-go-asn1-ber-asn1-ber") 1014 (name "go-github-com-go-asn1-ber-asn1-ber")
@@ -1245,6 +1452,31 @@ implementations are described in \"Fast SHA-256 Implementations on Intel
1245Architecture Processors\" by J. Guilford et al.") 1452Architecture Processors\" by J. Guilford et al.")
1246 (license license:asl2.0))) 1453 (license license:asl2.0)))
1247 1454
1455(define-public go-github-com-mr-tron-base58
1456 (package
1457 (name "go-github-com-mr-tron-base58")
1458 (version "1.2.0")
1459 (source
1460 (origin
1461 (method git-fetch)
1462 (uri (git-reference
1463 (url "https://github.com/mr-tron/base58")
1464 (commit (string-append "v" version))))
1465 (file-name (git-file-name name version))
1466 (sha256
1467 (base32 "0ngxfpaa26p53lciz9vf2gn21l77kz8pcm2asxbv0l87g6xwqp7h"))))
1468 (build-system go-build-system)
1469 (arguments
1470 (list
1471 #:import-path "github.com/mr-tron/base58"))
1472 (home-page "https://github.com/mr-tron/base58")
1473 (synopsis "Fast implementation of base58 encoding on Golang")
1474 (description
1475 "Fast implementation of base58 encoding on Golang. A trivial
1476@command{big.Int} encoding benchmark results in 6 times faster encoding and 8
1477times faster decoding.")
1478 (license license:expat)))
1479
1248(define-public go-github-com-multiformats-go-multihash 1480(define-public go-github-com-multiformats-go-multihash
1249 (package 1481 (package
1250 (name "go-github-com-multiformats-go-multihash") 1482 (name "go-github-com-multiformats-go-multihash")
@@ -1426,10 +1658,36 @@ algorithm.")
1426 "This package provides primitives for generating random values.") 1658 "This package provides primitives for generating random values.")
1427 (license license:expat))) 1659 (license license:expat)))
1428 1660
1661(define-public go-github-com-pjbgf-sha1cd
1662 (package
1663 (name "go-github-com-pjbgf-sha1cd")
1664 (version "0.3.0")
1665 (source
1666 (origin
1667 (method git-fetch)
1668 (uri (git-reference
1669 (url "https://github.com/pjbgf/sha1cd")
1670 (commit (string-append "v" version))))
1671 (file-name (git-file-name name version))
1672 (sha256
1673 (base32 "1g07kp07kvbsmpdrrv0r805vw4rr1mp77vx06m31nxvnp1s42zwi"))))
1674 (build-system go-build-system)
1675 (arguments
1676 (list
1677 #:import-path "github.com/pjbgf/sha1cd"))
1678 (home-page "https://github.com/pjbgf/sha1cd")
1679 (synopsis "sha1cd")
1680 (description
1681 "Package sha1cd implements collision detection based on the whitepaper
1682Counter-cryptanalysis from Marc Stevens. The original ubc implementation was
1683done by Marc Stevens and Dan Shumow, and can be found at:
1684@@url{https://github.com/cr-marcstevens/sha1collisiondetection,https://github.com/cr-marcstevens/sha1collisiondetection}.")
1685 (license license:asl2.0)))
1686
1429(define-public go-github-com-protonmail-go-crypto 1687(define-public go-github-com-protonmail-go-crypto
1430 (package 1688 (package
1431 (name "go-github-com-protonmail-go-crypto") 1689 (name "go-github-com-protonmail-go-crypto")
1432 (version "1.0.0") 1690 (version "1.1.3")
1433 (source 1691 (source
1434 (origin 1692 (origin
1435 (method git-fetch) 1693 (method git-fetch)
@@ -1438,21 +1696,14 @@ algorithm.")
1438 (commit (string-append "v" version)))) 1696 (commit (string-append "v" version))))
1439 (file-name (git-file-name name version)) 1697 (file-name (git-file-name name version))
1440 (sha256 1698 (sha256
1441 (base32 "11q94983r6zjrdvflpikms4773a9s5vb9gg4qw1rj5800yhhah0n")))) 1699 (base32 "0kcan2bw548cn6pm282zyddysv400dankcsrdanha7qmxqki34c0"))))
1442 (build-system go-build-system) 1700 (build-system go-build-system)
1443 (arguments 1701 (arguments
1444 (list 1702 (list
1445 #:import-path "github.com/ProtonMail/go-crypto" 1703 #:import-path "github.com/ProtonMail/go-crypto"
1446 #:phases 1704 #:phases
1447 #~(modify-phases %standard-phases 1705 #~(modify-phases %standard-phases
1448 ;; XXX: Workaround for go-build-system's lack of Go modules 1706 (delete 'build)))) ; no go files in project's root
1449 ;; support.
1450 (delete 'build)
1451 (replace 'check
1452 (lambda* (#:key tests? import-path #:allow-other-keys)
1453 (when tests?
1454 (with-directory-excursion (string-append "src/" import-path)
1455 (invoke "go" "test" "-v" "./..."))))))))
1456 (propagated-inputs 1707 (propagated-inputs
1457 (list go-github-com-cloudflare-circl 1708 (list go-github-com-cloudflare-circl
1458 go-golang-org-x-crypto)) 1709 go-golang-org-x-crypto))
@@ -1465,34 +1716,6 @@ completely backwards compatible with @code{golang.org/x/crypto}, the official
1465package.") 1716package.")
1466 (license license:bsd-3))) 1717 (license license:bsd-3)))
1467 1718
1468(define-public go-github-com-quic-go-qtls-go1-20
1469 (package
1470 (name "go-github-com-quic-go-qtls-go1-20")
1471 (version "0.4.1")
1472 (source
1473 (origin
1474 (method git-fetch)
1475 (uri (git-reference
1476 (url "https://github.com/quic-go/qtls-go1-20")
1477 (commit (string-append "v" version))))
1478 (file-name (git-file-name name version))
1479 (sha256
1480 (base32 "069rknxpg7d0dmxc4akq2mw7wm5bi0420nshykf2iclvmbcg9ajh"))))
1481 (build-system go-build-system)
1482 (arguments
1483 (list
1484 ;; XXX: panic: qtls.ClientSessionState doesn't match, with Golang 1.20+.
1485 #:go go-1.20
1486 #:import-path "github.com/quic-go/qtls-go1-20"))
1487 (propagated-inputs
1488 (list go-golang-org-x-crypto
1489 go-golang-org-x-sys))
1490 (home-page "https://github.com/quic-go/qtls-go1-20")
1491 (synopsis "TLS 1.3 for QUIC")
1492 (description "Go standard library TLS 1.3 implementation, modified for
1493QUIC. For Go 1.20.")
1494 (license license:expat)))
1495
1496(define-public go-github-com-refraction-networking-utls 1719(define-public go-github-com-refraction-networking-utls
1497 (package 1720 (package
1498 (name "go-github-com-refraction-networking-utls") 1721 (name "go-github-com-refraction-networking-utls")
@@ -1572,6 +1795,30 @@ wide-block encryption mode developed by Halevi and Rogaway.")
1572 (description "Go-Bloom implements bloom filter using double hashing.") 1795 (description "Go-Bloom implements bloom filter using double hashing.")
1573 (license license:asl2.0)))) 1796 (license license:asl2.0))))
1574 1797
1798(define-public go-github-com-sean--seed
1799 (package
1800 (name "go-github-com-sean--seed")
1801 (version "0.0.0-20170313163322-e2103e2c3529")
1802 (source
1803 (origin
1804 (method git-fetch)
1805 (uri (git-reference
1806 (url "https://github.com/sean-/seed")
1807 (commit (go-version->git-ref version))))
1808 (file-name (git-file-name name version))
1809 (sha256
1810 (base32 "0glir8jxi1w7aga2jwdb63pp1h8q4whknili7xixsqzwyy716125"))))
1811 (build-system go-build-system)
1812 (arguments
1813 (list
1814 #:import-path "github.com/sean-/seed"))
1815 (home-page "https://github.com/sean-/seed")
1816 (synopsis "Seed random number generator")
1817 (description
1818 "Boiler-plate to securely @url{https://en.wikipedia.org/wiki/Random_seed,
1819seed} Go's random number generator (if possible).")
1820 (license license:expat)))
1821
1575(define-public go-github-com-shadowsocks-go-shadowsocks2 1822(define-public go-github-com-shadowsocks-go-shadowsocks2
1576 (package 1823 (package
1577 (name "go-github-com-shadowsocks-go-shadowsocks2") 1824 (name "go-github-com-shadowsocks-go-shadowsocks2")
@@ -1588,16 +1835,7 @@ wide-block encryption mode developed by Halevi and Rogaway.")
1588 (build-system go-build-system) 1835 (build-system go-build-system)
1589 (arguments 1836 (arguments
1590 (list 1837 (list
1591 #:import-path "github.com/shadowsocks/go-shadowsocks2" 1838 #:import-path "github.com/shadowsocks/go-shadowsocks2"))
1592 #:phases
1593 #~(modify-phases %standard-phases
1594 ;; XXX: Workaround for go-build-system's lack of Go modules
1595 ;; support.
1596 (replace 'check
1597 (lambda* (#:key tests? import-path #:allow-other-keys)
1598 (when tests?
1599 (with-directory-excursion (string-append "src/" import-path)
1600 (invoke "go" "test" "-v" "./..."))))))))
1601 (propagated-inputs 1839 (propagated-inputs
1602 (list go-github-com-riobard-go-bloom 1840 (list go-github-com-riobard-go-bloom
1603 go-golang-org-x-crypto)) 1841 go-golang-org-x-crypto))
@@ -1607,6 +1845,210 @@ wide-block encryption mode developed by Halevi and Rogaway.")
1607tunnel proxy protocol.") 1845tunnel proxy protocol.")
1608 (license license:asl2.0))) 1846 (license license:asl2.0)))
1609 1847
1848(define-public go-github-com-shogo82148-go-shuffle
1849 (package
1850 (name "go-github-com-shogo82148-go-shuffle")
1851 (version "1.1.1")
1852 (source
1853 (origin
1854 (method git-fetch)
1855 (uri (git-reference
1856 (url "https://github.com/shogo82148/go-shuffle")
1857 (commit (string-append "v" version))))
1858 (file-name (git-file-name name version))
1859 (sha256
1860 (base32 "0z5n5jp57b68pq70wkrmw9z3vibjnq7b7f6i62pjhh1a83kknfg1"))))
1861 (build-system go-build-system)
1862 (arguments
1863 (list
1864 #:import-path "github.com/shogo82148/go-shuffle"))
1865 (home-page "https://github.com/shogo82148/go-shuffle")
1866 (synopsis "Shuffling slices and user-defined collections")
1867 (description
1868 "Package shuffle provides primitives for shuffling slices and
1869user-defined collections.")
1870 (license license:expat)))
1871
1872(define-public go-github-com-skeema-knownhosts
1873 (package
1874 (name "go-github-com-skeema-knownhosts")
1875 (version "1.3.0")
1876 (source
1877 (origin
1878 (method git-fetch)
1879 (uri (git-reference
1880 (url "https://github.com/skeema/knownhosts")
1881 (commit (string-append "v" version))))
1882 (file-name (git-file-name name version))
1883 (sha256
1884 (base32 "1i74wqingiflrrvpzhahwdly9f8c27i2far1qxkszi7aswhpj956"))))
1885 (build-system go-build-system)
1886 (arguments
1887 (list
1888 #:import-path "github.com/skeema/knownhosts"))
1889 (propagated-inputs (list go-golang-org-x-crypto))
1890 (home-page "https://github.com/skeema/knownhosts")
1891 (synopsis "Go SSH known_hosts wrapper with host key lookup")
1892 (description
1893 "Package knownhosts is a thin wrapper around @code{golang.org/x/crypto/ssh/knownhosts},
1894adding the ability to obtain the list of host key algorithms for a known
1895host.")
1896 (license license:asl2.0)))
1897
1898(define-public go-github-com-spaolacci-murmur3
1899 (package
1900 (name "go-github-com-spaolacci-murmur3")
1901 (version "1.1.0")
1902 (source
1903 (origin
1904 (method git-fetch)
1905 (uri (git-reference
1906 (url "https://github.com/spaolacci/murmur3")
1907 (commit (string-append "v" version))))
1908 (file-name (git-file-name name version))
1909 (sha256
1910 (base32 "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25"))))
1911 (build-system go-build-system)
1912 (arguments
1913 (list
1914 #:import-path "github.com/spaolacci/murmur3"))
1915 (home-page "https://github.com/spaolacci/murmur3")
1916 (synopsis "Native MurmurHash3 Go implementation")
1917 (description
1918 "Native Go implementation of Austin Appleby's third MurmurHash
1919revision (aka MurmurHash3). Reference algorithm has been slightly hacked as
1920to support the streaming mode required by Go's standard Hash interface.")
1921 (license license:bsd-3)))
1922
1923(define-public go-github-com-tjfoc-gmsm
1924 (package
1925 (name "go-github-com-tjfoc-gmsm")
1926 (version "1.4.1")
1927 (source
1928 (origin
1929 (method git-fetch)
1930 (uri (git-reference
1931 (url "https://github.com/tjfoc/gmsm")
1932 (commit (string-append "v" version))))
1933 (file-name (git-file-name name version))
1934 (sha256
1935 (base32 "18x1g555a3i86rkjrlxa6h6j3j87vhx480dqnv9hdij6cy3zph7i"))))
1936 (build-system go-build-system)
1937 (arguments
1938 (list
1939 #:skip-build? #t
1940 #:import-path "github.com/tjfoc/gmsm"
1941 #:test-subdirs
1942 #~(list ;; "gmtls/..." ; requires go-google-golang-org-grpc
1943 "pkcs12/..."
1944 "sm2/..."
1945 "sm3/..."
1946 "sm4/..."
1947 "x509/...")
1948 #:phases
1949 #~(modify-phases %standard-phases
1950 (add-before 'check 'pre-check
1951 (lambda* (#:key import-path #:allow-other-keys)
1952 ;; Tests need to write to that files.
1953 (with-directory-excursion (string-append "src/" import-path)
1954 (make-file-writable "sm3/ifile"))))
1955 (add-after 'check 'post-check
1956 (lambda* (#:key import-path #:allow-other-keys)
1957 (with-directory-excursion (string-append "src/" import-path)
1958 ;; Remove modified testdata just in case.
1959 (delete-file-recursively "sm3/ifile")))))))
1960 (propagated-inputs
1961 (list go-github-com-golang-protobuf
1962 go-golang-org-x-crypto
1963 go-golang-org-x-net
1964 #;go-google-golang-org-grpc)) ; not packed yet
1965 (home-page "https://github.com/tjfoc/gmsm")
1966 ;; Project's README is in Chinese Mandarin, translated with
1967 ;; auto translator and corrected manually.
1968 (synopsis "ShangMi (SM) cipher suites for Golang")
1969 (description
1970 "This package provides @url{https://en.wikipedia.org/wiki/SM4_(cipher),
1971ShāngMì 4} cipher suites implementation (GM SM2/3/4).
1972
1973Main functions:
1974@itemize
1975@item @code{SM2} national secret elliptic curve algorithm library
1976@item @code{SM3} national secret hash algorithm library
1977@item @code{SM4} national secret block cipher algorithm library
1978@end itemize")
1979 (license license:asl2.0)))
1980
1981(define-public go-github-com-twmb-murmur3
1982 (package
1983 (name "go-github-com-twmb-murmur3")
1984 (version "1.1.8")
1985 (source
1986 (origin
1987 (method git-fetch)
1988 (uri (git-reference
1989 (url "https://github.com/twmb/murmur3")
1990 (commit (string-append "v" version))))
1991 (file-name (git-file-name name version))
1992 (sha256
1993 (base32 "064bbgbgc45i3m9b3rqyw09g0nlrjs7dq1k716i5f06zjjpr56wg"))))
1994 (build-system go-build-system)
1995 (arguments
1996 (list
1997 #:import-path "github.com/twmb/murmur3"))
1998 (home-page "https://github.com/twmb/murmur3")
1999 (synopsis "Native MurmurHash3 Go implementation")
2000 (description
2001 "Native Go implementation of Austin Appleby's third MurmurHash
2002revision (aka MurmurHash3). Reference algorithm has been slightly hacked as to
2003support the streaming mode required by Go's standard Hash interface.")
2004 (license license:bsd-3)))
2005
2006(define-public go-github-com-twpayne-go-pinentry
2007 (package
2008 (name "go-github-com-twpayne-go-pinentry")
2009 (version "0.3.0")
2010 (source
2011 (origin
2012 (method git-fetch)
2013 (uri (git-reference
2014 (url "https://github.com/twpayne/go-pinentry")
2015 (commit (string-append "v" version))))
2016 (file-name (git-file-name name version))
2017 (sha256
2018 (base32 "1ixvvfd7ywsgj0jk1plb4h2g5bpmw86qc89m02c184jh5ndawhip"))))
2019 (build-system go-build-system)
2020 (arguments
2021 (list
2022 #:import-path "github.com/twpayne/go-pinentry"))
2023 (native-inputs
2024 (list go-github-com-alecthomas-assert-v2
2025 go-github-com-golang-mock))
2026 (propagated-inputs
2027 (list go-github-com-rs-zerolog))
2028 (home-page "https://github.com/twpayne/go-pinentry")
2029 (synopsis "Golang client to GnuPG's pinentry")
2030 (description
2031 "Package pinentry provides a client to @code{GnuPG's} pinentry.")
2032 (license license:expat)))
2033
2034(define-public go-github-com-twpayne-go-pinentry-v4
2035 (package
2036 (inherit go-github-com-twpayne-go-pinentry)
2037 (name "go-github-com-twpayne-go-pinentry-v4")
2038 (version "4.0.0")
2039 (source
2040 (origin
2041 (method git-fetch)
2042 (uri (git-reference
2043 (url "https://github.com/twpayne/go-pinentry")
2044 (commit (string-append "v" version))))
2045 (file-name (git-file-name name version))
2046 (sha256
2047 (base32 "1z9h2lg5xd3g6dd9avcfx0nnwdybr2yibmsw7akl6pz0cls3sf63"))))
2048 (arguments
2049 (list
2050 #:import-path "github.com/twpayne/go-pinentry/v4"))))
2051
1610(define-public go-github-com-xanzy-ssh-agent 2052(define-public go-github-com-xanzy-ssh-agent
1611 (package 2053 (package
1612 (name "go-github-com-xanzy-ssh-agent") 2054 (name "go-github-com-xanzy-ssh-agent")
@@ -1633,10 +2075,35 @@ ssh-agent that uses UNIX sockets, and one could implement an alternative
1633ssh-agent process using the sample server.") 2075ssh-agent process using the sample server.")
1634 (license license:asl2.0))) 2076 (license license:asl2.0)))
1635 2077
2078(define-public go-github-com-xdg-go-pbkdf2
2079 (package
2080 (name "go-github-com-xdg-go-pbkdf2")
2081 (version "1.0.0")
2082 (source
2083 (origin
2084 (method git-fetch)
2085 (uri (git-reference
2086 (url "https://github.com/xdg-go/pbkdf2")
2087 (commit (string-append "v" version))))
2088 (file-name (git-file-name name version))
2089 (sha256
2090 (base32 "1nipijy5xkdnfyhkp5ryrjzm14si1i2v2xyfmblf84binwkbr8jh"))))
2091 (build-system go-build-system)
2092 (arguments
2093 (list
2094 #:import-path "github.com/xdg-go/pbkdf2"))
2095 (home-page "https://github.com/xdg-go/pbkdf2")
2096 (synopsis "Go implementation of PBKDF2")
2097 (description
2098 "Package pbkdf2 implements password-based key derivation using the PBKDF2
2099algorithm described in @url{https://rfc-editor.org/rfc/rfc2898.html,RFC 2898}
2100and @url{https://rfc-editor.org/rfc/rfc8018.html,RFC 8018}.")
2101 (license license:asl2.0)))
2102
1636(define-public go-github-com-youmark-pkcs8 2103(define-public go-github-com-youmark-pkcs8
1637 (package 2104 (package
1638 (name "go-github-com-youmark-pkcs8") 2105 (name "go-github-com-youmark-pkcs8")
1639 (version "1.2") 2106 (version "1.3")
1640 (source 2107 (source
1641 (origin 2108 (origin
1642 (method git-fetch) 2109 (method git-fetch)
@@ -1645,7 +2112,7 @@ ssh-agent process using the sample server.")
1645 (commit (string-append "v" version)))) 2112 (commit (string-append "v" version))))
1646 (file-name (git-file-name name version)) 2113 (file-name (git-file-name name version))
1647 (sha256 2114 (sha256
1648 (base32 "0ckdrwa5rmp2c85936qd9d0gzrnrvqfg0297ansz5frdhg6fc6nq")))) 2115 (base32 "17pnl7b0ml4595cmxhramnc7ry6df6f4zisvaafxj4r7ravx8i7c"))))
1649 (build-system go-build-system) 2116 (build-system go-build-system)
1650 (arguments 2117 (arguments
1651 (list 2118 (list
@@ -1673,7 +2140,14 @@ PKCS#5 (v2.0) algorithms.")
1673 (commit (string-append "v" version)))) 2140 (commit (string-append "v" version))))
1674 (file-name (git-file-name name version)) 2141 (file-name (git-file-name name version))
1675 (sha256 2142 (sha256
1676 (base32 "117p973ccgalaqg7byj0qcd1xapysplql9np1sr9jkca500khcgf")))) 2143 (base32 "117p973ccgalaqg7byj0qcd1xapysplql9np1sr9jkca500khcgf"))
2144 (modules '((guix build utils)))
2145 (snippet
2146 #~(begin
2147 ;; Submodules with their own go.mod files and packaged separately:
2148 ;;
2149 ;; - github.com/zeebo/blake3/avo
2150 (delete-file-recursively "avo")))))
1677 (build-system go-build-system) 2151 (build-system go-build-system)
1678 (arguments 2152 (arguments
1679 (list 2153 (list
@@ -1690,6 +2164,33 @@ PKCS#5 (v2.0) algorithms.")
1690and SSE4.1 acceleration.") 2164and SSE4.1 acceleration.")
1691 (license license:cc0))) 2165 (license license:cc0)))
1692 2166
2167(define-public go-github-com-zeebo-blake3-avo
2168 (package
2169 (name "go-github-com-zeebo-blake3-avo")
2170 (version "0.0.0-20240814144702-1a8215cf69be")
2171 (source
2172 (origin
2173 (method git-fetch)
2174 (uri (git-reference
2175 (url "https://github.com/zeebo/blake3")
2176 (commit (go-version->git-ref version
2177 #:subdir "avo"))))
2178 (file-name (git-file-name name version))
2179 (sha256
2180 (base32 "117p973ccgalaqg7byj0qcd1xapysplql9np1sr9jkca500khcgf"))))
2181 (build-system go-build-system)
2182 (arguments
2183 (list
2184 #:import-path "github.com/zeebo/blake3/avo"
2185 #:unpack-path "github.com/zeebo/blake3"))
2186 (propagated-inputs (list go-github-com-mmcloughlin-avo))
2187 (home-page "https://github.com/zeebo/blake3")
2188 (synopsis "BLAKE3 Avo integration")
2189 (description
2190 "This package provides a @url{https://github.com/mmcloughlin/avo, avo}
2191vectorized version of BLAKE3 implementation in Golang.")
2192 (license license:cc0)))
2193
1693(define-public go-github-com-zeebo-pcg 2194(define-public go-github-com-zeebo-pcg
1694 (package 2195 (package
1695 (name "go-github-com-zeebo-pcg") 2196 (name "go-github-com-zeebo-pcg")
@@ -1716,6 +2217,58 @@ and SSE4.1 acceleration.")
1716Congruential Generator} (PCG) algorithm.") 2217Congruential Generator} (PCG) algorithm.")
1717 (license license:cc0))) 2218 (license license:cc0)))
1718 2219
2220(define-public go-gitlab-com-nyarla-go-crypt
2221 (package
2222 (name "go-gitlab-com-nyarla-go-crypt")
2223 (version "0.0.0-20160106005555-d9a5dc2b789b")
2224 (source
2225 (origin
2226 (method git-fetch)
2227 (uri (git-reference
2228 (url "https://gitlab.com/nyarla/go-crypt.git")
2229 (commit (go-version->git-ref version))))
2230 (file-name (git-file-name name version))
2231 (sha256
2232 (base32 "0249hbwvhy0xywi9b5k8964km27pvfkr3jvliy3azri6vnyvkkx1"))))
2233 (build-system go-build-system)
2234 (arguments
2235 (list
2236 #:import-path "gitlab.com/nyarla/go-crypt"))
2237 (home-page "https://gitlab.com/nyarla/go-crypt")
2238 (synopsis "Implementation of @code{crypt(3)} in Golang")
2239 (description
2240 "Package crypt is a implementation of crypt(3) by golang, originated from
2241https://code.google.com/p/go-crypt.")
2242 (license license:bsd-3)))
2243
2244(define-public go-gitlab-com-yawning-bsaes-git
2245 (package
2246 (name "go-gitlab-com-yawning-bsaes-git")
2247 (version "0.0.0-20190805113838-0a714cd429ec")
2248 (source
2249 (origin
2250 (method git-fetch)
2251 (uri (git-reference
2252 (url "https://gitlab.com/yawning/bsaes.git")
2253 (commit (go-version->git-ref version))))
2254 (file-name (git-file-name name version))
2255 (sha256
2256 (base32 "1w4g9phpb2f02dpkyd0ixp8jw9v42lnjljj4ysfz8im15abskwdn"))))
2257 (build-system go-build-system)
2258 (arguments
2259 (list
2260 #:import-path "gitlab.com/yawning/bsaes.git"))
2261 (propagated-inputs
2262 (list go-golang-org-x-sys))
2263 (home-page "https://gitlab.com/yawning/bsaes")
2264 (synopsis "AES implementatin in Golang")
2265 (description
2266 "The @code{bsaes} is a portable pure-Go constant time AES implementation
2267based on the code from @url{https://bearssl.org/,BearSSL}. On appropriate
2268systems, with a sufficiently recent Go runtime, it will transparently call
2269crypto/aes when NewCipher is invoked.")
2270 (license license:expat)))
2271
1719(define-public go-gitlab-com-yawning-edwards25519-extra 2272(define-public go-gitlab-com-yawning-edwards25519-extra
1720 (let ((commit "2149dcafc266f66d2487f45b156f6397f9c4760b") 2273 (let ((commit "2149dcafc266f66d2487f45b156f6397f9c4760b")
1721 (revision "0")) 2274 (revision "0"))
@@ -1781,6 +2334,96 @@ package is intended for interoperability with the standard library and the
1781possible.") 2334possible.")
1782 (license license:bsd-3)))) 2335 (license license:bsd-3))))
1783 2336
2337(define-public go-gitlab-com-yawning-obfs4-git
2338 (package
2339 (name "go-gitlab-com-yawning-obfs4-git")
2340 (version "0.0.0-20231012084234-c3e2d44b1033")
2341 (source
2342 (origin
2343 (method git-fetch)
2344 (uri (git-reference
2345 (url "https://gitlab.com/yawning/obfs4.git")
2346 (commit (go-version->git-ref version))))
2347 (file-name (git-file-name name version))
2348 (sha256
2349 (base32 "1kv62161jf28v1d31avlc0f5iyk5ar06zlk3zdw99hyyfqjiasdr"))))
2350 (build-system go-build-system)
2351 (arguments
2352 (list
2353 #:import-path "gitlab.com/yawning/obfs4.git"
2354 #:phases
2355 #~(modify-phases %standard-phases
2356 (delete 'build)))) ; no go files in project's root
2357 (propagated-inputs
2358 (list go-filippo-io-edwards25519
2359 go-github-com-dchest-siphash
2360 go-gitlab-com-yawning-edwards25519-extra
2361 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib
2362 go-golang-org-x-crypto
2363 go-golang-org-x-net))
2364 (home-page "https://gitlab.com/yawning/obfs4")
2365 (synopsis "Network traffic obfourscator library")
2366 (description
2367 "This package implements functionality based on ideas and concepts from
2368Philipp Winter's
2369@url{https://www.cs.kau.se/philwint/scramblesuit/,ScrambleSuit} protocol.
2370The notable differences between ScrambleSuit and obfs4:
2371@itemize
2372@item the handshake always does a full key exchange (no such thing as a
2373Session Ticket Handshake)
2374@item the handshake uses the Tor Project's ntor handshake with public keys
2375obfuscated via the Elligator 2 mapping
2376@item the link layer encryption uses NaCl secret boxes (Poly1305/XSalsa20)
2377@end itemize")
2378 (license license:gpl3+)))
2379
2380(define-public go-gitlab-com-yawning-utls-git
2381 (package
2382 (name "go-gitlab-com-yawning-utls-git")
2383 (version "0.0.12-1")
2384 (source
2385 (origin
2386 (method git-fetch)
2387 (uri (git-reference
2388 (url "https://gitlab.com/yawning/utls.git")
2389 (commit (string-append "v" version))))
2390 (file-name (git-file-name name version))
2391 (sha256
2392 (base32 "0f4m5g6yc0kn2s457gy98id4rr4m4z56y1nsxzx3xl04n408aimx"))))
2393 (build-system go-build-system)
2394 (arguments
2395 (list
2396 #:import-path "gitlab.com/yawning/utls.git"
2397 #:test-flags
2398 #~(list "-skip" (string-join
2399 ;; Test requiring network setup.
2400 (list "TestHandshakeClientCertECDSA"
2401 "TestHandshakeServerECDHEECDSAAES"
2402 "TestVerifyHostname"
2403 ;; Fails with error: misamtch on read.
2404 "TestCipherSuiteCertPreferenceECDSA/TLSv12"
2405 "TestUTLSHandshakeClientParrotGolang"
2406 ;; Fails with error: expected "key size too small
2407 ;; for PSS signature".
2408 "TestKeyTooSmallForRSAPSS"
2409 ;; Time bomb tests, certs are not valid after
2410 ;; certain date.
2411 "TestResumption/TLSv12"
2412 "TestResumption/TLSv13")
2413 "|"))))
2414 (propagated-inputs
2415 (list go-github-com-dsnet-compress
2416 go-gitlab-com-yawning-bsaes-git
2417 go-golang-org-x-crypto
2418 go-golang-org-x-net))
2419 (home-page "https://gitlab.com/yawning/utls")
2420 (synopsis "Alternative fork of @code{github.com/refraction-networking/utls}")
2421 (description
2422 "This provides a fork of
2423@url{https://github.com/refraction-networking/utls,uTLS} for the specific
2424purpose of improving obfs4proxy's meek_lite transport.")
2425 (license license:bsd-3)))
2426
1784(define-public go-lukechampine-com-blake3 2427(define-public go-lukechampine-com-blake3
1785 (package 2428 (package
1786 (name "go-lukechampine-com-blake3") 2429 (name "go-lukechampine-com-blake3")
@@ -1807,6 +2450,35 @@ contains AVX-512 and AVX2 routines (generated by avo) that greatly increase
1807performance for large inputs and outputs.") 2450performance for large inputs and outputs.")
1808 (license license:expat))) 2451 (license license:expat)))
1809 2452
2453(define-public go-software-sslmate-com-src-go-pkcs12
2454 (package
2455 (name "go-software-sslmate-com-src-go-pkcs12")
2456 (version "0.5.0")
2457 (source
2458 (origin
2459 (method git-fetch)
2460 (uri (git-reference
2461 (url "https://github.com/SSLMate/go-pkcs12")
2462 (commit (string-append "v" version))))
2463 (file-name (git-file-name name version))
2464 (sha256
2465 (base32 "0bmkv9nxflgr5sbizpm737rbarmi8iyxny6pwdmqk0jzrg5ppd85"))))
2466 (build-system go-build-system)
2467 (arguments
2468 (list
2469 #:import-path "software.sslmate.com/src/go-pkcs12"))
2470 (propagated-inputs
2471 (list go-golang-org-x-crypto))
2472 (home-page "https://github.com/SSLMate/go-pkcs12")
2473 (synopsis "Encoding and decoding PKCS#12 files")
2474 (description
2475 "Package pkcs12 implements some of PKCS#12 (also known as P12 or PFX).
2476It is intended for decoding DER-encoded P12/PFX files for use with the
2477@code{crypto/tls} package, and for encoding P12/PFX files for use by legacy
2478applications which do not support newer formats. Since PKCS#12 uses weak
2479encryption primitives, it SHOULD NOT be used for new applications.")
2480 (license license:bsd-3)))
2481
1810(define-public go-torproject-org-pluggable-transports-goptlib 2482(define-public go-torproject-org-pluggable-transports-goptlib
1811 (package 2483 (package
1812 (name "go-torproject-org-pluggable-transports-goptlib") 2484 (name "go-torproject-org-pluggable-transports-goptlib")
diff --git a/gnu/packages/golang-maths.scm b/gnu/packages/golang-maths.scm
index cf783226ead..b14533c1699 100644
--- a/gnu/packages/golang-maths.scm
+++ b/gnu/packages/golang-maths.scm
@@ -23,7 +23,8 @@
23 #:use-module (guix gexp) 23 #:use-module (guix gexp)
24 #:use-module (guix git-download) 24 #:use-module (guix git-download)
25 #:use-module (guix packages) 25 #:use-module (guix packages)
26 #:use-module (gnu packages)) 26 #:use-module (gnu packages)
27 #:use-module (gnu packages golang-build))
27 28
28;;; Commentary: 29;;; Commentary:
29;;; 30;;;
@@ -35,6 +36,126 @@
35;;; Libraries: 36;;; Libraries:
36;;; 37;;;
37 38
39(define-public go-github-com-aclements-go-moremath
40 (package
41 (name "go-github-com-aclements-go-moremath")
42 (version "0.0.0-20241023150245-c8bbc672ef66")
43 (source
44 (origin
45 (method git-fetch)
46 (uri (git-reference
47 (url "https://github.com/aclements/go-moremath")
48 (commit (go-version->git-ref version))))
49 (file-name (git-file-name name version))
50 (sha256
51 (base32 "01c9fkjs6gx7z6qkzy9qld7q3jhi9vgqhk8ymqck3ccmhg9bh1nq"))))
52 (build-system go-build-system)
53 (arguments
54 (list
55 #:import-path "github.com/aclements/go-moremath"
56 #:phases
57 #~(modify-phases %standard-phases
58 ;; No Go files in project root.
59 (delete 'build))))
60 (propagated-inputs
61 (list go-gonum-org-v1-gonum))
62 (home-page "https://github.com/aclements/go-moremath")
63 (synopsis "Assortment of more specialized math routines for Golang")
64 (description
65 "These packages provide more specialized math routines than are available
66in the standard Go @code{math} package. go-moremath currently focuses on
67statistical routines, with particular focus on high-quality implementations
68and APIs for non-parametric methods.")
69 (license license:bsd-3)))
70
71(define-public go-github-com-cockroachdb-apd
72 (package
73 (name "go-github-com-cockroachdb-apd")
74 (version "1.1.0")
75 (source
76 (origin
77 (method git-fetch)
78 (uri (git-reference
79 (url "https://github.com/cockroachdb/apd")
80 (commit (string-append "v" version))))
81 (file-name (git-file-name name version))
82 (sha256
83 (base32 "14jnnqpdsa3vxh2zpznd2dpnychcrlkljppfplrigrs245slyh72"))))
84 (build-system go-build-system)
85 (arguments
86 (list
87 #:import-path "github.com/cockroachdb/apd"))
88 (propagated-inputs
89 (list go-github-com-pkg-errors))
90 (home-page "https://github.com/cockroachdb/apd")
91 (synopsis "Arbitrary-precision decimals for Golang")
92 (description
93 "This package implements much of the decimal specification from the
94@url{http://speleotrove.com/decimal/,General Decimal Arithmetic} description.
95This is the same specification implemented by
96@url{https://docs.python.org/2/library/decimal.html,Python’s decimal module}
97and GCC’s decimal extension.")
98 (license license:asl2.0)))
99
100(define-public go-github-com-cockroachdb-apd-v3
101 (package
102 (inherit go-github-com-cockroachdb-apd)
103 (name "go-github-com-cockroachdb-apd-v3")
104 (version "3.2.1")
105 (source
106 (origin
107 (method git-fetch)
108 (uri (git-reference
109 (url "https://github.com/cockroachdb/apd")
110 (commit (string-append "v" version))))
111 (file-name (git-file-name name version))
112 (sha256
113 (base32 "1jrb43l80mr8q1hx8q4p54rld6kya886ackv5yzqyhhhl271rnm6"))))
114 (arguments
115 (list
116 #:import-path "github.com/cockroachdb/apd/v3"))))
117
118(define-public go-github-com-johncgriffin-overflow
119 (package
120 (name "go-github-com-johncgriffin-overflow")
121 (version "0.0.0-20211019200055-46fa312c352c")
122 (source
123 (origin
124 (method git-fetch)
125 (uri (git-reference
126 (url "https://github.com/JohnCGriffin/overflow")
127 (commit (go-version->git-ref version))))
128 (file-name (git-file-name name version))
129 (sha256
130 (base32 "1g4sfhdmzjl5vr16lfv7nv042w8dbz608bwzyvf7xlw4i7ypjjpq"))))
131 (build-system go-build-system)
132 (arguments
133 (list
134 #:import-path "github.com/JohnCGriffin/overflow"
135 #:phases
136 #~(modify-phases %standard-phases
137 (add-after 'unpack 'generate-impl
138 ;; Note that because Go has no template types, the majority of
139 ;; repetitive code is generated by overflow_template.sh. If you
140 ;; have to change an algorithm, change it there and regenerate the
141 ;; Go code.
142 (lambda* (#:key import-path #:allow-other-keys)
143 (with-directory-excursion (string-append "src/" import-path)
144 (substitute* "overflow_template.sh"
145 (("/bin/sh") (which "sh")))
146 (make-file-writable "overflow_impl.go")
147 (invoke "./overflow_template.sh")
148 (invoke "go" "generate")))))))
149 (home-page "https://github.com/JohnCGriffin/overflow")
150 (synopsis "Check for int/int64/int32 arithmetic overflow in Golang")
151 (description
152 "This package offers overflow-checked integer arithmetic operations for
153@code{int},@code{int32}, and @code{int64}. Each of the operations returns a
154@code{result,bool} combination. This was prompted by the need to know when to
155flow into higher precision types from the @code{math.big} library.")
156 ;; It's in README, see <https://github.com/JohnCGriffin/overflow/pull/5>.
157 (license license:expat)))
158
38(define-public go-github-com-montanaflynn-stats 159(define-public go-github-com-montanaflynn-stats
39 (package 160 (package
40 (name "go-github-com-montanaflynn-stats") 161 (name "go-github-com-montanaflynn-stats")
@@ -51,13 +172,43 @@
51 (build-system go-build-system) 172 (build-system go-build-system)
52 (arguments 173 (arguments
53 (list 174 (list
54 #:import-path "github.com/montanaflynn/stats")) 175 #:import-path "github.com/montanaflynn/stats"
176 #:phases
177 #~(modify-phases %standard-phases
178 (add-after 'unpack 'remove-examples
179 (lambda* (#:key tests? import-path #:allow-other-keys)
180 (with-directory-excursion (string-append "src/" import-path)
181 (delete-file-recursively "examples")))))))
55 (home-page "https://github.com/montanaflynn/stats") 182 (home-page "https://github.com/montanaflynn/stats")
56 (synopsis "Statistics library for Golang") 183 (synopsis "Statistics library for Golang")
57 (description 184 (description
58 "This package provides a statistical library for Golang.") 185 "This package provides a statistical library for Golang.")
59 (license license:expat))) 186 (license license:expat)))
60 187
188(define-public go-github-com-remyoudompheng-bigfft
189 (package
190 (name "go-github-com-remyoudompheng-bigfft")
191 (version "0.0.0-20230129092748-24d4a6f8daec")
192 (source
193 (origin
194 (method git-fetch)
195 (uri (git-reference
196 (url "https://github.com/remyoudompheng/bigfft")
197 (commit (go-version->git-ref version))))
198 (file-name (git-file-name name version))
199 (sha256
200 (base32 "0qxfda0jq70ank99zlgfz7iig2jpicbbxnpr7xcf1v9p474ak2dx"))))
201 (build-system go-build-system)
202 (arguments
203 (list
204 #:import-path "github.com/remyoudompheng/bigfft"))
205 (home-page "https://github.com/remyoudompheng/bigfft")
206 (synopsis "Big integer multiplication library for using Fast Fourier transform")
207 (description
208 "Package bigfft implements multiplication of @code{big.Int} using
209FFT (Schonhage-Strassen method for multiplying integers).")
210 (license license:bsd-3)))
211
61(define-public go-github-com-shopspring-decimal 212(define-public go-github-com-shopspring-decimal
62 (package 213 (package
63 (name "go-github-com-shopspring-decimal") 214 (name "go-github-com-shopspring-decimal")
@@ -116,6 +267,111 @@ rounding for conversions. IEEE 754-2008 refers to this 16-bit floating-point
116format as binary16.") 267format as binary16.")
117 (license license:expat))) 268 (license license:expat)))
118 269
270(define-public go-gonum-org-v1-gonum
271 (package
272 (name "go-gonum-org-v1-gonum")
273 (version "0.15.1")
274 (source
275 (origin
276 (method git-fetch)
277 (uri (git-reference
278 (url "https://github.com/gonum/gonum")
279 (commit (string-append "v" version))))
280 (file-name (git-file-name name version))
281 (sha256
282 (base32 "002qsavnylj8l4ki56narpn3zm0r9p7p8ccgd20q1xp751wg2kvp"))))
283 (build-system go-build-system)
284 (arguments
285 (list
286 #:import-path "gonum.org/v1/gonum"
287 #:test-subdirs
288 #~(list "."
289 "blas/..."
290 "cmplxs/..."
291 "diff/..."
292 "dsp/fourier/..."
293 "floats/..."
294 "integrate/..."
295 "internal/..."
296 "interp/..."
297 "lapack/..."
298 "mat/..."
299 "mathext/..."
300 "num/..."
301 "optimize/..."
302 "spatial/..."
303 "stat/..."
304 "uniti/...")))
305 (propagated-inputs
306 (list go-github-com-goccmack-gocc
307 go-github-com-google-go-cmp
308 go-golang-org-x-exp
309 go-golang-org-x-tools
310 #;go-gonum-org-v1-plot ; not packed yet
311 ))
312 (home-page "https://www.gonum.org/")
313 (synopsis "Set of numeric libraries for Golang")
314 (description
315 "Gonum is a set of packages designed to make writing numerical and
316scientific algorithms productive, performant, and scalable. It provides
317libraries for matrices and linear algebra; statistics, probability
318distributions, and sampling; tools for function differentiation,integration,
319and optimization; network creation and analysis")
320 (license license:expat)))
321
322(define-public go-lukechampine-com-uint128
323 (package
324 (name "go-lukechampine-com-uint128")
325 (version "1.3.0")
326 (source
327 (origin
328 (method git-fetch)
329 (uri (git-reference
330 (url "https://github.com/lukechampine/uint128")
331 (commit (string-append "v" version))))
332 (file-name (git-file-name name version))
333 (sha256
334 (base32 "1yy6lbprrsl9gscxn4194kr5sfvgi9cgvjdxn2141k36ab3nz8ip"))))
335 (build-system go-build-system)
336 (arguments
337 (list
338 #:import-path "lukechampine.com/uint128"))
339 (home-page "https://github.com/lukechampine/uint128")
340 (synopsis "Uint128 for Golang")
341 (description
342 "This package provides a high-performance @code{Uint128} type that
343supports standard arithmetic operations. Unlike @code{math/big}, operations
344on @code{Uint128} values always produce new values instead of modifying a
345pointer receiver. A @@code{Uint128} value is therefore immutable, just like
346@code{uint64} and friends.")
347 (license license:expat)))
348
349(define-public go-modernc-org-mathutil
350 (package
351 (name "go-modernc-org-mathutil")
352 (version "1.6.0")
353 (source
354 (origin
355 (method git-fetch)
356 (uri (git-reference
357 (url "https://gitlab.com/cznic/mathutil")
358 (commit (string-append "v" version))))
359 (file-name (git-file-name name version))
360 (sha256
361 (base32 "0wafxarpfvys5p2wsamadkv8j54ahrv9dwmlba9xsxb85n4q9ywm"))))
362 (build-system go-build-system)
363 (arguments
364 (list
365 #:import-path "modernc.org/mathutil"))
366 (propagated-inputs (list go-github-com-remyoudompheng-bigfft))
367 (home-page "https://modernc.org/mathutil")
368 (synopsis
369 "Utilities supplemental to the Go standard @code{rand} and @code{math} packages")
370 (description
371 "Package mathutil provides utilities supplementing the standard
372@code{math} and @code{math/rand} packages.")
373 (license license:bsd-3)))
374
119;;; 375;;;
120;;; Executables: 376;;; Executables:
121;;; 377;;;
diff --git a/gnu/packages/golang-vcs.scm b/gnu/packages/golang-vcs.scm
new file mode 100644
index 00000000000..2c2dcc2d11c
--- /dev/null
+++ b/gnu/packages/golang-vcs.scm
@@ -0,0 +1,172 @@
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
3;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
4;;;
5;;; This file is part of GNU Guix.
6;;;
7;;; GNU Guix is free software; you can redistribute it and/or modify it
8;;; under the terms of the GNU General Public License as published by
9;;; the Free Software Foundation; either version 3 of the License, or (at
10;;; your option) any later version.
11;;;
12;;; GNU Guix is distributed in the hope that it will be useful, but
13;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15;;; GNU General Public License for more details.
16;;;
17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20(define-module (gnu packages golang-vcs)
21 #:use-module ((guix licenses) #:prefix license:)
22 #:use-module (guix build-system go)
23 #:use-module (guix gexp)
24 #:use-module (guix git-download)
25 #:use-module (guix packages)
26 #:use-module (gnu packages)
27 #:use-module (gnu packages golang-build)
28 #:use-module (gnu packages golang-check)
29 #:use-module (gnu packages golang-crypto)
30 #:use-module (gnu packages golang-web)
31 #:use-module (gnu packages golang-xyz)
32 #:use-module (gnu packages version-control))
33
34;;; Commentary:
35;;;
36;;; Please: Try to add new module packages in alphabetic order.
37;;;
38;;; Code:
39
40;;;
41;;; Libraries:
42;;;
43
44(define-public go-github-com-go-git-gcfg
45 (package
46 (name "go-github-com-go-git-gcfg")
47 (version "1.5.0")
48 (source
49 (origin
50 (method git-fetch)
51 (uri (git-reference
52 (url "https://github.com/go-git/gcfg")
53 (commit (string-append "v" version))))
54 (file-name (git-file-name name version))
55 (sha256
56 (base32 "1lb14z4j35pwz2b2rbykkpsq515spwbndb00gwn2xlrzn949xb83"))))
57 (build-system go-build-system)
58 (arguments
59 (list
60 #:import-path "github.com/go-git/gcfg"
61 ;; pass; got 10, error <nil>
62 ;; failed to parse "a" as int: expected integer; *ptr==0
63 #:test-flags #~(list "-skip" "TestParseInt|TestScanFully")))
64 (propagated-inputs
65 (list go-github-com-pkg-errors
66 go-gopkg-in-warnings-v0))
67 (home-page "https://github.com/go-git/gcfg")
68 (synopsis "Gcfg reads INI-style configuration files into Go structs")
69 (description "Gcfg reads INI-style configuration files into Go structs.")
70 (license license:bsd-3)))
71
72(define-public go-github-com-go-git-go-git-v5
73 (package
74 (name "go-github-com-go-git-go-git-v5")
75 (version "5.13.1")
76 (source (origin
77 (method git-fetch)
78 (uri (git-reference
79 (url "https://github.com/go-git/go-git")
80 (commit (string-append "v" version))))
81 (file-name (git-file-name name version))
82 (sha256
83 (base32
84 "1mgzwwmq1awai9n8vkjp8xpq26hvivl53g57f1k2cgg6bkj13r2a"))))
85 (build-system go-build-system)
86 (arguments
87 (list
88 #:tests? #f ;requires network connection
89 #:import-path "github.com/go-git/go-git/v5"
90 #:phases
91 #~(modify-phases %standard-phases
92 (add-before 'build 'setup
93 (lambda* (#:key inputs #:allow-other-keys)
94 (let* ((git #$(this-package-native-input "git-minimal"))
95 (git-bin (string-append git "/bin"))
96 (git-exe (string-append git-bin "/git")))
97 (setenv "GIT_DIST_PATH=" git)
98 (setenv "GIT_EXEC_PATH=" git-bin)
99 (setenv "HOME" (getcwd))
100 (invoke git-exe "config" "--global" "user.email" "gha@example.com")
101 (invoke git-exe "config" "--global" "user.name" "GitHub Actions")))))))
102 (native-inputs
103 (list git-minimal/pinned
104 go-github-com-stretchr-testify
105 go-gopkg-in-check-v1))
106 (propagated-inputs
107 (list go-dario-cat-mergo
108 go-github-com-armon-go-socks5
109 go-github-com-elazarl-goproxy
110 go-github-com-emirpasic-gods
111 go-github-com-gliderlabs-ssh
112 go-github-com-go-git-gcfg
113 go-github-com-go-git-go-billy-v5
114 go-github-com-go-git-go-git-fixtures-v4
115 go-github-com-golang-groupcache
116 go-github-com-google-go-cmp
117 go-github-com-jbenet-go-context
118 go-github-com-kevinburke-ssh-config
119 go-github-com-pjbgf-sha1cd
120 go-github-com-protonmail-go-crypto
121 go-github-com-sergi-go-diff
122 go-github-com-skeema-knownhosts
123 go-github-com-xanzy-ssh-agent
124 go-golang-org-x-crypto
125 go-golang-org-x-net
126 go-golang-org-x-sys
127 go-golang-org-x-text))
128 (home-page "https://github.com/go-git/")
129 (synopsis "Git implementation library")
130 (description "This package provides a Git implementation library.")
131 (license license:asl2.0)))
132
133(define-public go-github-com-xanzy-go-gitlab
134 (package
135 (name "go-github-com-xanzy-go-gitlab")
136 (version "0.114.0")
137 (source
138 (origin
139 (method git-fetch)
140 (uri (git-reference
141 (url "https://github.com/xanzy/go-gitlab")
142 (commit (string-append "v" version))))
143 (file-name (git-file-name name version))
144 (sha256
145 (base32 "136iik1pqggdk2z3yz4wh5z05wp9sb6j1rpbf33bjn5djqxcxbbf"))))
146 (build-system go-build-system)
147 (arguments
148 (list
149 #:import-path "github.com/xanzy/go-gitlab"))
150 (native-inputs
151 (list go-github-com-stretchr-testify))
152 (propagated-inputs
153 (list go-github-com-google-go-querystring
154 go-github-com-hashicorp-go-cleanhttp
155 go-github-com-hashicorp-go-retryablehttp
156 go-golang-org-x-oauth2
157 go-golang-org-x-time))
158 (home-page "https://github.com/xanzy/go-gitlab")
159 (synopsis "GitLab Go SDK")
160 (description
161 "This package provides a GitLab API client enabling Go programs to
162interact with GitLab in a simple and uniform way.")
163 (license license:asl2.0)))
164
165;;;
166;;; Executables:
167;;;
168
169;;;
170;;; Avoid adding new packages to the end of this file. To reduce the chances
171;;; of a merge conflict, place them above in alphabetic order.
172;;;
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 6d1a0c1eaed..4ac18ed0196 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -2,6 +2,7 @@
2;;; Copyright © 2017, 2019, 2020, 2021 Leo Famulari <leo@famulari.name> 2;;; Copyright © 2017, 2019, 2020, 2021 Leo Famulari <leo@famulari.name>
3;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> 3;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
4;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> 4;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
5;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
5;;; Copyright © 2019 Vagrant Cascadian <vagrant@debian.org> 6;;; Copyright © 2019 Vagrant Cascadian <vagrant@debian.org>
6;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net> 7;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
7;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> 8;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
@@ -34,6 +35,8 @@
34;;; Copyright © 2024 Dominic Martinez <dom@dominicm.dev> 35;;; Copyright © 2024 Dominic Martinez <dom@dominicm.dev>
35;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email> 36;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
36;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com> 37;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
38;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
39;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
37;;; 40;;;
38;;; This file is part of GNU Guix. 41;;; This file is part of GNU Guix.
39;;; 42;;;
@@ -65,6 +68,7 @@
65 #:use-module (gnu packages golang-crypto) 68 #:use-module (gnu packages golang-crypto)
66 #:use-module (gnu packages golang-xyz) 69 #:use-module (gnu packages golang-xyz)
67 #:use-module (gnu packages ipfs) 70 #:use-module (gnu packages ipfs)
71 #:use-module (gnu packages prometheus)
68 #:use-module (gnu packages tls) 72 #:use-module (gnu packages tls)
69 #:use-module (gnu packages web)) 73 #:use-module (gnu packages web))
70 74
@@ -85,6 +89,52 @@
85;;; Libraries: 89;;; Libraries:
86;;; 90;;;
87 91
92(define-public go-0xacab-org-leap-obfsvpn
93 (package
94 (name "go-0xacab-org-leap-obfsvpn")
95 (version "1.3.0")
96 (source
97 (origin
98 (method git-fetch)
99 (uri (git-reference
100 (url "https://0xacab.org/leap/obfsvpn.git")
101 (commit (string-append "v" version))))
102 (file-name (git-file-name name version))
103 (sha256
104 (base32 "1iq3m2j6m9n1h9rkysaj97nnqx65fn7vz9jskl4qa4rwh002pv3d"))
105 (modules '((guix build utils)))
106 (snippet
107 #~(begin
108 ;; It's the same project.
109 (substitute* (find-files "." "\\.go$")
110 (("git.torproject.org/pluggable-transports/goptlib.git")
111 (string-append "gitlab.torproject.org/tpo/anti-censorship"
112 "/pluggable-transports/goptlib")))))))
113 (build-system go-build-system)
114 (arguments
115 (list
116 #:skip-build? #t
117 #:import-path "0xacab.org/leap/obfsvpn"))
118 (native-inputs
119 (list go-github-com-spf13-pflag
120 go-github-com-spf13-viper))
121 (propagated-inputs
122 (list go-github-com-labstack-echo-v4
123 go-github-com-quic-go-quic-go
124 go-github-com-sirupsen-logrus
125 go-github-com-xtaci-kcp-go-v5
126 go-gitlab-com-yawning-obfs4-git
127 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib))
128 (home-page "https://0xacab.org/leap/obfsvpn")
129 (synopsis "OBFS4 client and server proxies")
130 (description
131 "The @@code{obfsvpn} module contains a Go package that provides server
132and client components to use variants of the obfs4 obfuscation protocol. It
133is intended to be used as a drop-in Pluggable Transport for @code{OpenVPN}
134connections
135(although it can be used for other, more generic purposes).")
136 (license license:bsd-2)))
137
88(define-public go-cloud-google-com-go-compute-metadata 138(define-public go-cloud-google-com-go-compute-metadata
89 (package 139 (package
90 (name "go-cloud-google-com-go-compute-metadata") 140 (name "go-cloud-google-com-go-compute-metadata")
@@ -111,6 +161,33 @@
111API service accounts for Go.") 161API service accounts for Go.")
112 (license license:asl2.0))) 162 (license license:asl2.0)))
113 163
164(define-public go-git-sr-ht-adnano-go-gemini
165 (package
166 (name "go-git-sr-ht-adnano-go-gemini")
167 (version "0.2.5")
168 (source
169 (origin
170 (method git-fetch)
171 (uri (git-reference
172 (url "https://git.sr.ht/~adnano/go-gemini")
173 (commit (string-append "v" version))))
174 (file-name (git-file-name name version))
175 (sha256
176 (base32 "0xxcljhk9abjjdcl1dnxaq7qwvl13rq51bwps5nxlkib7fxgbyyl"))))
177 (build-system go-build-system)
178 (arguments
179 (list
180 #:import-path "git.sr.ht/~adnano/go-gemini"))
181 (propagated-inputs
182 (list go-golang-org-x-net))
183 (home-page "https://git.sr.ht/~adnano/go-gemini")
184 (synopsis "Gemini protocol in Go")
185 (description
186 "The @code{gemini} package implements the Gemini protocol in Go. It
187provides an API similar to that of NET/HTTP to facilitate the development of
188Gemini clients and servers.")
189 (license license:expat)))
190
114(define-public go-git-sr-ht-emersion-gqlclient 191(define-public go-git-sr-ht-emersion-gqlclient
115 (package 192 (package
116 (name "go-git-sr-ht-emersion-gqlclient") 193 (name "go-git-sr-ht-emersion-gqlclient")
@@ -126,7 +203,13 @@ API service accounts for Go.")
126 (base32 "0x64kcryawdr0daq1w6fada60zqrddw75yi397835b9ij7wb5gmh")))) 203 (base32 "0x64kcryawdr0daq1w6fada60zqrddw75yi397835b9ij7wb5gmh"))))
127 (build-system go-build-system) 204 (build-system go-build-system)
128 (arguments 205 (arguments
129 (list #:import-path "git.sr.ht/~emersion/gqlclient")) 206 (list
207 #:embed-files #~(list "prelude.graphql")
208 #:import-path "git.sr.ht/~emersion/gqlclient"))
209 ;; For the CLI.
210 (native-inputs
211 (list go-github-com-dave-jennifer
212 go-github-com-vektah-gqlparser-v2))
130 (home-page "https://git.sr.ht/~emersion/gqlclient") 213 (home-page "https://git.sr.ht/~emersion/gqlclient")
131 (synopsis "GraphQL client and code generator") 214 (synopsis "GraphQL client and code generator")
132 (description 215 (description
@@ -171,6 +254,31 @@ API service accounts for Go.")
1712019.") 2542019.")
172 (license license:expat))) 255 (license license:expat)))
173 256
257(define-public go-github-com-aki237-nscjar
258 (package
259 (name "go-github-com-aki237-nscjar")
260 (version "0.0.0-20210417074043-bbb606196143")
261 (source
262 (origin
263 (method git-fetch)
264 (uri (git-reference
265 (url "https://github.com/aki237/nscjar")
266 (commit (go-version->git-ref version))))
267 (file-name (git-file-name name version))
268 (sha256
269 (base32 "0vbagy9g795b17lnnkkm2f3pcrkxrzc4qbzc656g2cdkdprdyb4m"))))
270 (build-system go-build-system)
271 (arguments
272 (list
273 #:import-path "github.com/aki237/nscjar"))
274 (home-page "https://github.com/aki237/nscjar")
275 (synopsis "Handle Netscape / Mozilla cookies")
276 (description
277 "@code{nscjar} is a Go library used to parse and output
278Netscape/Mozilla's old-style cookie files. It also implements a simple cookie
279jar struct to manage the cookies added to the cookie jar.")
280 (license license:expat)))
281
174(define-public go-github-com-alexliesenfeld-health 282(define-public go-github-com-alexliesenfeld-health
175 (package 283 (package
176 (name "go-github-com-alexliesenfeld-health") 284 (name "go-github-com-alexliesenfeld-health")
@@ -310,6 +418,34 @@ that of BeautifulSoup.")
310the parse trees produced by the html package.") 418the parse trees produced by the html package.")
311 (license license:bsd-2))) 419 (license license:bsd-2)))
312 420
421(define-public go-github-com-armon-go-socks5
422 (package
423 (name "go-github-com-armon-go-socks5")
424 (version "0.0.0-20160902184237-e75332964ef5")
425 (source
426 (origin
427 (method git-fetch)
428 (uri (git-reference
429 (url "https://github.com/armon/go-socks5")
430 (commit (go-version->git-ref version))))
431 (file-name (git-file-name name version))
432 (sha256
433 (base32 "104w10jf0wlxyxi35hf6frndgf0ybz21h54xjmnkivpb6slycpyq"))))
434 (build-system go-build-system)
435 (arguments
436 (list
437 #:import-path "github.com/armon/go-socks5"))
438 (native-inputs
439 (list go-golang-org-x-net))
440 (home-page "https://github.com/armon/go-socks5")
441 (synopsis "SOCKS5 server in Golang")
442 (description
443 "This package provides the @code{socks5} package that implements a
444@url{http://en.wikipedia.org/wiki/SOCKS,SOCKS5 server}. SOCKS (Secure
445Sockets) is used to route traffic between a client and server through an
446intermediate proxy layer. This can be used to bypass firewalls or NATs.")
447 (license license:expat)))
448
313(define-public go-github-com-audriusbutkevicius-pfilter 449(define-public go-github-com-audriusbutkevicius-pfilter
314 (package 450 (package
315 (name "go-github-com-audriusbutkevicius-pfilter") 451 (name "go-github-com-audriusbutkevicius-pfilter")
@@ -425,7 +561,7 @@ functions.")
425(define-public go-github-com-aws-aws-sdk-go-v2 561(define-public go-github-com-aws-aws-sdk-go-v2
426 (package 562 (package
427 (name "go-github-com-aws-aws-sdk-go-v2") 563 (name "go-github-com-aws-aws-sdk-go-v2")
428 (version "1.30.5") 564 (version "1.32.0")
429 (source 565 (source
430 (origin 566 (origin
431 (method git-fetch) 567 (method git-fetch)
@@ -434,11 +570,22 @@ functions.")
434 (commit (string-append "v" version)))) 570 (commit (string-append "v" version))))
435 (file-name (git-file-name name version)) 571 (file-name (git-file-name name version))
436 (sha256 572 (sha256
437 (base32 "1mxm3j8xwlzjqhdw515kwzzhnfr325s08ry73chjbdw6qb940lb1")))) 573 (base32 "1iflf2ski7vm2z78wdmbrqpchc3qr50macnf965wmdyfinvx58wn"))
574 ;; XXX: It contains a lot of sub packages defined with go.mod, consider
575 ;; to pack them separately.
576 (modules '((guix build utils)))
577 (snippet
578 #~(begin
579 ;; Submodules with their own go.mod files and packaged separately:
580 ;;
581 ;; - github.com/aws/aws-sdk-go-v2/service/sqs
582 (for-each delete-file-recursively
583 (list "service/sqs"))))))
438 (build-system go-build-system) 584 (build-system go-build-system)
439 (arguments 585 (arguments
440 (list 586 (list
441 #:import-path "github.com/aws/aws-sdk-go-v2")) 587 #:import-path "github.com/aws/aws-sdk-go-v2"
588 #:test-subdirs #~(list ".")))
442 (propagated-inputs 589 (propagated-inputs
443 (list go-github-com-jmespath-go-jmespath 590 (list go-github-com-jmespath-go-jmespath
444 go-github-com-aws-smithy-go)) 591 go-github-com-aws-smithy-go))
@@ -463,21 +610,29 @@ functions.")
463(define-public go-github-com-aws-aws-sdk-go-v2-credentials 610(define-public go-github-com-aws-aws-sdk-go-v2-credentials
464 (package 611 (package
465 (name "go-github-com-aws-aws-sdk-go-v2-credentials") 612 (name "go-github-com-aws-aws-sdk-go-v2-credentials")
466 (version "1.17.27") 613 (version "1.17.48")
467 (source 614 (source
468 (origin 615 (origin
469 (method git-fetch) 616 (method git-fetch)
470 (uri (git-reference 617 (uri (git-reference
471 (url "https://github.com/aws/aws-sdk-go-v2") 618 (url "https://github.com/aws/aws-sdk-go-v2")
472 (commit (string-append "credentials/v" version)))) 619 (commit (go-version->git-ref version
620 #:subdir "credentials"))))
473 (file-name (git-file-name name version)) 621 (file-name (git-file-name name version))
474 (sha256 622 (sha256
475 (base32 "0jdj7wim98g80hjbw3av7ffrr3dqxzbygprmhjs0cxc16cw62wj7")))) 623 (base32 "1n3spqncpw6w11pwkqaiq7jyv6dv0229jsbshibg24l2g3accdqi"))))
476 (build-system go-build-system) 624 (build-system go-build-system)
477 (arguments 625 (arguments
478 (list 626 (list
479 #:import-path "github.com/aws/aws-sdk-go-v2/credentials" 627 #:import-path "github.com/aws/aws-sdk-go-v2/credentials"
480 #:unpack-path "github.com/aws/aws-sdk-go-v2")) 628 #:unpack-path "github.com/aws/aws-sdk-go-v2"
629 #:phases
630 #~(modify-phases %standard-phases
631 (add-after 'unpack 'fix-tests
632 (lambda* (#:key import-path #:allow-other-keys)
633 (with-directory-excursion (string-append "src/" import-path)
634 (substitute* (find-files "." "test\\.go")
635 (("/bin/sleep") (which "sleep")))))))))
481 (propagated-inputs 636 (propagated-inputs
482 (list go-github-com-google-go-cmp 637 (list go-github-com-google-go-cmp
483 go-github-com-aws-smithy-go)) 638 go-github-com-aws-smithy-go))
@@ -520,6 +675,86 @@ credentials sources.")
520 (propagated-inputs 675 (propagated-inputs
521 (list go-github-com-aws-smithy-go)))) 676 (list go-github-com-aws-smithy-go))))
522 677
678(define-public go-github-com-aws-aws-sdk-go-v2-service-secretsmanager
679 (package
680 (name "go-github-com-aws-aws-sdk-go-v2-service-secretsmanager")
681 (version "1.34.8")
682 (source
683 (origin
684 (method git-fetch)
685 (uri (git-reference
686 (url "https://github.com/aws/aws-sdk-go-v2")
687 (commit (go-version->git-ref version
688 #:subdir "service/secretsmanager"))))
689 (file-name (git-file-name name version))
690 (sha256
691 (base32 "1n3spqncpw6w11pwkqaiq7jyv6dv0229jsbshibg24l2g3accdqi"))))
692 (build-system go-build-system)
693 (arguments
694 (list
695 #:import-path "github.com/aws/aws-sdk-go-v2/service/secretsmanager"
696 #:unpack-path "github.com/aws/aws-sdk-go-v2"))
697 (propagated-inputs
698 (list go-github-com-aws-smithy-go))
699 (home-page "https://github.com/aws/aws-sdk-go-v2")
700 (synopsis "AWS Secrets Manager service")
701 (description
702 "Package secretsmanager provides the API client, operations, and
703parameter types for AWS Secrets Manager.")
704 (license license:asl2.0)))
705
706(define-public go-github-com-aws-aws-sdk-go-v2-service-sqs
707 (package
708 (name "go-github-com-aws-aws-sdk-go-v2-service-sqs")
709 (version "1.37.6")
710 (source
711 (origin
712 (method git-fetch)
713 (uri (git-reference
714 (url "https://github.com/aws/aws-sdk-go-v2")
715 (commit (go-version->git-ref version
716 #:subdir "service/sqs"))))
717 (file-name (git-file-name name version))
718 (sha256
719 (base32 "158mgp8czzkhjdwli2wciwqihs56jp879ahjdjyy8c6fn0g3xdvb"))
720 (modules '((guix build utils)
721 (ice-9 ftw)
722 (srfi srfi-26)))
723 (snippet
724 #~(begin
725 ;; XXX: 'delete-all-but' is copied from the turbovnc package.
726 ;; Consider to implement it as re-usable procedure in
727 ;; guix/build/utils or guix/build-system/go.
728 (define (delete-all-but directory . preserve)
729 (define (directory? x)
730 (and=> (stat x #f)
731 (compose (cut eq? 'directory <>) stat:type)))
732 (with-directory-excursion directory
733 (let* ((pred
734 (negate (cut member <> (append '("." "..") preserve))))
735 (items (scandir "." pred)))
736 (for-each (lambda (item)
737 (if (directory? item)
738 (delete-file-recursively item)
739 (delete-file item)))
740 items))))
741 (delete-all-but "service" "sqs")
742 (delete-all-but "." "service")))))
743 (build-system go-build-system)
744 (arguments
745 (list
746 #:import-path "github.com/aws/aws-sdk-go-v2/service/sqs"
747 #:unpack-path "github.com/aws/aws-sdk-go-v2"))
748 (propagated-inputs
749 (list go-github-com-aws-smithy-go
750 go-github-com-aws-aws-sdk-go-v2))
751 (home-page "https://github.com/aws/aws-sdk-go-v2")
752 (synopsis "AWS Golang SDK for Simple Queue Service")
753 (description
754 "Package sqs provides the API client, operations, and parameter types for
755Amazon Simple Queue Service.")
756 (license license:asl2.0)))
757
523(define-public go-github-com-aws-aws-sdk-go-v2-service-sso 758(define-public go-github-com-aws-aws-sdk-go-v2-service-sso
524 (package 759 (package
525 (inherit go-github-com-aws-aws-sdk-go-v2) 760 (inherit go-github-com-aws-aws-sdk-go-v2)
@@ -556,27 +791,150 @@ credentials sources.")
556(define-public go-github-com-aws-smithy-go 791(define-public go-github-com-aws-smithy-go
557 (package 792 (package
558 (name "go-github-com-aws-smithy-go") 793 (name "go-github-com-aws-smithy-go")
559 (version "1.21.0") 794 (version "1.22.1")
560 (source 795 (source
561 (origin 796 (origin
562 (method git-fetch) 797 (method git-fetch)
563 (uri (git-reference 798 (uri (git-reference
564 (url "https://github.com/aws/smithy-go") 799 (url "https://github.com/aws/smithy-go")
565 (commit "v1.21.0"))) 800 (commit (string-append "v" version))))
566 (file-name (git-file-name name version)) 801 (file-name (git-file-name name version))
567 (sha256 802 (sha256
568 (base32 "1pcq9d154l41c4k23q6ri51ba5i2kc8ihrv4sgkv4q59cw70rspi")))) 803 (base32 "16jbv7cyj85048f4kcrib8k2yif165sc099h0aklal5dwlf85xcg"))
804 (modules '((guix build utils)))
805 (snippet
806 #~(begin
807 ;; Submodules with their own go.mod files and packaged separately:
808 ;;
809 ;; - github.com/aws/smithy-go/aws-http-auth
810 ;; - github.com/aws/smithy-go/codegen
811 ;; - github.com/aws/smithy-go/metrics/smithyotelmetrics
812 ;; - github.com/aws/smithy-go/tracing/smithyoteltracing
813 (for-each delete-file-recursively
814 (list "aws-http-auth"
815 "codegen"
816 "metrics/smithyotelmetrics"
817 "tracing/smithyoteltracing"))))))
569 (build-system go-build-system) 818 (build-system go-build-system)
570 (arguments 819 (arguments
571 '(#:import-path "github.com/aws/smithy-go")) 820 (list
572 (propagated-inputs 821 #:import-path "github.com/aws/smithy-go"))
573 (list go-github-com-jmespath-go-jmespath go-github-com-google-go-cmp))
574 (home-page "https://github.com/aws/smithy-go") 822 (home-page "https://github.com/aws/smithy-go")
575 (synopsis "Smithy code generators for Go") 823 (synopsis "Smithy code generators for Go")
576 (description 824 (description
577 "Package smithy provides the core components for a Smithy SDK.") 825 "Package smithy provides the core components for a Smithy SDK.")
578 (license license:asl2.0))) 826 (license license:asl2.0)))
579 827
828(define-public go-github-com-aws-smithy-go-aws-http-auth
829 (package
830 (name "go-github-com-aws-smithy-go-aws-http-auth")
831 (version "1.0.0")
832 (source
833 (origin
834 (method git-fetch)
835 (uri (git-reference
836 (url "https://github.com/aws/smithy-go")
837 (commit (go-version->git-ref version
838 #:subdir "aws-http-auth"))))
839 (file-name (git-file-name name version))
840 (sha256
841 (base32 "1iy9rlcj6qwy58rrddbvqy38lzw9d7y1i2d3mvf3f3z4i6rkwvd4"))))
842 (build-system go-build-system)
843 (arguments
844 (list
845 #:skip-build? #t
846 #:import-path "github.com/aws/smithy-go/aws-http-auth"
847 #:unpack-path "github.com/aws/smithy-go"))
848 (home-page "https://github.com/aws/smithy-go")
849 (synopsis "Consumable SigV4 and SigV4a request signing")
850 (description
851 "This package implements generically consumable SigV4 and SigV4a request
852signing.")
853 (license license:asl2.0)))
854
855(define-public go-github-com-aws-smithy-go-codegen
856 (package
857 (name "go-github-com-aws-smithy-go-codegen")
858 (version "0.0.0-20241226171254-10fbeed6f845")
859 (source
860 (origin
861 (method git-fetch)
862 (uri (git-reference
863 (url "https://github.com/aws/smithy-go")
864 (commit (go-version->git-ref version
865 #:subdir "codegen"))))
866 (file-name (git-file-name name version))
867 (sha256
868 (base32 "16jbv7cyj85048f4kcrib8k2yif165sc099h0aklal5dwlf85xcg"))))
869 (build-system go-build-system)
870 (arguments
871 (list
872 #:skip-build? #t
873 #:import-path "github.com/aws/smithy-go/codegen"
874 #:unpack-path "github.com/aws/smithy-go"))
875 (home-page "https://github.com/aws/smithy-go")
876 (synopsis "Smithy code generators for Golang")
877 (description
878 "This package provides Gradle templates for Smithy code generators.")
879 (license license:asl2.0)))
880
881(define-public go-github-com-aws-smithy-go-metrics-smithyotelmetrics
882 (package
883 (name "go-github-com-aws-smithy-go-metrics-smithyotelmetrics")
884 (version "1.0.2")
885 (source
886 (origin
887 (method git-fetch)
888 (uri (git-reference
889 (url "https://github.com/aws/smithy-go")
890 (commit (go-version->git-ref version
891 #:subdir "metrics/smithyotelmetrics"))))
892 (file-name (git-file-name name version))
893 (sha256
894 (base32 "16jbv7cyj85048f4kcrib8k2yif165sc099h0aklal5dwlf85xcg"))))
895 (build-system go-build-system)
896 (arguments
897 (list
898 #:import-path "github.com/aws/smithy-go/metrics/smithyotelmetrics"
899 #:unpack-path "github.com/aws/smithy-go"))
900 (propagated-inputs
901 (list go-go-opentelemetry-io-otel
902 go-go-opentelemetry-io-otel)) ; for go.opentelemetry.io/otel/metric
903 (home-page "https://github.com/aws/smithy-go")
904 (synopsis "AWS Smithy OTEL metrics adapter")
905 (description
906 "Package smithyotelmetrics implements a Smithy client metrics adapter for
907the OTEL Go SDK.")
908 (license license:asl2.0)))
909
910(define-public go-github-com-aws-smithy-go-tracing-smithyoteltracing
911 (package
912 (name "go-github-com-aws-smithy-go-tracing-smithyoteltracing")
913 (version "1.0.2")
914 (source
915 (origin
916 (method git-fetch)
917 (uri (git-reference
918 (url "https://github.com/aws/smithy-go")
919 (commit (go-version->git-ref version
920 #:subdir "tracing/smithyoteltracing"))))
921 (file-name (git-file-name name version))
922 (sha256
923 (base32 "16jbv7cyj85048f4kcrib8k2yif165sc099h0aklal5dwlf85xcg"))))
924 (build-system go-build-system)
925 (arguments
926 (list
927 #:import-path "github.com/aws/smithy-go/tracing/smithyoteltracing"
928 #:unpack-path "github.com/aws/smithy-go"))
929 (propagated-inputs
930 (list go-go-opentelemetry-io-otel))
931 (home-page "https://github.com/aws/smithy-go")
932 (synopsis "AWS Smithy OTEL tracing adapter")
933 (description
934 "Package smithyoteltracing implements a Smithy client tracing adapter for
935the OTEL Go SDK.")
936 (license license:asl2.0)))
937
580(define-public go-github-com-aymerick-douceur 938(define-public go-github-com-aymerick-douceur
581 (package 939 (package
582 (name "go-github-com-aymerick-douceur") 940 (name "go-github-com-aymerick-douceur")
@@ -631,6 +989,72 @@ credentials sources.")
631Manager,NTLM}/Negotiate authentication over HTTP.") 989Manager,NTLM}/Negotiate authentication over HTTP.")
632 (license license:expat))) 990 (license license:expat)))
633 991
992(define-public go-github-com-babolivier-go-doh-client
993 (package
994 (name "go-github-com-babolivier-go-doh-client")
995 (version "0.0.0-20201028162107-a76cff4cb8b6")
996 (source
997 (origin
998 (method git-fetch)
999 (uri (git-reference
1000 (url "https://github.com/babolivier/go-doh-client")
1001 (commit (go-version->git-ref version))))
1002 (file-name (git-file-name name version))
1003 (sha256
1004 (base32 "0ca72jz5d5wf5hkcjiwrjvh4fp9p0nqhgwyx9p3vq9sdrx524d21"))))
1005 (build-system go-build-system)
1006 (arguments
1007 (list
1008 #:import-path "github.com/babolivier/go-doh-client"))
1009 (home-page "https://github.com/babolivier/go-doh-client")
1010 (synopsis "DNS over HTTPS client implementation written in Golang")
1011 (description
1012 "Package doh implements client operations for @code{DoH} (DNS over HTTPS)
1013lookups. It implements looking up the following records:
1014@itemize
1015@item A
1016@item AAAA
1017@item CNAME
1018@item MX
1019@item NS
1020@item TXT
1021@item SRV
1022@item SOA
1023@item PTR
1024@end itemize")
1025 (license license:gpl3)))
1026
1027(define-public go-github-com-beevik-ntp
1028 (package
1029 (name "go-github-com-beevik-ntp")
1030 (version "1.4.3")
1031 (source
1032 (origin
1033 (method git-fetch)
1034 (uri (git-reference
1035 (url "https://github.com/beevik/ntp")
1036 (commit (string-append "v" version))))
1037 (file-name (git-file-name name version))
1038 (sha256
1039 (base32 "0n2mr4nnbsv5f0w3hkk3kmyn3wd2xqi5zxgcm8s50fdizk0nqmi9"))))
1040 (build-system go-build-system)
1041 (arguments
1042 (list
1043 #:import-path "github.com/beevik/ntp"
1044 ;; Tests requir access to <0.beevik-ntp.pool.ntp.org:53>.
1045 #:test-flags #~(list "-skip" "TestOnlineQuery|TestOnlineTime")))
1046 (native-inputs
1047 (list go-github-com-stretchr-testify))
1048 (propagated-inputs
1049 (list go-golang-org-x-net))
1050 (home-page "https://github.com/beevik/ntp")
1051 (synopsis "NTP client package for Golang")
1052 (description
1053 "Package ntp provides an implementation of a Simple NTP (SNTP) client
1054capable of querying the current time from a remote NTP server as specified in
1055@url{https://rfc-editor.org/rfc/rfc5905.html, RFC 5905}.")
1056 (license license:bsd-2)))
1057
634(define-public go-github-com-bep-golibsass 1058(define-public go-github-com-bep-golibsass
635 (package 1059 (package
636 (name "go-github-com-bep-golibsass") 1060 (name "go-github-com-bep-golibsass")
@@ -688,6 +1112,34 @@ Manager,NTLM}/Negotiate authentication over HTTP.")
688 "This package provides SCSS compiler support for Go applications.") 1112 "This package provides SCSS compiler support for Go applications.")
689 (license license:expat))) 1113 (license license:expat)))
690 1114
1115(define-public go-github-com-bradenhilton-mozillainstallhash
1116 (package
1117 (name "go-github-com-bradenhilton-mozillainstallhash")
1118 (version "1.0.1")
1119 (source
1120 (origin
1121 (method git-fetch)
1122 (uri (git-reference
1123 (url "https://github.com/bradenhilton/mozillainstallhash")
1124 (commit (string-append "v" version))))
1125 (file-name (git-file-name name version))
1126 (sha256
1127 (base32 "0j54ssnvk2vy77g23zrhi9acwblnamj63i7wmmdnb89fjg0xc9km"))))
1128 (build-system go-build-system)
1129 (arguments
1130 (list
1131 #:import-path "github.com/bradenhilton/mozillainstallhash"))
1132 (propagated-inputs
1133 (list go-github-com-bradenhilton-cityhash
1134 go-golang-org-x-text))
1135 (home-page "https://github.com/bradenhilton/mozillainstallhash")
1136 (synopsis "Generates the hash used in installs of Mozilla software")
1137 (description
1138 "This package provides a functionality to get the hash used to
1139differentiate between installs of Mozilla software in @code{installs.ini} and
1140@code{profiles.ini}.")
1141 (license license:expat)))
1142
691(define-public go-github-com-caddyserver-certmagic 1143(define-public go-github-com-caddyserver-certmagic
692 (package 1144 (package
693 (name "go-github-com-caddyserver-certmagic") 1145 (name "go-github-com-caddyserver-certmagic")
@@ -968,6 +1420,32 @@ API. See the full Circonus API Documentation at
968@url{https://login.circonus.com/resources/api} for more information.") 1420@url{https://login.circonus.com/resources/api} for more information.")
969 (license license:bsd-3))) 1421 (license license:bsd-3)))
970 1422
1423(define-public go-github-com-cli-browser
1424 (package
1425 (name "go-github-com-cli-browser")
1426 (version "1.3.0")
1427 (source
1428 (origin
1429 (method git-fetch)
1430 (uri (git-reference
1431 (url "https://github.com/cli/browser")
1432 (commit (string-append "v" version))))
1433 (file-name (git-file-name name version))
1434 (sha256
1435 (base32 "1f54ap2a4df32bwrwqsasfsikkxngkk4wr2wfbsns4lf0yymra6k"))))
1436 (build-system go-build-system)
1437 (arguments
1438 (list
1439 #:import-path "github.com/cli/browser"))
1440 (propagated-inputs
1441 (list go-golang-org-x-sys))
1442 (home-page "https://github.com/cli/browser")
1443 (synopsis "Helpers to open URLs, files, or readers in a web browser")
1444 (description
1445 "Package browser provides helpers to open files, readers, and URLs in a
1446browser window.")
1447 (license license:bsd-2)))
1448
971(define-public go-github-com-coder-websocket 1449(define-public go-github-com-coder-websocket
972 (package 1450 (package
973 (name "go-github-com-coder-websocket") 1451 (name "go-github-com-coder-websocket")
@@ -980,10 +1458,19 @@ API. See the full Circonus API Documentation at
980 (commit (string-append "v" version)))) 1458 (commit (string-append "v" version))))
981 (file-name (git-file-name name version)) 1459 (file-name (git-file-name name version))
982 (sha256 1460 (sha256
983 (base32 "172v9mqghswf50ga512qghb6ii0ivz5fi2iyjzdnbm42g0cr4fjj")))) 1461 (base32 "172v9mqghswf50ga512qghb6ii0ivz5fi2iyjzdnbm42g0cr4fjj"))
1462 (modules '((guix build utils)))
1463 (snippet
1464 #~(begin
1465 ;; Submodules with their own go.mod files and packaged separately:
1466 ;;
1467 ;; - github.com/coder/websocket/internal/thirdparty
1468 (delete-file-recursively "internal/thirdparty")))))
984 (build-system go-build-system) 1469 (build-system go-build-system)
985 (arguments 1470 (arguments
986 (list #:import-path "github.com/coder/websocket")) 1471 (list #:import-path "github.com/coder/websocket"))
1472 (native-inputs
1473 (list go-golang-org-x-time)) ; for examples
987 (home-page "https://github.com/coder/websocket") 1474 (home-page "https://github.com/coder/websocket")
988 (synopsis "WebSocket library for Go") 1475 (synopsis "WebSocket library for Go")
989 (description 1476 (description
@@ -1071,7 +1558,7 @@ Any}.")
1071(define-public go-github-com-coreos-go-oidc 1558(define-public go-github-com-coreos-go-oidc
1072 (package 1559 (package
1073 (name "go-github-com-coreos-go-oidc") 1560 (name "go-github-com-coreos-go-oidc")
1074 (version "2.2.1") 1561 (version "2.3.0")
1075 (source 1562 (source
1076 (origin 1563 (origin
1077 (method git-fetch) 1564 (method git-fetch)
@@ -1080,14 +1567,16 @@ Any}.")
1080 (commit (string-append "v" version)))) 1567 (commit (string-append "v" version))))
1081 (file-name (git-file-name name version)) 1568 (file-name (git-file-name name version))
1082 (sha256 1569 (sha256
1083 (base32 "11m6slbpi33ynffml7812piq4anhjlf1qszjlsf26f5y7x3qh8n5")))) 1570 (base32 "180wnxiim622v17xcnrjrg9g07mg4xizmlxxyrl9p42is0abi9c8"))))
1084 (build-system go-build-system) 1571 (build-system go-build-system)
1085 (arguments 1572 (arguments
1086 (list #:import-path "github.com/coreos/go-oidc")) 1573 (list #:import-path "github.com/coreos/go-oidc"))
1574 (native-inputs
1575 (list go-golang-org-x-net))
1087 (propagated-inputs 1576 (propagated-inputs
1088 (list go-github-com-pquerna-cachecontrol 1577 (list go-github-com-pquerna-cachecontrol
1089 go-golang-org-x-oauth2 1578 go-golang-org-x-oauth2
1090 go-gopkg-in-square-go-jose-v2)) 1579 go-gopkg-in-go-jose-go-jose-v2))
1091 (home-page "https://github.com/coreos/go-oidc") 1580 (home-page "https://github.com/coreos/go-oidc")
1092 (synopsis "OpenID Connect support for Go") 1581 (synopsis "OpenID Connect support for Go")
1093 (description 1582 (description
@@ -1150,6 +1639,7 @@ Any}.")
1150 (arguments 1639 (arguments
1151 (list 1640 (list
1152 #:import-path "github.com/cretz/bine" 1641 #:import-path "github.com/cretz/bine"
1642 #:test-subdirs #~(list "tests/..." "torutil/...")
1153 #:phases 1643 #:phases
1154 #~(modify-phases %standard-phases 1644 #~(modify-phases %standard-phases
1155 (add-after 'unpack 'remove-examples 1645 (add-after 'unpack 'remove-examples
@@ -1234,6 +1724,167 @@ client in Golang.")
1234 (modify-inputs (package-native-inputs go-github-com-datadog-datadog-go) 1724 (modify-inputs (package-native-inputs go-github-com-datadog-datadog-go)
1235 (append go-github-com-golang-mock))))) 1725 (append go-github-com-golang-mock)))))
1236 1726
1727(define-public go-github-com-davecgh-go-xdr
1728 (package
1729 (name "go-github-com-davecgh-go-xdr")
1730 (version "0.0.0-20161123171359-e6a2ba005892")
1731 (source
1732 (origin
1733 (method git-fetch)
1734 (uri (git-reference
1735 (url "https://github.com/davecgh/go-xdr")
1736 (commit (go-version->git-ref version))))
1737 (file-name (git-file-name name version))
1738 (sha256
1739 (base32
1740 "0vifrz4iil4r7k8sz5iqlfbh80ysgs5abp2simgyhsbrkxrrsrrd"))))
1741 (build-system go-build-system)
1742 (arguments
1743 (list
1744 #:import-path "github.com/davecgh/go-xdr/xdr2"
1745 #:unpack-path "github.com/davecgh/go-xdr"))
1746 (home-page "https://github.com/davecgh/go-xdr")
1747 (synopsis "Pure Go implementation of the XDR standard")
1748 (description
1749 "@code{go-xdr} implements the data representation portion of the External
1750Data Representation (XDR) standard protocol as specified in RFC
17514506 (obsoletes RFC 1832 and RFC 1014) in pure Go.")
1752 (license license:isc)))
1753
1754(define-public go-github-com-docker-go-connections
1755 (package
1756 (name "go-github-com-docker-go-connections")
1757 (version "0.5.0")
1758 (source
1759 (origin
1760 (method git-fetch)
1761 (uri (git-reference
1762 (url "https://github.com/docker/go-connections")
1763 (commit (string-append "v" version))))
1764 (file-name (git-file-name name version))
1765 (sha256
1766 (base32 "0svfa9g4xvbn87l5kiww1jkijmci9g5821wjp81xz1rfp13cqrk8"))))
1767 (build-system go-build-system)
1768 (arguments
1769 (list
1770 #:import-path "github.com/docker/go-connections"
1771 #:test-flags
1772 #~(list "-skip"
1773 (string-join
1774 ;; Unable to verify certificate 1: x509: certificate signed by
1775 ;; unknown authority.
1776 (list "TestConfigClientExclusiveRootPools"
1777 "TestConfigServerExclusiveRootPools")
1778 "|"))))
1779 (home-page "https://github.com/docker/go-connections")
1780 (synopsis "Networking library for Go")
1781 (description
1782 "This package provides a library to work with network connections in the
1783Go language. In particular it provides tools to deal with network address
1784translation (NAT), proxies, sockets, and transport layer security (TLS).")
1785 (license license:asl2.0)))
1786
1787(define-public go-github-com-dpotapov-go-spnego
1788 (package
1789 (name "go-github-com-dpotapov-go-spnego")
1790 (version "0.0.0-20220426193508-b7f82e4507db")
1791 (source
1792 (origin
1793 (method git-fetch)
1794 (uri (git-reference
1795 (url "https://github.com/dpotapov/go-spnego")
1796 (commit (go-version->git-ref version))))
1797 (file-name (git-file-name name version))
1798 (sha256
1799 (base32 "1rpcgzkqhdwfsi8a9f9qar16i663pdx3gvwd6c0vfppy7qjmpjfr"))))
1800 (build-system go-build-system)
1801 (arguments
1802 (list
1803 #:import-path "github.com/dpotapov/go-spnego"))
1804 (native-inputs
1805 (list go-github-com-stretchr-testify))
1806 (propagated-inputs
1807 (list go-github-com-jcmturner-gokrb5-v8
1808 go-golang-org-x-net))
1809 (home-page "https://github.com/dpotapov/go-spnego")
1810 (synopsis "HTTP calls with Kerberos authentication")
1811 (description
1812 "The package extends Go's HTTP Transport allowing Kerberos
1813authentication through Negotiate mechanism (see
1814@url{https://tools.ietf.org/html/rfc4559, RFC4559}).")
1815 (license license:expat)))
1816
1817(define-public go-github-com-elazarl-goproxy
1818 (package
1819 (name "go-github-com-elazarl-goproxy")
1820 (version "0.0.0-20241221210044-9faedc2f9e9f")
1821 (source
1822 (origin
1823 (method git-fetch)
1824 (uri (git-reference
1825 (url "https://github.com/elazarl/goproxy")
1826 (commit (go-version->git-ref version))))
1827 (file-name (git-file-name name version))
1828 (sha256
1829 (base32 "0j3v0y18igr3wy9vbwyg19fzy12jc41kmpfcz2jh1dnk6kxn2n67"))))
1830 (build-system go-build-system)
1831 (arguments
1832 (list
1833 #:import-path "github.com/elazarl/goproxy"
1834 #:test-flags
1835 #~(list "-skip" (string-join
1836 ;; Networking or curl are required.
1837 (list "TestCurlMinusP"
1838 "TestSimpleHttpRequest"
1839 "TestBasicConnectAuthWithCurl"
1840 "TestBasicAuthWithCurl"
1841 "TestConstantImageHandler"
1842 "TestImageHandler"
1843 "TestReplaceImage")
1844 "|"))
1845 #:phases
1846 #~(modify-phases %standard-phases
1847 (add-after 'unpack 'remove-examples
1848 (lambda* (#:key import-path #:allow-other-keys)
1849 (with-directory-excursion (string-append "src/" import-path)
1850 (delete-file-recursively "examples")))))))
1851 (propagated-inputs
1852 (list go-golang-org-x-net))
1853 (home-page "https://github.com/elazarl/goproxy")
1854 (synopsis "HTTP proxy library for Go")
1855 (description
1856 "GoProxy is a library to create a customized HTTP/HTTPS proxy server
1857using Go (aka Golang), with several configurable settings available. The
1858target of this project is to offer an optimized proxy server, usable with
1859reasonable amount of traffic, yet customizable and programmable.")
1860 (license license:bsd-3)))
1861
1862(define-public go-github-com-ema-qdisc
1863 (package
1864 (name "go-github-com-ema-qdisc")
1865 (version "1.0.0")
1866 (source
1867 (origin
1868 (method git-fetch)
1869 (uri (git-reference
1870 (url "https://github.com/ema/qdisc")
1871 (commit (string-append "v" version))))
1872 (file-name (git-file-name name version))
1873 (sha256
1874 (base32 "1v2k2z1xjxfa0qrrnafvb51dxwxm0s3nbsi6n64cm2rylxjskfmy"))))
1875 (build-system go-build-system)
1876 (arguments
1877 (list
1878 #:import-path "github.com/ema/qdisc"))
1879 (propagated-inputs
1880 (list go-github-com-mdlayher-netlink))
1881 (home-page "https://github.com/ema/qdisc")
1882 (synopsis "Queuing discipline information via netlink")
1883 (description
1884 "Package @code{qdisc} allows getting queuing discipline information via
1885netlink,similarly to what @code{tc -s qdisc show} does.")
1886 (license license:expat)))
1887
1237(define-public go-github-com-emersion-go-imap 1888(define-public go-github-com-emersion-go-imap
1238 (package 1889 (package
1239 (name "go-github-com-emersion-go-imap") 1890 (name "go-github-com-emersion-go-imap")
@@ -1504,9 +2155,9 @@ for Go.")
1504RFC 5321.") 2155RFC 5321.")
1505 (license license:expat))) 2156 (license license:expat)))
1506 2157
1507(define-public go-github-com-emicklei-go-restful 2158(define-public go-github-com-emicklei-go-restful-v3
1508 (package 2159 (package
1509 (name "go-github-com-emicklei-go-restful") 2160 (name "go-github-com-emicklei-go-restful-v3")
1510 (version "3.4.0") 2161 (version "3.4.0")
1511 (source 2162 (source
1512 (origin 2163 (origin
@@ -1519,12 +2170,20 @@ RFC 5321.")
1519 (base32 "0m1y5a6xr6hmdj77afrvyh2llkbhn1166lcrgis654shl8zs9qhz")))) 2170 (base32 "0m1y5a6xr6hmdj77afrvyh2llkbhn1166lcrgis654shl8zs9qhz"))))
1520 (build-system go-build-system) 2171 (build-system go-build-system)
1521 (arguments 2172 (arguments
1522 '(#:import-path "github.com/emicklei/go-restful")) 2173 (list
2174 #:import-path "github.com/emicklei/go-restful"
2175 #:phases
2176 #~(modify-phases %standard-phases
2177 (add-after 'unpack 'remove-examples
2178 (lambda* (#:key import-path #:allow-other-keys)
2179 (with-directory-excursion (string-append "src/" import-path)
2180 (delete-file-recursively "examples")))))))
1523 (home-page "https://github.com/emicklei/go-restful") 2181 (home-page "https://github.com/emicklei/go-restful")
1524 (synopsis "Build REST-style web services using Go") 2182 (synopsis "Build REST-style web services using Go")
1525 (description "This package provides @code{go-restful}, which helps 2183 (description
1526developers to use @code{http} methods explicitly and in a way that's 2184 "This package provides @code{go-restful}, which helps developers to use
1527consistent with the HTTP protocol definition.") 2185@code{http} methods explicitly and in a way that's consistent with the HTTP
2186protocol definition.")
1528 (license license:expat))) 2187 (license license:expat)))
1529 2188
1530(define-public go-github-com-evanphx-json-patch 2189(define-public go-github-com-evanphx-json-patch
@@ -1579,7 +2238,7 @@ metrics (i.e. response time, bytes written, and http status code) from your
1579application's http.Handlers.") 2238application's http.Handlers.")
1580 (license license:expat))) 2239 (license license:expat)))
1581 2240
1582;; This project looks like domain or abandoned, see 2241;; This project looks like dormant or abandoned, see
1583;; <https://github.com/francoispqt/gojay/issues/150>. 2242;; <https://github.com/francoispqt/gojay/issues/150>.
1584(define-public go-github-com-francoispqt-gojay 2243(define-public go-github-com-francoispqt-gojay
1585 (package 2244 (package
@@ -1601,9 +2260,25 @@ application's http.Handlers.")
1601 ;; <https://github.com/francoispqt/gojay/issues/173>. 2260 ;; <https://github.com/francoispqt/gojay/issues/173>.
1602 #:tests? (and (not (%current-target-system)) 2261 #:tests? (and (not (%current-target-system))
1603 (target-x86-64?)) 2262 (target-x86-64?))
1604 #:import-path "github.com/francoispqt/gojay")) 2263 #:import-path "github.com/francoispqt/gojay"
2264 #:test-flags
2265 #~(list "-skip" (string-join
2266 (list "TestMessage_Unmarshal"
2267 "TestMessage_Marshal"
2268 "TestGenerator_Generate")
2269 "|"))
2270 #:phases
2271 #~(modify-phases %standard-phases
2272 (add-after 'unpack 'remove-examples-and-benchmarks
2273 (lambda* (#:key tests? import-path #:allow-other-keys)
2274 (with-directory-excursion (string-append "src/" import-path)
2275 (for-each delete-file-recursively
2276 (list "benchmarks" "examples"))))))))
1605 (native-inputs 2277 (native-inputs
1606 (list go-github-com-stretchr-testify)) 2278 (list go-github-com-go-errors-errors ; for CLI build
2279 go-github-com-stretchr-testify
2280 go-github-com-viant-assertly ; for CLI build
2281 go-github-com-viant-toolbox)) ; for CLI build
1607 (home-page "https://github.com/francoispqt/gojay") 2282 (home-page "https://github.com/francoispqt/gojay")
1608 (synopsis "JSON encoder/decoder with powerful stream API for Golang") 2283 (synopsis "JSON encoder/decoder with powerful stream API for Golang")
1609 (description 2284 (description
@@ -1612,6 +2287,30 @@ API and doesn't use reflection. It relies on small interfaces to
1612decode/encode structures and slices.") 2287decode/encode structures and slices.")
1613 (license license:expat))) 2288 (license license:expat)))
1614 2289
2290(define-public go-github-com-gaissmai-bart
2291 (package
2292 (name "go-github-com-gaissmai-bart")
2293 (version "0.11.1")
2294 (source
2295 (origin
2296 (method git-fetch)
2297 (uri (git-reference
2298 (url "https://github.com/gaissmai/bart")
2299 (commit (string-append "v" version))))
2300 (file-name (git-file-name name version))
2301 (sha256
2302 (base32 "1rnbmykmkl0c1fzz4vkv7q72l7hl2xpmalbm41f4lifdjscx5nk7"))))
2303 (build-system go-build-system)
2304 (arguments
2305 (list
2306 #:import-path "github.com/gaissmai/bart"))
2307 (propagated-inputs
2308 (list go-github-com-bits-and-blooms-bitset))
2309 (home-page "https://github.com/gaissmai/bart")
2310 (synopsis "Balanced Routing Table in Golang")
2311 (description "This package provides a Balanced-Routing-Table (BART).")
2312 (license license:expat)))
2313
1615(define-public go-github-com-gatherstars-com-jwz 2314(define-public go-github-com-gatherstars-com-jwz
1616 (package 2315 (package
1617 (name "go-github-com-gatherstars-com-jwz") 2316 (name "go-github-com-gatherstars-com-jwz")
@@ -1641,6 +2340,51 @@ algorithm originally designed for use in
1641Golang.") 2340Golang.")
1642 (license license:asl2.0))) 2341 (license license:asl2.0)))
1643 2342
2343(define-public go-github-com-getkin-kin-openapi
2344 (package
2345 (name "go-github-com-getkin-kin-openapi")
2346 (version "0.128.0")
2347 (source
2348 (origin
2349 (method git-fetch)
2350 (uri (git-reference
2351 (url "https://github.com/getkin/kin-openapi")
2352 (commit (string-append "v" version))))
2353 (file-name (git-file-name name version))
2354 (sha256
2355 (base32 "162hxwqywpbmfybyj1m0s4a0nxx0qldx90k49d2mf52xps1jp5p2"))))
2356 (build-system go-build-system)
2357 (arguments
2358 (list
2359 #:import-path "github.com/getkin/kin-openapi"
2360 #:test-flags
2361 ;; They try to access network.
2362 #~(list "-skip" "TestIssue495WithDraft04|TestExtraSiblingsInRemoteRef")
2363 #:phases
2364 #~(modify-phases %standard-phases
2365 (delete 'build)))) ; no go files in project's root
2366 (native-inputs
2367 (list go-github-com-stretchr-testify))
2368 (propagated-inputs
2369 (list go-github-com-go-openapi-jsonpointer
2370 go-github-com-gorilla-mux
2371 go-github-com-invopop-yaml
2372 go-github-com-mohae-deepcopy
2373 go-github-com-perimeterx-marshmallow
2374 go-gopkg-in-yaml-v3))
2375 (home-page "https://github.com/getkin/kin-openapi")
2376 (synopsis "OpenAPI 3.0 and Swagger v2 implementation for Golang")
2377 (description
2378 "This package implements a functionality for parsing, converting and
2379validating
2380@url{https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md,
2381OpenAPI v2.0},
2382@url{https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md,
2383OpenAPI v3.0} and
2384@url{https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md,
2385OpenAPI v3.1}.")
2386 (license license:expat)))
2387
1644;; TODO: This repository has been archived by the owner on Aug 30, 2023. It is 2388;; TODO: This repository has been archived by the owner on Aug 30, 2023. It is
1645;; now read-only. The raven-go SDK is no longer maintained and was superseded 2389;; now read-only. The raven-go SDK is no longer maintained and was superseded
1646;; by the sentry-go 2390;; by the sentry-go
@@ -1670,6 +2414,83 @@ Golang.")
1670logging system.") 2414logging system.")
1671 (license license:bsd-3)))) 2415 (license license:bsd-3))))
1672 2416
2417(define-public go-github-com-gin-contrib-sse
2418 (package
2419 (name "go-github-com-gin-contrib-sse")
2420 (version "0.1.0")
2421 (source
2422 (origin
2423 (method git-fetch)
2424 (uri (git-reference
2425 (url "https://github.com/gin-contrib/sse")
2426 (commit (string-append "v" version))))
2427 (file-name (git-file-name name version))
2428 (sha256
2429 (base32 "072nq91a65n5xvwslqjyvydfd0mfpnvb3vwjyfvmzm1ym96wr1nd"))))
2430 (build-system go-build-system)
2431 (arguments
2432 (list
2433 #:import-path "github.com/gin-contrib/sse"))
2434 (native-inputs (list go-github-com-stretchr-testify))
2435 (home-page "https://github.com/gin-contrib/sse")
2436 (synopsis "Server-Sent Events implementation in Golang")
2437 (description
2438 "@acronym{Server-sent events, SSE} is a technology where a browser
2439receives automatic updates from a server via HTTP connection. The SSE
2440@code{EventSource} API is
2441@url{http://www.w3.org/TR/2009/WD-eventsource-20091029/,standardized as part
2442of HTML5[1] by the W3C}.")
2443 (license license:expat)))
2444
2445(define-public go-github-com-gin-gonic-gin
2446 (package
2447 (name "go-github-com-gin-gonic-gin")
2448 (version "1.10.0")
2449 (source
2450 (origin
2451 (method git-fetch)
2452 (uri (git-reference
2453 (url "https://github.com/gin-gonic/gin")
2454 (commit (string-append "v" version))))
2455 (file-name (git-file-name name version))
2456 (sha256
2457 (base32 "01xjvw2d46b77jnszgbwqbdzh9jx7y3h5ik3q30y9dn9gaq5mhks"))))
2458 (build-system go-build-system)
2459 (arguments
2460 (list
2461 #:import-path "github.com/gin-gonic/gin"))
2462 (native-inputs
2463 (list go-github-com-stretchr-testify))
2464 (propagated-inputs
2465 (list go-github-com-bytedance-sonic
2466 go-github-com-gin-contrib-sse
2467 go-github-com-go-playground-validator-v10
2468 go-github-com-goccy-go-json
2469 go-github-com-json-iterator-go
2470 go-github-com-mattn-go-isatty
2471 go-github-com-pelletier-go-toml-v2
2472 go-github-com-ugorji-go-codec
2473 go-golang-org-x-net
2474 go-google-golang-org-protobuf
2475 go-gopkg-in-yaml-v3))
2476 (home-page "https://github.com/gin-gonic/gin")
2477 (synopsis "HTTP web framework")
2478 (description
2479 "This package provides a Golang web framework wit martini-like API.
2480
2481Features:
2482@itemize
2483@item zero allocation router
2484@item middleware support
2485@item crash-free
2486@item JSON validation
2487@item routes grouping
2488@item error management
2489@item rendering built-in
2490@item extendable
2491@end itemize")
2492 (license license:expat)))
2493
1673(define-public go-github-com-go-chi-chi-v5 2494(define-public go-github-com-go-chi-chi-v5
1674 (package 2495 (package
1675 (name "go-github-com-go-chi-chi-v5") 2496 (name "go-github-com-go-chi-chi-v5")
@@ -1693,6 +2514,31 @@ logging system.")
1693decompose request handling into many smaller layers.") 2514decompose request handling into many smaller layers.")
1694 (license license:expat))) 2515 (license license:expat)))
1695 2516
2517(define-public go-github-com-go-http-utils-headers
2518 (package
2519 (name "go-github-com-go-http-utils-headers")
2520 (version "0.0.0-20181008091004-fed159eddc2a")
2521 (source
2522 (origin
2523 (method git-fetch)
2524 (uri (git-reference
2525 (url "https://github.com/go-http-utils/headers")
2526 (commit (go-version->git-ref version))))
2527 (file-name (git-file-name name version))
2528 (sha256
2529 (base32 "19h2sffi04hr56qxkag2baa17v91x4vp1a1zkm9rqr846xqwspvm"))))
2530 (build-system go-build-system)
2531 (arguments
2532 (list
2533 #:import-path "github.com/go-http-utils/headers"))
2534 (native-inputs
2535 (list go-github-com-stretchr-testify))
2536 (home-page "https://github.com/go-http-utils/headers")
2537 (synopsis "HTTP header constants for Golang")
2538 (description
2539 "This package provides HTTP header constants.")
2540 (license license:expat)))
2541
1696(define-public go-github-com-go-jose-go-jose-v3 2542(define-public go-github-com-go-jose-go-jose-v3
1697 (package 2543 (package
1698 (name "go-github-com-go-jose-go-jose-v3") 2544 (name "go-github-com-go-jose-go-jose-v3")
@@ -1705,15 +2551,23 @@ decompose request handling into many smaller layers.")
1705 (commit (string-append "v" version)))) 2551 (commit (string-append "v" version))))
1706 (file-name (git-file-name name version)) 2552 (file-name (git-file-name name version))
1707 (sha256 2553 (sha256
1708 (base32 "0kbkplhzqv9ai28r4smhdsxxwh20d96srr3am37pwwnh48ivwch8")))) 2554 (base32 "0kbkplhzqv9ai28r4smhdsxxwh20d96srr3am37pwwnh48ivwch8"))
2555 (modules '((guix build utils)))
2556 (snippet
2557 #~(begin
2558 ;; Submodules with their own go.mod files and packaged separatly:
2559 ;;
2560 ;; - github.com/go-jose/go-jose/jose-util
2561 (delete-file-recursively "jose-util")))))
1709 (build-system go-build-system) 2562 (build-system go-build-system)
1710 (arguments 2563 (arguments
1711 '( #:import-path "github.com/go-jose/go-jose/v3")) 2564 (list
1712 (propagated-inputs 2565 #:import-path "github.com/go-jose/go-jose/v3"))
1713 (list go-golang-org-x-crypto))
1714 (native-inputs 2566 (native-inputs
1715 (list go-github-com-google-go-cmp 2567 (list go-github-com-google-go-cmp
1716 go-github-com-stretchr-testify)) 2568 go-github-com-stretchr-testify))
2569 (propagated-inputs
2570 (list go-golang-org-x-crypto))
1717 (home-page "https://github.com/go-jose/go-jose") 2571 (home-page "https://github.com/go-jose/go-jose")
1718 (synopsis "Implementation of JOSE standards (JWE, JWS, JWT) in Go") 2572 (synopsis "Implementation of JOSE standards (JWE, JWS, JWT) in Go")
1719 (description 2573 (description
@@ -1740,10 +2594,10 @@ Encryption, JSON Web Signature, and JSON Web Token standards.")
1740 (list 2594 (list
1741 #:import-path "github.com/go-jose/go-jose/v4")))) 2595 #:import-path "github.com/go-jose/go-jose/v4"))))
1742 2596
1743(define-public go-github-com-go-ldap-ldap 2597(define-public go-github-com-go-ldap-ldap-v3
1744 (package 2598 (package
1745 (name "go-github-com-go-ldap-ldap") 2599 (name "go-github-com-go-ldap-ldap-v3")
1746 (version "3.4.8") 2600 (version "3.4.9")
1747 (source 2601 (source
1748 (origin 2602 (origin
1749 (method git-fetch) 2603 (method git-fetch)
@@ -1752,26 +2606,35 @@ Encryption, JSON Web Signature, and JSON Web Token standards.")
1752 (commit (string-append "v" version)))) 2606 (commit (string-append "v" version))))
1753 (file-name (git-file-name name version)) 2607 (file-name (git-file-name name version))
1754 (sha256 2608 (sha256
1755 (base32 "0fbmhlc8ss5vn6zz0iiifvy4pm0mwaf13qpz70k83mmnv9vrv16x")))) 2609 (base32 "0qcm4piyk7l5n3kplcism0y7zp40xcfmjl04hw1s276qqf7vi6hg"))))
1756 (build-system go-build-system) 2610 (build-system go-build-system)
1757 (arguments 2611 (arguments
1758 (list 2612 (list
1759 #:import-path "github.com/go-ldap/ldap/v3" 2613 #:import-path "github.com/go-ldap/ldap/v3"
1760 #:phases 2614 #:test-flags
1761 #~(modify-phases %standard-phases 2615 #~(list "-skip" (string-join
1762 (add-after 'unpack 'remove-failing-tests 2616 (list "TestCompare"
1763 (lambda* (#:key import-path #:allow-other-keys) 2617 "TestExtendedRequest_WhoAmI"
1764 (with-directory-excursion (string-append "src/" import-path) 2618 "TestExtendedRequest_FastBind"
1765 (for-each delete-file 2619 "TestMatchDNError"
1766 ;; FAIL <...> LDAP Result Code 200 "Network Error": 2620 "TestMultiGoroutineSearch"
1767 ;; dial tcp: lookup ldap.itd.umich.edu on <...> 2621 "TestSearch"
1768 (list "ldap_test.go")))))))) 2622 "TestSearchAsync"
2623 "TestSearchAsyncAndCancel"
2624 "TestSearchStartTLS"
2625 "TestSearchWithPaging"
2626 "TestSecureDialURL"
2627 "TestStartTLS"
2628 "TestTLSConnectionState"
2629 "TestUnsecureDialURL")
2630 "|"))))
1769 (native-inputs 2631 (native-inputs
1770 (list go-github-com-stretchr-testify)) 2632 (list go-github-com-stretchr-testify))
1771 (propagated-inputs 2633 (propagated-inputs
1772 (list go-github-com-azure-go-ntlmssp 2634 (list go-github-com-azure-go-ntlmssp
1773 go-github-com-go-asn1-ber-asn1-ber 2635 go-github-com-go-asn1-ber-asn1-ber
1774 go-github-com-google-uuid)) 2636 go-github-com-google-uuid
2637 go-github-com-jcmturner-gokrb5-v8))
1775 (home-page "https://github.com/go-ldap/ldap") 2638 (home-page "https://github.com/go-ldap/ldap")
1776 (synopsis "LDAP v3 functionality for Go") 2639 (synopsis "LDAP v3 functionality for Go")
1777 (description "This package provides basic LDAP v3 functionality in the Go 2640 (description "This package provides basic LDAP v3 functionality in the Go
@@ -2236,6 +3099,58 @@ from CloudFlare's github.com/cloudflare/cfssl/revoke.")
2236 ;; For the WebAuthn's fork: LICENSE. 3099 ;; For the WebAuthn's fork: LICENSE.
2237 license:bsd-3)))) 3100 license:bsd-3))))
2238 3101
3102(define-public go-github-com-gobwas-httphead
3103 (package
3104 (name "go-github-com-gobwas-httphead")
3105 (version "0.1.0")
3106 (source
3107 (origin
3108 (method git-fetch)
3109 (uri (git-reference
3110 (url "https://github.com/gobwas/httphead")
3111 (commit (string-append "v" version))))
3112 (file-name (git-file-name name version))
3113 (sha256
3114 (base32 "106l8ml5yihld3rrf45q5fhlsx64hrpj2dsvnnm62av4ya5nf0gb"))))
3115 (build-system go-build-system)
3116 (arguments
3117 (list
3118 #:import-path "github.com/gobwas/httphead"))
3119 (home-page "https://github.com/gobwas/httphead")
3120 (synopsis "Tiny HTTP header value parsing library in Golang")
3121 (description
3122 "Package httphead contains utils for parsing HTTP and HTTP-grammar
3123compatible text protocols headers.")
3124 (license license:expat)))
3125
3126(define-public go-github-com-gobwas-ws
3127 (package
3128 (name "go-github-com-gobwas-ws")
3129 (version "1.4.0")
3130 (source
3131 (origin
3132 (method git-fetch)
3133 (uri (git-reference
3134 (url "https://github.com/gobwas/ws")
3135 (commit (string-append "v" version))))
3136 (file-name (git-file-name name version))
3137 (sha256
3138 (base32 "1nqgb75cizx11igwjqx6b6mlzl7yxy6x683m9aaalgcx9n1qxan7"))))
3139 (build-system go-build-system)
3140 (arguments
3141 (list
3142 #:import-path "github.com/gobwas/ws"))
3143 (propagated-inputs
3144 (list go-github-com-gobwas-httphead
3145 go-github-com-gobwas-pool))
3146 (home-page "https://github.com/gobwas/ws")
3147 (synopsis "Tiny WebSocket library for Golang")
3148 (description
3149 "Package ws implements a client and server for the @code{WebSocket}
3150protocol as specified in @url{https://rfc-editor.org/rfc/rfc6455.html, RFC
31516455}.")
3152 (license license:expat)))
3153
2239(define-public go-github-com-goccy-go-json 3154(define-public go-github-com-goccy-go-json
2240 (package 3155 (package
2241 (name "go-github-com-goccy-go-json") 3156 (name "go-github-com-goccy-go-json")
@@ -2260,6 +3175,95 @@ from CloudFlare's github.com/cloudflare/cfssl/revoke.")
2260 "Fast JSON encoder/decoder compatible with encoding/json for Go.") 3175 "Fast JSON encoder/decoder compatible with encoding/json for Go.")
2261 (license license:expat))) 3176 (license license:expat)))
2262 3177
3178(define-public go-github-com-gofiber-fiber-v2
3179 (package
3180 (name "go-github-com-gofiber-fiber-v2")
3181 (version "2.52.5")
3182 (source
3183 (origin
3184 (method git-fetch)
3185 (uri (git-reference
3186 (url "https://github.com/gofiber/fiber")
3187 (commit (string-append "v" version))))
3188 (file-name (git-file-name name version))
3189 (sha256
3190 (base32 "12gr7a38dd02p7b9fimrk16ybxfp93krh7wah0jzc0v6syjmzfi0"))))
3191 (build-system go-build-system)
3192 (arguments
3193 (list
3194 #:import-path "github.com/gofiber/fiber/v2"
3195 #:test-flags
3196 #~(list "-skip"
3197 (string-join
3198 (list "Test_Proxy_DoRedirects_TooManyRedirects"
3199 "Test_Proxy_Do_WithRealURL"
3200 "Test_Proxy_DoRedirects_RestoreOriginalURL"
3201 "Test_Proxy_Do_WithRedirect")
3202 "|"))))
3203 (propagated-inputs
3204 (list go-github-com-google-uuid
3205 go-github-com-mattn-go-colorable
3206 go-github-com-mattn-go-isatty
3207 go-github-com-mattn-go-runewidth
3208 go-github-com-tinylib-msgp
3209 go-github-com-valyala-bytebufferpool
3210 go-github-com-valyala-fasthttp
3211 go-golang-org-x-sys))
3212 (home-page "https://github.com/gofiber/fiber")
3213 (synopsis "Express inspired web framework written in Golang")
3214 (description
3215 "Package fiber is an @code{https://github.com/expressjs/express, Express}
3216inspired web framework built on top of Fasthttp, the fastest HTTP engine for
3217Go. Designed to ease things up for fast development with zero memory
3218allocation and performance in mind.")
3219 (license license:expat)))
3220
3221(define-public go-github-com-gogo-protobuf
3222 (package
3223 (name "go-github-com-gogo-protobuf")
3224 (version "1.3.2")
3225 (source
3226 (origin
3227 (method git-fetch)
3228 (uri (git-reference
3229 (url "https://github.com/gogo/protobuf")
3230 (commit (string-append "v" version))))
3231 (file-name (git-file-name name version))
3232 (sha256
3233 (base32 "0dfv1bhx5zhb5bsj5sj757nkacf2swp1ajpcyj9d0b37n602m18a"))))
3234 (build-system go-build-system)
3235 (arguments
3236 (list
3237 #:skip-build? #t
3238 #:import-path "github.com/gogo/protobuf"
3239 ;; protoc: exec: "protoc-min-version": executable file not found in $PATH
3240 ;; err = exec: "protoc": executable file not found in $PATH:
3241 #:test-flags
3242 #~(list "-skip"
3243 (string-join
3244 (list "TestDashFilename"
3245 "TestEmbedMarshaler"
3246 "TestGolden"
3247 "TestParameters"
3248 "TestPopulateWarning"
3249 "TestRepeatedEmbed"
3250 "TestStdTypesGoString"
3251 "TestTakesTooLongToDebug")
3252 "|"))))
3253 (home-page "https://github.com/gogo/protobuf")
3254 (synopsis "Protocol Buffers for Go with Gadgets")
3255 (description "Gogoprotobuf is a fork of golang/protobuf with extra code
3256generation features. This code generation is used to achieve:
3257@itemize
3258@item fast marshalling and unmarshalling
3259@item more canonical Go structures
3260@item goprotobuf compatibility
3261@item less typing by optionally generating extra helper code
3262@item peace of mind by optionally generating test and benchmark code
3263@item other serialization formats
3264@end itemize")
3265 (license license:bsd-3)))
3266
2263(define-public go-github-com-golang-groupcache 3267(define-public go-github-com-golang-groupcache
2264 (package 3268 (package
2265 (name "go-github-com-golang-groupcache") 3269 (name "go-github-com-golang-groupcache")
@@ -2287,10 +3291,10 @@ replacement for memcached in many cases. It provides a data loading mechanism
2287with caching and de-duplication that works across a set of peer processes.") 3291with caching and de-duplication that works across a set of peer processes.")
2288 (license license:asl2.0))) 3292 (license license:asl2.0)))
2289 3293
2290(define-public go-github-com-google-go-github 3294(define-public go-github-com-google-go-github-v31
2291 (package 3295 (package
2292 (name "go-github-com-google-go-github") 3296 (name "go-github-com-google-go-github-v31")
2293 (version "26.1.3") 3297 (version "31.0.0")
2294 (source 3298 (source
2295 (origin 3299 (origin
2296 (method git-fetch) 3300 (method git-fetch)
@@ -2299,12 +3303,30 @@ with caching and de-duplication that works across a set of peer processes.")
2299 (commit (string-append "v" version)))) 3303 (commit (string-append "v" version))))
2300 (file-name (git-file-name name version)) 3304 (file-name (git-file-name name version))
2301 (sha256 3305 (sha256
2302 (base32 "0x0zz1vcmllp6r6l2qin9b2llm5cxbf6n84rf99h8wrmhvzs2ipi")))) 3306 (base32 "0bcybmr341hnp8k630pi4dcgia7561yzqc874l4c3nl4bc9rkh5j"))
3307 (modules '((guix build utils)))
3308 (snippet
3309 #~(begin
3310 ;; Submodules with their own go.mod files and packaged separately:
3311 ;;
3312 ;; - github.com/google/go-github/scrape
3313 ;; - github.com/google/go-github/update-urls
3314 (delete-file-recursively "scrape")
3315 (delete-file-recursively "update-urls")))))
2303 (build-system go-build-system) 3316 (build-system go-build-system)
2304 (arguments 3317 (arguments
2305 `(#:tests? #f ;application/octet-stream instead of text/plain 3318 (list
2306 #:import-path "github.com/google/go-github/v26/github" 3319 #:skip-build? #t
2307 #:unpack-path "github.com/google/go-github/v26")) 3320 #:import-path "github.com/google/go-github/v31"
3321 ;; repos_releases_test.go:449: Header.Get("Content-Type") returned
3322 ;; "application/octet-stream", want "text/plain; charset=utf-8"
3323 #:test-flags #~(list "-skip" "TestRepositoriesService_UploadReleaseAsset")
3324 #:phases
3325 #~(modify-phases %standard-phases
3326 (add-after 'unpack 'remove-examples
3327 (lambda* (#:key tests? import-path #:allow-other-keys)
3328 (with-directory-excursion (string-append "src/" import-path)
3329 (delete-file-recursively "example")))))))
2308 (propagated-inputs 3330 (propagated-inputs
2309 (list go-github-com-google-go-querystring 3331 (list go-github-com-google-go-querystring
2310 go-golang-org-x-crypto 3332 go-golang-org-x-crypto
@@ -2319,7 +3341,7 @@ GitHub API v3.")
2319;; For chezmoi-1.8.10 3341;; For chezmoi-1.8.10
2320(define-public go-github-com-google-go-github-v33 3342(define-public go-github-com-google-go-github-v33
2321 (package 3343 (package
2322 (inherit go-github-com-google-go-github) 3344 (inherit go-github-com-google-go-github-v31)
2323 (name "go-github-com-google-go-github-v33") 3345 (name "go-github-com-google-go-github-v33")
2324 (version "33.0.0") 3346 (version "33.0.0")
2325 (source 3347 (source
@@ -2330,14 +3352,52 @@ GitHub API v3.")
2330 (commit (string-append "v" version)))) 3352 (commit (string-append "v" version))))
2331 (file-name (git-file-name name version)) 3353 (file-name (git-file-name name version))
2332 (sha256 3354 (sha256
2333 (base32 "1nzwgvaa9k1ky3sfynib6nhalam9dx66h5lxff334m9kk3rf5nn0")))) 3355 (base32 "1nzwgvaa9k1ky3sfynib6nhalam9dx66h5lxff334m9kk3rf5nn0"))
3356 (modules '((guix build utils)))
3357 (snippet
3358 #~(begin
3359 ;; Submodules with their own go.mod files and packaged separately:
3360 ;;
3361 ;; - github.com/google/go-github/scrape
3362 (delete-file-recursively "scrape")
3363 (delete-file-recursively "update-urls")))))
3364 (arguments
3365 (substitute-keyword-arguments
3366 (package-arguments go-github-com-google-go-github-v31)
3367 ((#:import-path _) "github.com/google/go-github/v33")))))
3368
3369(define-public go-github-com-google-go-github-v50
3370 (package
3371 (inherit go-github-com-google-go-github-v31)
3372 (name "go-github-com-google-go-github-v50")
3373 (version "50.2.0")
3374 (source
3375 (origin
3376 (method git-fetch)
3377 (uri (git-reference
3378 (url "https://github.com/google/go-github")
3379 (commit (string-append "v" version))))
3380 (file-name (git-file-name name version))
3381 (sha256
3382 (base32 "11qzikm988zfzs6g70lbdjfhw7kdndagahg0q2bkn2ibq2c47xxp"))
3383 (modules '((guix build utils)))
3384 (snippet
3385 #~(begin
3386 ;; Submodules with their own go.mod files and packaged separately:
3387 ;;
3388 ;; - github.com/google/go-github/scrape
3389 (delete-file-recursively "scrape")
3390 (delete-file-recursively "update-urls")))))
2334 (arguments 3391 (arguments
2335 (substitute-keyword-arguments 3392 (substitute-keyword-arguments
2336 (package-arguments go-github-com-google-go-github) 3393 (package-arguments go-github-com-google-go-github-v31)
2337 ((#:unpack-path _ "github.com/google/go-github/v26") 3394 ((#:import-path _) "github.com/google/go-github/v50")))
2338 "github.com/google/go-github/v33") 3395 (native-inputs
2339 ((#:import-path _ "github.com/google/go-github/v26/github") 3396 (list go-github-com-google-go-cmp))
2340 "github.com/google/go-github/v33/github"))))) 3397 (propagated-inputs
3398 (list go-github-com-google-go-querystring
3399 go-github-com-protonmail-go-crypto
3400 go-golang-org-x-oauth2))))
2341 3401
2342(define-public go-github-com-google-go-querystring 3402(define-public go-github-com-google-go-querystring
2343 (package 3403 (package
@@ -2381,7 +3441,15 @@ parameters.")
2381 (base32 "048qwm2n0wrpql4qqgd7jyynn3gk069yvqbxnshlayzmbhf87ls4")))) 3441 (base32 "048qwm2n0wrpql4qqgd7jyynn3gk069yvqbxnshlayzmbhf87ls4"))))
2382 (build-system go-build-system) 3442 (build-system go-build-system)
2383 (arguments 3443 (arguments
2384 (list #:import-path "github.com/google/gopacket")) 3444 (list
3445 #:import-path "github.com/google/gopacket"
3446 ;; XXX: pfring/pfring.go:14:10: fatal error: pfring.h: No such file or
3447 ;; directory. Check how to fix all tests.
3448 #:test-subdirs #~(list ".")))
3449 (propagated-inputs
3450 (list go-github-com-vishvananda-netlink
3451 go-golang-org-x-net
3452 go-golang-org-x-sys))
2385 (home-page "https://github.com/google/gopacket") 3453 (home-page "https://github.com/google/gopacket")
2386 (synopsis "Packet processing capabilities library") 3454 (synopsis "Packet processing capabilities library")
2387 (description 3455 (description
@@ -2537,6 +3605,30 @@ web applications.")
2537incoming requests with their respective handler.") 3605incoming requests with their respective handler.")
2538 (license license:bsd-3))) 3606 (license license:bsd-3)))
2539 3607
3608(define-public go-github-com-gorilla-schema
3609 (package
3610 (name "go-github-com-gorilla-schema")
3611 (version "1.4.1")
3612 (source
3613 (origin
3614 (method git-fetch)
3615 (uri (git-reference
3616 (url "https://github.com/gorilla/schema")
3617 (commit (string-append "v" version))))
3618 (file-name (git-file-name name version))
3619 (sha256
3620 (base32 "16gk174mybvz0gg2w1wmpc96jhhi94i1vvclyzr3qkv7s6gadifn"))))
3621 (build-system go-build-system)
3622 (arguments
3623 (list
3624 #:import-path "github.com/gorilla/schema"))
3625 (home-page "https://github.com/gorilla/schema")
3626 (synopsis "Fills a struct with form values")
3627 (description
3628 "This package implements a functionality to fills a struct with form
3629values.")
3630 (license license:bsd-3)))
3631
2540(define-public go-github-com-gorilla-securecookie 3632(define-public go-github-com-gorilla-securecookie
2541 (package 3633 (package
2542 (name "go-github-com-gorilla-securecookie") 3634 (name "go-github-com-gorilla-securecookie")
@@ -2590,7 +3682,7 @@ sessions, flash messages, custom backends, and more.")
2590(define-public go-github-com-gorilla-websocket 3682(define-public go-github-com-gorilla-websocket
2591 (package 3683 (package
2592 (name "go-github-com-gorilla-websocket") 3684 (name "go-github-com-gorilla-websocket")
2593 (version "1.5.0") 3685 (version "1.5.3")
2594 (home-page "https://github.com/gorilla/websocket") 3686 (home-page "https://github.com/gorilla/websocket")
2595 (source 3687 (source
2596 (origin 3688 (origin
@@ -2600,7 +3692,7 @@ sessions, flash messages, custom backends, and more.")
2600 (commit (string-append "v" version)))) 3692 (commit (string-append "v" version))))
2601 (file-name (git-file-name name version)) 3693 (file-name (git-file-name name version))
2602 (sha256 3694 (sha256
2603 (base32 "1xrr6snvs9g1nzxxg05w4i4pq6k1xjljl5mvavd838qc468n118i")))) 3695 (base32 "1k84plbz6bxarbdrdcsrm9vhiy971prpvfnkcpsfv2q4ac80ccmx"))))
2604 (build-system go-build-system) 3696 (build-system go-build-system)
2605 (arguments 3697 (arguments
2606 `(#:import-path "github.com/gorilla/websocket")) 3698 `(#:import-path "github.com/gorilla/websocket"))
@@ -2610,32 +3702,35 @@ protocol.")
2610 (license license:bsd-2))) 3702 (license license:bsd-2)))
2611 3703
2612(define-public go-github-com-gregjones-httpcache 3704(define-public go-github-com-gregjones-httpcache
2613 (let ((commit "901d90724c7919163f472a9812253fb26761123d") 3705 (package
2614 (revision "0")) 3706 (name "go-github-com-gregjones-httpcache")
2615 (package 3707 (version "0.0.0-20190611155906-901d90724c79")
2616 (name "go-github-com-gregjones-httpcache") 3708 (source
2617 (version (git-version "0.0.0" revision commit)) 3709 (origin
2618 (source 3710 (method git-fetch)
2619 (origin 3711 (uri (git-reference
2620 (method git-fetch) 3712 (url "https://github.com/gregjones/httpcache")
2621 (uri (git-reference 3713 (commit (go-version->git-ref version))))
2622 (url "https://github.com/gregjones/httpcache") 3714 (file-name (git-file-name name version))
2623 (commit commit))) 3715 (sha256
2624 (file-name (git-file-name name version)) 3716 (base32 "05r0xq51vfb55di11m7iv19341d73f7in33vq1ihcqs1nffdwiq0"))))
2625 (sha256 3717 (build-system go-build-system)
2626 (base32 "05r0xq51vfb55di11m7iv19341d73f7in33vq1ihcqs1nffdwiq0")))) 3718 (arguments
2627 (build-system go-build-system) 3719 '(#:import-path "github.com/gregjones/httpcache"))
2628 (arguments 3720 (propagated-inputs
2629 '(#:import-path "github.com/gregjones/httpcache")) 3721 (list go-github-com-peterbourgon-diskv
2630 (home-page "https://github.com/gregjones/httpcache") 3722 go-github-com-syndtr-goleveldb
2631 (synopsis "Transport for @code{http.Client} that will cache responses") 3723 go-github-com-bradfitz-gomemcache
2632 (description 3724 go-github-com-gomodule-redigo))
2633 "Package @code{httpcache} provides a @code{http.RoundTripper} 3725 (home-page "https://github.com/gregjones/httpcache")
2634implementation that works as a mostly @url{https://tools.ietf.org/html/rfc7234, RFC 7234} 3726 (synopsis "Transport for @code{http.Client} that will cache responses")
2635compliant cache for HTTP responses. It is only suitable for use as a 3727 (description
2636\"private\" cache (i.e. for a web-browser or an API-client and not for a 3728 "Package @code{httpcache} provides a @code{http.RoundTripper}
2637shared proxy).") 3729implementation that works as a mostly
2638 (license license:expat)))) 3730@url{https://tools.ietf.org/html/rfc7234, RFC 7234} compliant cache for HTTP
3731responses. It is only suitable for use as a \"private\" cache (i.e. for a
3732web-browser or an API-client and not for a shared proxy).")
3733 (license license:expat)))
2639 3734
2640(define-public go-github-com-hashicorp-go-cleanhttp 3735(define-public go-github-com-hashicorp-go-cleanhttp
2641 (package 3736 (package
@@ -2695,6 +3790,122 @@ standard @code{net/http} client library and exposes nearly the same public
2695API.") 3790API.")
2696 (license license:mpl2.0))) 3791 (license license:mpl2.0)))
2697 3792
3793(define-public go-github-com-hashicorp-go-sockaddr
3794 (package
3795 (name "go-github-com-hashicorp-go-sockaddr")
3796 (version "1.0.7")
3797 (source
3798 (origin
3799 (method git-fetch)
3800 (uri (git-reference
3801 (url "https://github.com/hashicorp/go-sockaddr")
3802 (commit (string-append "v" version))))
3803 (file-name (git-file-name name version))
3804 (sha256
3805 (base32 "1ajcffaqxrbqyg00b04a1ia7np0180x7z5q3bcxqxm0smqqag54z"))
3806 (modules '((guix build utils)))
3807 (snippet
3808 #~(begin
3809 (delete-file-recursively "cmd/sockaddr/vendor")))))
3810 (build-system go-build-system)
3811 (arguments
3812 (list
3813 #:import-path "github.com/hashicorp/go-sockaddr"
3814 #:test-flags
3815 #~(list "-skip"
3816 (string-join
3817 ;; Tests require network set-up or fail randomly.
3818 (list "TestGetDefaultInterface"
3819 "TestGetDefaultInterfaces"
3820 "TestGetIfAddrs"
3821 "TestGetPrivateIP"
3822 "TestGetPrivateIPs"
3823 "TestGetPrivateInterfaces"
3824 "TestSockAddr_IPAddrs_IPAddrsByNetworkSize/0"
3825 "TestSockAddr_Parse")
3826 "|"))))
3827 (propagated-inputs
3828 (list go-github-com-hashicorp-errwrap
3829 go-github-com-mitchellh-cli
3830 go-github-com-mitchellh-go-wordwrap
3831 go-github-com-ryanuber-columnize))
3832 (home-page "https://github.com/hashicorp/go-sockaddr")
3833 (synopsis "IP Address/UNIX Socket convenience functions for Golang")
3834 (description
3835 "This package provides an implementation of the UNIX socket family data
3836types and related helper functions.")
3837 (license license:mpl2.0)))
3838
3839(define-public go-github-com-hashicorp-yamux
3840 (package
3841 (name "go-github-com-hashicorp-yamux")
3842 (version "0.1.2")
3843 (source
3844 (origin
3845 (method git-fetch)
3846 (uri (git-reference
3847 (url "https://github.com/hashicorp/yamux")
3848 (commit (string-append "v" version))))
3849 (file-name (git-file-name name version))
3850 (sha256
3851 (base32 "1c46zdj94lv28sb9rmhinzcckl72vs3gwm197nsa80ca3b161yi6"))))
3852 (build-system go-build-system)
3853 (arguments
3854 (list
3855 #:import-path "github.com/hashicorp/yamux"))
3856 (home-page "https://github.com/hashicorp/yamux")
3857 (synopsis "Golang connection multiplexing library")
3858 (description
3859 "Yamux (Yet another Multiplexer) relies on an underlying connection to
3860provide reliability and ordering, such as TCP or Unix domain sockets, and
3861provides stream-oriented multiplexing. It is inspired by SPDY but is not
3862interoperable with it.
3863
3864Features:
3865@itemize
3866@item streams can be opened by either client or server
3867@item useful for nat traversal
3868@item server-side push support
3869@item avoid starvation
3870@item back-pressure to prevent overwhelming a receiver
3871@item enables persistent connections over a load balancer
3872@item enables thousands of logical streams with low overhead
3873@end itemize")
3874 (license license:mpl2.0)))
3875
3876(define-public go-github-com-hetznercloud-hcloud-go-v2
3877 (package
3878 (name "go-github-com-hetznercloud-hcloud-go-v2")
3879 (version "2.17.1")
3880 (source
3881 (origin
3882 (method git-fetch)
3883 (uri (git-reference
3884 (url "https://github.com/hetznercloud/hcloud-go")
3885 (commit (string-append "v" version))))
3886 (file-name (git-file-name name version))
3887 (sha256
3888 (base32 "0rmrp100clcymz6j741dpvx217d6ljnfqn9qfndlmy9rwi64ih8h"))))
3889 (build-system go-build-system)
3890 (arguments
3891 (list
3892 #:skip-build? #t
3893 #:import-path "github.com/hetznercloud/hcloud-go/v2"))
3894 (native-inputs
3895 (list go-github-com-google-go-cmp
3896 go-github-com-stretchr-testify))
3897 (propagated-inputs
3898 (list go-github-com-jmattheis-goverter
3899 go-github-com-prometheus-client-golang
3900 go-github-com-vburenin-ifacemaker
3901 go-golang-org-x-crypto
3902 go-golang-org-x-net))
3903 (home-page "https://github.com/hetznercloud/hcloud-go")
3904 (synopsis "Golang library for the Hetzner Cloud API")
3905 (description
3906 "This package provides a library for the Hetzner Cloud API.")
3907 (license license:expat)))
3908
2698(define-public go-github-com-hjson-hjson-go-v4 3909(define-public go-github-com-hjson-hjson-go-v4
2699 (package 3910 (package
2700 (name "go-github-com-hjson-hjson-go-v4") 3911 (name "go-github-com-hjson-hjson-go-v4")
@@ -2917,7 +4128,7 @@ authenticated identities and their attributes.")
2917(define-public go-github-com-jcmturner-gokrb5-v8 4128(define-public go-github-com-jcmturner-gokrb5-v8
2918 (package 4129 (package
2919 (name "go-github-com-jcmturner-gokrb5-v8") 4130 (name "go-github-com-jcmturner-gokrb5-v8")
2920 (version "8.4.2") 4131 (version "8.4.4")
2921 (source 4132 (source
2922 (origin 4133 (origin
2923 (method git-fetch) 4134 (method git-fetch)
@@ -2926,7 +4137,7 @@ authenticated identities and their attributes.")
2926 (commit (string-append "v" version)))) 4137 (commit (string-append "v" version))))
2927 (file-name (git-file-name name version)) 4138 (file-name (git-file-name name version))
2928 (sha256 4139 (sha256
2929 (base32 "0w9d1pa3r6qmdblk25bghf78ncs03l15l1sxnh4n536c356rzq4b")))) 4140 (base32 "1rv495j8j2x6avw5hqpf7rpiakr5gdsx6pv8rfn0ff7vi35zfa62"))))
2930 (build-system go-build-system) 4141 (build-system go-build-system)
2931 (arguments 4142 (arguments
2932 '(#:import-path "github.com/jcmturner/gokrb5/v8" 4143 '(#:import-path "github.com/jcmturner/gokrb5/v8"
@@ -2940,10 +4151,8 @@ authenticated identities and their attributes.")
2940 go-github-com-jcmturner-dnsutils-v2 4151 go-github-com-jcmturner-dnsutils-v2
2941 go-github-com-jcmturner-gofork 4152 go-github-com-jcmturner-gofork
2942 go-github-com-jcmturner-goidentity-v6 4153 go-github-com-jcmturner-goidentity-v6
2943 go-github-com-jcmturner-rpc-v2-mstypes 4154 go-github-com-jcmturner-rpc-v2
2944 go-github-com-jcmturner-rpc-v2-ndr 4155 go-golang-org-x-crypto))
2945 go-golang-org-x-crypto
2946 go-golang-org-x-net))
2947 (home-page "https://github.com/jcmturner/gokrb5") 4156 (home-page "https://github.com/jcmturner/gokrb5")
2948 (synopsis "Pure Go Kerberos library for clients and services") 4157 (synopsis "Pure Go Kerberos library for clients and services")
2949 (description "This package provides a pure Go Kerberos library. It 4158 (description "This package provides a pure Go Kerberos library. It
@@ -2964,6 +4173,61 @@ SPNEGO Kerberos authentication, as well as a HTTP handler wrapper decodes
2964Microsoft AD PAC authorization data.") 4173Microsoft AD PAC authorization data.")
2965 (license license:asl2.0))) 4174 (license license:asl2.0)))
2966 4175
4176(define-public go-github-com-jcmturner-rpc
4177 (package
4178 (name "go-github-com-jcmturner-rpc")
4179 (version "1.1.0")
4180 (source
4181 (origin
4182 (method git-fetch)
4183 (uri (git-reference
4184 (url "https://github.com/jcmturner/rpc")
4185 (commit (string-append "v" version))))
4186 (file-name (git-file-name name version))
4187 (sha256
4188 (base32 "0hkmvf8qdcifnzym8kv1xhq7lq0wpr0i6gzff159lh9xn0wfg175"))))
4189 (build-system go-build-system)
4190 (arguments
4191 (list
4192 #:import-path "gopkg.in/jcmturner/rpc.v1"
4193 #:phases
4194 #~(modify-phases %standard-phases
4195 (delete 'build)))) ; no go files in project's root
4196 (native-inputs
4197 (list go-github-com-stretchr-testify))
4198 (home-page "https://github.com/jcmturner/rpc")
4199 (synopsis "Remote Procedure Call libraries")
4200 (description
4201 "This package provides a partial Go implementation of the Remote Call
4202Procedure libraries, presented in
4203@@url{http://pubs.opengroup.org/onlinepubs/9629399/,CDE 1.1: Remote Procedure
4204Call}.")
4205 (license license:asl2.0)))
4206
4207(define-public go-github-com-jcmturner-rpc-v2
4208 (package
4209 (inherit go-github-com-jcmturner-rpc)
4210 (name "go-github-com-jcmturner-rpc-v2")
4211 (version "2.0.3")
4212 (source
4213 (origin
4214 (method git-fetch)
4215 (uri (git-reference
4216 (url "https://github.com/jcmturner/rpc")
4217 (commit (string-append "v" version))))
4218 (file-name (git-file-name name version))
4219 (sha256
4220 (base32 "1nm4j2nwcszghldw39rwdx2hr56i1lybfpv33y4gd67w6qcqbpsi"))))
4221 (arguments
4222 (list
4223 #:import-path "github.com/jcmturner/rpc/v2"
4224 #:unpack-path "github.com/jcmturner/rpc"
4225 #:phases
4226 #~(modify-phases %standard-phases
4227 (delete 'build)))) ; no go files in project's root
4228 (propagated-inputs
4229 (list go-golang-org-x-net))))
4230
2967(define-public go-github-com-jhillyerd-enmime 4231(define-public go-github-com-jhillyerd-enmime
2968 (package 4232 (package
2969 (name "go-github-com-jhillyerd-enmime") 4233 (name "go-github-com-jhillyerd-enmime")
@@ -3115,7 +4379,11 @@ controlled. It is based on netlink messages.")
3115 (base32 "1c8f0hxm18wivx31bs615x3vxs2j3ba0v6vxchsjhldc8kl311bz")))) 4379 (base32 "1c8f0hxm18wivx31bs615x3vxs2j3ba0v6vxchsjhldc8kl311bz"))))
3116 (build-system go-build-system) 4380 (build-system go-build-system)
3117 (arguments 4381 (arguments
3118 (list #:import-path "github.com/json-iterator/go")) 4382 (list
4383 #:import-path "github.com/json-iterator/go"
4384 #:test-flags
4385 ;; XXX: Try to skip just "Test_symmetric/map[test.stringKeyType]string".
4386 #~(list "-skip" "Test_symmetric")))
3119 (native-inputs 4387 (native-inputs
3120 (list go-github-com-davecgh-go-spew 4388 (list go-github-com-davecgh-go-spew
3121 go-github-com-google-gofuzz 4389 go-github-com-google-gofuzz
@@ -3157,6 +4425,32 @@ jsoniter and variable type declarations (if any). jsoniter interfaces gives
3157router.") 4425router.")
3158 (license license:bsd-3))) 4426 (license license:bsd-3)))
3159 4427
4428(define-public go-github-com-kolo-xmlrpc
4429 (package
4430 (name "go-github-com-kolo-xmlrpc")
4431 (version "0.0.0-20220921171641-a4b6fa1dd06b")
4432 (source
4433 (origin
4434 (method git-fetch)
4435 (uri (git-reference
4436 (url "https://github.com/kolo/xmlrpc")
4437 (commit (go-version->git-ref version))))
4438 (file-name (git-file-name name version))
4439 (sha256
4440 (base32 "0nhcnqycdc52k4ymdd4g2chcimsnvr86m0yx13ws91qxs5pgs9d2"))))
4441 (build-system go-build-system)
4442 (arguments
4443 (list
4444 #:import-path "github.com/kolo/xmlrpc"))
4445 (propagated-inputs
4446 (list go-golang-org-x-text))
4447 (home-page "https://github.com/kolo/xmlrpc")
4448 (synopsis "Implementation of XMLRPC protocol in Golang")
4449 (description
4450 "This package provides an implementation of client side part of XMLRPC
4451protocol in Go language.")
4452 (license license:expat)))
4453
3160(define-public go-github-com-koron-go-ssdp 4454(define-public go-github-com-koron-go-ssdp
3161 (package 4455 (package
3162 (name "go-github-com-koron-go-ssdp") 4456 (name "go-github-com-koron-go-ssdp")
@@ -3174,28 +4468,19 @@ router.")
3174 (arguments 4468 (arguments
3175 (list 4469 (list
3176 #:import-path "github.com/koron/go-ssdp" 4470 #:import-path "github.com/koron/go-ssdp"
3177 #:phases 4471 #:test-flags
3178 #~(modify-phases %standard-phases 4472 #~(list "-skip"
3179 (add-after 'unpack 'disable-failing-tests 4473 (string-join
3180 (lambda* (#:key tests? import-path #:allow-other-keys) 4474 ;; Tests requiring network setup.
3181 (with-directory-excursion (string-append "src/" import-path) 4475 (list "TestAdvertise_Alive"
3182 (substitute* (find-files "." "\\_test.go$") 4476 "TestAdvertise_Bye"
3183 ;; Test requiring network setup. 4477 "TestAnnounceAlive"
3184 (("TestAdvertise_Alive") "OffTestAdvertise_Alive") 4478 "TestAnnounceBye"
3185 (("TestAdvertise_Bye") "OffTestAdvertise_Bye") 4479 "TestInterfaces"
3186 (("TestAnnounceAlive") "OffTestAnnounceAlive") 4480 "TestSearch_Request"
3187 (("TestAnnounceBye") "OffTestAnnounceBye") 4481 "TestSearch_Response"
3188 (("TestInterfaces") "OffTestInterfaces") 4482 "TestSearch_ServiceRawHeader")
3189 (("TestSearch_Request") "OffTestSearch_Request") 4483 "|"))))
3190 (("TestSearch_Response") "OffTestSearch_Response")
3191 (("TestSearch_ServiceRawHeader") "OffTestSearch_ServiceRawHeader")))))
3192 ;; XXX: Run all tests, workaround for go-build-system's lack of Go
3193 ;; modules support.
3194 (replace 'check
3195 (lambda* (#:key tests? import-path #:allow-other-keys)
3196 (when tests?
3197 (with-directory-excursion (string-append "src/" import-path)
3198 (invoke "go" "test" "-v" "./..."))))))))
3199 (propagated-inputs 4484 (propagated-inputs
3200 (list go-golang-org-x-net)) 4485 (list go-golang-org-x-net))
3201 (home-page "https://github.com/koron/go-ssdp") 4486 (home-page "https://github.com/koron/go-ssdp")
@@ -3205,6 +4490,134 @@ router.")
3205@acronym{Simple Service Discovery Protocol, SSDP}} library for Golang.") 4490@acronym{Simple Service Discovery Protocol, SSDP}} library for Golang.")
3206 (license license:expat))) 4491 (license license:expat)))
3207 4492
4493(define-public go-github-com-kortschak-wol
4494 (package
4495 (name "go-github-com-kortschak-wol")
4496 (version "0.0.0-20200729010619-da482cc4850a")
4497 (source
4498 (origin
4499 (method git-fetch)
4500 (uri (git-reference
4501 (url "https://github.com/kortschak/wol")
4502 (commit (go-version->git-ref version))))
4503 (file-name (git-file-name name version))
4504 (sha256
4505 (base32 "16qyy1c1q5cxcnwdzl69v49pjmyxha4i88fsg0g83gwdyapzsyln"))))
4506 (build-system go-build-system)
4507 (arguments
4508 (list
4509 #:import-path "github.com/kortschak/wol"))
4510 (home-page "https://github.com/kortschak/wol")
4511 (synopsis "Wake On LAN client")
4512 (description
4513 "Package wol provides a Wake On LAN function.")
4514 (license license:bsd-3)))
4515
4516(define-public go-github-com-labbsr0x-goh
4517 (package
4518 (name "go-github-com-labbsr0x-goh")
4519 (version "1.0.1")
4520 (source
4521 (origin
4522 (method git-fetch)
4523 (uri (git-reference
4524 (url "https://github.com/labbsr0x/goh")
4525 (commit (string-append "v" version))))
4526 (file-name (git-file-name name version))
4527 (sha256
4528 (base32 "06yrd6ih6r0rkxyn88b66gfarjxsqmi3wzi8cgsxskq7mbah0iyp"))))
4529 (build-system go-build-system)
4530 (arguments
4531 (list
4532 #:skip-build? #t
4533 #:import-path "github.com/labbsr0x/goh"))
4534 (propagated-inputs
4535 (list go-github-com-go-cmd-cmd
4536 go-github-com-go-errors-errors
4537 go-github-com-sirupsen-logrus))
4538 (home-page "https://github.com/labbsr0x/goh")
4539 (synopsis "Utility library for writing web hooks")
4540 (description
4541 "This package provides an utility library for writing extremely simple
4542webhooks in Golang.")
4543 (license license:expat)))
4544
4545(define-public go-github-com-labstack-echo-v4
4546 (package
4547 (name "go-github-com-labstack-echo-v4")
4548 (version "4.13.3")
4549 (source
4550 (origin
4551 (method git-fetch)
4552 (uri (git-reference
4553 (url "https://github.com/labstack/echo")
4554 (commit (string-append "v" version))))
4555 (file-name (git-file-name name version))
4556 (sha256
4557 (base32 "1i4w36f1k17bykc24dzr2ng5zpsyysfg5bzfvlbrphxxzhsngxdy"))))
4558 (build-system go-build-system)
4559 (arguments
4560 (list
4561 #:import-path "github.com/labstack/echo/v4"))
4562 (native-inputs
4563 (list go-github-com-stretchr-testify))
4564 (propagated-inputs
4565 (list go-github-com-labstack-gommon
4566 go-github-com-valyala-fasttemplate
4567 go-golang-org-x-crypto
4568 go-golang-org-x-net
4569 go-golang-org-x-time))
4570 (home-page "https://echo.labstack.com/")
4571 (synopsis "High performance, minimalist Go web framework")
4572 (description
4573 "Package echo implements a high performance, minimalist Go web framework.
4574Features:
4575@itemize
4576@item optimized HTTP router which smartly prioritize routes
4577@item build robust and scalable RESTful APIs
4578@item group APIs
4579@item extensible middleware framework
4580@item define middleware at root, group or route level
4581@item data binding for JSON, XML and form payload
4582@item handy functions to send variety of HTTP responses
4583@item centralized HTTP error handling
4584@item template rendering with any template engine
4585@item define your format for the logger
4586@item highly customizable
4587@item automatic TLS via Let’s Encrypt
4588@item HTTP/2 support
4589@end itemize")
4590 (license license:expat)))
4591
4592(define-public go-github-com-levigross-grequests
4593 (package
4594 (name "go-github-com-levigross-grequests")
4595 (version "0.0.0-20231203190023-9c307ef1f48d")
4596 (source
4597 (origin
4598 (method git-fetch)
4599 (uri (git-reference
4600 (url "https://github.com/levigross/grequests")
4601 (commit (go-version->git-ref version))))
4602 (file-name (git-file-name name version))
4603 (sha256
4604 (base32 "13r24vrcgfkps8r09crjlhsywpxs8bnnmlgn5qhbhqiqag754xdc"))))
4605 (build-system go-build-system)
4606 (arguments
4607 (list
4608 #:tests? #f ; most of them need network access
4609 #:embed-files #~(list "children" "nodes" "text")
4610 #:import-path "github.com/levigross/grequests"))
4611 (propagated-inputs
4612 (list go-github-com-google-go-querystring
4613 go-golang-org-x-net))
4614 (home-page "https://github.com/levigross/grequests")
4615 (synopsis "Requests library for Golang")
4616 (description
4617 "Package grequests implements a friendly API over Go's existing
4618@code{net/http} library.")
4619 (license license:asl2.0)))
4620
3208(define-public go-github-com-libdns-libdns 4621(define-public go-github-com-libdns-libdns
3209 (package 4622 (package
3210 (name "go-github-com-libdns-libdns") 4623 (name "go-github-com-libdns-libdns")
@@ -3557,10 +4970,36 @@ It is inspired by SPDY but is not interoperable with it.")
3557intends to be compatible with Avahi.") 4970intends to be compatible with Avahi.")
3558 (license license:expat))) 4971 (license license:expat)))
3559 4972
4973(define-public go-github-com-macronut-go-tproxy
4974 (package
4975 (name "go-github-com-macronut-go-tproxy")
4976 (version "0.0.0-20190726054950-ef7efd7f24ed")
4977 (source
4978 (origin
4979 (method git-fetch)
4980 (uri (git-reference
4981 (url "https://github.com/FutureProtocolLab/go-tproxy")
4982 (commit (go-version->git-ref version))))
4983 (file-name (git-file-name name version))
4984 (sha256
4985 (base32 "0jibsg0xhsn0h1jq4g9qd4nr58w43y8majlwfri9ffk2cbfrwqdr"))
4986 (modules '((guix build utils)))
4987 (snippet '(delete-file-recursively "example"))))
4988 (build-system go-build-system)
4989 (arguments
4990 (list
4991 #:import-path "github.com/macronut/go-tproxy"))
4992 (home-page "https://github.com/FutureProtocolLab/go-tproxy")
4993 (synopsis "Linux Transparent Proxy library")
4994 (description
4995 "Golang TProxy provides an easy to use wrapper for the Linux Transparent
4996Proxy functionality.")
4997 (license license:expat)))
4998
3560(define-public go-github-com-mailru-easyjson 4999(define-public go-github-com-mailru-easyjson
3561 (package 5000 (package
3562 (name "go-github-com-mailru-easyjson") 5001 (name "go-github-com-mailru-easyjson")
3563 (version "0.7.7") 5002 (version "0.9.0")
3564 (source 5003 (source
3565 (origin 5004 (origin
3566 (method git-fetch) 5005 (method git-fetch)
@@ -3569,11 +5008,19 @@ intends to be compatible with Avahi.")
3569 (commit (string-append "v" version)))) 5008 (commit (string-append "v" version))))
3570 (file-name (git-file-name name version)) 5009 (file-name (git-file-name name version))
3571 (sha256 5010 (sha256
3572 (base32 "0clifkvvy8f45rv3cdyv58dglzagyvfcqb63wl6rij30c5j2pzc1")))) 5011 (base32 "00if9lpfy7bz853snqp7zgg76pn4mgpkk42h0riahcwk5v19jrcv"))))
3573 (build-system go-build-system) 5012 (build-system go-build-system)
3574 (arguments 5013 (arguments
3575 (list 5014 (list
3576 #:import-path "github.com/mailru/easyjson")) 5015 #:import-path "github.com/mailru/easyjson"
5016 ;; XXX: All tests in "tests" directory fail, figure out why.
5017 #:test-subdirs #~(list ".")
5018 #:phases
5019 #~(modify-phases %standard-phases
5020 (add-after 'unpack 'remove-benchmarks
5021 (lambda* (#:key import-path #:allow-other-keys)
5022 (with-directory-excursion (string-append "src/" import-path)
5023 (delete-file-recursively "benchmark")))))))
3577 (propagated-inputs 5024 (propagated-inputs
3578 (list go-github-com-josharian-intern)) 5025 (list go-github-com-josharian-intern))
3579 (home-page "https://github.com/mailru/easyjson") 5026 (home-page "https://github.com/mailru/easyjson")
@@ -3712,6 +5159,93 @@ supported by HTTP PATCH method, allowing for standards based partial updates
3712via REST APIs.") 5159via REST APIs.")
3713 (license license:asl2.0))) 5160 (license license:asl2.0)))
3714 5161
5162(define-public go-github-com-mattn-go-xmlrpc
5163 (package
5164 (name "go-github-com-mattn-go-xmlrpc")
5165 (version "0.0.3")
5166 (source
5167 (origin
5168 (method git-fetch)
5169 (uri (git-reference
5170 (url "https://github.com/mattn/go-xmlrpc")
5171 (commit (string-append "v" version))))
5172 (file-name (git-file-name name version))
5173 (sha256
5174 (base32 "0hv843qf8lzyn01mgk4lwwhirzpzpz33a1cz2ws998shhvq75dvg"))))
5175 (build-system go-build-system)
5176 (arguments
5177 (list
5178 #:import-path "github.com/mattn/go-xmlrpc"))
5179 (home-page "https://github.com/mattn/go-xmlrpc")
5180 (synopsis "XML RPC interface for Golang")
5181 (description
5182 "This package implements XML RPC interface for Go programming
5183language.")
5184 (license license:expat)))
5185
5186(define-public go-github-com-mdlayher-ethtool
5187 (package
5188 (name "go-github-com-mdlayher-ethtool")
5189 (version "0.2.0")
5190 (source
5191 (origin
5192 (method git-fetch)
5193 (uri (git-reference
5194 (url "https://github.com/mdlayher/ethtool")
5195 (commit (string-append "v" version))))
5196 (file-name (git-file-name name version))
5197 (sha256
5198 (base32 "1pwm4cg1yf364k0c4i0jrrvgn82k14b163xcvnm3bvpglfbcy2ks"))))
5199 (build-system go-build-system)
5200 (arguments
5201 (list
5202 #:import-path "github.com/mdlayher/ethtool"))
5203 (native-inputs
5204 (list go-github-com-google-go-cmp))
5205 (propagated-inputs
5206 (list go-github-com-josharian-native
5207 go-github-com-mdlayher-genetlink
5208 go-github-com-mdlayher-netlink
5209 go-golang-org-x-sys))
5210 (home-page "https://github.com/mdlayher/ethtool")
5211 (synopsis "Control of the Linux ethtool generic netlink interface")
5212 (description
5213 "Package ethtool allows control of the Linux ethtool generic netlink
5214interface. as it's described in
5215@url{https://www.kernel.org/doc/html/latest/networking/ethtool-netlink.html,
5216ethtool-netlink}.")
5217 (license license:expat)))
5218
5219(define-public go-github-com-mdlayher-genetlink
5220 (package
5221 (name "go-github-com-mdlayher-genetlink")
5222 (version "1.3.2")
5223 (source
5224 (origin
5225 (method git-fetch)
5226 (uri (git-reference
5227 (url "https://github.com/mdlayher/genetlink")
5228 (commit (string-append "v" version))))
5229 (file-name (git-file-name name version))
5230 (sha256
5231 (base32 "0vppn8071nh8pnbyq9769j1zcgq76iadd5fry90xkmfq429if356"))))
5232 (build-system go-build-system)
5233 (arguments
5234 (list
5235 #:import-path "github.com/mdlayher/genetlink"))
5236 (native-inputs
5237 (list go-github-com-google-go-cmp))
5238 (propagated-inputs
5239 (list go-github-com-mdlayher-netlink
5240 go-golang-org-x-net
5241 go-golang-org-x-sys))
5242 (home-page "https://github.com/mdlayher/genetlink")
5243 (synopsis "Generic netlink interactions and data types")
5244 (description
5245 "Package genetlink implements generic netlink interactions and data
5246types.")
5247 (license license:expat)))
5248
3715(define-public go-github-com-mdlayher-netlink 5249(define-public go-github-com-mdlayher-netlink
3716 (package 5250 (package
3717 (name "go-github-com-mdlayher-netlink") 5251 (name "go-github-com-mdlayher-netlink")
@@ -3724,21 +5258,20 @@ via REST APIs.")
3724 (commit (string-append "v" version)))) 5258 (commit (string-append "v" version))))
3725 (file-name (git-file-name name version)) 5259 (file-name (git-file-name name version))
3726 (sha256 5260 (sha256
3727 (base32 "1pxd0qn73jr9n64gkp2kd8q8x7xgssm3v8a68vkh88al55g8jkma")))) 5261 (base32 "1pxd0qn73jr9n64gkp2kd8q8x7xgssm3v8a68vkh88al55g8jkma"))
5262 (modules '((guix build utils)))
5263 (snippet
5264 #~(begin
5265 ;; Cycles with go-github-com-jsimonetti-rtnetlink.
5266 (delete-file-recursively "internal/integration")))))
3728 (build-system go-build-system) 5267 (build-system go-build-system)
3729 (arguments 5268 (arguments
3730 (list 5269 (list
3731 #:import-path "github.com/mdlayher/netlink" 5270 #:import-path "github.com/mdlayher/netlink"
3732 #:phases 5271 #:test-flags
3733 #~(modify-phases %standard-phases 5272 ;; Test fails to start command "ip": exec: "ip": executable file not
3734 (add-after 'unpack 'disable-failing-tests 5273 ;; found in $PATH
3735 (lambda* (#:key tests? import-path #:allow-other-keys) 5274 #~(list "-skip" "TestIntegrationConnSetBuffersSyscallConn")))
3736 (with-directory-excursion (string-append "src/" import-path)
3737 (substitute* (find-files "." "_test\\.go$")
3738 ;; failed to start command "ip": exec: "ip": executable file
3739 ;; not found in $PATH
3740 (("TestIntegrationConnSetBuffersSyscallConn")
3741 "OffTestIntegrationConnSetBuffersSyscallConn"))))))))
3742 (propagated-inputs 5275 (propagated-inputs
3743 (list go-github-com-google-go-cmp 5276 (list go-github-com-google-go-cmp
3744 go-github-com-josharian-native 5277 go-github-com-josharian-native
@@ -3781,6 +5314,68 @@ integrates with Go's runtime network poller to provide asynchronous I/O and
3781deadline support.") 5314deadline support.")
3782 (license license:expat))) 5315 (license license:expat)))
3783 5316
5317(define-public go-github-com-mdlayher-vsock
5318 (package
5319 (name "go-github-com-mdlayher-vsock")
5320 (version "1.2.1")
5321 (source
5322 (origin
5323 (method git-fetch)
5324 (uri (git-reference
5325 (url "https://github.com/mdlayher/vsock")
5326 (commit (string-append "v" version))))
5327 (file-name (git-file-name name version))
5328 (sha256
5329 (base32 "1pnhxz9jz25469gnd5p9a8jl10w3affcjxlvzhlni2c434s3l6kx"))))
5330 (build-system go-build-system)
5331 (arguments
5332 (list
5333 #:import-path "github.com/mdlayher/vsock"))
5334 (native-inputs
5335 (list go-github-com-google-go-cmp))
5336 (propagated-inputs
5337 (list go-github-com-mdlayher-socket
5338 go-golang-org-x-net
5339 go-golang-org-x-sync
5340 go-golang-org-x-sys))
5341 (home-page "https://github.com/mdlayher/vsock")
5342 (synopsis "Access to Linux VM sockets for Golang")
5343 (description
5344 "Package vsock provides access to Linux VM sockets (AF_VSOCK) for
5345communication between a hypervisor and its virtual machines.")
5346 (license license:expat)))
5347
5348(define-public go-github-com-mdlayher-wifi
5349 (package
5350 (name "go-github-com-mdlayher-wifi")
5351 (version "0.3.0")
5352 (source
5353 (origin
5354 (method git-fetch)
5355 (uri (git-reference
5356 (url "https://github.com/mdlayher/wifi")
5357 (commit (string-append "v" version))))
5358 (file-name (git-file-name name version))
5359 (sha256
5360 (base32 "18h5n58gr3i4jbf7c4hfvx3w87bjjiaavcnpcl0j310bgrc6dnzi"))))
5361 (build-system go-build-system)
5362 (arguments
5363 (list
5364 #:import-path "github.com/mdlayher/wifi"))
5365 (native-inputs
5366 (list go-github-com-google-go-cmp))
5367 (propagated-inputs
5368 (list go-github-com-mdlayher-genetlink
5369 go-github-com-mdlayher-netlink
5370 go-golang-org-x-crypto
5371 go-golang-org-x-sys))
5372 (home-page "https://github.com/mdlayher/wifi")
5373 (synopsis "Access to IEEE 802.11 WiFi device actions")
5374 (description
5375 "Package wifi provides access to IEEE 802.11 @code{WiFi} device
5376operations on Linux using nl80211.")
5377 (license license:expat)))
5378
3784(define-public go-github-com-mholt-acmez 5379(define-public go-github-com-mholt-acmez
3785 (package 5380 (package
3786 (name "go-github-com-mholt-acmez") 5381 (name "go-github-com-mholt-acmez")
@@ -4154,6 +5749,35 @@ multistream-select protocol. The protocol is defined at
41542616} HTTP/1.1 standard.") 57492616} HTTP/1.1 standard.")
4155 (license license:bsd-3))) 5750 (license license:bsd-3)))
4156 5751
5752(define-public go-github-com-nrdcg-goinwx
5753 (package
5754 (name "go-github-com-nrdcg-goinwx")
5755 (version "0.10.0")
5756 (source
5757 (origin
5758 (method git-fetch)
5759 (uri (git-reference
5760 (url "https://github.com/nrdcg/goinwx")
5761 (commit (string-append "v" version))))
5762 (file-name (git-file-name name version))
5763 (sha256
5764 (base32 "1ld3spdi7q8cf4hf0wnbl7gyw2k8n4wp03fqncjx2gw2nsjng684"))))
5765 (build-system go-build-system)
5766 (arguments
5767 (list
5768 #:import-path "github.com/nrdcg/goinwx"))
5769 (propagated-inputs
5770 (list
5771 go-github-com-fatih-structs
5772 go-github-com-kolo-xmlrpc
5773 go-github-com-mitchellh-mapstructure))
5774 (home-page "https://github.com/nrdcg/goinwx")
5775 (synopsis "INWX Go API client")
5776 (description
5777 "This go library implements some parts of the official
5778@url{https://www.inwx.com/en/help/apidoc, INWX XML-RPC API}.")
5779 (license license:expat)))
5780
4157(define-public go-github-com-nwidger-jsoncolor 5781(define-public go-github-com-nwidger-jsoncolor
4158 (package 5782 (package
4159 (name "go-github-com-nwidger-jsoncolor") 5783 (name "go-github-com-nwidger-jsoncolor")
@@ -4180,6 +5804,32 @@ multistream-select protocol. The protocol is defined at
4180which produce colorized output using github.com/fatih/color.") 5804which produce colorized output using github.com/fatih/color.")
4181 (license license:expat))) 5805 (license license:expat)))
4182 5806
5807(define-public go-github-com-nytimes-gziphandler
5808 (package
5809 (name "go-github-com-nytimes-gziphandler")
5810 (version "1.1.1")
5811 (source
5812 (origin
5813 (method git-fetch)
5814 (uri (git-reference
5815 (url "https://github.com/nytimes/gziphandler")
5816 (commit (string-append "v" version))))
5817 (file-name (git-file-name name version))
5818 (sha256
5819 (base32 "0rhrjlw220hnymzfccm0yir3pc9dpj7h3gwzhzq2cbsb3hhsqvyy"))))
5820 (build-system go-build-system)
5821 (arguments
5822 (list
5823 #:import-path "github.com/NYTimes/gziphandler"))
5824 (native-inputs
5825 (list go-github-com-stretchr-testify))
5826 (home-page "https://github.com/NYTimes/gziphandler")
5827 (synopsis "Middleware to gzip HTTP responses")
5828 (description
5829 "This is a tiny Go package which wraps HTTP handlers to transparently
5830gzip the response body, for clients which support it.")
5831 (license license:asl2.0)))
5832
4183(define-public go-github-com-opentracing-contrib-go-stdlib 5833(define-public go-github-com-opentracing-contrib-go-stdlib
4184 (package 5834 (package
4185 (name "go-github-com-opentracing-contrib-go-stdlib") 5835 (name "go-github-com-opentracing-contrib-go-stdlib")
@@ -4343,6 +5993,37 @@ higher-level API for doing so.")
4343 "Common enterprise features for the Go programming language.") 5993 "Common enterprise features for the Go programming language.")
4344 (license license:cc0))) 5994 (license license:cc0)))
4345 5995
5996(define-public go-github-com-perimeterx-marshmallow
5997 (package
5998 (name "go-github-com-perimeterx-marshmallow")
5999 (version "1.1.5")
6000 (source
6001 (origin
6002 (method git-fetch)
6003 (uri (git-reference
6004 (url "https://github.com/PerimeterX/marshmallow")
6005 (commit (string-append "v" version))))
6006 (file-name (git-file-name name version))
6007 (sha256
6008 (base32 "0jxpjfyshcbrmj9qmj3sr21va6kw7hs55w2gaz9118jd861s6mbw"))))
6009 (build-system go-build-system)
6010 (arguments
6011 (list
6012 #:import-path "github.com/perimeterx/marshmallow"))
6013 (native-inputs
6014 (list go-github-com-go-test-deep))
6015 (propagated-inputs
6016 (list go-github-com-mailru-easyjson
6017 go-github-com-ugorji-go-codec))
6018 (home-page "https://github.com/perimeterx/marshmallow")
6019 (synopsis "JSON unmarshalling in Golang")
6020 (description
6021 "This package provides a simple API to perform JSON unmarshalling.
6022It supports unmarshalling of some known and some unknown fields with zero
6023performance overhead. While unmarshalling, it allows fully retaining the
6024original data and access it via a typed struct and a dynamic map.")
6025 (license license:expat)))
6026
4346(define-public go-github-com-pion-datachannel 6027(define-public go-github-com-pion-datachannel
4347 (package 6028 (package
4348 (name "go-github-com-pion-datachannel") 6029 (name "go-github-com-pion-datachannel")
@@ -4849,6 +6530,28 @@ Protocol,SCTP} as specified in
4849 go-golang-org-x-crypto 6530 go-golang-org-x-crypto
4850 go-golang-org-x-net)))) 6531 go-golang-org-x-net))))
4851 6532
6533(define-public go-github-com-pion-stun-v3
6534 (package
6535 (inherit go-github-com-pion-stun-v2)
6536 (name "go-github-com-pion-stun-v3")
6537 (version "3.0.0")
6538 (source
6539 (origin
6540 (inherit (package-source go-github-com-pion-stun))
6541 (uri (git-reference
6542 (url "https://github.com/pion/stun")
6543 (commit (string-append "v" version))))
6544 (file-name (git-file-name name version))
6545 (sha256
6546 (base32 "0yavl76y0fida9f1jfdmzdg7rm5jhp6kvdgn3smsf93jad1vbr2x"))))
6547 (arguments
6548 (list
6549 #:import-path "github.com/pion/stun/v3"))
6550 (propagated-inputs
6551 (list go-github-com-pion-dtls-v3
6552 go-github-com-pion-logging
6553 go-github-com-pion-transport-v3))))
6554
4852(define-public go-github-com-pion-transport 6555(define-public go-github-com-pion-transport
4853 (package 6556 (package
4854 (name "go-github-com-pion-transport") 6557 (name "go-github-com-pion-transport")
@@ -4900,7 +6603,14 @@ throughout the @url{https://github.com/pion, Pion} modules.")
4900 (base32 "0g5pg6mz61blprccxzysbwldkil84qgwp6404lsp4m9wh44312hf")))) 6603 (base32 "0g5pg6mz61blprccxzysbwldkil84qgwp6404lsp4m9wh44312hf"))))
4901 (arguments 6604 (arguments
4902 (list 6605 (list
4903 #:import-path "github.com/pion/transport/v2")) 6606 #:import-path "github.com/pion/transport/v2"
6607 #:phases
6608 #~(modify-phases %standard-phases
6609 (add-after 'unpack 'fix-module-paths
6610 (lambda* (#:key tests? import-path #:allow-other-keys)
6611 (with-directory-excursion (string-append "src/" import-path)
6612 (substitute* (find-files "." "\\.go$")
6613 (("github.com/pion/transport/v3") import-path))))))))
4904 (native-inputs 6614 (native-inputs
4905 (list go-github-com-stretchr-testify)) 6615 (list go-github-com-stretchr-testify))
4906 (propagated-inputs 6616 (propagated-inputs
@@ -5144,7 +6854,7 @@ dependant.")
5144(define-public go-github-com-pkg-sftp 6854(define-public go-github-com-pkg-sftp
5145 (package 6855 (package
5146 (name "go-github-com-pkg-sftp") 6856 (name "go-github-com-pkg-sftp")
5147 (version "1.13.6") 6857 (version "1.13.7")
5148 (source 6858 (source
5149 (origin 6859 (origin
5150 (method git-fetch) 6860 (method git-fetch)
@@ -5153,7 +6863,7 @@ dependant.")
5153 (commit (string-append "v" version)))) 6863 (commit (string-append "v" version))))
5154 (file-name (git-file-name name version)) 6864 (file-name (git-file-name name version))
5155 (sha256 6865 (sha256
5156 (base32 "0n35lzfrnrffjqy34ny6gxs27kq81s67ply6q8s1g19mhfzm6my7")))) 6866 (base32 "0hhnsl327acwlmvp8wk4x1ml2mi6gdrdwm1dh9666n2cj9d8yj24"))))
5157 (build-system go-build-system) 6867 (build-system go-build-system)
5158 (arguments 6868 (arguments
5159 (list 6869 (list
@@ -5210,7 +6920,11 @@ Caching.")
5210 (build-system go-build-system) 6920 (build-system go-build-system)
5211 (arguments 6921 (arguments
5212 (list 6922 (list
5213 #:import-path "github.com/pquerna/ffjson")) 6923 #:import-path "github.com/pquerna/ffjson"
6924 #:test-subdirs #~(list "fflib/v1/...")))
6925 (native-inputs
6926 (list go-github-com-google-gofuzz
6927 go-github-com-stretchr-testify))
5214 (home-page "https://github.com/pquerna/ffjson") 6928 (home-page "https://github.com/pquerna/ffjson")
5215 (synopsis "Faster JSON for Golang") 6929 (synopsis "Faster JSON for Golang")
5216 (description 6930 (description
@@ -5351,26 +7065,24 @@ the Go standard library}.")
5351 #:import-path "github.com/quic-go/quic-go" 7065 #:import-path "github.com/quic-go/quic-go"
5352 #:phases 7066 #:phases
5353 #~(modify-phases %standard-phases 7067 #~(modify-phases %standard-phases
5354 ;; TODO: Figure out why some tests fail.
5355 (add-after 'unpack 'remove-failing-tests
5356 (lambda* (#:key import-path #:allow-other-keys)
5357 (with-directory-excursion (string-append "src/" import-path)
5358 (for-each delete-file
5359 (list "integrationtests/self/timeout_test.go"
5360 "server_test.go")))))
5361 ;; Test steps are taken from GitHub Actions - 7068 ;; Test steps are taken from GitHub Actions -
5362 ;; <https://github.com/quic-go/quic-go/blob/v0.42.0/.github/workflows/unit.yml>. 7069 ;; <https://github.com/quic-go/quic-go/blob/v0.42.0/
7070 ;; .github/workflows/unit.yml>.
5363 (replace 'check 7071 (replace 'check
5364 (lambda* (#:key tests? import-path #:allow-other-keys) 7072 (lambda* (#:key tests? import-path #:allow-other-keys)
5365 (when tests? 7073 (when tests?
5366 (with-directory-excursion (string-append "src/" import-path) 7074 (with-directory-excursion (string-append "src/" import-path)
5367 (invoke "ginkgo" "-r" "-v" 7075 (setenv "TIMESCALE_FACTOR" "10")
5368 (string-append "--procs=" 7076 (invoke "ginkgo" "-r" "-v" "--no-color"
5369 (number->string (parallel-job-count))) 7077 (string-append
5370 "--randomize-all" 7078 "--procs=" (number->string
5371 "--randomize-suites" 7079 ;; All tests passed on 16 threads
5372 "--skip-package" 7080 ;; mathine, but fail on
5373 "integrationtests")))))))) 7081 ;; ci.guix.gnu.org.
7082 (if (> (parallel-job-count) 17)
7083 16
7084 (parallel-job-count))))
7085 "--skip-package=integrationtests"))))))))
5374 (native-inputs 7086 (native-inputs
5375 (list go-ginkgo 7087 (list go-ginkgo
5376 go-github-com-onsi-ginkgo-v2 7088 go-github-com-onsi-ginkgo-v2
@@ -5407,7 +7119,9 @@ protocol.")
5407 (build-system go-build-system) 7119 (build-system go-build-system)
5408 (arguments 7120 (arguments
5409 (list 7121 (list
5410 #:import-path "github.com/quic-go/webtransport-go")) 7122 #:import-path "github.com/quic-go/webtransport-go"
7123 ;; Error: "68" is not greater than "80"
7124 #:test-flags #~(list "-skip" "TestDatagrams")))
5411 (native-inputs 7125 (native-inputs
5412 (list go-go-uber-org-mock 7126 (list go-go-uber-org-mock
5413 go-github-com-stretchr-testify)) 7127 go-github-com-stretchr-testify))
@@ -5423,6 +7137,59 @@ on @@url{https://github.com/quic-go/quic-go,quic-go}. It currently implements
5423of the specification.") 7137of the specification.")
5424 (license license:expat))) 7138 (license license:expat)))
5425 7139
7140(define-public go-github-com-rcrowley-go-metrics
7141 (package
7142 (name "go-github-com-rcrowley-go-metrics")
7143 (version "0.0.0-20201227073835-cf1acfcdf475")
7144 (source
7145 (origin
7146 (method git-fetch)
7147 (uri (git-reference
7148 (url "https://github.com/rcrowley/go-metrics")
7149 (commit (go-version->git-ref version))))
7150 (file-name (git-file-name name version))
7151 (sha256
7152 (base32 "0s7zab04slz07c7l4h2cqz62qnqah69r6p157vvbd7725a7wzkr0"))))
7153 (build-system go-build-system)
7154 (arguments
7155 ;; Arbitrary precision tests are known to be broken on aarch64, ppc64le
7156 ;; and s390x. See: https://github.com/rcrowley/go-metrics/issues/249
7157 `(#:tests? ,(not (string-prefix? "aarch64" (or (%current-target-system)
7158 (%current-system))))
7159 #:import-path "github.com/rcrowley/go-metrics"))
7160 (propagated-inputs
7161 (list go-github-com-stathat-go))
7162 (home-page "https://github.com/rcrowley/go-metrics")
7163 (synopsis "Go port of Coda Hale's Metrics library")
7164 (description
7165 "This package provides a Go implementation of Coda Hale's Metrics
7166library.")
7167 (license license:bsd-2)))
7168
7169(define-public go-github-com-realclientip-realclientip-go
7170 (package
7171 (name "go-github-com-realclientip-realclientip-go")
7172 (version "1.0.0")
7173 (source
7174 (origin
7175 (method git-fetch)
7176 (uri (git-reference
7177 (url "https://github.com/realclientip/realclientip-go")
7178 (commit (string-append "v" version))))
7179 (file-name (git-file-name name version))
7180 (sha256
7181 (base32 "1mg3nrb4b1q38q9j1diz4pl2nqpa3ay45gi81i6ma3bvss8v7ri3"))))
7182 (build-system go-build-system)
7183 (arguments
7184 (list
7185 #:import-path "github.com/realclientip/realclientip-go"))
7186 (home-page "https://github.com/realclientip/realclientip-go")
7187 (synopsis "Go reference implementation of \"real\" client IP algorithms")
7188 (description
7189 "Package realclientip provides strategies for obtaining the \"real\"
7190client IP from HTTP requests.")
7191 (license license:bsd-0)))
7192
5426(define-public go-github-com-rs-cors 7193(define-public go-github-com-rs-cors
5427 (package 7194 (package
5428 (name "go-github-com-rs-cors") 7195 (name "go-github-com-rs-cors")
@@ -5501,6 +7268,45 @@ per host/process
5501@end itemize") 7268@end itemize")
5502 (license license:expat))) 7269 (license license:expat)))
5503 7270
7271(define-public go-github-com-safchain-ethtool
7272 (package
7273 (name "go-github-com-safchain-ethtool")
7274 (version "0.5.9")
7275 (source
7276 (origin
7277 (method git-fetch)
7278 (uri (git-reference
7279 (url "https://github.com/safchain/ethtool")
7280 (commit (string-append "v" version))))
7281 (file-name (git-file-name name version))
7282 (sha256
7283 (base32 "01q0qfyksnhd4a2w2824yzdmyb4g4xr0y2z4ffnpbzz1wp60rydg"))))
7284 (build-system go-build-system)
7285 (arguments
7286 (list
7287 #:import-path "github.com/safchain/ethtool"
7288 #:test-flags
7289 ;; Unable to retrieve driver from any interface of this system.
7290 #~(list "-skip"
7291 (string-join
7292 (list "TestCmdGet"
7293 "TestCmdGetMapped"
7294 "TestMsglvlGet"
7295 "TestStats"
7296 "TestDriverName"
7297 "TestBusInfo")
7298 "|"))))
7299 (propagated-inputs
7300 (list go-golang-org-x-sys))
7301 (home-page "https://github.com/safchain/ethtool")
7302 (synopsis "Ethtool library for Golang")
7303 (description
7304 "The ethtool package aims to provide a library that implements easy
7305access to the Linux SIOCETHTOOL ioctl operations. It can be used to retrieve
7306information from a network device such as statistics, driver related
7307information or even the peer of a VETH interface.")
7308 (license license:asl2.0)))
7309
5504(define-public go-github-com-sherclockholmes-webpush-go 7310(define-public go-github-com-sherclockholmes-webpush-go
5505 (package 7311 (package
5506 (name "go-github-com-sherclockholmes-webpush-go") 7312 (name "go-github-com-sherclockholmes-webpush-go")
@@ -5528,6 +7334,56 @@ per host/process
5528support.") 7334support.")
5529 (license license:expat))) 7335 (license license:expat)))
5530 7336
7337(define-public go-github-com-shurcool-githubv4
7338 (package
7339 (name "go-github-com-shurcool-githubv4")
7340 (version "0.0.0-20240429030203-be2daab69064")
7341 (source
7342 (origin
7343 (method git-fetch)
7344 (uri (git-reference
7345 (url "https://github.com/shurcooL/githubv4")
7346 (commit (go-version->git-ref version))))
7347 (file-name (git-file-name name version))
7348 (sha256
7349 (base32 "0kkvqwv0waa8hj1jr9b4nvz8rmslqpchidl7gs9bplrkl3fvsxn6"))))
7350 (build-system go-build-system)
7351 (arguments
7352 (list
7353 #:import-path "github.com/shurcooL/githubv4"))
7354 (propagated-inputs
7355 (list go-github-com-shurcool-graphql
7356 go-golang-org-x-oauth2))
7357 (home-page "https://github.com/shurcooL/githubv4")
7358 (synopsis "Client library for GitHub GraphQL API v4")
7359 (description
7360 "Package githubv4 is a client library for accessing GitHub @code{GraphQL}
7361API v4.")
7362 (license license:expat)))
7363
7364(define-public go-github-com-shurcool-graphql
7365 (package
7366 (name "go-github-com-shurcool-graphql")
7367 (version "0.0.0-20230722043721-ed46e5a46466")
7368 (source
7369 (origin
7370 (method git-fetch)
7371 (uri (git-reference
7372 (url "https://github.com/shurcooL/graphql")
7373 (commit (go-version->git-ref version))))
7374 (file-name (git-file-name name version))
7375 (sha256
7376 (base32 "12cq16qak217bkpklqsmqhl42gz8cpadpzqw6fsivc3ambjpqdry"))))
7377 (build-system go-build-system)
7378 (arguments
7379 (list
7380 #:import-path "github.com/shurcooL/graphql"))
7381 (home-page "https://github.com/shurcooL/graphql")
7382 (synopsis "GraphQL client")
7383 (description
7384 "Package graphql provides a @code{GraphQL} client implementation.")
7385 (license license:expat)))
7386
5531(define-public go-github-com-shurcool-httpfs 7387(define-public go-github-com-shurcool-httpfs
5532 (package 7388 (package
5533 (name "go-github-com-shurcool-httpfs") 7389 (name "go-github-com-shurcool-httpfs")
@@ -5646,10 +7502,60 @@ provided @code{http.FileSystem}.")
5646 "Package jsonrpc2 provides a Go implementation of JSON-RPC 2.0.") 7502 "Package jsonrpc2 provides a Go implementation of JSON-RPC 2.0.")
5647 (license license:expat))) 7503 (license license:expat)))
5648 7504
7505(define-public go-github-com-ssgelm-cookiejarparser
7506 (package
7507 (name "go-github-com-ssgelm-cookiejarparser")
7508 (version "1.0.1")
7509 (source
7510 (origin
7511 (method git-fetch)
7512 (uri (git-reference
7513 (url "https://github.com/ssgelm/cookiejarparser")
7514 (commit (string-append "v" version))))
7515 (file-name (git-file-name name version))
7516 (sha256
7517 (base32 "0fnm53br0cg3iwzniil0lh9w4xd6xpzfypwfpdiammfqavlqgcw4"))))
7518 (build-system go-build-system)
7519 (arguments
7520 (list
7521 #:embed-files #~(list "children" "nodes" "text")
7522 #:import-path "github.com/ssgelm/cookiejarparser"))
7523 (propagated-inputs (list go-golang-org-x-net))
7524 (home-page "https://github.com/ssgelm/cookiejarparser")
7525 (synopsis "Parse a curl cookiejar with Go")
7526 (description
7527 "This package is a Go library that parses a curl (netscape) cookiejar
7528file into a Go http.CookieJar.")
7529 (license license:expat)))
7530
7531(define-public go-github-com-stathat-go
7532 (package
7533 (name "go-github-com-stathat-go")
7534 (version "1.0.0")
7535 (source
7536 (origin
7537 (method git-fetch)
7538 (uri (git-reference
7539 (url "https://github.com/stathat/go")
7540 (commit (string-append "v" version))))
7541 (file-name (git-file-name name version))
7542 (sha256
7543 (base32 "1zzlsl24dyr202qkr2pay22m6d0gb7ssms77wgdx0r0clgm7dihw"))))
7544 (build-system go-build-system)
7545 (arguments
7546 (list
7547 #:import-path "github.com/stathat/go"))
7548 (home-page "https://github.com/stathat/go")
7549 (synopsis "Post statistics to StatHat")
7550 (description
7551 "This is a Go package for posting to a @url{https://www.stathat.com/,
7552StatHat} account.")
7553 (license license:expat)))
7554
5649(define-public go-github-com-tdewolff-minify-v2 7555(define-public go-github-com-tdewolff-minify-v2
5650 (package 7556 (package
5651 (name "go-github-com-tdewolff-minify-v2") 7557 (name "go-github-com-tdewolff-minify-v2")
5652 (version "2.12.7") 7558 (version "2.21.2")
5653 (source 7559 (source
5654 (origin 7560 (origin
5655 (method git-fetch) 7561 (method git-fetch)
@@ -5658,7 +7564,7 @@ provided @code{http.FileSystem}.")
5658 (commit (string-append "v" version)))) 7564 (commit (string-append "v" version))))
5659 (file-name (git-file-name name version)) 7565 (file-name (git-file-name name version))
5660 (sha256 7566 (sha256
5661 (base32 "0qhslaq885zbqs83nvbi29yh09b89kkb6ycami8lz28wkwrlayap")))) 7567 (base32 "0vhblx1xim14i4npglzdp9hpjz92q2k29wbf9kp9m7id9cm7c7l9"))))
5662 (build-system go-build-system) 7568 (build-system go-build-system)
5663 (arguments 7569 (arguments
5664 (list 7570 (list
@@ -5673,13 +7579,18 @@ provided @code{http.FileSystem}.")
5673 (format #f "src/~a/~a" import-path dir) 7579 (format #f "src/~a/~a" import-path dir)
5674 (make-file-writable "hash.go") 7580 (make-file-writable "hash.go")
5675 (format #t "Generating `hash.go' for ~a...~%" dir) 7581 (format #t "Generating `hash.go' for ~a...~%" dir)
5676 (invoke "go" "generate"))) 7582 (invoke "go" "generate" "-v" "-n")))
5677 '("css" "html" "svg"))))))) 7583 '("css" "html" "svg")))))))
5678 (propagated-inputs 7584 ;; For tests and the CLI.
5679 (list go-github-com-tdewolff-parse-v2))
5680 (native-inputs 7585 (native-inputs
5681 (list go-github-com-tdewolff-hasher 7586 (list go-github-com-djherbis-atime
7587 go-github-com-fsnotify-fsnotify
7588 go-github-com-matryer-try
7589 go-github-com-tdewolff-argp
7590 go-github-com-tdewolff-hasher ; to generate go files
5682 go-github-com-tdewolff-test)) 7591 go-github-com-tdewolff-test))
7592 (propagated-inputs
7593 (list go-github-com-tdewolff-parse-v2))
5683 (home-page "https://go.tacodewolff.nl/minify") 7594 (home-page "https://go.tacodewolff.nl/minify")
5684 (synopsis "Go minifiers for web formats") 7595 (synopsis "Go minifiers for web formats")
5685 (description 7596 (description
@@ -5690,7 +7601,7 @@ an interface to implement any other minifier.")
5690(define-public go-github-com-tdewolff-parse-v2 7601(define-public go-github-com-tdewolff-parse-v2
5691 (package 7602 (package
5692 (name "go-github-com-tdewolff-parse-v2") 7603 (name "go-github-com-tdewolff-parse-v2")
5693 (version "2.6.6") 7604 (version "2.7.19")
5694 (source 7605 (source
5695 (origin 7606 (origin
5696 (method git-fetch) 7607 (method git-fetch)
@@ -5699,7 +7610,7 @@ an interface to implement any other minifier.")
5699 (commit (string-append "v" version)))) 7610 (commit (string-append "v" version))))
5700 (file-name (git-file-name name version)) 7611 (file-name (git-file-name name version))
5701 (sha256 7612 (sha256
5702 (base32 "1dqki9ima079k9a3l72igmx5dml8qsl9z8rzw8a433f4gjhlv320")))) 7613 (base32 "17yswndnxgdj425h5q25wfvchjxnjf6nxyx76k9yn12r16arbl44"))))
5703 (build-system go-build-system) 7614 (build-system go-build-system)
5704 (arguments 7615 (arguments
5705 (list 7616 (list
@@ -5725,6 +7636,95 @@ an interface to implement any other minifier.")
5725 "This package contains several lexers and parsers written in Go.") 7636 "This package contains several lexers and parsers written in Go.")
5726 (license license:expat))) 7637 (license license:expat)))
5727 7638
7639(define-public go-github-com-tetratelabs-wabin
7640 (package
7641 (name "go-github-com-tetratelabs-wabin")
7642 (version "0.0.0-20230304001439-f6f874872834")
7643 (source
7644 (origin
7645 (method git-fetch)
7646 (uri (git-reference
7647 (url "https://github.com/tetratelabs/wabin")
7648 (commit (go-version->git-ref version))))
7649 (file-name (git-file-name name version))
7650 (sha256
7651 (base32 "195bh4n2ba3rbgzcb1h7zi93dr0k38qxhg8m0laa0z41vl9i0igm"))))
7652 (build-system go-build-system)
7653 (arguments
7654 (list
7655 #:import-path "github.com/tetratelabs/wabin"
7656 #:phases
7657 #~(modify-phases %standard-phases
7658 ;; XXX: Replace when go-build-system supports nested path.
7659 (delete 'build)
7660 (replace 'check
7661 (lambda* (#:key import-path tests? #:allow-other-keys)
7662 (when tests?
7663 (with-directory-excursion (string-append "src/" import-path)
7664 (invoke "go" "test" "-v" "./..."))))))))
7665 (native-inputs
7666 (list go-github-com-stretchr-testify))
7667 (home-page "https://github.com/tetratelabs/wabin")
7668 (synopsis "WebAssembly Binary Format in Go")
7669 (description
7670 "This package provides @code{WebAssembly} a @code{WebAssembly} data model
7671and binary encoder.")
7672 (license license:asl2.0)))
7673
7674(define-public go-github-com-tetratelabs-wazero
7675 (package
7676 (name "go-github-com-tetratelabs-wazero")
7677 (version "1.8.2")
7678 (source
7679 (origin
7680 (method git-fetch)
7681 (uri (git-reference
7682 (url "https://github.com/tetratelabs/wazero")
7683 (commit (string-append "v" version))))
7684 (file-name (git-file-name name version))
7685 (sha256
7686 (base32 "1xchvrkp6m729x3jknj3qwms4w2b2q8kcwyxhkmagms43yg4ykm5"))
7687 (modules '((guix build utils)))
7688 (snippet
7689 #~(begin
7690 (for-each delete-file-recursively
7691 (list
7692 ;; This directory holds the wazero site's source code.
7693 "site"
7694 ;; Windows related MSI packaging files.
7695 "packaging"))))))
7696 (build-system go-build-system)
7697 (arguments
7698 (list
7699 #:import-path "github.com/tetratelabs/wazero"
7700 #:test-flags
7701 #~(list "-skip" (string-join
7702 (list "TestHugePageConfigs"
7703 "TestRun"
7704 "TestRun/3_1"
7705 "Test_cli"
7706 "Test_cli/cargo-wasi"
7707 "Test_cli/cargo-wasi/test.txt"
7708 "Test_cli/cargo-wasi/testcases/test.txt"
7709 "Test_cli/tinygo"
7710 "Test_cli/tinygo/test.txt"
7711 "Test_cli/tinygo/testcases/test.txt"
7712 "Test_cli/zig"
7713 "Test_cli/zig-cc"
7714 "Test_cli/zig-cc/test.txt"
7715 "Test_cli/zig-cc/testcases/test.txt"
7716 "Test_cli/zig/test.txt")
7717 "|"))))
7718 (home-page "https://github.com/tetratelabs/wazero")
7719 (synopsis "Zero dependency WebAssembly runtime for Go")
7720 (description
7721 "wazero is a WebAssembly Core Specification
7722@url{https://www.w3.org/TR/2019/REC-wasm-core-1-20191205/,1.0} and
7723@code{https://www.w3.org/TR/2022/WD-wasm-core-2-20220419/,2.0} compliant
7724runtime. It has zero dependencies, and doesn't rely on CGO. This means you
7725can run applications in other languages and still keep cross compilation.")
7726 (license license:asl2.0)))
7727
5728(define-public go-github-com-tv42-httpunix 7728(define-public go-github-com-tv42-httpunix
5729 (let ((commit "2ba4b9c3382c77e7b9ea89d00746e6111d142a22") 7729 (let ((commit "2ba4b9c3382c77e7b9ea89d00746e6111d142a22")
5730 (revision "0")) 7730 (revision "0"))
@@ -5749,6 +7749,34 @@ an interface to implement any other minifier.")
5749sockets.") 7749sockets.")
5750 (license license:expat)))) 7750 (license license:expat))))
5751 7751
7752(define-public go-github-com-txthinking-socks5
7753 (package
7754 (name "go-github-com-txthinking-socks5")
7755 (version "0.0.0-20230325130024-4230056ae301")
7756 (source
7757 (origin
7758 (method git-fetch)
7759 (uri (git-reference
7760 (url "https://github.com/txthinking/socks5")
7761 (commit (go-version->git-ref version))))
7762 (file-name (git-file-name name version))
7763 (sha256
7764 (base32 "1zbwczxwmx8ngs6s0bnb0v73jvx96m9ll753zfgcns8fvvgdi2lb"))))
7765 (build-system go-build-system)
7766 (arguments
7767 (list
7768 #:import-path "github.com/txthinking/socks5"))
7769 (propagated-inputs
7770 (list go-github-com-miekg-dns
7771 go-github-com-patrickmn-go-cache
7772 go-github-com-txthinking-runnergroup))
7773 (home-page "https://github.com/txthinking/socks5")
7774 (synopsis "SOCKSv5 protocol Golang library")
7775 (description
7776 "This package provides a SOCKS protocol version 5 library with full
7777TCP/UDP and IPv4/IPv6 support.")
7778 (license license:expat)))
7779
5752(define-public go-github-com-ucarion-urlpath 7780(define-public go-github-com-ucarion-urlpath
5753 (package 7781 (package
5754 (name "go-github-com-ucarion-urlpath") 7782 (name "go-github-com-ucarion-urlpath")
@@ -5809,7 +7837,7 @@ encoding library for the MessagePack, CBOR, JSON and the Binc formats.")
5809(define-public go-github-com-valyala-fasthttp 7837(define-public go-github-com-valyala-fasthttp
5810 (package 7838 (package
5811 (name "go-github-com-valyala-fasthttp") 7839 (name "go-github-com-valyala-fasthttp")
5812 (version "1.39.0") 7840 (version "1.58.0")
5813 (source 7841 (source
5814 (origin 7842 (origin
5815 (method git-fetch) 7843 (method git-fetch)
@@ -5818,11 +7846,17 @@ encoding library for the MessagePack, CBOR, JSON and the Binc formats.")
5818 (commit (string-append "v" version)))) 7846 (commit (string-append "v" version))))
5819 (file-name (git-file-name name version)) 7847 (file-name (git-file-name name version))
5820 (sha256 7848 (sha256
5821 (base32 "12qwx0yk7wjj25v4fswgmj28r69gk94kqdmzavca8k9f0yznniz1")))) 7849 (base32 "0r823fikgyhnmcn322anhs3ivkbzhdgbywvwi81v9kvfhi35plli"))))
5822 (build-system go-build-system) 7850 (build-system go-build-system)
5823 (arguments 7851 (arguments
5824 (list 7852 (list
5825 #:import-path "github.com/valyala/fasthttp" 7853 #:import-path "github.com/valyala/fasthttp"
7854 #:test-flags
7855 #~(list "-skip" (string-join
7856 ;; Network set up is required.
7857 (list "TestClientConfigureClientFailed"
7858 "TestDialer_GetDialFunc")
7859 "|"))
5826 #:phases 7860 #:phases
5827 #~(modify-phases %standard-phases 7861 #~(modify-phases %standard-phases
5828 (replace 'check 7862 (replace 'check
@@ -5847,6 +7881,132 @@ encoding library for the MessagePack, CBOR, JSON and the Binc formats.")
5847replacement for native @code{net/http} module.") 7881replacement for native @code{net/http} module.")
5848 (license license:expat))) 7882 (license license:expat)))
5849 7883
7884(define-public go-github-com-valyala-tcplisten
7885 (package
7886 (name "go-github-com-valyala-tcplisten")
7887 (version "1.0.0")
7888 (source
7889 (origin
7890 (method git-fetch)
7891 (uri (git-reference
7892 (url "https://github.com/valyala/tcplisten")
7893 (commit (string-append "v" version))))
7894 (file-name (git-file-name name version))
7895 (sha256
7896 (base32 "1fv5hxmq1jwrjn1rdjvbmjrrkb601zcdh01qhx6d8l7ss6n05zb8"))))
7897 (build-system go-build-system)
7898 (arguments
7899 ;; NOTE: (Sharlatan-20211218T165504+0000): Tests failing:
7900 ;;
7901 ;; tcplisten_test.go:56: cannot create listener 0 using Config
7902 ;; &tcplisten.Config{ReusePort:false, DeferAccept:false, FastOpen:false,
7903 ;; Backlog:32}: lookup ip6-localhost on [::1]:53: read udp
7904 ;; [::1]:33932->[::1]:53: read: connection refused
7905 ;;
7906 '(#:tests? #f
7907 #:import-path "github.com/valyala/tcplisten"))
7908 (home-page "https://github.com/valyala/tcplisten")
7909 (synopsis "Customizable TCP net.Listener for Go")
7910 (description
7911 "@code{tcplisten} provides customizable TCP net.Listener with various
7912performance-related options.")
7913 (license license:expat)))
7914
7915(define-public go-github-com-vektah-gqlparser-v2
7916 (package
7917 (name "go-github-com-vektah-gqlparser-v2")
7918 (version "2.5.21")
7919 (source
7920 (origin
7921 (method git-fetch)
7922 (uri (git-reference
7923 (url "https://github.com/vektah/gqlparser")
7924 (commit (string-append "v" version))))
7925 (file-name (git-file-name name version))
7926 (sha256
7927 (base32 "0hrzm9f3kvcblff4hypf1p95kxsv5pww7vcghhw2jb7r8r4kmdf0"))))
7928 (build-system go-build-system)
7929 (arguments
7930 (list
7931 #:import-path "github.com/vektah/gqlparser/v2"))
7932 (native-inputs
7933 (list go-github-com-andreyvit-diff
7934 go-github-com-stretchr-testify))
7935 (propagated-inputs
7936 (list go-github-com-agnivade-levenshtein
7937 go-gopkg-in-yaml-v3))
7938 (home-page "https://github.com/vektah/gqlparser")
7939 (synopsis "Port of the parser from @code{graphql-js} into golang")
7940 (description
7941 "This is a parser for GraphQL, written to mirror the
7942@url{https://github.com/graphql/graphql-js, graphql-js} reference
7943implementation as closely while remaining idiomatic and easy to use.")
7944 (license license:expat)))
7945
7946(define-public go-github-com-vishvananda-netlink
7947 (package
7948 (name "go-github-com-vishvananda-netlink")
7949 (version "1.3.0")
7950 (source
7951 (origin
7952 (method git-fetch)
7953 (uri (git-reference
7954 (url "https://github.com/vishvananda/netlink")
7955 (commit (string-append "v" version))))
7956 (file-name (git-file-name name version))
7957 (sha256
7958 (base32 "1ckwb1ml7i2ccdd7kzc04s839naf4arlxav2ip5kf4rm4xhba9g7"))))
7959 (build-system go-build-system)
7960 (arguments
7961 (list
7962 ;; The tests are unsupported on all architectures except x86_64-linux:
7963 ;; cannot use 0xabcdef99 (untyped int constant 2882400153) as int value
7964 ;; in struct literal (overflows)
7965 #:tests? (and (not (%current-target-system)) (target-x86-64?))
7966 #:test-flags
7967 ;; One test fails with error: operation not permitted.
7968 #~(list "-skip" "TestSocketXDPGetInfo")
7969 #:import-path "github.com/vishvananda/netlink"))
7970 (propagated-inputs
7971 (list go-github-com-vishvananda-netns
7972 go-golang-org-x-sys))
7973 (home-page "https://github.com/vishvananda/netlink")
7974 (synopsis "Simple netlink library for Go")
7975 (description
7976 "The netlink package provides a simple netlink library for Go. Netlink
7977is the interface a user-space program in Linux uses to communicate with the
7978kernel. It can be used to add and remove interfaces, set IP addresses and
7979routes, and configure IPsec.")
7980 (license license:asl2.0)))
7981
7982(define-public go-github-com-vishvananda-netns
7983 (package
7984 (name "go-github-com-vishvananda-netns")
7985 (version "0.0.5")
7986 (source
7987 (origin
7988 (method git-fetch)
7989 (uri (git-reference
7990 (url "https://github.com/vishvananda/netns")
7991 (commit (string-append "v" version))))
7992 (file-name (git-file-name name version))
7993 (sha256
7994 (base32 "1f96fbmjq93msdfxmicnypnn2lzvi7jrxy82fiyd9gwxdapfd061"))))
7995 (build-system go-build-system)
7996 (arguments
7997 (list
7998 ;; Tests fail with error: operation not permitted.
7999 #:test-flags #~(list "-skip" "TestGetNewSetDelete|TestThreaded")
8000 #:import-path "github.com/vishvananda/netns"))
8001 (propagated-inputs
8002 (list go-golang-org-x-sys))
8003 (home-page "https://github.com/vishvananda/netns")
8004 (synopsis "Simple network namespace handling for Go")
8005 (description
8006 "The netns package provides a simple interface for handling network
8007namespaces in Go.")
8008 (license license:asl2.0)))
8009
5850(define-public go-github-com-whyrusleeping-cbor 8010(define-public go-github-com-whyrusleeping-cbor
5851 (package 8011 (package
5852 (name "go-github-com-whyrusleeping-cbor") 8012 (name "go-github-com-whyrusleeping-cbor")
@@ -5988,6 +8148,34 @@ missing it. It address the issues
5988@url{https://github.com/golang/go/issues/68082, #68082}.") 8148@url{https://github.com/golang/go/issues/68082, #68082}.")
5989 (license license:bsd-3))) 8149 (license license:bsd-3)))
5990 8150
8151(define-public go-github-com-xdg-go-scram
8152 (package
8153 (name "go-github-com-xdg-go-scram")
8154 (version "1.1.2")
8155 (source
8156 (origin
8157 (method git-fetch)
8158 (uri (git-reference
8159 (url "https://github.com/xdg-go/scram")
8160 (commit (string-append "v" version))))
8161 (file-name (git-file-name name version))
8162 (sha256
8163 (base32 "1bkznny84fdn4sy3wq5680v424glsq9nh2169qy51213bah6by84"))))
8164 (build-system go-build-system)
8165 (arguments
8166 (list
8167 #:import-path "github.com/xdg-go/scram"))
8168 (propagated-inputs
8169 (list go-github-com-xdg-go-stringprep
8170 go-github-com-xdg-go-pbkdf2))
8171 (home-page "https://github.com/xdg-go/scram")
8172 (synopsis "Go implementation of RFC-5802")
8173 (description
8174 "Package scram provides client and server implementations of the
8175@acronym{Salted Challenge Response Authentication Mechanism, SCRAM} described
8176in RFC-5802 and RFC-7677.")
8177 (license license:asl2.0)))
8178
5991(define-public go-github-com-xeipuuv-gojsonpointer 8179(define-public go-github-com-xeipuuv-gojsonpointer
5992 (let ((commit "4e3ac2762d5f479393488629ee9370b50873b3a6") 8180 (let ((commit "4e3ac2762d5f479393488629ee9370b50873b3a6")
5993 (revision "0")) 8181 (revision "0"))
@@ -6073,6 +8261,87 @@ programming language.")
6073programming language, which supports draft-04, draft-06 and draft-07.") 8261programming language, which supports draft-04, draft-06 and draft-07.")
6074 (license license:asl2.0))) 8262 (license license:asl2.0)))
6075 8263
8264(define-public go-github-com-xo-dburl
8265 (package
8266 (name "go-github-com-xo-dburl")
8267 (version "0.23.2")
8268 (source
8269 (origin
8270 (method git-fetch)
8271 (uri (git-reference
8272 (url "https://github.com/xo/dburl")
8273 (commit (string-append "v" version))))
8274 (file-name (git-file-name name version))
8275 (sha256
8276 (base32 "0yxyfrm45dqd26513r2cvgkqfsclijsfzqrckbw45wydk45mq442"))))
8277 (build-system go-build-system)
8278 (arguments
8279 (list
8280 #:import-path "github.com/xo/dburl"))
8281 (home-page "https://github.com/xo/dburl")
8282 (synopsis
8283 "URL style mechanism for parsing and opening SQL database connection strings")
8284 (description
8285 "Package dburl provides a standard, @code{net/url.URL} style mechanism
8286for parsing and opening SQL database connection strings for Go. Provides
8287standardized way to parse and open @@url{#URL,URL}'s for popular databases
8288@code{PostgreSQL}, @code{MySQL}, SQLite3, Oracle Database, Microsoft SQL
8289Server, in addition to most other SQL databases with a publicly available Go
8290driver.")
8291 (license license:expat)))
8292
8293(define-public go-github-com-xtaci-kcp-go-v5
8294 (package
8295 (name "go-github-com-xtaci-kcp-go-v5")
8296 (version "5.6.18")
8297 (source
8298 (origin
8299 (method git-fetch)
8300 (uri (git-reference
8301 (url "https://github.com/xtaci/kcp-go")
8302 (commit (string-append "v" version))))
8303 (file-name (git-file-name name version))
8304 (sha256
8305 (base32 "17jqgl2zdra9rz8ap3zlrk7ljnm316gd4dy4cimlk2641n8r5bjx"))))
8306 (build-system go-build-system)
8307 (arguments
8308 (list
8309 #:import-path "github.com/xtaci/kcp-go/v5"))
8310 (native-inputs
8311 (list go-github-com-stretchr-testify))
8312 (propagated-inputs
8313 (list go-github-com-klauspost-reedsolomon
8314 go-github-com-pkg-errors
8315 go-github-com-templexxx-xorsimd
8316 go-github-com-tjfoc-gmsm
8317 go-github-com-xtaci-lossyconn
8318 go-golang-org-x-crypto
8319 go-golang-org-x-net))
8320 (home-page "https://github.com/xtaci/kcp-go")
8321 (synopsis "Crypto-Secure Reliable-UDP Library with FEC")
8322 (description
8323 "This package provides smooth, resilient, ordered, error-checked and
8324anonymous delivery of streams over UDP packets.
8325Features:
8326@itemize
8327@item designed for latency-sensitive scenarios
8328@item cache-friendly and memory-optimized design
8329@item handles >5K concurrent connections on a single commodity server
8330@item compatible with @code{net.Conn} and @code{net.Listener}, serving as a
8331drop-in replacement for @code{net.TCPConn}
8332@item @acronym{Forward Error Correction, FEC} support with
8333@url{https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction,
8334Reed-Solomon Codes}
8335@item packet-level encryption support with @code{3DES}, @code{AES},
8336@code{Blowfish}, @code{Cast5}, @code{PBKDF2}, @code{SM4}, @code{Salsa20},
8337@code{TEA}, @code{Twofish}, and @code{XTEA}
8338@item only a fixed number of goroutines are created for the entire server
8339application
8340@item compatible with @url{https://github.com/skywind3000, skywind3000}'s C
8341version with various improvements
8342@end itemize")
8343 (license license:expat)))
8344
6076(define-public go-github-com-xtaci-lossyconn 8345(define-public go-github-com-xtaci-lossyconn
6077 (package 8346 (package
6078 (name "go-github-com-xtaci-lossyconn") 8347 (name "go-github-com-xtaci-lossyconn")
@@ -6124,6 +8393,192 @@ multiplexing. The original intention of this library is to power the
6124connection management for @url{https://github.com/xtaci/kcp-go,kcp-go}.") 8393connection management for @url{https://github.com/xtaci/kcp-go,kcp-go}.")
6125 (license license:expat))) 8394 (license license:expat)))
6126 8395
8396(define-public go-gitlab-torproject-org-tpo-anti-censorship-geoip
8397 (package
8398 (name "go-gitlab-torproject-org-tpo-anti-censorship-geoip")
8399 (version "0.0.0-20210928150955-7ce4b3d98d01")
8400 (source
8401 (origin
8402 (method git-fetch)
8403 (uri (git-reference
8404 (url
8405 "https://gitlab.torproject.org/tpo/anti-censorship/geoip.git")
8406 (commit (go-version->git-ref version))))
8407 (file-name (git-file-name name version))
8408 (sha256
8409 (base32 "0i7dc717w1g7hk7488vscqxj0a10af6fz9jczxxsfyxagynfzqcq"))))
8410 (build-system go-build-system)
8411 (arguments
8412 (list
8413 #:import-path "gitlab.torproject.org/tpo/anti-censorship/geoip"))
8414 (propagated-inputs
8415 (list go-github-com-smartystreets-goconvey))
8416 (home-page "https://gitlab.torproject.org/tpo/anti-censorship/geoip")
8417 (synopsis "GeoIP go library that uses the tor geoipdb")
8418 (description
8419 "This code is for loading database data that maps IP addresses to
8420countries for collecting and presenting statistics on snowflake use that might
8421alert us to censorship events.")
8422 (license license:bsd-3)))
8423
8424(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib
8425 (package
8426 (name "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib")
8427 (version "1.6.0")
8428 (source
8429 (origin
8430 (method git-fetch)
8431 (uri (git-reference
8432 (url "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib")
8433 (commit (string-append "v" version))))
8434 (file-name (git-file-name name version))
8435 (sha256
8436 (base32 "0jw9vlvlx7rrl366kwz47414aciw3r37lwg6h4jq8cj5hb4bqnd9"))))
8437 (build-system go-build-system)
8438 (arguments
8439 (list
8440 #:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib"))
8441 (home-page "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib")
8442 (synopsis "Go pluggable transports library")
8443 (description "GoPtLib is a library for writing Tor pluggable transports in
8444Go.")
8445 (license license:cc0)))
8446
8447(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-ptutil
8448 (package
8449 (name
8450 "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-ptutil")
8451 (version "0.0.0-20240710081135-6c4d8ed41027")
8452 (source
8453 (origin
8454 (method git-fetch)
8455 (uri (git-reference
8456 (url (string-append
8457 "https://gitlab.torproject.org/tpo/anti-censorship"
8458 "/pluggable-transports/ptutil.git"))
8459 (commit (go-version->git-ref version))))
8460 (file-name (git-file-name name version))
8461 (sha256
8462 (base32 "1h7ssgsny6abhpycgks1kvqzvd20s081n39j5yxjjr7zn495ysdc"))))
8463 (build-system go-build-system)
8464 (arguments
8465 (list
8466 #:skip-build? #t
8467 #:import-path
8468 "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/ptutil"))
8469 (propagated-inputs
8470 (list go-github-com-prometheus-client-golang
8471 go-github-com-prometheus-client-model
8472 go-google-golang-org-protobuf))
8473 (home-page
8474 "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/ptutil")
8475 (synopsis "Collection of utilities for Pluggable Transports")
8476 (description
8477 "This package provides a collection of utilities for Pluggable Transports.")
8478 (license license:bsd-3)))
8479
8480(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2
8481 (package
8482 (name
8483 "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2")
8484 (version "2.10.1")
8485 (source
8486 (origin
8487 (method git-fetch)
8488 (uri (git-reference
8489 (url (string-append
8490 "https://gitlab.torproject.org/tpo/anti-censorship"
8491 "/pluggable-transports/snowflake"))
8492 (commit (string-append "v" version))))
8493 (file-name (git-file-name name version))
8494 (sha256
8495 (base32 "14ypgzj6c6vjw9s85wf2vdfa9l06iandx7gz90i3w6r65q2cp6vj"))))
8496 (build-system go-build-system)
8497 (arguments
8498 (list
8499 ;; Project provides a Go library and also CLI builds.
8500 #:skip-build? #t
8501 #:import-path
8502 "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2"
8503 ;; panic: empty transcript [recovered]
8504 #:test-flags #~(list "-skip" "TestQueuePacketConnWriteToKCP")))
8505 (native-inputs
8506 (list go-github-com-golang-mock
8507 go-github-com-stretchr-testify))
8508 (propagated-inputs
8509 (list go-github-com-aws-aws-sdk-go-v2
8510 go-github-com-aws-aws-sdk-go-v2-config
8511 go-github-com-aws-aws-sdk-go-v2-credentials
8512 go-github-com-aws-aws-sdk-go-v2-service-sqs
8513 go-github-com-golang-mock
8514 go-github-com-gorilla-websocket
8515 go-github-com-miekg-dns
8516 go-github-com-pion-ice-v2
8517 go-github-com-pion-sdp-v3
8518 go-github-com-pion-stun-v3
8519 go-github-com-pion-transport-v2
8520 go-github-com-pion-webrtc-v3
8521 go-github-com-prometheus-client-golang
8522 go-github-com-realclientip-realclientip-go
8523 go-github-com-refraction-networking-utls
8524 go-github-com-smartystreets-goconvey
8525 go-github-com-stretchr-testify
8526 go-github-com-txthinking-socks5
8527 go-github-com-xtaci-kcp-go-v5
8528 go-github-com-xtaci-smux
8529 go-gitlab-torproject-org-tpo-anti-censorship-geoip
8530 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib
8531 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-ptutil
8532 go-golang-org-x-crypto
8533 go-golang-org-x-net
8534 go-golang-org-x-sys))
8535 (home-page
8536 "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake")
8537 (synopsis "Pluggable Transport using WebRTC, inspired by Flashproxy")
8538 (description
8539 "Pluggable Transport using @code{WebRTC}, inspired by Flashproxy and
8540adheres to the pluggable transports v2.1 Go AP.
8541This package provides:
8542@itemize
8543@item @code{broker} contains code for the Snowflake broker
8544@item @code{doc} contains Snowflake documentation and manpages
8545@item @code{client} contains the Tor pluggable transport client and client
8546library code
8547@item @code{common} contains generic libraries used by multiple pieces of
8548Snowflake
8549@item @code{proxy} contains code for the Go standalone Snowflake proxy
8550@item @code{probetest} contains code for a NAT probetesting service
8551@item @code{server} contains the Tor pluggable transport server and server
8552library code
8553@end itemize")
8554 (license license:bsd-3)))
8555
8556(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-webtunnel
8557 (package
8558 (name "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-webtunnel")
8559 (version "0.0.0-20240711104640-e64b1b3562f3")
8560 (source
8561 (origin
8562 (method git-fetch)
8563 (uri (git-reference
8564 (url "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel")
8565 (commit (go-version->git-ref version))))
8566 (file-name (git-file-name name version))
8567 (sha256
8568 (base32 "0nvd0qp1mdy7w32arnkhghxm5k2g6gy33cxlarxc6vdm4yh6v5nv"))))
8569 (build-system go-build-system)
8570 (arguments
8571 (list
8572 #:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel"))
8573 (propagated-inputs
8574 (list go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib))
8575 (home-page "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel")
8576 (synopsis "Go WebTunnel Pluggable Transport")
8577 (description
8578 "WebTunnel is a Go Pluggable Transport that attempts to imitate web
8579browsing activities based on HTTP Upgrade (HTTPT).")
8580 (license license:bsd-2)))
8581
6127(define-public go-go-opentelemetry-io-otel 8582(define-public go-go-opentelemetry-io-otel
6128 (package 8583 (package
6129 (name "go-go-opentelemetry-io-otel") 8584 (name "go-go-opentelemetry-io-otel")
@@ -6180,7 +8635,9 @@ connection management for @url{https://github.com/xtaci/kcp-go,kcp-go}.")
6180 (build-system go-build-system) 8635 (build-system go-build-system)
6181 (arguments 8636 (arguments
6182 (list 8637 (list
6183 #:import-path "go.opentelemetry.io/otel")) 8638 #:import-path "go.opentelemetry.io/otel"
8639 ;; Error: Both arguments must be pointers.
8640 #:test-flags #~(list "-skip" "TestTraceProviderDelegatesSameInstance")))
6184 (native-inputs 8641 (native-inputs
6185 (list go-github-com-stretchr-testify)) 8642 (list go-github-com-stretchr-testify))
6186 (propagated-inputs 8643 (propagated-inputs
@@ -6197,10 +8654,65 @@ go.opentelemetry.io/otel, go.opentelemetry.io/otel/metric and
6197go.opentelemetry.io/otel/trace.") 8654go.opentelemetry.io/otel/trace.")
6198 (license license:asl2.0))) 8655 (license license:asl2.0)))
6199 8656
8657(define-public go-go-opentelemetry-io-otel-log
8658 (package
8659 (name "go-go-opentelemetry-io-otel-log")
8660 (version "0.9.0")
8661 (source
8662 (origin
8663 (method git-fetch)
8664 (uri (git-reference
8665 (url "https://github.com/open-telemetry/opentelemetry-go")
8666 (commit (go-version->git-ref version
8667 #:subdir "log"))))
8668 (file-name (git-file-name name version))
8669 (sha256
8670 (base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
8671 (modules '((guix build utils)
8672 (ice-9 ftw)
8673 (srfi srfi-26)))
8674 (snippet
8675 #~(begin
8676 ;; XXX: 'delete-all-but' is copied from the turbovnc package.
8677 ;; Consider to implement it as re-usable procedure in
8678 ;; guix/build/utils or guix/build-system/go.
8679 (define (delete-all-but directory . preserve)
8680 (define (directory? x)
8681 (and=> (stat x #f)
8682 (compose (cut eq? 'directory <>) stat:type)))
8683 (with-directory-excursion directory
8684 (let* ((pred
8685 (negate (cut member <> (append '("." "..") preserve))))
8686 (items (scandir "." pred)))
8687 (for-each (lambda (item)
8688 (if (directory? item)
8689 (delete-file-recursively item)
8690 (delete-file item)))
8691 items))))
8692 (delete-all-but "." "log")))))
8693 (build-system go-build-system)
8694 (arguments
8695 (list
8696 #:import-path "go.opentelemetry.io/otel/log"
8697 #:unpack-path "go.opentelemetry.io/otel"))
8698 (native-inputs
8699 (list go-github-com-stretchr-testify))
8700 (propagated-inputs
8701 (list go-github-com-go-logr-logr
8702 go-go-opentelemetry-io-otel))
8703 (home-page "https://go.opentelemetry.io/otel")
8704 (synopsis "OpenTelemetry Logs API")
8705 (description
8706 "This package is intended to be used by bridges between existing logging
8707libraries and OpenTelemetry. Users should not directly use this package as a
8708logging library. Instead, install one of the bridges listed in the
8709[registry], and use the associated logging library.")
8710 (license license:asl2.0)))
8711
6200(define-public go-go-opentelemetry-io-otel-sdk 8712(define-public go-go-opentelemetry-io-otel-sdk
6201 (package 8713 (package
6202 (name "go-go-opentelemetry-io-otel-sdk") 8714 (name "go-go-opentelemetry-io-otel-sdk")
6203 (version "1.30.0") 8715 (version "1.33.0")
6204 (source 8716 (source
6205 (origin 8717 (origin
6206 (method git-fetch) 8718 (method git-fetch)
@@ -6209,7 +8721,7 @@ go.opentelemetry.io/otel/trace.")
6209 (commit (go-version->git-ref version #:subdir "sdk")))) 8721 (commit (go-version->git-ref version #:subdir "sdk"))))
6210 (file-name (git-file-name name version)) 8722 (file-name (git-file-name name version))
6211 (sha256 8723 (sha256
6212 (base32 "0mpkwz2ryah5j2fb835pdw9084nwhr6fj3jig2mnvwwnsymp2bvy")) 8724 (base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
6213 (modules '((guix build utils) 8725 (modules '((guix build utils)
6214 (ice-9 ftw) 8726 (ice-9 ftw)
6215 (srfi srfi-26))) 8727 (srfi srfi-26)))
@@ -6231,7 +8743,9 @@ go.opentelemetry.io/otel/trace.")
6231 (delete-file-recursively item) 8743 (delete-file-recursively item)
6232 (delete-file item))) 8744 (delete-file item)))
6233 items)))) 8745 items))))
6234 (delete-all-but "." "sdk"))))) 8746 (delete-all-but "." "sdk")
8747 (delete-file-recursively "sdk/log")
8748 (delete-file-recursively "sdk/metric")))))
6235 (build-system go-build-system) 8749 (build-system go-build-system)
6236 (arguments 8750 (arguments
6237 (list 8751 (list
@@ -6251,6 +8765,123 @@ go.opentelemetry.io/otel/trace.")
6251 "This package provides OpenTelemetry Otel SDK.") 8765 "This package provides OpenTelemetry Otel SDK.")
6252 (license license:asl2.0))) 8766 (license license:asl2.0)))
6253 8767
8768(define-public go-go-opentelemetry-io-otel-sdk-log
8769 (package
8770 (name "go-go-opentelemetry-io-otel-sdk-log")
8771 (version "0.9.0")
8772 (source
8773 (origin
8774 (method git-fetch)
8775 (uri (git-reference
8776 (url "https://github.com/open-telemetry/opentelemetry-go")
8777 (commit (go-version->git-ref version
8778 #:subdir "sdk/log"))))
8779 (file-name (git-file-name name version))
8780 (sha256
8781 (base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
8782 (modules '((guix build utils)
8783 (ice-9 ftw)
8784 (srfi srfi-26)))
8785 (snippet
8786 #~(begin
8787 ;; XXX: 'delete-all-but' is copied from the turbovnc package.
8788 ;; Consider to implement it as re-usable procedure in
8789 ;; guix/build/utils or guix/build-system/go.
8790 (define (delete-all-but directory . preserve)
8791 (define (directory? x)
8792 (and=> (stat x #f)
8793 (compose (cut eq? 'directory <>) stat:type)))
8794 (with-directory-excursion directory
8795 (let* ((pred
8796 (negate (cut member <> (append '("." "..") preserve))))
8797 (items (scandir "." pred)))
8798 (for-each (lambda (item)
8799 (if (directory? item)
8800 (delete-file-recursively item)
8801 (delete-file item)))
8802 items))))
8803 (delete-all-but "sdk" "log")
8804 (delete-all-but "." "sdk")))))
8805 (build-system go-build-system)
8806 (arguments
8807 (list
8808 #:import-path "go.opentelemetry.io/otel/sdk/log"
8809 #:unpack-path "go.opentelemetry.io/otel"))
8810 (native-inputs
8811 (list go-github-com-stretchr-testify))
8812 (propagated-inputs
8813 (list go-github-com-go-logr-logr
8814 go-github-com-go-logr-stdr
8815 go-github-com-google-go-cmp
8816 go-go-opentelemetry-io-otel-log
8817 go-go-opentelemetry-io-otel-sdk))
8818 (home-page "https://go.opentelemetry.io/otel")
8819 (synopsis "OpenTelemetry Log SDK library")
8820 (description "Package log provides the @code{OpenTelemetry} Logs SDK.")
8821 (license license:asl2.0)))
8822
8823(define-public go-go-opentelemetry-io-otel-sdk-metric
8824 (package
8825 (name "go-go-opentelemetry-io-otel-sdk-metric")
8826 (version "1.33.0")
8827 (source
8828 (origin
8829 (method git-fetch)
8830 (uri (git-reference
8831 (url "https://github.com/open-telemetry/opentelemetry-go")
8832 (commit (go-version->git-ref version
8833 #:subdir "sdk/metric"))))
8834 (file-name (git-file-name name version))
8835 (sha256
8836 (base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
8837 (modules '((guix build utils)
8838 (ice-9 ftw)
8839 (srfi srfi-26)))
8840 (snippet
8841 #~(begin
8842 ;; XXX: 'delete-all-but' is copied from the turbovnc package.
8843 ;; Consider to implement it as re-usable procedure in
8844 ;; guix/build/utils or guix/build-system/go.
8845 (define (delete-all-but directory . preserve)
8846 (define (directory? x)
8847 (and=> (stat x #f)
8848 (compose (cut eq? 'directory <>) stat:type)))
8849 (with-directory-excursion directory
8850 (let* ((pred
8851 (negate (cut member <> (append '("." "..") preserve))))
8852 (items (scandir "." pred)))
8853 (for-each (lambda (item)
8854 (if (directory? item)
8855 (delete-file-recursively item)
8856 (delete-file item)))
8857 items))))
8858 (delete-all-but "sdk" "metric")
8859 (delete-all-but "." "sdk")))))
8860 (build-system go-build-system)
8861 (arguments
8862 (list
8863 #:import-path "go.opentelemetry.io/otel/sdk/metric"
8864 #:unpack-path "go.opentelemetry.io/otel"
8865 #:test-flags
8866 #~(list "-skip" (string-join
8867 (list "TestGlobalInstRegisterCallback"
8868 "TestMeterProviderDelegation")
8869 "|"))))
8870 (native-inputs
8871 (list go-github-com-stretchr-testify))
8872 (propagated-inputs
8873 (list go-github-com-go-logr-logr
8874 go-github-com-go-logr-stdr
8875 go-github-com-google-go-cmp
8876 go-go-opentelemetry-io-otel
8877 go-go-opentelemetry-io-otel-sdk))
8878 (home-page "https://go.opentelemetry.io/otel")
8879 (synopsis "OpenTelemetry Metric SDK library")
8880 (description
8881 "Package metric provides an implementation of the @code{OpenTelemetry}
8882metrics SDK.")
8883 (license license:asl2.0)))
8884
6254(define-public go-golang-org-x-oauth2 8885(define-public go-golang-org-x-oauth2
6255 (package 8886 (package
6256 (name "go-golang-org-x-oauth2") 8887 (name "go-golang-org-x-oauth2")
@@ -6325,42 +8956,166 @@ go.opentelemetry.io/otel/trace.")
6325 (description "This package is a Go Implementation of WireGuard.") 8956 (description "This package is a Go Implementation of WireGuard.")
6326 (license license:expat))) 8957 (license license:expat)))
6327 8958
6328;; XXX: This repository has been archived by the owner on Feb 27, 2023. It is 8959(define-public go-gopkg-in-go-jose-go-jose-v2
6329;; now read-only and it is DEPRECATED.
6330(define-public go-gopkg-in-square-go-jose-v2
6331 (package 8960 (package
6332 (name "go-gopkg-in-square-go-jose-v2") 8961 (inherit go-github-com-go-jose-go-jose-v3)
6333 (version "2.6.0") 8962 (name "go-gopkg-in-go-jose-go-jose-v2")
8963 (version "2.6.3")
6334 (source 8964 (source
6335 (origin 8965 (origin
6336 (method git-fetch) 8966 (method git-fetch)
6337 (uri (git-reference 8967 (uri (git-reference
6338 (url "https://github.com/square/go-jose") 8968 (url "https://github.com/go-jose/go-jose")
6339 (commit (string-append "v" version)))) 8969 (commit (string-append "v" version))))
6340 (file-name (git-file-name name version)) 8970 (file-name (git-file-name name version))
6341 (sha256 8971 (sha256
6342 (base32 "1b1nhqxfmhzwrfk7pkvp2w3z3d0pf5ir00vizmy2d4xdbnldn70r")))) 8972 (base32 "0frg4g9gyqdgf7h0xai9771a47ndb0zqbw0rp5yk0dswsq1vk4kq"))))
8973 (arguments
8974 (substitute-keyword-arguments
8975 (package-arguments go-github-com-go-jose-go-jose-v3)
8976 ((#:import-path _) "gopkg.in/go-jose/go-jose.v2")))
8977 (propagated-inputs
8978 (list go-golang-org-x-crypto
8979 go-gopkg-in-alecthomas-kingpin-v2))))
8980
8981;; This to satisfy alternative import path.
8982(define-public go-gopkg-in-jcmturner-rpc-v1
8983 (package
8984 (inherit go-github-com-jcmturner-rpc)
8985 (name "go-gopkg-in-jcmturner-rpc-v1")
8986 (arguments
8987 (substitute-keyword-arguments
8988 (package-arguments go-github-com-jcmturner-rpc)
8989 ((#:import-path _) "gopkg.in/jcmturner/rpc.v1")))))
8990
8991;; This to satisfy alternative import path.
8992(define-public go-gopkg-in-jcmturner-rpc-v2
8993 (package
8994 (inherit go-github-com-jcmturner-rpc-v2)
8995 (name "go-gopkg-in-jcmturner-rpc-v2")
8996 (arguments
8997 (substitute-keyword-arguments
8998 (package-arguments go-github-com-jcmturner-rpc-v2)
8999 ((#:tests? _ #t) #f)
9000 ((#:import-path _) "gopkg.in/jcmturner/rpc.v2")))))
9001
9002(define-public go-k8s-io-kube-openapi
9003 (package
9004 (name "go-k8s-io-kube-openapi")
9005 (version "0.0.0-20241212222426-2c72e554b1e7")
9006 ;; XXX: Unbundle third_party in pkg.
9007 (source
9008 (origin
9009 (method git-fetch)
9010 (uri (git-reference
9011 (url "https://github.com/kubernetes/kube-openapi")
9012 (commit (go-version->git-ref version))))
9013 (file-name (git-file-name name version))
9014 (sha256
9015 (base32 "0crd349jd210bh68ic70pqmdkfns7cix2qhsa6pfya6kbvschyf9"))
9016 ;; XXX: test/integration contains submodule with it's own go.mod.
9017 (modules '((guix build utils)))
9018 (snippet
9019 #~(begin
9020 ;; Keeping just testdata.
9021 (for-each delete-file-recursively
9022 (list "test/integration/builder"
9023 "test/integration/builder3"
9024 "test/integration/openapiconv"
9025 "test/integration/pkg/generated"
9026 "test/integration/testutil"
9027 "test/integration/import.go"
9028 "test/integration/integration_suite_test.go"))))))
6343 (build-system go-build-system) 9029 (build-system go-build-system)
6344 (arguments 9030 (arguments
6345 (list 9031 (list
6346 ;; XXX: We strongly encourage users of square/go-jose to migrate to v3 9032 #:go go-1.23
6347 ;; of go-jose/go-jose. No support, security fixes or updates will be 9033 #:import-path "k8s.io/kube-openapi"
6348 ;; delivered to the v1/v2 branches in the Square repository. 9034 #:phases
6349 #:tests? #f 9035 #~(modify-phases %standard-phases
6350 #:import-path "gopkg.in/square/go-jose.v2")) 9036 (delete 'build)))) ; no go files in project's root
6351 (propagated-inputs
6352 (list go-golang-org-x-crypto))
6353 (native-inputs 9037 (native-inputs
6354 (list go-github-com-google-go-cmp 9038 (list go-github-com-getkin-kin-openapi
9039 go-github-com-google-gofuzz
9040 go-github-com-onsi-ginkgo-v2
9041 go-github-com-onsi-gomega
6355 go-github-com-stretchr-testify)) 9042 go-github-com-stretchr-testify))
6356 (home-page "https://gopkg.in/square/go-jose.v2") 9043 (propagated-inputs
6357 (synopsis "Implementation of JOSE standards (JWE, JWS, JWT) in Go") 9044 (list go-github-com-emicklei-go-restful-v3
6358 (description 9045 go-github-com-go-openapi-jsonreference
6359 "This package aims to provide an implementation of the Javascript Object 9046 go-github-com-go-openapi-swag
6360Signing and Encryption set of standards. This includes support for JSON Web 9047 go-github-com-google-gnostic-models
6361Encryption, JSON Web Signature, and JSON Web Token standards.") 9048 go-github-com-google-go-cmp
9049 go-github-com-google-uuid
9050 go-github-com-munnerz-goautoneg
9051 go-github-com-nytimes-gziphandler
9052 go-github-com-spf13-pflag
9053 go-golang-org-x-tools
9054 go-google-golang-org-protobuf
9055 go-gopkg-in-yaml-v3
9056 go-k8s-io-gengo-v2
9057 go-k8s-io-klog-v2
9058 go-k8s-io-utils
9059 go-sigs-k8s-io-json
9060 go-sigs-k8s-io-structured-merge-diff-v4
9061 go-sigs-k8s-io-yaml))
9062 (home-page "https://github.com/kubernetes/kube-openapi")
9063 (synopsis "Kubernetes OpenAPI spec generation & serving")
9064 (description
9065 "This package implements a Kubernetes OpenAPI discovery spec generation,
9066providing support a subset of OpenAPI features to satisfy kubernetes use-cases
9067but implement that subset with little to no assumption about the structure of
9068the code or routes.")
6362 (license license:asl2.0))) 9069 (license license:asl2.0)))
6363 9070
9071(define-public go-modernc-org-httpfs
9072 (package
9073 (name "go-modernc-org-httpfs")
9074 (version "1.0.6")
9075 (source
9076 (origin
9077 (method git-fetch)
9078 (uri (git-reference
9079 (url "https://gitlab.com/cznic/httpfs")
9080 (commit (string-append "v" version))))
9081 (file-name (git-file-name name version))
9082 (sha256
9083 (base32 "01q5rvhxmrd45h0ljh4185wlly7rxv6vvh28d2shsyan4nj67zf1"))))
9084 (build-system go-build-system)
9085 (arguments
9086 (list
9087 #:import-path "modernc.org/httpfs"))
9088 (home-page "https://gitlab.com/cznic/httpfs")
9089 (synopsis "HTTP file system implementation in Golang")
9090 (description
9091 "Package httpfs implements @code{http.FileSystem} on top of a
9092@code{map[string]string}.")
9093 (license license:bsd-3)))
9094
9095(define-public go-modernc-org-token
9096 (package
9097 (name "go-modernc-org-token")
9098 (version "1.1.0")
9099 (source
9100 (origin
9101 (method git-fetch)
9102 (uri (git-reference
9103 (url "https://gitlab.com/cznic/token")
9104 (commit (string-append "v" version))))
9105 (file-name (git-file-name name version))
9106 (sha256
9107 (base32 "1vvnnfppmgq7hxmw18dx90fg6khwnxpwn9kwwf0hwxsckxfb5icv"))))
9108 (build-system go-build-system)
9109 (arguments
9110 (list
9111 #:import-path "modernc.org/token"))
9112 (home-page "https://modernc.org/token")
9113 (synopsis "Variant of the Golang stdlib package @code{token}")
9114 (description
9115 "Package token is variant of the stdlib package token with types
9116@code{FileSet} and Token removed.")
9117 (license license:bsd-3)))
9118
6364(define-public go-mvdan-cc-xurls-v2 9119(define-public go-mvdan-cc-xurls-v2
6365 (package 9120 (package
6366 (name "go-mvdan-cc-xurls-v2") 9121 (name "go-mvdan-cc-xurls-v2")
@@ -6377,7 +9132,8 @@ Encryption, JSON Web Signature, and JSON Web Token standards.")
6377 (build-system go-build-system) 9132 (build-system go-build-system)
6378 (arguments 9133 (arguments
6379 (list 9134 (list
6380 #:import-path "mvdan.cc/xurls/v2")) 9135 #:import-path "mvdan.cc/xurls/v2"
9136 #:test-flags #~(list "-skip" "TestScript/version")))
6381 (propagated-inputs 9137 (propagated-inputs
6382 (list go-github-com-rogpeppe-go-internal 9138 (list go-github-com-rogpeppe-go-internal
6383 go-golang-org-x-mod 9139 go-golang-org-x-mod
@@ -6420,6 +9176,85 @@ protocol.")
6420;;; Executables: 9176;;; Executables:
6421;;; 9177;;;
6422 9178
9179(define-public go-jose-util
9180 (package
9181 (name "go-jose-util")
9182 (version "0.0.0-20240226165647-31202557b449")
9183 (source
9184 (origin
9185 (method git-fetch)
9186 (uri (git-reference
9187 (url "https://github.com/go-jose/go-jose")
9188 (commit (go-version->git-ref version
9189 #:subdir "jose-util"))))
9190 (file-name (git-file-name name version))
9191 (sha256
9192 (base32 "19kr2r9nnrnixpmpp37p5adnxc92bc3gzqz7rpybgaly2wfssz0q"))))
9193 (build-system go-build-system)
9194 (arguments
9195 (list
9196 #:install-source? #f
9197 #:import-path "github.com/go-jose/go-jose/jose-util"
9198 #:unpack-path "github.com/go-jose/go-jose"))
9199 (native-inputs
9200 (list go-github-com-go-jose-go-jose-v3
9201 go-gopkg-in-alecthomas-kingpin-v2))
9202 (home-page "https://github.com/go-jose/go-jose")
9203 (synopsis "JOSE CLI")
9204 (description
9205 "The @code{jose-util} command line utility allows for encryption,
9206decryption,signing and verification of JOSE messages. Its main purpose is to
9207facilitate dealing with JOSE messages when testing or debugging.")
9208 (license license:asl2.0)))
9209
9210(define-public go-gojay
9211 (package
9212 (inherit go-github-com-francoispqt-gojay)
9213 (name "go-gojay")
9214 (arguments
9215 (list
9216 #:tests? #f ; already tested in the library
9217 #:install-source? #f
9218 #:import-path "github.com/francoispqt/gojay/gojay"
9219 #:unpack-path "github.com/francoispqt/gojay"))
9220 (description
9221 "This package provides a command line tool to generate gojay's marshaling
9222and unmarshaling interface implementation for custom struct type(s).")))
9223
9224(define-public go-gqlclient
9225 (package
9226 (inherit go-git-sr-ht-emersion-gqlclient)
9227 (name "go-gqlclient")
9228 (arguments
9229 (substitute-keyword-arguments
9230 (package-arguments go-git-sr-ht-emersion-gqlclient)
9231 ((#:tests? _ #t) #f)
9232 ((#:install-source? _ #t) #f)
9233 ((#:phases _ '%standard-phases)
9234 #~(modify-phases %standard-phases
9235 (replace 'build
9236 (lambda arguments
9237 (for-each
9238 (lambda (cmd)
9239 (apply (assoc-ref %standard-phases 'build)
9240 `(,@arguments #:import-path ,cmd)))
9241 (list "git.sr.ht/~emersion/gqlclient/cmd/gqlclient"
9242 "git.sr.ht/~emersion/gqlclient/cmd/gqlclientgen"
9243 "git.sr.ht/~emersion/gqlclient/cmd/gqlintrospect"))))
9244 (replace 'install
9245 (lambda arguments
9246 (for-each
9247 (lambda (cmd)
9248 (apply (assoc-ref %standard-phases 'install)
9249 `(,@arguments #:import-path ,cmd)))
9250 (list "git.sr.ht/~emersion/gqlclient/cmd/gqlclient"
9251 "git.sr.ht/~emersion/gqlclient/cmd/gqlclientgen"
9252 "git.sr.ht/~emersion/gqlclient/cmd/gqlintrospect"))))))))
9253 (description
9254 "This package provides command line tools: @code{gqlclient},
9255@code{gqlclientgen}, and @code{gqlintrospect}. For the Golang libriray, see
9256go-git-sr-ht-emersion-gqlclient package.")))
9257
6423(define-public go-html2text 9258(define-public go-html2text
6424 (package 9259 (package
6425 (inherit go-github-com-jaytaylor-html2text) 9260 (inherit go-github-com-jaytaylor-html2text)
@@ -6455,20 +9290,45 @@ go-github-com-multiformats-go-multiaddr-dns.")))
6455 (inherit go-github-com-tdewolff-minify-v2) 9290 (inherit go-github-com-tdewolff-minify-v2)
6456 (name "go-minify") 9291 (name "go-minify")
6457 (arguments 9292 (arguments
6458 (substitute-keyword-arguments 9293 (list
6459 (package-arguments go-github-com-tdewolff-minify-v2) 9294 #:install-source? #f
6460 ((#:install-source? _ #t) #f) 9295 #:tests? #f ; tested in the library
6461 ((#:import-path _ "github.com/tdewolff/minify/v2") 9296 #:import-path "github.com/tdewolff/minify/cmd/minify"
6462 "github.com/tdewolff/minify/cmd/minify"))) 9297 #:unpack-path "github.com/tdewolff/minify"))
6463 (inputs
6464 (list go-github-com-djherbis-atime
6465 go-github-com-dustin-go-humanize
6466 go-github-com-fsnotify-fsnotify
6467 go-github-com-matryer-try
6468 go-github-com-spf13-pflag))
6469 (description "This package provides a CLI binary executible built from 9298 (description "This package provides a CLI binary executible built from
6470go-github-com-tdewolff-minify-v2 source."))) 9299go-github-com-tdewolff-minify-v2 source.")))
6471 9300
9301(define-public gron
9302 (package
9303 (name "gron")
9304 (version "0.7.1")
9305 (source
9306 (origin
9307 (method git-fetch)
9308 (uri (git-reference
9309 (url "https://github.com/tomnomnom/gron")
9310 (commit (string-append "v" version))))
9311 (file-name (git-file-name name version))
9312 (sha256
9313 (base32 "1sj34b6yv0qigy3aq7qmwf8bqxp1a8qh9p10lzkpw58s1c0iyh36"))))
9314 (build-system go-build-system)
9315 (arguments
9316 (list
9317 #:install-source? #f
9318 #:import-path "github.com/tomnomnom/gron"))
9319 (native-inputs
9320 (list go-github-com-fatih-color
9321 go-github-com-mattn-go-colorable
9322 go-github-com-nwidger-jsoncolor
9323 go-github-com-pkg-errors))
9324 (home-page "https://github.com/tomnomnom/gron")
9325 (synopsis "Transform JSON to make it easier to grep")
9326 (description
9327 "This package transforms JSON into discrete assignments to make it easier
9328to use line-based tools such as grep to search for what you want and see the
9329absolute \"path\" to it.")
9330 (license license:expat)))
9331
6472(define-public xurls 9332(define-public xurls
6473 (package 9333 (package
6474 (inherit go-mvdan-cc-xurls-v2) 9334 (inherit go-mvdan-cc-xurls-v2)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 72216ae2a4f..60321ace58b 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -1,36 +1,41 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2017-2020 Leo Famulari <leo@famulari.name> 2;;; Copyright © 2017-2020 Leo Famulari <leo@famulari.name>
3;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com> 3;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
4;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
4;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> 5;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
5;;; Copyright © 2018, 2020 Christopher Baines <mail@cbaines.net> 6;;; Copyright © 2018, 2020 Christopher Baines <mail@cbaines.net>
6;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com> 7;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
8;;; Copyright © 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
7;;; Copyright © 2019, 2021 Vagrant Cascadian <vagrant@debian.org> 9;;; Copyright © 2019, 2021 Vagrant Cascadian <vagrant@debian.org>
8;;; Copyright © 2019-2021 Martin Becze <mjbecze@riseup.net> 10;;; Copyright © 2019-2021 Martin Becze <mjbecze@riseup.net>
9;;; Copyright © 2019-2022, 2024 Efraim Flashner <efraim@flashner.co.il> 11;;; Copyright © 2019-2024 Efraim Flashner <efraim@flashner.co.il>
10;;; Copyright © 2020 Alex Griffin <a@ajgrf.com> 12;;; Copyright © 2020 Alex Griffin <a@ajgrf.com>
11;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org> 13;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
12;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> 14;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
13;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> 15;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
14;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz> 16;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
15;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> 17;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
18;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
16;;; Copyright © 2020, 2021 raingloom <raingloom@riseup.net> 19;;; Copyright © 2020, 2021 raingloom <raingloom@riseup.net>
17;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net> 20;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
18;;; Copyright © 2021 Collin J. Doering <collin@rekahsoft.ca> 21;;; Copyright © 2021 Collin J. Doering <collin@rekahsoft.ca>
19;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> 22;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
20;;; Copyright © 2021 Guix Together <jgart@dismail.de> 23;;; Copyright © 2021 Guix Together <jgart@dismail.de>
24;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
21;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> 25;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
22;;; Copyright © 2021 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 26;;; Copyright © 2021 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
23;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net> 27;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
24;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> 28;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
25;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at> 29;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
26;;; Copyright © 2021 raingloom <raingloom@riseup.net> 30;;; Copyright © 2021, 2023-2025 Sharlatan Hellseher <sharlatanus@gmail.com>
27;;; Copyright © 2021, 2023, 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
28;;; Copyright © 2022 (unmatched-parenthesis <paren@disroot.org> 31;;; Copyright © 2022 (unmatched-parenthesis <paren@disroot.org>
29;;; Copyright © 2022 Dhruvin Gandhi <contact@dhruvin.dev> 32;;; Copyright © 2022 Dhruvin Gandhi <contact@dhruvin.dev>
30;;; Copyright © 2022 Dominic Martinez <dom@dominicm.dev> 33;;; Copyright © 2022 Dominic Martinez <dom@dominicm.dev>
34;;; Copyright © 2022 JOULAUD François <Francois.JOULAUD@radiofrance.com>
31;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la> 35;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la>
32;;; Copyright © 2022 kiasoc5 <kiasoc5@disroot.org> 36;;; Copyright © 2022 kiasoc5 <kiasoc5@disroot.org>
33;;; Copyright © 2023 Benjamin <benjamin@uvy.fr> 37;;; Copyright © 2023 Benjamin <benjamin@uvy.fr>
38;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com>
34;;; Copyright © 2023 Fries <fries1234@protonmail.com> 39;;; Copyright © 2023 Fries <fries1234@protonmail.com>
35;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space> 40;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
36;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com> 41;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
@@ -46,10 +51,11 @@
46;;; Copyright © 2024 Jean Simard <woshilapin@tuziwo.info> 51;;; Copyright © 2024 Jean Simard <woshilapin@tuziwo.info>
47;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email> 52;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
48;;; Copyright © 2024 Luis Higino <luishenriquegh2701@gmail.com> 53;;; Copyright © 2024 Luis Higino <luishenriquegh2701@gmail.com>
54;;; Copyright © 2024 Simen Endsjø <contact@simendsjo.me>
49;;; Copyright © 2024 Spencer Peters <spencerpeters@protonmail.com> 55;;; Copyright © 2024 Spencer Peters <spencerpeters@protonmail.com>
50;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com> 56;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
51;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com> 57;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
52;;; Copyright © 2024 Simen Endsjø <contact@simendsjo.me> 58;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
53;;; 59;;;
54;;; This file is part of GNU Guix. 60;;; This file is part of GNU Guix.
55;;; 61;;;
@@ -78,6 +84,7 @@
78 #:use-module (gnu packages cmake) 84 #:use-module (gnu packages cmake)
79 #:use-module (gnu packages freedesktop) 85 #:use-module (gnu packages freedesktop)
80 #:use-module (gnu packages gcc) 86 #:use-module (gnu packages gcc)
87 #:use-module (gnu packages glib)
81 #:use-module (gnu packages golang) 88 #:use-module (gnu packages golang)
82 #:use-module (gnu packages golang-build) 89 #:use-module (gnu packages golang-build)
83 #:use-module (gnu packages golang-check) 90 #:use-module (gnu packages golang-check)
@@ -85,6 +92,7 @@
85 #:use-module (gnu packages golang-crypto) 92 #:use-module (gnu packages golang-crypto)
86 #:use-module (gnu packages golang-maths) 93 #:use-module (gnu packages golang-maths)
87 #:use-module (gnu packages golang-web) 94 #:use-module (gnu packages golang-web)
95 #:use-module (gnu packages libedit)
88 #:use-module (gnu packages linux) 96 #:use-module (gnu packages linux)
89 #:use-module (gnu packages specifications) 97 #:use-module (gnu packages specifications)
90 #:use-module (gnu packages xdisorg) 98 #:use-module (gnu packages xdisorg)
@@ -242,6 +250,37 @@ use the C library from the project called FUSE.")
242a human-readable byte format.") 250a human-readable byte format.")
243 (license license:asl2.0))) 251 (license license:asl2.0)))
244 252
253(define-public go-dario-cat-mergo
254 (package
255 (name "go-dario-cat-mergo")
256 (version "1.0.1")
257 (source
258 (origin
259 (method git-fetch)
260 (uri (git-reference
261 (url "https://github.com/darccio/mergo")
262 (commit (string-append "v" version))))
263 (file-name (git-file-name name version))
264 (sha256
265 (base32 "0v12vc9bmqq89k4y60a8ykmv85hpa7nh73sn9b7ars143pxvmhf1"))))
266 (build-system go-build-system)
267 (arguments
268 (list
269 #:import-path "dario.cat/mergo"))
270 (native-inputs
271 (list go-gopkg-in-yaml-v3))
272 (home-page "https://github.com/darccio/mergo")
273 (synopsis "Helper to merge structs and maps in Golang")
274 (description
275 "Helper to merge structs and maps in Golang. Useful for configuration
276default values, avoiding messy if-statements.
277
278Mergo merges same-type structs and maps by setting default values in
279zero-value fields. Mergo won't merge unexported (private) fields. It will do
280recursively any exported one. It also won't merge structs inside
281maps (because they are not addressable using Go reflection).")
282 (license license:bsd-3)))
283
245(define-public go-git-sr-ht-emersion-go-scfg 284(define-public go-git-sr-ht-emersion-go-scfg
246 (package 285 (package
247 (name "go-git-sr-ht-emersion-go-scfg") 286 (name "go-git-sr-ht-emersion-go-scfg")
@@ -335,6 +374,35 @@ annotations on struct fields. It came as a spin-off from
335commands.") 374commands.")
336 (license license:expat))) 375 (license license:expat)))
337 376
377(define-public go-git-sr-ht-rockorager-tcell-term
378 (package
379 (name "go-git-sr-ht-rockorager-tcell-term")
380 (version "0.10.0")
381 (source
382 (origin
383 (method git-fetch)
384 (uri (git-reference
385 (url "https://git.sr.ht/~rockorager/tcell-term")
386 (commit (string-append "v" version))))
387 (file-name (git-file-name name version))
388 (sha256
389 (base32 "1z64yzr2l5j5r5rqi89jk4madn3ak8hw95lva5ra7gnlyhh2vs05"))))
390 (build-system go-build-system)
391 (arguments
392 (list #:import-path "git.sr.ht/~rockorager/tcell-term"))
393 (native-inputs
394 (list go-github-com-stretchr-testify))
395 (propagated-inputs
396 (list go-github-com-creack-pty
397 go-github-com-gdamore-tcell-v2
398 go-github-com-mattn-go-runewidth))
399 (home-page "https://git.sr.ht/~rockorager/tcell-term")
400 (synopsis "Terminal widget for @code{tcell}")
401 (description
402 "This package provides a virtual terminal widget for the @code{tcell}
403Go library.")
404 (license license:expat)))
405
338(define-public go-git-sr-ht-rockorager-vaxis 406(define-public go-git-sr-ht-rockorager-vaxis
339 (package 407 (package
340 (name "go-git-sr-ht-rockorager-vaxis") 408 (name "go-git-sr-ht-rockorager-vaxis")
@@ -539,6 +607,82 @@ XDG defined locations instead of hardcoding paths. The package also includes
539the locations of well known user directories.") 607the locations of well known user directories.")
540 (license license:expat))) 608 (license license:expat)))
541 609
610(define-public go-github-com-agext-levenshtein
611 (package
612 (name "go-github-com-agext-levenshtein")
613 (version "1.2.3")
614 (source
615 (origin
616 (method git-fetch)
617 (uri (git-reference
618 (url "https://github.com/agext/levenshtein")
619 (commit (string-append "v" version))))
620 (file-name (git-file-name name version))
621 (sha256
622 (base32 "0a26c8pp9h5w66bhd9vb6lpvmhp30mz46pnh3a8vrjx50givb2lw"))))
623 (build-system go-build-system)
624 (arguments
625 (list
626 #:import-path "github.com/agext/levenshtein"))
627 (home-page "https://github.com/agext/levenshtein")
628 (synopsis "Calculating the Levenshtein distance between two strings in Go")
629 (description
630 "Package levenshtein implements distance and similarity metrics for
631strings, based on the Levenshtein measure.")
632 (license license:asl2.0)))
633
634(define-public go-github-com-agnivade-levenshtein
635 (package
636 (name "go-github-com-agnivade-levenshtein")
637 (version "1.2.0")
638 (source
639 (origin
640 (method git-fetch)
641 (uri (git-reference
642 (url "https://github.com/agnivade/levenshtein")
643 (commit (string-append "v" version))))
644 (file-name (git-file-name name version))
645 (sha256
646 (base32 "0vg9aj9k4qv96nqqp261qrm9g7kj0axqhv3mm9qvw932l72943hn"))))
647 (build-system go-build-system)
648 (arguments
649 (list
650 #:import-path "github.com/agnivade/levenshtein"))
651 (native-inputs ; for tests only
652 (list go-github-com-arbovm-levenshtein
653 go-github-com-dgryski-trifles))
654 (home-page "https://github.com/agnivade/levenshtein")
655 (synopsis "Golang implementation to calculate Levenshtein Distance")
656 (description
657 "This package implements a functionality to calculate
658@url{https://en.wikipedia.org/wiki/Levenshtein_distance, Levenshtein
659Distance}.")
660 (license license:expat)))
661
662(define-public go-github-com-agonopol-go-stem
663 (package
664 (name "go-github-com-agonopol-go-stem")
665 (version "0.0.0-20150630113328-985885018250")
666 (source
667 (origin
668 (method git-fetch)
669 (uri (git-reference
670 (url "https://github.com/agonopol/go-stem")
671 (commit (go-version->git-ref version))))
672 (file-name (git-file-name name version))
673 (sha256
674 (base32 "128qv5s2g13akbsclyi6kyvx52gx20wz81yxkd3qnlfh0f5fqjd0"))))
675 (build-system go-build-system)
676 (arguments
677 (list
678 #:import-path "github.com/agonopol/go-stem"))
679 (home-page "https://github.com/agonopol/go-stem")
680 (synopsis "Word Stemming in Golang")
681 (description
682 "This package provides a implementation of the porter stemming algorithm:
683http://tartarus.org/~martin/PorterStemmer/index.html.")
684 (license license:expat)))
685
542(define-public go-github-com-alecthomas-chroma 686(define-public go-github-com-alecthomas-chroma
543 (package 687 (package
544 (name "go-github-com-alecthomas-chroma") 688 (name "go-github-com-alecthomas-chroma")
@@ -560,7 +704,14 @@ the locations of well known user directories.")
560 (arguments 704 (arguments
561 `(#:import-path "github.com/alecthomas/chroma")) 705 `(#:import-path "github.com/alecthomas/chroma"))
562 (native-inputs 706 (native-inputs
563 (list go-github-com-dlclark-regexp2 707 (list go-github-com-alecthomas-kong
708 go-github-com-alecthomas-kong-hcl
709 go-github-com-dlclark-regexp2
710 go-github-com-gorilla-csrf
711 go-github-com-gorilla-handlers
712 go-github-com-gorilla-mux
713 go-github-com-mattn-go-colorable
714 go-github-com-mattn-go-isatty
564 go-github-com-stretchr-testify)) 715 go-github-com-stretchr-testify))
565 (home-page "https://github.com/alecthomas/chroma/") 716 (home-page "https://github.com/alecthomas/chroma/")
566 (synopsis "General purpose syntax highlighter in pure Go") 717 (synopsis "General purpose syntax highlighter in pure Go")
@@ -689,7 +840,7 @@ be stripped.")
689(define-public go-github-com-alecthomas-kong 840(define-public go-github-com-alecthomas-kong
690 (package 841 (package
691 (name "go-github-com-alecthomas-kong") 842 (name "go-github-com-alecthomas-kong")
692 (version "0.9.0") 843 (version "1.5.1")
693 (source 844 (source
694 (origin 845 (origin
695 (method git-fetch) 846 (method git-fetch)
@@ -698,7 +849,7 @@ be stripped.")
698 (commit (string-append "v" version)))) 849 (commit (string-append "v" version))))
699 (file-name (git-file-name name version)) 850 (file-name (git-file-name name version))
700 (sha256 851 (sha256
701 (base32 "0a9arf30h84ll8k612jh50c3vjmvdfj6i7dbvfnw3dalm6dn2aan")))) 852 (base32 "1b9yns6rgmxjb40rlm6v2pybi25my0760vvp6666vx5da7yg4dg9"))))
702 (build-system go-build-system) 853 (build-system go-build-system)
703 (arguments 854 (arguments
704 (list 855 (list
@@ -716,6 +867,44 @@ be stripped.")
716with as little developer effort as possible.") 867with as little developer effort as possible.")
717 (license license:expat))) 868 (license license:expat)))
718 869
870(define-public go-github-com-alecthomas-kong-hcl
871 (package
872 (name "go-github-com-alecthomas-kong-hcl")
873 (version "1.0.1")
874 (source
875 (origin
876 (method git-fetch)
877 (uri (git-reference
878 (url "https://github.com/alecthomas/kong-hcl")
879 (commit (string-append "v" version))))
880 (file-name (git-file-name name version))
881 (sha256
882 (base32 "0q383705kavn23ay4vzr662x9lsl2xc1mv5irhcy0cazjjc7jzp2"))
883 (modules '((guix build utils)))
884 (snippet
885 #~(begin
886 ;; Submodules with their own go.mod files and packaged separately:
887 ;;
888 ;; - github.com/alecthomas/kong-hcl/v2
889 (delete-file-recursively "v2")))))
890 (build-system go-build-system)
891 (arguments
892 (list
893 #:test-flags #~(list "-skip" "TestHCL/FromResolver")
894 #:import-path "github.com/alecthomas/kong-hcl"))
895 (native-inputs
896 (list go-github-com-stretchr-testify))
897 (propagated-inputs
898 (list go-github-com-alecthomas-kong
899 go-github-com-hashicorp-hcl
900 go-github-com-pkg-errors))
901 (home-page "https://github.com/alecthomas/kong-hcl")
902 (synopsis "Kong configuration loader for HCL")
903 (description
904 "This package implements functionality to map HCL or JSON fragment into
905Golang structs.")
906 (license license:expat)))
907
719(define-public go-github-com-alecthomas-participle-v2 908(define-public go-github-com-alecthomas-participle-v2
720 (package 909 (package
721 (name "go-github-com-alecthomas-participle-v2") 910 (name "go-github-com-alecthomas-participle-v2")
@@ -734,7 +923,8 @@ with as little developer effort as possible.")
734 (list 923 (list
735 #:import-path "github.com/alecthomas/participle/v2")) 924 #:import-path "github.com/alecthomas/participle/v2"))
736 (native-inputs 925 (native-inputs
737 (list go-github-com-alecthomas-assert-v2)) 926 (list go-github-com-alecthomas-assert-v2
927 go-github-com-alecthomas-kong)) ; for CLI
738 (home-page "https://github.com/alecthomas/participle") 928 (home-page "https://github.com/alecthomas/participle")
739 (synopsis "Parser library for Go") 929 (synopsis "Parser library for Go")
740 (description 930 (description
@@ -830,6 +1020,32 @@ newlines until a non-newline.")
830 "This library provides unit multipliers and functions for Go.") 1020 "This library provides unit multipliers and functions for Go.")
831 (license license:expat)))) 1021 (license license:expat))))
832 1022
1023(define-public go-github-com-alsm-ioprogress
1024 (package
1025 (name "go-github-com-alsm-ioprogress")
1026 (version "0.0.0-20170412085706-063c3725f436")
1027 (source
1028 (origin
1029 (method git-fetch)
1030 (uri (git-reference
1031 (url "https://github.com/alsm/ioprogress")
1032 (commit (go-version->git-ref version))))
1033 (file-name (git-file-name name version))
1034 (sha256
1035 (base32 "10ym5qlq77nynmkxbk767f2hfwyxg2k7hrzph05hvgzv833dhivh"))))
1036 (build-system go-build-system)
1037 (arguments
1038 (list
1039 #:import-path "github.com/alsm/ioprogress"))
1040 (home-page "https://github.com/alsm/ioprogress")
1041 (synopsis "Textual progress bars in Go")
1042 (description
1043 "@code{ioprogress} is a Go library with implementations of
1044@code{io.Reader} and @code{io.Writer} that draws progress bars. The primary
1045use case for these are for command-line applications but alternate progress
1046bar writers can be supplied for alternate environments.")
1047 (license license:expat)))
1048
833(define-public go-github-com-andreasbriese-bbloom 1049(define-public go-github-com-andreasbriese-bbloom
834 (package 1050 (package
835 (name "go-github-com-andreasbriese-bbloom") 1051 (name "go-github-com-andreasbriese-bbloom")
@@ -879,6 +1095,264 @@ JSONMarshal/JSONUnmarshal to store/reload the Bloom filter.")
879commands.") 1095commands.")
880 (license license:expat))) 1096 (license license:expat)))
881 1097
1098(define-public go-github-com-antihax-optional
1099 (package
1100 (name "go-github-com-antihax-optional")
1101 (version "1.0.0")
1102 (source
1103 (origin
1104 (method git-fetch)
1105 (uri (git-reference
1106 (url "https://github.com/antihax/optional")
1107 (commit (string-append "v" version))))
1108 (file-name (git-file-name name version))
1109 (sha256
1110 (base32 "1ix08vl49qxr58rc6201cl97g1yznhhkwvqldslawind99js4rj0"))))
1111 (build-system go-build-system)
1112 (arguments
1113 (list
1114 #:import-path "github.com/antihax/optional"))
1115 (home-page "https://github.com/antihax/optional")
1116 (synopsis "Optional parameters for Golang")
1117 (description
1118 "This package implements optimal parameters for data-types.")
1119 (license license:expat)))
1120
1121(define-public go-github-com-apparentlymart-go-dump
1122 (package
1123 (name "go-github-com-apparentlymart-go-dump")
1124 (version "0.0.0-20190214190832-042adf3cf4a0")
1125 (source
1126 (origin
1127 (method git-fetch)
1128 (uri (git-reference
1129 (url "https://github.com/apparentlymart/go-dump")
1130 (commit (go-version->git-ref version))))
1131 (file-name (git-file-name name version))
1132 (sha256
1133 (base32 "1yqc50v82za54j2yy3ln7jzx983scb5gbh195wb6vmvqj18q696q"))))
1134 (build-system go-build-system)
1135 (arguments
1136 (list
1137 #:skip-build? #t
1138 #:import-path "github.com/apparentlymart/go-dump"))
1139 (home-page "https://github.com/apparentlymart/go-dump")
1140 (synopsis "Utility for formatting Go values in a pretty-printed way")
1141 (description
1142 "This package implements a functionality for generating pretty-printed
1143dumps of Go values.")
1144 (license license:mpl2.0)))
1145
1146(define-public go-github-com-apparentlymart-go-textseg-v9
1147 (package
1148 (name "go-github-com-apparentlymart-go-textseg-v9")
1149 (version "9.0.0")
1150 (source
1151 (origin
1152 (method git-fetch)
1153 (uri (git-reference
1154 (url "https://github.com/apparentlymart/go-textseg")
1155 (commit (string-append "v" version))))
1156 (file-name (git-file-name name version))
1157 (sha256
1158 (base32 "1pmnl674ksbizkdilqz1j44djws9dj23pc6bpbjma8jfjq6b2zax"))))
1159 (build-system go-build-system)
1160 (arguments
1161 (list
1162 #:skip-build? #t
1163 #:import-path "github.com/apparentlymart/go-textseg/v9"
1164 #:phases
1165 #~(modify-phases %standard-phases
1166 (add-after 'unpack 'remove-submodule
1167 (lambda* (#:key import-path #:allow-other-keys #:rest args)
1168 (when (false-if-exception
1169 (stat (string-append "src/" import-path "/autoversion")))
1170 (delete-file-recursively
1171 (string-append "src/" import-path "/autoversion"))))))))
1172 (home-page "https://github.com/apparentlymart/go-textseg")
1173 (synopsis "Go implementation of Unicode Text Segmentation")
1174 (description
1175 "This package provides an implementation of the Unicode Text Segmentation
1176specification for Go. Specifically, it currently includes only the grapheme
1177cluster segmentation algorithm.")
1178 ;; Project is released under Expat terms. Some parts use Unicode and
1179 ;; ASL2.0 licenses.
1180 (license (list license:expat license:unicode license:asl2.0))))
1181
1182(define-public go-github-com-apparentlymart-go-textseg-v10
1183 (package
1184 (inherit go-github-com-apparentlymart-go-textseg-v9)
1185 (name "go-github-com-apparentlymart-go-textseg-v10")
1186 (version "10.0.0")
1187 (source
1188 (origin
1189 (method git-fetch)
1190 (uri (git-reference
1191 (url "https://github.com/apparentlymart/go-textseg")
1192 (commit (string-append "v" version))))
1193 (file-name (git-file-name name version))
1194 (sha256
1195 (base32 "1jj3w8m2vz574s9lq0468f56kq348wm7xhvrac5yrqw1axg6hjxd"))))
1196 (arguments
1197 (substitute-keyword-arguments
1198 (package-arguments go-github-com-apparentlymart-go-textseg-v9)
1199 ((#:import-path _) "github.com/apparentlymart/go-textseg/v10")))))
1200
1201(define-public go-github-com-apparentlymart-go-textseg-v11
1202 (package
1203 (inherit go-github-com-apparentlymart-go-textseg-v10)
1204 (name "go-github-com-apparentlymart-go-textseg-v11")
1205 (version "11.0.0")
1206 (source
1207 (origin
1208 (method git-fetch)
1209 (uri (git-reference
1210 (url "https://github.com/apparentlymart/go-textseg")
1211 (commit (string-append "v" version))))
1212 (file-name (git-file-name name version))
1213 (sha256
1214 (base32 "1gyhj8vqpmxcd7zjq3myj6872fqf1si09dwbv03msp7hf4g976cx"))))
1215 (arguments
1216 (substitute-keyword-arguments
1217 (package-arguments go-github-com-apparentlymart-go-textseg-v10)
1218 ((#:import-path _) "github.com/apparentlymart/go-textseg/v11")))))
1219
1220(define-public go-github-com-apparentlymart-go-textseg-v12
1221 (package
1222 (inherit go-github-com-apparentlymart-go-textseg-v11)
1223 (name "go-github-com-apparentlymart-go-textseg-v12")
1224 (version "12.0.0")
1225 (source
1226 (origin
1227 (method git-fetch)
1228 (uri (git-reference
1229 (url "https://github.com/apparentlymart/go-textseg")
1230 (commit (string-append "v" version))))
1231 (file-name (git-file-name name version))
1232 (sha256
1233 (base32 "1i8p4kkgx8yhxwzqmnpx8f87s0h27n7jrdhv78ydh6618512x5v9"))))
1234 (arguments
1235 (substitute-keyword-arguments
1236 (package-arguments go-github-com-apparentlymart-go-textseg-v11)
1237 ((#:import-path _) "github.com/apparentlymart/go-textseg/v12")))))
1238
1239(define-public go-github-com-apparentlymart-go-textseg-v13
1240 (package
1241 (inherit go-github-com-apparentlymart-go-textseg-v12)
1242 (name "go-github-com-apparentlymart-go-textseg-v13")
1243 (version "13.0.0")
1244 (source
1245 (origin
1246 (method git-fetch)
1247 (uri (git-reference
1248 (url "https://github.com/apparentlymart/go-textseg")
1249 (commit (string-append "v" version))))
1250 (file-name (git-file-name name version))
1251 (sha256
1252 (base32 "0gdgi0d52rq1xsdn9icc8lghn0f2q927cifmrlfxflf7bf21vism"))))
1253 (arguments
1254 (substitute-keyword-arguments
1255 (package-arguments go-github-com-apparentlymart-go-textseg-v12)
1256 ((#:import-path _) "github.com/apparentlymart/go-textseg/v13")))))
1257
1258(define-public go-github-com-apparentlymart-go-textseg-v15
1259 (package
1260 (inherit go-github-com-apparentlymart-go-textseg-v13)
1261 (name "go-github-com-apparentlymart-go-textseg-v15")
1262 (version "15.0.0")
1263 (source
1264 (origin
1265 (method git-fetch)
1266 (uri (git-reference
1267 (url "https://github.com/apparentlymart/go-textseg")
1268 (commit (string-append "v" version))))
1269 (file-name (git-file-name name version))
1270 (sha256
1271 (base32 "1bb7mxkxjhsp8kfwm26n0ds1mpwxxdpy4gndvyz26bqfm6v8vsa4"))))
1272 (arguments
1273 (substitute-keyword-arguments
1274 (package-arguments go-github-com-apparentlymart-go-textseg-v13)
1275 ((#:import-path _) "github.com/apparentlymart/go-textseg/v15")))))
1276
1277(define-public go-github-com-apparentlymart-go-textseg-v16
1278 (package
1279 (inherit go-github-com-apparentlymart-go-textseg-v15)
1280 (name "go-github-com-apparentlymart-go-textseg-v16")
1281 (version "16.0.0")
1282 (source
1283 (origin
1284 (method git-fetch)
1285 (uri (git-reference
1286 (url "https://github.com/apparentlymart/go-textseg")
1287 (commit (string-append "v" version))))
1288 (file-name (git-file-name name version))
1289 (sha256
1290 (base32 "1j7vm09cd36wm4z986qz5am3rk242v52amcapwbdbkbgzx2kqfkm"))))
1291 (arguments
1292 (substitute-keyword-arguments
1293 (package-arguments go-github-com-apparentlymart-go-textseg-v15)
1294 ((#:import-path _) "github.com/apparentlymart/go-textseg/v16")))))
1295
1296(define-public go-github-com-apparentlymart-go-textseg-autoversion
1297 (package
1298 (name "go-github-com-apparentlymart-go-textseg-autoversion")
1299 (version "1.3.0")
1300 (source
1301 (origin
1302 (method git-fetch)
1303 (uri (git-reference
1304 (url "https://github.com/apparentlymart/go-textseg")
1305 (commit (go-version->git-ref version #:subdir "autoversion"))))
1306 (file-name (git-file-name name version))
1307 (sha256
1308 (base32 "1j7vm09cd36wm4z986qz5am3rk242v52amcapwbdbkbgzx2kqfkm"))))
1309 (build-system go-build-system)
1310 (arguments
1311 (list
1312 #:skip-build? #t
1313 #:import-path "github.com/apparentlymart/go-textseg/autoversion"
1314 #:unpack-path "github.com/apparentlymart/go-textseg"))
1315 (propagated-inputs
1316 (list go-github-com-apparentlymart-go-textseg-v9
1317 go-github-com-apparentlymart-go-textseg-v10
1318 go-github-com-apparentlymart-go-textseg-v11
1319 go-github-com-apparentlymart-go-textseg-v12
1320 go-github-com-apparentlymart-go-textseg-v13
1321 go-github-com-apparentlymart-go-textseg-v15))
1322 (home-page "https://github.com/apparentlymart/go-textseg")
1323 (synopsis "Wrap go-textesg based on the Unicode Golang version")
1324 (description
1325 "This package is a wrapper around each of the the
1326Unicode-version-specific textseg implementations that selects an
1327implementation automatically based on the Unicode version of the Go standard
1328library that it's being built against.")
1329 (license (list license:expat license:unicode license:asl2.0))))
1330
1331(define-public go-github-com-arbovm-levenshtein
1332 (package
1333 (name "go-github-com-arbovm-levenshtein")
1334 (version "0.0.0-20160628152529-48b4e1c0c4d0")
1335 (source
1336 (origin
1337 (method git-fetch)
1338 (uri (git-reference
1339 (url "https://github.com/arbovm/levenshtein")
1340 (commit (go-version->git-ref version))))
1341 (file-name (git-file-name name version))
1342 (sha256
1343 (base32 "0nmx2iip8xpnbmy6gvqpc9ikizr33dr40xgv746h0b0by8n7rv7y"))))
1344 (build-system go-build-system)
1345 (arguments
1346 (list
1347 #:import-path "github.com/arbovm/levenshtein"))
1348 (home-page "https://github.com/arbovm/levenshtein")
1349 (synopsis "Levenshtein Distance in Golang")
1350 (description
1351 "This package implements a functionality to calculate the
1352@url{http://en.wikipedia.org/wiki/Levenshtein_distance, Levenshtein
1353Distance}.")
1354 (license license:bsd-3)))
1355
882(define-public go-github-com-arceliar-phony 1356(define-public go-github-com-arceliar-phony
883 (package 1357 (package
884 (name "go-github-com-arceliar-phony") 1358 (name "go-github-com-arceliar-phony")
@@ -1228,16 +1702,8 @@ can use the realtime clock while tests can use the mock clock.")
1228 (build-system go-build-system) 1702 (build-system go-build-system)
1229 (arguments 1703 (arguments
1230 (list 1704 (list
1231 #:import-path "github.com/beorn7/perks" 1705 #:skip-build? #t
1232 #:phases 1706 #:import-path "github.com/beorn7/perks"))
1233 #~(modify-phases %standard-phases
1234 ;; XXX: Workaround for go-build-system's lack of Go modules support.
1235 (delete 'build)
1236 (replace 'check
1237 (lambda* (#:key tests? import-path #:allow-other-keys)
1238 (when tests?
1239 (with-directory-excursion (string-append "src/" import-path)
1240 (invoke "go" "test" "-v" "./..."))))))))
1241 (home-page "https://github.com/beorn7/perks") 1707 (home-page "https://github.com/beorn7/perks")
1242 (synopsis "Compute approximate quantiles over an unbounded data stream") 1708 (synopsis "Compute approximate quantiles over an unbounded data stream")
1243 (description 1709 (description
@@ -1246,6 +1712,32 @@ approximate quantiles over an unbounded data stream within low memory and CPU
1246bounds.") 1712bounds.")
1247 (license license:expat))) 1713 (license license:expat)))
1248 1714
1715(define-public go-github-com-bgentry-speakeasy
1716 (package
1717 (name "go-github-com-bgentry-speakeasy")
1718 (version "0.2.0")
1719 (source
1720 (origin
1721 (method git-fetch)
1722 (uri (git-reference
1723 (url "https://github.com/bgentry/speakeasy")
1724 (commit (string-append "v" version))))
1725 (file-name (git-file-name name version))
1726 (sha256
1727 (base32 "1pasgmb9gcchprc06fbn7yjgp6caz03j6pgj14mmr8bcx0zfq7ag"))))
1728 (build-system go-build-system)
1729 (arguments
1730 (list
1731 #:import-path "github.com/bgentry/speakeasy"))
1732 (home-page "https://github.com/bgentry/speakeasy")
1733 (synopsis "Reading password input without cgo")
1734 (description
1735 "This package provides cross-platform Golang helpers for taking user
1736input from the terminal while not echoing the input back (similar to
1737@code{getpasswd}). The package uses syscalls to avoid any dependence on cgo,
1738and is therefore compatible with cross-compiling.")
1739 (license license:expat)))
1740
1249(define-public go-github-com-bitly-go-hostpool 1741(define-public go-github-com-bitly-go-hostpool
1250 (package 1742 (package
1251 (name "go-github-com-bitly-go-hostpool") 1743 (name "go-github-com-bitly-go-hostpool")
@@ -1293,6 +1785,58 @@ robin or epsilon greedy mode, and unresponsive hosts are avoided.")
1293information and periodically output metrics") 1785information and periodically output metrics")
1294 (license license:expat))) 1786 (license license:expat)))
1295 1787
1788(define-public go-github-com-bits-and-blooms-bitset
1789 (package
1790 (name "go-github-com-bits-and-blooms-bitset")
1791 (version "1.20.0")
1792 (source
1793 (origin
1794 (method git-fetch)
1795 (uri (git-reference
1796 (url "https://github.com/bits-and-blooms/bitset")
1797 (commit (string-append "v" version))))
1798 (file-name (git-file-name name version))
1799 (sha256
1800 (base32 "1m1rk1bf6i1jnhjxm774i3rhg8n8s88a3n5pnhg5a9gf34y7r8az"))))
1801 (build-system go-build-system)
1802 (arguments
1803 (list
1804 #:import-path "github.com/bits-and-blooms/bitset"))
1805 (home-page "https://github.com/bits-and-blooms/bitset")
1806 (synopsis "Bitsets in Go")
1807 (description
1808 "This package provides a Go implementation of bitsets, which are a
1809mapping between non-negative integers and boolean values focused on efficient
1810space usage.")
1811 (license license:bsd-3)))
1812
1813(define-public go-github-com-bits-and-blooms-bloom-v3
1814 (package
1815 (name "go-github-com-bits-and-blooms-bloom-v3")
1816 (version "3.7.0")
1817 (source
1818 (origin
1819 (method git-fetch)
1820 (uri (git-reference
1821 (url "https://github.com/bits-and-blooms/bloom")
1822 (commit (string-append "v" version))))
1823 (file-name (git-file-name name version))
1824 (sha256
1825 (base32 "022pyzjp862ysl30aj105i2xmapn400ambjh8h1dcyjy9c0f8agn"))))
1826 (build-system go-build-system)
1827 (arguments
1828 (list
1829 #:import-path "github.com/bits-and-blooms/bloom/v3"))
1830 (propagated-inputs
1831 (list go-github-com-bits-and-blooms-bitset
1832 go-github-com-twmb-murmur3))
1833 (home-page "https://github.com/bits-and-blooms/bitset")
1834 (synopsis "Bloom filters in Go")
1835 (description
1836 "This package provides a Go implementation of bloom filters,
1837based on murmurhash.")
1838 (license license:bsd-2)))
1839
1296(define-public go-github-com-blang-semver 1840(define-public go-github-com-blang-semver
1297 (package 1841 (package
1298 (name "go-github-com-blang-semver") 1842 (name "go-github-com-blang-semver")
@@ -1340,6 +1884,89 @@ information and periodically output metrics")
1340 (delete-file-recursively 1884 (delete-file-recursively
1341 (string-append "src/" import-path "/examples"))))))))) 1885 (string-append "src/" import-path "/examples")))))))))
1342 1886
1887(define-public go-github-com-bmatcuk-doublestar
1888 (package
1889 (name "go-github-com-bmatcuk-doublestar")
1890 (version "1.3.0")
1891 (source
1892 (origin
1893 (method git-fetch)
1894 (uri (git-reference
1895 (url "https://github.com/bmatcuk/doublestar")
1896 (commit (string-append "v" version))))
1897 (file-name (git-file-name name version))
1898 (sha256
1899 (base32 "0bk5bixl6rqa8znxghyp6zndbccx9kdyrymjahgyp6qsrp7rk144"))))
1900 (build-system go-build-system)
1901 (arguments
1902 (list
1903 ;; This test fails with Go 1.16.
1904 #:test-flags #~(list "-skip" "TestMatch")
1905 #:import-path "github.com/bmatcuk/doublestar"))
1906 (home-page "https://github.com/bmatcuk/doublestar/")
1907 (synopsis "Path pattern matching and globbing supporting doublestar")
1908 (description
1909 "@code{doublestar} is a Go implementation of path pattern
1910matching and globbing with support for \"doublestar\" patterns.")
1911 (license license:expat)))
1912
1913;; For chezmoi-1.8.11
1914(define-public go-github-com-bmatcuk-doublestar-v2
1915 (package
1916 (inherit go-github-com-bmatcuk-doublestar)
1917 (name "go-github-com-bmatcuk-doublestar-v2")
1918 (version "2.0.4")
1919 (source
1920 (origin
1921 (method git-fetch)
1922 (uri (git-reference
1923 (url "https://github.com/bmatcuk/doublestar")
1924 (commit (string-append "v" version))))
1925 (file-name (git-file-name name version))
1926 (sha256
1927 (base32 "09ma8a9rhs8dg527vjhdf3lsb6lajaq193m6ksssm2k3qajhpi94"))))
1928 (arguments
1929 (substitute-keyword-arguments
1930 (package-arguments go-github-com-bmatcuk-doublestar)
1931 ((#:import-path _) "github.com/bmatcuk/doublestar/v2")))))
1932
1933(define-public go-github-com-bmatcuk-doublestar-v3
1934 (package
1935 (inherit go-github-com-bmatcuk-doublestar)
1936 (name "go-github-com-bmatcuk-doublestar-v3")
1937 (version "3.0.0")
1938 (source
1939 (origin
1940 (method git-fetch)
1941 (uri (git-reference
1942 (url "https://github.com/bmatcuk/doublestar")
1943 (commit (string-append "v" version))))
1944 (file-name (git-file-name name version))
1945 (sha256
1946 (base32 "011h07mlmscbxxjr3h30fjjb4dw3gb245nzczaq520r112xlidhj"))))
1947 (arguments
1948 (substitute-keyword-arguments
1949 (package-arguments go-github-com-bmatcuk-doublestar)
1950 ((#:import-path _) "github.com/bmatcuk/doublestar/v3")))))
1951
1952(define-public go-github-com-bmatcuk-doublestar-v4
1953 (package
1954 (inherit go-github-com-bmatcuk-doublestar)
1955 (name "go-github-com-bmatcuk-doublestar-v4")
1956 (version "4.7.1")
1957 (source
1958 (origin
1959 (method git-fetch)
1960 (uri (git-reference
1961 (url "https://github.com/bmatcuk/doublestar")
1962 (commit (string-append "v" version))))
1963 (file-name (git-file-name name version))
1964 (sha256
1965 (base32 "1bvfxqkpl8bkfqxjxjgmz0gd4b4v6dxwrzxq2qzly0r9zrj1lfic"))))
1966 (arguments
1967 (list
1968 #:import-path "github.com/bmatcuk/doublestar/v4"))))
1969
1343(define-public go-github-com-bmizerany-perks-quantile 1970(define-public go-github-com-bmizerany-perks-quantile
1344 (package 1971 (package
1345 (name "go-github-com-bmizerany-perks-quantile") 1972 (name "go-github-com-bmizerany-perks-quantile")
@@ -1393,6 +2020,30 @@ project is to provide a simple, fast, and reliable database for projects that
1393don't require a full database server such as Postgres or MySQL.") 2020don't require a full database server such as Postgres or MySQL.")
1394 (license license:expat))) 2021 (license license:expat)))
1395 2022
2023(define-public go-github-com-bradfitz-gomemcache
2024 (package
2025 (name "go-github-com-bradfitz-gomemcache")
2026 (version "0.0.0-20230905024940-24af94b03874")
2027 (source
2028 (origin
2029 (method git-fetch)
2030 (uri (git-reference
2031 (url "https://github.com/bradfitz/gomemcache")
2032 (commit (go-version->git-ref version))))
2033 (file-name (git-file-name name version))
2034 (sha256
2035 (base32 "0xhf5zphhilv1jiwsdf5f4b4g2jj8q3yhn2r83f52mpi9s8jp5db"))))
2036 (build-system go-build-system)
2037 (arguments
2038 (list
2039 #:skip-build? #t
2040 #:import-path "github.com/bradfitz/gomemcache"))
2041 (home-page "https://github.com/bradfitz/gomemcache")
2042 (synopsis "Memcache client library in Go")
2043 (description
2044 "This is a memcache client library for the Go programming language.")
2045 (license license:asl2.0)))
2046
1396(define-public go-github-com-briandowns-spinner 2047(define-public go-github-com-briandowns-spinner
1397 (package 2048 (package
1398 (name "go-github-com-briandowns-spinner") 2049 (name "go-github-com-briandowns-spinner")
@@ -1425,6 +2076,100 @@ don't require a full database server such as Postgres or MySQL.")
1425indicator to any terminal application.") 2076indicator to any terminal application.")
1426 (license license:asl2.0))) 2077 (license license:asl2.0)))
1427 2078
2079(define-public go-github-com-btcsuite-btclog
2080 (package
2081 (name "go-github-com-btcsuite-btclog")
2082 (version "1.0.0")
2083 (source
2084 (origin
2085 (method git-fetch)
2086 (uri (git-reference
2087 (url "https://github.com/btcsuite/btclog")
2088 (commit (string-append "v" version))))
2089 (file-name (git-file-name name version))
2090 (sha256
2091 (base32 "1aqpgb3bw1g5am2az4f1g1a54xii0axvxp0zymhyl8jdk6hhyyd8"))))
2092 (build-system go-build-system)
2093 (arguments
2094 (list
2095 #:import-path "github.com/btcsuite/btclog"))
2096 (home-page "https://github.com/btcsuite/btclog")
2097 (synopsis "Subsystem aware logger for Go")
2098 (description
2099 "Package @command{btclog} defines a logger interface and provides a
2100default implementation of a subsystem-aware leveled logger implementing the
2101same interface.")
2102 (license license:isc)))
2103
2104(define-public go-github-com-btcsuite-btclog-v2
2105 (package
2106 (inherit go-github-com-btcsuite-btclog)
2107 (name "go-github-com-btcsuite-btclog-v2")
2108 (version "2.0.0")
2109 (source
2110 (origin
2111 (method git-fetch)
2112 (uri (git-reference
2113 (url "https://github.com/btcsuite/btclog")
2114 (commit (string-append "v" version))))
2115 (file-name (git-file-name name version))
2116 (sha256
2117 (base32 "0v9zh39d35647g6m9b74l5z1ifbnk4chbglnbmj5ndzj9alzsc38"))))
2118 (arguments
2119 (list
2120 #:import-path "github.com/btcsuite/btclog/v2"
2121 #:unpack-path "github.com/btcsuite/btclog"))))
2122
2123(define-public go-github-com-buildkite-shellwords
2124 (package
2125 (name "go-github-com-buildkite-shellwords")
2126 (version "0.0.0-20180315110454-59467a9b8e10")
2127 (source
2128 (origin
2129 (method git-fetch)
2130 (uri (git-reference
2131 (url "https://github.com/buildkite/shellwords")
2132 (commit (go-version->git-ref version))))
2133 (file-name (git-file-name name version))
2134 (sha256
2135 (base32 "1kx6wxbdznarmnifwzmxxcd86bgn27rwpfnw2y2gd0j8zg9g1682"))))
2136 (build-system go-build-system)
2137 (arguments
2138 (list
2139 #:import-path "github.com/buildkite/shellwords"))
2140 (home-page "https://github.com/buildkite/shellwords")
2141 (synopsis "Split command-line strings into words")
2142 (description
2143 "This package provides a golang library for splitting command-line
2144strings into words like a POSIX or Windows shell would.")
2145 (license license:expat)))
2146
2147(define-public go-github-com-burntsushi-graphics-go
2148 (package
2149 (name "go-github-com-burntsushi-graphics-go")
2150 (version "0.0.0-20160129215708-b43f31a4a966")
2151 (source
2152 (origin
2153 (method git-fetch)
2154 (uri (git-reference
2155 (url "https://github.com/BurntSushi/graphics-go")
2156 (commit (go-version->git-ref version))))
2157 (file-name (git-file-name name version))
2158 (sha256
2159 (base32 "1084wkrj5l6j48s9lkh28h2zgmw8kp63ra1yw1nfpkf0f6hil3hn"))))
2160 (build-system go-build-system)
2161 (arguments
2162 (list
2163 #:import-path "github.com/BurntSushi/graphics-go"
2164 #:phases
2165 #~(modify-phases %standard-phases
2166 (delete 'build)))) ; no go files in project's root
2167 (home-page "https://github.com/BurntSushi/graphics-go")
2168 (synopsis "Graphics library for the Golang")
2169 (description
2170 "This package provides a library to works with graphics.")
2171 (license license:bsd-3)))
2172
1428(define-public go-github-com-burntsushi-toml 2173(define-public go-github-com-burntsushi-toml
1429 (package 2174 (package
1430 (name "go-github-com-burntsushi-toml") 2175 (name "go-github-com-burntsushi-toml")
@@ -1441,15 +2186,7 @@ indicator to any terminal application.")
1441 (build-system go-build-system) 2186 (build-system go-build-system)
1442 (arguments 2187 (arguments
1443 (list 2188 (list
1444 #:import-path "github.com/BurntSushi/toml" 2189 #:import-path "github.com/BurntSushi/toml"))
1445 #:phases
1446 #~(modify-phases %standard-phases
1447 ;; XXX: Replace when go-build-system supports nested path.
1448 (replace 'check
1449 (lambda* (#:key import-path tests? #:allow-other-keys)
1450 (when tests?
1451 (with-directory-excursion (string-append "src/" import-path)
1452 (invoke "go" "test" "-v" "./..."))))))))
1453 (home-page "https://github.com/BurntSushi/toml") 2190 (home-page "https://github.com/BurntSushi/toml")
1454 (synopsis "Toml parser and encoder for Go") 2191 (synopsis "Toml parser and encoder for Go")
1455 (description 2192 (description
@@ -1457,31 +2194,116 @@ indicator to any terminal application.")
1457similar to Go's standard library @code{json} and @code{xml} package.") 2194similar to Go's standard library @code{json} and @code{xml} package.")
1458 (license license:expat))) 2195 (license license:expat)))
1459 2196
1460;; XXX: This repository has been archived by the owner on Feb 21, 2018. It is 2197(define-public go-github-com-bytedance-sonic
1461;; now read-only.
1462(define-public go-github-com-calmh-xdr
1463 (package 2198 (package
1464 (name "go-github-com-calmh-xdr") 2199 (name "go-github-com-bytedance-sonic")
1465 (version "1.1.0") 2200 (version "1.12.6")
1466 (source 2201 (source
1467 (origin 2202 (origin
1468 (method git-fetch) 2203 (method git-fetch)
1469 (uri (git-reference 2204 (uri (git-reference
1470 (url "https://github.com/calmh/xdr") 2205 (url "https://github.com/bytedance/sonic")
1471 (commit (string-append "v" version)))) 2206 (commit (string-append "v" version))))
1472 (file-name (git-file-name name version)) 2207 (file-name (git-file-name name version))
1473 (sha256 2208 (sha256
1474 (base32 "072wqdncz3nd4a3zkhvzzx1y3in1lm29wfvl0d8wrnqs5pyqh0mh")))) 2209 (base32 "011hp6lvqvx4facxsmy6vya02g9q3rlnmxcii827sbf6bssy7wxp"))
2210 (modules '((guix build utils)))
2211 (snippet
2212 #~(begin
2213 ;; Submodules with their own go.mod files and packaged separately:
2214 ;;
2215 ;; - github.com/bytedance/sonic/external_jsonlib_test
2216 ;; - github.com/bytedance/sonic/fuzz
2217 ;; - github.com/bytedance/sonic/generic_test
2218 ;; - github.com/bytedance/sonic/loader
2219 (for-each delete-file-recursively
2220 (list "external_jsonlib_test"
2221 "fuzz"
2222 "generic_test"
2223 "loader"))))))
1475 (build-system go-build-system) 2224 (build-system go-build-system)
1476 (arguments 2225 (arguments
1477 (list 2226 (list
1478 #:import-path "github.com/calmh/xdr")) 2227 #:import-path "github.com/bytedance/sonic"))
1479 (home-page "https://github.com/calmh/xdr") 2228 (native-inputs
1480 (synopsis "XDR marshalling and unmarshalling") 2229 (list go-github-com-davecgh-go-spew
2230 go-github-com-stretchr-testify))
2231 (propagated-inputs
2232 (list go-github-com-bytedance-sonic-loader
2233 go-github-com-cloudwego-base64x
2234 go-github-com-klauspost-cpuid-v2
2235 go-github-com-twitchyliquid64-golang-asm
2236 go-golang-org-x-arch))
2237 (home-page "https://github.com/bytedance/sonic")
2238 (synopsis "JSON serializing and deserializing library")
1481 (description 2239 (description
1482 "XDR is an External Data Representation (XDR) 2240 "This package implements a functionality to serialize/deserialize JSON by
1483marshalling and unmarshalling library in Go. It uses code generation and not 2241using JIT and SIMD approaches.")
1484reflection.") 2242 ;; There some other licenses in "licenses" but all of them look like ASL
2243 ;; compatible.
2244 (license license:asl2.0)))
2245
2246(define-public go-github-com-bytedance-sonic-loader
2247 (package
2248 (name "go-github-com-bytedance-sonic-loader")
2249 (version "0.2.1")
2250 (source
2251 (origin
2252 (method git-fetch)
2253 (uri (git-reference
2254 (url "https://github.com/bytedance/sonic")
2255 (commit (go-version->git-ref version
2256 #:subdir "loader"))))
2257 (file-name (git-file-name name version))
2258 (sha256
2259 (base32 "0fyjq3hr4cmai2r06ppzil314bcqz416gd1zpw7lfp9h7mcwxwa4"))))
2260 (build-system go-build-system)
2261 (arguments
2262 (list
2263 #:import-path "github.com/bytedance/sonic/loader"
2264 #:unpack-path "github.com/bytedance/sonic"))
2265 (native-inputs
2266 (list go-github-com-stretchr-testify))
2267 (propagated-inputs
2268 (list go-github-com-cloudwego-iasm))
2269 (home-page "https://github.com/bytedance/sonic")
2270 (synopsis "Function loader for Sonic Golang library")
2271 (description
2272 "This package provides functionality to load functions used in Sonic JSON
2273library.")
2274 (license license:asl2.0)))
2275
2276(define-public go-github-com-c-bata-go-prompt
2277 (package
2278 (name "go-github-com-c-bata-go-prompt")
2279 (version "0.2.6")
2280 (source
2281 (origin
2282 (method git-fetch)
2283 (uri (git-reference
2284 (url "https://github.com/c-bata/go-prompt")
2285 (commit (string-append "v" version))))
2286 (file-name (git-file-name name version))
2287 (sha256
2288 (base32 "16hfb5xvgixn1anbsvazs8ihcrzyww0n8fddx10yiygqhsp07avz"))))
2289 (build-system go-build-system)
2290 (arguments
2291 (list
2292 #:import-path "github.com/c-bata/go-prompt"))
2293 (propagated-inputs
2294 (list go-github-com-mattn-go-colorable
2295 go-github-com-mattn-go-runewidth
2296 go-github-com-mattn-go-tty
2297 go-github-com-pkg-term
2298 go-golang-org-x-sys))
2299 (home-page "https://github.com/c-bata/go-prompt")
2300 (synopsis "Interactive CLI prompts toolit")
2301 (description
2302 "This package provides a library for building powerful interactive
2303prompts inspired by
2304@url{https://github.com/jonathanslenders/python-prompt-toolkit,
2305python-prompt-toolkit}, making it easier to build cross-platform command line
2306tools using Go.")
1485 (license license:expat))) 2307 (license license:expat)))
1486 2308
1487(define-public go-github-com-caarlos0-env 2309(define-public go-github-com-caarlos0-env
@@ -1508,6 +2330,54 @@ reflection.")
1508variables into structs.") 2330variables into structs.")
1509 (license license:expat))) 2331 (license license:expat)))
1510 2332
2333(define-public go-github-com-cention-sany-utf7
2334 (package
2335 (name "go-github-com-cention-sany-utf7")
2336 (version "0.0.0-20170124080048-26cad61bd60a")
2337 (source
2338 (origin
2339 (method git-fetch)
2340 (uri (git-reference
2341 (url "https://github.com/cention-sany/utf7")
2342 (commit (go-version->git-ref version))))
2343 (file-name (git-file-name name version))
2344 (sha256
2345 (base32 "1jy15ryfcln1iwchrksqyrnyfy41gisymm4f9sr1d73ja029bznm"))))
2346 (build-system go-build-system)
2347 (arguments
2348 (list #:import-path "github.com/cention-sany/utf7"))
2349 (propagated-inputs (list go-golang-org-x-text))
2350 (home-page "https://github.com/cention-sany/utf7")
2351 (synopsis "UTF-7 for Go")
2352 (description
2353 "The utf7 package provides support for the obsolete UTF-7 text
2354encoding in Go.")
2355 (license license:bsd-3)))
2356
2357(define-public go-github-com-cespare-mph
2358 (package
2359 (name "go-github-com-cespare-mph")
2360 (version "0.1.0")
2361 (source
2362 (origin
2363 (method git-fetch)
2364 (uri (git-reference
2365 (url "https://github.com/cespare/mph")
2366 (commit (string-append "v" version))))
2367 (file-name (git-file-name name version))
2368 (sha256
2369 (base32 "0mvd6bkvf3i3555kqkkr3k9jd4c25scjq4xad35sxpny8f72nbg1"))))
2370 (build-system go-build-system)
2371 (arguments
2372 (list
2373 #:import-path "github.com/cespare/mph"))
2374 (home-page "https://github.com/cespare/mph")
2375 (synopsis "Minimal perfect hashing in Go")
2376 (description
2377 "@code{mph} is a Go package that implements a minimal perfect hash table
2378over strings.")
2379 (license license:expat)))
2380
1511(define-public go-github-com-charlievieth-fastwalk 2381(define-public go-github-com-charlievieth-fastwalk
1512 (package 2382 (package
1513 (name "go-github-com-charlievieth-fastwalk") 2383 (name "go-github-com-charlievieth-fastwalk")
@@ -1570,6 +2440,126 @@ tools.")
1570@@url{https://github.com/charmbracelet/bubbletea, Bubble Tea} applications.") 2440@@url{https://github.com/charmbracelet/bubbletea, Bubble Tea} applications.")
1571 (license license:expat))) 2441 (license license:expat)))
1572 2442
2443(define-public go-github-com-charmbracelet-bubbletea
2444 (package
2445 (name "go-github-com-charmbracelet-bubbletea")
2446 (version "1.2.4")
2447 (source
2448 (origin
2449 (method git-fetch)
2450 (uri (git-reference
2451 (url "https://github.com/charmbracelet/bubbletea")
2452 (commit (string-append "v" version))))
2453 (file-name (git-file-name name version))
2454 (sha256
2455 (base32
2456 "0g5pj40lsdkh2gwixlpg53ji7fajncj512xj0v1x3mk5grgbc2zr"))))
2457 (build-system go-build-system)
2458 (arguments
2459 (list
2460 #:import-path "github.com/charmbracelet/bubbletea"
2461 #:phases
2462 #~(modify-phases %standard-phases
2463 (add-after 'unpack 'remove-examples
2464 (lambda* (#:key import-path #:allow-other-keys)
2465 (with-directory-excursion (string-append "src/" import-path)
2466 (for-each delete-file-recursively
2467 '("examples" "tutorials")))))
2468 (add-before 'check 'fix-tests
2469 (lambda _
2470 ;; XXX: The package requires
2471 ;; "go-github-com-charmbracelet-x-ansi" version 0.4.5; with the
2472 ;; newer version of "ansi", some "bubbletea" screen tests fail
2473 ;; as "ansi" 0.5.2 handles escape sequences a little bit
2474 ;; differently.
2475 (substitute* "src/github.com/charmbracelet/bubbletea/screen_test.go"
2476 (("x1b\\[0K")
2477 "x1b[K")
2478 (("x1b\\[2;0H")
2479 "x1b[2;H")))))))
2480 (propagated-inputs
2481 (list go-github-com-charmbracelet-lipgloss
2482 go-github-com-charmbracelet-x-ansi
2483 go-github-com-charmbracelet-x-term
2484 go-github-com-erikgeiser-coninput
2485 go-github-com-muesli-ansi
2486 go-github-com-muesli-cancelreader
2487 go-golang-org-x-sync
2488 go-golang-org-x-sys))
2489 (home-page "https://github.com/charmbracelet/bubbletea")
2490 (synopsis "Powerful little TUI framework")
2491 (description
2492 "Bubble Tea is a Go framework based on The Elm Architecture. It is
2493well-suited for simple and complex terminal applications, either inline,
2494full-window, or a mix of both.")
2495 (license license:asl2.0)))
2496
2497(define-public go-github-com-charmbracelet-glamour
2498 (package
2499 (name "go-github-com-charmbracelet-glamour")
2500 (version "0.8.0")
2501 (source
2502 (origin
2503 (method git-fetch)
2504 (uri (git-reference
2505 (url "https://github.com/charmbracelet/glamour")
2506 (commit (string-append "v" version))))
2507 (file-name (git-file-name name version))
2508 (sha256
2509 (base32 "112clivb9nsxlaqvypwcidmk4dkszg7vglb4apia43rdqqj82s6k"))))
2510 (build-system go-build-system)
2511 (arguments
2512 (list
2513 #:embed-files #~(list ".*\\.xml")
2514 #:import-path "github.com/charmbracelet/glamour"))
2515 (propagated-inputs
2516 (list go-github-com-alecthomas-chroma-v2
2517 go-github-com-charmbracelet-lipgloss
2518 go-github-com-charmbracelet-x-ansi
2519 go-github-com-charmbracelet-x-exp-golden
2520 go-github-com-microcosm-cc-bluemonday
2521 go-github-com-muesli-reflow
2522 go-github-com-muesli-termenv
2523 go-github-com-yuin-goldmark
2524 go-github-com-yuin-goldmark-emoji
2525 go-golang-org-x-term))
2526 (home-page "https://github.com/charmbracelet/glamour/")
2527 (synopsis "Write handsome command-line tools with glamour")
2528 (description
2529 "@code{glamour} lets you render markdown documents and templates on ANSI
2530compatible terminals. You can create your own stylesheet or use one of our
2531glamorous default themes.")
2532 (license license:expat)))
2533
2534(define-public go-github-com-charmbracelet-harmonica
2535 (package
2536 (name "go-github-com-charmbracelet-harmonica")
2537 (version "0.2.0")
2538 (source
2539 (origin
2540 (method git-fetch)
2541 (uri (git-reference
2542 (url "https://github.com/charmbracelet/harmonica")
2543 (commit (string-append "v" version))))
2544 (file-name (git-file-name name version))
2545 (sha256
2546 (base32 "1aasg0c0xxhwav4ivm1mqmsqab6lk407xky8c19pb85r1hdbq0n7"))))
2547 (build-system go-build-system)
2548 (arguments
2549 (list
2550 #:import-path "github.com/charmbracelet/harmonica"
2551 #:phases
2552 #~(modify-phases %standard-phases
2553 (add-after 'unpack 'remove-examples
2554 (lambda* (#:key import-path #:allow-other-keys)
2555 (delete-file-recursively
2556 (string-append "src/" import-path "/examples")))))))
2557 (home-page "https://github.com/charmbracelet/harmonica")
2558 (synopsis "Simple, physics-based animation library")
2559 (description
2560 "A simple, efficient spring animation library for smooth, natural motion.")
2561 (license license:expat)))
2562
1573(define-public go-github-com-charmbracelet-lipgloss 2563(define-public go-github-com-charmbracelet-lipgloss
1574 (package 2564 (package
1575 (name "go-github-com-charmbracelet-lipgloss") 2565 (name "go-github-com-charmbracelet-lipgloss")
@@ -1586,7 +2576,13 @@ tools.")
1586 (build-system go-build-system) 2576 (build-system go-build-system)
1587 (arguments 2577 (arguments
1588 (list 2578 (list
1589 #:import-path "github.com/charmbracelet/lipgloss")) 2579 #:import-path "github.com/charmbracelet/lipgloss"
2580 #:phases
2581 #~(modify-phases %standard-phases
2582 (add-after 'unpack 'remove-examples
2583 (lambda* (#:key import-path #:allow-other-keys)
2584 (delete-file-recursively
2585 (string-append "src/" import-path "/examples")))))))
1590 (propagated-inputs 2586 (propagated-inputs
1591 (list go-github-com-aymanbagabas-go-udiff 2587 (list go-github-com-aymanbagabas-go-udiff
1592 go-github-com-charmbracelet-x-ansi 2588 go-github-com-charmbracelet-x-ansi
@@ -1599,10 +2595,40 @@ tools.")
1599 "Style definitions for nice terminal layouts. Built with TUIs in mind.") 2595 "Style definitions for nice terminal layouts. Built with TUIs in mind.")
1600 (license license:expat))) 2596 (license license:expat)))
1601 2597
2598(define-public go-github-com-charmbracelet-log
2599 (package
2600 (name "go-github-com-charmbracelet-log")
2601 (version "0.4.0")
2602 (source
2603 (origin
2604 (method git-fetch)
2605 (uri (git-reference
2606 (url "https://github.com/charmbracelet/log")
2607 (commit (string-append "v" version))))
2608 (file-name (git-file-name name version))
2609 (sha256
2610 (base32 "1dljsz5h6pw9w396sy9na99c2pvi542b3r138lka7l0ifmzpxjw9"))))
2611 (build-system go-build-system)
2612 (arguments
2613 (list
2614 #:import-path "github.com/charmbracelet/log"))
2615 (native-inputs
2616 (list go-github-com-stretchr-testify))
2617 (propagated-inputs
2618 (list go-github-com-charmbracelet-lipgloss
2619 go-github-com-go-logfmt-logfmt
2620 go-github-com-muesli-termenv
2621 go-golang-org-x-exp))
2622 (home-page "https://github.com/charmbracelet/log")
2623 (synopsis "Colorful Go logging library")
2624 (description
2625 "This package provides a minimal and colorful Go logging library.")
2626 (license license:expat)))
2627
1602(define-public go-github-com-charmbracelet-x-ansi 2628(define-public go-github-com-charmbracelet-x-ansi
1603 (package 2629 (package
1604 (name "go-github-com-charmbracelet-x-ansi") 2630 (name "go-github-com-charmbracelet-x-ansi")
1605 (version "0.5.2") 2631 (version "0.6.0")
1606 (source 2632 (source
1607 (origin 2633 (origin
1608 (method git-fetch) 2634 (method git-fetch)
@@ -1612,7 +2638,7 @@ tools.")
1612 #:subdir "ansi")))) 2638 #:subdir "ansi"))))
1613 (file-name (git-file-name name version)) 2639 (file-name (git-file-name name version))
1614 (sha256 2640 (sha256
1615 (base32 "016s67690dr3w3an6m24q6f4vrmwpk0qd4akvvh1dzpfyf4khxd4")))) 2641 (base32 "0y76a1zqj2ccyqibh4xk47hyw8grwrf5j3qm2j0pzd2yn592dny5"))))
1616 (build-system go-build-system) 2642 (build-system go-build-system)
1617 (arguments 2643 (arguments
1618 (list 2644 (list
@@ -1629,6 +2655,82 @@ tools.")
1629ECMA-48} specs.") 2655ECMA-48} specs.")
1630 (license license:expat))) 2656 (license license:expat)))
1631 2657
2658(define-public go-github-com-charmbracelet-x-exp-golden
2659 (package
2660 (name "go-github-com-charmbracelet-x-exp-golden")
2661 (version "0.0.0-20241121171228-5bc00623ea2f")
2662 (source
2663 (origin
2664 (method git-fetch)
2665 (uri (git-reference
2666 (url "https://github.com/charmbracelet/x")
2667 (commit (go-version->git-ref version
2668 #:subdir "exp/golden"))))
2669 (file-name (git-file-name name version))
2670 (sha256
2671 (base32 "016s67690dr3w3an6m24q6f4vrmwpk0qd4akvvh1dzpfyf4khxd4"))))
2672 (build-system go-build-system)
2673 (arguments
2674 (list
2675 #:import-path "github.com/charmbracelet/x/exp/golden"
2676 #:unpack-path "github.com/charmbracelet/x/"
2677 #:phases
2678 #~(modify-phases %standard-phases
2679 (add-before 'check 'pre-check
2680 (lambda* (#:key import-path #:allow-other-keys)
2681 ;; Tests need to write to that files.
2682 (with-directory-excursion (string-append "src/" import-path)
2683 (make-file-writable "testdata/TestRequireEqualUpdate.golden")
2684 (make-file-writable "testdata/TestRequireEqualNoUpdate.golden"))))
2685 (add-after 'check 'post-check
2686 (lambda* (#:key import-path #:allow-other-keys)
2687 (with-directory-excursion (string-append "src/" import-path)
2688 ;; Remove modified testdata just in case.
2689 (delete-file-recursively "testdata")))))))
2690 (propagated-inputs
2691 (list go-github-com-aymanbagabas-go-udiff))
2692 (home-page "https://github.com/charmbracelet/x")
2693 (synopsis "Verify @code{.golden} file equality")
2694 (description
2695 "Golden files (@code{.golden}) contain the raw expected output of
2696tests,which can contain control codes and escape sequences. @code{golden}
2697package provides an API for comparing Golden files.")
2698 (license license:expat)))
2699
2700(define-public go-github-com-charmbracelet-x-input
2701 (package
2702 (name "go-github-com-charmbracelet-x-input")
2703 (version "0.3.0")
2704 (source
2705 (origin
2706 (method git-fetch)
2707 (uri (git-reference
2708 (url "https://github.com/charmbracelet/x")
2709 (commit (go-version->git-ref version
2710 #:subdir "input"))))
2711 (file-name (git-file-name name version))
2712 (sha256
2713 (base32 "0v7yrpq6ffa2qdqlrdgl7wm5jvm9wlh2iwyhd4x6hqkq90gwllyr"))
2714 (snippet
2715 #~(begin (use-modules (guix build utils))
2716 (delete-file-recursively "ansi")))))
2717 (build-system go-build-system)
2718 (arguments
2719 (list
2720 #:import-path "github.com/charmbracelet/x/input"
2721 #:unpack-path "github.com/charmbracelet/x"))
2722 (propagated-inputs
2723 (list go-github-com-charmbracelet-x-ansi
2724 go-github-com-erikgeiser-coninput
2725 go-github-com-muesli-cancelreader
2726 go-github-com-xo-terminfo
2727 go-golang-org-x-sys))
2728 (home-page "https://github.com/charmbracelet/x")
2729 (synopsis "Terminal event input handler and driver")
2730 (description
2731 "This package provides a terminal event input handler and driver.")
2732 (license license:expat)))
2733
1632(define-public go-github-com-charmbracelet-x-term 2734(define-public go-github-com-charmbracelet-x-term
1633 (package 2735 (package
1634 (name "go-github-com-charmbracelet-x-term") 2736 (name "go-github-com-charmbracelet-x-term")
@@ -1662,46 +2764,30 @@ ECMA-48} specs.")
1662@end itemize") 2764@end itemize")
1663 (license license:expat))) 2765 (license license:expat)))
1664 2766
1665(define-public go-github-com-charmbracelet-x-exp-golden 2767(define-public go-github-com-charmbracelet-x-windows
1666 (package 2768 (package
1667 (name "go-github-com-charmbracelet-x-exp-golden") 2769 (name "go-github-com-charmbracelet-x-windows")
1668 (version "0.0.0-20241121171228-5bc00623ea2f") 2770 (version "0.2.0")
1669 (source 2771 (source
1670 (origin 2772 (origin
1671 (method git-fetch) 2773 (method git-fetch)
1672 (uri (git-reference 2774 (uri (git-reference
1673 (url "https://github.com/charmbracelet/x") 2775 (url "https://github.com/charmbracelet/x")
1674 (commit (go-version->git-ref version 2776 (commit (go-version->git-ref version
1675 #:subdir "exp/golden")))) 2777 #:subdir "windows"))))
1676 (file-name (git-file-name name version)) 2778 (file-name (git-file-name name version))
1677 (sha256 2779 (sha256
1678 (base32 "016s67690dr3w3an6m24q6f4vrmwpk0qd4akvvh1dzpfyf4khxd4")))) 2780 (base32 "011kkz7l7fqr3a4sslfipiyl6bq51md1rc7ayj73xm5ayscpm0r2"))))
1679 (build-system go-build-system) 2781 (build-system go-build-system)
1680 (arguments 2782 (arguments
1681 (list 2783 (list #:import-path "github.com/charmbracelet/x/windows"
1682 #:import-path "github.com/charmbracelet/x/exp/golden" 2784 #:unpack-path "github.com/charmbracelet/x"))
1683 #:unpack-path "github.com/charmbracelet/x/"
1684 #:phases
1685 #~(modify-phases %standard-phases
1686 (add-before 'check 'pre-check
1687 (lambda* (#:key import-path #:allow-other-keys)
1688 ;; Tests need to write to that files.
1689 (with-directory-excursion (string-append "src/" import-path)
1690 (make-file-writable "testdata/TestRequireEqualUpdate.golden")
1691 (make-file-writable "testdata/TestRequireEqualNoUpdate.golden"))))
1692 (add-after 'check 'post-check
1693 (lambda* (#:key import-path #:allow-other-keys)
1694 (with-directory-excursion (string-append "src/" import-path)
1695 ;; Remove modified testdata just in case.
1696 (delete-file-recursively "testdata")))))))
1697 (propagated-inputs 2785 (propagated-inputs
1698 (list go-github-com-aymanbagabas-go-udiff)) 2786 (list go-golang-org-x-sys))
1699 (home-page "https://github.com/charmbracelet/x") 2787 (home-page "https://github.com/charmbracelet/x")
1700 (synopsis "Verify @code{.golden} file equality") 2788 (synopsis "Windows API used at Charmbracelet")
1701 (description 2789 (description
1702 "Golden files (@code{.golden}) contain the raw expected output of 2790 "This package provides the Windows API used at Charmbracelet.")
1703tests,which can contain control codes and escape sequences. @code{golden}
1704package provides an API for comparing Golden files.")
1705 (license license:expat))) 2791 (license license:expat)))
1706 2792
1707(define-public go-github-com-cheggaaa-pb 2793(define-public go-github-com-cheggaaa-pb
@@ -1725,7 +2811,8 @@ package provides an API for comparing Golden files.")
1725 (list go-github-com-fatih-color 2811 (list go-github-com-fatih-color
1726 go-github-com-mattn-go-colorable 2812 go-github-com-mattn-go-colorable
1727 go-github-com-mattn-go-isatty 2813 go-github-com-mattn-go-isatty
1728 go-github-com-mattn-go-runewidth)) 2814 go-github-com-mattn-go-runewidth
2815 go-github-com-vividcortex-ewma))
1729 (home-page "https://github.com/cheggaaa/pb/") 2816 (home-page "https://github.com/cheggaaa/pb/")
1730 (synopsis "Console progress bar for Go") 2817 (synopsis "Console progress bar for Go")
1731 (description 2818 (description
@@ -1750,9 +2837,10 @@ package provides an API for comparing Golden files.")
1750 (list 2837 (list
1751 #:import-path "github.com/cheggaaa/pb/v3" 2838 #:import-path "github.com/cheggaaa/pb/v3"
1752 #:unpack-path "github.com/cheggaaa/pb")) 2839 #:unpack-path "github.com/cheggaaa/pb"))
1753 (propagated-inputs 2840 (arguments
1754 (modify-inputs (package-propagated-inputs go-github-com-cheggaaa-pb) 2841 (list
1755 (append go-github-com-vividcortex-ewma))))) 2842 #:import-path "github.com/cheggaaa/pb/v3"
2843 #:unpack-path "github.com/cheggaaa/pb"))))
1756 2844
1757(define-public go-github-com-chzyer-logex 2845(define-public go-github-com-chzyer-logex
1758 (package 2846 (package
@@ -1809,6 +2897,213 @@ levels that works by wrapping the standard @code{log} library.")
1809 "Readline is a pure Go implementation of a GNU-Readline like library.") 2897 "Readline is a pure Go implementation of a GNU-Readline like library.")
1810 (license license:expat))) 2898 (license license:expat)))
1811 2899
2900(define-public go-github-com-cilium-ebpf
2901 (package
2902 (name "go-github-com-cilium-ebpf")
2903 (version "0.16.0")
2904 (source
2905 (origin
2906 (method git-fetch)
2907 (uri (git-reference
2908 (url "https://github.com/cilium/ebpf")
2909 (commit (string-append "v" version))))
2910 (file-name (git-file-name name version))
2911 (sha256
2912 (base32 "1p3wssg00d0h5dn1fadl0g8iwcak0d6myyjlqwgf6rnfnlajcrgi"))))
2913 (build-system go-build-system)
2914 (arguments
2915 (list
2916 #:import-path "github.com/cilium/ebpf"
2917 #:test-flags
2918 ;; Tests fail with errors:
2919 ;; - neither debugfs nor tracefs are mounted
2920 ;; - no such file or directory
2921 #~(list "-skip" (string-join
2922 (list
2923 "TestNewEvent"
2924 "TestFSType"
2925 "TestEventID"
2926 "TestSanitizePath"
2927 "TestGetTracefsPath")
2928 "|"))
2929 ;; XXX: 337 tests failed and 664 passed when "..." is preserved, run
2930 ;; some of available tests, figure out how to fix the rests.
2931 #:test-subdirs
2932 #~(list
2933 ;; Tests fail with error: detect support for
2934 ;; FnSkbSetTstamp for program type SchedCLS:
2935 ;; detect support for SchedCLS: load program:
2936 ;; operation not permitted
2937 ;; "features"
2938
2939 ;; Failed to adjust rlimit, tests may fail
2940 ;; "link"
2941 ;; "perf"
2942 ;; "ringbuf"
2943 "asm"
2944 "internal/...")
2945 #:phases
2946 #~(modify-phases %standard-phases
2947 (add-after 'unpack 'remove-examples
2948 (lambda* (#:key tests? import-path #:allow-other-keys)
2949 (with-directory-excursion (string-append "src/" import-path)
2950 (for-each delete-file-recursively
2951 (list "example_sock_elf_test.go"
2952 "example_sock_extract_dist_test.go"
2953 "examples"))))))))
2954 (propagated-inputs
2955 (list go-github-com-go-quicktest-qt
2956 go-github-com-google-go-cmp
2957 go-github-com-jsimonetti-rtnetlink-v2
2958 go-golang-org-x-exp
2959 go-golang-org-x-sys))
2960 (home-page "https://ebpf-go.dev/")
2961 (synopsis "Read, modify and load extended Berkeley Packet Filter programs in Golang")
2962 (description
2963 "This package provides utilities for loading, compiling, and debugging
2964@url{https://www.ebpf.io/,eBPF} programs. It has minimal external
2965dependencies and is intended to be used in long running processes.")
2966 (license license:expat)))
2967
2968(define-public go-github-com-clbanning-mxj-v2
2969 (package
2970 (name "go-github-com-clbanning-mxj-v2")
2971 (version "2.7.0")
2972 (source
2973 (origin
2974 (method git-fetch)
2975 (uri (git-reference
2976 (url "https://github.com/clbanning/mxj")
2977 (commit (string-append "v" version))))
2978 (file-name (git-file-name name version))
2979 (sha256
2980 (base32 "1kdh9cdq0x9jk5vzn2k489w7k88rdwf1b87yzhr7jbkchh2nh608"))))
2981 (build-system go-build-system)
2982 (arguments
2983 (list
2984 #:tests? #f ; XXX: find out why
2985 #:import-path "github.com/clbanning/mxj/v2"
2986 #:test-subdirs #~(list ".")))
2987 (native-inputs
2988 (list go-github-com-google-go-cmp))
2989 (home-page "https://github.com/clbanning/mxj")
2990 (synopsis "Decode / encode XML in Golang")
2991 (description
2992 "This package implements a functionality to marshal/unmarshal XML to/from
2993@code{map[string]interface{}} values (and JSON); extract/modify values from
2994maps by key or key-path, including wildcards.")
2995 (license license:expat)))
2996
2997(define-public go-github-com-cli-safeexec
2998 (package
2999 (name "go-github-com-cli-safeexec")
3000 (version "1.0.1")
3001 (source
3002 (origin
3003 (method git-fetch)
3004 (uri (git-reference
3005 (url "https://github.com/cli/safeexec")
3006 (commit (string-append "v" version))))
3007 (file-name (git-file-name name version))
3008 (sha256
3009 (base32 "0j6hspjx9kyxn98nbisawx6wvbi1d6rpzr6p2rzhllm673wibwr3"))))
3010 (build-system go-build-system)
3011 (arguments
3012 (list
3013 #:import-path "github.com/cli/safeexec"))
3014 (home-page "https://github.com/cli/safeexec")
3015 (synopsis "Safe implementation of Go's exec.Command")
3016 (description
3017 "This package provides a Go module that provides a stabler alternative to
3018@code{exec.LookPath()}.")
3019 (license license:bsd-2)))
3020
3021(define-public go-github-com-client9-misspell
3022 (package
3023 (name "go-github-com-client9-misspell")
3024 (version "0.3.4")
3025 (source
3026 (origin
3027 (method git-fetch)
3028 (uri (git-reference
3029 (url "https://github.com/client9/misspell")
3030 (commit (string-append "v" version))))
3031 (file-name (git-file-name name version))
3032 (sha256
3033 (base32 "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs"))))
3034 (build-system go-build-system)
3035 (arguments
3036 (list
3037 #:import-path "github.com/client9/misspell"
3038 #:test-subdirs #~(list "ignore" ".")))
3039 (propagated-inputs (list go-github-com-gobwas-glob))
3040 (home-page "https://github.com/client9/misspell")
3041 (synopsis "Correct commonly misspelled English words in source files")
3042 (description
3043 "misspell assists with correcting commonly misspelled English words in
3044source files. A neutral variety of English is used by default, but a US or UK
3045locale can be selected.")
3046 (license license:expat)))
3047
3048(define-public go-github-com-cloudwego-iasm
3049 (package
3050 (name "go-github-com-cloudwego-iasm")
3051 (version "0.2.0")
3052 (source
3053 (origin
3054 (method git-fetch)
3055 (uri (git-reference
3056 (url "https://github.com/cloudwego/iasm")
3057 (commit (string-append "v" version))))
3058 (file-name (git-file-name name version))
3059 (sha256
3060 (base32 "0j9jvx6ijlr2xz3am4qrz5py68xpl8np7m7yfq9m2ilkli3ksq9x"))))
3061 (build-system go-build-system)
3062 (arguments
3063 (list
3064 #:import-path "github.com/cloudwego/iasm"))
3065 (native-inputs
3066 (list go-github-com-davecgh-go-spew
3067 go-github-com-stretchr-testify))
3068 (propagated-inputs
3069 (list go-github-com-klauspost-cpuid-v2
3070 go-github-com-knz-go-libedit
3071 go-nullprogram-com-x-optparse))
3072 (home-page "https://github.com/cloudwego/iasm")
3073 (synopsis "Interactive Assembler for Golang")
3074 (description
3075 "This package provides x86_64 variant of ported from a Python module
3076@url{https://github.com/Maratyszcza/PeachPy,PeachPy}, with some adaption to
3077the Go language features.")
3078 (license license:asl2.0)))
3079
3080(define-public go-github-com-containerd-btrfs-v2
3081 (package
3082 (name "go-github-com-containerd-btrfs-v2")
3083 (version "2.0.0")
3084 (source
3085 (origin
3086 (method git-fetch)
3087 (uri (git-reference
3088 (url "https://github.com/containerd/btrfs")
3089 (commit (string-append "v" version))))
3090 (file-name (git-file-name name version))
3091 (sha256
3092 (base32 "05xwni5gvg5nka1n6lbx7mah0iykz2jw7ca010r33djcn4i8r5bs"))))
3093 (build-system go-build-system)
3094 (arguments
3095 (list
3096 #:import-path "github.com/containerd/btrfs/v2"))
3097 (propagated-inputs
3098 (list go-golang-org-x-sys))
3099 (home-page "https://github.com/containerd/btrfs")
3100 (synopsis "Btrfs bindings for Go")
3101 (description
3102 "Package btrfs provides bindings for working with btrfs partitions from
3103Go. The Linux kernel headers are only required on compilation time, not on
3104run time.")
3105 (license license:asl2.0)))
3106
1812(define-public go-github-com-containerd-cgroups 3107(define-public go-github-com-containerd-cgroups
1813 (package 3108 (package
1814 (name "go-github-com-containerd-cgroups") 3109 (name "go-github-com-containerd-cgroups")
@@ -1834,20 +3129,36 @@ levels that works by wrapping the standard @code{log} library.")
1834 (arguments 3129 (arguments
1835 (list 3130 (list
1836 #:import-path "github.com/containerd/cgroups" 3131 #:import-path "github.com/containerd/cgroups"
1837 #:phases 3132 #:test-flags
1838 #~(modify-phases %standard-phases 3133 #~(list "-skip" (string-join
1839 (add-after 'unpack 'disable-failing-tests 3134 ;; cannot find cgroup mount destination"
1840 (lambda* (#:key tests? import-path #:allow-other-keys) 3135 (list "TestSystemd240"
1841 (with-directory-excursion (string-append "src/" import-path) 3136 ;; cannot statfs cgroup root
1842 (substitute* (find-files "." "_test\\.go$") 3137 "TestCgroupType"
1843 ;; expected error "controller is not supported" but received 3138 "TestCgroupv2CpuStats"
1844 ;; "cgroups: cannot find cgroup mount destination" 3139 "TestCgroupv2MemoryStats"
1845 (("TestSystemd240") "OffTestSystemd240")))))))) 3140 "TestCgroupv2PSIStats"
3141 "TestCgroupv2PidsStats"
3142 "TestErrorsWhenUnitAlreadyExists"
3143 "TestEventChanCleanupOnCgroupRemoval"
3144 "TestIgnoreUnitExistsWhenPidNegativeOne"
3145 "TestKill"
3146 "TestMoveTo"
3147 "TestSystemdCgroupCpuController"
3148 "TestSystemdCgroupMemoryController"
3149 "TestSystemdCgroupPSIController"
3150 "TestSystemdCgroupPidsController"
3151 ;; Assertion failed
3152 "TestDeviceFilter_Nil"
3153 "TestDeviceFilter_Privileged"
3154 "TestDeviceFilter_Weird")
3155 "|"))))
1846 (native-inputs 3156 (native-inputs
1847 (list go-github-com-stretchr-testify 3157 (list go-github-com-stretchr-testify
1848 go-go-uber-org-goleak)) 3158 go-go-uber-org-goleak))
1849 (propagated-inputs 3159 (propagated-inputs
1850 (list go-github-com-coreos-go-systemd-v22 3160 (list go-github-com-cilium-ebpf
3161 go-github-com-coreos-go-systemd-v22
1851 go-github-com-docker-go-units 3162 go-github-com-docker-go-units
1852 go-github-com-godbus-dbus-v5 3163 go-github-com-godbus-dbus-v5
1853 go-github-com-gogo-protobuf 3164 go-github-com-gogo-protobuf
@@ -1863,6 +3174,69 @@ cgroup uses the OCI runtime-spec found
1863@url{https://github.com/opencontainers/runtime-spec,here}.") 3174@url{https://github.com/opencontainers/runtime-spec,here}.")
1864 (license license:asl2.0))) 3175 (license license:asl2.0)))
1865 3176
3177(define-public go-github-com-containerd-cgroups-v3
3178 (package
3179 (inherit go-github-com-containerd-cgroups)
3180 (name "go-github-com-containerd-cgroups-v3")
3181 (version "3.0.4")
3182 (source
3183 (origin
3184 (method git-fetch)
3185 (uri (git-reference
3186 (url "https://github.com/containerd/cgroups")
3187 (commit (string-append "v" version))))
3188 (file-name (git-file-name name version))
3189 (sha256
3190 (base32 "09fkbhkx0hmcfcym3zl0dshbhj3p692xg7d6y8pj732g64zk6v4k"))
3191 (modules '((guix build utils)))
3192 (snippet
3193 #~(begin
3194 ;; Submodule(s) with their own go.mod files and packed as
3195 ;; separated packages:
3196 ;;
3197 ;; - github.com/containerd/cgroups/cmd cgctl
3198 (delete-file-recursively "cmd")))))
3199 (arguments
3200 (substitute-keyword-arguments
3201 (package-arguments go-github-com-containerd-cgroups)
3202 ((#:import-path _) "github.com/containerd/cgroups/v3")))
3203 (propagated-inputs
3204 (list go-github-com-cilium-ebpf
3205 go-github-com-containerd-log
3206 go-github-com-coreos-go-systemd-v22
3207 go-github-com-docker-go-units
3208 go-github-com-godbus-dbus-v5
3209 go-github-com-moby-sys-userns
3210 go-github-com-opencontainers-runtime-spec
3211 go-golang-org-x-sys
3212 go-google-golang-org-protobuf))))
3213
3214(define-public go-github-com-containerd-console
3215 (package
3216 (name "go-github-com-containerd-console")
3217 (version "1.0.4")
3218 (source
3219 (origin
3220 (method git-fetch)
3221 (uri (git-reference
3222 (url "https://github.com/containerd/console")
3223 (commit (string-append "v" version))))
3224 (file-name (git-file-name name version))
3225 (sha256
3226 (base32 "1p10k6lwfxgij5a9i47dark8apffc6wn254dwj43ks8jr134854v"))))
3227 (build-system go-build-system)
3228 (arguments
3229 (list
3230 #:import-path "github.com/containerd/console"))
3231 (propagated-inputs
3232 (list go-golang-org-x-sys))
3233 (home-page "https://github.com/containerd/console")
3234 (synopsis "Console package for Go")
3235 (description
3236 "This is Golang package for dealing with consoles. It has few
3237dependencies and a simple API.")
3238 (license license:asl2.0)))
3239
1866(define-public go-github-com-containerd-fifo 3240(define-public go-github-com-containerd-fifo
1867 (package 3241 (package
1868 (name "go-github-com-containerd-fifo") 3242 (name "go-github-com-containerd-fifo")
@@ -1890,6 +3264,87 @@ cgroup uses the OCI runtime-spec found
1890way.") 3264way.")
1891 (license license:asl2.0))) 3265 (license license:asl2.0)))
1892 3266
3267(define-public go-github-com-containerd-log
3268 (package
3269 (name "go-github-com-containerd-log")
3270 (version "0.1.0")
3271 (source
3272 (origin
3273 (method git-fetch)
3274 (uri (git-reference
3275 (url "https://github.com/containerd/log")
3276 (commit (string-append "v" version))))
3277 (file-name (git-file-name name version))
3278 (sha256
3279 (base32 "1nzviiqpn0djdwql2q3m2xs1ndxyd0v2klvq6xi2r0dn4wr3mqdy"))))
3280 (build-system go-build-system)
3281 (arguments
3282 (list
3283 #:import-path "github.com/containerd/log"))
3284 (propagated-inputs (list go-github-com-sirupsen-logrus))
3285 (home-page "https://github.com/containerd/log")
3286 (synopsis "Common log interface for containerd repositories and clients")
3287 (description
3288 "Package log provides types and functions related to logging, passing
3289loggers through a context, and attaching context to the logger.")
3290 (license license:asl2.0)))
3291
3292(define-public go-github-com-containerd-platforms
3293 (package
3294 (name "go-github-com-containerd-platforms")
3295 (version "0.2.1")
3296 (source
3297 (origin
3298 (method git-fetch)
3299 (uri (git-reference
3300 (url "https://github.com/containerd/platforms")
3301 (commit (string-append "v" version))))
3302 (file-name (git-file-name name version))
3303 (sha256
3304 (base32 "03clc3b2fvlym5d2rvgima0p0br1m34p8gs7rn6y5rp7v7z601sx"))))
3305 (build-system go-build-system)
3306 (arguments
3307 (list
3308 #:import-path "github.com/containerd/platforms"))
3309 (native-inputs
3310 (list go-github-com-stretchr-testify))
3311 (propagated-inputs
3312 (list go-github-com-containerd-log
3313 go-github-com-opencontainers-image-spec
3314 go-golang-org-x-sys))
3315 (home-page "https://github.com/containerd/platforms")
3316 (synopsis "Handling container platform type")
3317 (description
3318 "Package platforms provides a toolkit for normalizing, matching and
3319specifying container platforms.")
3320 (license license:asl2.0)))
3321
3322(define-public go-github-com-containerd-plugin
3323 (package
3324 (name "go-github-com-containerd-plugin")
3325 (version "1.0.0")
3326 (source
3327 (origin
3328 (method git-fetch)
3329 (uri (git-reference
3330 (url "https://github.com/containerd/plugin")
3331 (commit (string-append "v" version))))
3332 (file-name (git-file-name name version))
3333 (sha256
3334 (base32 "1gzm8h4yaparji0llqqfxl68gv56hwlybz4rgwnr54fhr029mpzp"))))
3335 (build-system go-build-system)
3336 (arguments
3337 (list
3338 #:import-path "github.com/containerd/plugin"))
3339 (propagated-inputs
3340 (list go-github-com-opencontainers-image-spec))
3341 (home-page "https://github.com/containerd/plugin")
3342 (synopsis "Registering and managing typed plugins with dependencies")
3343 (description
3344 "This package provides a common plugin interface across containerd
3345repositories.")
3346 (license license:asl2.0)))
3347
1893(define-public go-github-com-coocood-freecache 3348(define-public go-github-com-coocood-freecache
1894 (package 3349 (package
1895 (name "go-github-com-coocood-freecache") 3350 (name "go-github-com-coocood-freecache")
@@ -1917,6 +3372,32 @@ objects can be cached in memory without increased latency or degraded
1917throughput.") 3372throughput.")
1918 (license license:expat))) 3373 (license license:expat)))
1919 3374
3375(define-public go-github-com-coreos-go-semver
3376 (package
3377 (name "go-github-com-coreos-go-semver")
3378 (version "0.3.1")
3379 (source
3380 (origin
3381 (method git-fetch)
3382 (uri (git-reference
3383 (url "https://github.com/coreos/go-semver")
3384 (commit (string-append "v" version))))
3385 (file-name (git-file-name name version))
3386 (sha256
3387 (base32 "0vs04yykv1bwgvbyvi1m7ps83w06wzplw4giw8jac2iidx0x74v5"))))
3388 (build-system go-build-system)
3389 (arguments
3390 (list
3391 #:import-path "github.com/coreos/go-semver"))
3392 (propagated-inputs
3393 (list go-gopkg-in-yaml-v3))
3394 (home-page "https://github.com/coreos/go-semver/")
3395 (synopsis "Semantic versioning library")
3396 (description
3397 "@code{go-semver} is a semantic versioning library for Go. It lets you
3398parse and compare two semantic version strings.")
3399 (license license:asl2.0)))
3400
1920(define-public go-github-com-coreos-go-systemd-v22 3401(define-public go-github-com-coreos-go-systemd-v22
1921 (package 3402 (package
1922 (name "go-github-com-coreos-go-systemd-v22") 3403 (name "go-github-com-coreos-go-systemd-v22")
@@ -1997,10 +3478,39 @@ submodules:
1997@end itemize") 3478@end itemize")
1998 (license license:asl2.0))) 3479 (license license:asl2.0)))
1999 3480
3481(define-public go-github-com-couchbase-gomemcached
3482 (package
3483 (name "go-github-com-couchbase-gomemcached")
3484 (version "0.3.2")
3485 (source
3486 (origin
3487 (method git-fetch)
3488 (uri (git-reference
3489 (url "https://github.com/couchbase/gomemcached")
3490 (commit (string-append "v" version))))
3491 (file-name (git-file-name name version))
3492 (sha256
3493 (base32 "132zjbr7d586gb1wqlnhg3vgyshq629z1wsskrpbmyypjfkq620c"))))
3494 (build-system go-build-system)
3495 (arguments
3496 (list
3497 #:import-path "github.com/couchbase/gomemcached"
3498 #:test-flags #~(list "-skip" "TestEncodingResponse")
3499 #:test-subdirs #~(list ".")))
3500 (native-inputs
3501 (list go-github-com-stretchr-testify))
3502 (propagated-inputs
3503 (list go-github-com-pkg-errors))
3504 (home-page "https://github.com/couchbase/gomemcached")
3505 (synopsis "Memcached binary protocol toolkit for go")
3506 (description
3507 "This package provides memcache client and server functionality.")
3508 (license license:expat)))
3509
2000(define-public go-github-com-creack-pty 3510(define-public go-github-com-creack-pty
2001 (package 3511 (package
2002 (name "go-github-com-creack-pty") 3512 (name "go-github-com-creack-pty")
2003 (version "1.1.23") 3513 (version "1.1.24")
2004 (source 3514 (source
2005 (origin 3515 (origin
2006 (method git-fetch) 3516 (method git-fetch)
@@ -2009,7 +3519,7 @@ submodules:
2009 (commit (string-append "v" version)))) 3519 (commit (string-append "v" version))))
2010 (file-name (git-file-name name version)) 3520 (file-name (git-file-name name version))
2011 (sha256 3521 (sha256
2012 (base32 "1chx7ml9wlpk8pzgnnxb97gblmxz1j1v37m5i1asb94l5c24r1fg")))) 3522 (base32 "0yy4zhfb7vrrbwd13rcw0zzcq0ami3zv3hp0x7g7il6mrbadcf25"))))
2013 (build-system go-build-system) 3523 (build-system go-build-system)
2014 (arguments 3524 (arguments
2015 (list 3525 (list
@@ -2045,6 +3555,34 @@ submodules:
2045 "The pty package provides functions for working with Unix pseudoterminals.") 3555 "The pty package provides functions for working with Unix pseudoterminals.")
2046 (license license:expat))) 3556 (license license:expat)))
2047 3557
3558(define-public go-github-com-creasty-defaults
3559 (package
3560 (name "go-github-com-creasty-defaults")
3561 (version "1.8.0")
3562 (source
3563 (origin
3564 (method git-fetch)
3565 (uri (git-reference
3566 (url "https://github.com/creasty/defaults")
3567 (commit (string-append "v" version))))
3568 (file-name (git-file-name name version))
3569 (sha256
3570 (base32 "1avbm47ghqc6hiafv0c61mzrw9rajgszjyqh4yww916fqzaw8li3"))))
3571 (build-system go-build-system)
3572 (arguments
3573 (list
3574 #:import-path "github.com/creasty/defaults"))
3575 (home-page "https://github.com/creasty/defaults")
3576 (synopsis "Initialize structs with default values")
3577 (description
3578 "This package implements functionlity to initialize structs with default
3579values. It supports almost all kind of types: @code{int/8/16/32/64},
3580@code{uint/8/16/32/64}, @code{float32/64}, @code{uintptr}, @code{bool},
3581@code{string}, @code{map}, @code{slice}, @code{struct},
3582@code{f,map[K1]map[K2]Struct}, @code{}[]map[K1]Struct[]},
3583@code{time.Duration}, @code{*SampleStruct}, and @code{*int}")
3584 (license license:expat)))
3585
2048(define-public go-github-com-cskr-pubsub 3586(define-public go-github-com-cskr-pubsub
2049 (package 3587 (package
2050 (name "go-github-com-cskr-pubsub") 3588 (name "go-github-com-cskr-pubsub")
@@ -2100,7 +3638,7 @@ metrics to Graphite.")
2100(define-public go-github-com-cyphar-filepath-securejoin 3638(define-public go-github-com-cyphar-filepath-securejoin
2101 (package 3639 (package
2102 (name "go-github-com-cyphar-filepath-securejoin") 3640 (name "go-github-com-cyphar-filepath-securejoin")
2103 (version "0.3.2") 3641 (version "0.3.4")
2104 (source 3642 (source
2105 (origin 3643 (origin
2106 (method git-fetch) 3644 (method git-fetch)
@@ -2109,7 +3647,7 @@ metrics to Graphite.")
2109 (commit (string-append "v" version)))) 3647 (commit (string-append "v" version))))
2110 (file-name (git-file-name name version)) 3648 (file-name (git-file-name name version))
2111 (sha256 3649 (sha256
2112 (base32 "10clm1hfzndwhi7lwz5ph72apxwbxr3vg4nln5xsrrx26j6qv6v2")))) 3650 (base32 "1iflclxcm5a4g2qp980q5qr1g4dwdxn02nnvvx3pi4sa1gk5bmr3"))))
2113 (build-system go-build-system) 3651 (build-system go-build-system)
2114 (arguments 3652 (arguments
2115 (list 3653 (list
@@ -2147,6 +3685,8 @@ more tangible.")
2147 (arguments 3685 (arguments
2148 (list 3686 (list
2149 #:import-path "github.com/d4l3k/messagediff")) 3687 #:import-path "github.com/d4l3k/messagediff"))
3688 (propagated-inputs
3689 (list go-golang-org-x-net))
2150 (home-page "https://github.com/d4l3k/messagediff") 3690 (home-page "https://github.com/d4l3k/messagediff")
2151 (synopsis "Diff arbitrary Go structs") 3691 (synopsis "Diff arbitrary Go structs")
2152 (description 3692 (description
@@ -2246,6 +3786,34 @@ gist (https://gist.github.com/kballard/272720).")
2246 (description "This package provides functionality to generate Go code.") 3786 (description "This package provides functionality to generate Go code.")
2247 (license license:expat))) 3787 (license license:expat)))
2248 3788
3789(define-public go-github-com-daviddengcn-go-colortext
3790 (package
3791 (name "go-github-com-daviddengcn-go-colortext")
3792 (version "1.0.0")
3793 (source
3794 (origin
3795 (method git-fetch)
3796 (uri (git-reference
3797 (url "https://github.com/daviddengcn/go-colortext")
3798 (commit (string-append "v" version))))
3799 (file-name (git-file-name name version))
3800 (sha256
3801 (base32 "0j5ldwg3a768d3nniiglghr9axj4p87k7f7asqxa1a688xvcms48"))))
3802 (build-system go-build-system)
3803 (arguments
3804 (list
3805 #:import-path "github.com/daviddengcn/go-colortext"))
3806 (native-inputs
3807 (list go-github-com-golangplus-testing))
3808 (home-page "https://github.com/daviddengcn/go-colortext")
3809 (synopsis "Change the color of console text and background")
3810 (description
3811 "This is a package to change the color of the text and background in the
3812console, working both under Windows and other systems. Under Windows, the
3813console APIs are used. Otherwise, ANSI texts are output.")
3814 ;; dual-licensed
3815 (license (list license:bsd-3 license:expat))))
3816
2249(define-public go-github-com-dbaggerman-cuba 3817(define-public go-github-com-dbaggerman-cuba
2250 (package 3818 (package
2251 (name "go-github-com-dbaggerman-cuba") 3819 (name "go-github-com-dbaggerman-cuba")
@@ -2274,6 +3842,30 @@ gist (https://gist.github.com/kballard/272720).")
2274more complicated parallel cases.") 3842more complicated parallel cases.")
2275 (license license:expat))) 3843 (license license:expat)))
2276 3844
3845(define-public go-github-com-dchest-stemmer
3846 (package
3847 (name "go-github-com-dchest-stemmer")
3848 (version "0.0.0-20161207102402-66719a20c4b5")
3849 (source
3850 (origin
3851 (method git-fetch)
3852 (uri (git-reference
3853 (url "https://github.com/dchest/stemmer")
3854 (commit (go-version->git-ref version))))
3855 (file-name (git-file-name name version))
3856 (sha256
3857 (base32 "1r2rz8ynmcrkwjk8sq10n6jgxmkfqf2wqy8nvgriyww41pfq5fgn"))))
3858 (build-system go-build-system)
3859 (arguments
3860 (list
3861 #:import-path "github.com/dchest/stemmer"))
3862 (home-page "https://github.com/dchest/stemmer")
3863 (synopsis "Stemmer package for Golang")
3864 (description
3865 "Stemmer package provides an interface for stemmers and includes English,
3866German and Dutch stemmers as sub-packages.")
3867 (license license:bsd-2)))
3868
2277(define-public go-github-com-deckarep-golang-set 3869(define-public go-github-com-deckarep-golang-set
2278 (package 3870 (package
2279 (name "go-github-com-deckarep-golang-set") 3871 (name "go-github-com-deckarep-golang-set")
@@ -2319,6 +3911,93 @@ more complicated parallel cases.")
2319 (propagated-inputs 3911 (propagated-inputs
2320 (list go-github-com-elliotchance-orderedmap-v2)))) 3912 (list go-github-com-elliotchance-orderedmap-v2))))
2321 3913
3914(define-public go-github-com-delthas-go-localeinfo
3915 (package
3916 (name "go-github-com-delthas-go-localeinfo")
3917 (version "0.0.0-20240813094314-e5413e186769")
3918 (source
3919 (origin
3920 (method git-fetch)
3921 (uri (git-reference
3922 (url "https://github.com/delthas/go-localeinfo")
3923 (commit (go-version->git-ref version))))
3924 (file-name (git-file-name name version))
3925 (sha256
3926 (base32 "0nw21gv3j7cc9x4gq4avlg4s7xzgc7gxrkmq4v451zrvx0mnv0bn"))))
3927 (build-system go-build-system)
3928 (arguments
3929 (list
3930 #:import-path "github.com/delthas/go-localeinfo"))
3931 (home-page "https://github.com/delthas/go-localeinfo")
3932 (synopsis "Library for extracting locale information")
3933 (description
3934 "@code{go-localeinfo} extracts monetary/numeric/time
3935formatting information, rather than the current locale name.")
3936 (license license:expat)))
3937
3938(define-public go-github-com-dennwc-btrfs
3939 (package
3940 (name "go-github-com-dennwc-btrfs")
3941 (version "0.0.0-20241002142654-12ae127e0bf6")
3942 (source
3943 (origin
3944 (method git-fetch)
3945 (uri (git-reference
3946 (url "https://github.com/dennwc/btrfs")
3947 (commit (go-version->git-ref version))))
3948 (file-name (git-file-name name version))
3949 (sha256
3950 (base32 "0afc1clhzzhvshxp6xqs4d1hq681pzm85fqwjdgs9yh0j5bxjnhg"))))
3951 (build-system go-build-system)
3952 (arguments
3953 (list
3954 #:import-path "github.com/dennwc/btrfs"
3955 #:test-flags
3956 ;; Tests require "mount" and "mkfs.btrfs" in the PATH.
3957 #~(list "-skip"
3958 (string-join
3959 (list "TestCloneFile"
3960 "TestCompression"
3961 "TestIsSubvolume"
3962 "TestOpen"
3963 "TestResize"
3964 "TestSubvolumes")
3965 "|"))))
3966 (native-inputs
3967 (list go-github-com-spf13-cobra)) ; for CLI
3968 (propagated-inputs (list go-github-com-dennwc-ioctl))
3969 (home-page "https://github.com/dennwc/btrfs")
3970 (synopsis "Btrfs library in a pure Golang")
3971 ;; XXX: Projects lacks README or any other documentation describing the
3972 ;; functionality.
3973 (description
3974 "This package implements Btrfs functionality in a pure Go.")
3975 (license license:asl2.0)))
3976
3977(define-public go-github-com-dennwc-ioctl
3978 (package
3979 (name "go-github-com-dennwc-ioctl")
3980 (version "1.0.0")
3981 (source
3982 (origin
3983 (method git-fetch)
3984 (uri (git-reference
3985 (url "https://github.com/dennwc/ioctl")
3986 (commit (string-append "v" version))))
3987 (file-name (git-file-name name version))
3988 (sha256
3989 (base32 "01b5d6fywrzs0q4q1j2c3qb15hwslb405w7bbc54w4qav0f61l55"))))
3990 (build-system go-build-system)
3991 (arguments
3992 (list
3993 #:import-path "github.com/dennwc/ioctl"))
3994 (home-page "https://github.com/dennwc/ioctl")
3995 (synopsis "Golang implementation of ioctl")
3996 (description
3997 "This package provides @code{ioctl} wrapper to std @code{syscall} and
3998@code{os}.")
3999 (license license:expat)))
4000
2322(define-public go-github-com-dennwc-varint 4001(define-public go-github-com-dennwc-varint
2323 (package 4002 (package
2324 (name "go-github-com-dennwc-varint") 4003 (name "go-github-com-dennwc-varint")
@@ -2336,14 +4015,9 @@ more complicated parallel cases.")
2336 (arguments 4015 (arguments
2337 (list 4016 (list
2338 #:import-path "github.com/dennwc/varint" 4017 #:import-path "github.com/dennwc/varint"
2339 #:phases 4018 ;; XXX: varint_test.go:94: unexpected error: -11.
2340 #~(modify-phases %standard-phases 4019 #:test-flags
2341 (add-after 'unpack 'disable-failing-tests 4020 #~(list "-skip" "TestUvarint/overflow|TestUvarint/overflow_short")))
2342 (lambda* (#:key tests? import-path #:allow-other-keys)
2343 (with-directory-excursion (string-append "src/" import-path)
2344 (substitute* (find-files "." "\\_test.go$")
2345 ;; XXX: varint_test.go:94: unexpected error: -11.
2346 (("TestUvarint") "OffTestUvarint"))))))))
2347 (home-page "https://github.com/dennwc/varint") 4021 (home-page "https://github.com/dennwc/varint")
2348 (synopsis "Fast varint library for Golang") 4022 (synopsis "Fast varint library for Golang")
2349 (description 4023 (description
@@ -2351,6 +4025,30 @@ more complicated parallel cases.")
2351encoding/decoding. It has no dependencies.") 4025encoding/decoding. It has no dependencies.")
2352 (license license:expat))) 4026 (license license:expat)))
2353 4027
4028(define-public go-github-com-detailyang-go-fallocate
4029 (package
4030 (name "go-github-com-detailyang-go-fallocate")
4031 (version "0.0.0-20180908115635-432fa640bd2e")
4032 (source
4033 (origin
4034 (method git-fetch)
4035 (uri (git-reference
4036 (url "https://github.com/detailyang/go-fallocate")
4037 (commit (go-version->git-ref version))))
4038 (file-name (git-file-name name version))
4039 (sha256
4040 (base32 "1yvgkj5i43ihagdwg70vjgrhwf2mjsbyv2xwd6znsdwav6qpcdnw"))))
4041 (build-system go-build-system)
4042 (arguments
4043 (list
4044 #:import-path "github.com/detailyang/go-fallocate"))
4045 (home-page "https://github.com/detailyang/go-fallocate")
4046 (synopsis "Syscal @code{fallocate} implementation in Golang")
4047 (description
4048 "This package implements syscal @code{fallocate} by wrapping standard Go
4049@code{os.SEEK_SET}.")
4050 (license license:expat)))
4051
2354(define-public go-github-com-dgraph-io-badger 4052(define-public go-github-com-dgraph-io-badger
2355 (package 4053 (package
2356 (name "go-github-com-dgraph-io-badger") 4054 (name "go-github-com-dgraph-io-badger")
@@ -2368,6 +4066,10 @@ encoding/decoding. It has no dependencies.")
2368 (arguments 4066 (arguments
2369 (list 4067 (list
2370 #:import-path "github.com/dgraph-io/badger" 4068 #:import-path "github.com/dgraph-io/badger"
4069 #:test-flags
4070 #~(list "-skip"
4071 ;; Test fails with error: assertion is not equal.
4072 "TestBuildKeyValueSizeHistogram/All_same_size_key-values")
2371 #:phases 4073 #:phases
2372 #~(modify-phases %standard-phases 4074 #~(modify-phases %standard-phases
2373 (add-after 'unpack 'patch-failing-tests 4075 (add-after 'unpack 'patch-failing-tests
@@ -2379,15 +4081,7 @@ encoding/decoding. It has no dependencies.")
2379 ;; fmt.Sprint(x)?). 4081 ;; fmt.Sprint(x)?).
2380 ;; See: <https://github.com/dgraph-io/badger/issues/2103>. 4082 ;; See: <https://github.com/dgraph-io/badger/issues/2103>.
2381 (("\"testing\"") (string-append "\"testing\"\n\"fmt\"")) 4083 (("\"testing\"") (string-append "\"testing\"\n\"fmt\""))
2382 (("string") "fmt.Sprint"))))) 4084 (("string") "fmt.Sprint"))))))))
2383 ;; XXX: Replace when go-build-system supports nested path.
2384 (replace 'check
2385 (lambda* (#:key import-path tests? #:allow-other-keys)
2386 (when tests?
2387 (with-directory-excursion (string-append "src/" import-path)
2388 (invoke "go" "test" "-v"
2389 "-skip" "TestBuildKeyValueSizeHistogram"
2390 "./..." ))))))))
2391 (native-inputs 4085 (native-inputs
2392 (list go-github-com-stretchr-testify)) 4086 (list go-github-com-stretchr-testify))
2393 (propagated-inputs 4087 (propagated-inputs
@@ -2463,6 +4157,119 @@ supports concurrent serializable transactions.")
2463on throughput and hit ratio performance.") 4157on throughput and hit ratio performance.")
2464 (license (list license:asl2.0 license:expat)))) 4158 (license (list license:asl2.0 license:expat))))
2465 4159
4160(define-public go-github-com-dgryski-go-linebreak
4161 (package
4162 (name "go-github-com-dgryski-go-linebreak")
4163 (version "0.0.0-20180812204043-d8f37254e7d3")
4164 (source
4165 (origin
4166 (method git-fetch)
4167 (uri (git-reference
4168 (url "https://github.com/dgryski/go-linebreak")
4169 (commit (go-version->git-ref version))))
4170 (file-name (git-file-name name version))
4171 (sha256
4172 (base32 "0jv8ldb9vh5mgh66g61fh418x16s8jszrykhkbc901y1llf2mi22"))))
4173 (build-system go-build-system)
4174 (arguments
4175 (list
4176 #:import-path "github.com/dgryski/go-linebreak"))
4177 (home-page "https://github.com/dgryski/go-linebreak")
4178 (synopsis "Wraps text at a given width")
4179 (description
4180 "Package linebreak wraps text at a given width, it's a translation of
4181@url{http://xxyxyz.org/line-breaking/, linear}, an implementation of
4182@url{https://en.wikipedia.org/wiki/SMAWK_algorithm, SMAWK algorithm}.")
4183 (license license:expat)))
4184
4185;; The project provides no go.mod files and contains a veracity of commands
4186;; and libraries which might need missing dependencies, update them on demand.
4187(define-public go-github-com-dgryski-trifles
4188 (package
4189 (name "go-github-com-dgryski-trifles")
4190 (version "0.0.0-20240922021506-5ecb8eeff266")
4191 (source
4192 (origin
4193 (method git-fetch)
4194 (uri (git-reference
4195 (url "https://github.com/dgryski/trifles")
4196 (commit (go-version->git-ref version))))
4197 (file-name (git-file-name name version))
4198 (sha256
4199 (base32 "071pnsyax99ikc58b110hdvqk1v46mqk6zdd0sshrf9lmwixwpnj"))))
4200 (build-system go-build-system)
4201 (arguments
4202 (list
4203 #:skip-build? #t
4204 #:tests? #f
4205 #:import-path "github.com/dgryski/trifles"))
4206 (home-page "https://github.com/dgryski/trifles")
4207 (synopsis "Collection of Golang utitity libraries and commands")
4208 (description
4209 "This package provides a collection veriaty of utility libraries:
4210
4211@itemize
4212@item intset - compress a stream of integers
4213@item lz - lempel-ziv compression
4214@item threadtree - a threaded binary-tree
4215@item numerical - numerical integration and root finding
4216@item maze - maze generation stuff
4217@item hist - simple command-line histogramming tool
4218@item simhash - trivial simhash implementation
4219@item wscat - trivial websocket netcat
4220@item servedir - trivial http fileserver
4221@item rndtxt - generate random text strings
4222@item mpush - push to multiple notification services (pushbullet, nma, pushover)
4223@item superbat - batmanjs and go-restful playground
4224@item msgrpc - msgpack rpc python/go interop samples
4225@item quantile - testing different streaming quantile estimators
4226@item wtflog - logging package with some renamed log levels
4227@item qrshow - display QR codes in a terminal
4228@item nlz - asm code to find number of leading zeros
4229@item httpecho - server to dump information about an http request
4230@item lzpack - trivial packed format for lz4 compression
4231@item grinderplot - generate a flot chart from grinder logs
4232@item worker - framework for spawning concurrent workers
4233@item gddo - search godoc.org from the command line
4234@item uuid - generate random UUIDs
4235@item entropy - reducer to compute entropy per epoch for a set of values in a category
4236@item inthash - integer hashing functions
4237@item udprelay - simple udp-to-tcp multiplexing relay
4238@item shufsecs - shuffle sorted epoch-data within epochs
4239@item strtable - dumb string->uint32 hash table for profiling vs native maps
4240@item cachetest - playing with different caching algorithms (clock, lru, lfu, random)
4241@item glj - passing data from go to lua with msgpack
4242@item toms - text filter for time.Duration to milliseconds
4243@item bluniq - bloom-filter based unique filter
4244@item skvdist - check distribution of shardedkv choosers
4245@item gcwatch - print out garbage collection stats from /debug/vars
4246@item toepoch - convert time fields to epochs
4247@item repl - framework for making dumb repls for testing
4248@item skvchk - tool for checking shardedkv distributions
4249@item interp - interpolation search
4250@item oma - simulation of the Dutch children's board game \"Met de bus naar Oma\"
4251@item rndsample - uniform random sample from stdin
4252@item pphrase - simple passphrase generator
4253@item fastrand - fast xorshift rng with bias-free [0..n)
4254@item range2cird - turn IP ranges into CIDR
4255@item gfmt - trivial filter wrapping go-linebreak
4256@item mtest - port of libtommath test program
4257@item leven - fastest levenshtein distance algorithm I could find
4258@item matcher - test different methods of testing string set membership
4259@item cstbucket - crunch carbonserver logs for time-ranges of queries
4260@item stablepart - stable partition a sort.Interface on a boolean predicate
4261@item jumpreplica - tool for playing with replica choices for jump-hash
4262@item sshdregex - demo using ragel for optimized regexp matching
4263@item hllbench - benchmark different hyperloglog implementations
4264@item shlines, sipsum - tools for siphashing things
4265@item urlq - extract query parameters from a list of URLs
4266@item median - compute the median of 5 numbers with a sorting network
4267@item hashbench - benchmark different hashing functions
4268@item fastpprof - how to use pprof with fasthttp
4269@item ewmaest - progress logging with ewma-based ETA estimation
4270@end itemize")
4271 (license license:expat)))
4272
2466(define-public go-github-com-dimchansky-utfbom 4273(define-public go-github-com-dimchansky-utfbom
2467 (package 4274 (package
2468 (name "go-github-com-dimchansky-utfbom") 4275 (name "go-github-com-dimchansky-utfbom")
@@ -2486,6 +4293,32 @@ on throughput and hit ratio performance.")
2486Mark} detection.") 4293Mark} detection.")
2487 (license license:asl2.0))) 4294 (license license:asl2.0)))
2488 4295
4296(define-public go-github-com-disintegration-imaging
4297 (package
4298 (name "go-github-com-disintegration-imaging")
4299 (version "1.6.2")
4300 (source
4301 (origin
4302 (method git-fetch)
4303 (uri (git-reference
4304 (url "https://github.com/disintegration/imaging")
4305 (commit (string-append "v" version))))
4306 (file-name (git-file-name name version))
4307 (sha256
4308 (base32 "1sl201nmk601h0aii4234sycn4v2b0rjxf8yhrnik4yjzd68q9x5"))))
4309 (build-system go-build-system)
4310 (arguments
4311 (list
4312 #:import-path "github.com/disintegration/imaging"))
4313 (inputs
4314 (list go-golang-org-x-image))
4315 (home-page "https://github.com/disintegration/imaging")
4316 (synopsis "Simple image processing for Go")
4317 (description
4318 "This package provides basic image processing functions
4319(resize, rotate, crop, brightness/contrast adjustments, etc.).")
4320 (license license:expat)))
4321
2489(define-public go-github-com-djherbis-atime 4322(define-public go-github-com-djherbis-atime
2490 (package 4323 (package
2491 (name "go-github-com-djherbis-atime") 4324 (name "go-github-com-djherbis-atime")
@@ -2557,6 +4390,101 @@ mtime,ctime and btime for files.")
2557 "Regexp2 is a feature-rich RegExp engine for Go.") 4390 "Regexp2 is a feature-rich RegExp engine for Go.")
2558 (license license:expat))) 4391 (license license:expat)))
2559 4392
4393(define-public go-github-com-dnephin-pflag
4394 (package
4395 (name "go-github-com-dnephin-pflag")
4396 (version "1.0.7")
4397 (source
4398 (origin
4399 (method git-fetch)
4400 (uri (git-reference
4401 (url "https://github.com/dnephin/pflag")
4402 (commit (string-append "v" version))))
4403 (file-name (git-file-name name version))
4404 (sha256
4405 (base32 "1d3aakwpwdbq3lqpk5kdqlr0h7maqxnpsbrd2022xwd93fxyxcq0"))))
4406 (build-system go-build-system)
4407 (arguments
4408 (list
4409 #:tests? #f ; FIXME
4410 #:import-path "github.com/dnephin/pflag"))
4411 (home-page "https://github.com/dnephin/pflag")
4412 (synopsis "Drop-in replacement for Go's flag package")
4413 (description
4414 "Package pflag is a drop-in replacement for Go's flag package,
4415implementing POSIX/GNU-style --flags. It is compatible with the
4416@url{http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html,
4417GNU extensions to the POSIX recommendations for command-line options}. This
4418is an activly maintained fork of @url{https://github.com/ogier/pflag}.")
4419 (license license:bsd-3)))
4420
4421(define-public go-github-com-docker-distribution
4422 (package
4423 (name "go-github-com-docker-distribution")
4424 (version "2.8.3")
4425 (source
4426 (origin
4427 (method git-fetch)
4428 (uri (git-reference
4429 (url "https://github.com/docker/distribution")
4430 (commit (string-append "v" version))))
4431 (file-name (git-file-name name version))
4432 (sha256
4433 (base32 "0dbaxmkhg53anhkzngyzlxm2bd4dwv0sv75zip1rkm0874wjbxzb"))
4434 (snippet
4435 ;; TODO: Unbundle more.
4436 #~(begin (use-modules (guix build utils))
4437 (for-each delete-file-recursively
4438 (list "vendor/golang.org"))))))
4439 (build-system go-build-system)
4440 (arguments
4441 (list
4442 #:import-path "github.com/docker/distribution"
4443 #:test-flags #~(list "-test.short")
4444 #:test-subdirs
4445 #~(list "configuration"
4446 "context"
4447 "health"
4448 "manifest/..."
4449 "notifications/..."
4450 "uuid")))
4451 (native-inputs
4452 (list go-github-com-sirupsen-logrus
4453 go-golang-org-x-crypto
4454 go-golang-org-x-sys))
4455 (home-page "https://github.com/docker/distribution")
4456 (synopsis
4457 "This package is a Docker toolset to pack, ship, store, and deliver content")
4458 (description
4459 "Docker Distribution is a Docker toolset to pack, ship,
4460store, and deliver content. It contains Docker Registry 2.0 and libraries to
4461interact with distribution components.")
4462 (license license:asl2.0)))
4463
4464(define-public go-github-com-docker-go-units
4465 (package
4466 (name "go-github-com-docker-go-units")
4467 (version "0.5.0")
4468 (source
4469 (origin
4470 (method git-fetch)
4471 (uri (git-reference
4472 (url "https://github.com/docker/go-units")
4473 (commit (string-append "v" version))))
4474 (file-name (git-file-name name version))
4475 (sha256
4476 (base32 "0q92l7pyfg9rn4ljr1warnv1ri6z7svah7m3rqmvmyaw6bzdbbw8"))))
4477 (build-system go-build-system)
4478 (arguments
4479 (list
4480 #:import-path "github.com/docker/go-units"))
4481 (home-page "https://github.com/docker/go-units")
4482 (synopsis "Parse and print size and time units in human-readable format")
4483 (description
4484 "@code{go-units} is a library to transform human friendly measurements
4485into machine friendly values.")
4486 (license license:asl2.0)))
4487
2560(define-public go-github-com-docopt-docopt-go 4488(define-public go-github-com-docopt-docopt-go
2561 (let ((commit "ee0de3bc6815ee19d4a46c7eb90f829db0e014b1") 4489 (let ((commit "ee0de3bc6815ee19d4a46c7eb90f829db0e014b1")
2562 (revision "0")) 4490 (revision "0"))
@@ -2601,6 +4529,8 @@ implementation of http://docopt.org/.")
2601 (arguments 4529 (arguments
2602 (list 4530 (list
2603 #:import-path "github.com/dsnet/golib")) 4531 #:import-path "github.com/dsnet/golib"))
4532 (propagated-inputs
4533 (list go-github-com-google-go-cmp))
2604 (home-page "https://github.com/dsnet/golib") 4534 (home-page "https://github.com/dsnet/golib")
2605 (synopsis "Collection of helper libraries for Golang") 4535 (synopsis "Collection of helper libraries for Golang")
2606 (description 4536 (description
@@ -2624,41 +4554,6 @@ Implements string conversion functionality for unit prefixes.
2624@end table") 4554@end table")
2625 (license license:bsd-3))) 4555 (license license:bsd-3)))
2626 4556
2627(define-public go-github-com-dustin-gojson
2628 (package
2629 (name "go-github-com-dustin-gojson")
2630 (version "v0.0.0-20160307161227-2e71ec9dd5ad")
2631 (source
2632 (origin
2633 (method git-fetch)
2634 (uri (git-reference
2635 (url "https://github.com/dustin/gojson")
2636 (commit (go-version->git-ref version))))
2637 (file-name (git-file-name name version))
2638 (sha256
2639 (base32 "1vrmmyn7l568l1k71mxd54iqf3d54pn86cf278i374j86jn0bdxf"))
2640 (modules '((guix build utils)))
2641 (snippet '(begin
2642 ;; Fix the library to work with go-1.21.
2643 (substitute* "decode.go"
2644 (("trying to unmarshal unquoted value into")
2645 "trying to unmarshal unquoted value %v into"))
2646 (substitute* "decode_test.go"
2647 (("t.Fatalf\\(\"Unmarshal: %v\"\\)")
2648 "t.Fatalf(\"Unmarshal: %v\", data)")) ;))))
2649 (substitute* "scanner.go"
2650 (("s := strconv.Quote\\(string\\(c\\)\\)")
2651 "s := strconv.QuoteRune(rune(c))"))))))
2652 (build-system go-build-system)
2653 (arguments
2654 `(#:import-path "github.com/dustin/gojson"))
2655 (home-page "https://github.com/dustin/gojson")
2656 (synopsis "Extended Golang's @code{encoding/json} module with the public scanner API")
2657 (description
2658 "This package provides a fork of Golang's @code{encoding/json} with the
2659scanner API made public.")
2660 (license license:bsd-3)))
2661
2662(define-public go-github-com-dustin-go-humanize 4557(define-public go-github-com-dustin-go-humanize
2663 (package 4558 (package
2664 (name "go-github-com-dustin-go-humanize") 4559 (name "go-github-com-dustin-go-humanize")
@@ -2928,6 +4823,62 @@ specified in @url{https://datatracker.ietf.org/doc/html/rfc6350, RFC 6350}.")
2928@url{https://tools.ietf.org/html/rfc6352, RFC 6352} specifications.") 4823@url{https://tools.ietf.org/html/rfc6352, RFC 6352} specifications.")
2929 (license license:expat))) 4824 (license license:expat)))
2930 4825
4826(define-public go-github-com-emirpasic-gods
4827 (package
4828 (name "go-github-com-emirpasic-gods")
4829 (version "1.18.1")
4830 (source
4831 (origin
4832 (method git-fetch)
4833 (uri (git-reference
4834 (url "https://github.com/emirpasic/gods")
4835 (commit (string-append "v" version))))
4836 (file-name (git-file-name name version))
4837 (sha256
4838 (base32 "0vnnmv813m8yhykwlxpizpvpimsirbaiwa3ckxfyx3ybv1swlq44"))))
4839 (build-system go-build-system)
4840 (arguments
4841 (list
4842 #:skip-build? #t
4843 #:import-path "github.com/emirpasic/gods"))
4844 (home-page "https://github.com/emirpasic/gods/")
4845 (synopsis "Implementation of various data structures and algorithms in Go")
4846 (description
4847 "This package provides implementation of various data structures and
4848algorithms in Go.")
4849 (license license:bsd-2)))
4850
4851(define-public go-github-com-erikgeiser-coninput
4852 (package
4853 (name "go-github-com-erikgeiser-coninput")
4854 (version "0.0.0-20211004153227-1c3628e74d0f")
4855 (source
4856 (origin
4857 (method git-fetch)
4858 (uri (git-reference
4859 (url "https://github.com/erikgeiser/coninput")
4860 (commit (go-version->git-ref version))))
4861 (file-name (git-file-name name version))
4862 (sha256
4863 (base32 "1x8yw15ngyg4vlcdv5wsgpr6w5kavjv7bmk5mpvvx848bwvslr1r"))))
4864 (build-system go-build-system)
4865 (arguments
4866 (list
4867 #:import-path "github.com/erikgeiser/coninput"
4868 #:phases
4869 #~(modify-phases %standard-phases
4870 (add-after 'unpack 'remove-examples
4871 (lambda* (#:key import-path #:allow-other-keys)
4872 (delete-file-recursively
4873 (string-append "src/" import-path "/example")))))))
4874 (propagated-inputs
4875 (list go-golang-org-x-sys))
4876 (home-page "https://github.com/erikgeiser/coninput")
4877 (synopsis "Input handling with Windows Console API")
4878 (description
4879 "Go library for input handling using Windows Console API.")
4880 (license license:expat)))
4881
2931(define-public go-github-com-errata-ai-ini 4882(define-public go-github-com-errata-ai-ini
2932 (package 4883 (package
2933 (name "go-github-com-errata-ai-ini") 4884 (name "go-github-com-errata-ai-ini")
@@ -2989,6 +4940,36 @@ and @code{io.ReadCloser}) with overwrites
2989 " This package is a fork of dlclark/regexp2 providing a 4940 " This package is a fork of dlclark/regexp2 providing a
2990more similar API to regexp.")))) 4941more similar API to regexp."))))
2991 4942
4943(define-public go-github-com-ettle-strcase
4944 (package
4945 (name "go-github-com-ettle-strcase")
4946 (version "0.2.0")
4947 (source
4948 (origin
4949 (method git-fetch)
4950 (uri (git-reference
4951 (url "https://github.com/ettle/strcase")
4952 (commit (string-append "v" version))))
4953 (file-name (git-file-name name version))
4954 (sha256
4955 (base32 "1gg3zxbbp3vfskzg2dl1s1agjn34dw14282fj28g9nrwqbbq854x"))))
4956 (build-system go-build-system)
4957 (arguments
4958 (list
4959 #:import-path "github.com/ettle/strcase"
4960 #:phases
4961 #~(modify-phases %standard-phases
4962 (add-after 'unpack 'remove-benchmark
4963 (lambda* (#:key tests? import-path #:allow-other-keys)
4964 (with-directory-excursion (string-append "src/" import-path)
4965 (delete-file-recursively "benchmark")))))))
4966 (home-page "https://github.com/ettle/strcase")
4967 (synopsis "String naming convention style library")
4968 (description
4969 "Package strcase is a package for converting strings into various word
4970cases (e.g. snake_case, camelCase, kebab-case, etc).")
4971 (license license:expat)))
4972
2992(define-public go-github-com-expr-lang-expr 4973(define-public go-github-com-expr-lang-expr
2993 (package 4974 (package
2994 (name "go-github-com-expr-lang-expr") 4975 (name "go-github-com-expr-lang-expr")
@@ -3001,7 +4982,16 @@ more similar API to regexp."))))
3001 (commit (string-append "v" version)))) 4982 (commit (string-append "v" version))))
3002 (file-name (git-file-name name version)) 4983 (file-name (git-file-name name version))
3003 (sha256 4984 (sha256
3004 (base32 "08p7gcxm7psgn1rzhhy2s2va59ssy77x8wd706gdp2pif7wln883")))) 4985 (base32 "08p7gcxm7psgn1rzhhy2s2va59ssy77x8wd706gdp2pif7wln883"))
4986 (modules '((guix build utils)))
4987 (snippet
4988 #~(begin
4989 ;; Submodules with their own go.mod files and packaged separately:
4990 ;;
4991 ;; - github.com/expr-lang/expr/repl
4992 ;; - github.com/expr-lang/expr/debug
4993 (for-each delete-file-recursively
4994 (list "repl" "debug"))))))
3005 (build-system go-build-system) 4995 (build-system go-build-system)
3006 (arguments 4996 (arguments
3007 (list 4997 (list
@@ -3074,6 +5064,30 @@ in a consistent state and never represent an in-progress write.")
3074Alphanum Algorithm} developed by Dave Koelle in Go.") 5064Alphanum Algorithm} developed by Dave Koelle in Go.")
3075 (license license:bsd-3))) 5065 (license license:bsd-3)))
3076 5066
5067(define-public go-github-com-fatih-camelcase
5068 (package
5069 (name "go-github-com-fatih-camelcase")
5070 (version "1.0.0")
5071 (source
5072 (origin
5073 (method git-fetch)
5074 (uri (git-reference
5075 (url "https://github.com/fatih/camelcase")
5076 (commit (string-append "v" version))))
5077 (file-name (git-file-name name version))
5078 (sha256
5079 (base32 "0z7rw6f5j97dkzqya257dqlxf3cm8zl508081gmnr4bsjhkwpz2l"))))
5080 (build-system go-build-system)
5081 (arguments
5082 (list
5083 #:import-path "github.com/fatih/camelcase"))
5084 (home-page "https://github.com/fatih/camelcase")
5085 (synopsis "Split a camelcase word into a slice of words in Go")
5086 (description
5087 "Package camelcase is a micro package to split the words of a camelcase type
5088string into a slice of words.")
5089 (license license:expat)))
5090
3077(define-public go-github-com-fatih-color 5091(define-public go-github-com-fatih-color
3078 (package 5092 (package
3079 (name "go-github-com-fatih-color") 5093 (name "go-github-com-fatih-color")
@@ -3101,6 +5115,53 @@ Alphanum Algorithm} developed by Dave Koelle in Go.")
3101defined output to the standard output.") 5115defined output to the standard output.")
3102 (license license:expat))) 5116 (license license:expat)))
3103 5117
5118(define-public go-github-com-fatih-structs
5119 (package
5120 (name "go-github-com-fatih-structs")
5121 (version "1.1.0")
5122 (source
5123 (origin
5124 (method git-fetch)
5125 (uri (git-reference
5126 (url "https://github.com/fatih/structs")
5127 (commit (string-append "v" version))))
5128 (file-name (git-file-name name version))
5129 (sha256
5130 (base32 "1wrhb8wp8zpzggl61lapb627lw8yv281abvr6vqakmf569nswa9q"))))
5131 (build-system go-build-system)
5132 (arguments
5133 (list
5134 #:import-path "github.com/fatih/structs"))
5135 (home-page "https://github.com/fatih/structs")
5136 (synopsis "Utilities for Go structs")
5137 (description "This package provides various utilitiy functions to work
5138with Go structs.")
5139 (license license:expat)))
5140
5141(define-public go-github-com-fatih-structtag
5142 (package
5143 (name "go-github-com-fatih-structtag")
5144 (version "1.2.0")
5145 (source
5146 (origin
5147 (method git-fetch)
5148 (uri (git-reference
5149 (url "https://github.com/fatih/structtag")
5150 (commit (string-append "v" version))))
5151 (file-name (git-file-name name version))
5152 (sha256
5153 (base32 "09a9pycvkf384v5f47ff4q33bjbzpx6kbkn23za1gcwc96466sk3"))))
5154 (build-system go-build-system)
5155 (arguments
5156 (list
5157 #:import-path "github.com/fatih/structtag"))
5158 (home-page "https://github.com/fatih/structtag")
5159 (synopsis "Parse and modify Go struct field tags")
5160 (description
5161 "This package provides an easy way of parsing and manipulating struct tag fields.
5162Please vendor the library as it might change in future versions.")
5163 (license license:bsd-3)))
5164
3104;; XXX: This repository has been archived by the owner on Nov 9, 2017. It is 5165;; XXX: This repository has been archived by the owner on Nov 9, 2017. It is
3105;; now read-only. 5166;; now read-only.
3106(define-public go-github-com-flynn-archive-go-shlex 5167(define-public go-github-com-flynn-archive-go-shlex
@@ -3132,7 +5193,7 @@ quoting, commenting, and escaping.")
3132(define-public go-github-com-fsnotify-fsnotify 5193(define-public go-github-com-fsnotify-fsnotify
3133 (package 5194 (package
3134 (name "go-github-com-fsnotify-fsnotify") 5195 (name "go-github-com-fsnotify-fsnotify")
3135 (version "1.7.0") 5196 (version "1.8.0")
3136 (source 5197 (source
3137 (origin 5198 (origin
3138 (method git-fetch) 5199 (method git-fetch)
@@ -3141,11 +5202,12 @@ quoting, commenting, and escaping.")
3141 (commit (string-append "v" version)))) 5202 (commit (string-append "v" version))))
3142 (file-name (git-file-name name version)) 5203 (file-name (git-file-name name version))
3143 (sha256 5204 (sha256
3144 (base32 "1h7vs21lkj4bqbw5a6mqykaf56y181r0nja7c8pzajkvbsc39y8m")))) 5205 (base32 "1wr3695yb7hl405h6pzkbdkkxpdbmc5kwjjwaf9almbvmpk6077r"))))
3145 (build-system go-build-system) 5206 (build-system go-build-system)
3146 (arguments 5207 (arguments
3147 (list 5208 (list
3148 #:import-path "github.com/fsnotify/fsnotify")) 5209 #:import-path "github.com/fsnotify/fsnotify"
5210 #:test-flags #~(list "-skip" "TestDiffMatch/3")))
3149 (propagated-inputs 5211 (propagated-inputs
3150 (list go-golang-org-x-sys)) 5212 (list go-golang-org-x-sys))
3151 (home-page "https://github.com/fsnotify/fsnotify") 5213 (home-page "https://github.com/fsnotify/fsnotify")
@@ -3239,10 +5301,252 @@ Differentiation between text and binary files}.
3239@end itemize") 5301@end itemize")
3240 (license license:expat))) 5302 (license license:expat)))
3241 5303
5304(define-public go-github-com-gdamore-encoding
5305 (package
5306 (name "go-github-com-gdamore-encoding")
5307 (version "1.0.1")
5308 (source
5309 (origin
5310 (method git-fetch)
5311 (uri (git-reference
5312 (url "https://github.com/gdamore/encoding")
5313 (commit (string-append "v" version))))
5314 (file-name (git-file-name name version))
5315 (sha256
5316 (base32 "0506b4pnn3yk80sjrsh38z29qj41spxjl80fjw7vg3mz5kfkdxhi"))))
5317 (build-system go-build-system)
5318 (arguments
5319 (list
5320 #:import-path "github.com/gdamore/encoding"))
5321 (inputs
5322 (list go-golang-org-x-text))
5323 (home-page "https://github.com/gdamore/encoding")
5324 (synopsis "Provide encodings missing from Go")
5325 (description
5326 "This package provides useful encodings not included in the standard
5327@code{Text} package, including some for dealing with I/O streams from
5328non-UTF-friendly sources.")
5329 (license license:expat)))
5330
5331(define-public go-github-com-gdamore-tcell
5332 (package
5333 (name "go-github-com-gdamore-tcell")
5334 (version "1.4.0")
5335 (source
5336 (origin
5337 (method git-fetch)
5338 (uri (git-reference
5339 (url "https://github.com/gdamore/tcell")
5340 (commit (string-append "v" version))))
5341 (file-name (git-file-name name version))
5342 (sha256
5343 (base32 "178h7kj4zb8lcw84nbqanapnxrgvhq4111xw4fj6m56y46anlzwg"))))
5344 (build-system go-build-system)
5345 (arguments
5346 (list
5347 #:import-path "github.com/gdamore/tcell"))
5348 (inputs
5349 (list go-github-com-gdamore-encoding
5350 go-github-com-mattn-go-runewidth
5351 go-github-com-lucasb-eyer-go-colorful
5352 go-golang-org-x-sys
5353 go-golang-org-x-text))
5354 (home-page "https://github.com/gdamore/tcell")
5355 (synopsis "Provide a cell-based view for text terminals")
5356 (description
5357 "This package includes a full parser and expander for terminfo
5358capability strings to avoid hard-coding escape strings for formatting. It
5359also favors portability, and includes support for all POSIX systems.")
5360 (license license:asl2.0)))
5361
5362(define-public go-github-com-gdamore-tcell-v2
5363 (package
5364 (inherit go-github-com-gdamore-tcell)
5365 (name "go-github-com-gdamore-tcell-v2")
5366 (version "2.7.4")
5367 (source
5368 (origin
5369 (method git-fetch)
5370 (uri (git-reference
5371 (url "https://github.com/gdamore/tcell")
5372 (commit (string-append "v" version))))
5373 (file-name (git-file-name name version))
5374 (sha256
5375 (base32 "05b22sgyf8lnwjddxlfvlj7i8b67gnidhbnz86vvx8fddggpa5nd"))))
5376 (arguments
5377 (list
5378 #:import-path "github.com/gdamore/tcell/v2"))
5379 (propagated-inputs
5380 (modify-inputs (package-inputs go-github-com-gdamore-tcell)
5381 (prepend go-golang-org-x-term go-golang-org-x-sys)))))
5382
5383(define-public go-github-com-delthas-tcell-v2
5384 ;; TODO This variant allows upgrading senpai, and looks to be unnecessary in
5385 ;; the next release of senpai
5386 (hidden-package
5387 (package
5388 (inherit go-github-com-gdamore-tcell)
5389 (name "go-github-com-delthas-tcell")
5390 (version "2.4.1")
5391 (source
5392 (origin
5393 (method git-fetch)
5394 (uri (git-reference
5395 (url "https://github.com/delthas/tcell")
5396 (commit "837a7d7")))
5397 (file-name (git-file-name name version))
5398 (sha256
5399 (base32 "05zr73q38dawl7hr6g7v4pkyv6mqr0zp2l9qsgn7xmf1p9q4bn7j"))))
5400 (propagated-inputs
5401 (modify-inputs (package-inputs go-github-com-gdamore-tcell)
5402 (prepend go-golang-org-x-term go-golang-org-x-sys))))))
5403
5404(define-public go-github-com-gedex-inflector
5405 (package
5406 (name "go-github-com-gedex-inflector")
5407 (version "0.0.0-20170307190818-16278e9db813")
5408 (source
5409 (origin
5410 (method git-fetch)
5411 (uri (git-reference
5412 (url "https://github.com/gedex/inflector")
5413 (commit (go-version->git-ref version))))
5414 (file-name (git-file-name name version))
5415 (sha256
5416 (base32 "05hjqw1m71vww4914d9h6nqa9jw3lgjzwsy7qaffl02s2lh1amks"))))
5417 (build-system go-build-system)
5418 (arguments
5419 (list
5420 #:import-path "github.com/gedex/inflector"))
5421 (home-page "https://github.com/gedex/inflector")
5422 (synopsis "Go library that pluralizes and singularizes English nouns")
5423 (description
5424 "Go library that pluralizes and singularizes English nouns.")
5425 (license license:bsd-2)))
5426
5427(define-public go-github-com-git-lfs-go-netrc
5428 (package
5429 (name "go-github-com-git-lfs-go-netrc")
5430 (version "0.0.0-20230601124202-e96144b9a966")
5431 (source
5432 (origin
5433 (method git-fetch)
5434 (uri (git-reference
5435 (url "https://github.com/git-lfs/go-netrc")
5436 (commit (go-version->git-ref version))))
5437 (file-name (git-file-name name version))
5438 (sha256
5439 (base32 "1rb8xk0gp7yvw10zs122p48qhj3xc9csaykbflr7wdfx5xqpbr2f"))))
5440 (build-system go-build-system)
5441 (arguments
5442 (list
5443 #:skip-build? #t
5444 #:import-path "github.com/git-lfs/go-netrc"))
5445 (home-page "https://github.com/git-lfs/go-netrc")
5446 (synopsis "Netrc file parser for Go")
5447 (description
5448 "This package is for reading and writing netrc files. This package can
5449parse netrc files, make changes to them, and then serialize them back to netrc
5450format, while preserving any whitespace that was present in the source file.")
5451 (license license:expat)))
5452
5453(define-public go-github-com-gizak-termui-v3
5454 (package
5455 (name "go-github-com-gizak-termui-v3")
5456 (version "3.1.0")
5457 (source
5458 (origin
5459 (method git-fetch)
5460 (uri (git-reference
5461 (url "https://github.com/gizak/termui")
5462 (commit (string-append "v" version))))
5463 (file-name (git-file-name name version))
5464 (sha256
5465 (base32 "1v3k8l5p95kb1v297ra5mw9sxdd59y82y6ibjzya5ma2pry6k5cn"))))
5466 (build-system go-build-system)
5467 (arguments
5468 (list
5469 #:import-path "github.com/gizak/termui/v3"
5470 #:unpack-path "github.com/gizak/termui"))
5471 (propagated-inputs
5472 (list go-github-com-mattn-go-runewidth
5473 go-github-com-mitchellh-go-wordwrap
5474 go-github-com-nsf-termbox-go))
5475 (home-page "https://github.com/gizak/termui")
5476 (synopsis "Terminal dashboard widget Go library")
5477 (description
5478 "The termui Go library draws customizable dashboard widgets in a text
5479terminal. It includes several common widgets: lists, trees, tables and tabs,
5480but also more complex items such as (stacked) bar and pie charts, scatter
5481plots, gauges, and even images and a canvas for drawing `high resolution'
5482braille dots.
5483
5484You can also easily create new custom widgets. Widgets can be coloured and
5485styled and positioned absolutely or relatively. They respond to keyboard,
5486mouse, and terminal resizing events.")
5487 (license license:expat)))
5488
5489(define-public go-github-com-go-cmd-cmd
5490 (package
5491 (name "go-github-com-go-cmd-cmd")
5492 (version "1.4.3")
5493 (source
5494 (origin
5495 (method git-fetch)
5496 (uri (git-reference
5497 (url "https://github.com/go-cmd/cmd")
5498 (commit (string-append "v" version))))
5499 (file-name (git-file-name name version))
5500 (sha256
5501 (base32 "1n465pnvphvs4jp3mn1krbxb0wcjclfcrif1c5zcir8idj18vsax"))))
5502 (build-system go-build-system)
5503 (arguments
5504 (list
5505 #:import-path "github.com/go-cmd/cmd"))
5506 (native-inputs
5507 (list go-github-com-go-test-deep))
5508 (home-page "https://github.com/go-cmd/cmd")
5509 (synopsis "Non-blocking external commands in Go with streaming output")
5510 (description
5511 "Package cmd runs external commands with concurrent access to output and
5512status. It wraps the Go standard library @code{os/exec.Command} to correctly
5513handle reading output (STDOUT and STDERR) while a command is running and
5514killing a command. All operations are safe to call from multiple
5515goroutines.")
5516 (license license:expat)))
5517
5518(define-public go-github-com-go-errors-errors
5519 (package
5520 (name "go-github-com-go-errors-errors")
5521 (version "1.5.1")
5522 (source
5523 (origin
5524 (method git-fetch)
5525 (uri (git-reference
5526 (url "https://github.com/go-errors/errors")
5527 (commit (string-append "v" version))))
5528 (file-name (git-file-name name version))
5529 (sha256
5530 (base32 "1ydwx20al9x99xnki0srb9iy96y638inw05xx5jb16dn8rz09wib"))))
5531 (build-system go-build-system)
5532 (arguments
5533 (list
5534 #:import-path "github.com/go-errors/errors"
5535 ;; Stack trace does not contain source line: 'a: b(5)'.
5536 #:test-flags #~(list "-skip" "TestStackFormat")))
5537 (home-page "https://github.com/go-errors/errors")
5538 (synopsis "Errors with stacktraces for Golang")
5539 (description
5540 "Package errors provides errors that have stack-traces. It provides the
5541type @code{*Error} which implements the standard golang error interface, so
5542you can use this library interchangeably with code that is expecting a normal
5543error return.")
5544 (license license:expat)))
5545
3242(define-public go-github-com-go-git-go-billy-v5 5546(define-public go-github-com-go-git-go-billy-v5
3243 (package 5547 (package
3244 (name "go-github-com-go-git-go-billy-v5") 5548 (name "go-github-com-go-git-go-billy-v5")
3245 (version "5.5.0") 5549 (version "5.6.0")
3246 (source 5550 (source
3247 (origin 5551 (origin
3248 (method git-fetch) 5552 (method git-fetch)
@@ -3251,13 +5555,14 @@ Differentiation between text and binary files}.
3251 (commit (string-append "v" version)))) 5555 (commit (string-append "v" version))))
3252 (file-name (git-file-name name version)) 5556 (file-name (git-file-name name version))
3253 (sha256 5557 (sha256
3254 (base32 "1r7hfwc6lqnb7jhbbmicdlb3yipjyazq3pndpffw026fcq7jhxg1")))) 5558 (base32 "061yczvpxq5xcnjbi8ywx0qvrispi8pwk3nqky5cv1dsi6xzkchc"))))
3255 (build-system go-build-system) 5559 (build-system go-build-system)
3256 (arguments 5560 (arguments
3257 (list 5561 (list
3258 #:import-path "github.com/go-git/go-billy/v5")) 5562 #:import-path "github.com/go-git/go-billy/v5"))
3259 (native-inputs 5563 (native-inputs
3260 (list go-github-com-onsi-gomega 5564 (list go-github-com-onsi-gomega
5565 go-github-com-stretchr-testify
3261 go-gopkg-in-check-v1)) 5566 go-gopkg-in-check-v1))
3262 (propagated-inputs 5567 (propagated-inputs
3263 (list go-github-com-cyphar-filepath-securejoin 5568 (list go-github-com-cyphar-filepath-securejoin
@@ -3287,8 +5592,9 @@ operations.")
3287 (build-system go-build-system) 5592 (build-system go-build-system)
3288 (arguments 5593 (arguments
3289 (list 5594 (list
3290 ;; XXX: panic: runtime error: makeslice: cap out of range 5595 ;; XXX: The onpanic: runtime error: makeslice: cap out of range
3291 #:tests? (target-64bit?) 5596 #:tests? (target-64bit?)
5597 #:test-subdirs #~(list ".")
3292 #:import-path "github.com/go-git/go-git-fixtures/v4")) 5598 #:import-path "github.com/go-git/go-git-fixtures/v4"))
3293 (native-inputs 5599 (native-inputs
3294 (list go-github-com-stretchr-testify)) 5600 (list go-github-com-stretchr-testify))
@@ -3301,6 +5607,48 @@ operations.")
3301 "This package provides fixtures used by @code{go-git}.") 5607 "This package provides fixtures used by @code{go-git}.")
3302 (license license:asl2.0))) 5608 (license license:asl2.0)))
3303 5609
5610(define-public go-github-com-go-git-go-git-fixtures-v5
5611 (package
5612 (inherit go-github-com-go-git-go-git-fixtures-v4)
5613 (name "go-github-com-go-git-go-git-fixtures-v5")
5614 (version "5.0.0")
5615 (source
5616 (origin
5617 (method git-fetch)
5618 (uri (git-reference
5619 (url "https://github.com/go-git/go-git-fixtures")
5620 (commit (string-append "v" version))))
5621 (file-name (git-file-name name version))
5622 (sha256
5623 (base32 "0mdwqdmqbqmrh21n25nqrv48zkamgw89parcbyp7k2skqk1jkjpf"))))
5624 (arguments
5625 (list
5626 #:import-path "github.com/go-git/go-git-fixtures/v5"))))
5627
5628(define-public go-github-com-go-ini-ini
5629 (package
5630 (name "go-github-com-go-ini-ini")
5631 (version "1.67.0")
5632 (source
5633 (origin
5634 (method git-fetch)
5635 (uri (git-reference
5636 (url "https://github.com/go-ini/ini")
5637 (commit (string-append "v" version))))
5638 (file-name (git-file-name name version))
5639 (sha256
5640 (base32 "1vpzkjmrwp7bqqsijp61293kk2vn6lcck56j8m5y6ks6cf21lpap"))))
5641 (build-system go-build-system)
5642 (arguments
5643 (list #:import-path "github.com/go-ini/ini"))
5644 (native-inputs
5645 (list go-github-com-stretchr-testify))
5646 (home-page "https://gopkg.in/ini.v1")
5647 (synopsis "INI file read and write functionality in Go")
5648 (description
5649 "This package provides INI file read and write functionality in Go.")
5650 (license license:asl2.0)))
5651
3304(define-public go-github-com-go-kit-log 5652(define-public go-github-com-go-kit-log
3305 (package 5653 (package
3306 (name "go-github-com-go-kit-log") 5654 (name "go-github-com-go-kit-log")
@@ -3454,6 +5802,78 @@ implemented features include
3454@end itemize") 5802@end itemize")
3455 (license license:expat))) 5803 (license license:expat)))
3456 5804
5805(define-public go-github-com-go-playground-universal-translator
5806 (package
5807 (name "go-github-com-go-playground-universal-translator")
5808 (version "0.18.1")
5809 (home-page "https://github.com/go-playground/universal-translator")
5810 (source
5811 (origin
5812 (method git-fetch)
5813 (uri (git-reference
5814 (url home-page)
5815 (commit (string-append "v" version))))
5816 (file-name (git-file-name name version))
5817 (sha256
5818 (base32 "1lgz9wrkcfx6q3x6i9fprr8rfwnk0c6x61jgzacgikbmzsl7dw6v"))))
5819 (build-system go-build-system)
5820 (arguments
5821 (list
5822 #:import-path "github.com/go-playground/universal-translator"))
5823 (propagated-inputs
5824 (list go-github-com-go-playground-locales))
5825 (synopsis "Translator using Unicode CLDR data and pluralization rules")
5826 (description
5827 "This package offers an Internalization Translator for Go using
5828@uref{http://cldr.unicode.org/, Unicode CLDR Project} data and pluralization
5829rules. Its currently implemented features include
5830
5831@itemize
5832@item Rules generated from the CLDR data, v30.0.3
5833@item Contains Cardinal, Ordinal and Range Plural Rules
5834@item Contains Month, Weekday and Timezone translations built in
5835@item Contains Date & Time formatting functions
5836@item Contains Number, Currency, Accounting and Percent formatting functions
5837@item Supports the \"Gregorian\" calendar only
5838@item Support loading translations from files
5839@item Exporting translations to file(s), mainly for getting them
5840professionally translated
5841@end itemize")
5842 (license license:expat)))
5843
5844(define-public go-github-com-go-sql-driver-mysql
5845 (package
5846 (name "go-github-com-go-sql-driver-mysql")
5847 (version "1.8.1")
5848 (source
5849 (origin
5850 (method git-fetch)
5851 (uri (git-reference
5852 (url "https://github.com/go-sql-driver/mysql")
5853 (commit (string-append "v" version))))
5854 (file-name (git-file-name name version))
5855 (sha256
5856 (base32 "0ihdqg411gkv454fwx8w5nbndgkm5dz5phfliksxgmhggyxxm7sn"))))
5857 (build-system go-build-system)
5858 (arguments
5859 (list
5860 #:import-path "github.com/go-sql-driver/mysql"
5861 #:test-flags
5862 #~(list "-skip" (string-join
5863 (list "TestConnectorReturnsTimeout"
5864 "TestErrorInMultiResult"
5865 "TestDSNReformat/user:p"
5866 "FuzzFormatDSN/seed#8")
5867 "|"))))
5868 (propagated-inputs
5869 (list go-filippo-io-edwards25519))
5870 (home-page "https://github.com/go-sql-driver/mysql")
5871 (synopsis "MySQL driver for golang")
5872 (description
5873 "This is a pure Go implementation of the MySQL API, compatible with
5874golang's database/sql package.")
5875 (license license:mpl2.0)))
5876
3457(define-public go-github-com-go-stack-stack 5877(define-public go-github-com-go-stack-stack
3458 (package 5878 (package
3459 (name "go-github-com-go-stack-stack") 5879 (name "go-github-com-go-stack-stack")
@@ -3470,7 +5890,13 @@ implemented features include
3470 (build-system go-build-system) 5890 (build-system go-build-system)
3471 (arguments 5891 (arguments
3472 (list 5892 (list
3473 #:import-path "github.com/go-stack/stack")) 5893 #:import-path "github.com/go-stack/stack"
5894 #:test-flags
5895 #~(list "-skip" (string-join
5896 (list "TestCallStackString"
5897 "TestCallStackMarshalText"
5898 "TestTrimRuntime")
5899 "|"))))
3474 (home-page "https://github.com/go-stack/stack") 5900 (home-page "https://github.com/go-stack/stack")
3475 (synopsis "Utilities to capture, manipulate, and format call stacks") 5901 (synopsis "Utilities to capture, manipulate, and format call stacks")
3476 (description 5902 (description
@@ -3536,6 +5962,30 @@ the library more lightweight.")
3536 (package-arguments go-github-com-go-task-slim-sprig) 5962 (package-arguments go-github-com-go-task-slim-sprig)
3537 ((#:import-path _) "github.com/go-task/slim-sprig/v3"))))) 5963 ((#:import-path _) "github.com/go-task/slim-sprig/v3")))))
3538 5964
5965(define-public go-github-com-go-yaml-yaml
5966 (package
5967 (name "go-github-com-go-yaml-yaml")
5968 (version "0.0.0-20220527083530-f6f7691b1fde")
5969 (source
5970 (origin
5971 (method git-fetch)
5972 (uri (git-reference
5973 (url "https://github.com/go-yaml/yaml")
5974 (commit (go-version->git-ref version))))
5975 (file-name (git-file-name name version))
5976 (sha256
5977 (base32 "01b0wjb7yzv8wzzz2iim8mjpkwjnykcanrwiq06pkl89lr6gv8hn"))))
5978 (build-system go-build-system)
5979 (arguments
5980 (list
5981 #:import-path "github.com/go-yaml/yaml"))
5982 (native-inputs (list go-gopkg-in-check-v1))
5983 (propagated-inputs (list go-gopkg-in-yaml-v3))
5984 (home-page "https://github.com/go-yaml/yaml")
5985 (synopsis "YAML support for the Go language")
5986 (description "Package yaml implements YAML support for the Go language.")
5987 (license license:asl2.0)))
5988
3539(define-public go-github-com-gobwas-glob 5989(define-public go-github-com-gobwas-glob
3540 (package 5990 (package
3541 (name "go-github-com-gobwas-glob") 5991 (name "go-github-com-gobwas-glob")
@@ -3560,6 +6010,30 @@ the library more lightweight.")
3560 "This package provides a Go implementation of globs.") 6010 "This package provides a Go implementation of globs.")
3561 (license license:expat))) 6011 (license license:expat)))
3562 6012
6013(define-public go-github-com-gobwas-pool
6014 (package
6015 (name "go-github-com-gobwas-pool")
6016 (version "0.2.1")
6017 (source
6018 (origin
6019 (method git-fetch)
6020 (uri (git-reference
6021 (url "https://github.com/gobwas/pool")
6022 (commit (string-append "v" version))))
6023 (file-name (git-file-name name version))
6024 (sha256
6025 (base32 "0imipsf8nslc78in78wcri2ir2zzajp2h543dp2cshrrdbwkybx7"))))
6026 (build-system go-build-system)
6027 (arguments
6028 (list
6029 #:import-path "github.com/gobwas/pool"))
6030 (home-page "https://github.com/gobwas/pool")
6031 (synopsis "Go Pooling Helpers")
6032 (description
6033 "Package pool contains helpers for pooling structures distinguishable by
6034size.")
6035 (license license:expat)))
6036
3563(define-public go-github-com-goccy-go-yaml 6037(define-public go-github-com-goccy-go-yaml
3564 (package 6038 (package
3565 (name "go-github-com-goccy-go-yaml") 6039 (name "go-github-com-goccy-go-yaml")
@@ -3610,6 +6084,64 @@ the library more lightweight.")
3610@end itemize") 6084@end itemize")
3611 (license license:expat))) 6085 (license license:expat)))
3612 6086
6087(define-public go-github-com-godbus-dbus
6088 (package
6089 (name "go-github-com-godbus-dbus")
6090 (version "0.0.0-20190726142602-4481cbc300e2")
6091 (source
6092 (origin
6093 (method git-fetch)
6094 (uri (git-reference
6095 (url "https://github.com/godbus/dbus")
6096 (commit (go-version->git-ref version))))
6097 (file-name (git-file-name name version))
6098 (sha256
6099 (base32 "0h0cl1r136g0kxbw3i7ggb9mhavpi1yr7d7312iwhkxm93dxkphg"))))
6100 (build-system go-build-system)
6101 (arguments
6102 (list
6103 #:import-path "github.com/godbus/dbus"
6104 #:phases
6105 #~(modify-phases %standard-phases
6106 (replace 'check
6107 (lambda* (#:key tests? import-path #:allow-other-keys)
6108 (when tests?
6109 (with-directory-excursion (string-append "src/" import-path)
6110 (invoke "dbus-run-session" "--"
6111 "go" "test" "./..."
6112 ;; Disable tests which require a system D-Bus
6113 ;; instance.
6114 "-skip" "TestSystemBus|TestConnectSystemBus"))))))))
6115 (native-inputs
6116 (list dbus)) ;dbus-launch
6117 (home-page "https://github.com/godbus/dbus/")
6118 (synopsis "Native Go client bindings for the D-Bus")
6119 (description
6120 "@code{dbus} is a library that implements native Go client bindings for
6121the D-Bus message bus system.")
6122 (license license:bsd-2)))
6123
6124(define-public go-github-com-godbus-dbus-v5
6125 (package
6126 (inherit go-github-com-godbus-dbus)
6127 (name "go-github-com-godbus-dbus-v5")
6128 (version "5.1.0")
6129 (source
6130 (origin
6131 (method git-fetch)
6132 (uri (git-reference
6133 (url "https://github.com/godbus/dbus")
6134 (commit (string-append "v" version))))
6135 (file-name (git-file-name name version))
6136 (sha256
6137 (base32 "1kayd4x7idrhi06ahh5kqkgwzgh9icvv71mjar2d0jl486dfs8r5"))))
6138 (arguments
6139 (substitute-keyword-arguments
6140 (package-arguments go-github-com-godbus-dbus)
6141 ((#:import-path _ "github.com/godbus/dbus")
6142 "github.com/godbus/dbus/v5")))))
6143
6144
3613(define-public go-github-com-gofrs-flock 6145(define-public go-github-com-gofrs-flock
3614 (package 6146 (package
3615 (name "go-github-com-gofrs-flock") 6147 (name "go-github-com-gofrs-flock")
@@ -3705,6 +6237,183 @@ execution.")
3705 "The chardet package ports character set detection from ICU to Go.") 6237 "The chardet package ports character set detection from ICU to Go.")
3706 (license license:expat))) 6238 (license license:expat)))
3707 6239
6240(define-public go-github-com-golang-freetype
6241 (package
6242 (name "go-github-com-golang-freetype")
6243 (version "0.0.0-20170609003504-e2365dfdc4a0")
6244 (source
6245 (origin
6246 (method git-fetch)
6247 (uri (git-reference
6248 (url "https://github.com/golang/freetype")
6249 (commit (go-version->git-ref version))))
6250 (file-name (git-file-name name version))
6251 (sha256
6252 (base32 "194w3djc6fv1rgcjqds085b9fq074panc5vw582bcb8dbfzsrqxc"))))
6253 (build-system go-build-system)
6254 (arguments
6255 (list #:import-path "github.com/golang/freetype"))
6256 (propagated-inputs
6257 (list go-golang-org-x-image))
6258 (home-page "https://github.com/golang/freetype")
6259 (synopsis "Freetype font rasterizer in the Go programming language")
6260 (description
6261 "The Freetype font rasterizer in the Go programming language.")
6262 (license (list license:freetype
6263 license:gpl2+))))
6264
6265(define-public go-github-com-golangplus-bytes
6266 (package
6267 (name "go-github-com-golangplus-bytes")
6268 (version "1.0.0")
6269 (source
6270 (origin
6271 (method git-fetch)
6272 (uri (git-reference
6273 (url "https://github.com/golangplus/bytes")
6274 (commit (string-append "v" version))))
6275 (file-name (git-file-name name version))
6276 (sha256
6277 (base32 "0r8f9m7hm6idnbapfb01nw5h09a20b09r7sky2gkniympn98ra75"))))
6278 (build-system go-build-system)
6279 (arguments
6280 (list
6281 #:import-path "github.com/golangplus/bytes"))
6282 (native-inputs
6283 (list go-github-com-golangplus-testing-bootstrap))
6284 (home-page "https://github.com/golangplus/bytes")
6285 (synopsis "Extention to Golang standard @code{bytes} library.")
6286 (description
6287 "Package bytesp is a plus to the standard @code{bytes} package.")
6288 (license license:bsd-3)))
6289
6290(define-public go-github-com-golangplus-bytes-bootstrap
6291 (hidden-package
6292 (package
6293 (inherit go-github-com-golangplus-bytes)
6294 (arguments
6295 (list #:skip-build? #t
6296 #:tests? #f
6297 #:import-path "github.com/golangplus/bytes"))
6298 (native-inputs '())
6299 (propagated-inputs '()))))
6300
6301(define-public go-github-com-gologme-log
6302 (package
6303 (name "go-github-com-gologme-log")
6304 (version "1.3.0")
6305 (source
6306 (origin
6307 (method git-fetch)
6308 (uri (git-reference
6309 (url "https://github.com/gologme/log")
6310 (commit (string-append "v" version))))
6311 (file-name (git-file-name name version))
6312 (sha256
6313 (base32 "0m7dszaisviq7fgwyxg9lwhxyzdab0w7d1zbilrnarzvyx9wh3ax"))))
6314 (build-system go-build-system)
6315 (arguments
6316 '(#:import-path "github.com/gologme/log"))
6317 (home-page "https://github.com/gologme/log/")
6318 (synopsis "Fork of the golang built in log package to add support for levels")
6319 (description
6320 "This package is a drop in replacement for the built-in Go log package.
6321All the functionality of the built-in package still exists and is unchanged.
6322This package contains a series of small enhancements and additions.")
6323 (license license:bsd-3)))
6324
6325(define-public go-github-com-gomodule-redigo
6326 (package
6327 (name "go-github-com-gomodule-redigo")
6328 (version "1.9.2")
6329 (source
6330 (origin
6331 (method git-fetch)
6332 (uri (git-reference
6333 (url "https://github.com/gomodule/redigo")
6334 (commit (string-append "v" version))))
6335 (file-name (git-file-name name version))
6336 (sha256
6337 (base32 "03z02zmkl8cj73c6xrvlpj144d9ysikc25ay64dhpbzwkn16h5yv"))))
6338 (build-system go-build-system)
6339 (arguments
6340 (list
6341 #:skip-build? #t
6342 #:import-path "github.com/gomodule/redigo"
6343 #:test-flags
6344 #~(list "-skip"
6345 (string-join
6346 ;; Run just unit tests which do not require Redis reducing
6347 ;; closure size.
6348 (list "TestDoCommands"
6349 "TestPipelineCommands"
6350 "TestBlankCommand"
6351 "TestRecvBeforeSend"
6352 "TestError"
6353 "TestDialContext_CanceledContext"
6354 "TestDialClientName"
6355 "TestExecError"
6356 "Test.*Pool.*"
6357 "TestPushed"
6358 "TestPubSubReceiveContext"
6359 "TestSlowLog"
6360 "TestLatency"
6361 "TestLatencyHistories"
6362 "TestScript"
6363 "Example.*"
6364 "TestConnMux"
6365 "TestConnMuxClose")
6366 "|"))
6367 #:phases
6368 #~(modify-phases %standard-phases
6369 (add-after 'unpack 'remove-examples
6370 (lambda* (#:key import-path #:allow-other-keys)
6371 (with-directory-excursion (string-append "src/" import-path)
6372 (for-each delete-file
6373 (list "redis/zpop_example_test.go"
6374 "redis/scan_test.go"
6375 "redis/pubsub_example_test.go"
6376 "redis/reply_test.go"))))))))
6377 (native-inputs
6378 (list go-github-com-stretchr-testify))
6379 (home-page "https://github.com/gomodule/redigo")
6380 (synopsis "Go client for Redis")
6381 (description
6382 "Redigo is a Go client for the Redis database.")
6383 (license license:asl2.0)))
6384
6385(define-public go-github-com-google-gnostic-models
6386 (package
6387 (name "go-github-com-google-gnostic-models")
6388 (version "0.6.9")
6389 (source
6390 (origin
6391 (method git-fetch)
6392 (uri (git-reference
6393 (url "https://github.com/google/gnostic-models")
6394 (commit (string-append "v" version))))
6395 (file-name (git-file-name name version))
6396 (sha256
6397 (base32 "0z170sw1dlspxwbgpzffry5xm8mmcq7kpkrn0zkjzwdnmjhmmdqx"))))
6398 (build-system go-build-system)
6399 (arguments
6400 (list
6401 #:import-path "github.com/google/gnostic-models"
6402 #:phases
6403 #~(modify-phases %standard-phases
6404 (delete 'build)))) ; no go files in project's root
6405 (propagated-inputs
6406 (list go-google-golang-org-protobuf
6407 go-gopkg-in-yaml-v3))
6408 (home-page "https://github.com/google/gnostic-models")
6409 (synopsis "Protocol Buffer models for Gnostic")
6410 (description
6411 "This package provides Protocol Buffer models and associated libraries
6412for working with API description formats supported by
6413@url{https://github.com/google/gnostic,gnostic}. It exists to provide a
6414lightweight distribution of these models with minimal dependencies.")
6415 (license license:asl2.0)))
6416
3708(define-public go-github-com-google-goterm 6417(define-public go-github-com-google-goterm
3709 (package 6418 (package
3710 (name "go-github-com-google-goterm") 6419 (name "go-github-com-google-goterm")
@@ -3731,6 +6440,31 @@ It also contains some convenience functions for colors, SSH to and from
3731termios translations, readCh, reading passwords, etc.") 6440termios translations, readCh, reading passwords, etc.")
3732 (license license:bsd-3))) 6441 (license license:bsd-3)))
3733 6442
6443;; XXX: This repository has been archived by the owner on Dec 29, 2022. It is
6444;; now read-only. It's only used by kiln, consider to remove it when it does
6445;; no longer require it.
6446(define-public go-github-com-google-shlex
6447 (package
6448 (name "go-github-com-google-shlex")
6449 (version "0.0.0-20191202100458-e7afc7fbc510")
6450 (source
6451 (origin
6452 (method git-fetch)
6453 (uri (git-reference
6454 (url "https://github.com/google/shlex")
6455 (commit (go-version->git-ref version))))
6456 (file-name (git-file-name name version))
6457 (sha256
6458 (base32 "14z8hqyik910wk2qwnzgz8mjsmiamxa0pj55ahbv0jx6j3dgvzfm"))))
6459 (build-system go-build-system)
6460 (arguments (list #:import-path "github.com/google/shlex"))
6461 (home-page "https://github.com/google/shlex")
6462 (synopsis "Simple lexer for Go")
6463 (description
6464 "@code{shlex} implements a simple lexer which splits input into tokens
6465using shell-style rules for quoting and commenting.")
6466 (license license:asl2.0)))
6467
3734(define-public go-github-com-google-subcommands 6468(define-public go-github-com-google-subcommands
3735 (package 6469 (package
3736 (name "go-github-com-google-subcommands") 6470 (name "go-github-com-google-subcommands")
@@ -3845,6 +6579,169 @@ underneath and returns only matching files or direcories, depending on the
3845configuration.") 6579configuration.")
3846 (license license:expat))) 6580 (license license:expat)))
3847 6581
6582(define-public go-github-com-gorhill-cronexpr
6583 (package
6584 (name "go-github-com-gorhill-cronexpr")
6585 (version "0.0.0-20180427100037-88b0669f7d75")
6586 (source
6587 (origin
6588 (method git-fetch)
6589 (uri (git-reference
6590 (url "https://github.com/gorhill/cronexpr")
6591 (commit (go-version->git-ref version))))
6592 (file-name (git-file-name name version))
6593 (sha256
6594 (base32 "0hc7xdfclp2qgkr1581jb3ckjvl34nxmqrnraci5jzmqx5av9j1r"))))
6595 (build-system go-build-system)
6596 (arguments
6597 (list
6598 #:import-path "github.com/gorhill/cronexpr"))
6599 (home-page "https://github.com/gorhill/cronexpr")
6600 (synopsis "Cron expression parser in the Go language")
6601 (description
6602 "This package provides a cron expression parser in the Go language.
6603Given a cron expression and a time stamp, you can get the next time stamp
6604which satisfies the cron expression.")
6605 (license (list license:gpl3+
6606 license:asl2.0))))
6607
6608(define-public go-github-com-gosuri-uilive
6609 (package
6610 (name "go-github-com-gosuri-uilive")
6611 (version "0.0.4")
6612 (source
6613 (origin
6614 (method git-fetch)
6615 (uri (git-reference
6616 (url "https://github.com/gosuri/uilive")
6617 (commit (string-append "v" version))))
6618 (file-name (git-file-name name version))
6619 (sha256
6620 (base32 "0pwxx0w4mv908dascnxkdjq865ks01niqy71imv4kllz0a84zkag"))))
6621 (build-system go-build-system)
6622 (arguments
6623 (list
6624 #:import-path "github.com/gosuri/uilive"))
6625 (home-page "https://github.com/gosuri/uilive")
6626 (synopsis "Updating terminal output in realtime")
6627 (description
6628 "Package uilive provides a writer that live updates the terminal. It
6629provides a buffered io.Writer that is flushed at a timed interval.")
6630 (license license:expat)))
6631
6632(define-public go-github-com-goverter-patherr
6633 (package
6634 (name "go-github-com-goverter-patherr")
6635 (version "1.0.0")
6636 (source
6637 (origin
6638 (method git-fetch)
6639 (uri (git-reference
6640 (url "https://github.com/goverter/patherr")
6641 (commit (string-append "v" version))))
6642 (file-name (git-file-name name version))
6643 (sha256
6644 (base32 "1zjcyva959ir23rgk2rvc7ivlyan9dh2rqw7hl03h6xq935zznjq"))))
6645 (build-system go-build-system)
6646 (arguments
6647 (list
6648 #:import-path "github.com/goverter/patherr"))
6649 (home-page "https://github.com/goverter/patherr")
6650 (synopsis "Implementation for Goverter's wrapErrorsUsing")
6651 (description
6652 "This package provides an implementation for the goverter feature
6653@code{wrapErrorsUsing}.")
6654 (license license:expat)))
6655
6656(define-public go-github-com-guptarohit-asciigraph
6657 (package
6658 (name "go-github-com-guptarohit-asciigraph")
6659 (version "0.7.3")
6660 (source
6661 (origin
6662 (method git-fetch)
6663 (uri (git-reference
6664 (url "https://github.com/guptarohit/asciigraph")
6665 (commit (string-append "v" version))))
6666 (file-name (git-file-name name version))
6667 (sha256
6668 (base32 "1j708hj80hk1b39zbdfx6kqy75i70jhz55bml0jngqwfx698d1pv"))))
6669 (build-system go-build-system)
6670 (arguments
6671 (list
6672 #:import-path "github.com/guptarohit/asciigraph"))
6673 (home-page "https://github.com/guptarohit/asciigraph")
6674 (synopsis "ASCII line graphs for Golang")
6675 (description
6676 "This package can generate ASCII line graphs in Golang.")
6677 (license license:bsd-3)))
6678
6679(define-public go-github-com-hanwen-go-fuse
6680 (package
6681 (name "go-github-com-hanwen-go-fuse")
6682 (version "1.0.0")
6683 (source
6684 (origin
6685 (method git-fetch)
6686 (uri (git-reference
6687 (url "https://github.com/hanwen/go-fuse")
6688 (commit (string-append "v" version))))
6689 (file-name (git-file-name name version))
6690 (sha256
6691 (base32 "04xa8mh34639lv1b2p8dx13x742j5i493i3sk89hd3jfskzvval1"))))
6692 (build-system go-build-system)
6693 (arguments
6694 (list
6695 #:skip-build? #t
6696 #:import-path "github.com/hanwen/go-fuse"
6697 ;; Most of the tests require "/bin/fusermount" to be available which
6698 ;; is missed during packaging, limit to some unit tests only.
6699 #:test-subdirs #~(list "internal/..." "splice")
6700 #:phases
6701 #~(modify-phases %standard-phases
6702 (add-after 'unpack 'remove-example
6703 (lambda* (#:key tests? import-path #:allow-other-keys)
6704 (with-directory-excursion (string-append "src/" import-path)
6705 (delete-file-recursively "example")))))))
6706 (propagated-inputs
6707 (list go-golang-org-x-sys))
6708 (home-page "https://github.com/hanwen/go-fuse")
6709 (synopsis "Go bindings for FUSE filesystems")
6710 (description
6711 "This is a repository containing Go bindings for writing FUSE file systems.")
6712 (license license:bsd-3)))
6713
6714(define-public go-github-com-hanwen-go-fuse-v2
6715 (package
6716 (inherit go-github-com-hanwen-go-fuse)
6717 (name "go-github-com-hanwen-go-fuse-v2")
6718 (version "2.7.2")
6719 (source
6720 (origin
6721 (method git-fetch)
6722 (uri (git-reference
6723 (url "https://github.com/hanwen/go-fuse")
6724 (commit (string-append "v" version))))
6725 (file-name (git-file-name name version))
6726 (sha256
6727 (base32 "1fcf94chf9ffgjk0wcpnlz0kfb69m2fwzfn4k348kal75x178aar"))))
6728 (build-system go-build-system)
6729 (arguments
6730 (substitute-keyword-arguments
6731 (package-arguments go-github-com-hanwen-go-fuse)
6732 ((#:import-path _) "github.com/hanwen/go-fuse/v2")
6733 ((#:phases phases #~%standard-phases)
6734 #~(modify-phases #$phases
6735 (add-after 'unpack 'remove-benchmark
6736 (lambda* (#:key tests? import-path #:allow-other-keys)
6737 (with-directory-excursion (string-append "src/" import-path)
6738 (delete-file-recursively "benchmark"))))))))
6739 (propagated-inputs
6740 (list go-github-com-kylelemons-godebug
6741 go-github-com-moby-sys-mountinfo
6742 go-golang-org-x-sync
6743 go-golang-org-x-sys))))
6744
3848(define-public go-github-com-hashicorp-errwrap 6745(define-public go-github-com-hashicorp-errwrap
3849 (package 6746 (package
3850 (name "go-github-com-hashicorp-errwrap") 6747 (name "go-github-com-hashicorp-errwrap")
@@ -3869,6 +6766,31 @@ configuration.")
3869wrapping errors and checking if an error contains another error.") 6766wrapping errors and checking if an error contains another error.")
3870 (license license:mpl2.0))) 6767 (license license:mpl2.0)))
3871 6768
6769(define-public go-github-com-hashicorp-go-envparse
6770 (package
6771 (name "go-github-com-hashicorp-go-envparse")
6772 (version "0.1.0")
6773 (source
6774 (origin
6775 (method git-fetch)
6776 (uri (git-reference
6777 (url "https://github.com/hashicorp/go-envparse")
6778 (commit (string-append "v" version))))
6779 (file-name (git-file-name name version))
6780 (sha256
6781 (base32 "0wqb96gbfrj5986a1cg1sa0412dk7qpnh9l2w3y5q7a38v2dlh9j"))))
6782 (build-system go-build-system)
6783 (arguments
6784 (list
6785 #:import-path "github.com/hashicorp/go-envparse"))
6786 (home-page "https://github.com/hashicorp/go-envparse")
6787 (synopsis "Environment variable parser for Golang")
6788 (description
6789 "Package envparse is a minimal environment variable parser. It handles
6790empty lines, comments, single quotes, double quotes, and JSON escape
6791sequences.")
6792 (license license:mpl2.0)))
6793
3872(define-public go-github-com-hashicorp-go-hclog 6794(define-public go-github-com-hashicorp-go-hclog
3873 (package 6795 (package
3874 (name "go-github-com-hashicorp-go-hclog") 6796 (name "go-github-com-hashicorp-go-hclog")
@@ -4169,7 +7091,10 @@ overhead is linear with the size of the cache.")
4169 (build-system go-build-system) 7091 (build-system go-build-system)
4170 (arguments 7092 (arguments
4171 (list 7093 (list
4172 #:import-path "github.com/hashicorp/hcl")) 7094 #:import-path "github.com/hashicorp/hcl"
7095 #:test-subdirs
7096 #~(list "json/..." "hcl/ast" "hcl/fmtcmd" "hcl/printer" "hcl/scanner"
7097 "hcl/strconv" "hcl/token" ".")))
4173 (native-inputs 7098 (native-inputs
4174 (list go-github-com-davecgh-go-spew)) 7099 (list go-github-com-davecgh-go-spew))
4175 (synopsis "Go implementation of HashiCorp Configuration Language V1") 7100 (synopsis "Go implementation of HashiCorp Configuration Language V1")
@@ -4196,9 +7121,24 @@ expressing configuration which is easy for both humans and machines to read.")
4196 (build-system go-build-system) 7121 (build-system go-build-system)
4197 (arguments 7122 (arguments
4198 (list 7123 (list
4199 #:import-path "github.com/hashicorp/hcl/v2")) 7124 #:import-path "github.com/hashicorp/hcl/v2"
7125 #:test-flags
7126 #~(list "-skip"
7127 (string-join
7128 (list "TestExpressionParseAndValue/.*unk.*"
7129 "TestFunctionCallExprValue/valid_call_with_unknown_arg.*"
7130 "TestFunctionCallExprValue/valid_call_with_dynamic_arg")
7131 "|"))))
4200 (native-inputs 7132 (native-inputs
4201 (list go-github-com-davecgh-go-spew)) 7133 (list go-github-com-apparentlymart-go-dump
7134 go-github-com-davecgh-go-spew
7135 go-github-com-go-test-deep
7136 go-github-com-kr-pretty
7137 go-github-com-kylelemons-godebug
7138 go-github-com-sergi-go-diff
7139 go-github-com-spf13-pflag
7140 go-github-com-zclconf-go-cty-debug
7141 go-golang-org-x-crypto))
4202 (inputs 7142 (inputs
4203 (list go-github-com-agext-levenshtein 7143 (list go-github-com-agext-levenshtein
4204 go-github-com-apparentlymart-go-textseg-v13 7144 go-github-com-apparentlymart-go-textseg-v13
@@ -4212,6 +7152,119 @@ expressing configuration which is easy for both humans and machines to read.")
4212 (home-page "https://github.com/hashicorp/hcl") 7152 (home-page "https://github.com/hashicorp/hcl")
4213 (license license:mpl2.0))) 7153 (license license:mpl2.0)))
4214 7154
7155(define-public go-github-com-hebcal-gematriya
7156 (package
7157 (name "go-github-com-hebcal-gematriya")
7158 (version "1.0.1")
7159 (source
7160 (origin
7161 (method git-fetch)
7162 (uri (git-reference
7163 (url "https://github.com/hebcal/gematriya")
7164 (commit (string-append "v" version))))
7165 (file-name (git-file-name name version))
7166 (sha256
7167 (base32 "0xmnb2i80dy380yv8c4pd04bbyqgbc7c40p8hz1vqj2lhbm6jabf"))))
7168 (build-system go-build-system)
7169 (arguments
7170 (list
7171 #:import-path "github.com/hebcal/gematriya"))
7172 (home-page "https://github.com/hebcal/gematriya")
7173 (synopsis "Print numbers as Hebrew letters in Go")
7174 (description
7175 "This package provides a Go library for printing numbers as Hebrew
7176letters.")
7177 (license license:bsd-2)))
7178
7179(define-public go-github-com-hebcal-greg
7180 (package
7181 (name "go-github-com-hebcal-greg")
7182 (version "1.0.0")
7183 (source
7184 (origin
7185 (method git-fetch)
7186 (uri (git-reference
7187 (url "https://github.com/hebcal/greg")
7188 (commit (string-append "v" version))))
7189 (file-name (git-file-name name version))
7190 (sha256
7191 (base32 "1cf53ay6sj0m635k9p3f64iw03asx81aqmyrk102lzmhg838mq1a"))))
7192 (build-system go-build-system)
7193 (arguments
7194 (list
7195 #:import-path "github.com/hebcal/greg"))
7196 (native-inputs (list go-github-com-stretchr-testify))
7197 (home-page "https://github.com/hebcal/greg")
7198 (synopsis "Converts between Gregorian dates and Rata Die day numbers")
7199 (description
7200 "Hebcal's greg package converts between Gregorian dates and R.D. (Rata
7201Die) day numbers.")
7202 (license license:gpl2)))
7203
7204(define-public go-github-com-hebcal-hdate
7205 (package
7206 (name "go-github-com-hebcal-hdate")
7207 (version "1.1.0")
7208 (source
7209 (origin
7210 (method git-fetch)
7211 (uri (git-reference
7212 (url "https://github.com/hebcal/hdate")
7213 (commit (string-append "v" version))))
7214 (file-name (git-file-name name version))
7215 (sha256
7216 (base32 "0i3r3ng9ygd7ly59znw948im4z4sbp23jqj3hhgxabwhh6b8mdmf"))))
7217 (build-system go-build-system)
7218 (arguments
7219 (list
7220 #:import-path "github.com/hebcal/hdate"))
7221 (native-inputs (list go-github-com-stretchr-testify))
7222 (propagated-inputs (list go-github-com-hebcal-greg))
7223 (home-page "https://github.com/hebcal/hdate")
7224 (synopsis "Converts between Hebrew and Gregorian dates")
7225 (description
7226 "Hebcal's hdate package converts between Hebrew and Gregorian dates.")
7227 (license license:gpl2)))
7228
7229(define-public go-github-com-hebcal-hebcal-go
7230 (package
7231 (name "go-github-com-hebcal-hebcal-go")
7232 (version "0.9.31")
7233 (source
7234 (origin
7235 (method git-fetch)
7236 (uri (git-reference
7237 (url "https://github.com/hebcal/hebcal-go")
7238 (commit (string-append "v" version))))
7239 (file-name (git-file-name name version))
7240 (sha256
7241 (base32 "1vccmjb4g8g8x733a45g78lz25k2a0avsq4zvlp94varssk8wj1q"))))
7242 (build-system go-build-system)
7243 (arguments
7244 (list
7245 #:skip-build? #t
7246 #:import-path "github.com/hebcal/hebcal-go"))
7247 (native-inputs
7248 (list go-github-com-stretchr-testify))
7249 (propagated-inputs
7250 (list go-github-com-dustin-go-humanize
7251 go-github-com-hebcal-gematriya
7252 go-github-com-hebcal-greg
7253 go-github-com-hebcal-hdate
7254 go-github-com-nathan-osman-go-sunrise))
7255 (home-page "https://github.com/hebcal/hebcal-go")
7256 (synopsis "Go library for the Hebcal perpetual Jewish calendar")
7257 (description
7258 "This package provides a library for conversion between Hebrew and
7259Gregorian dates, and generation of lists of Jewish holidays for a given year.
7260Shabbat and holiday candle lighting and havdalah times are approximated based
7261on location.
7262
7263Torah readings, Daf Yomi, and counting of the Omer can also be specified.
7264Algorithms are included to calculate yahrzeits, birthdays, and
7265anniversaries.")
7266 (license license:gpl2+)))
7267
4215(define-public go-github-com-hhrutter-tiff 7268(define-public go-github-com-hhrutter-tiff
4216 (package 7269 (package
4217 (name "go-github-com-hhrutter-tiff") 7270 (name "go-github-com-hhrutter-tiff")
@@ -4242,6 +7295,78 @@ expressing configuration which is easy for both humans and machines to read.")
4242@end itemize") 7295@end itemize")
4243 (license license:bsd-3))) 7296 (license license:bsd-3)))
4244 7297
7298(define-public go-github-com-hodgesds-perf-utils
7299 (package
7300 (name "go-github-com-hodgesds-perf-utils")
7301 (version "0.7.0")
7302 (source
7303 (origin
7304 (method git-fetch)
7305 (uri (git-reference
7306 (url "https://github.com/hodgesds/perf-utils")
7307 (commit (string-append "v" version))))
7308 (file-name (git-file-name name version))
7309 (sha256
7310 (base32 "1wrma5rn0pybav8lwmv5xjwjl6slgnr8ya64f1npijam59r7afzj"))))
7311 (build-system go-build-system)
7312 (arguments
7313 (list
7314 #:import-path "github.com/hodgesds/perf-utils"
7315 #:test-flags
7316 ;; XXX: Tests requiring root access to mount file system or shaky, check
7317 ;; if they may be fixed.
7318 #~(list "-skip"
7319 (string-join
7320 (list "TestAvailableEvents"
7321 "TestAvailablePMUs"
7322 "TestBusCycles"
7323 "TestCPURefCycles"
7324 "TestDebugFSMount"
7325 "TestGroupProfiler"
7326 "TestLLCache"
7327 "TestMSR"
7328 "TestMSRPaths"
7329 "TestNodeCache"
7330 "TestProfiler"
7331 "TestSoftwareProfiler"
7332 "TestTraceFSMount")
7333 "|"))))
7334 (native-inputs
7335 (list go-github-com-stretchr-testify))
7336 (propagated-inputs
7337 (list go-golang-org-x-sys
7338 go-go-uber-org-multierr))
7339 (home-page "https://github.com/hodgesds/perf-utils")
7340 (synopsis "Perf Utilities for Golang")
7341 (description
7342 "This package is a Go library for interacting with the @code{perf}
7343subsystem in Linux.")
7344 (license license:expat)))
7345
7346(define-public go-github-com-huandu-xstrings
7347 (package
7348 (name "go-github-com-huandu-xstrings")
7349 (version "1.5.0")
7350 (source
7351 (origin
7352 (method git-fetch)
7353 (uri (git-reference
7354 (url "https://github.com/huandu/xstrings")
7355 (commit (string-append "v" version))))
7356 (file-name (git-file-name name version))
7357 (sha256
7358 (base32 "04z4xb22mi03a772f1si2fqwi5vn5584afzxas73jc6n6sppz0db"))))
7359 (build-system go-build-system)
7360 (arguments
7361 (list
7362 #:import-path "github.com/huandu/xstrings"))
7363 (home-page "https://github.com/huandu/xstrings/")
7364 (synopsis "Collection of string functions")
7365 (description
7366 "Go package xstrings is a collection of string functions,which are widely
7367used in other languages but absent in Go package strings.")
7368 (license license:expat)))
7369
4245(define-public go-github-com-ianlancetaylor-demangle 7370(define-public go-github-com-ianlancetaylor-demangle
4246 ;; No release, see <https://github.com/ianlancetaylor/demangle/issues/21>. 7371 ;; No release, see <https://github.com/ianlancetaylor/demangle/issues/21>.
4247 (package 7372 (package
@@ -4270,6 +7395,79 @@ the C++ ABI defined at https://codesourcery.com/cxx-abi/ and the
4270ABI}.") 7395ABI}.")
4271 (license license:bsd-3))) 7396 (license license:bsd-3)))
4272 7397
7398(define-public go-github-com-iancoleman-orderedmap
7399 (package
7400 (name "go-github-com-iancoleman-orderedmap")
7401 (version "0.3.0")
7402 (source
7403 (origin
7404 (method git-fetch)
7405 (uri (git-reference
7406 (url "https://github.com/iancoleman/orderedmap")
7407 (commit (string-append "v" version))))
7408 (file-name (git-file-name name version))
7409 (sha256
7410 (base32 "1rkahhb86ngvzjmdlrpw9rx24a0b1yshq2add1ry2ii6nkx0xbfs"))))
7411 (build-system go-build-system)
7412 (arguments
7413 (list
7414 #:import-path "github.com/iancoleman/orderedmap"))
7415 (home-page "https://github.com/iancoleman/orderedmap")
7416 (synopsis "Ordered map in Golang")
7417 (description
7418 "This package provides a Golang data type for ordered maps where the keys
7419keep the order that they're added. It can be de/serialized from/to JSON.")
7420 (license license:expat)))
7421
7422(define-public go-github-com-iancoleman-strcase
7423 (package
7424 (name "go-github-com-iancoleman-strcase")
7425 (version "0.3.0")
7426 (source
7427 (origin
7428 (method git-fetch)
7429 (uri (git-reference
7430 (url "https://github.com/iancoleman/strcase")
7431 (commit (string-append "v" version))))
7432 (file-name (git-file-name name version))
7433 (sha256
7434 (base32 "169fb56kiif2gq92b7hvh9xgl2n8kjmdg4gqaa1492kb97ia8lwm"))))
7435 (build-system go-build-system)
7436 (arguments
7437 (list
7438 #:import-path "github.com/iancoleman/strcase"))
7439 (home-page "https://github.com/iancoleman/strcase")
7440 (synopsis "Converting to snake_case or CamelCase")
7441 (description
7442 "Package strcase converts strings to various cases.")
7443 (license license:expat)))
7444
7445(define-public go-github-com-invopop-yaml
7446 (package
7447 (name "go-github-com-invopop-yaml")
7448 (version "0.3.1")
7449 (source
7450 (origin
7451 (method git-fetch)
7452 (uri (git-reference
7453 (url "https://github.com/invopop/yaml")
7454 (commit (string-append "v" version))))
7455 (file-name (git-file-name name version))
7456 (sha256
7457 (base32 "0isvalfivw39hjj20y28g4yws0plzqaym8asz3sr5lfwv5gnq7zg"))))
7458 (build-system go-build-system)
7459 (arguments
7460 (list
7461 #:import-path "github.com/invopop/yaml"))
7462 (propagated-inputs
7463 (list go-gopkg-in-yaml-v3))
7464 (home-page "https://github.com/invopop/yaml")
7465 (synopsis "YAML marshaling and unmarshaling support for Golang")
7466 (description
7467 "This package provides a wrapper around go-yaml designed to enable a
7468better way of handling YAML when marshaling to and from structs.")
7469 (license license:expat)))
7470
4273(define-public go-github-com-itchyny-timefmt-go 7471(define-public go-github-com-itchyny-timefmt-go
4274 (package 7472 (package
4275 (name "go-github-com-itchyny-timefmt-go") 7473 (name "go-github-com-itchyny-timefmt-go")
@@ -4293,6 +7491,679 @@ ABI}.")
4293time strings.") 7491time strings.")
4294 (license license:expat))) 7492 (license license:expat)))
4295 7493
7494(define-public go-github-com-jackc-chunkreader
7495 (package
7496 (name "go-github-com-jackc-chunkreader")
7497 (version "1.0.0")
7498 (source
7499 (origin
7500 (method git-fetch)
7501 (uri (git-reference
7502 (url "https://github.com/jackc/chunkreader")
7503 (commit (string-append "v" version))))
7504 (file-name (git-file-name name version))
7505 (sha256
7506 (base32 "0zsxsd6alk51lssq1xq194sf88awj083fjiy7pk3098v2nj9m65l"))))
7507 (build-system go-build-system)
7508 (arguments
7509 (list
7510 #:import-path "github.com/jackc/chunkreader"))
7511 (home-page "https://github.com/jackc/chunkreader")
7512 (synopsis "Wrapper for @code{io.Reader}")
7513 (description
7514 "ChunkReader is a @code{io.Reader} wrapper that minimizes IO reads and
7515memory allocations. It allocates memory in chunks and will read as much as
7516will fit in the current buffer in a single call regardless of how large a read
7517is actually requested. The memory returned via Next is owned by the caller.
7518This avoids the need for an additional copy. It extracted from original
7519implementation in https://github.com/jackc/pgx.")
7520 (license license:expat)))
7521
7522(define-public go-github-com-jackc-chunkreader-v2
7523 (package
7524 (inherit go-github-com-jackc-chunkreader)
7525 (name "go-github-com-jackc-chunkreader-v2")
7526 (version "2.0.1")
7527 (source
7528 (origin
7529 (method git-fetch)
7530 (uri (git-reference
7531 (url "https://github.com/jackc/chunkreader")
7532 (commit (string-append "v" version))))
7533 (file-name (git-file-name name version))
7534 (sha256
7535 (base32 "0fj585hp3s4cjfzncr5gmim96p0b956pqdf4nm7yan1ipfch9l1c"))))
7536 (arguments
7537 (list
7538 #:import-path "github.com/jackc/chunkreader/v2"))))
7539
7540(define-public go-github-com-jackc-pgconn
7541 (package
7542 (name "go-github-com-jackc-pgconn")
7543 (version "1.14.3")
7544 (source
7545 (origin
7546 (method git-fetch)
7547 (uri (git-reference
7548 (url "https://github.com/jackc/pgconn")
7549 (commit (string-append "v" version))))
7550 (file-name (git-file-name name version))
7551 (sha256
7552 (base32 "0rqx0y9k6g8ydcpciv3k246hfd5am4yw4jg3cbq4wlfny01ksh3y"))))
7553 (build-system go-build-system)
7554 (arguments
7555 (list
7556 #:import-path "github.com/jackc/pgconn"
7557 #:test-flags
7558 #~(list "-skip"
7559 (string-join
7560 (list "TestConfigCopyCanBeUsedToConnect"
7561 "TestConnStress"
7562 "TestFrontendFatalErrExec"
7563 "TestLRUModePrepare"
7564 "TestLRUContext"
7565 "TestLRUStmtInvalidationIntegration"
7566 "TestLRUModeDescribe"
7567 "TestLRUModePrepareStress"
7568 "TestLRUStmtInvalidation")
7569 "|"))
7570 #:phases
7571 #~(modify-phases %standard-phases
7572 ;; All tests in this file rquire PostgreSQL service running.
7573 (add-before 'check 'remove-failing-test-files
7574 (lambda* (#:key import-path #:allow-other-keys)
7575 (with-directory-excursion (string-append "src/" import-path)
7576 (delete-file "pgconn_test.go")))))))
7577 (native-inputs
7578 (list go-github-com-jackc-pgmock-bootstrap
7579 go-github-com-stretchr-testify))
7580 (propagated-inputs
7581 (list go-github-com-jackc-chunkreader-v2
7582 go-github-com-jackc-pgio
7583 go-github-com-jackc-pgpassfile
7584 go-github-com-jackc-pgproto3-v2
7585 go-github-com-jackc-pgservicefile
7586 go-golang-org-x-crypto
7587 go-golang-org-x-text))
7588 (home-page "https://github.com/jackc/pgconn")
7589 (synopsis "Low-level PostgreSQL database driver")
7590 (description
7591 "Package pgconn is a low-level PostgreSQL database driver. It operates
7592at nearly the same level as the C library libpq.
7593
7594It is primarily intended to serve as the foundation for higher level libraries
7595such as @url{https://github.com/jackc/pgx}. Applications should handle normal
7596queries with a higher level library and only use pgconn directly when required
7597for low-level access to PostgreSQL functionality.")
7598 (license license:expat)))
7599
7600(define-public go-github-com-jackc-pgconn-bootstrap
7601 (hidden-package
7602 (package
7603 (inherit go-github-com-jackc-pgconn)
7604 (arguments
7605 (list #:tests? #f
7606 #:import-path "github.com/jackc/pgconn"
7607 #:phases
7608 #~(modify-phases %standard-phases
7609 (delete 'build))))
7610 (native-inputs '()))))
7611
7612(define-public go-github-com-jackc-pgerrcode
7613 (package
7614 (name "go-github-com-jackc-pgerrcode")
7615 (version "0.0.0-20240316143900-6e2875d9b438")
7616 (source
7617 (origin
7618 (method git-fetch)
7619 (uri (git-reference
7620 (url "https://github.com/jackc/pgerrcode")
7621 (commit (go-version->git-ref version))))
7622 (file-name (git-file-name name version))
7623 (sha256
7624 (base32 "00csrjkg8fg97q5wy4r2wqi88w7g1cj0f5xkp5442nz3agmkxgrj"))))
7625 (build-system go-build-system)
7626 (arguments
7627 (list
7628 #:import-path "github.com/jackc/pgerrcode"))
7629 (home-page "https://github.com/jackc/pgerrcode")
7630 (synopsis "Constants for PostgreSQL error codes")
7631 (description
7632 "Package pgerrcode contains constants for @code{PostgreSQL} error
7633codes.")
7634 (license license:expat)))
7635
7636(define-public go-github-com-jackc-pgio
7637 (package
7638 (name "go-github-com-jackc-pgio")
7639 (version "1.0.0")
7640 (source
7641 (origin
7642 (method git-fetch)
7643 (uri (git-reference
7644 (url "https://github.com/jackc/pgio")
7645 (commit (string-append "v" version))))
7646 (file-name (git-file-name name version))
7647 (sha256
7648 (base32 "0l17gpn11wf6jm5kbfmxh8j00n5zpmwck3wr91f1cv34k4chyvg1"))))
7649 (build-system go-build-system)
7650 (arguments
7651 (list
7652 #:import-path "github.com/jackc/pgio"))
7653 (home-page "https://github.com/jackc/pgio")
7654 (synopsis "Low-level toolkit building messages in the PostgreSQL wire protocol")
7655 (description
7656 "Package pgio is a low-level toolkit building messages in the
7657@code{PostgreSQL} wire protocol.")
7658 (license license:expat)))
7659
7660(define-public go-github-com-jackc-pgpassfile
7661 (package
7662 (name "go-github-com-jackc-pgpassfile")
7663 (version "1.0.0")
7664 (source
7665 (origin
7666 (method git-fetch)
7667 (uri (git-reference
7668 (url "https://github.com/jackc/pgpassfile")
7669 (commit (string-append "v" version))))
7670 (file-name (git-file-name name version))
7671 (sha256
7672 (base32 "1crw06lzksgimbmr1a3sr00azg2v7l4qkvjra1cpmzzq5mncaj8z"))))
7673 (build-system go-build-system)
7674 (arguments
7675 (list
7676 #:import-path "github.com/jackc/pgpassfile"))
7677 (native-inputs (list go-github-com-stretchr-testify))
7678 (home-page "https://github.com/jackc/pgpassfile")
7679 (synopsis "PostgreSQL .pgpass files parser")
7680 (description
7681 "Package pgpassfile is a parser @code{PostgreSQL} .pgpass files.")
7682 (license license:expat)))
7683
7684(define-public go-github-com-jackc-pgproto3
7685 (package
7686 (name "go-github-com-jackc-pgproto3")
7687 (version "1.1.0")
7688 (source
7689 (origin
7690 (method git-fetch)
7691 (uri (git-reference
7692 (url "https://github.com/jackc/pgproto3")
7693 (commit (string-append "v" version))))
7694 (file-name (git-file-name name version))
7695 (sha256
7696 (base32 "03vpkqa6j4sanmsj7q13fb6yamspszfv38sr28d40g887bcwf0j8"))))
7697 (build-system go-build-system)
7698 (arguments
7699 (list
7700 #:import-path "github.com/jackc/pgproto3"))
7701 (propagated-inputs
7702 (list go-github-com-jackc-chunkreader
7703 go-github-com-jackc-pgio
7704 go-github-com-pkg-errors))
7705 (home-page "https://github.com/jackc/pgproto3")
7706 (synopsis "Encoder and decoder of the PostgreSQL wire protocol version 3")
7707 (description
7708 "This package provides a encoder and decoder of the @code{PostgreSQL}
7709wire protocol version 3.")
7710 (license license:expat)))
7711
7712(define-public go-github-com-jackc-pgproto3-v2
7713 (package
7714 (inherit go-github-com-jackc-pgproto3)
7715 (name "go-github-com-jackc-pgproto3-v2")
7716 (version "2.3.3")
7717 (source
7718 (origin
7719 (method git-fetch)
7720 (uri (git-reference
7721 (url "https://github.com/jackc/pgproto3")
7722 (commit (string-append "v" version))))
7723 (file-name (git-file-name name version))
7724 (sha256
7725 (base32 "1bmj1bqnn5863178a0k8m3f9xv48zs10z96dm2rl28ybx33d2l77"))))
7726 (arguments
7727 (list
7728 #:import-path "github.com/jackc/pgproto3/v2"))
7729 (native-inputs
7730 (list go-github-com-stretchr-testify))
7731 (propagated-inputs
7732 (list go-github-com-jackc-chunkreader-v2
7733 go-github-com-jackc-pgio))))
7734
7735(define-public go-github-com-jackc-pgservicefile
7736 (package
7737 (name "go-github-com-jackc-pgservicefile")
7738 (version "0.0.0-20240606120523-5a60cdf6a761")
7739 (source
7740 (origin
7741 (method git-fetch)
7742 (uri (git-reference
7743 (url "https://github.com/jackc/pgservicefile")
7744 (commit (go-version->git-ref version))))
7745 (file-name (git-file-name name version))
7746 (sha256
7747 (base32 "0z8ndfdxx5r4dpjbjn9caq9w56lrzwm6nh8jwwk0gnq0n2q4cfhi"))))
7748 (build-system go-build-system)
7749 (arguments
7750 (list
7751 #:import-path "github.com/jackc/pgservicefile"))
7752 (native-inputs (list go-github-com-stretchr-testify))
7753 (home-page "https://github.com/jackc/pgservicefile")
7754 (synopsis "Parser PostgreSQL for service files")
7755 (description
7756 "Package pgservicefile is a parser for @code{PostgreSQL} service
7757files (e.g. .pg_service.conf).")
7758 (license license:expat)))
7759
7760(define-public go-github-com-jackc-pgtype
7761 (package
7762 (name "go-github-com-jackc-pgtype")
7763 (version "1.14.4")
7764 (source
7765 (origin
7766 (method git-fetch)
7767 (uri (git-reference
7768 (url "https://github.com/jackc/pgtype")
7769 (commit (string-append "v" version))))
7770 (file-name (git-file-name name version))
7771 (sha256
7772 (base32 "04yd3b1c1qph6g1giskmm49c9hk0scagfqd08bhj1pprvp9jmn2f"))))
7773 (build-system go-build-system)
7774 (arguments
7775 (list
7776 #:tests? #f ; test require running PostgreSQL
7777 #:import-path "github.com/jackc/pgtype"))
7778 (native-inputs
7779 (list go-github-com-stretchr-testify))
7780 (propagated-inputs
7781 (list go-github-com-gofrs-uuid
7782 go-github-com-jackc-pgconn
7783 go-github-com-jackc-pgio
7784 go-github-com-jackc-pgx-v4-bootstrap
7785 go-github-com-lib-pq
7786 go-github-com-shopspring-decimal))
7787 (home-page "https://github.com/jackc/pgtype")
7788 (synopsis "PostgreSQL types implementations in Golang")
7789 (description
7790 "This package implements Go types for over 70 PostgreSQL types. It is
7791the type system underlying the https://github.com/jackc/pgx PostgreSQL driver.
7792These types support the binary format for enhanced performance with pgx. They
7793also support the database/sql @code{Scan} and @code{Value} interfaces and can
7794be used with https://github.com/lib/pq.")
7795 (license license:expat)))
7796
7797(define-public go-github-com-jackc-pgtype-bootstrap
7798 (hidden-package
7799 (package
7800 (inherit go-github-com-jackc-pgtype)
7801 (arguments
7802 (list #:tests? #f
7803 #:import-path "github.com/jackc/pgtype"
7804 #:phases
7805 #~(modify-phases %standard-phases
7806 (delete 'build))))
7807 (native-inputs '())
7808 (propagated-inputs '()))))
7809
7810(define-public go-github-com-jackc-pgx
7811 (package
7812 (name "go-github-com-jackc-pgx")
7813 (version "3.6.2")
7814 (source
7815 (origin
7816 (method git-fetch)
7817 (uri (git-reference
7818 (url "https://github.com/jackc/pgx")
7819 (commit (string-append "v" version))))
7820 (file-name (git-file-name name version))
7821 (sha256
7822 (base32 "0hbnh69ss0pq83n18b62znj3qi54y9kr31a3xi9h35p27nsk3izf"))))
7823 (build-system go-build-system)
7824 (arguments
7825 (list
7826 #:import-path "github.com/jackc/pgx"
7827 #:test-subdirs
7828 #~(list ;; "pgtype/..." ; most tests require networking setup
7829 ;; "stdlib"
7830 ;; "." ; github.com/jackc/pgx [build failed]
7831 "chunkreader"
7832 "internal/sanitize"
7833 "log/..."
7834 "pgio"
7835 "pgproto3")
7836 #:phases
7837 #~(modify-phases %standard-phases
7838 (add-after 'unpack 'remove-examples-and-benchmarks
7839 (lambda* (#:key tests? import-path #:allow-other-keys)
7840 (with-directory-excursion (string-append "src/" import-path)
7841 (delete-file-recursively "examples")))))))
7842 (native-inputs
7843 (list go-github-com-cockroachdb-apd
7844 go-github-com-jackc-fake))
7845 (propagated-inputs
7846 (list go-github-com-gofrs-uuid
7847 go-github-com-lib-pq
7848 go-github-com-rs-zerolog
7849 go-github-com-satori-go-uuid
7850 go-github-com-shopspring-decimal
7851 go-github-com-sirupsen-logrus
7852 go-go-uber-org-zap))
7853 (home-page "https://github.com/jackc/pgx")
7854 (synopsis "PostgreSQL driver and toolkit for Golang")
7855 (description
7856 "This package implements a pure Go driver and toolkit for PostgreSQL. It
7857is different from other drivers such as
7858@url{http://godoc.org/github.com/lib/pq,pq} because, while it can operate as a
7859database/sql compatible driver, pgx is also usable directly. It offers a
7860native interface similar to database/sql that offers better performance and
7861more features.")
7862 (license license:expat)))
7863
7864(define-public go-github-com-jackc-pgx-v4
7865 (package
7866 (inherit go-github-com-jackc-pgx)
7867 (name "go-github-com-jackc-pgx-v4")
7868 (version "4.18.3")
7869 (source
7870 (origin
7871 (method git-fetch)
7872 (uri (git-reference
7873 (url "https://github.com/jackc/pgx")
7874 (commit (string-append "v" version))))
7875 (file-name (git-file-name name version))
7876 (sha256
7877 (base32 "0xxvkgngl8c73zg06xdm5sqvck6yvrvjpzidpmsaah1az0lh1lay"))))
7878 (arguments
7879 (substitute-keyword-arguments
7880 (package-arguments go-github-com-jackc-pgx)
7881 ((#:import-path _) "github.com/jackc/pgx/v4")
7882 ((#:test-subdirs _) #~(list "internal/sanitize" "log/..."))))
7883 (native-inputs
7884 (list go-github-com-stretchr-testify))
7885 (propagated-inputs
7886 (list go-github-com-cockroachdb-apd
7887 go-github-com-go-kit-log
7888 go-github-com-gofrs-uuid
7889 go-github-com-jackc-pgconn
7890 go-github-com-jackc-pgio
7891 go-github-com-jackc-pgproto3-v2
7892 go-github-com-jackc-pgtype-bootstrap
7893 go-github-com-jackc-puddle
7894 go-github-com-masterminds-semver-v3
7895 go-github-com-rs-zerolog
7896 go-github-com-shopspring-decimal
7897 go-github-com-sirupsen-logrus
7898 go-go-uber-org-zap
7899 go-gopkg-in-inconshreveable-log15-v2))))
7900
7901(define-public go-github-com-jackc-pgx-v4-bootstrap
7902 (hidden-package
7903 (package
7904 (inherit go-github-com-jackc-pgx-v4)
7905 (arguments
7906 (list #:tests? #f
7907 #:import-path "github.com/jackc/pgx/v4"
7908 #:phases
7909 #~(modify-phases %standard-phases
7910 (delete 'build))))
7911 (native-inputs '())
7912 (propagated-inputs '()))))
7913
7914(define-public go-github-com-jackc-pgx-v5
7915 (package
7916 (inherit go-github-com-jackc-pgx-v4)
7917 (name "go-github-com-jackc-pgx-v5")
7918 (version "5.7.1")
7919 (source
7920 (origin
7921 (method git-fetch)
7922 (uri (git-reference
7923 (url "https://github.com/jackc/pgx")
7924 (commit (string-append "v" version))))
7925 (file-name (git-file-name name version))
7926 (sha256
7927 (base32 "0b8wgqax34q77m4pmaaqlp9dr1x9mam76jx7ah1sxdldl737rv27"))))
7928 (build-system go-build-system)
7929 (arguments
7930 (substitute-keyword-arguments
7931 (package-arguments go-github-com-jackc-pgx-v4)
7932 ((#:import-path _) "github.com/jackc/pgx/v5")
7933 ((#:test-subdirs _)
7934 #~(list "internal/..."
7935 "log/..."
7936 "multitracer"))))
7937 (propagated-inputs
7938 (list go-github-com-jackc-pgpassfile
7939 go-github-com-jackc-pgservicefile
7940 go-github-com-jackc-puddle-v2
7941 go-golang-org-x-crypto
7942 go-golang-org-x-sync
7943 go-golang-org-x-text))))
7944
7945(define-public go-github-com-jackc-puddle
7946 (package
7947 (name "go-github-com-jackc-puddle")
7948 (version "1.3.0")
7949 (source
7950 (origin
7951 (method git-fetch)
7952 (uri (git-reference
7953 (url "https://github.com/jackc/puddle")
7954 (commit (string-append "v" version))))
7955 (file-name (git-file-name name version))
7956 (sha256
7957 (base32 "0382q7xjdw5wx6174i2sf4gnc5ppgj9snvrvh3rcnwg02yd0np38"))))
7958 (build-system go-build-system)
7959 (arguments
7960 (list
7961 #:import-path "github.com/jackc/puddle"))
7962 (native-inputs (list go-github-com-stretchr-testify))
7963 (home-page "https://github.com/jackc/puddle")
7964 (synopsis "Generic resource pool for Golang")
7965 (description
7966 "Puddle is a tiny generic resource pool library hat uses the standard
7967context library to signal cancellation of acquires. It is designed to contain
7968the minimum functionality required for a resource pool. It can be used
7969directly or it can be used as the base for a domain specific resource pool.
7970For example, a database connection pool may use puddle internally and
7971implement health checks and keep-alive behavior without needing to implement
7972any concurrent code of its own.")
7973 (license license:expat)))
7974
7975(define-public go-github-com-jackc-puddle-v2
7976 (package
7977 (inherit go-github-com-jackc-puddle)
7978 (name "go-github-com-jackc-puddle-v2")
7979 (version "2.2.2")
7980 (source
7981 (origin
7982 (method git-fetch)
7983 (uri (git-reference
7984 (url "https://github.com/jackc/puddle")
7985 (commit (string-append "v" version))))
7986 (file-name (git-file-name name version))
7987 (sha256
7988 (base32 "0agbk4nnja0fahi8mjp1y5ac9vjsjhldjwx9zshw0zjqhaxmsk11"))))
7989 (arguments
7990 (list
7991 #:import-path "github.com/jackc/puddle/v2"))
7992 (propagated-inputs
7993 (list go-golang-org-x-sync))))
7994
7995(define-public go-github-com-jacobsa-fuse
7996 (package
7997 (name "go-github-com-jacobsa-fuse")
7998 (version "0.0.0-20241025064006-8ccd61173b05")
7999 (source
8000 (origin
8001 (method git-fetch)
8002 (uri (git-reference
8003 (url "https://github.com/jacobsa/fuse")
8004 (commit (go-version->git-ref version))))
8005 (file-name (git-file-name name version))
8006 (sha256
8007 (base32 "0zf9fhv5j0pffmp4c0zba58627lb6cwr2qxjsa3dwba9b8fiz7sf"))))
8008 (build-system go-build-system)
8009 (arguments
8010 (list
8011 #:tests? #f ; requires fusermount
8012 #:import-path "github.com/jacobsa/fuse"))
8013 (native-inputs
8014 (list go-github-com-detailyang-go-fallocate
8015 go-github-com-jacobsa-ogletest
8016 go-github-com-kylelemons-godebug))
8017 (propagated-inputs
8018 (list go-github-com-jacobsa-oglematchers
8019 go-github-com-jacobsa-syncutil
8020 go-github-com-jacobsa-timeutil
8021 go-golang-org-x-net
8022 go-golang-org-x-sys))
8023 (home-page "https://github.com/jacobsa/fuse")
8024 (synopsis "FUSE file system in Golang")
8025 (description
8026 "Package fuse enables writing and mounting user-space file systems.
8027Subpackages:
8028@itemize
8029@item @code{fuse} provides support for mounting a new file system and reading
8030requests from the kernel
8031
8032@item @code{fuseops} enumerates the supported requests from the kernel, and
8033provides documentation on their semantics
8034
8035@item @code{fuseutil}, in particular the @code{FileSystem} interface, provides
8036a convenient way to create a file system type and export it to the kernel via
8037@code{fuse.Mount}.
8038@end itemize")
8039 (license license:asl2.0)))
8040
8041(define-public go-github-com-jacobsa-syncutil
8042 (package
8043 (name "go-github-com-jacobsa-syncutil")
8044 (version "0.0.0-20180201203307-228ac8e5a6c3")
8045 (source
8046 (origin
8047 (method git-fetch)
8048 (uri (git-reference
8049 (url "https://github.com/jacobsa/syncutil")
8050 (commit (go-version->git-ref version))))
8051 (file-name (git-file-name name version))
8052 (sha256
8053 (base32 "0dylp0qaabm8djqmn0qjki3gy9wnq23cbr4k4g63zk4axqgm2ns2"))))
8054 (build-system go-build-system)
8055 (arguments
8056 (list
8057 #:import-path "github.com/jacobsa/syncutil"))
8058 (native-inputs
8059 (list go-github-com-jacobsa-oglematchers
8060 go-github-com-jacobsa-ogletest))
8061 (propagated-inputs
8062 (list go-golang-org-x-net))
8063 (home-page "https://github.com/jacobsa/syncutil")
8064 (synopsis "Code supplementing Go's sync package")
8065 (description
8066 "This package contains code that supplements the
8067@url{http://godoc.org/sync,sync} package from the Go standard library.
8068
8069In particular:
8070@itemize
8071@item Bundle, which makes it easy to write code that spawns multiple
8072cancellation-aware workers that may fail
8073@item invariantMutex, which makes it possible to automatically check your
8074invariants at lock and unlock time
8075@end itemize")
8076 (license license:asl2.0)))
8077
8078(define-public go-github-com-jacobsa-timeutil
8079 (package
8080 (name "go-github-com-jacobsa-timeutil")
8081 (version "0.0.0-20170205232429-577e5acbbcf6")
8082 (source
8083 (origin
8084 (method git-fetch)
8085 (uri (git-reference
8086 (url "https://github.com/jacobsa/timeutil")
8087 (commit (go-version->git-ref version))))
8088 (file-name (git-file-name name version))
8089 (sha256
8090 (base32 "0vp6ngfyw3z3n7fzqpijqh26mnwnhapy5x4kzly1qb8gmv15a8xb"))))
8091 (build-system go-build-system)
8092 (arguments
8093 (list
8094 #:import-path "github.com/jacobsa/timeutil"))
8095 (native-inputs
8096 (list go-github-com-jacobsa-oglematchers
8097 go-github-com-jacobsa-ogletest))
8098 (home-page "https://github.com/jacobsa/timeutil")
8099 (synopsis "Code supplementing Go's time package")
8100 (description
8101 "This package contains code that supplements the
8102@url{http://godoc.org/time, time} package from the Go standard library.
8103
8104In particular:
8105@itemize
8106@item a Clock interface, with a fake implementation that can be used in tests
8107@item implementations of
8108@url{https://godoc.org/github.com/jacobsa/oglematchers#Matcher,
8109oglematchers.Matcher} for time values
8110@end itemize")
8111 (license license:asl2.0)))
8112
8113(define-public go-github-com-jba-templatecheck
8114 (package
8115 (name "go-github-com-jba-templatecheck")
8116 (version "0.7.1")
8117 (source
8118 (origin
8119 (method git-fetch)
8120 (uri (git-reference
8121 (url "https://github.com/jba/templatecheck")
8122 (commit (string-append "v" version))))
8123 (file-name (git-file-name name version))
8124 (sha256
8125 (base32 "03nlpfgjiiqqhf0df6vgvxi7kn58ykh0jhnrffpa32wv2w67ndxz"))))
8126 (build-system go-build-system)
8127 (arguments
8128 (list
8129 #:go go-1.22
8130 #:import-path "github.com/jba/templatecheck"))
8131 (propagated-inputs
8132 (list go-github-com-google-safehtml))
8133 (home-page "https://github.com/jba/templatecheck")
8134 (synopsis "Checks Go templates for problems")
8135 (description
8136 "Package templatecheck checks Go templates for problems. It can detect
8137many errors that are normally caught only during execution. Use templatecheck
8138in tests to find template errors early, and along template execution paths
8139that might only rarely be reached.")
8140 (license license:expat)))
8141
8142(define-public go-github-com-jbenet-go-context
8143 (package
8144 (name "go-github-com-jbenet-go-context")
8145 (version "0.0.0-20150711004518-d14ea06fba99")
8146 (source
8147 (origin
8148 (method git-fetch)
8149 (uri (git-reference
8150 (url "https://github.com/jbenet/go-context")
8151 (commit (go-version->git-ref version))))
8152 (file-name (git-file-name name version))
8153 (sha256
8154 (base32 "0q91f5549n81w3z5927n4a1mdh220bdmgl42zi3h992dcc4ls0sl"))))
8155 (build-system go-build-system)
8156 (arguments
8157 (list
8158 #:import-path "github.com/jbenet/go-context"))
8159 (propagated-inputs
8160 (list go-golang-org-x-net))
8161 (home-page "https://github.com/jbenet/go-context/")
8162 (synopsis "@code{jbenet's} context extensions")
8163 (description
8164 "This package provides @code{jbenet's} context extensions.")
8165 (license license:expat)))
8166
4296(define-public go-github-com-jbenet-go-random 8167(define-public go-github-com-jbenet-go-random
4297 (package 8168 (package
4298 (name "go-github-com-jbenet-go-random") 8169 (name "go-github-com-jbenet-go-random")
@@ -4370,6 +8241,60 @@ more like a Context-WaitGroup hybrid. @code{goprocess} is about being able to s
4370and stop units of work, which may receive @code{Close} signals from many clients.") 8241and stop units of work, which may receive @code{Close} signals from many clients.")
4371 (license license:expat))) 8242 (license license:expat)))
4372 8243
8244(define-public go-github-com-jcmturner-gofork
8245 (package
8246 (name "go-github-com-jcmturner-gofork")
8247 (version "1.7.6")
8248 (source
8249 (origin
8250 (method git-fetch)
8251 (uri (git-reference
8252 (url "https://github.com/jcmturner/gofork")
8253 (commit (string-append "v" version))))
8254 (file-name (git-file-name name version))
8255 (sha256
8256 (base32 "0w1j6b671121r6md5w7hnh2d0sa332pw5q49yihw23wdfinknyin"))))
8257 (build-system go-build-system)
8258 (arguments
8259 (list
8260 #:import-path "github.com/jcmturner/gofork"))
8261 (home-page "https://github.com/jcmturner/gofork")
8262 (synopsis "Modified Go standard library packages")
8263 (description
8264 "This repository contains modified Go standard library packages for use
8265as work arounds until issues are addressed in the official distribution.")
8266 (license license:bsd-3)))
8267
8268(define-public go-github-com-jdkato-go-tree-sitter-julia
8269 (package
8270 (name "go-github-com-jdkato-go-tree-sitter-julia")
8271 (version "0.1.0")
8272 (source
8273 (origin
8274 (method git-fetch)
8275 (uri (git-reference
8276 (url "https://github.com/jdkato/go-tree-sitter-julia")
8277 (commit (string-append "v" version))))
8278 (file-name (git-file-name name version))
8279 (sha256
8280 (base32 "17xr33vvrqsl0v1xzb3ya99anhg5zf04kp6wfk1m3iqi904ff0am"))))
8281 (build-system go-build-system)
8282 (arguments
8283 (list
8284 #:skip-build? #t
8285 #:import-path "github.com/jdkato/go-tree-sitter-julia"))
8286 (propagated-inputs
8287 (list go-github-com-smacker-go-tree-sitter))
8288 (home-page "https://github.com/jdkato/go-tree-sitter-julia")
8289 (synopsis "Julia grammar for tree sitter")
8290 (description
8291 "This package provides a Julia grammar for
8292@url{https://github.com/tree-sitter/tree-sitter, tree-sitter} bindings in
8293Golang.")
8294 ;; It's a component of Vale, written by the same author and does not
8295 ;; provide license.
8296 (license license:unlicense)))
8297
4373(define-public go-github-com-jdkato-twine 8298(define-public go-github-com-jdkato-twine
4374 (package 8299 (package
4375 (name "go-github-com-jdkato-twine") 8300 (name "go-github-com-jdkato-twine")
@@ -4419,6 +8344,68 @@ and stop units of work, which may receive @code{Close} signals from many clients
4419 "NLP-related string utility functions for Golang.") 8344 "NLP-related string utility functions for Golang.")
4420 (license license:expat))) 8345 (license license:expat)))
4421 8346
8347(define-public go-github-com-jedib0t-go-pretty-v6
8348 (package
8349 (name "go-github-com-jedib0t-go-pretty-v6")
8350 (version "6.6.5")
8351 (source
8352 (origin
8353 (method git-fetch)
8354 (uri (git-reference
8355 (url "https://github.com/jedib0t/go-pretty")
8356 (commit (string-append "v" version))))
8357 (file-name (git-file-name name version))
8358 (sha256
8359 (base32 "0sy8fia04lxi07yga7z3h3fp19y4bla5p16v1n7ldip0ymdmvjnx"))))
8360 (build-system go-build-system)
8361 (arguments
8362 (list
8363 #:skip-build? #t
8364 #:import-path "github.com/jedib0t/go-pretty/v6"))
8365 (native-inputs
8366 (list go-github-com-pkg-profile ; for the CLI
8367 go-github-com-stretchr-testify))
8368 (propagated-inputs
8369 (list go-github-com-mattn-go-runewidth
8370 go-golang-org-x-sys
8371 go-golang-org-x-term
8372 go-golang-org-x-text))
8373 (home-page "https://github.com/jedib0t/go-pretty")
8374 (synopsis "Table-writer and more in Golang")
8375 (description
8376 "Utilities to prettify console output of tables, lists, progress-bars,
8377text, etc. with a heavy emphasis on customization.")
8378 (license license:expat)))
8379
8380(define-public go-github-com-jessevdk-go-flags
8381 (package
8382 (name "go-github-com-jessevdk-go-flags")
8383 (version "1.6.1")
8384 (source
8385 (origin
8386 (method git-fetch)
8387 (uri (git-reference
8388 (url "https://github.com/jessevdk/go-flags")
8389 (commit (string-append "v" version))))
8390 (file-name (git-file-name name version))
8391 (sha256
8392 (base32 "1dxk8n06sh15rm7777v5jgwxz9ca1c090ni6lyjhj1d2lxfysb45"))))
8393 (build-system go-build-system)
8394 (arguments
8395 (list
8396 #:import-path "github.com/jessevdk/go-flags"
8397 #:test-flags #~(list "-skip" "TestCompletion|TestParserCompletion")))
8398 (propagated-inputs
8399 (list go-golang-org-x-sys))
8400 (home-page "https://github.com/jessevdk/go-flags")
8401 (synopsis "Go library for parsing command line arguments")
8402 (description
8403 "The @code{flags} package provides a command line option parser. The
8404functionality is similar to the go builtin @code{flag} package, but
8405@code{flags} provides more options and uses reflection to provide a succinct
8406way of specifying command line options.")
8407 (license license:bsd-3)))
8408
4422(define-public go-github-com-jinzhu-copier 8409(define-public go-github-com-jinzhu-copier
4423 (package 8410 (package
4424 (name "go-github-com-jinzhu-copier") 8411 (name "go-github-com-jinzhu-copier")
@@ -4442,6 +8429,83 @@ and stop units of work, which may receive @code{Close} signals from many clients
4442struct to another.") 8429struct to another.")
4443 (license license:expat))) 8430 (license license:expat)))
4444 8431
8432(define-public go-github-com-jmattheis-goverter
8433 (package
8434 (name "go-github-com-jmattheis-goverter")
8435 (version "1.7.0")
8436 (source
8437 (origin
8438 (method git-fetch)
8439 (uri (git-reference
8440 (url "https://github.com/jmattheis/goverter")
8441 (commit (string-append "v" version))))
8442 (file-name (git-file-name name version))
8443 (sha256
8444 (base32 "0ph8470wxpf8p2cdr5w3hkchlgpiyzljlsdna9jvhgw53sf2c32n"))))
8445 (build-system go-build-system)
8446 (arguments
8447 (list
8448 #:import-path "github.com/jmattheis/goverter"
8449 ;; Test requiring compplex set-up, fails during build but passed outside
8450 ;; build-system.
8451 #:test-flags #~(list "-skip" "TestScenario")
8452 #:phases
8453 #~(modify-phases %standard-phases
8454 (add-after 'unpack 'remove-broken-examples
8455 (lambda* (#:key tests? import-path #:allow-other-keys)
8456 (with-directory-excursion (string-append "src/" import-path)
8457 (for-each delete-file-recursively
8458 (list "example/enum/transform-custom"
8459 "example/wrap-errors-using"
8460 "example/protobuf"))))))))
8461 (native-inputs
8462 (list go-github-com-stretchr-testify
8463 go-github-com-goverter-patherr))
8464 (propagated-inputs
8465 (list go-github-com-dave-jennifer
8466 go-golang-org-x-tools
8467 go-gopkg-in-yaml-v3))
8468 (home-page "https://github.com/jmattheis/goverter")
8469 (synopsis "Type-safe Go converters by defining function signatures")
8470 (description
8471 "This package provides a functionality to generate type-safe converters
8472for Go. The project is meant as alternative to
8473@url{https://github.com/jinzhu/copier, jinzhu/copier} that doesn't use
8474reflection.")
8475 (license license:expat)))
8476
8477(define-public go-github-com-jmoiron-sqlx
8478 (package
8479 (name "go-github-com-jmoiron-sqlx")
8480 (version "1.4.0")
8481 (source
8482 (origin
8483 (method git-fetch)
8484 (uri (git-reference
8485 (url "https://github.com/jmoiron/sqlx")
8486 (commit (string-append "v" version))))
8487 (file-name (git-file-name name version))
8488 (sha256
8489 (base32 "10rg9b6cl1j7jjr6z95xa1k45016mhicii3cmz0pkwrxw3dpfzfh"))))
8490 (build-system go-build-system)
8491 (arguments
8492 (list
8493 #:import-path "github.com/jmoiron/sqlx"))
8494 (propagated-inputs
8495 (list go-github-com-go-sql-driver-mysql
8496 go-github-com-lib-pq
8497 go-github-com-mattn-go-sqlite3))
8498 (home-page "https://github.com/jmoiron/sqlx")
8499 (synopsis "General purpose extensions to golang's @code{database/sql}")
8500 (description
8501 "sqlx is a library which provides a set of extensions on go's standard
8502@code{database/sql} library. The sqlx versions of @code{sql.DB},
8503@code{sql.TX}, @code{sql.Stmt}, et al. all leave the underlying interfaces
8504untouched, so that their interfaces are a superset on the standard ones. This
8505makes it relatively painless to integrate existing codebases using
8506database/sql with sqlx.")
8507 (license license:expat)))
8508
4445(define-public go-github-com-johnkerl-lumin 8509(define-public go-github-com-johnkerl-lumin
4446 (package 8510 (package
4447 (name "go-github-com-johnkerl-lumin") 8511 (name "go-github-com-johnkerl-lumin")
@@ -4469,6 +8533,30 @@ just matching lines. This package proviedes a CLI tool and @code{colors}
4469library.") 8533library.")
4470 (license license:bsd-2))) 8534 (license license:bsd-2)))
4471 8535
8536(define-public go-github-com-joho-godotenv
8537 (package
8538 (name "go-github-com-joho-godotenv")
8539 (version "1.5.1")
8540 (source
8541 (origin
8542 (method git-fetch)
8543 (uri (git-reference
8544 (url "https://github.com/joho/godotenv")
8545 (commit (string-append "v" version))))
8546 (file-name (git-file-name name version))
8547 (sha256
8548 (base32 "03vijs05k31jdf24pzj3vlk6b5jxf894v1kvzals4wzclyq2h3ch"))))
8549 (build-system go-build-system)
8550 (arguments
8551 (list
8552 #:import-path "github.com/joho/godotenv"))
8553 (home-page "https://github.com/joho/godotenv")
8554 (synopsis "Golang libary to load environment variables from @code{.env}")
8555 (description
8556 "This package provides a Go port of the Ruby's dotenv library
8557https://github.com/bkeepers/dotenv.")
8558 (license license:expat)))
8559
4472(define-public go-github-com-jonboulle-clockwork 8560(define-public go-github-com-jonboulle-clockwork
4473 (package 8561 (package
4474 (name "go-github-com-jonboulle-clockwork") 8562 (name "go-github-com-jonboulle-clockwork")
@@ -4566,6 +8654,35 @@ called concurrently with themselves and each other.")
4566 "This package is a simple exponential backoff counter in Go.") 8654 "This package is a simple exponential backoff counter in Go.")
4567 (license license:expat)))) 8655 (license license:expat))))
4568 8656
8657(define-public go-github-com-juju-ansiterm
8658 (package
8659 (name "go-github-com-juju-ansiterm")
8660 (version "1.0.0")
8661 (source
8662 (origin
8663 (method git-fetch)
8664 (uri (git-reference
8665 (url "https://github.com/juju/ansiterm")
8666 (commit (string-append "v" version))))
8667 (file-name (git-file-name name version))
8668 (sha256
8669 (base32 "05mk7mlvg11dd6b0j0wlq547ghbmx2ywwrlbcb4kddpg7qaqp1va"))))
8670 (build-system go-build-system)
8671 (arguments
8672 (list
8673 #:import-path "github.com/juju/ansiterm"))
8674 (propagated-inputs
8675 (list go-gopkg-in-check-v1
8676 go-github-com-mattn-go-isatty
8677 go-github-com-mattn-go-colorable
8678 go-github-com-lunixbochs-vtclean))
8679 (home-page "https://github.com/juju/ansiterm")
8680 (synopsis "Writer to output ANSI escape codes for color and styles")
8681 (description
8682 "The ansiterm package provides a writer to output the ANSI escape codes
8683for color and styles.")
8684 (license license:lgpl3)))
8685
4569(define-public go-github-com-k0kubun-go-ansi 8686(define-public go-github-com-k0kubun-go-ansi
4570 (package 8687 (package
4571 (name "go-github-com-k0kubun-go-ansi") 8688 (name "go-github-com-k0kubun-go-ansi")
@@ -4618,6 +8735,83 @@ ansi.")
4618customized globally.") 8735customized globally.")
4619 (license license:expat))) 8736 (license license:expat)))
4620 8737
8738;; Some packages (Yggdrasil) need it to compile it's a tiny package and it's
8739;; easier to bundle it than to patch it out.
8740(define-public go-github-com-kardianos-minwinsvc
8741 (package
8742 (name "go-github-com-kardianos-minwinsvc")
8743 (version "1.0.2")
8744 (source
8745 (origin
8746 (method git-fetch)
8747 (uri (git-reference
8748 (url "https://github.com/kardianos/minwinsvc")
8749 (commit (string-append "v" version))))
8750 (file-name (git-file-name name version))
8751 (sha256
8752 (base32 "02k2vibmm65bzkdjpmllphvq88wwyz3m02lbz8bffcpxjad2453v"))))
8753 (build-system go-build-system)
8754 (arguments
8755 (list
8756 #:import-path "github.com/kardianos/minwinsvc"))
8757 (home-page "https://github.com/kardianos/minwinsvc/")
8758 (synopsis "Minimal windows only service stub for Go")
8759 (description
8760 "Go programs designed to run from most *nix style operating systems can
8761import this package to enable running programs as services without modifying
8762them.")
8763 (license license:zlib)))
8764
8765(define-public go-github-com-kardianos-osext
8766 (package
8767 (name "go-github-com-kardianos-osext")
8768 (version "0.0.0-20190222173326-2bc1f35cddc0")
8769 (source
8770 (origin
8771 (method git-fetch)
8772 (uri (git-reference
8773 (url "https://github.com/kardianos/osext")
8774 (commit (go-version->git-ref version))))
8775 (file-name (git-file-name name version))
8776 (sha256
8777 (base32 "1pvrbrvmrf4mx0fxbfaphbzgqgwn8v6lkfk2vyrs0znxrs1xyc5r"))))
8778 (build-system go-build-system)
8779 (arguments
8780 (list
8781 #:import-path "github.com/kardianos/osext"))
8782 (home-page "https://github.com/kardianos/osext")
8783 (synopsis "Find the running executable")
8784 (description
8785 "Osext provides a method for finding the current executable file that is
8786running. This can be used for upgrading the current executable or finding
8787resources located relative to the executable file.")
8788 (license license:bsd-3)))
8789
8790(define-public go-github-com-kardianos-service
8791 (package
8792 (name "go-github-com-kardianos-service")
8793 (version "1.2.2")
8794 (source
8795 (origin
8796 (method git-fetch)
8797 (uri (git-reference
8798 (url "https://github.com/kardianos/service")
8799 (commit (string-append "v" version))))
8800 (file-name (git-file-name name version))
8801 (sha256
8802 (base32 "1wcrc632nf2l5gzwgjfpx7bh6v4la0qjmaykj58fysabb9fkk9dy"))))
8803 (build-system go-build-system)
8804 (arguments
8805 (list
8806 #:import-path "github.com/kardianos/service"
8807 #:test-flags #~(list "-skip" "TestPlatformName")))
8808 (propagated-inputs (list go-golang-org-x-sys))
8809 (home-page "https://github.com/kardianos/service")
8810 (synopsis "Run go programs as a service")
8811 (description
8812 "This package provides a simple way to create a system service.")
8813 (license license:zlib)))
8814
4621(define-public go-github-com-karrick-godirwalk 8815(define-public go-github-com-karrick-godirwalk
4622 (package 8816 (package
4623 (name "go-github-com-karrick-godirwalk") 8817 (name "go-github-com-karrick-godirwalk")
@@ -4635,12 +8829,95 @@ customized globally.")
4635 (arguments 8829 (arguments
4636 (list 8830 (list
4637 #:import-path "github.com/karrick/godirwalk")) 8831 #:import-path "github.com/karrick/godirwalk"))
8832 ;; To build all examples as a test scenario.
8833 (native-inputs
8834 (list go-github-com-karrick-golf
8835 go-github-com-mattn-go-isatty))
4638 (home-page "https://github.com/karrick/godirwalk") 8836 (home-page "https://github.com/karrick/godirwalk")
4639 (synopsis "Fast directory traversal library for Go") 8837 (synopsis "Fast directory traversal library for Go")
4640 (description 8838 (description
4641 "This package provides functions to read and traverse directory trees.") 8839 "This package provides functions to read and traverse directory trees.")
4642 (license license:bsd-2))) 8840 (license license:bsd-2)))
4643 8841
8842(define-public go-github-com-karrick-golf
8843 (package
8844 (name "go-github-com-karrick-golf")
8845 (version "1.7.0")
8846 (source
8847 (origin
8848 (method git-fetch)
8849 (uri (git-reference
8850 (url "https://github.com/karrick/golf")
8851 (commit (string-append "v" version))))
8852 (file-name (git-file-name name version))
8853 (sha256
8854 (base32 "0iskalk32zqiwwrfmi9lcd1s69xgn3yl056xcm5q4y5znbs96fac"))))
8855 (build-system go-build-system)
8856 (arguments
8857 (list
8858 #:import-path "github.com/karrick/golf"
8859 #:phases
8860 #~(modify-phases %standard-phases
8861 (add-after 'unpack 'remove-examples
8862 (lambda* (#:key import-path #:allow-other-keys)
8863 (with-directory-excursion (string-append "src/" import-path)
8864 (delete-file-recursively "example")))))))
8865 (home-page "https://github.com/karrick/golf")
8866 (synopsis "Light-weight long and short command line option parser")
8867 (description
8868 "Go long flag: a light-weight long and short command line option parser.")
8869 (license license:bsd-3)))
8870
8871(define-public go-github-com-kataras-golog
8872 (package
8873 (name "go-github-com-kataras-golog")
8874 (version "0.1.12")
8875 (source
8876 (origin
8877 (method git-fetch)
8878 (uri (git-reference
8879 (url "https://github.com/kataras/golog")
8880 (commit (string-append "v" version))))
8881 (file-name (git-file-name name version))
8882 (sha256
8883 (base32 "1szibhgxmkd52gz6i77p3fwlxqyidj7l5vf59pjl5bjy8ggv0kpv"))))
8884 (build-system go-build-system)
8885 (arguments
8886 (list
8887 #:import-path "github.com/kataras/golog"))
8888 (propagated-inputs
8889 (list go-github-com-kataras-pio))
8890 (home-page "https://github.com/kataras/golog")
8891 (synopsis "Logging foundation for Go applications")
8892 (description
8893 "GoLog is a level-based logger written in Go.")
8894 (license license:bsd-3)))
8895
8896(define-public go-github-com-kataras-pio
8897 (package
8898 (name "go-github-com-kataras-pio")
8899 (version "0.0.13")
8900 (source
8901 (origin
8902 (method git-fetch)
8903 (uri (git-reference
8904 (url "https://github.com/kataras/pio")
8905 (commit (string-append "v" version))))
8906 (file-name (git-file-name name version))
8907 (sha256
8908 (base32 "1z0fkhs6amnkvb02519pfxy2x2r5sfmvdzxfi31ipa17m98pk3bq"))))
8909 (build-system go-build-system)
8910 (arguments
8911 (list
8912 #:import-path "github.com/kataras/pio"))
8913 (home-page "https://github.com/kataras/pio")
8914 (synopsis "Pill for Input/Output")
8915 (description
8916 "PIO is a low-level package that provides a way to centralize different
8917output targets. Supports colors and text decoration to all popular
8918terminals.")
8919 (license license:bsd-3)))
8920
4644(define-public go-github-com-kballard-go-shellquote 8921(define-public go-github-com-kballard-go-shellquote
4645 ;; No release, see <https://github.com/kballard/go-shellquote/issues/13>. 8922 ;; No release, see <https://github.com/kballard/go-shellquote/issues/13>.
4646 (let ((commit "95032a82bc518f77982ea72343cc1ade730072f0") 8923 (let ((commit "95032a82bc518f77982ea72343cc1ade730072f0")
@@ -4668,6 +8945,122 @@ word-splitting rules.")
4668 (home-page "https://github.com/kballard/go-shellquote") 8945 (home-page "https://github.com/kballard/go-shellquote")
4669 (license license:expat)))) 8946 (license license:expat))))
4670 8947
8948(define-public go-github-com-kevinburke-ssh-config
8949 (package
8950 (name "go-github-com-kevinburke-ssh-config")
8951 (version "1.2.0")
8952 (source
8953 (origin
8954 (method git-fetch)
8955 (uri (git-reference
8956 (url "https://github.com/kevinburke/ssh_config")
8957 (commit (string-append "v" version))))
8958 (file-name (git-file-name name version))
8959 (sha256
8960 (base32 "0jvv3i0g8ll210xlbxy8ywj09gab0im676rmnywh3wlpdhxdkbjd"))))
8961 (arguments
8962 (list
8963 #:import-path "github.com/kevinburke/ssh_config"))
8964 (build-system go-build-system)
8965 (home-page "https://github.com/kevinburke/ssh_config/")
8966 (synopsis "Parser for @file{ssh_config} files")
8967 (description
8968 "This is a Go parser for @file{ssh_config} files. Importantly, this
8969parser attempts to preserve comments in a given file, so you can manipulate a
8970@file{ssh_config} file from a program.")
8971 (license license:expat)))
8972
8973(define-public go-github-com-keybase-dbus
8974 (package
8975 (name "go-github-com-keybase-dbus")
8976 (version "0.0.0-20220506165403-5aa21ea2c23a")
8977 (source
8978 (origin
8979 (method git-fetch)
8980 (uri (git-reference
8981 (url "https://github.com/keybase/dbus")
8982 (commit (go-version->git-ref version))))
8983 (file-name (git-file-name name version))
8984 (sha256
8985 (base32 "0ihicxqq685jy47dw522b5c7b8vcikay0xph6y55jcas3m3zj1lj"))))
8986 (build-system go-build-system)
8987 (arguments
8988 (list
8989 #:tests? #f; tests require running D-bus
8990 #:import-path "github.com/keybase/dbus"))
8991 (home-page "https://github.com/keybase/dbus")
8992 (synopsis "Native Go bindings for D-Bus")
8993 (description
8994 "Package dbus implements bindings to the D-Bus message bus system.
8995Features:
8996@itemize
8997@item complete native implementation of the D-Bus message protocol
8998@item go-like API (channels for signals / asynchronous method calls,
8999Goroutine-safe connections)
9000@item subpackages that help with the introspection / property interfaces
9001@end itemize")
9002 (license license:bsd-2)))
9003
9004(define-public go-github-com-keybase-go-ps
9005 (package
9006 (name "go-github-com-keybase-go-ps")
9007 (version "0.0.0-20190827175125-91aafc93ba19")
9008 (source
9009 (origin
9010 (method git-fetch)
9011 (uri
9012 (git-reference
9013 (url "https://github.com/keybase/go-ps")
9014 (commit (go-version->git-ref version))))
9015 (file-name (git-file-name name version))
9016 (sha256
9017 (base32 "1la7m9pd1rrij727g34k9d2iapqwrkwdkqwpkbsbcq8ig0fg634h"))))
9018 (build-system go-build-system)
9019 (arguments
9020 (list
9021 #:import-path "github.com/keybase/go-ps"
9022 #:phases
9023 #~(modify-phases %standard-phases
9024 (add-after 'unpack 'fix-tests
9025 (lambda* (#:key import-path #:allow-other-keys)
9026 (with-directory-excursion (string-append "src/" import-path)
9027 (substitute* (find-files "." "test\\.go")
9028 (("/bin/sleep") (which "sleep")))
9029 (substitute* "process_openbsd.go"
9030 (("^// \\+build ignore") ""))))))))
9031 (native-inputs
9032 (list go-github-com-stretchr-testify))
9033 (home-page "https://github.com/keybase/go-ps")
9034 (synopsis "Process list library for Go")
9035 (description
9036 "Go-Ps is a library for Go that implements OS-specific APIs to list and
9037manipulate processes in a safe way.")
9038 (license license:expat)))
9039
9040(define-public go-github-com-klauspost-asmfmt
9041 (package
9042 (name "go-github-com-klauspost-asmfmt")
9043 (version "1.3.2")
9044 (source
9045 (origin
9046 (method git-fetch)
9047 (uri (git-reference
9048 (url "https://github.com/klauspost/asmfmt")
9049 (commit (string-append "v" version))))
9050 (file-name (git-file-name name version))
9051 (sha256
9052 (base32 "01qas9x9qb0s1aiq0235p8hvvqqn76ff0cs4cg71paxcy6l1a4k3"))))
9053 (build-system go-build-system)
9054 (arguments
9055 (list
9056 #:import-path "github.com/klauspost/asmfmt"))
9057 (home-page "https://github.com/klauspost/asmfmt")
9058 (synopsis "Go Assembler Formatter")
9059 (description
9060 "This package implements functionality to format Assembler code the same
9061way that @code{gofmt} formats Go code.")
9062 (license license:expat)))
9063
4671(define-public go-github-com-klauspost-cpuid 9064(define-public go-github-com-klauspost-cpuid
4672 (package 9065 (package
4673 (name "go-github-com-klauspost-cpuid") 9066 (name "go-github-com-klauspost-cpuid")
@@ -4713,6 +9106,165 @@ very eas to use.")
4713 (list 9106 (list
4714 #:import-path "github.com/klauspost/cpuid/v2")))) 9107 #:import-path "github.com/klauspost/cpuid/v2"))))
4715 9108
9109(define-public go-github-com-klauspost-reedsolomon
9110 (package
9111 (name "go-github-com-klauspost-reedsolomon")
9112 (version "1.12.4")
9113 (source
9114 (origin
9115 (method git-fetch)
9116 (uri (git-reference
9117 (url "https://github.com/klauspost/reedsolomon")
9118 (commit (string-append "v" version))))
9119 (file-name (git-file-name name version))
9120 (sha256
9121 (base32 "04j6arqk9pisn3yjr9k90nmfs51fh5i7firl7lzs3x98d84qq5lv"))))
9122 (build-system go-build-system)
9123 (arguments
9124 (list
9125 #:import-path "github.com/klauspost/reedsolomon"
9126 #:test-flags #~(list "-short")
9127 #:phases
9128 #~(modify-phases %standard-phases
9129 (add-after 'unpack 'remove-examples-and-benchmarks
9130 (lambda* (#:key tests? import-path #:allow-other-keys)
9131 (with-directory-excursion (string-append "src/" import-path)
9132 (delete-file-recursively "benchmark")
9133 (delete-file-recursively "examples"))))
9134 (add-before 'build 'go-generate
9135 (lambda* (#:key import-path #:allow-other-keys)
9136 (with-directory-excursion (string-append "src/" import-path)
9137 (invoke "go" "generate" "-v" "-n" "_gen")))))))
9138 (propagated-inputs (list go-github-com-klauspost-cpuid-v2))
9139 (home-page "https://github.com/klauspost/reedsolomon")
9140 (synopsis "Reed-Solomon algorithm implementation in Golang")
9141 (description
9142 "Package reedsolomon enables
9143@url{https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction,
9144Erasure Coding}. It's a Go port of the
9145@url{https://github.com/Backblaze/JavaReedSolomon, JavaReedSolomon}.
9146
9147For encoding high shard counts (>256) a Leopard implementation is used. For
9148most platforms this performs close to the original Leopard implementation in
9149terms of speed.")
9150 (license license:expat)))
9151
9152(define-public go-github-com-kljensen-snowball
9153 (package
9154 (name "go-github-com-kljensen-snowball")
9155 (version "0.10.0")
9156 (source
9157 (origin
9158 (method git-fetch)
9159 (uri (git-reference
9160 (url "https://github.com/kljensen/snowball")
9161 (commit (string-append "v" version))))
9162 (file-name (git-file-name name version))
9163 (sha256
9164 (base32 "0ldc8hw13jwffhfac3w19033rxg8042jpwnw16l5mnwc0rg8b23l"))))
9165 (build-system go-build-system)
9166 (arguments
9167 (list
9168 #:import-path "github.com/kljensen/snowball"))
9169 (home-page "https://github.com/kljensen/snowball")
9170 (synopsis "Go implementation of the Snowball stemmers")
9171 (description
9172 "This package provides a implementation of the
9173@url{http://snowball.tartarus.org/, Snowball stemmer} for natural language
9174processing.")
9175 (license license:expat)))
9176
9177(define-public go-github-com-knz-go-libedit
9178 (package
9179 (name "go-github-com-knz-go-libedit")
9180 (version "1.10.1")
9181 (source
9182 (origin
9183 (method git-fetch)
9184 (uri (git-reference
9185 (url "https://github.com/knz/go-libedit")
9186 (commit (string-append "v" version))))
9187 (file-name (git-file-name name version))
9188 (sha256
9189 (base32 "04a5ryzldsk7agybcz4rpd7g1v5vh7smawlky58bwj0341083p44"))))
9190 (build-system go-build-system)
9191 (arguments
9192 (list
9193 #:import-path "github.com/knz/go-libedit"
9194 #:phases
9195 #~(modify-phases %standard-phases
9196 ;; These steps are taken from the project's README.
9197 (add-after 'unpack 'use-system-wide-libedit
9198 (lambda* (#:key tests? import-path #:allow-other-keys)
9199 (with-directory-excursion (string-append "src/" import-path)
9200 (substitute* "unix/editline_unix.go"
9201 ((".*#cgo linux CFLAGS.*") "")
9202 (("#cgo linux CPPFLAGS.*")
9203 (string-append "#cgo linux CPPFLAGS: -I"
9204 #$(this-package-input "libedit")
9205 "/include -Ishim\n"))
9206 (("#cgo linux LDFLAGS.*") "#cgo linux LDFLAGS: -ledit\n"))))))))
9207 (inputs
9208 (list libedit))
9209 (home-page "https://github.com/knz/go-libedit")
9210 (synopsis "Go wrapper around @code{libedit}")
9211 (description
9212 "This packae provides a wrapper around @code{libedit} for Golang.")
9213 (license license:asl2.0)))
9214
9215(define-public go-github-com-knz-lipgloss-convert
9216 (package
9217 (name "go-github-com-knz-lipgloss-convert")
9218 (version "0.2.0")
9219 (source
9220 (origin
9221 (method git-fetch)
9222 (uri (git-reference
9223 (url "https://github.com/knz/lipgloss-convert")
9224 (commit (string-append "v" version))))
9225 (file-name (git-file-name name version))
9226 (sha256
9227 (base32 "1x9p89jfafkvsz3rrk856bniwcxlj8b1bhi0ixyngh620mx4h0cq"))))
9228 (build-system go-build-system)
9229 (arguments
9230 (list
9231 #:import-path "github.com/knz/lipgloss-convert"
9232 #:test-flags #~(list "-skip" "TestExport/full")))
9233 (propagated-inputs
9234 (list go-github-com-charmbracelet-lipgloss
9235 go-github-com-kr-pretty
9236 go-github-com-pmezard-go-difflib))
9237 (home-page "https://github.com/knz/lipgloss-convert")
9238 (synopsis "String conversion functions for lipgloss Styles")
9239 (description
9240 "String conversion functions for
9241@url{https://github.com/charmbracelet/lipgloss, lipgloss} Styles.")
9242 (license license:asl2.0)))
9243
9244(define-public go-github-com-kortschak-utter
9245 (package
9246 (name "go-github-com-kortschak-utter")
9247 (version "1.7.0")
9248 (source
9249 (origin
9250 (method git-fetch)
9251 (uri (git-reference
9252 (url "https://github.com/kortschak/utter")
9253 (commit (string-append "v" version))))
9254 (file-name (git-file-name name version))
9255 (sha256
9256 (base32 "1pycm9kkfwpxz10v6f3w0478qy66bzaginr94rnmnnz7kp40fa00"))))
9257 (build-system go-build-system)
9258 (arguments
9259 (list
9260 #:import-path "github.com/kortschak/utter"))
9261 (home-page "https://github.com/kortschak/utter")
9262 (synopsis "Deep pretty printer")
9263 (description
9264 "This package implements a deep pretty printer for Go data structures to
9265aid data snapshotting.")
9266 (license license:isc)))
9267
4716(define-public go-github-com-kpango-glg 9268(define-public go-github-com-kpango-glg
4717 (package 9269 (package
4718 (name "go-github-com-kpango-glg") 9270 (name "go-github-com-kpango-glg")
@@ -4765,6 +9317,33 @@ very eas to use.")
4765allocation. @code{fastime} is returning the approximate time.") 9317allocation. @code{fastime} is returning the approximate time.")
4766 (license license:expat))) 9318 (license license:expat)))
4767 9319
9320(define-public go-github-com-kr-fs
9321 (let ((commit "1455def202f6e05b95cc7bfc7e8ae67ae5141eba")
9322 (revision "0"))
9323 (package
9324 (name "go-github-com-kr-fs")
9325 (version (git-version "0.1.0" revision commit))
9326 (source
9327 (origin
9328 (method git-fetch)
9329 (uri (git-reference
9330 (url "https://github.com/kr/fs")
9331 (commit commit)))
9332 (file-name (git-file-name name version))
9333 (sha256
9334 (base32
9335 "11zg176x9hr9q7fsk95r6q0wf214gg4czy02slax4x56n79g6a7q"))))
9336 (build-system go-build-system)
9337 (arguments
9338 (list
9339 #:import-path "github.com/kr/fs"
9340 #:test-flags #~(list "-skip" "TestBug3486")))
9341 (home-page "https://github.com/kr/fs")
9342 (synopsis "File-system-related functions for Go")
9343 (description
9344 "The fs package provides file-system-related Go functions.")
9345 (license license:bsd-3))))
9346
4768(define-public go-github-com-kr-pretty 9347(define-public go-github-com-kr-pretty
4769 (package 9348 (package
4770 (name "go-github-com-kr-pretty") 9349 (name "go-github-com-kr-pretty")
@@ -4790,6 +9369,211 @@ allocation. @code{fastime} is returning the approximate time.")
4790 "This package provides a pretty printer for Go values.") 9369 "This package provides a pretty printer for Go values.")
4791 (license license:expat))) 9370 (license license:expat)))
4792 9371
9372(define-public go-github-com-kr-text
9373 (package
9374 (name "go-github-com-kr-text")
9375 (version "0.2.0")
9376 (source
9377 (origin
9378 (method git-fetch)
9379 (uri (git-reference
9380 (url "https://github.com/kr/text")
9381 (commit (string-append "v" version))))
9382 (file-name (git-file-name name version))
9383 (sha256
9384 (base32 "0hf58ypz6rxsw6nx3i856whir9lvy4sdx946wbw1nfaf2rdmr9vx"))))
9385 (build-system go-build-system)
9386 (arguments
9387 (list
9388 #:import-path "github.com/kr/text"))
9389 (propagated-inputs
9390 (list go-github-com-creack-pty))
9391 (home-page "https://github.com/kr/text")
9392 (synopsis "Text formatting in Go")
9393 (description "This package provides a text formatting functions in Go.")
9394 (license license:expat)))
9395
9396(define-public go-github-com-kylelemons-godebug
9397 (package
9398 (name "go-github-com-kylelemons-godebug")
9399 (version "1.1.0")
9400 (source
9401 (origin
9402 (method git-fetch)
9403 (uri (git-reference
9404 (url "https://github.com/kylelemons/godebug")
9405 (commit (string-append "v" version))))
9406 (file-name (git-file-name name version))
9407 (sha256
9408 (base32 "0dkk3friykg8p6wgqryx6745ahhb9z1j740k7px9dac6v5xjp78c"))))
9409 (build-system go-build-system)
9410 (arguments
9411 (list
9412 #:skip-build? #t
9413 #:import-path "github.com/kylelemons/godebug"))
9414 (home-page "https://github.com/kylelemons/godebug")
9415 (synopsis "Pretty printer for Go values")
9416 (description
9417 "This package will pretty print a compact representation of a Go data
9418structure. It can also produce a much more verbose, one-item-per-line
9419representation suitable for computing diffs.")
9420 (license license:asl2.0)))
9421
9422(define-public go-github-com-labstack-gommon
9423 (package
9424 (name "go-github-com-labstack-gommon")
9425 (version "0.4.2")
9426 (source
9427 (origin
9428 (method git-fetch)
9429 (uri (git-reference
9430 (url "https://github.com/labstack/gommon")
9431 (commit (string-append "v" version))))
9432 (file-name (git-file-name name version))
9433 (sha256
9434 (base32 "05mafzmx050hc3js3i0h05ga81kk3hhhlv395xwzv9n38h27xpnz"))))
9435 (build-system go-build-system)
9436 (arguments
9437 (list
9438 #:import-path "github.com/labstack/gommon"))
9439 (native-inputs
9440 (list go-github-com-stretchr-testify))
9441 (propagated-inputs
9442 (list go-github-com-mattn-go-colorable
9443 go-github-com-mattn-go-isatty
9444 go-github-com-valyala-fasttemplate))
9445 (home-page "https://github.com/labstack/gommon")
9446 (synopsis "Common libraries for Go")
9447 (description
9448 "This package provides functionlaity for common tasks:
9449@itemize
9450@item @code{Bytes} - format/parse bytes
9451@item @code{Color} - style terminal text
9452@item @code{Log} - simple logging
9453@end itemize")
9454 (license license:expat)))
9455
9456(define-public go-github-com-lann-builder
9457 (package
9458 (name "go-github-com-lann-builder")
9459 (version "0.0.0-20180802200727-47ae307949d0")
9460 (source
9461 (origin
9462 (method git-fetch)
9463 (uri (git-reference
9464 (url "https://github.com/lann/builder")
9465 (commit (go-version->git-ref version))))
9466 (file-name (git-file-name name version))
9467 (sha256
9468 (base32 "1kg9jy1rciznj627hafpq2mi7hr5d3ssgqcpwrm3bnlk9sqnydil"))))
9469 (build-system go-build-system)
9470 (arguments
9471 (list
9472 #:import-path "github.com/lann/builder"))
9473 (propagated-inputs
9474 (list go-github-com-lann-ps))
9475 (home-page "https://github.com/lann/builder")
9476 (synopsis "Fluent immutable builders for Golang")
9477 (description
9478 "Package builder provides a method for writing fluent immutable DSL
9479builders. It uses immutable persistent data structures so that each step in
9480the method chain can be reused.")
9481 (license license:expat)))
9482
9483(define-public go-github-com-lann-ps
9484 (package
9485 (name "go-github-com-lann-ps")
9486 (version "0.0.0-20150810152359-62de8c46ede0")
9487 (source
9488 (origin
9489 (method git-fetch)
9490 (uri (git-reference
9491 (url "https://github.com/lann/ps")
9492 (commit (go-version->git-ref version))))
9493 (file-name (git-file-name name version))
9494 (sha256
9495 (base32 "10yhcyymypvdiiipchsp80jbglk8c4r7lq7h54v9f4mxmvz6xgf7"))))
9496 (build-system go-build-system)
9497 (arguments
9498 (list
9499 #:import-path "github.com/lann/ps"))
9500 (home-page "https://github.com/lann/ps")
9501 (synopsis "Persistent data structures for Golang")
9502 (description
9503 "This package implements a fully persistent data structures - a data
9504structure that always preserves the previous version of itself when it is
9505modified. Such data structures are effectively immutable, as their operations
9506do not update the structure in-place, but instead always yield a new
9507structure. It's a stable fork of https://github.com/mndrix/ps.")
9508 (license license:expat)))
9509
9510(define-public go-github-com-leodido-go-urn
9511 (package
9512 (name "go-github-com-leodido-go-urn")
9513 (version "1.4.0")
9514 (source
9515 (origin
9516 (method git-fetch)
9517 (uri (git-reference
9518 (url "https://github.com/leodido/go-urn")
9519 (commit (string-append "v" version))))
9520 (file-name (git-file-name name version))
9521 (sha256
9522 (base32 "0bn9dj6y299jdh8szfim32yxj9zip38cqgv965dj23cixgr7baxb"))))
9523 (build-system go-build-system)
9524 (arguments
9525 (list
9526 #:import-path "github.com/leodido/go-urn"))
9527 (native-inputs
9528 (list go-github-com-stretchr-testify))
9529 (home-page "https://github.com/leodido/go-urn")
9530 (synopsis "Parser for uniform resource names as seen on RFC 2141")
9531 (description
9532 "This package implements a parser for uniform resource names (URN) as
9533specified by @uref{https://tools.ietf.org/html/rfc2141, IETF RFC 2141}.")
9534 (license license:expat)))
9535
9536(define-public go-github-com-leonelquinteros-gotext
9537 (package
9538 (name "go-github-com-leonelquinteros-gotext")
9539 (version "1.7.0")
9540 (source
9541 (origin
9542 (method git-fetch)
9543 (uri (git-reference
9544 (url "https://github.com/leonelquinteros/gotext")
9545 (commit (string-append "v" version))))
9546 (file-name (git-file-name name version))
9547 (sha256
9548 (base32 "0ccls9xzbbrbrplbikz18lcky5p5rmifif6w69l5rl34dv11948m"))))
9549 (build-system go-build-system)
9550 (arguments
9551 (list
9552 #:import-path "github.com/leonelquinteros/gotext"))
9553 (propagated-inputs
9554 (list go-golang-org-x-text
9555 go-golang-org-x-tools))
9556 (home-page "https://github.com/leonelquinteros/gotext")
9557 (synopsis "GNU gettext utilities in Go")
9558 (description
9559 "This package implements GNU gettext utilities in Go. It features:
9560
9561@itemize
9562@item Implements GNU gettext support in native Go.
9563@item Complete support for PO files including:
9564@item Support for MO files.
9565@item Thread-safe: This package is safe for concurrent use across multiple
9566goroutines.
9567@item It works with UTF-8 encoding as it's the default for Go language.
9568@item Unit tests available.
9569@item Language codes are automatically simplified from the form en_UK to en if
9570the first isn't available.
9571@item Ready to use inside Go templates.
9572@item Objects are serializable to []byte to store them in cache.
9573@item Support for Go Modules.
9574@end itemize")
9575 (license license:expat)))
9576
4793(define-public go-github-com-lestrrat-go-envload 9577(define-public go-github-com-lestrrat-go-envload
4794 (package 9578 (package
4795 (name "go-github-com-lestrrat-go-envload") 9579 (name "go-github-com-lestrrat-go-envload")
@@ -4956,6 +9740,32 @@ allocator. This is primarily useful for long lived buffers that usually sit emp
4956length-delimited slices. It's helpful for building wire protocols.") 9740length-delimited slices. It's helpful for building wire protocols.")
4957 (license license:expat))) 9741 (license license:expat)))
4958 9742
9743(define-public go-github-com-lithammer-dedent
9744 (package
9745 (name "go-github-com-lithammer-dedent")
9746 (version "1.1.0")
9747 (source
9748 (origin
9749 (method git-fetch)
9750 (uri (git-reference
9751 (url "https://github.com/lithammer/dedent")
9752 (commit (string-append "v" version))))
9753 (file-name (git-file-name name version))
9754 (sha256
9755 (base32 "1zqdlz3csraphk12q91vmv5zhap3abscjn9v725d8r55qblwrvs0"))))
9756 (build-system go-build-system)
9757 (arguments
9758 (list
9759 #:import-path "github.com/lithammer/dedent"))
9760 (home-page "https://github.com/lithammer/dedent")
9761 (synopsis "Remove any common leading whitespace from multiline strings")
9762 (description
9763 "This package provides a functionality to remove common leading
9764whitespace from multiline strings. Inspired by
9765@url{https://docs.python.org/3/library/textwrap.html#textwrap.dedent,(code
9766textwrap.dedent)} in Python.")
9767 (license license:expat)))
9768
4959(define-public go-github-com-lithammer-fuzzysearch 9769(define-public go-github-com-lithammer-fuzzysearch
4960 (package 9770 (package
4961 (name "go-github-com-lithammer-fuzzysearch") 9771 (name "go-github-com-lithammer-fuzzysearch")
@@ -5088,6 +9898,128 @@ Printf/Sprintf etc.")
5088 (native-inputs 9898 (native-inputs
5089 (list go-github-com-stretchr-testify)))) 9899 (list go-github-com-stretchr-testify))))
5090 9900
9901(define-public go-github-com-lucasb-eyer-go-colorful
9902 (package
9903 (name "go-github-com-lucasb-eyer-go-colorful")
9904 (version "1.2.0")
9905 (source
9906 (origin
9907 (method git-fetch)
9908 (uri (git-reference
9909 (url "https://github.com/lucasb-eyer/go-colorful")
9910 (commit (string-append "v" version))))
9911 (file-name (git-file-name name version))
9912 (sha256
9913 (base32 "08c3fkf27r16izjjd4w94xd1z7w1r4mdalbl53ms2ka2j465s3qs"))))
9914 (build-system go-build-system)
9915 (arguments
9916 (list
9917 #:import-path "github.com/lucasb-eyer/go-colorful"))
9918 (propagated-inputs
9919 (list go-golang-org-x-image))
9920 (home-page "https://github.com/lucasb-eyer/go-colorful")
9921 (synopsis "Library for playing with colors in Go")
9922 (description
9923 "The colorful package provides a library for using colors in Go.
9924It stores colors in RGB and provides methods for converting these to various
9925color spaces.")
9926 (license license:expat)))
9927
9928(define-public go-github-com-lunixbochs-vtclean
9929 (package
9930 (name "go-github-com-lunixbochs-vtclean")
9931 (version "1.0.0")
9932 (source
9933 (origin
9934 (method git-fetch)
9935 (uri (git-reference
9936 (url "https://github.com/lunixbochs/vtclean")
9937 (commit (string-append "v" version))))
9938 (file-name (git-file-name name version))
9939 (sha256
9940 (base32 "0jqn33l1kzy4dk66zbvxz7rlgkgg34s9mhc8z0lrz0i88466zhd8"))))
9941 (build-system go-build-system)
9942 (arguments
9943 (list
9944 #:import-path "github.com/lunixbochs/vtclean"))
9945 (home-page "https://github.com/lunixbochs/vtclean")
9946 (synopsis "Filter out terminal escape sequences")
9947 (description
9948 "The @code{vtclean} provides the @command{vtclean} command and a library
9949designed to clean up raw terminal output by stripping escape sequences,
9950optionally preserving color.")
9951 (license license:expat)))
9952
9953(define-public go-github-com-lyft-protoc-gen-star-v2
9954 (package
9955 (name "go-github-com-lyft-protoc-gen-star-v2")
9956 (version "2.0.3")
9957 (source
9958 (origin
9959 (method git-fetch)
9960 (uri (git-reference
9961 (url "https://github.com/lyft/protoc-gen-star")
9962 (commit (string-append "v" version))))
9963 (file-name (git-file-name name version))
9964 (sha256
9965 (base32 "0c0w7xlarzkmbfsxdknakmnm562q3whxgs3ck3icwrva3dim94qc"))))
9966 (build-system go-build-system)
9967 (arguments
9968 (list
9969 #:import-path "github.com/lyft/protoc-gen-star/v2"
9970 #:test-flags
9971 #~(list "-skip"
9972 (string-join
9973 (list "TestGraph_Bidirectional"
9974 "TestGraph_Bidirectional_Messages_Enums"
9975 "TestGraph_Bidirectional_Recursive"
9976 "TestGraph_Extensions"
9977 "TestGraph_FDSet"
9978 "TestGraph_Messages"
9979 "TestGraph_Packageless"
9980 "TestGraph_Services"
9981 "TestGraph_SourceCodeInfo")
9982 "|"))
9983 ;; XXX: To enable all tests require more complex set up, check how to
9984 ;; enable most of them.
9985 #:test-subdirs #~(list ".")))
9986 (native-inputs
9987 (list go-github-com-stretchr-testify))
9988 (propagated-inputs
9989 (list go-github-com-spf13-afero
9990 go-golang-org-x-tools
9991 go-google-golang-org-protobuf))
9992 (home-page "https://github.com/lyft/protoc-gen-star")
9993 (synopsis "Protoc plugin library for efficient proto-based code generation")
9994 ;; The Project lacks a good README, suggesting to read source code
9995 ;; "... the true documentation source is the code itself ...".
9996 (description
9997 "PG* is a protoc plugin library for efficient proto-based code
9998generation.")
9999 (license license:asl2.0)))
10000
10001(define-public go-github-com-magiconair-properties
10002 (package
10003 (name "go-github-com-magiconair-properties")
10004 (version "1.8.9")
10005 (source
10006 (origin
10007 (method git-fetch)
10008 (uri (git-reference
10009 (url "https://github.com/magiconair/properties")
10010 (commit (string-append "v" version))))
10011 (file-name (git-file-name name version))
10012 (sha256
10013 (base32 "05nkgdzl393505arq6hf1wxjxs2iaqkc88v5cy1s068abpl65xy0"))))
10014 (build-system go-build-system)
10015 (arguments
10016 (list
10017 #:import-path "github.com/magiconair/properties"))
10018 (home-page "https://github.com/magiconair/properties")
10019 (synopsis "Java properties scanner for Go")
10020 (description "Java properties scanner for Go")
10021 (license license:bsd-2)))
10022
5091(define-public go-github-com-makenowjust-heredoc 10023(define-public go-github-com-makenowjust-heredoc
5092 (package 10024 (package
5093 (name "go-github-com-makenowjust-heredoc") 10025 (name "go-github-com-makenowjust-heredoc")
@@ -5147,6 +10079,31 @@ implementing features like:
5147@end itemize") 10079@end itemize")
5148 (license license:expat)))) 10080 (license license:expat))))
5149 10081
10082(define-public go-github-com-masterminds-goutils
10083 (package
10084 (name "go-github-com-masterminds-goutils")
10085 (version "1.1.1")
10086 (source
10087 (origin
10088 (method git-fetch)
10089 (uri (git-reference
10090 (url "https://github.com/Masterminds/goutils")
10091 (commit (string-append "v" version))))
10092 (file-name (git-file-name name version))
10093 (sha256
10094 (base32 "09m4mbcdlv9ng3xcrmjlxi0niavby52y9nl2jhjnbx1xxpjw0jrh"))))
10095 (build-system go-build-system)
10096 (arguments
10097 (list
10098 #:import-path "github.com/Masterminds/goutils"))
10099 (home-page "https://github.com/Masterminds/goutils/")
10100 (synopsis "Utility functions to manipulate strings")
10101 (description
10102 "GoUtils provides utility functions to manipulate strings in various
10103ways. It is a Go implementation of some string manipulation libraries of Java
10104Apache Commons.")
10105 (license license:asl2.0)))
10106
5150(define-public go-github-com-masterminds-semver-v3 10107(define-public go-github-com-masterminds-semver-v3
5151 (package 10108 (package
5152 (name "go-github-com-masterminds-semver-v3") 10109 (name "go-github-com-masterminds-semver-v3")
@@ -5182,7 +10139,7 @@ semantic versions. Specifically it provides the ability to:
5182(define-public go-github-com-masterminds-sprig-v3 10139(define-public go-github-com-masterminds-sprig-v3
5183 (package 10140 (package
5184 (name "go-github-com-masterminds-sprig-v3") 10141 (name "go-github-com-masterminds-sprig-v3")
5185 (version "3.2.3") 10142 (version "3.3.0")
5186 (source 10143 (source
5187 (origin 10144 (origin
5188 (method git-fetch) 10145 (method git-fetch)
@@ -5191,29 +10148,21 @@ semantic versions. Specifically it provides the ability to:
5191 (commit (string-append "v" version)))) 10148 (commit (string-append "v" version))))
5192 (file-name (git-file-name name version)) 10149 (file-name (git-file-name name version))
5193 (sha256 10150 (sha256
5194 (base32 "1gkwalx8j8h1jdhk6dz8bq8zp7vivxvcivr83dcq0h6nrn4xjqnl")))) 10151 (base32 "1ljpizbfjh29xb4f40ipkrqriyixhdsfnd72y3pdzrjf2kbmgw9n"))))
5195 (build-system go-build-system) 10152 (build-system go-build-system)
5196 (arguments 10153 (arguments
5197 (list 10154 (list
5198 #:import-path "github.com/Masterminds/sprig/v3" 10155 #:import-path "github.com/Masterminds/sprig/v3"
5199 #:phases 10156 #:test-flags #~(list "-skip" "TestGetHostByName")))
5200 #~(modify-phases %standard-phases
5201 ;; Tests tries to reach Google:
5202 ;; tpl := `{{"www.google.com" | getHostByName}}`
5203 (add-after 'unpack 'remove-network-tests
5204 (lambda* (#:key import-path #:allow-other-keys)
5205 (delete-file
5206 (string-append "src/" import-path "/network_test.go")))))))
5207 (native-inputs 10157 (native-inputs
5208 (list go-github-com-stretchr-testify)) 10158 (list go-github-com-stretchr-testify))
5209 (propagated-inputs 10159 (propagated-inputs
5210 (list go-github-com-google-uuid 10160 (list go-dario-cat-mergo
10161 go-github-com-google-uuid
5211 go-github-com-huandu-xstrings 10162 go-github-com-huandu-xstrings
5212 go-github-com-imdario-mergo
5213 go-github-com-masterminds-goutils 10163 go-github-com-masterminds-goutils
5214 go-github-com-masterminds-semver-v3 10164 go-github-com-masterminds-semver-v3
5215 go-github-com-mitchellh-copystructure 10165 go-github-com-mitchellh-copystructure
5216 go-github-com-mitchellh-reflectwalk
5217 go-github-com-shopspring-decimal 10166 go-github-com-shopspring-decimal
5218 go-github-com-spf13-cast 10167 go-github-com-spf13-cast
5219 go-golang-org-x-crypto)) 10168 go-golang-org-x-crypto))
@@ -5224,19 +10173,49 @@ semantic versions. Specifically it provides the ability to:
5224functions.") 10173functions.")
5225 (license license:expat))) 10174 (license license:expat)))
5226 10175
10176(define-public go-github-com-masterminds-squirrel
10177 (package
10178 (name "go-github-com-masterminds-squirrel")
10179 (version "1.5.4")
10180 (source
10181 (origin
10182 (method git-fetch)
10183 (uri (git-reference
10184 (url "https://github.com/Masterminds/squirrel")
10185 (commit (string-append "v" version))))
10186 (file-name (git-file-name name version))
10187 (sha256
10188 (base32 "0ws7p3gchw6n81sfdhpk1pbh7gsj1fm7fbjah702d7q1gbn00vja"))))
10189 (build-system go-build-system)
10190 (arguments
10191 (list
10192 #:import-path "github.com/Masterminds/squirrel"))
10193 (native-inputs
10194 (list go-github-com-go-sql-driver-mysql
10195 go-github-com-lib-pq
10196 go-github-com-mattn-go-sqlite3
10197 go-github-com-stretchr-testify))
10198 (propagated-inputs
10199 (list go-github-com-lann-builder))
10200 (home-page "https://github.com/Masterminds/squirrel")
10201 (synopsis "Fluent SQL generation for golang")
10202 (description
10203 "Package squirrel provides a fluent SQL generator.")
10204 (license license:expat)))
10205
5227(define-public go-github-com-matryer-try 10206(define-public go-github-com-matryer-try
5228 (package 10207 (package
5229 (name "go-github-com-matryer-try") 10208 (name "go-github-com-matryer-try")
5230 (version "1") 10209 (version "0.0.0-20161228173917-9ac251b645a2")
5231 (source 10210 (source
5232 (origin 10211 (origin
5233 (method git-fetch) 10212 (method git-fetch)
5234 (uri (git-reference 10213 (uri (git-reference
5235 (url "https://github.com/matryer/try") 10214 (url "https://github.com/matryer/try")
5236 (commit (string-append "v" version)))) 10215 (commit (go-version->git-ref version))))
5237 (file-name (git-file-name name version)) 10216 (file-name (git-file-name name version))
5238 (sha256 10217 (sha256
5239 (base32 "15f0m5ywihivnvwzcw0mh0sg27aky9rkywvxqszxka9q051qvsmy")))) 10218 (base32 "19fnqmpl3p54vmxgm1hmqvdc87brqx754wf3cdhq1bj04fcbb5h9"))))
5240 (build-system go-build-system) 10219 (build-system go-build-system)
5241 (arguments 10220 (arguments
5242 (list 10221 (list
@@ -5406,6 +10385,8 @@ the @code{cpan} module @code{Parse::CommandLine}.")
5406 (arguments 10385 (arguments
5407 (list 10386 (list
5408 #:import-path "github.com/mattn/go-sixel")) 10387 #:import-path "github.com/mattn/go-sixel"))
10388 (native-inputs
10389 (list go-github-com-burntsushi-graphics-go)) ; for the CLI command
5409 (propagated-inputs 10390 (propagated-inputs
5410 (list go-github-com-soniakeys-quant)) 10391 (list go-github-com-soniakeys-quant))
5411 (home-page "https://github.com/mattn/go-sixel") 10392 (home-page "https://github.com/mattn/go-sixel")
@@ -5556,6 +10537,130 @@ language, namely support for record length-delimited message streaming.")
5556colored strings.") 10537colored strings.")
5557 (license license:expat))) 10538 (license license:expat)))
5558 10539
10540(define-public go-github-com-michiwend-golang-pretty
10541 (package
10542 (name "go-github-com-michiwend-golang-pretty")
10543 (version "0.0.0-20141116172505-8ac61812ea3f")
10544 (source
10545 (origin
10546 (method git-fetch)
10547 (uri (git-reference
10548 (url "https://github.com/michiwend/golang-pretty")
10549 (commit (go-version->git-ref version))))
10550 (file-name (git-file-name name version))
10551 (sha256
10552 (base32 "0rjfms0csjqi91xnddzx3rcrcaikc7xc027617px3kdwdap80ir4"))))
10553 (build-system go-build-system)
10554 (arguments
10555 `(#:tests? #f ; Upstream tests seem to be broken.
10556 #:import-path "github.com/michiwend/golang-pretty"))
10557 (propagated-inputs
10558 (list go-github-com-kr-text))
10559 (home-page "https://github.com/michiwend/golang-pretty")
10560 (synopsis "Pretty printing for Go values")
10561 (description
10562 "Package @code{pretty} provides pretty-printing for Go values. This is
10563useful during debugging, to avoid wrapping long output lines in the terminal.
10564
10565It provides a function, @code{Formatter}, that can be used with any function
10566that accepts a format string. It also provides convenience wrappers for
10567functions in packages @code{fmt} and @code{log}.")
10568 (license license:expat)))
10569
10570(define-public go-github-com-michiwend-gomusicbrainz
10571 (package
10572 (name "go-github-com-michiwend-gomusicbrainz")
10573 (version "0.0.0-20181012083520-6c07e13dd396")
10574 (source
10575 (origin
10576 (method git-fetch)
10577 (uri (git-reference
10578 (url "https://github.com/michiwend/gomusicbrainz")
10579 (commit (go-version->git-ref version))))
10580 (file-name (git-file-name name version))
10581 (sha256
10582 (base32 "1c13hyv34l5hm7hrwrm62s2414ivx6dbbyhb7rw90bni78q441b1"))))
10583 (build-system go-build-system)
10584 (arguments
10585 (list #:import-path "github.com/michiwend/gomusicbrainz"))
10586 (propagated-inputs
10587 (list go-github-com-michiwend-golang-pretty))
10588 (home-page "https://github.com/michiwend/gomusicbrainz")
10589 (synopsis "MusicBrainz WS2 client library for Golang")
10590 (description
10591 "Currently GoMusicBrainz provides methods to perform search and lookup
10592requests. Browse requests are not supported yet.")
10593 (license license:expat)))
10594
10595(define-public go-github-com-miolini-datacounter
10596 (package
10597 (name "go-github-com-miolini-datacounter")
10598 (version "1.0.3")
10599 (source
10600 (origin
10601 (method git-fetch)
10602 (uri (git-reference
10603 (url "https://github.com/miolini/datacounter")
10604 (commit (string-append "v" version))))
10605 (file-name (git-file-name name version))
10606 (sha256
10607 (base32 "0s1hxqy6666qd524rdp1dr3778davc8gx9brg9lkcjvr5l05s9wa"))))
10608 (build-system go-build-system)
10609 (arguments
10610 (list
10611 #:import-path "github.com/miolini/datacounter"))
10612 (home-page "https://github.com/miolini/datacounter")
10613 (synopsis "Counters for Go readers and writers")
10614 (description
10615 "The datacounter package provides counters for Go readers and writers.")
10616 (license license:expat)))
10617
10618(define-public go-github-com-mitchellh-cli
10619 (package
10620 (name "go-github-com-mitchellh-cli")
10621 (version "1.1.5")
10622 (source
10623 (origin
10624 (method git-fetch)
10625 (uri (git-reference
10626 (url "https://github.com/mitchellh/cli")
10627 (commit (string-append "v" version))))
10628 (file-name (git-file-name name version))
10629 (sha256
10630 (base32 "1gp1p7pqc27ps8njv49hmzsfnbxq4wg5azmqpqdw91qxw3prs3kr"))))
10631 (build-system go-build-system)
10632 (arguments
10633 (list
10634 #:import-path "github.com/mitchellh/cli"))
10635 (propagated-inputs
10636 (list go-github-com-armon-go-radix
10637 go-github-com-bgentry-speakeasy
10638 go-github-com-fatih-color
10639 go-github-com-masterminds-sprig-v3
10640 go-github-com-mattn-go-isatty
10641 go-github-com-posener-complete))
10642 (home-page "https://github.com/mitchellh/cli")
10643 (synopsis "Go library for implementing command-line interfaces")
10644 (description
10645 "cli is a library for implementing command-line interfaces.
10646Features:
10647@itemize
10648@item easy sub-command based CLIs: @code{cli foo}, @code{cli bar}, etc.
10649@item support for nested subcommands such as @code{cli foo bar}
10650@item optional support for default subcommands so @code{cli} does something
10651other than error
10652@item support for shell autocompletion of subcommands, flags, and arguments
10653with callbacks in Go
10654@item automatic help generation for listing subcommands
10655@item automatic help flag recognition of @code{-h}, @code{--help}, etc.
10656@item automatic version flag recognition of @code{-v}, @code{--version}
10657@item helpers for interacting with the terminal, such as outputting
10658information, asking for input, etc.
10659@item use of Go interfaces/types makes augmenting various parts of the library
10660a piece of cake
10661@end itemize")
10662 (license license:mpl2.0)))
10663
5559(define-public go-github-com-mitchellh-colorstring 10664(define-public go-github-com-mitchellh-colorstring
5560 (package 10665 (package
5561 (name "go-github-com-mitchellh-colorstring") 10666 (name "go-github-com-mitchellh-colorstring")
@@ -5579,6 +10684,235 @@ colored strings.")
5579 "Colorstring provides functions for colorizing strings for terminal output.") 10684 "Colorstring provides functions for colorizing strings for terminal output.")
5580 (license license:expat))) 10685 (license license:expat)))
5581 10686
10687(define-public go-github-com-mitchellh-copystructure
10688 (package
10689 (name "go-github-com-mitchellh-copystructure")
10690 (version "1.2.0")
10691 (source
10692 (origin
10693 (method git-fetch)
10694 (uri (git-reference
10695 (url "https://github.com/mitchellh/copystructure")
10696 (commit (string-append "v" version))))
10697 (file-name (git-file-name name version))
10698 (sha256
10699 (base32 "1izw243b3r03nvgnnxvk706l3s3v3q7k69kq3n4asnzjkcymq7sm"))))
10700 (build-system go-build-system)
10701 (arguments
10702 (list
10703 #:import-path "github.com/mitchellh/copystructure"))
10704 (propagated-inputs
10705 (list go-github-com-mitchellh-reflectwalk))
10706 (home-page "https://github.com/mitchellh/copystructure")
10707 (synopsis "Go library for decoding deep copying values")
10708 (description "@code{copystructure} is a Go library for deep copying values
10709in Go.
10710
10711This allows you to copy Go values that may contain reference values such as
10712maps, slices, or pointers, and copy their data as well instead of just their
10713references.")
10714 (license license:expat)))
10715
10716(define-public go-github-com-mitchellh-go-homedir
10717 (package
10718 (name "go-github-com-mitchellh-go-homedir")
10719 (version "1.1.0")
10720 (source
10721 (origin
10722 (method git-fetch)
10723 (uri (git-reference
10724 (url "https://github.com/mitchellh/go-homedir")
10725 (commit (string-append "v" version))))
10726 (file-name (git-file-name name version))
10727 (sha256
10728 (base32 "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1"))))
10729 (build-system go-build-system)
10730 (arguments
10731 (quote (#:import-path "github.com/mitchellh/go-homedir"
10732 ;; TODO: Tests fail because it tries to access home.
10733 #:tests? #f)))
10734 (home-page "https://github.com/mitchellh/go-homedir")
10735 (synopsis "Go library for detecting and expanding the user's home directory without cgo")
10736 (description
10737 "This is a Go library for detecting the user's home directory without the
10738use of @command{cgo}, so the library can be used in cross-compilation
10739environments.
10740
10741Usage is simple, just call homedir.Dir() to get the home directory for a user,
10742and homedir.Expand() to expand the @command{~} in a path to the home
10743directory.
10744
10745Why not just use @command{os/user}? The built-in @command{os/user} package
10746requires cgo on Darwin systems. This means that any Go code that uses that
10747package cannot cross compile. But 99% of the time the use for
10748@command{os/user} is just to retrieve the home directory, which we can do for
10749the current user without cgo. This library does that, enabling
10750cross-compilation.")
10751 (license license:expat)))
10752
10753(define-public go-github-com-mitchellh-go-wordwrap
10754 (package
10755 (name "go-github-com-mitchellh-go-wordwrap")
10756 (version "1.0.1")
10757 (source
10758 (origin
10759 (method git-fetch)
10760 (uri (git-reference
10761 (url "https://github.com/mitchellh/go-wordwrap")
10762 (commit (string-append "v" version))))
10763 (file-name (git-file-name name version))
10764 (sha256
10765 (base32 "12imq66hgj8q9ii2xqdy8apc0icphh6yimjb0div1pvl3s9gn83y"))))
10766 (build-system go-build-system)
10767 (arguments
10768 (list
10769 #:import-path "github.com/mitchellh/go-wordwrap"))
10770 (propagated-inputs
10771 (list go-gopkg-in-yaml-v2))
10772 (home-page "https://github.com/mitchellh/go-wordwrap")
10773 (synopsis "Go library for word-wrapping strings")
10774 (description
10775 "This Go library automatically wraps words onto multiple lines. It's
10776primary goal is to format command-line output, but of course word wrapping is
10777a generally useful thing to do.")
10778 (license license:expat)))
10779
10780;; XXX: This package is in maintenance mode: "This repository has been
10781;; archived by the owner on Jul 22, 2024. It is now read-only."
10782(define-public go-github-com-mitchellh-mapstructure
10783 (package
10784 (name "go-github-com-mitchellh-mapstructure")
10785 (version "1.5.0")
10786 (source
10787 (origin
10788 (method git-fetch)
10789 (uri (git-reference
10790 (url "https://github.com/mitchellh/mapstructure")
10791 (commit (string-append "v" version))))
10792 (file-name (git-file-name name version))
10793 (sha256
10794 (base32
10795 "10f2v143lkip8h46shd99k5yavfqpgqmd7a6y42v7szc0lcn3mff"))))
10796 (build-system go-build-system)
10797 (arguments
10798 `(#:import-path "github.com/mitchellh/mapstructure"))
10799 (home-page "https://github.com/mitchellh/mapstructure")
10800 (synopsis "Go library for decoding generic map values")
10801 (description "Go library for decoding generic map values")
10802 (license license:expat)))
10803
10804(define-public go-github-com-mitchellh-reflectwalk
10805 (package
10806 (name "go-github-com-mitchellh-reflectwalk")
10807 (version "1.0.2")
10808 (source
10809 (origin
10810 (method git-fetch)
10811 (uri (git-reference
10812 (url "https://github.com/mitchellh/reflectwalk")
10813 (commit (string-append "v" version))))
10814 (file-name (git-file-name name version))
10815 (sha256
10816 (base32 "1nxgb4gskzv045539vb312n0a443308dvh1akz7vi6x1l0z46zsm"))))
10817 (build-system go-build-system)
10818 (arguments
10819 (list #:import-path "github.com/mitchellh/reflectwalk"))
10820 (home-page "https://github.com/mitchellh/reflectwalk/")
10821 (synopsis "Walk a value in Go using reflection")
10822 (description
10823 "reflectwalk is a Go library for \"walking\" a value in Go using
10824reflection, in the same way a directory tree can be \"walked\" on the file
10825system. Walking a complex structure can allow you to do manipulations on
10826unknown structures such as those decoded from JSON.")
10827 (license license:expat)))
10828
10829(define-public go-github-com-mmcdole-goxpp
10830 (package
10831 (name "go-github-com-mmcdole-goxpp")
10832 (version "1.1.1")
10833 (source
10834 (origin
10835 (method git-fetch)
10836 (uri (git-reference
10837 (url "https://github.com/mmcdole/goxpp")
10838 (commit (string-append "v" version))))
10839 (file-name (git-file-name name version))
10840 (sha256
10841 (base32 "0g9va3vhc5s60s00kyp4agfhb6kjp8j8i41vkj3lwbz5sx947mif"))))
10842 (build-system go-build-system)
10843 (arguments
10844 (list
10845 #:import-path "github.com/mmcdole/goxpp"))
10846 (native-inputs (list go-github-com-stretchr-testify))
10847 (home-page "https://github.com/mmcdole/goxpp")
10848 (synopsis "XML pull prser for Golang")
10849 (description
10850 "The @code{goxpp} library, inspired by
10851@url{http://www.xmlpull.org/v1/download/unpacked/doc/quick_intro.html, Java's
10852XML@code{PullParser}}, is a lightweight wrapper for Go's standard XML
10853Decoder,tailored for developers who need fine-grained control over XML
10854parsing.")
10855 (license license:expat)))
10856
10857(define-public go-github-com-moby-sys-mountinfo
10858 (package
10859 (name "go-github-com-moby-sys-mountinfo")
10860 (version "0.7.2")
10861 (source
10862 (origin
10863 (method git-fetch)
10864 (uri (git-reference
10865 (url "https://github.com/moby/sys")
10866 (commit (go-version->git-ref version
10867 #:subdir "mountinfo"))))
10868 (file-name (git-file-name name version))
10869 (sha256
10870 (base32 "1i1phx1kk9qa4jf1i1nl23d3f6k9fn2w46274cl76cqw9hjqg868"))))
10871 (build-system go-build-system)
10872 (arguments
10873 (list
10874 #:import-path "github.com/moby/sys/mountinfo"
10875 #:unpack-path "github.com/moby/sys"
10876 #:test-flags
10877 #~(list "-skip" (string-join
10878 (list "TestMountedBy/not_mounted_socket"
10879 "TestMountedBy/socket_bind-mounted_to_itself")
10880 "|"))))
10881 (propagated-inputs (list go-golang-org-x-sys))
10882 (home-page "https://github.com/moby/sys")
10883 (synopsis "Retrieve information about OS mounts")
10884 (description
10885 "Package mountinfo provides a set of functions to retrieve information
10886about OS mounts as seen by the current process is available from
10887@code{/proc/self/mountinfo}.")
10888 (license license:asl2.0)))
10889
10890(define-public go-github-com-moby-sys-userns
10891 (package
10892 (name "go-github-com-moby-sys-userns")
10893 (version "0.1.0")
10894 (source
10895 (origin
10896 (method git-fetch)
10897 (uri (git-reference
10898 (url "https://github.com/moby/sys")
10899 (commit (go-version->git-ref version
10900 #:subdir "userns"))))
10901 (file-name (git-file-name name version))
10902 (sha256
10903 (base32 "1clr9x412gr1cq3jxf9lxblh9pkf8c42gz57wr14miy0nqsimx7j"))))
10904 (build-system go-build-system)
10905 (arguments
10906 (list
10907 #:import-path "github.com/moby/sys/userns"
10908 #:unpack-path "github.com/moby/sys"))
10909 (home-page "https://github.com/moby/sys")
10910 (synopsis "Probe Linux user namespace")
10911 (description
10912 "Package userns provides utilities to detect whether we are currently
10913running in a Linux user namespace.")
10914 (license license:asl2.0)))
10915
5582(define-public go-github-com-modern-go-concurrent 10916(define-public go-github-com-modern-go-concurrent
5583 (package 10917 (package
5584 (name "go-github-com-modern-go-concurrent") 10918 (name "go-github-com-modern-go-concurrent")
@@ -5651,6 +10985,31 @@ standard @code{copy} will copy the pointers where @code{deepcopy} copies the
5651values pointed to. Unexported field values are not copied.") 10985values pointed to. Unexported field values are not copied.")
5652 (license license:expat))) 10986 (license license:expat)))
5653 10987
10988(define-public go-github-com-motemen-go-colorine
10989 (package
10990 (name "go-github-com-motemen-go-colorine")
10991 (version "0.0.0-20180816141035-45d19169413a")
10992 (source
10993 (origin
10994 (method git-fetch)
10995 (uri (git-reference
10996 (url "https://github.com/motemen/go-colorine")
10997 (commit (go-version->git-ref version))))
10998 (file-name (git-file-name name version))
10999 (sha256
11000 (base32 "1mdy6q0926s1frj027nlzlvm2qssmkpjis7ic3l2smajkzh07118"))))
11001 (build-system go-build-system)
11002 (arguments
11003 (list
11004 #:import-path "github.com/motemen/go-colorine"))
11005 (propagated-inputs
11006 (list go-github-com-daviddengcn-go-colortext))
11007 (home-page "https://github.com/motemen/go-colorine")
11008 (synopsis "Simple colorized console logger for golang")
11009 (description
11010 "This package provides simple colorized console logger for golang.")
11011 (license license:expat)))
11012
5654(define-public go-github-com-mreiferson-go-options 11013(define-public go-github-com-mreiferson-go-options
5655 (package 11014 (package
5656 (name "go-github-com-mreiferson-go-options") 11015 (name "go-github-com-mreiferson-go-options")
@@ -5755,6 +11114,28 @@ Authentication Modules, PAM} application API.")
5755 ((#:import-path _ "github.com/msteinert/pam") 11114 ((#:import-path _ "github.com/msteinert/pam")
5756 "github.com/msteinert/pam/v2"))))) 11115 "github.com/msteinert/pam/v2")))))
5757 11116
11117(define-public go-github-com-mtibben-percent
11118 (package
11119 (name "go-github-com-mtibben-percent")
11120 (version "0.2.1")
11121 (source
11122 (origin
11123 (method git-fetch)
11124 (uri (git-reference
11125 (url "https://github.com/mtibben/percent")
11126 (commit (string-append "v" version))))
11127 (file-name (git-file-name name version))
11128 (sha256
11129 (base32 "1iqivw8pigj259rj5yifibbvic70f9hb7k24a4sa967s4fj6agb6"))))
11130 (build-system go-build-system)
11131 (arguments
11132 (list #:import-path "github.com/mtibben/percent"))
11133 (home-page "https://github.com/mtibben/percent")
11134 (synopsis "Package percent escapes strings using percent-encoding")
11135 (description
11136 "Package percent escapes strings using percent-encoding.")
11137 (license license:expat)))
11138
5758(define-public go-github-com-muesli-ansi 11139(define-public go-github-com-muesli-ansi
5759 (package 11140 (package
5760 (name "go-github-com-muesli-ansi") 11141 (name "go-github-com-muesli-ansi")
@@ -5882,7 +11263,13 @@ helping you to transform blocks of text.")
5882 (build-system go-build-system) 11263 (build-system go-build-system)
5883 (arguments 11264 (arguments
5884 (list 11265 (list
5885 #:import-path "github.com/muesli/termenv")) 11266 #:import-path "github.com/muesli/termenv"
11267 #:phases
11268 #~(modify-phases %standard-phases
11269 (add-after 'unpack 'remove-examples
11270 (lambda* (#:key import-path #:allow-other-keys)
11271 (delete-file-recursively
11272 (string-append "src/" import-path "/examples")))))))
5886 (propagated-inputs 11273 (propagated-inputs
5887 (list go-github-com-aymanbagabas-go-osc52-v2 11274 (list go-github-com-aymanbagabas-go-osc52-v2
5888 go-github-com-lucasb-eyer-go-colorful 11275 go-github-com-lucasb-eyer-go-colorful
@@ -6042,10 +11429,68 @@ multibase} (self identifying base encodings) in Go.")
6042varints.") 11429varints.")
6043 (license license:expat))) 11430 (license license:expat)))
6044 11431
11432(define-public go-github-com-nakagami-firebirdsql
11433 (package
11434 (name "go-github-com-nakagami-firebirdsql")
11435 (version "0.9.12")
11436 (source
11437 (origin
11438 (method git-fetch)
11439 (uri (git-reference
11440 (url "https://github.com/nakagami/firebirdsql")
11441 (commit (string-append "v" version))))
11442 (file-name (git-file-name name version))
11443 (sha256
11444 (base32 "043wc8pigv0cpnzljry1vfdnwlmbfy14b5yhbkyhnndk81c4pl7s"))))
11445 (build-system go-build-system)
11446 (arguments
11447 (list
11448 #:tests? #f ; tests require running database service
11449 #:import-path "github.com/nakagami/firebirdsql"))
11450 (native-inputs
11451 (list go-github-com-stretchr-testify))
11452 (propagated-inputs
11453 (list go-github-com-kardianos-osext
11454 go-github-com-shopspring-decimal
11455 go-gitlab-com-nyarla-go-crypt
11456 go-golang-org-x-crypto
11457 go-golang-org-x-text
11458 go-modernc-org-mathutil))
11459 (home-page "https://github.com/nakagami/firebirdsql")
11460 (synopsis "Firebird RDBMS sql driver for Golang")
11461 (description
11462 "Package firebird provides database/sql driver for
11463@url{https://firebirdsql.org/, Firebird} RDBMS.")
11464 (license license:expat)))
11465
11466(define-public go-github-com-nathan-osman-go-sunrise
11467 (package
11468 (name "go-github-com-nathan-osman-go-sunrise")
11469 (version "1.1.0")
11470 (source
11471 (origin
11472 (method git-fetch)
11473 (uri (git-reference
11474 (url "https://github.com/nathan-osman/go-sunrise")
11475 (commit (string-append "v" version))))
11476 (file-name (git-file-name name version))
11477 (sha256
11478 (base32
11479 "017zwzx05r5spxcs07dp6bnh7waknzsd819k7aqd8kr819v3x9in"))))
11480 (build-system go-build-system)
11481 (arguments
11482 (list #:import-path "github.com/nathan-osman/go-sunrise"))
11483 (home-page "https://github.com/nathan-osman/go-sunrise")
11484 (synopsis "Calculate sunrise and sunset times in Go")
11485 (description
11486 "This package provides a Go library for calculating sunrise and
11487sunset times from geographical coordinates and a date.")
11488 (license license:expat)))
11489
6045(define-public go-github-com-nats-io-nats-go 11490(define-public go-github-com-nats-io-nats-go
6046 (package 11491 (package
6047 (name "go-github-com-nats-io-nats-go") 11492 (name "go-github-com-nats-io-nats-go")
6048 (version "1.32.0") 11493 (version "1.38.0")
6049 (source 11494 (source
6050 (origin 11495 (origin
6051 (method git-fetch) 11496 (method git-fetch)
@@ -6054,15 +11499,22 @@ varints.")
6054 (commit (string-append "v" version)))) 11499 (commit (string-append "v" version))))
6055 (file-name (git-file-name name version)) 11500 (file-name (git-file-name name version))
6056 (sha256 11501 (sha256
6057 (base32 "08b3n5mdpxvn9hipz0j001bp5r67i43cqji9x9dyzikypqdfg38k")))) 11502 (base32 "1b21sxzds2x5a8b13hmf5n1pf1bf770ky7q12147gqq7vsw39fa1"))))
6058 (build-system go-build-system) 11503 (build-system go-build-system)
6059 (arguments 11504 (arguments
6060 (list 11505 (list
6061 #:import-path "github.com/nats-io/nats.go")) 11506 #:import-path "github.com/nats-io/nats.go"
6062 (propagated-inputs (list go-golang-org-x-text 11507 ;; Most tests in "test" directory fail to set up, limit to project's
6063 go-github-com-nats-io-nuid 11508 ;; root tests.
6064 go-github-com-nats-io-nkeys 11509 #:test-subdirs #~(list ".")))
6065 go-github-com-klauspost-compress)) 11510 (native-inputs
11511 (list go-github-com-nats-io-jwt-v2))
11512 (propagated-inputs
11513 (list go-github-com-klauspost-compress
11514 go-github-com-nats-io-nkeys
11515 go-github-com-nats-io-nuid
11516 go-golang-org-x-text
11517 go-google-golang-org-protobuf)) ; for encoders
6066 (home-page "https://github.com/nats-io/nats.go") 11518 (home-page "https://github.com/nats-io/nats.go")
6067 (synopsis "Go Client for NATS server") 11519 (synopsis "Go Client for NATS server")
6068 (description 11520 (description
@@ -6092,6 +11544,30 @@ varints.")
6092very fast, and tries to be entropy pool friendly.") 11544very fast, and tries to be entropy pool friendly.")
6093 (license license:asl2.0))) 11545 (license license:asl2.0)))
6094 11546
11547(define-public go-github-com-ncruces-go-strftime
11548 (package
11549 (name "go-github-com-ncruces-go-strftime")
11550 (version "0.1.9")
11551 (source
11552 (origin
11553 (method git-fetch)
11554 (uri (git-reference
11555 (url "https://github.com/ncruces/go-strftime")
11556 (commit (string-append "v" version))))
11557 (file-name (git-file-name name version))
11558 (sha256
11559 (base32 "0rmr44m8mj5w9j1sy4c24b3n55lx2gwz1z3lb2g3p4qw87wv0j2g"))))
11560 (build-system go-build-system)
11561 (arguments
11562 (list
11563 #:import-path "github.com/ncruces/go-strftime"))
11564 (home-page "https://github.com/ncruces/go-strftime")
11565 (synopsis "Implementation of strftime/strptime for Golang")
11566 (description
11567 "Package strftime provides strftime/strptime compatible time formatting
11568and parsing.")
11569 (license license:expat)))
11570
6095(define-public go-github-com-neurosnap-sentences 11571(define-public go-github-com-neurosnap-sentences
6096 (package 11572 (package
6097 (name "go-github-com-neurosnap-sentences") 11573 (name "go-github-com-neurosnap-sentences")
@@ -6146,6 +11622,32 @@ list of sentences.")
6146pretty printed rendering in Golang.") 11622pretty printed rendering in Golang.")
6147 (license license:expat))) 11623 (license license:expat)))
6148 11624
11625(define-public go-github-com-nsf-termbox-go
11626 (package
11627 (name "go-github-com-nsf-termbox-go")
11628 (version "1.1.1")
11629 (source
11630 (origin
11631 (method git-fetch)
11632 (uri (git-reference
11633 (url "https://github.com/nsf/termbox-go")
11634 (commit (string-append "v" version))))
11635 (file-name (git-file-name name version))
11636 (sha256
11637 (base32 "0n5jwnx53nkjvq8rcqzv2scs532iq9w06pd83w6cipniccqp4m2i"))))
11638 (build-system go-build-system)
11639 (arguments
11640 (list
11641 #:import-path "github.com/nsf/termbox-go"))
11642 (propagated-inputs
11643 (list go-github-com-mattn-go-runewidth))
11644 (home-page "https://github.com/nsf/termbox-go")
11645 (synopsis "@code{termbox} provides a minimal API for text-based user interfaces")
11646 (description
11647 "Termbox is a library that provides a minimalistic API which allows the
11648programmer to write text-based user interfaces.")
11649 (license license:expat)))
11650
6149(define-public go-github-com-nsqio-go-diskqueue 11651(define-public go-github-com-nsqio-go-diskqueue
6150 (package 11652 (package
6151 (name "go-github-com-nsqio-go-diskqueue") 11653 (name "go-github-com-nsqio-go-diskqueue")
@@ -6195,6 +11697,36 @@ queue.")
6195NSQ protocol @url{https://nsq.io/}.") 11697NSQ protocol @url{https://nsq.io/}.")
6196 (license license:expat))) 11698 (license license:expat)))
6197 11699
11700(define-public go-github-com-nxadm-tail
11701 (package
11702 (name "go-github-com-nxadm-tail")
11703 (version "1.4.11")
11704 (source
11705 (origin
11706 (method git-fetch)
11707 (uri (git-reference
11708 (url "https://github.com/nxadm/tail")
11709 (commit (string-append "v" version))))
11710 (file-name (git-file-name name version))
11711 (sha256
11712 (base32 "0s8lawq661g8qqf7c1cip5l60cm2138b125jgmv9h548ji9g5yqx"))
11713 (snippet
11714 #~(begin (use-modules (guix build utils))
11715 (delete-file-recursively "vendor")))))
11716 (build-system go-build-system)
11717 (arguments
11718 (list
11719 #:import-path "github.com/nxadm/tail"))
11720 (propagated-inputs
11721 (list go-github-com-fsnotify-fsnotify
11722 go-gopkg-in-tomb-v1))
11723 (home-page "https://github.com/nxadm/tail")
11724 (synopsis "Go implementation of the functionality of @command{tail -f}")
11725 (description
11726 "This package provides a Go library for reading from continuously
11727updating files, like @command{tail -f}.")
11728 (license license:expat)))
11729
6198(define-public go-github-com-oklog-run 11730(define-public go-github-com-oklog-run
6199 (package 11731 (package
6200 (name "go-github-com-oklog-run") 11732 (name "go-github-com-oklog-run")
@@ -6241,6 +11773,8 @@ goroutines as a unit whole.")
6241 (arguments 11773 (arguments
6242 (list 11774 (list
6243 #:import-path "github.com/oklog/ulid")) 11775 #:import-path "github.com/oklog/ulid"))
11776 (native-inputs
11777 (list go-github-com-pborman-getopt-v2)) ; for CLI
6244 (home-page "https://github.com/oklog/ulid") 11778 (home-page "https://github.com/oklog/ulid")
6245 (synopsis "Universally Unique Lexicographically Sortable Identifier in Golang") 11779 (synopsis "Universally Unique Lexicographically Sortable Identifier in Golang")
6246 (description 11780 (description
@@ -6282,6 +11816,72 @@ millisecond)
6282 (list 11816 (list
6283 #:import-path "github.com/oklog/ulid/v2")))) 11817 #:import-path "github.com/oklog/ulid/v2"))))
6284 11818
11819(define-public go-github-com-olekukonko-tablewriter
11820 (package
11821 (name "go-github-com-olekukonko-tablewriter")
11822 (version "0.0.5")
11823 (source
11824 (origin
11825 (method git-fetch)
11826 (uri (git-reference
11827 (url "https://github.com/olekukonko/tablewriter")
11828 (commit (string-append "v" version))))
11829 (file-name (git-file-name name version))
11830 (sha256
11831 (base32 "0zhnrih2px6jm8nxzkz8s7va3lj03bzwxim8wjba9zh7i78bp67z"))))
11832 (build-system go-build-system)
11833 (arguments
11834 (list
11835 #:import-path "github.com/olekukonko/tablewriter"))
11836 (propagated-inputs
11837 (list go-github-com-mattn-go-runewidth))
11838 (home-page "https://github.com/olekukonko/tablewriter/")
11839 (synopsis "Generate ASCII table")
11840 (description "This package generates ASCII tables. Features:
11841@itemize
11842@item automatic Padding
11843@item support Multiple Lines
11844@item supports Alignment
11845@item support Custom Separators
11846@item automatic Alignment of numbers and percentage
11847@item write directly to http , file etc via @code{io.Writer}
11848@item read directly from CSV file
11849@item optional row line via @code{SetRowLine}
11850@item normalise table header
11851@item make CSV Headers optional
11852@item enable or disable table border
11853@item set custom footer support
11854@item optional identical cells merging
11855@item set custom caption
11856@item optional reflowing of paragrpahs in multi-line cells
11857@end itemize")
11858 (license license:expat)))
11859
11860(define-public go-github-com-olekukonko-ts
11861 (package
11862 (name "go-github-com-olekukonko-ts")
11863 (version "0.0.0-20171002115256-78ecb04241c0")
11864 (source
11865 (origin
11866 (method git-fetch)
11867 (uri (git-reference
11868 (url "https://github.com/olekukonko/ts")
11869 (commit (go-version->git-ref version))))
11870 (file-name (git-file-name name version))
11871 (sha256
11872 (base32 "0k88n5rvs5k5zalbfa7c71jkjb8dhpk83s425z728qn6aq49c978"))))
11873 (build-system go-build-system)
11874 (arguments
11875 (list
11876 #:tests? #f ; inappropriate ioctl for device.
11877 #:import-path "github.com/olekukonko/ts"))
11878 (home-page "https://github.com/olekukonko/ts/")
11879 (synopsis "Simple Go application to get the size of the terminal")
11880 (description
11881 "This package provides a simple Go application to get the size of the
11882terminal.")
11883 (license license:expat)))
11884
6285(define-public go-github-com-op-go-logging 11885(define-public go-github-com-op-go-logging
6286 (package 11886 (package
6287 (name "go-github-com-op-go-logging") 11887 (name "go-github-com-op-go-logging")
@@ -6309,6 +11909,63 @@ syslog, file and memory. Multiple backends can be utilized with different log
6309levels per backend and logger.") 11909levels per backend and logger.")
6310 (license license:bsd-3))) 11910 (license license:bsd-3)))
6311 11911
11912(define-public go-github-com-opencontainers-go-digest
11913 (package
11914 (name "go-github-com-opencontainers-go-digest")
11915 (version "1.0.0")
11916 (source
11917 (origin
11918 (method git-fetch)
11919 (uri (git-reference
11920 (url "https://github.com/opencontainers/go-digest")
11921 (commit (string-append "v" version))))
11922 (file-name (git-file-name name version))
11923 (sha256
11924 (base32 "0i5acjajvr6hi9zb7gxwifd8w28y884cv7cx36adj8lngj647xbi"))))
11925 (build-system go-build-system)
11926 (arguments
11927 (list
11928 #:import-path "github.com/opencontainers/go-digest"))
11929 (home-page "https://github.com/opencontainers/go-digest")
11930 (synopsis "Common digest package used across the container ecosystem")
11931 (description
11932 "Package digest provides a generalized type to opaquely represent message
11933digests and their operations within the registry. The Digest type is designed
11934to serve as a flexible identifier in a content-addressable system. More
11935importantly, it provides tools and wrappers to work with hash.Hash-based
11936digests with little effort.")
11937 (license (list license:asl2.0 license:cc-by-sa4.0))))
11938
11939(define-public go-github-com-opencontainers-image-spec
11940 (package
11941 (name "go-github-com-opencontainers-image-spec")
11942 (version "1.1.0")
11943 (source
11944 (origin
11945 (method git-fetch)
11946 (uri (git-reference
11947 (url "https://github.com/opencontainers/image-spec")
11948 (commit (string-append "v" version))))
11949 (file-name (git-file-name name version))
11950 (sha256
11951 (base32 "108jws0i4kbawcihprj3wxp3yqv7nrynkwzwmbz42sx8dmbfq0kc"))))
11952 (build-system go-build-system)
11953 (arguments
11954 (list
11955 #:skip-build? #t
11956 #:import-path "github.com/opencontainers/image-spec"))
11957 (propagated-inputs
11958 (list go-github-com-opencontainers-go-digest
11959 go-github-com-russross-blackfriday
11960 go-github-com-xeipuuv-gojsonreference
11961 go-github-com-xeipuuv-gojsonschema))
11962 (home-page "https://github.com/opencontainers/image-spec")
11963 (synopsis "OCI Image Format Specification")
11964 (description
11965 "The OCI Image Format project creates and maintains the software shipping
11966container image format spec (OCI Image Format).")
11967 (license license:asl2.0)))
11968
6312;; XXX: Find a way to source from specification-runtime-spec. 11969;; XXX: Find a way to source from specification-runtime-spec.
6313(define-public go-github-com-opencontainers-runtime-spec 11970(define-public go-github-com-opencontainers-runtime-spec
6314 (package 11971 (package
@@ -6338,6 +11995,31 @@ levels per backend and logger.")
6338specification-runtime-spec.") 11995specification-runtime-spec.")
6339 (license license:asl2.0))) 11996 (license license:asl2.0)))
6340 11997
11998(define-public go-github-com-opencontainers-selinux
11999 (package
12000 (name "go-github-com-opencontainers-selinux")
12001 (version "1.11.1")
12002 (source
12003 (origin
12004 (method git-fetch)
12005 (uri (git-reference
12006 (url "https://github.com/opencontainers/selinux")
12007 (commit (string-append "v" version))))
12008 (file-name (git-file-name name version))
12009 (sha256
12010 (base32 "19j92lj9037d94lsls97b9d6cr0y8qavi8rampyawlykcp7gknqz"))))
12011 (build-system go-build-system)
12012 (arguments
12013 (list
12014 #:skip-build? #t
12015 #:import-path "github.com/opencontainers/selinux"))
12016 (propagated-inputs (list go-golang-org-x-sys))
12017 (home-page "https://github.com/opencontainers/selinux")
12018 (synopsis "Common SELinux implementation")
12019 (description
12020 "Common SELinux package used across the container ecosystem.")
12021 (license license:asl2.0)))
12022
6341(define-public go-github-com-openhistogram-circonusllhist 12023(define-public go-github-com-openhistogram-circonusllhist
6342 (package 12024 (package
6343 (name "go-github-com-openhistogram-circonusllhist") 12025 (name "go-github-com-openhistogram-circonusllhist")
@@ -6449,6 +12131,67 @@ included in this package.")
6449 "This package implments recursive copy functinoality for directory.") 12131 "This package implments recursive copy functinoality for directory.")
6450 (license license:expat))) 12132 (license license:expat)))
6451 12133
12134(define-public go-github-com-outcaste-io-ristretto
12135 (package
12136 (name "go-github-com-outcaste-io-ristretto")
12137 (version "0.2.3")
12138 (source
12139 (origin
12140 (method git-fetch)
12141 (uri (git-reference
12142 (url "https://github.com/outcaste-io/ristretto")
12143 (commit (string-append "v" version))))
12144 (file-name (git-file-name name version))
12145 (sha256
12146 (base32 "07ndjrblmj9b3ghn10h040zvzf2i3mlzvfziklcqdkhxbr1hf1rq"))))
12147 (build-system go-build-system)
12148 (arguments
12149 (list
12150 #:import-path "github.com/outcaste-io/ristretto"))
12151 (native-inputs
12152 (list go-github-com-stretchr-testify))
12153 (propagated-inputs
12154 (list go-github-com-cespare-xxhash-v2
12155 go-github-com-dgryski-go-farm
12156 go-github-com-dustin-go-humanize
12157 go-github-com-pkg-errors
12158 go-go-uber-org-atomic
12159 go-golang-org-x-sys))
12160 (home-page "https://github.com/outcaste-io/ristretto")
12161 (synopsis "Memory-bound Go cache")
12162 (description
12163 "Ristretto is a fast, fixed size, in-memory cache with a dual focus on
12164throughput and hit ratio performance. It's a fork of
12165@code{dgraph-io/ristretto} project.")
12166 (license license:asl2.0)))
12167
12168(define-public go-github-com-patrickmn-go-cache
12169 (package
12170 (name "go-github-com-patrickmn-go-cache")
12171 (version "2.1.0")
12172 (source
12173 (origin
12174 (method git-fetch)
12175 (uri (git-reference
12176 (url "https://github.com/patrickmn/go-cache")
12177 (commit (string-append "v" version))))
12178 (file-name (git-file-name name version))
12179 (sha256
12180 (base32 "10020inkzrm931r4bixf8wqr9n39wcrb78vfyxmbvjavvw4zybgs"))))
12181 (build-system go-build-system)
12182 (arguments
12183 (list
12184 #:import-path "github.com/patrickmn/go-cache"))
12185 (home-page "https://github.com/patrickmn/go-cache")
12186 (synopsis "In-memory key:value store/cache Golang library")
12187 (description
12188 "go-cache is an in-memory key:value store/cache similar to Memcached that
12189is suitable for applications running on a single machine. Its major advantage
12190is that, being essentially a thread-safe @code{map[string]interface{}} with
12191expiration times, it doesn't need to serialize or transmit its contents over
12192the network.")
12193 (license license:expat)))
12194
6452(define-public go-github-com-pbnjay-memory 12195(define-public go-github-com-pbnjay-memory
6453 (let ((commit "7b4eea64cf580186c0eceb10dc94ba3a098af46c") 12196 (let ((commit "7b4eea64cf580186c0eceb10dc94ba3a098af46c")
6454 (revision "2")) 12197 (revision "2"))
@@ -6476,6 +12219,57 @@ memory accessible to the kernel. It does not account for memory used by other
6476processes.") 12219processes.")
6477 (license license:bsd-3)))) 12220 (license license:bsd-3))))
6478 12221
12222(define-public go-github-com-pborman-getopt
12223 (package
12224 (name "go-github-com-pborman-getopt")
12225 (version "1.0.0")
12226 (source
12227 (origin
12228 (method git-fetch)
12229 (uri (git-reference
12230 (url "https://github.com/pborman/getopt")
12231 (commit (string-append "v" version))))
12232 (file-name (git-file-name name version))
12233 (sha256
12234 (base32 "1sa66n392hzqbahn47grbjyaasvpklnn4s1wkzs1kdwrfdd62kfa"))
12235 (modules '((guix build utils)))
12236 (snippet
12237 #~(begin
12238 ;; Submodules with their own go.mod files and packaged separately:
12239 ;;
12240 ;; - github.com/pborman/getopt/v2
12241 (delete-file-recursively "v2")))))
12242 (build-system go-build-system)
12243 (arguments
12244 (list
12245 #:import-path "github.com/pborman/getopt"))
12246 (home-page "https://github.com/pborman/getopt")
12247 (synopsis "Getopt style option parsing for Go")
12248 (description
12249 "This package provides traditional getopt processing for implementing
12250programs that use traditional command lines.")
12251 (license license:bsd-3)))
12252
12253(define-public go-github-com-pborman-getopt-v2
12254 (package
12255 (inherit go-github-com-pborman-getopt)
12256 (name "go-github-com-pborman-getopt-v2")
12257 (version "2.1.0")
12258 (source
12259 (origin
12260 (method git-fetch)
12261 (uri (git-reference
12262 (url "https://github.com/pborman/getopt")
12263 (commit (string-append "v" version))))
12264 (file-name (git-file-name name version))
12265 (sha256
12266 (base32 "0sacv6g8cxfibxd3gnfjnzp7fynrnc4s2aaz5wbxivqqhvflc22l"))))
12267 (build-system go-build-system)
12268 (arguments
12269 (list
12270 #:import-path "github.com/pborman/getopt/v2"
12271 #:unpack-path "github.com/pborman/getopt"))))
12272
6479(define-public go-github-com-pelletier-go-toml 12273(define-public go-github-com-pelletier-go-toml
6480 (package 12274 (package
6481 (name "go-github-com-pelletier-go-toml") 12275 (name "go-github-com-pelletier-go-toml")
@@ -6506,7 +12300,7 @@ processes.")
6506 (package 12300 (package
6507 (inherit go-github-com-pelletier-go-toml) 12301 (inherit go-github-com-pelletier-go-toml)
6508 (name "go-github-com-pelletier-go-toml-v2") 12302 (name "go-github-com-pelletier-go-toml-v2")
6509 (version "2.2.2") 12303 (version "2.2.3")
6510 (source 12304 (source
6511 (origin 12305 (origin
6512 (method git-fetch) 12306 (method git-fetch)
@@ -6515,14 +12309,54 @@ processes.")
6515 (commit (string-append "v" version)))) 12309 (commit (string-append "v" version))))
6516 (file-name (git-file-name name version)) 12310 (file-name (git-file-name name version))
6517 (sha256 12311 (sha256
6518 (base32 "0gimgz33yxmvj0nmy56yy7zq4ay8j55ir8pfzmgwga7npgpzspk7")))) 12312 (base32 "0hqxj34d49snvc2m6lxfjxks3z9sic9xbb6w49ajrqbzy953spzs"))))
6519 (build-system go-build-system) 12313 (build-system go-build-system)
6520 (arguments 12314 (arguments
6521 (list #:import-path "github.com/pelletier/go-toml/v2")) 12315 (list
12316 #:import-path "github.com/pelletier/go-toml/v2"
12317 #:parallel-tests? #f
12318 #:test-flags
12319 #~(list "-short"
12320 "-count" "1"
12321 "-skip" "FuzzUnmarshal") ; for benchmark
12322 #:phases
12323 #~(modify-phases %standard-phases
12324 (add-after 'unpack 'remove-benchmarks
12325 (lambda* (#:key import-path #:allow-other-keys)
12326 (delete-file-recursively
12327 (string-append "src/" import-path "/benchmark")))))))
6522 (native-inputs 12328 (native-inputs
6523 (list go-github-com-stretchr-testify)) 12329 (list go-github-com-stretchr-testify))
6524 (propagated-inputs '()))) 12330 (propagated-inputs '())))
6525 12331
12332(define-public go-github-com-peterbourgon-diskv
12333 (package
12334 (name "go-github-com-peterbourgon-diskv")
12335 (version "3.0.0")
12336 (source
12337 (origin
12338 (method git-fetch)
12339 (uri (git-reference
12340 (url "https://github.com/peterbourgon/diskv")
12341 (commit (string-append "v" version))))
12342 (file-name (git-file-name name version))
12343 (sha256
12344 (base32 "0pdy8f7bkm65gx4vknwcvfa619hknflqxkdlvmf427k2mzm91gmh"))))
12345 (build-system go-build-system)
12346 (arguments
12347 (list
12348 #:import-path "github.com/peterbourgon/diskv"))
12349 (propagated-inputs (list go-github-com-google-btree))
12350 (home-page "https://github.com/peterbourgon/diskv")
12351 (synopsis "Disk-backed key-value store")
12352 (description
12353 "Diskv (disk-vee) is a simple, persistent key-value store written in the
12354Go language. It starts with a simple API for storing arbitrary data on a
12355filesystem by key, and builds several layers of performance-enhancing
12356abstraction on top. The end result is a conceptually simple, but highly
12357performant, disk-backed storage system.")
12358 (license license:expat)))
12359
6526(define-public go-github-com-philhofer-fwd 12360(define-public go-github-com-philhofer-fwd
6527 (package 12361 (package
6528 (name "go-github-com-philhofer-fwd") 12362 (name "go-github-com-philhofer-fwd")
@@ -6548,6 +12382,30 @@ that help improve the encoding/decoding performance of some binary
6548protocols.") 12382protocols.")
6549 (license license:expat))) 12383 (license license:expat)))
6550 12384
12385(define-public go-github-com-phpdave11-gofpdi
12386 (package
12387 (name "go-github-com-phpdave11-gofpdi")
12388 (version "1.0.14")
12389 (source
12390 (origin
12391 (method git-fetch)
12392 (uri (git-reference
12393 (url "https://github.com/phpdave11/gofpdi")
12394 (commit (string-append "v" version))))
12395 (file-name (git-file-name name version))
12396 (sha256
12397 (base32 "0zan4wmwd1rzrq57ynz4z5kf00b6xj0dnki123zai0j53xdngwhw"))))
12398 (build-system go-build-system)
12399 (arguments
12400 (list
12401 #:import-path "github.com/phpdave11/gofpdi"))
12402 (propagated-inputs (list go-github-com-pkg-errors))
12403 (home-page "https://github.com/phpdave11/gofpdi")
12404 (synopsis "PDF document importer")
12405 (description
12406 "gofpdi allows you to import an existing PDF into a new PDF.")
12407 (license license:expat)))
12408
6551(define-public go-github-com-pierrec-cmdflag 12409(define-public go-github-com-pierrec-cmdflag
6552 (package 12410 (package
6553 (name "go-github-com-pierrec-cmdflag") 12411 (name "go-github-com-pierrec-cmdflag")
@@ -6564,7 +12422,13 @@ protocols.")
6564 (build-system go-build-system) 12422 (build-system go-build-system)
6565 (arguments 12423 (arguments
6566 (list 12424 (list
6567 #:import-path "github.com/pierrec/cmdflag")) 12425 #:import-path "github.com/pierrec/cmdflag"
12426 #:phases
12427 #~(modify-phases %standard-phases
12428 (add-after 'unpack 'remove-examples
12429 (lambda* (#:key tests? import-path #:allow-other-keys)
12430 (with-directory-excursion (string-append "src/" import-path)
12431 (delete-file-recursively "examples")))))))
6568 (home-page "https://github.com/pierrec/cmdflag") 12432 (home-page "https://github.com/pierrec/cmdflag")
6569 (synopsis "Augment the flag package with commands") 12433 (synopsis "Augment the flag package with commands")
6570 (description 12434 (description
@@ -6596,34 +12460,199 @@ on top of the standard library @code{flag} package.")
6596Pion}.") 12460Pion}.")
6597 (license license:expat))) 12461 (license license:expat)))
6598 12462
12463(define-public go-github-com-pkg-diff
12464 (package
12465 (name "go-github-com-pkg-diff")
12466 (version "0.0.0-20241224192749-4e6772a4315c")
12467 (source
12468 (origin
12469 (method git-fetch)
12470 (uri (git-reference
12471 (url "https://github.com/pkg/diff")
12472 (commit (go-version->git-ref version))))
12473 (file-name (git-file-name name version))
12474 (sha256
12475 (base32 "1iwaa6g3mbbi1k6rw7fn85sg6lm6rlnjz07yb91hq1kll6494s18"))))
12476 (build-system go-build-system)
12477 (arguments
12478 (list
12479 #:import-path "github.com/pkg/diff"))
12480 (home-page "https://github.com/pkg/diff/")
12481 (synopsis "Create and print diffs")
12482 (description
12483 "This package provides a Go library to create and print diffs.")
12484 (license license:bsd-3)))
12485
12486(define-public go-github-com-pkg-term
12487 (package
12488 (name "go-github-com-pkg-term")
12489 (version "1.2.0-beta.2")
12490 (source
12491 (origin
12492 (method git-fetch)
12493 (uri (git-reference
12494 (url "https://github.com/pkg/term")
12495 (commit (string-append "v" version))))
12496 (file-name (git-file-name name version))
12497 (sha256
12498 (base32 "1fflh4lglbvdz8949h8spbw3vwdldgnl6zgps4ylzzr40hhyvgf5"))))
12499 (build-system go-build-system)
12500 (arguments
12501 (list
12502 #:import-path "github.com/pkg/term"
12503 #:test-flags
12504 #~(list "-skip"
12505 (string-join
12506 ;; Tests fail with error: inappropriate ioctl for device.
12507 (list "TestTiocmbic"
12508 "TestTiocmbis"
12509 "TestTiocmget"
12510 "TestTiocmset")
12511 "|"))))
12512 (propagated-inputs (list go-golang-org-x-sys))
12513 (home-page "https://github.com/pkg/term")
12514 (synopsis "Manages POSIX terminals from Golang")
12515 (description
12516 "Package term manages POSIX terminals. As POSIX terminals are connected
12517to, or emulate, a UART, this package also provides control over the various
12518UART and serial line parameters.")
12519 (license license:bsd-2)))
12520
12521(define-public go-github-com-pkg-xattr
12522 (package
12523 (name "go-github-com-pkg-xattr")
12524 (version "0.4.10")
12525 (source
12526 (origin
12527 (method git-fetch)
12528 (uri (git-reference
12529 (url "https://github.com/pkg/xattr")
12530 (commit (string-append "v" version))))
12531 (file-name (git-file-name name version))
12532 (sha256
12533 (base32 "0rxvfiwgd0z9alj4n8jympmyi68zh1swf3siim8r2h01nm4i0vqh"))))
12534 (build-system go-build-system)
12535 (arguments
12536 (list
12537 #:import-path "github.com/pkg/xattr"))
12538 (propagated-inputs
12539 (list go-golang-org-x-sys))
12540 (home-page "https://github.com/pkg/xattr")
12541 (synopsis "Support for extended file system attributes")
12542 (description
12543 "Package xattr provides support for extended attributes on Linux, Darwin
12544and FreeBSD. Extended attributes are name:value pairs permanently associated
12545with files or directories. They are similar to the environment strings
12546associated with a process. An attribute may be defined or undefined. If
12547defined, its value may be empty or non-empty. You can find more details here:
12548@@url{https://en.wikipedia.org/wiki/Extended_file_attributes,
12549https://en.wikipedia.org/wiki/Extended_file_attributes}.")
12550 (license license:bsd-2)))
12551
12552(define-public go-github-com-pmezard-go-difflib
12553 (package
12554 (name "go-github-com-pmezard-go-difflib")
12555 (version "1.0.0")
12556 (source
12557 (origin
12558 (method git-fetch)
12559 (uri (git-reference
12560 (url "https://github.com/pmezard/go-difflib")
12561 (commit (string-append "v" version))))
12562 (file-name (git-file-name name version))
12563 (sha256
12564 (base32 "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"))))
12565 (build-system go-build-system)
12566 (arguments
12567 (list
12568 #:import-path "github.com/pmezard/go-difflib/difflib"
12569 #:unpack-path "github.com/pmezard/go-difflib/"))
12570 (home-page "https://github.com/pmezard/go-difflib")
12571 (synopsis "Go diff implementation")
12572 (description
12573 "This package provides unified and context-aware diffs in Go.")
12574 (license license:bsd-3)))
12575
6599(define-public go-github-com-polydawn-refmt 12576(define-public go-github-com-polydawn-refmt
6600 (package 12577 (package
6601 (name "go-github-com-polydawn-refmt") 12578 (name "go-github-com-polydawn-refmt")
6602 (version "0.89.1-0.20231129105047-37766d95467a") 12579 (version "0.89.0")
6603 (source 12580 (source
6604 (origin 12581 (origin
6605 (method git-fetch) 12582 (method git-fetch)
6606 (uri (git-reference 12583 (uri (git-reference
6607 (url "https://github.com/polydawn/refmt/") 12584 (url "https://github.com/polydawn/refmt/")
6608 (commit (go-version->git-ref version)))) 12585 (commit (string-append "v" version))))
6609 (file-name (git-file-name name version)) 12586 (file-name (git-file-name name version))
6610 (sha256 12587 (sha256
6611 (base32 "0grgzacc7igfndk1v3n1g6k4wdz6bjsiqfq3n5br2zpr7n40ha9n")))) 12588 (base32 "1v4av75nlgvps5q2h3q6w3cmry0gg316l82zmj6sph9bp2c87621"))))
6612 (build-system go-build-system) 12589 (build-system go-build-system)
6613 (arguments 12590 (arguments
6614 (list 12591 (list
6615 #:import-path "github.com/polydawn/refmt")) 12592 #:import-path "github.com/polydawn/refmt"))
6616 (propagated-inputs 12593 (propagated-inputs
6617 (list go-github-com-urfave-cli 12594 (list go-github-com-go-yaml-yaml
6618 go-github-com-warpfork-go-wish
6619 go-github-com-smartystreets-goconvey 12595 go-github-com-smartystreets-goconvey
6620 go-gopkg-in-yaml-v2)) 12596 go-github-com-urfave-cli
12597 go-github-com-warpfork-go-wish))
6621 (home-page "https://github.com/polydawn/refmt/") 12598 (home-page "https://github.com/polydawn/refmt/")
6622 (synopsis "Object mapping for Go language") 12599 (synopsis "Object mapping for Go language")
6623 (description 12600 (description
6624 "@code{refmt} is a serialization and object-mapping library.") 12601 "@code{refmt} is a serialization and object-mapping library.")
6625 (license license:expat))) 12602 (license license:expat)))
6626 12603
12604(define-public go-github-com-posener-complete
12605 (package
12606 (name "go-github-com-posener-complete")
12607 (version "1.2.3")
12608 (source
12609 (origin
12610 (method git-fetch)
12611 (uri (git-reference
12612 (url "https://github.com/posener/complete")
12613 (commit (string-append "v" version))))
12614 (file-name (git-file-name name version))
12615 (sha256
12616 (base32 "0nri6hkfb0z3dkxf2fsfidr4bxbn91rjsqhg5s0c2jplf0aclppz"))))
12617 (build-system go-build-system)
12618 (arguments
12619 (list
12620 #:import-path "github.com/posener/complete"))
12621 (native-inputs
12622 (list go-github-com-stretchr-testify))
12623 (propagated-inputs
12624 (list go-github-com-hashicorp-go-multierror))
12625 (home-page "https://github.com/posener/complete")
12626 (synopsis "Bash completion implemented in Golang")
12627 (description
12628 "Package complete provides a tool for bash writing bash completion in go,
12629and bash completion for the go command line.")
12630 (license license:expat)))
12631
12632(define-public go-github-com-prometheus-community-go-runit
12633 (package
12634 (name "go-github-com-prometheus-community-go-runit")
12635 (version "0.1.0")
12636 (source
12637 (origin
12638 (method git-fetch)
12639 (uri (git-reference
12640 (url "https://github.com/prometheus-community/go-runit")
12641 (commit (string-append "v" version))))
12642 (file-name (git-file-name name version))
12643 (sha256
12644 (base32 "1f5z10ynf67xx566ahnp5ndwxqz0i8rd8xnjiw7za6pz0wgj6wmk"))))
12645 (build-system go-build-system)
12646 (arguments
12647 (list
12648 #:skip-build? #t
12649 #:import-path "github.com/prometheus-community/go-runit"))
12650 (home-page "https://github.com/prometheus-community/go-runit")
12651 (synopsis "Wrapping runit service status")
12652 (description
12653 "This package provides a wrapper round runit service status.")
12654 (license license:expat)))
12655
6627(define-public go-github-com-pterm-pterm 12656(define-public go-github-com-pterm-pterm
6628 (package 12657 (package
6629 (name "go-github-com-pterm-pterm") 12658 (name "go-github-com-pterm-pterm")
@@ -6693,35 +12722,44 @@ watches memory utilization and forces Go GC in accordance with a user-defined
6693policy.") 12722policy.")
6694 (license (list license:asl2.0 license:expat)))) 12723 (license (list license:asl2.0 license:expat))))
6695 12724
6696(define-public go-github-com-rcrowley-go-metrics 12725(define-public go-github-com-reiver-go-porterstemmer
6697 (let ((commit "cac0b30c2563378d434b5af411844adff8e32960") 12726 ;; The latest commit contain test fixtures.
6698 (revision "2")) 12727 (let ((commit "ab0f922907ea0321367a5776bd7a6c35d505d53b")
12728 (revision "0"))
6699 (package 12729 (package
6700 (name "go-github-com-rcrowley-go-metrics") 12730 (name "go-github-com-reiver-go-porterstemmer")
6701 (version (git-version "0.0.0" revision commit)) 12731 (version (git-version "1.0.1" revision commit))
6702 (source 12732 (source
6703 (origin 12733 (origin
6704 (method git-fetch) 12734 (method git-fetch)
6705 (uri (git-reference 12735 (uri (git-reference
6706 (url "https://github.com/rcrowley/go-metrics") 12736 (url "https://github.com/reiver/go-porterstemmer")
6707 (commit commit))) 12737 (commit commit)))
6708 (file-name (git-file-name name version)) 12738 (file-name (git-file-name name version))
6709 (sha256 12739 (sha256
6710 (base32 "1hfxffnpaw49pr3wrkbzq3pnv3nyzsvk5dxndv0yz70xlrbg8a04")))) 12740 (base32 "10inyn0hdwdp619fk9lamq7cffalq4b201s3m75dfsqrb46az1ph"))))
6711 (build-system go-build-system) 12741 (build-system go-build-system)
6712 (arguments 12742 (arguments
6713 ;; Arbitrary precision tests are known to be broken on aarch64, ppc64le 12743 (list
6714 ;; and s390x. See: https://github.com/rcrowley/go-metrics/issues/249 12744 #:import-path "github.com/reiver/go-porterstemmer"
6715 `(#:tests? ,(not (string-prefix? "aarch64" (or (%current-target-system) 12745 ;; Could not download test file (from web) from URL:
6716 (%current-system)))) 12746 ;; [http://tartarus.org/martin/PorterStemmer/voc.txt]
6717 #:import-path "github.com/rcrowley/go-metrics")) 12747 #:test-flags #~(list "-skip" "TestHasSuffix|TestStemString")
6718 (propagated-inputs 12748 #:phases
6719 (list go-github-com-stathat-go)) 12749 #~(modify-phases %standard-phases
6720 (synopsis "Go port of Coda Hale's Metrics library") 12750 (add-after 'unpack 'fix-tests
6721 (description "This package provides a Go implementation of Coda Hale's 12751 (lambda* (#:key import-path #:allow-other-keys)
6722Metrics library.") 12752 (with-directory-excursion (string-append "src/" import-path)
6723 (home-page "https://github.com/rcrowley/go-metrics") 12753 (substitute* "porterstemmer_has_suffix_test.go"
6724 (license license:bsd-2)))) 12754 ;; (*testing.common).Errorf format %d has arg
12755 ;; datum.Expected of wrong type bool
12756 (("%d") "%t"))))))))
12757 (home-page "https://github.com/reiver/go-porterstemmer")
12758 (synopsis "Clean room implementation of the Porter Stemming algorithm")
12759 (description
12760 "This package provides a native Go clean room implementation of the
12761Porter Stemming Algorithm.")
12762 (license license:expat))))
6725 12763
6726(define-public go-github-com-remeh-sizedwaitgroup 12764(define-public go-github-com-remeh-sizedwaitgroup
6727 (package 12765 (package
@@ -6750,6 +12788,135 @@ routines querying a database but without sending too much queries in order to
6750not overload the given database.") 12788not overload the given database.")
6751 (license license:expat))) 12789 (license license:expat)))
6752 12790
12791(define-public go-github-com-rifflock-lfshook
12792 (package
12793 (name "go-github-com-rifflock-lfshook")
12794 (version "2.4")
12795 (source
12796 (origin
12797 (method git-fetch)
12798 (uri (git-reference
12799 (url "https://github.com/rifflock/lfshook")
12800 (commit (string-append "v" version))))
12801 (file-name (git-file-name name version))
12802 (sha256
12803 (base32 "0wxqjcjfg8c0klmdgmbw3ckagby3wg9rkga9ihd4fsf05x5scxrc"))))
12804 (build-system go-build-system)
12805 (arguments
12806 (list
12807 #:import-path "github.com/rifflock/lfshook"))
12808 (propagated-inputs
12809 (list go-github-com-sirupsen-logrus))
12810 (home-page "https://github.com/rifflock/lfshook")
12811 (synopsis "Local File System hook for Logrus logger")
12812 (description
12813 "This package provides a hook for Logrus to write directly to a file on
12814the file system. The log levels are dynamic at instantiation of the hook, so
12815it is capable of logging at some or all levels.")
12816 (license license:expat)))
12817
12818(define-public go-github-com-rivo-tview
12819 (package
12820 (name "go-github-com-rivo-tview")
12821 (version "0.0.0-20241227133733-17b7edb88c57")
12822 (source
12823 (origin
12824 (method git-fetch)
12825 (uri (git-reference
12826 (url "https://github.com/rivo/tview")
12827 (commit (go-version->git-ref version))))
12828 (file-name (git-file-name name version))
12829 (sha256
12830 (base32 "1w59vyvs8k5mzl7k39zpwcwwdgam2pbz0rnrfnnjgvkld1rh81dc"))))
12831 (build-system go-build-system)
12832 (arguments
12833 (list #:import-path "github.com/rivo/tview"))
12834 (propagated-inputs
12835 (list go-github-com-gdamore-tcell-v2
12836 go-github-com-lucasb-eyer-go-colorful
12837 go-github-com-rivo-uniseg))
12838 (home-page "https://github.com/rivo/tview")
12839 (synopsis "Rich Interactive Widgets for Terminal UIs")
12840 (description
12841 "The tview package implements rich widgets for terminal based user
12842interfaces. The widgets provided with this package are useful for data
12843exploration and data entry.")
12844 (license license:expat)))
12845
12846(define-public go-github-com-rivo-uniseg
12847 (package
12848 (name "go-github-com-rivo-uniseg")
12849 (version "0.4.7")
12850 (source
12851 (origin
12852 (method git-fetch)
12853 (uri (git-reference
12854 (url "https://github.com/rivo/uniseg")
12855 (commit (string-append "v" version))))
12856 (file-name (git-file-name name version))
12857 (sha256
12858 (base32 "0nlcqyvq4vhq3hqhk84h6fp0jbqkjj88kcpcl853yr7sh4sisdxc"))))
12859 (build-system go-build-system)
12860 (arguments
12861 (list
12862 #:import-path "github.com/rivo/uniseg"))
12863 (home-page "https://github.com/rivo/uniseg")
12864 (synopsis "Unicode Text Segmentation for Go")
12865 (description
12866 "This package implements Unicode Text Segmentation according to
12867@url{https://unicode.org/reports/tr29/, Unicode Standard Annex #29}.")
12868 (license license:expat)))
12869
12870(define-public go-github-com-riywo-loginshell
12871 (package
12872 (name "go-github-com-riywo-loginshell")
12873 (version "0.0.0-20200815045211-7d26008be1ab")
12874 (source
12875 (origin
12876 (method git-fetch)
12877 (uri (git-reference
12878 (url "https://github.com/riywo/loginshell")
12879 (commit (go-version->git-ref version))))
12880 (file-name (git-file-name name version))
12881 (sha256
12882 (base32 "138yvis6lipw9x02jyiz7472bxi20206bcfikcar54i3xsww9q4i"))))
12883 (build-system go-build-system)
12884 (arguments
12885 (list #:import-path "github.com/riywo/loginshell"
12886 ;; Tests try to get the current user's login shell; the build
12887 ;; user doesn't have one.
12888 #:tests? #f))
12889 (home-page "https://github.com/riywo/loginshell")
12890 (synopsis "Get the user's login shell in Go")
12891 (description
12892 "The loginshell package provides a Go library to get the login shell of
12893the current user.")
12894 (license license:expat)))
12895
12896(define-public go-github-com-robfig-cron-v3
12897 (package
12898 (name "go-github-com-robfig-cron-v3")
12899 (version "3.0.1")
12900 (source
12901 (origin
12902 (method git-fetch)
12903 (uri (git-reference
12904 (url "https://github.com/robfig/cron")
12905 (commit (string-append "v" version))))
12906 (file-name (git-file-name name version))
12907 (sha256
12908 (base32 "1agzbw2dfk2d1mpmddr85s5vh6ygm8kqrvfg87i9d2wqnlsnliqm"))))
12909 (build-system go-build-system)
12910 (arguments
12911 (list
12912 #:import-path "github.com/robfig/cron/v3"))
12913 (home-page "https://godoc.org/github.com/robfig/cron")
12914 (synopsis "Cron library for Go")
12915 (description
12916 "This package provides a cron library for Go. It implements a cron spec
12917parser and job runner.")
12918 (license license:expat)))
12919
6753(define-public go-github-com-rogpeppe-fastuuid 12920(define-public go-github-com-rogpeppe-fastuuid
6754 (package 12921 (package
6755 (name "go-github-com-rogpeppe-fastuuid") 12922 (name "go-github-com-rogpeppe-fastuuid")
@@ -6791,21 +12958,9 @@ strings.")
6791 (build-system go-build-system) 12958 (build-system go-build-system)
6792 (arguments 12959 (arguments
6793 (list 12960 (list
12961 #:skip-build? #t
6794 #:import-path "github.com/rogpeppe/go-internal" 12962 #:import-path "github.com/rogpeppe/go-internal"
6795 #:phases 12963 #:test-flags #~(list "-skip" "TestSimple/cover")))
6796 #~(modify-phases %standard-phases
6797 (add-after 'unpack 'disable-failing-tests
6798 (lambda* (#:key tests? import-path #:allow-other-keys)
6799 (with-directory-excursion (string-append "src/" import-path)
6800 (substitute* (find-files "." "\\_test.go$")
6801 (("TestSimple") "OffTestSimple")))))
6802 ;; XXX: Replace when go-build-system supports nested path.
6803 (delete 'build)
6804 (replace 'check
6805 (lambda* (#:key import-path tests? #:allow-other-keys)
6806 (when tests?
6807 (with-directory-excursion (string-append "src/" import-path)
6808 (invoke "go" "test" "-v" "./..."))))))))
6809 (propagated-inputs 12964 (propagated-inputs
6810 (list go-golang-org-x-mod 12965 (list go-golang-org-x-mod
6811 go-golang-org-x-sys 12966 go-golang-org-x-sys
@@ -6850,12 +13005,16 @@ Included are the following:
6850 (build-system go-build-system) 13005 (build-system go-build-system)
6851 (arguments 13006 (arguments
6852 (list 13007 (list
6853 #:import-path "github.com/rs/zerolog")) 13008 #:import-path "github.com/rs/zerolog"
13009 ;; Unexpected error write unixgram @234fb->/run/systemd/journal/socket:
13010 ;; sendmsg: no such file or directory
13011 #:test-flags #~(list "-skip" "TestWriteReturnsNoOfWrittenBytes")))
6854 (propagated-inputs 13012 (propagated-inputs
6855 (list go-github-com-coreos-go-systemd-v22 13013 (list go-github-com-coreos-go-systemd-v22
6856 go-github-com-mattn-go-colorable 13014 go-github-com-mattn-go-colorable
6857 go-github-com-pkg-errors 13015 go-github-com-pkg-errors
6858 go-github-com-rs-xid)) 13016 go-github-com-rs-xid
13017 go-golang-org-x-tools))
6859 (home-page "https://github.com/rs/zerolog") 13018 (home-page "https://github.com/rs/zerolog")
6860 (synopsis "Zero Allocation JSON Logger") 13019 (synopsis "Zero Allocation JSON Logger")
6861 (description 13020 (description
@@ -6863,6 +13022,50 @@ Included are the following:
6863logging.") 13022logging.")
6864 (license license:expat))) 13023 (license license:expat)))
6865 13024
13025(define-public go-github-com-russross-blackfriday
13026 (package
13027 (name "go-github-com-russross-blackfriday")
13028 (version "1.6.0")
13029 (source
13030 (origin
13031 (method git-fetch)
13032 (uri (git-reference
13033 (url "https://github.com/russross/blackfriday")
13034 (commit (string-append "v" version))))
13035 (file-name (git-file-name name version))
13036 (sha256
13037 (base32 "036028ynpq52z9snmd2b1kjzyvv6n9sg71k651ndznggnw19aamp"))))
13038 (build-system go-build-system)
13039 (arguments
13040 (list #:import-path "github.com/russross/blackfriday"))
13041 (native-inputs
13042 (list go-github-com-pmezard-go-difflib))
13043 (propagated-inputs
13044 (list go-github-com-shurcool-sanitized-anchor-name))
13045 (home-page "https://github.com/russross/blackfriday")
13046 (synopsis "Markdown processor in Go")
13047 (description
13048 "Blackfriday is a Markdown processor in Go.")
13049 (license license:bsd-2)))
13050
13051(define-public go-github-com-russross-blackfriday-v2
13052 (package
13053 (inherit go-github-com-russross-blackfriday)
13054 (name "go-github-com-russross-blackfriday-v2")
13055 (version "2.1.0")
13056 (source
13057 (origin
13058 (method git-fetch)
13059 (uri (git-reference
13060 (url "https://github.com/russross/blackfriday")
13061 (commit (string-append "v" version))))
13062 (file-name (git-file-name name version))
13063 (sha256
13064 (base32 "0d1rg1drrfmabilqjjayklsz5d0n3hkf979sr3wsrw92bfbkivs7"))))
13065 (arguments
13066 (list #:import-path "github.com/russross/blackfriday/v2"))))
13067
13068
6866(define-public go-github-com-ryanuber-columnize 13069(define-public go-github-com-ryanuber-columnize
6867 (package 13070 (package
6868 (name "go-github-com-ryanuber-columnize") 13071 (name "go-github-com-ryanuber-columnize")
@@ -6886,6 +13089,30 @@ logging.")
6886 "This package implements column-formatted output for Golang.") 13089 "This package implements column-formatted output for Golang.")
6887 (license license:expat))) 13090 (license license:expat)))
6888 13091
13092(define-public go-github-com-sabhiram-go-gitignore
13093 (package
13094 (name "go-github-com-sabhiram-go-gitignore")
13095 (version "0.0.0-20210923224102-525f6e181f06")
13096 (source
13097 (origin
13098 (method git-fetch)
13099 (uri (git-reference
13100 (url "https://github.com/sabhiram/go-gitignore")
13101 (commit (go-version->git-ref version))))
13102 (file-name (git-file-name name version))
13103 (sha256
13104 (base32 "197giv3snczvbihzvkja5pq53yw5fc516rnjm71hni8gawb8jmh3"))))
13105 (build-system go-build-system)
13106 (arguments
13107 (list
13108 #:import-path "github.com/sabhiram/go-gitignore"))
13109 (native-inputs
13110 (list go-github-com-stretchr-testify))
13111 (home-page "https://github.com/sabhiram/go-gitignore")
13112 (synopsis "Gitignore parser for Go")
13113 (description "A @command{.gitignore} parser for Go.")
13114 (license license:expat)))
13115
6889(define-public go-github-com-sahilm-fuzzy 13116(define-public go-github-com-sahilm-fuzzy
6890 (package 13117 (package
6891 (name "go-github-com-sahilm-fuzzy") 13118 (name "go-github-com-sahilm-fuzzy")
@@ -6901,8 +13128,7 @@ logging.")
6901 (base32 "15j95gm7hcmg09x1b39vc4il8bryv4v0yljvvyq5vyc6iq66qrbz")))) 13128 (base32 "15j95gm7hcmg09x1b39vc4il8bryv4v0yljvvyq5vyc6iq66qrbz"))))
6902 (build-system go-build-system) 13129 (build-system go-build-system)
6903 (native-inputs 13130 (native-inputs
6904 (list go-github-com-kylelemons-godebug 13131 (list go-github-com-kylelemons-godebug))
6905 go-github-com-kylelemons-godebug-pretty))
6906 (arguments 13132 (arguments
6907 (list #:import-path "github.com/sahilm/fuzzy")) 13133 (list #:import-path "github.com/sahilm/fuzzy"))
6908 (home-page "https://github.com/sahilm/fuzzy") 13134 (home-page "https://github.com/sahilm/fuzzy")
@@ -6912,6 +13138,111 @@ logging.")
6912symbols in the style of Sublime Text, VSCode, @code{IntelliJ} IDEA et al.") 13138symbols in the style of Sublime Text, VSCode, @code{IntelliJ} IDEA et al.")
6913 (license license:expat))) 13139 (license license:expat)))
6914 13140
13141(define-public go-github-com-saracen-walker
13142 (package
13143 (name "go-github-com-saracen-walker")
13144 (version "0.1.4")
13145 (source
13146 (origin
13147 (method git-fetch)
13148 (uri (git-reference
13149 (url "https://github.com/saracen/walker")
13150 (commit (string-append "v" version))))
13151 (file-name (git-file-name name version))
13152 (sha256
13153 (base32 "17i2zrbcp0zgwfgap555pk358wpqfa8qj8pmgwhjkzwd77nyl77g"))))
13154 (build-system go-build-system)
13155 (arguments
13156 (list
13157 #:import-path "github.com/saracen/walker"))
13158 (inputs
13159 (list go-golang-org-x-sync))
13160 (home-page "https://github.com/saracen/walker")
13161 (synopsis "Faster, parallel version of Go's filepath.Walk")
13162 (description
13163 "The @code{walker} function is a faster, parallel version, of
13164@code{filepath.Walk}")
13165 (license license:expat)))
13166
13167(define-public go-github-com-satori-go-uuid
13168 (package
13169 (name "go-github-com-satori-go-uuid")
13170 (version "1.2.0")
13171 (source
13172 (origin
13173 (method git-fetch)
13174 (uri (git-reference
13175 (url "https://github.com/satori/go.uuid")
13176 (commit (string-append "v" version))))
13177 (file-name (git-file-name name version))
13178 (sha256
13179 (base32 "1j4s5pfg2ldm35y8ls8jah4dya2grfnx2drb4jcbjsyrp4cm5yfb"))))
13180 (build-system go-build-system)
13181 (arguments
13182 (list
13183 #:import-path "github.com/satori/go.uuid"))
13184 (native-inputs
13185 (list go-gopkg-in-check-v1))
13186 (home-page "https://github.com/satori/go.uuid")
13187 (synopsis "UUID package for Go language")
13188 (description
13189 "Package uuid provides implementation of @acronym{Universally Unique
13190Identifier, UUID}. Supported versions are 1, 3, 4 and 5 (as specified in
13191@url{https://rfc-editor.org/rfc/rfc4122.html,RFC 4122}) and version 2 (as
13192specified in DCE 1.1).")
13193 (license license:expat)))
13194
13195(define-public go-github-com-savsgio-gotils
13196 (package
13197 (name "go-github-com-savsgio-gotils")
13198 (version "0.0.0-20240704082632-aef3928b8a38")
13199 (source
13200 (origin
13201 (method git-fetch)
13202 (uri (git-reference
13203 (url "https://github.com/savsgio/gotils")
13204 (commit (go-version->git-ref version))))
13205 (file-name (git-file-name name version))
13206 (sha256
13207 (base32 "0s3xsq4wy2xi17wq0kzw2zszj9vwndzvvmkx7pp7crx8k43x16ll"))))
13208 (build-system go-build-system)
13209 (arguments
13210 (list
13211 #:skip-build? #t
13212 #:import-path "github.com/savsgio/gotils"))
13213 (propagated-inputs
13214 (list go-github-com-google-uuid
13215 go-github-com-valyala-bytebufferpool))
13216 (home-page "https://github.com/savsgio/gotils")
13217 (synopsis "Golang utilities")
13218 (description
13219 "Golang utilities to make your life easier with zero allocations.")
13220 (license license:asl2.0)))
13221
13222(define-public go-github-com-schachmat-ingo
13223 (package
13224 (name "go-github-com-schachmat-ingo")
13225 (version "0.0.0-20170403011506-a4bdc0729a3f")
13226 (source
13227 (origin
13228 (method git-fetch)
13229 (uri (git-reference
13230 (url "https://github.com/schachmat/ingo")
13231 (commit (go-version->git-ref version))))
13232 (file-name (git-file-name name version))
13233 (sha256
13234 (base32 "1gw0kddy7jh3467imsqni86cf9yq7k6vpfc0ywkbwj0zsjsdgd49"))))
13235 (build-system go-build-system)
13236 (arguments
13237 (list
13238 #:import-path "github.com/schachmat/ingo"))
13239 (home-page "https://github.com/schachmat/ingo")
13240 (synopsis "Go library to persist flags in a INI-like configuration file")
13241 (description
13242 "Ingo is a Go library helping you to persist flags in a INI-like
13243configuration file.")
13244 (license license:isc)))
13245
6915(define-public go-github-com-schollz-progressbar-v3 13246(define-public go-github-com-schollz-progressbar-v3
6916 (package 13247 (package
6917 (name "go-github-com-schollz-progressbar-v3") 13248 (name "go-github-com-schollz-progressbar-v3")
@@ -6956,6 +13287,43 @@ detect the number of bytes written to a stream, so you can use it as a
6956is undetermined, a customizable spinner is shown.") 13287is undetermined, a customizable spinner is shown.")
6957 (license license:expat))) 13288 (license license:expat)))
6958 13289
13290(define-public go-github-com-sebdah-goldie-v2
13291 (package
13292 (name "go-github-com-sebdah-goldie-v2")
13293 (version "2.5.5")
13294 (source
13295 (origin
13296 (method git-fetch)
13297 (uri (git-reference
13298 (url "https://github.com/sebdah/goldie")
13299 (commit (string-append "v" version))))
13300 (file-name (git-file-name name version))
13301 (sha256
13302 (base32 "06hyzl7cl09dfsmd0lb88icklv5g59hgs5wqgngl39fbawkbc411"))
13303 (snippet
13304 #~(begin (use-modules (guix build utils))
13305 (delete-file-recursively "vendor")
13306 (delete-file-recursively "v2/vendor")))))
13307 (build-system go-build-system)
13308 (arguments
13309 (list
13310 #:import-path "github.com/sebdah/goldie/v2"
13311 #:unpack-path "github.com/sebdah/goldie"
13312 ;; Test requires to refresh test data: "The first time running go test,
13313 ;; with -update, without -clean".
13314 #:test-flags #~(list "-skip" "TestCleanFunction")))
13315 (native-inputs
13316 (list go-github-com-stretchr-testify))
13317 (propagated-inputs
13318 (list go-github-com-pmezard-go-difflib
13319 go-github-com-sergi-go-diff))
13320 (home-page "https://github.com/sebdah/goldie")
13321 (synopsis "Golden test utility")
13322 (description
13323 "Package goldie provides test assertions based on golden files.
13324It's typically used for testing responses with larger data bodies.")
13325 (license license:expat)))
13326
6959(define-public go-github-com-sergi-go-diff 13327(define-public go-github-com-sergi-go-diff
6960 (package 13328 (package
6961 (name "go-github-com-sergi-go-diff") 13329 (name "go-github-com-sergi-go-diff")
@@ -7082,6 +13450,67 @@ sensors).")
7082 ;; environment. 13450 ;; environment.
7083 (string-append "src/" import-path "/host/host_test.go"))))))))) 13451 (string-append "src/" import-path "/host/host_test.go")))))))))
7084 13452
13453(define-public go-github-com-shurcool-sanitized-anchor-name
13454 (package
13455 (name "go-github-com-shurcool-sanitized-anchor-name")
13456 (version "1.0.0")
13457 (source
13458 (origin
13459 (method git-fetch)
13460 (uri (git-reference
13461 (url "https://github.com/shurcooL/sanitized_anchor_name")
13462 (commit (string-append "v" version))))
13463 (file-name (git-file-name name version))
13464 (sha256
13465 (base32
13466 "1gv9p2nr46z80dnfjsklc6zxbgk96349sdsxjz05f3z6wb6m5l8f"))))
13467 (build-system go-build-system)
13468 (arguments
13469 (list
13470 #:import-path "github.com/shurcooL/sanitized_anchor_name"))
13471 (home-page "https://github.com/shurcooL/sanitized_anchor_name")
13472 (synopsis "Create sanitized anchor names")
13473 (description
13474 "This package provides a Go program for creating sanitized anchor
13475names.")
13476 (license license:expat)))
13477
13478(define-public go-github-com-sirupsen-logrus
13479 (package
13480 (name "go-github-com-sirupsen-logrus")
13481 (version "1.9.3")
13482 (source
13483 (origin
13484 (method git-fetch)
13485 (uri (git-reference
13486 (url "https://github.com/sirupsen/logrus")
13487 (commit (string-append "v" version))))
13488 (file-name (git-file-name name version))
13489 (sha256
13490 (base32 "1jz7nyq88i9fwfpp7krl046q62kjn6lb9j4r932bxnpypl1hwc49"))))
13491 (build-system go-build-system)
13492 (arguments
13493 (list
13494 #:import-path "github.com/sirupsen/logrus"
13495 #:test-flags #~(list "-skip" "TestNestedLoggingReportsCorrectCaller")
13496 #:phases
13497 #~(modify-phases %standard-phases
13498 (replace 'check
13499 (lambda* (#:key inputs #:allow-other-keys #:rest args)
13500 (unless
13501 ;; The tests fail when run with gccgo.
13502 (false-if-exception (search-input-file inputs "/bin/gccgo"))
13503 (apply (assoc-ref %standard-phases 'check) args)))))))
13504 (native-inputs
13505 (list go-github-com-stretchr-testify))
13506 (propagated-inputs
13507 (list go-golang-org-x-sys))
13508 (home-page "https://github.com/sirupsen/logrus")
13509 (synopsis "Structured, pluggable logging for Go")
13510 (description "Logrus is a structured logger for Go, completely API
13511compatible with the standard library logger.")
13512 (license license:expat)))
13513
7085(define-public go-github-com-skip2-go-qrcode 13514(define-public go-github-com-skip2-go-qrcode
7086 (package 13515 (package
7087 (name "go-github-com-skip2-go-qrcode") 13516 (name "go-github-com-skip2-go-qrcode")
@@ -7103,6 +13532,58 @@ sensors).")
7103 (description "This package provides a QR code encoder for the Goloang.") 13532 (description "This package provides a QR code encoder for the Goloang.")
7104 (license license:expat))) 13533 (license license:expat)))
7105 13534
13535(define-public go-github-com-skratchdot-open-golang
13536 (package
13537 (name "go-github-com-skratchdot-open-golang")
13538 (version "0.0.0-20200116055534-eef842397966")
13539 (source
13540 (origin
13541 (method git-fetch)
13542 (uri (git-reference
13543 (url "https://github.com/skratchdot/open-golang")
13544 (commit (go-version->git-ref version))))
13545 (file-name (git-file-name name version))
13546 (sha256
13547 (base32 "0n6387csjn024db8wldadsiy8ljz7lk7szl6ls28fcbkax7rw86y"))))
13548 (build-system go-build-system)
13549 (arguments
13550 (list
13551 #:skip-build? #t
13552 #:tests? #f ; requires xdg-open and firefox in the PATH
13553 #:import-path "github.com/skratchdot/open-golang"))
13554 (home-page "https://github.com/skratchdot/open-golang")
13555 (synopsis "Open a file, directory, or URI using the default application")
13556 (description
13557 "Open a file, directory, or URI using the OS's default application for
13558that object type. Optionally, you can specify an application to use. On
13559GNU/Linux, this is a proxy for the @command{xdg-open} command.")
13560 (license license:expat)))
13561
13562(define-public go-github-com-smacker-go-tree-sitter
13563 (package
13564 (name "go-github-com-smacker-go-tree-sitter")
13565 (version "0.0.0-20240827094217-dd81d9e9be82")
13566 (source
13567 (origin
13568 (method git-fetch)
13569 (uri (git-reference
13570 (url "https://github.com/smacker/go-tree-sitter")
13571 (commit (go-version->git-ref version))))
13572 (file-name (git-file-name name version))
13573 (sha256
13574 (base32 "15c7w5dv7zvhvgrf71fp5l74mjkiniqgz2cbv024pmkcwsvv48yj"))))
13575 (build-system go-build-system)
13576 (arguments
13577 (list
13578 #:import-path "github.com/smacker/go-tree-sitter"))
13579 (native-inputs (list go-github-com-stretchr-testify))
13580 (home-page "https://github.com/smacker/go-tree-sitter")
13581 (synopsis "Golang bindings for tree-sitter")
13582 (description
13583 "This package provides a bindings for
13584@url{https://github.com/tree-sitter/tree-sitter, tree-sitter} in Golang.")
13585 (license license:expat)))
13586
7106(define-public go-github-com-songgao-water 13587(define-public go-github-com-songgao-water
7107 (package 13588 (package
7108 (name "go-github-com-songgao-water") 13589 (name "go-github-com-songgao-water")
@@ -7178,6 +13659,82 @@ Use waterutil with it to work with TUN/TAP packets/frames.")
7178 "Quant provides an interface for image color quantizers.") 13659 "Quant provides an interface for image color quantizers.")
7179 (license license:expat))) 13660 (license license:expat)))
7180 13661
13662(define-public go-github-com-spf13-afero
13663 (package
13664 (name "go-github-com-spf13-afero")
13665 ;; TODO: It's the latest version which does not require
13666 ;; google.golang.org/api, pulling 400+ missing dependencies.
13667 (version "1.6.0")
13668 (source
13669 (origin
13670 (method git-fetch)
13671 (uri (git-reference
13672 (url "https://github.com/spf13/afero")
13673 (commit (string-append "v" version))))
13674 (file-name (git-file-name name version))
13675 (sha256
13676 (base32 "0yi8p0yxiidpcg4cagxg2iyqcaapsng89rak4qyxmgails2fqg37"))))
13677 (build-system go-build-system)
13678 (arguments
13679 (list
13680 #:import-path "github.com/spf13/afero"
13681 #:phases
13682 #~(modify-phases %standard-phases
13683 ;; XXX: Replace when go-build-system supports nested path.
13684 (replace 'check
13685 (lambda* (#:key import-path tests? #:allow-other-keys)
13686 (when tests?
13687 (with-directory-excursion (string-append "src/" import-path)
13688 (invoke "go" "test" "-v" "./..."))))))))
13689 (propagated-inputs
13690 (list go-github-com-pkg-sftp
13691 go-golang-org-x-text))
13692 (home-page "https://github.com/spf13/afero")
13693 (synopsis "File system abstraction for Go")
13694 (description
13695 "This package provides a file system abstraction for Go.")
13696 (license license:asl2.0)))
13697
13698;; XXX: For chezmoi 1.8.10, remove it when updated.
13699(define-public go-github-com-spf13-afero-1.1.2
13700 (hidden-package (package (inherit go-github-com-spf13-afero)
13701 (name "go-github-com-spf13-afero")
13702 (version "1.1.2")
13703 (source
13704 (origin
13705 (method git-fetch)
13706 (uri (git-reference
13707 (url "https://github.com/spf13/afero")
13708 (commit (string-append "v" version))))
13709 (file-name (git-file-name name version))
13710 (sha256
13711 (base32 "0miv4faf5ihjfifb1zv6aia6f6ik7h1s4954kcb8n6ixzhx9ck6k")))))))
13712
13713(define-public go-github-com-spf13-cast
13714 (package
13715 (name "go-github-com-spf13-cast")
13716 (version "1.7.0")
13717 (source
13718 (origin
13719 (method git-fetch)
13720 (uri (git-reference
13721 (url "https://github.com/spf13/cast")
13722 (commit (string-append "v" version))))
13723 (file-name (git-file-name name version))
13724 (sha256
13725 (base32 "1l39v7zd8i8vvwls2frfxc583im5nj5x5lrdss4pcc36cd5a9vf4"))))
13726 (build-system go-build-system)
13727 (arguments
13728 (list
13729 #:import-path "github.com/spf13/cast"))
13730 (native-inputs
13731 (list go-github-com-frankban-quicktest))
13732 (home-page "https://github.com/spf13/cast")
13733 (synopsis "Safe and easy casting from one type to another in Go")
13734 (description
13735 "Safe and easy casting from one type to another in Go.")
13736 (license license:expat)))
13737
7181(define-public go-github-com-spf13-cobra 13738(define-public go-github-com-spf13-cobra
7182 (package 13739 (package
7183 (name "go-github-com-spf13-cobra") 13740 (name "go-github-com-spf13-cobra")
@@ -7194,9 +13751,13 @@ Use waterutil with it to work with TUN/TAP packets/frames.")
7194 (build-system go-build-system) 13751 (build-system go-build-system)
7195 (arguments 13752 (arguments
7196 (list 13753 (list
13754 #:test-flags #~(list "-skip" "TestGenManSeeAlso")
7197 #:import-path "github.com/spf13/cobra")) 13755 #:import-path "github.com/spf13/cobra"))
13756 (native-inputs
13757 (list go-gopkg-in-yaml-v3))
7198 (propagated-inputs 13758 (propagated-inputs
7199 (list go-github-com-spf13-pflag)) 13759 (list go-github-com-go-md2man
13760 go-github-com-spf13-pflag))
7200 (home-page "https://github.com/spf13/cobra") 13761 (home-page "https://github.com/spf13/cobra")
7201 (synopsis "Go library for creating CLI applications") 13762 (synopsis "Go library for creating CLI applications")
7202 (description 13763 (description
@@ -7204,28 +13765,170 @@ Use waterutil with it to work with TUN/TAP packets/frames.")
7204well as a program to generate applications and command files.") 13765well as a program to generate applications and command files.")
7205 (license license:asl2.0))) 13766 (license license:asl2.0)))
7206 13767
7207(define-public go-github-com-stathat-go 13768(define-public go-github-com-spf13-jwalterweatherman
7208 (let ((commit "74669b9f388d9d788c97399a0824adbfee78400e") 13769 (package
7209 (revision "0")) 13770 (name "go-github-com-spf13-jwalterweatherman")
7210 (package 13771 (version "1.1.0")
7211 (name "go-github-com-stathat-go") 13772 (source
7212 (version (git-version "0.0.0" revision commit)) 13773 (origin
7213 (source 13774 (method git-fetch)
7214 (origin 13775 (uri (git-reference
7215 (method git-fetch) 13776 (url "https://github.com/spf13/jwalterweatherman")
7216 (uri (git-reference 13777 (commit (string-append "v" version))))
7217 (url "https://github.com/stathat/go") 13778 (file-name (git-file-name name version))
7218 (commit commit))) 13779 (sha256
7219 (file-name (git-file-name name version)) 13780 (base32 "1ywmkwci5zyd88ijym6f30fj5c0k2yayxarkmnazf5ybljv50q7b"))))
7220 (sha256 13781 (build-system go-build-system)
7221 (base32 "1zzlsl24dyr202qkr2pay22m6d0gb7ssms77wgdx0r0clgm7dihw")))) 13782 (arguments
7222 (build-system go-build-system) 13783 (list
7223 (arguments 13784 #:import-path "github.com/spf13/jwalterweatherman"))
7224 `(#:import-path "github.com/stathat/go")) 13785 (native-inputs
7225 (synopsis "Post statistics to StatHat") 13786 (list go-github-com-stretchr-testify))
7226 (description "This is a Go package for posting to a StatHat account.") 13787 (home-page "https://github.com/spf13/jwalterweatherman")
7227 (home-page "https://github.com/stathat/go") 13788 (synopsis "Go logging library")
7228 (license license:expat)))) 13789 (description
13790 "JWW is primarily a wrapper around the standard log library. It provides
13791a few advantages over using the standard log library alone.
13792
13793@itemize
13794@item ready to go out of the box
13795@item one library for both printing to the terminal and logging (to files)
13796@item really easy to log to either a temp file or a file you specify
13797@end itemize")
13798 (license license:expat)))
13799
13800;; XXX: Not maintained for 3y, see
13801;; <https://github.com/spf13/pflag/issues/385>.
13802(define-public go-github-com-spf13-pflag
13803 (package
13804 (name "go-github-com-spf13-pflag")
13805 (version "1.0.5")
13806 (source
13807 (origin
13808 (method git-fetch)
13809 (uri (git-reference
13810 (url "https://github.com/spf13/pflag")
13811 (commit (string-append "v" version))))
13812 (file-name (git-file-name name version))
13813 (sha256
13814 (base32 "0gpmacngd0gpslnbkzi263f5ishigzgh6pbdv9hp092rnjl4nd31"))
13815 (snippet
13816 #~(begin
13817 (use-modules (guix build utils))
13818 ;; Fix compatibility with go-1.19+
13819 ;; https://github.com/spf13/pflag/issues/368
13820 (substitute* "flag_test.go"
13821 (("fmt\\.Println") "fmt.Print")
13822 (("\\+ got\\)") "+ got + \"\\n\")")
13823 (("\\+ defaultOutput\\)") "+ defaultOutput + \"\\n\")"))))))
13824 (build-system go-build-system)
13825 (arguments
13826 (list
13827 #:import-path "github.com/spf13/pflag"))
13828 (home-page "https://github.com/spf13/pflag")
13829 (synopsis "Replacement for Go's @code{flag} package")
13830 (description
13831 "Pflag is library to replace Go's @code{flag} package. It implements
13832POSIX/GNU-style command-line options with double hyphens. It is is compatible
13833with the
13834@uref{https://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html,
13835GNU extensions} to the POSIX recommendations for command-line options.")
13836 (license license:bsd-3)))
13837
13838(define-public go-github-com-spf13-viper
13839 (package
13840 (name "go-github-com-spf13-viper")
13841 ;; Refreshing to a newer version requires long chain of missing packages.
13842 (version "1.8.1")
13843 (source
13844 (origin
13845 (method git-fetch)
13846 (uri (git-reference
13847 (url "https://github.com/spf13/viper")
13848 (commit (string-append "v" version))))
13849 (file-name (git-file-name name version))
13850 (sha256
13851 (base32 "0jcsvd9l05pv10rma6zicp44q2mlvxj0qlhnf4zcg2pymb5i0hq6"))))
13852 (build-system go-build-system)
13853 (arguments
13854 (list
13855 #:import-path "github.com/spf13/viper"
13856 ;; Optional modules are not packed.
13857 #:test-subdirs #~(list ".")))
13858 (native-inputs
13859 (list go-github-com-stretchr-testify))
13860 (propagated-inputs
13861 (list go-github-com-fsnotify-fsnotify
13862 go-github-com-hashicorp-hcl
13863 go-github-com-magiconair-properties
13864 go-github-com-mitchellh-mapstructure
13865 go-github-com-pelletier-go-toml
13866 go-github-com-spf13-afero
13867 go-github-com-spf13-cast
13868 go-github-com-spf13-jwalterweatherman
13869 go-github-com-spf13-pflag
13870 go-github-com-subosito-gotenv
13871 go-gopkg-in-ini-v1
13872 go-gopkg-in-yaml-v2))
13873 (home-page "https://github.com/spf13/viper")
13874 (synopsis "Go configuration with fangs")
13875 (description
13876 "Viper is a complete configuration solution for Go applications including
1387712-Factor apps. It is designed to work within an application, and can handle
13878all types of configuration needs and formats.")
13879 (license license:expat)))
13880
13881(define-public go-github-com-ssor-bom
13882 (package
13883 (name "go-github-com-ssor-bom")
13884 (version "0.0.0-20170718123548-6386211fdfcf")
13885 (source
13886 (origin
13887 (method git-fetch)
13888 (uri (git-reference
13889 (url "https://github.com/ssor/bom")
13890 (commit (go-version->git-ref version))))
13891 (file-name (git-file-name name version))
13892 (sha256
13893 (base32 "09g5496ifwqxqclh2iw58plcwcz0sczlnxwqxzwmnl4shdl371ld"))))
13894 (build-system go-build-system)
13895 (arguments
13896 (list
13897 #:import-path "github.com/ssor/bom"))
13898 (home-page "https://github.com/ssor/bom")
13899 (synopsis "Cleaning BOMs in Go")
13900 (description
13901 "The bom package provides small tools for cleaning BOMs from a byte array
13902or reader.")
13903 (license license:expat)))
13904
13905(define-public go-github-com-stoewer-go-strcase
13906 (package
13907 (name "go-github-com-stoewer-go-strcase")
13908 (version "1.3.0")
13909 (source
13910 (origin
13911 (method git-fetch)
13912 (uri (git-reference
13913 (url "https://github.com/stoewer/go-strcase")
13914 (commit (string-append "v" version))))
13915 (file-name (git-file-name name version))
13916 (sha256
13917 (base32 "1gqswiyj71h676lmqb78rs125iq8msklymhzw0w59afywxqsaj2z"))))
13918 (build-system go-build-system)
13919 (arguments
13920 (list
13921 #:import-path "github.com/stoewer/go-strcase"))
13922 (native-inputs
13923 (list go-github-com-stretchr-testify))
13924 (home-page "https://github.com/stoewer/go-strcase")
13925 (synopsis "Convert snake case, camel case and kebap case strings")
13926 (description
13927 "Package strcase converts between different kinds of naming formats such
13928as camel case (@code{CamelCase}), snake case (@code{snake_case}) or kebab
13929case (@code{kebab-case}). The package is designed to work only with strings
13930consisting of standard ASCII letters.")
13931 (license license:expat)))
7229 13932
7230(define-public go-github-com-stretchr-objx 13933(define-public go-github-com-stretchr-objx
7231 (package 13934 (package
@@ -7292,6 +13995,70 @@ slices, JSON and other data.")
7292 "Go library for loading environment variables from files") 13995 "Go library for loading environment variables from files")
7293 (license license:expat))) 13996 (license license:expat)))
7294 13997
13998(define-public go-github-com-surge-glog
13999 (package
14000 (name "go-github-com-surge-glog")
14001 (version "0.0.0-20141108051140-2578deb2b95c")
14002 (source
14003 (origin
14004 (method git-fetch)
14005 (uri (git-reference
14006 (url "https://github.com/surge/glog")
14007 (commit (go-version->git-ref version))))
14008 (file-name (git-file-name name version))
14009 (sha256
14010 (base32 "1bxcwxvsvr2hfpjz9hrrn0wrgykwmrbyk567102k3vafw9xdcwk4"))))
14011 (build-system go-build-system)
14012 (arguments
14013 `(#:import-path "github.com/surge/glog"))
14014 (home-page "https://github.com/surge/glog")
14015 (synopsis "Leveled execution logs for Go")
14016 (description
14017 "Leveled execution logs for Go.")
14018 (license license:asl2.0)))
14019
14020(define-public go-github-com-surgebase-porter2
14021 (package
14022 (name "go-github-com-surgebase-porter2")
14023 (version "0.0.0-20150829210152-56e4718818e8")
14024 (source
14025 (origin
14026 (method git-fetch)
14027 (uri (git-reference
14028 (url "https://github.com/surgebase/porter2")
14029 (commit (go-version->git-ref version))))
14030 (file-name (git-file-name name version))
14031 (sha256
14032 (base32 "1ivcf83jlj9s7q5y9dfbpyl0br35cz8fcp0dm8sxxvqh54py06v2"))))
14033 (build-system go-build-system)
14034 (arguments
14035 (list
14036 #:import-path "github.com/surgebase/porter2"
14037 #:phases
14038 #~(modify-phases %standard-phases
14039 (add-after 'unpack 'fix-build
14040 (lambda* (#:key import-path #:allow-other-keys)
14041 (with-directory-excursion (string-append "src/" import-path)
14042 (substitute* "cmd/suffixfsm/suffixfsm.go"
14043 ;; fmt.Println arg list ends with redundant newline
14044 (("fmt.Println") "fmt.Printf"))))))))
14045 (native-inputs
14046 (list go-github-com-agonopol-go-stem
14047 go-github-com-dchest-stemmer
14048 go-github-com-kljensen-snowball
14049 go-github-com-reiver-go-porterstemmer
14050 go-github-com-stretchr-testify))
14051 (propagated-inputs
14052 (list go-github-com-surge-glog))
14053 (home-page "https://github.com/surgebase/porter2")
14054 (synopsis "Go library implementing english Porter2 stemmer")
14055 (description
14056 "Porter2 implements the
14057@url{http://snowball.tartarus.org/algorithms/english/stemmer.html, english
14058Porter2 stemmer}. It is written completely using finite state machines to do
14059suffix comparison, rather than the string-based or tree-based approaches.")
14060 (license license:asl2.0)))
14061
7295(define-public go-github-com-syndtr-goleveldb 14062(define-public go-github-com-syndtr-goleveldb
7296 (package 14063 (package
7297 (name "go-github-com-syndtr-goleveldb") 14064 (name "go-github-com-syndtr-goleveldb")
@@ -7360,6 +14127,60 @@ storage system.")
7360@url{https://en.wikipedia.org/wiki/Bloom_filter, bloom filter}.") 14127@url{https://en.wikipedia.org/wiki/Bloom_filter, bloom filter}.")
7361 (license license:bsd-2))) 14128 (license license:bsd-2)))
7362 14129
14130(define-public go-github-com-tdewolff-argp
14131 (package
14132 (name "go-github-com-tdewolff-argp")
14133 (version "0.0.0-20240625173203-87b04d5d3e52")
14134 (source
14135 (origin
14136 (method git-fetch)
14137 (uri (git-reference
14138 (url "https://github.com/tdewolff/argp")
14139 (commit (go-version->git-ref version))))
14140 (file-name (git-file-name name version))
14141 (sha256
14142 (base32 "0d2xqir997qrxkwmbb6pn5hgl9ii0nz19f19lrgc4ixjhxxjwyy5"))))
14143 (build-system go-build-system)
14144 (arguments
14145 (list
14146 #:import-path "github.com/tdewolff/argp"))
14147 (native-inputs
14148 (list go-github-com-tdewolff-test))
14149 (propagated-inputs
14150 (list go-github-com-go-sql-driver-mysql
14151 go-github-com-jmoiron-sqlx
14152 go-github-com-pelletier-go-toml))
14153 (home-page "https://github.com/tdewolff/argp")
14154 (synopsis "GNU command line argument parser")
14155 (description "Command line argument parser following the GNU standard.")
14156 (license license:expat)))
14157
14158(define-public go-github-com-tdewolff-hasher
14159 (package
14160 (name "go-github-com-tdewolff-hasher")
14161 (version "0.0.0-20210521220142-bc97f602bca2")
14162 (source
14163 (origin
14164 (method git-fetch)
14165 (uri (git-reference
14166 (url "https://github.com/tdewolff/hasher")
14167 (commit (go-version->git-ref version))))
14168 (file-name (git-file-name name version))
14169 (sha256
14170 (base32 "12dmxpmdy2z7c2z7qv2mv2aq4hyvjncb6fzr0ymg3y5bfjvl4dcw"))))
14171 (build-system go-build-system)
14172 (arguments
14173 (list #:import-path "github.com/tdewolff/hasher"))
14174 (native-inputs
14175 (list go-github-com-cespare-mph
14176 go-github-com-dgryski-go-mph))
14177 (home-page "https://github.com/tdewolff/hasher")
14178 (synopsis "Go known-keys fast-lookup map generator")
14179 (description
14180 "Hasher is a tool to automate the creation of methods and tables for a
14181@code{string} to @code{uint32} mapper.")
14182 (license license:bsd-3)))
14183
7363(define-public go-github-com-teambition-rrule-go 14184(define-public go-github-com-teambition-rrule-go
7364 (package 14185 (package
7365 (name "go-github-com-teambition-rrule-go") 14186 (name "go-github-com-teambition-rrule-go")
@@ -7418,6 +14239,54 @@ Included modules are:
7418@end itemize") 14239@end itemize")
7419 (license license:expat))) 14240 (license license:expat)))
7420 14241
14242(define-public go-github-com-templexxx-cpu
14243 (package
14244 (name "go-github-com-templexxx-cpu")
14245 (version "0.1.1")
14246 (source
14247 (origin
14248 (method git-fetch)
14249 (uri (git-reference
14250 (url "https://github.com/templexxx/cpu")
14251 (commit (string-append "v" version))))
14252 (file-name (git-file-name name version))
14253 (sha256
14254 (base32 "1bfygzjz2n8fbc9n9k7hfdnaz5mw6g4n4n1q3a0hyv33j9bvl5hh"))))
14255 (build-system go-build-system)
14256 (arguments
14257 (list
14258 #:import-path "github.com/templexxx/cpu"))
14259 (home-page "https://github.com/templexxx/cpu")
14260 (synopsis "@code{internal/cpu} in Go (add AVX512)")
14261 (description
14262 "Package cpu implements processor feature detection used by the Go
14263standard library.")
14264 (license license:bsd-3)))
14265
14266(define-public go-github-com-templexxx-xorsimd
14267 (package
14268 (name "go-github-com-templexxx-xorsimd")
14269 (version "0.4.3")
14270 (source
14271 (origin
14272 (method git-fetch)
14273 (uri (git-reference
14274 (url "https://github.com/templexxx/xorsimd")
14275 (commit (string-append "v" version))))
14276 (file-name (git-file-name name version))
14277 (sha256
14278 (base32 "01227dcf5mjc2v9f3shvqvbx3vxz89la7imjnjfmas61fcjwdlj5"))))
14279 (build-system go-build-system)
14280 (arguments
14281 (list
14282 #:import-path "github.com/templexxx/xorsimd"))
14283 (propagated-inputs (list go-github-com-templexxx-cpu))
14284 (home-page "https://github.com/templexxx/xorsimd")
14285 (synopsis "XOR in pure Golang")
14286 (description
14287 "This package provides XOR bitwise code engine.")
14288 (license license:expat)))
14289
7421(define-public go-github-com-thejerf-suture 14290(define-public go-github-com-thejerf-suture
7422 (package 14291 (package
7423 (name "go-github-com-thejerf-suture") 14292 (name "go-github-com-thejerf-suture")
@@ -7701,6 +14570,506 @@ supported by the time package
7701@end itemize") 14570@end itemize")
7702 (license license:expat))) 14571 (license license:expat)))
7703 14572
14573(define-public go-github-com-tomwright-dasel-v2
14574 (package
14575 (name "go-github-com-tomwright-dasel-v2")
14576 (version "2.8.1")
14577 (source
14578 (origin
14579 (method git-fetch)
14580 (uri (git-reference
14581 (url "https://github.com/TomWright/dasel")
14582 (commit (string-append "v" version))))
14583 (file-name (git-file-name name version))
14584 (sha256
14585 (base32 "1qh32gq0x0lc4j4w326skxw4nblf2v71ychd8dk6h3ra5d22bbmy"))))
14586 (build-system go-build-system)
14587 (arguments
14588 (list
14589 #:go go-1.22
14590 #:embed-files #~(list ".*\\.xml")
14591 #:import-path "github.com/tomwright/dasel/v2"))
14592 (propagated-inputs
14593 (list go-github-com-alecthomas-chroma-v2
14594 go-github-com-clbanning-mxj-v2
14595 go-github-com-pelletier-go-toml-v2
14596 go-github-com-spf13-cobra
14597 go-golang-org-x-net
14598 go-golang-org-x-text
14599 go-gopkg-in-yaml-v3))
14600 (home-page "https://github.com/tomwright/dasel")
14601 (synopsis "Tool to work with JSON, TOML, YAML, XML and CSV files")
14602 (description
14603 "Dasel (short for data-selector) allows you to query and modify data
14604structures using selector strings. It's similar to @code{jq}/@code{yq}, but
14605supports JSON, YAML, TOML, XML and CSV with zero runtime dependencies.")
14606 (license license:expat)))
14607
14608(define-public go-github-com-twpayne-go-shell
14609 (package
14610 (name "go-github-com-twpayne-go-shell")
14611 (version "0.5.0")
14612 (source
14613 (origin
14614 (method git-fetch)
14615 (uri (git-reference
14616 (url "https://github.com/twpayne/go-shell")
14617 (commit (string-append "v" version))))
14618 (file-name (git-file-name name version))
14619 (sha256
14620 (base32 "0rnwdlhiakcigmz55fhn0wib6vi064cqxfq512mi880j9yqx4114"))))
14621 (build-system go-build-system)
14622 (arguments
14623 (list #:import-path "github.com/twpayne/go-shell"))
14624 (native-inputs
14625 (list go-github-com-alecthomas-assert-v2))
14626 (home-page "https://github.com/twpayne/go-shell")
14627 (synopsis "Shell across multiple platforms")
14628 (description
14629 "Package @code{shell} returns a user's shell across multiple platforms.")
14630 (license license:expat)))
14631
14632(define-public go-github-com-twpayne-go-vfs-v5
14633 (package
14634 (name "go-github-com-twpayne-go-vfs-v5")
14635 (version "5.0.4")
14636 (source
14637 (origin
14638 (method git-fetch)
14639 (uri (git-reference
14640 (url "https://github.com/twpayne/go-vfs")
14641 (commit (string-append "v" version))))
14642 (file-name (git-file-name name version))
14643 (sha256
14644 (base32 "152hbb6ww2f2ac2bf1d446vw8z8m22n1rsa7gvlzfa060vj9hjgx"))))
14645 (build-system go-build-system)
14646 (arguments
14647 (list
14648 #:import-path "github.com/twpayne/go-vfs/v5"))
14649 (native-inputs
14650 (list go-github-com-alecthomas-assert-v2))
14651 (home-page "https://github.com/twpayne/go-vfs/")
14652 (synopsis "Abstraction of the @code{os} and @code{ioutil} Go packages")
14653 (description
14654 "Package @code{vfs} provides an abstraction of the @code{os} and
14655@code{ioutil} packages that is easy to test.")
14656 (license license:expat)))
14657
14658;; XXX: For chezmoi 2.30.1, remove it when updated.
14659(define-public go-github-com-twpayne-go-vfs-v4
14660 (hidden-package (package (inherit go-github-com-twpayne-go-vfs-v5)
14661 (name "go-github-com-twpayne-go-vfs-v4")
14662 (version "4.3.0")
14663 (source
14664 (origin
14665 (method git-fetch)
14666 (uri (git-reference
14667 (url "https://github.com/twpayne/go-vfs")
14668 (commit (string-append "v" version))))
14669 (file-name (git-file-name name version))
14670 (sha256
14671 (base32 "1hbrm6b0ca116h8mc8nkq04nba685wmp52pz5980ivvi86ji9b1y"))))
14672 (arguments
14673 (list
14674 #:import-path "github.com/twpayne/go-vfs/v4")))))
14675
14676;; XXX: For chezmoi 1.8.10, remove it when updated.
14677(define-public go-github-com-twpayne-go-vfs-1.0.1
14678 (hidden-package (package (inherit go-github-com-twpayne-go-vfs-v5)
14679 (name "go-github-com-twpayne-go-vfs")
14680 (version "1.0.1")
14681 (source
14682 (origin
14683 (method git-fetch)
14684 (uri (git-reference
14685 (url "https://github.com/twpayne/go-vfs")
14686 (commit (string-append "v" version))))
14687 (file-name (git-file-name name version))
14688 (sha256
14689 (base32 "1if2wfdwl3h8v8kgrgywkwcjafcz7hynq8ikr52s11qf2n0w3gny"))))
14690 (arguments
14691 (list
14692 #:import-path "github.com/twpayne/go-vfs")))))
14693
14694(define-public go-github-com-twpayne-go-xdg-v3
14695 (package
14696 (name "go-github-com-twpayne-go-xdg-v3")
14697 (version "3.1.0")
14698 (source
14699 (origin
14700 (method git-fetch)
14701 (uri (git-reference
14702 (url "https://github.com/twpayne/go-xdg")
14703 (commit (string-append "v" version))))
14704 (file-name (git-file-name name version))
14705 (sha256
14706 (base32 "0j8q7yzixs6jlaad0lpa8hs6b240gm2cmy0yxgnprrbpa0y2r7ln"))))
14707 (build-system go-build-system)
14708 (arguments
14709 (list
14710 #:import-path "github.com/twpayne/go-xdg/v3"))
14711 (native-inputs
14712 (list go-github-com-stretchr-testify))
14713 (propagated-inputs
14714 (list go-github-com-twpayne-go-vfs-1.0.1))
14715 (home-page "https://github.com/twpayne/go-xdg/")
14716 (synopsis "Functions related to freedesktop.org")
14717 (description
14718 "Package @code{xdg} provides functions related to
14719@uref{freedesktop.org}.")
14720 (license license:expat)))
14721
14722(define-public go-github-com-twpayne-go-xdg-v6
14723 (package
14724 (inherit go-github-com-twpayne-go-xdg-v3)
14725 (name "go-github-com-twpayne-go-xdg-v6")
14726 (version "6.1.3")
14727 (source
14728 (origin
14729 (method git-fetch)
14730 (uri (git-reference
14731 (url "https://github.com/twpayne/go-xdg")
14732 (commit (string-append "v" version))))
14733 (file-name (git-file-name name version))
14734 (sha256
14735 (base32 "0ihpljay4waw3qss40bwd230wwpq3vm25qiy3y5yfhmybk8wr6jx"))))
14736 (build-system go-build-system)
14737 (arguments
14738 (list
14739 #:import-path "github.com/twpayne/go-xdg/v6"))
14740 (native-inputs
14741 (list go-github-com-alecthomas-assert-v2))
14742 (propagated-inputs
14743 (list go-github-com-twpayne-go-vfs-v5))))
14744
14745(define-public go-github-com-txthinking-runnergroup
14746 (package
14747 (name "go-github-com-txthinking-runnergroup")
14748 (version "0.0.0-20241229123329-7b873ad00768")
14749 (source
14750 (origin
14751 (method git-fetch)
14752 (uri (git-reference
14753 (url "https://github.com/txthinking/runnergroup")
14754 (commit (go-version->git-ref version))))
14755 (file-name (git-file-name name version))
14756 (sha256
14757 (base32 "0l0accx6c880smkcma0qca3c67kx8p1bc4q2zq54iv8yjy1b2h4w"))))
14758 (build-system go-build-system)
14759 (arguments
14760 (list
14761 #:import-path "github.com/txthinking/runnergroup"))
14762 (home-page "https://github.com/txthinking/runnergroup")
14763 (synopsis "Golang standard @code{sync.WaitGroup} alternative")
14764 (description
14765 "This package implements a similar functionality like standard
14766@code{sync.WaitGroup}}, the difference is if one task stops, all will be
14767stopped.")
14768 (license license:expat)))
14769
14770(define-public go-github-com-urfave-cli
14771 (package
14772 (name "go-github-com-urfave-cli")
14773 (version "1.22.16")
14774 (source
14775 (origin
14776 (method git-fetch)
14777 (uri (git-reference
14778 (url "https://github.com/urfave/cli")
14779 (commit (string-append "v" version))))
14780 (file-name (git-file-name name version))
14781 (sha256
14782 (base32 "022abbjwr3g2vbyfbdc1hg09d753hfba21b69n2nkrx168ag5ahd"))))
14783 (build-system go-build-system)
14784 (arguments
14785 (list
14786 #:import-path "github.com/urfave/cli"))
14787 (native-inputs
14788 (list go-github-com-stretchr-testify))
14789 (propagated-inputs
14790 (list go-github-com-burntsushi-toml
14791 go-github-com-go-md2man
14792 go-gopkg-in-yaml-v2))
14793 (home-page "https://github.com/urfave/cli")
14794 (synopsis "Simple, fast, and fun package for building command line apps in Go")
14795 (description
14796 "@command{cli} is a simple, fast, and fun package for building command
14797line apps in Go. The goal is to enable developers to write fast and
14798distributable command line applications in an expressive way.")
14799 (license license:expat)))
14800
14801(define-public go-github-com-urfave-cli-v2
14802 (package
14803 (inherit go-github-com-urfave-cli)
14804 (name "go-github-com-urfave-cli-v2")
14805 (version "2.27.5")
14806 (source
14807 (origin
14808 (method git-fetch)
14809 (uri (git-reference
14810 (url "https://github.com/urfave/cli")
14811 (commit (string-append "v" version))))
14812 (file-name (git-file-name name version))
14813 (sha256
14814 (base32 "03237hi2jqvms9cif4varyap3j1dhzcf1mr809dm7ncvzk7gxg83"))
14815 (modules '((guix build utils)))
14816 (snippet
14817 #~(begin
14818 ;; Submodules with their own go.mod files and packaged separately:
14819 ;;
14820 ;; - github.com/urfave/cli/v2/cmd/urfave-cli-genflags
14821 (delete-file-recursively "cmd")))))
14822 (arguments
14823 (list #:import-path "github.com/urfave/cli/v2"))
14824 (propagated-inputs
14825 (list go-github-com-burntsushi-toml
14826 go-github-com-go-md2man
14827 go-github-com-xrash-smetrics
14828 go-gopkg-in-yaml-v3))))
14829
14830(define-public go-github-com-valyala-bytebufferpool
14831 (package
14832 (name "go-github-com-valyala-bytebufferpool")
14833 (version "1.0.0")
14834 (source
14835 (origin
14836 (method git-fetch)
14837 (uri (git-reference
14838 (url "https://github.com/valyala/bytebufferpool")
14839 (commit (string-append "v" version))))
14840 (file-name (git-file-name name version))
14841 (sha256
14842 (base32 "01lqzjddq6kz9v41nkky7wbgk7f1cw036sa7ldz10d82g5klzl93"))))
14843 (build-system go-build-system)
14844 (arguments
14845 (list
14846 #:import-path "github.com/valyala/bytebufferpool"))
14847 (home-page "https://github.com/valyala/bytebufferpool")
14848 (synopsis "Anti-memory-waste byte buffer pool for Golang")
14849 (description
14850 "@code{bytebufferpool} implements a pool of byte buffers with
14851anti-fragmentation protection.")
14852 (license license:expat)))
14853
14854(define-public go-github-com-valyala-fasttemplate
14855 (package
14856 (name "go-github-com-valyala-fasttemplate")
14857 (version "1.2.2")
14858 (source
14859 (origin
14860 (method git-fetch)
14861 (uri (git-reference
14862 (url "https://github.com/valyala/fasttemplate")
14863 (commit (string-append "v" version))))
14864 (file-name (git-file-name name version))
14865 (sha256
14866 (base32 "12hywkz2mfvxzfpgabc53bm4jkxxmcssrr0k4wxzzrnv0v7mj6bj"))
14867 (snippet
14868 #~(begin (use-modules (guix build utils))
14869 (delete-file-recursively "vendor")))))
14870 (build-system go-build-system)
14871 (arguments
14872 (list
14873 #:import-path "github.com/valyala/fasttemplate"))
14874 (propagated-inputs
14875 (list go-github-com-valyala-bytebufferpool))
14876 (home-page "https://github.com/valyala/fasttemplate")
14877 (synopsis "Template engine for Golang")
14878 (description
14879 "Package fasttemplate implements simple and fast template library.")
14880 (license license:expat)))
14881
14882(define-public go-github-com-vburenin-ifacemaker
14883 (package
14884 (name "go-github-com-vburenin-ifacemaker")
14885 (version "1.2.1")
14886 (source
14887 (origin
14888 (method git-fetch)
14889 (uri (git-reference
14890 (url "https://github.com/vburenin/ifacemaker")
14891 (commit (string-append "v" version))))
14892 (file-name (git-file-name name version))
14893 (sha256
14894 (base32 "00031373i4xqrsaf7yv93czfmcf5qzn94mmqwamyjd6gpq37p1hl"))))
14895 (build-system go-build-system)
14896 (arguments
14897 (list
14898 #:skip-build? #t
14899 #:import-path "github.com/vburenin/ifacemaker"))
14900 (native-inputs
14901 (list go-github-com-stretchr-testify))
14902 (propagated-inputs
14903 (list go-github-com-jessevdk-go-flags
14904 go-golang-org-x-tools))
14905 (home-page "https://github.com/vburenin/ifacemaker")
14906 (synopsis "Generate interfaces from structure methods in Golang")
14907 (description
14908 "This is a development helper program that generates a Golang interface
14909by inspecting the structure methods of an existing @code{.go} file. The
14910primary use case is to generate interfaces for gomock, so that gomock can
14911generate mocks from those interfaces.")
14912 (license license:asl2.0)))
14913
14914(define-public go-github-com-viant-toolbox
14915 (package
14916 (name "go-github-com-viant-toolbox")
14917 (version "0.37.0")
14918 (source
14919 (origin
14920 (method git-fetch)
14921 (uri (git-reference
14922 (url "https://github.com/viant/toolbox")
14923 (commit (string-append "v" version))))
14924 (file-name (git-file-name name version))
14925 (sha256
14926 (base32 "1m49nar5cwx3wqym20awh7yw4fw2bdw21m4h71bx4g688gv1kri4"))))
14927 (build-system go-build-system)
14928 (arguments
14929 (list
14930 #:import-path "github.com/viant/toolbox"
14931 #:test-flags #~(list "-skip" "TestCase_To|Test_NewReplayService")
14932 #:test-subdirs #~(list "bridge/..."
14933 "cred/..."
14934 "data/..."
14935 "format/..."
14936 "sampler/..."
14937 "secret/..."
14938 "ssh/..."
14939 "test/..."
14940 "unsafe/..."
14941 "url/...")))
14942 (native-inputs
14943 (list go-github-com-stretchr-testify))
14944 ;; XXX: No go.mod to list dependencies, see
14945 ;; <https://github.com/viant/toolbox/pull/51>.
14946 (propagated-inputs
14947 (list ;go-cloud-google-com-go-storage
14948 ;go-github-com-aws-aws-sdk-go-aws
14949 ;go-github-com-aws-aws-sdk-go-aws-credentials
14950 ;go-github-com-aws-aws-sdk-go-aws-session
14951 ;go-github-com-aws-aws-sdk-go-service-kms
14952 ;go-github-com-aws-aws-sdk-go-service-s3
14953 ;go-github-com-aws-aws-sdk-go-service-s3-s3manager
14954 ;go-github-com-aws-aws-sdk-go-service-ssm
14955 go-github-com-go-errors-errors
14956 go-github-com-lunixbochs-vtclean
14957 go-github-com-pkg-errors
14958 go-github-com-viant-xunsafe
14959 go-golang-org-x-crypto
14960 go-golang-org-x-oauth2
14961 ;go-google-golang-org-api-cloudkms-v1
14962 ;go-google-golang-org-api-option
14963 go-gopkg-in-yaml-v2))
14964 (home-page "https://github.com/viant/toolbox")
14965 (synopsis "Utility library for Golang")
14966 (description
14967 "This package provides set of utilities/abstractions developed as part of
14968datastore connectivity and testing (viant/dsc, viant/dsunit).")
14969 (license license:asl2.0)))
14970
14971(define-public go-github-com-viant-toolbox-bootstrap
14972 (hidden-package
14973 (package
14974 (inherit go-github-com-viant-toolbox)
14975 (arguments
14976 (list #:tests? #f
14977 #:import-path "github.com/viant/toolbox"
14978 #:phases
14979 #~(modify-phases %standard-phases
14980 (delete 'build))))
14981 (propagated-inputs
14982 (list go-github-com-go-errors-errors
14983 go-github-com-pkg-errors
14984 go-gopkg-in-yaml-v2)))))
14985
14986(define-public go-github-com-viant-xreflect
14987 (package
14988 (name "go-github-com-viant-xreflect")
14989 (version "0.7.2")
14990 (source
14991 (origin
14992 (method git-fetch)
14993 (uri (git-reference
14994 (url "https://github.com/viant/xreflect")
14995 (commit (string-append "v" version))))
14996 (file-name (git-file-name name version))
14997 (sha256
14998 (base32 "1r5y3cbs8z9frgfqrq2yv77z43fv36s7jrk49prpbfsskgpk8rh2"))))
14999 (build-system go-build-system)
15000 (arguments
15001 (list
15002 #:tests? #f ; to break import cycle
15003 #:import-path "github.com/viant/xreflect"))
15004 (propagated-inputs
15005 (list go-golang-org-x-mod))
15006 (home-page "https://github.com/viant/xreflect")
15007 (synopsis "Golang reflection extension")
15008 (description
15009 "This package provides a reflection extension.")
15010 (license license:unlicense)))
15011
15012(define-public go-github-com-viant-xunsafe
15013 (package
15014 (name "go-github-com-viant-xunsafe")
15015 (version "0.9.4")
15016 (source
15017 (origin
15018 (method git-fetch)
15019 (uri (git-reference
15020 (url "https://github.com/viant/xunsafe")
15021 (commit (string-append "v" version))))
15022 (file-name (git-file-name name version))
15023 (sha256
15024 (base32 "1ddf9grf7rczik9rzwmz10xagn65sn1n7mhkp7app0d3nc3xdlgs"))))
15025 (build-system go-build-system)
15026 (arguments
15027 (list
15028 #:import-path "github.com/viant/xunsafe"))
15029 (native-inputs
15030 (list go-github-com-stretchr-testify))
15031 (propagated-inputs
15032 (list go-github-com-viant-xreflect))
15033 (home-page "https://github.com/viant/xunsafe")
15034 (synopsis "Faster Golang reflection")
15035 (description
15036 "This package provides a implementation reflection that greatly improved
15037performance, that is between 25 to 50x time faster than native one.")
15038 (license license:asl2.0)))
15039
15040(define-public go-github-com-vito-midterm
15041 (package
15042 (name "go-github-com-vito-midterm")
15043 (version "0.1.4")
15044 (source
15045 (origin
15046 (method git-fetch)
15047 (uri (git-reference
15048 (url "https://github.com/vito/midterm")
15049 (commit (string-append "v" version))))
15050 (file-name (git-file-name name version))
15051 (sha256
15052 (base32 "0bvgw84750xfpm89hrab7pzfv1d5dy94igiqwzk5ivy4yca90ipw"))))
15053 (build-system go-build-system)
15054 (arguments
15055 (list
15056 #:import-path "github.com/vito/midterm"))
15057 (native-inputs
15058 (list go-github-com-stretchr-testify))
15059 (propagated-inputs
15060 (list go-github-com-charmbracelet-bubbletea
15061 go-github-com-creack-pty
15062 go-github-com-muesli-termenv
15063 go-github-com-sebdah-goldie-v2
15064 go-golang-org-x-term))
15065 (home-page "https://github.com/vito/midterm")
15066 (synopsis "In-memory terminal emulator")
15067 (description
15068 "This package implements an in-memory terminal emulator, designed to be
15069used as a component within a larger application for displaying logs, running
15070interactive shells, or rendering terminal output.")
15071 (license license:expat)))
15072
7704(define-public go-github-com-vitrun-qart 15073(define-public go-github-com-vitrun-qart
7705 (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa") 15074 (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
7706 (revision "0")) 15075 (revision "0"))
@@ -7752,6 +15121,113 @@ encoded values to create the picture in a code with no inherent errors.")
7752weighted moving averages}.") 15121weighted moving averages}.")
7753 (license license:expat))) 15122 (license license:expat)))
7754 15123
15124(define-public go-github-com-vmihailenco-msgpack-v4
15125 (package
15126 (name "go-github-com-vmihailenco-msgpack-v4")
15127 (version "4.3.13")
15128 (source
15129 (origin
15130 (method git-fetch)
15131 (uri (git-reference
15132 (url "https://github.com/vmihailenco/msgpack")
15133 (commit (string-append "v" version))))
15134 (file-name (git-file-name name version))
15135 (sha256
15136 (base32 "08jdq8wh6i1f2avl46l5ndfrvhfl4l276hz4y1xq6agwbwrvycdy"))))
15137 (build-system go-build-system)
15138 (arguments
15139 (list
15140 #:import-path "github.com/vmihailenco/msgpack/v4"))
15141 (native-inputs
15142 (list go-gopkg-in-check-v1))
15143 (propagated-inputs
15144 (list go-github-com-vmihailenco-tagparser))
15145 (home-page "https://github.com/vmihailenco/msgpack")
15146 (synopsis "MessagePack encoding for Golang")
15147 (description
15148 "This package provides implementation of MessagePack encoding for Go
15149programming language.")
15150 (license license:bsd-2)))
15151
15152(define-public go-github-com-vmihailenco-msgpack-v5
15153 (package
15154 (inherit go-github-com-vmihailenco-msgpack-v4)
15155 (name "go-github-com-vmihailenco-msgpack-v5")
15156 (version "5.4.1")
15157 (source
15158 (origin
15159 (method git-fetch)
15160 (uri (git-reference
15161 (url "https://github.com/vmihailenco/msgpack")
15162 (commit (string-append "v" version))))
15163 (file-name (git-file-name name version))
15164 (sha256
15165 (base32 "0vkyyywvip0vwjmnmnmkl9hz345k54nigj2mq8fbbjx96xpgghvz"))))
15166 (arguments
15167 (list
15168 #:import-path "github.com/vmihailenco/msgpack/v5"))
15169 (native-inputs
15170 (list go-github-com-stretchr-testify))
15171 (propagated-inputs
15172 (list go-github-com-vmihailenco-tagparser
15173 go-google-golang-org-appengine))))
15174
15175(define-public go-github-com-vmihailenco-tagparser
15176 (package
15177 (name "go-github-com-vmihailenco-tagparser")
15178 (version "2.0.0")
15179 (source
15180 (origin
15181 (method git-fetch)
15182 (uri (git-reference
15183 (url "https://github.com/vmihailenco/tagparser")
15184 (commit (string-append "v" version))))
15185 (file-name (git-file-name name version))
15186 (sha256
15187 (base32 "13arliaz3b4bja9jj7cr5ax4zvxaxm484fwrn0q6d6jjm1l35m1k"))))
15188 (build-system go-build-system)
15189 (arguments
15190 (list
15191 #:import-path "github.com/vmihailenco/tagparser"))
15192 (home-page "https://github.com/vmihailenco/tagparser")
15193 (synopsis "Tag parser for Golang")
15194 (description
15195 "This package is a simple Golang implementation of tag parser.")
15196 (license license:bsd-2)))
15197
15198(define-public go-github-com-warpfork-go-fsx
15199 (package
15200 (name "go-github-com-warpfork-go-fsx")
15201 (version "0.4.0")
15202 (source
15203 (origin
15204 (method git-fetch)
15205 (uri (git-reference
15206 (url "https://github.com/warpfork/go-fsx")
15207 (commit (string-append "v" version))))
15208 (file-name (git-file-name name version))
15209 (sha256
15210 (base32 "1yhh42vp12hnkhlfimcab4a2df2apprnlg3ll75yr2pd0b001p5b"))))
15211 (build-system go-build-system)
15212 (arguments
15213 (list
15214 #:import-path "github.com/warpfork/go-fsx"))
15215 (home-page "https://github.com/warpfork/go-fsx")
15216 (synopsis "Extended filesystem interface for Golang")
15217 (description
15218 "This package, @code{fsx}, takes the style of the io/fs package, and
15219extends it with more features:
15220@itemize
15221@item fsx provides the ability to write files (using OpenFile, which is much
15222like the os package feature you're already familiar with)
15223@item fsx provides the ability to create directories
15224@item fsx provides the ability to delete files and directories
15225@item fsx provides features for reading symlinks, and creating them
15226@end itemize")
15227 ;; This library is multiply-licensed under either of Apache 2.0 or MIT or
15228 ;; BSD-3-Clause terms.
15229 (license (list license:expat license:asl2.0 license:bsd-3))))
15230
7755(define-public go-github-com-whyrusleeping-base32 15231(define-public go-github-com-whyrusleeping-base32
7756 (package 15232 (package
7757 (name "go-github-com-whyrusleeping-base32") 15233 (name "go-github-com-whyrusleeping-base32")
@@ -7937,6 +15413,116 @@ edges and self-loops are not permitted.
7937@end itemize") 15413@end itemize")
7938 (license license:asl2.0))) 15414 (license license:asl2.0)))
7939 15415
15416(define-public go-github-com-xaionaro-go-unsafetools
15417 (package
15418 (name "go-github-com-xaionaro-go-unsafetools")
15419 (version "0.0.0-20241024014258-a46e1ce3763e")
15420 (source
15421 (origin
15422 (method git-fetch)
15423 (uri (git-reference
15424 (url "https://github.com/xaionaro-go/unsafetools")
15425 (commit (go-version->git-ref version))))
15426 (file-name (git-file-name name version))
15427 (sha256
15428 (base32 "153qlgq5sjg3gsw5v6an0mck8v5pmxf5mnys41ykp97yqp53mgcp"))))
15429 (build-system go-build-system)
15430 (arguments
15431 (list
15432 #:import-path "github.com/xaionaro-go/unsafetools"))
15433 (native-inputs
15434 (list go-github-com-stretchr-testify))
15435 (home-page "https://github.com/xaionaro-go/unsafetools")
15436 (synopsis "Access to private/unexported fields of a structure")
15437 (description
15438 "This package provides function @code{FieldByName} to access to any field
15439(including private/unexported) of a structure.")
15440 (license license:cc0)))
15441
15442(define-public go-github-com-xaionaro-go-bytesextra
15443 (package
15444 (name "go-github-com-xaionaro-go-bytesextra")
15445 (version "0.0.0-20220103144954-846e454ddea9")
15446 (source
15447 (origin
15448 (method git-fetch)
15449 (uri (git-reference
15450 (url "https://github.com/xaionaro-go/bytesextra")
15451 (commit (go-version->git-ref version))))
15452 (file-name (git-file-name name version))
15453 (sha256
15454 (base32 "1zggis1mdrfnashngg5hc6a6r6glcxzgj87ali7qdi02bnrl8s9i"))))
15455 (build-system go-build-system)
15456 (arguments
15457 (list
15458 #:import-path "github.com/xaionaro-go/bytesextra"))
15459 (native-inputs (list go-github-com-stretchr-testify))
15460 (home-page "https://github.com/xaionaro-go/bytesextra")
15461 (synopsis "Golang library for bytes I/O")
15462 (description
15463 "This packae provides @code{io.ReadWriteSeeker} implementation for
15464@code{[]byte}.")
15465 (license license:cc0)))
15466
15467(define-public go-github-com-xaionaro-gosrc
15468 (let ((commit "3fdf8476a735bd7ddd90579862e2e548787b17b6")
15469 (revision "0"))
15470 (package
15471 (name "go-github-com-xaionaro-gosrc")
15472 (version (git-version "0.0.0" revision commit))
15473 (source
15474 (origin
15475 (method git-fetch)
15476 (uri (git-reference
15477 (url "https://github.com/xaionaro-go/gosrc")
15478 (commit commit)))
15479 (file-name (git-file-name name version))
15480 (sha256
15481 (base32 "0j0y0r0nj39537x7yk9yfc3k6dqbw14b65ykjnbmsxkhpjjpxf3v"))))
15482 (build-system go-build-system)
15483 (arguments
15484 (list
15485 #:import-path "github.com/xaionaro-go/gosrc"))
15486 (native-inputs
15487 (list go-github-com-stretchr-testify))
15488 (propagated-inputs
15489 (list go-github-com-xaionaro-go-unsafetools
15490 go-github-com-fatih-structtag))
15491 (home-page "https://github.com/xaionaro-go/gosrc")
15492 (synopsis "Parse Go packages to handy structures")
15493 (description
15494 "This package just simplifies working with @code{go/*} packages to parse
15495a source code. Initially the package was written to simplify code
15496generation.")
15497 (license license:cc0))))
15498
15499(define-public go-github-com-xdg-go-stringprep
15500 (package
15501 (name "go-github-com-xdg-go-stringprep")
15502 (version "1.0.4")
15503 (source
15504 (origin
15505 (method git-fetch)
15506 (uri (git-reference
15507 (url "https://github.com/xdg-go/stringprep")
15508 (commit (string-append "v" version))))
15509 (file-name (git-file-name name version))
15510 (sha256
15511 (base32 "0xvaf2xiy34ra4xz75d6kylr29jv00dnyk14mh8kmq5692n8lqvb"))))
15512 (build-system go-build-system)
15513 (arguments
15514 (list
15515 #:import-path "github.com/xdg-go/stringprep"))
15516 (propagated-inputs
15517 (list go-golang-org-x-text))
15518 (home-page "https://github.com/xdg-go/stringprep")
15519 (synopsis "Go implementation of RFC-3454 stringprep and RFC-4013 SASLprep")
15520 (description
15521 "Package stringprep provides data tables and algorithms for RFC-3454,
15522including errata. It also provides a profile for SASLprep as defined in
15523RFC-4013.")
15524 (license license:asl2.0)))
15525
7940(define-public go-github-com-xhit-go-str2duration-v2 15526(define-public go-github-com-xhit-go-str2duration-v2
7941 (package 15527 (package
7942 (name "go-github-com-xhit-go-str2duration-v2") 15528 (name "go-github-com-xhit-go-str2duration-v2")
@@ -7987,6 +15573,193 @@ similar string with weeks or days too.")
7987 "This package provides a simple ASCII tree composing tool.") 15573 "This package provides a simple ASCII tree composing tool.")
7988 (license license:expat))) 15574 (license license:expat)))
7989 15575
15576(define-public go-github-com-xo-terminfo
15577 (package
15578 (name "go-github-com-xo-terminfo")
15579 (version "0.0.0-20220910002029-abceb7e1c41e")
15580 (source
15581 (origin
15582 (method git-fetch)
15583 (uri (git-reference
15584 (url "https://github.com/xo/terminfo")
15585 (commit (go-version->git-ref version))))
15586 (file-name (git-file-name name version))
15587 (sha256
15588 (base32 "0n3b37z76rz3l74mhrvviz66xa8dqwpvc2gb6cyzql5smbcs9y3a"))))
15589 (build-system go-build-system)
15590 (arguments
15591 (list #:import-path "github.com/xo/terminfo"))
15592 (native-inputs
15593 (list go-golang-org-x-exp))
15594 (home-page "https://github.com/xo/terminfo")
15595 (synopsis "Read the terminfo database in Go")
15596 (description
15597 "The terminfo package implements terminfo database reading for Go.")
15598 (license license:expat)))
15599
15600(define-public go-github-com-xrash-smetrics
15601 (package
15602 (name "go-github-com-xrash-smetrics")
15603 (version "0.0.0-20240521201337-686a1a2994c1")
15604 (source
15605 (origin
15606 (method git-fetch)
15607 (uri (git-reference
15608 (url "https://github.com/xrash/smetrics")
15609 (commit (go-version->git-ref version))))
15610 (file-name (git-file-name name version))
15611 (sha256
15612 (base32 "057wgbz16n416zp23j5iv2lsd0nidbd92r4f1h8s3c1svkkqvk0a"))))
15613 (build-system go-build-system)
15614 (arguments
15615 (list
15616 #:import-path "github.com/xrash/smetrics"))
15617 (home-page "https://github.com/xrash/smetrics")
15618 (synopsis "String metrics library")
15619 (description
15620 "Package smetrics provides a bunch of algorithms for calculating the
15621distance between strings. There are implementations for calculating the
15622popular Levenshtein distance (aka Edit Distance or Wagner-Fischer), as well as
15623the Jaro distance, the Jaro-Winkler distance, and more.")
15624 (license license:expat)))
15625
15626(define-public go-github-com-xtgo-uuid
15627 (package
15628 (name "go-github-com-xtgo-uuid")
15629 (version "0.0.0-20140804021211-a0b114877d4c")
15630 (source
15631 (origin
15632 (method git-fetch)
15633 (uri (git-reference
15634 (url "https://github.com/xtgo/uuid")
15635 (commit (go-version->git-ref version))))
15636 (file-name (git-file-name name version))
15637 (sha256
15638 (base32 "10pmay90is5x8cv5ckcajw3s7g2rpk4ix6kl4qhq8qx05x2ivlrw"))))
15639 (build-system go-build-system)
15640 (arguments
15641 (list
15642 #:import-path "github.com/xtgo/uuid"))
15643 (home-page "https://github.com/xtgo/uuid")
15644 (synopsis "Go UUID parsing and generation")
15645 (description
15646 "Package uuid can be used to generate and parse universally unique
15647identifiers, a standardized format in the form of a 128 bit number.")
15648 (license license:bsd-3)))
15649
15650(define-public go-github-com-xuanwo-go-locale
15651 (package
15652 (name "go-github-com-xuanwo-go-locale")
15653 (version "1.1.2")
15654 (source
15655 (origin
15656 (method git-fetch)
15657 (uri (git-reference
15658 (url "https://github.com/Xuanwo/go-locale")
15659 (commit (string-append "v" version))))
15660 (file-name (git-file-name name version))
15661 (sha256
15662 (base32 "09d68ay4kcic82xjdl9b3zi5nq0srxanprk5p32n5yxqirb0pbxd"))))
15663 (build-system go-build-system)
15664 (arguments
15665 (list
15666 #:import-path "github.com/Xuanwo/go-locale"))
15667 (propagated-inputs
15668 (list go-golang-org-x-sys
15669 go-golang-org-x-text))
15670 (home-page "https://github.com/Xuanwo/go-locale")
15671 (synopsis "Locale detection in Golang")
15672 (description
15673 "This package provides a functionality for cross-platform locale
15674detection.")
15675 (license license:asl2.0)))
15676
15677;; XXX: The latest release v0.1.1 was in 2014, master branch has more changes
15678;; since that time, use the latest commit.
15679(define-public go-github-com-yosuke-furukawa-json5
15680 (let ((commit "cf7bb3f354ffe5d5ad4c9b714895eab7e0498b5f")
15681 (revision "0"))
15682 (package
15683 (name "go-github-com-yosuke-furukawa-json5")
15684 (version (git-version "0.1.1" revision commit))
15685 (source
15686 (origin
15687 (method git-fetch)
15688 (uri (git-reference
15689 (url "https://github.com/yosuke-furukawa/json5")
15690 (commit commit)))
15691 (file-name (git-file-name name version))
15692 (sha256
15693 (base32 "05h9ipfjr2ww8b89zq1sm1q9wfasjnmzwlxa241wppqajn3rvr7s"))))
15694 (build-system go-build-system)
15695 (arguments
15696 (list
15697 #:import-path "github.com/yosuke-furukawa/json5"))
15698 (home-page "https://github.com/yosuke-furukawa/json5")
15699 (synopsis "JSON5 implemented in Golang")
15700 (description
15701 "This package provides an implementation of
15702@url{https://github.com/yosuke-furukawa/json5, JSON5}.")
15703 (license license:bsd-3))))
15704
15705(define-public go-github-com-yudai-gojsondiff
15706 (package
15707 (name "go-github-com-yudai-gojsondiff")
15708 (version "1.0.0")
15709 (source
15710 (origin
15711 (method git-fetch)
15712 (uri (git-reference
15713 (url "https://github.com/yudai/gojsondiff")
15714 (commit (string-append "v" version))))
15715 (file-name (git-file-name name version))
15716 (sha256
15717 (base32 "0qnymi0027mb8kxm24mmd22bvjrdkc56c7f4q3lbdf93x1vxbbc2"))
15718 (snippet
15719 #~(begin (use-modules (guix build utils))
15720 (delete-file-recursively "vendor")))))
15721 (build-system go-build-system)
15722 (arguments
15723 (list
15724 #:import-path "github.com/yudai/gojsondiff"
15725 #:test-subdirs #~(list "formatter/...")))
15726 (native-inputs
15727 (list go-github-com-onsi-ginkgo))
15728 (propagated-inputs
15729 (list go-github-com-sergi-go-diff
15730 go-github-com-yudai-golcs))
15731 (home-page "https://github.com/yudai/gojsondiff")
15732 (synopsis "JSON Diff and Patch for Golang")
15733 (description
15734 "This package implements a \"diff\" algorithm that compares two JSON
15735objects and generates deltas that describe the differences between them. The
15736deltas can be applied to a JSON object to \"patch\" them.")
15737 (license license:expat)))
15738
15739(define-public go-github-com-yudai-golcs
15740 (package
15741 (name "go-github-com-yudai-golcs")
15742 (version "0.0.0-20170316035057-ecda9a501e82")
15743 (source
15744 (origin
15745 (method git-fetch)
15746 (uri (git-reference
15747 (url "https://github.com/yudai/golcs")
15748 (commit (go-version->git-ref version))))
15749 (file-name (git-file-name name version))
15750 (sha256
15751 (base32 "0mx6wc5fz05yhvg03vvps93bc5mw4vnng98fhmixd47385qb29pq"))))
15752 (build-system go-build-system)
15753 (arguments
15754 (list
15755 #:import-path "github.com/yudai/golcs"))
15756 (home-page "https://github.com/yudai/golcs")
15757 (synopsis "Calculate @acronym{LCS, longest common sequence} in Golang")
15758 (description
15759 "This package provides functions to calculate @acronym{LCS, longest
15760common sequence} values from two arbitrary arrays.")
15761 (license license:expat)))
15762
7990(define-public go-github-com-yuin-gopher-lua 15763(define-public go-github-com-yuin-gopher-lua
7991 (package 15764 (package
7992 (name "go-github-com-yuin-gopher-lua") 15765 (name "go-github-com-yuin-gopher-lua")
@@ -8029,6 +15802,97 @@ provides Go APIs that allow you to easily embed a scripting language to your
8029Go host programs.") 15802Go host programs.")
8030 (license license:expat))) 15803 (license license:expat)))
8031 15804
15805(define-public go-github-com-zclconf-go-cty
15806 (package
15807 (name "go-github-com-zclconf-go-cty")
15808 (version "1.16.0")
15809 (source
15810 (origin
15811 (method git-fetch)
15812 (uri (git-reference
15813 (url "https://github.com/zclconf/go-cty")
15814 (commit (string-append "v" version))))
15815 (file-name (git-file-name name version))
15816 (sha256
15817 (base32 "0rvvs9rplvh9gv90lsvwgw203ysz47qksw1xz3whhdvhn7ns8s8f"))))
15818 (build-system go-build-system)
15819 (arguments
15820 (list
15821 #:skip-build? #t
15822 #:import-path "github.com/zclconf/go-cty"))
15823 (native-inputs
15824 (list go-github-com-google-go-cmp))
15825 (propagated-inputs
15826 (list go-github-com-apparentlymart-go-textseg-v15
15827 go-github-com-vmihailenco-msgpack-v5
15828 go-golang-org-x-text))
15829 (home-page "https://github.com/zclconf/go-cty")
15830 (synopsis "Type system for dynamic values in Go applications")
15831 (description
15832 "@code{cty} (pronounced \"see-tie\") is a dynamic type system for
15833applications written in Go that need to represent user-supplied values without
15834losing type information. The primary intended use is for implementing
15835configuration languages, but other uses may be possible too.")
15836 (license license:expat)))
15837
15838(define-public go-github-com-zclconf-go-cty-debug
15839 (package
15840 (name "go-github-com-zclconf-go-cty-debug")
15841 (version "0.0.0-20240509010212-0d6042c53940")
15842 (source
15843 (origin
15844 (method git-fetch)
15845 (uri (git-reference
15846 (url "https://github.com/zclconf/go-cty-debug")
15847 (commit (go-version->git-ref version))))
15848 (file-name (git-file-name name version))
15849 (sha256
15850 (base32 "0izkqnciir10zamr1ca32bmyir1d5hfyxh84dj2q39bw1sj3fs7j"))))
15851 (build-system go-build-system)
15852 (arguments
15853 (list
15854 #:skip-build? #t
15855 #:import-path "github.com/zclconf/go-cty-debug"))
15856 (propagated-inputs
15857 (list go-github-com-google-go-cmp
15858 go-github-com-zclconf-go-cty))
15859 (home-page "https://github.com/zclconf/go-cty-debug")
15860 (synopsis "Debugging and inspection utilities for cty")
15861 (description
15862 "This package implements a functionality for debugging and inspection
15863utilities for cty Golang module.")
15864 (license license:expat)))
15865
15866(define-public go-go-abhg-dev-komplete
15867 (package
15868 (name "go-go-abhg-dev-komplete")
15869 (version "0.1.0")
15870 (source
15871 (origin
15872 (method git-fetch)
15873 (uri (git-reference
15874 (url "https://github.com/abhinav/komplete")
15875 (commit (string-append "v" version))))
15876 (file-name (git-file-name name version))
15877 (sha256
15878 (base32 "060ns34mcf3a39vqairv52lkxiknrv6ghpyy0prliswfhw0hwy67"))))
15879 (build-system go-build-system)
15880 (arguments
15881 (list
15882 #:go go-1.22
15883 #:import-path "go.abhg.dev/komplete"))
15884 (native-inputs
15885 (list go-github-com-stretchr-testify))
15886 (propagated-inputs
15887 (list go-github-com-alecthomas-kong
15888 go-github-com-buildkite-shellwords))
15889 (home-page "https://go.abhg.dev/komplete")
15890 (synopsis "Shell completion support for Kong CLI parser")
15891 (description
15892 "This package provides a command-line completion engine for the
15893@url{https://github.com/alecthomas/kong, Kong CLI parser}.")
15894 (license license:bsd-3)))
15895
8032(define-public go-go-etcd-io-bbolt 15896(define-public go-go-etcd-io-bbolt
8033 (package 15897 (package
8034 (name "go-go-etcd-io-bbolt") 15898 (name "go-go-etcd-io-bbolt")
@@ -8063,6 +15927,73 @@ for projects that don't require a full database server such as Postgres or
8063MySQL.") 15927MySQL.")
8064 (license license:expat))) 15928 (license license:expat)))
8065 15929
15930(define-public go-go-mongodb-org-mongo-driver
15931 (package
15932 (name "go-go-mongodb-org-mongo-driver")
15933 (version "1.16.1")
15934 (source
15935 (origin
15936 (method git-fetch)
15937 (uri (git-reference
15938 (url "https://github.com/mongodb/mongo-go-driver")
15939 (commit (string-append "v" version))))
15940 (file-name (git-file-name name version))
15941 (sha256
15942 (base32 "160hwrk8y8h3nl9sh5v6pxnlyw1ywbssjgzb72lj0x68akgl8gff"))
15943 (snippet
15944 #~(begin (use-modules (guix build utils))
15945 (delete-file-recursively "vendor")))))
15946 (build-system go-build-system)
15947 (arguments
15948 (list
15949 #:import-path "go.mongodb.org/mongo-driver"
15950 #:test-flags
15951 #~(list "-skip"
15952 (string-join
15953 ;; Some tests require running database and available network
15954 ;; connection.
15955 (list "TestAggregate"
15956 "TestPollSRVRecords"
15957 "TestPollSRVRecordsServiceName"
15958 "TestPollingSRVRecordsLoadBalanced"
15959 "TestPollingSRVRecordsSpec"
15960 "TestServerHeartbeatOffTimeout"
15961 "TestServerHeartbeatTimeout"
15962 "TestTimeCodec"
15963 "TestTopologyConstructionLogging"
15964 "TestURIOptionsSpec")
15965 "|"))
15966 #:test-subdirs
15967 #~(list "bson/..." "event/..." "internal/..." "tag/..." "x/...")
15968 #:phases
15969 #~(modify-phases %standard-phases
15970 (delete 'build) ; no go files in project's root
15971 (add-after 'unpack 'remove-examples-and-benchmarks
15972 (lambda* (#:key tests? import-path #:allow-other-keys)
15973 (with-directory-excursion (string-append "src/" import-path)
15974 (for-each delete-file-recursively
15975 (list "benchmark"
15976 "examples"
15977 "cmd/godriver-benchmark"))))))))
15978 (native-inputs
15979 (list go-github-com-aws-aws-lambda-go))
15980 (propagated-inputs
15981 (list go-github-com-davecgh-go-spew
15982 go-github-com-golang-snappy
15983 go-github-com-google-go-cmp
15984 go-github-com-klauspost-compress
15985 go-github-com-montanaflynn-stats
15986 go-github-com-xdg-go-scram
15987 go-github-com-xdg-go-stringprep
15988 go-github-com-youmark-pkcs8
15989 go-golang-org-x-crypto
15990 go-golang-org-x-sync))
15991 (home-page "https://go.mongodb.org/mongo-driver")
15992 (synopsis "MongoDB Go Driver")
15993 (description
15994 "This package provides a driver for @code{Mongo} data base.")
15995 (license license:asl2.0)))
15996
8066(define-public go-go-senan-xyz-flagconf 15997(define-public go-go-senan-xyz-flagconf
8067 (package 15998 (package
8068 (name "go-go-senan-xyz-flagconf") 15999 (name "go-go-senan-xyz-flagconf")
@@ -8143,7 +16074,7 @@ CPU quota.")
8143(define-public go-go-uber-org-dig 16074(define-public go-go-uber-org-dig
8144 (package 16075 (package
8145 (name "go-go-uber-org-dig") 16076 (name "go-go-uber-org-dig")
8146 (version "1.17.1") 16077 (version "1.18.0")
8147 (source 16078 (source
8148 (origin 16079 (origin
8149 (method git-fetch) 16080 (method git-fetch)
@@ -8152,7 +16083,7 @@ CPU quota.")
8152 (commit (string-append "v" version)))) 16083 (commit (string-append "v" version))))
8153 (file-name (git-file-name name version)) 16084 (file-name (git-file-name name version))
8154 (sha256 16085 (sha256
8155 (base32 "020dak2r0yykk6fkfwad2wbz73pjbbdkdamn0ir7xf2irxsmjakm")))) 16086 (base32 "1hc56szkalhsxfnpw5iphhm1vhlq2za5049vcwi4zlcy64mjx8v9"))))
8156 (build-system go-build-system) 16087 (build-system go-build-system)
8157 (arguments 16088 (arguments
8158 (list 16089 (list
@@ -8169,7 +16100,7 @@ object dependencies graph during the process startup.")
8169(define-public go-go-uber-org-fx 16100(define-public go-go-uber-org-fx
8170 (package 16101 (package
8171 (name "go-go-uber-org-fx") 16102 (name "go-go-uber-org-fx")
8172 (version "1.21.0") 16103 (version "1.23.0")
8173 (source 16104 (source
8174 (origin 16105 (origin
8175 (method git-fetch) 16106 (method git-fetch)
@@ -8178,11 +16109,25 @@ object dependencies graph during the process startup.")
8178 (commit (string-append "v" version)))) 16109 (commit (string-append "v" version))))
8179 (file-name (git-file-name name version)) 16110 (file-name (git-file-name name version))
8180 (sha256 16111 (sha256
8181 (base32 "16pbqmkij02zw6xa4660k905y0r0rc50vyqhg41i2411r68jrdnn")))) 16112 (base32 "03m26d2k9gwcdjjmwajz1fnihdjvb46l6c5ws07r8l8skcz1jx16"))
16113 (modules '((guix build utils)))
16114 (snippet
16115 #~(begin
16116 ;; Submodules with their own go.mod files and packaged separately:
16117 ;;
16118 ;; - go.uber.org/fx/tools
16119 (delete-file-recursively "tools")))))
8182 (build-system go-build-system) 16120 (build-system go-build-system)
8183 (arguments 16121 (arguments
8184 (list 16122 (list
8185 #:import-path "go.uber.org/fx")) 16123 #:import-path "go.uber.org/fx"
16124 #:test-flags
16125 #~(list "-skip" (string-join
16126 ;; Tests require networking set up.
16127 (list "TestNopLoggerOptionString"
16128 "TestRun"
16129 "TestDeepStack")
16130 "|"))))
8186 (native-inputs 16131 (native-inputs
8187 (list go-github-com-stretchr-testify)) 16132 (list go-github-com-stretchr-testify))
8188 (propagated-inputs 16133 (propagated-inputs
@@ -8198,10 +16143,40 @@ object dependencies graph during the process startup.")
8198applications out of reusable, composable modules.") 16143applications out of reusable, composable modules.")
8199 (license license:expat))) 16144 (license license:expat)))
8200 16145
16146(define-public go-go-uber-org-fx-tools
16147 (package
16148 (name "go-go-uber-org-fx-tools")
16149 (version "0.0.0-20241011173146-861011200d8a")
16150 (source
16151 (origin
16152 (method git-fetch)
16153 (uri (git-reference
16154 (url "https://github.com/uber-go/fx")
16155 (commit (go-version->git-ref version
16156 #:subdir "tools"))))
16157 (file-name (git-file-name name version))
16158 (sha256
16159 (base32 "1y9zavn5dmb5v2g2krc1apznp1fwc2zb70hlgxw4xcz2ifdwx7wz"))))
16160 (build-system go-build-system)
16161 (arguments
16162 (list
16163 #:skip-build? #t
16164 #:import-path "go.uber.org/fx/tools"
16165 #:unpack-path "go.uber.org/fx"))
16166 (propagated-inputs (list go-golang-org-x-tools))
16167 (home-page "https://go.uber.org/fx")
16168 (synopsis "Verify FX events")
16169 (description
16170 "This Package implements a Go analysis pass that verifies that an
16171@code{fxevent.Logger} implementation handles all known fxevent types. As a
16172special case for no-op or fake fxevent.Loggers, it ignores implementations
16173that handle none of the event types.")
16174 (license license:expat)))
16175
8201(define-public go-go-uber-org-multierr 16176(define-public go-go-uber-org-multierr
8202 (package 16177 (package
8203 (name "go-go-uber-org-multierr") 16178 (name "go-go-uber-org-multierr")
8204 (version "1.6.0") 16179 (version "1.11.0")
8205 (source 16180 (source
8206 (origin 16181 (origin
8207 (method git-fetch) 16182 (method git-fetch)
@@ -8210,7 +16185,7 @@ applications out of reusable, composable modules.")
8210 (commit (string-append "v" version)))) 16185 (commit (string-append "v" version))))
8211 (file-name (git-file-name name version)) 16186 (file-name (git-file-name name version))
8212 (sha256 16187 (sha256
8213 (base32 "162941s8f6a9x2w04qm4qa3zz0zylwag9149hywrj9ibp2nzcsqz")))) 16188 (base32 "1s6skad93nbsq4b0sy5dsgacrdh2kzg0p8wjlhvff49vasqsi3qx"))))
8214 (build-system go-build-system) 16189 (build-system go-build-system)
8215 (arguments 16190 (arguments
8216 '(#:import-path "go.uber.org/multierr")) 16191 '(#:import-path "go.uber.org/multierr"))
@@ -8227,7 +16202,7 @@ applications out of reusable, composable modules.")
8227(define-public go-go-uber-org-zap 16202(define-public go-go-uber-org-zap
8228 (package 16203 (package
8229 (name "go-go-uber-org-zap") 16204 (name "go-go-uber-org-zap")
8230 (version "1.24.0") 16205 (version "1.27.0")
8231 (source 16206 (source
8232 (origin 16207 (origin
8233 (method git-fetch) 16208 (method git-fetch)
@@ -8236,32 +16211,40 @@ applications out of reusable, composable modules.")
8236 (commit (string-append "v" version)))) 16211 (commit (string-append "v" version))))
8237 (file-name (git-file-name name version)) 16212 (file-name (git-file-name name version))
8238 (sha256 16213 (sha256
8239 (base32 "0lzbbs87fvixzbyv4wpl3s70vm2m0jz2jgdvrviiksc2al451qgs")))) 16214 (base32 "1h3ml2wqmdxwqv0xdfqvf7l4wma5yd0hdfsa6189mmbhkhzn8v3m"))))
8240 (build-system go-build-system) 16215 (build-system go-build-system)
8241 (arguments 16216 (arguments
8242 (list 16217 (list
8243 #:import-path "go.uber.org/zap" 16218 #:import-path "go.uber.org/zap"
16219 #:test-flags
16220 #~(list "-skip" (string-join
16221 ;; Unexpected stack trace annotation.
16222 (list "TestAddStackSkip"
16223 ;; Expected to find package name and file name in
16224 ;; output.
16225 "TestLoggerAddCaller"
16226 "TestSugarAddCaller")
16227 "|"))
8244 #:phases 16228 #:phases
8245 #~(modify-phases %standard-phases 16229 #~(modify-phases %standard-phases
8246 ;; Remove test files requiring to download all dependencies for the 16230 (add-after 'unpack 'remove-examples-and-benchmarks
8247 ;; current Go module and reports their module paths and locations on 16231 (lambda* (#:key tests? import-path #:allow-other-keys)
8248 ;; disk. 16232 (with-directory-excursion (string-append "src/" import-path)
8249 (add-after 'unpack 'remove-test-files 16233 (for-each delete-file-recursively
8250 (lambda* (#:key import-path #:allow-other-keys) 16234 (list "benchmarks"
8251 (delete-file 16235 ;; Remove test files requiring to download all
8252 (string-append "src/" import-path 16236 ;; dependencies for the current Go module and
8253 "/stacktrace_ext_test.go"))))))) 16237 ;; reports their module paths and locations on
16238 ;; disk.
16239 "stacktrace_ext_test.go"
16240 ;; Not packed yet google.golang.org/grpc.
16241 "zapgrpc/internal/test/grpc_test.go"))))))))
8254 (native-inputs 16242 (native-inputs
8255 (list go-github-com-stretchr-testify 16243 (list go-github-com-stretchr-testify
8256 go-go-uber-org-goleak 16244 go-go-uber-org-goleak))
8257 go-golang-org-x-lint
8258 go-honnef-co-go-tools))
8259 (propagated-inputs 16245 (propagated-inputs
8260 (list go-github-com-benbjohnson-clock 16246 (list go-go-uber-org-multierr
8261 go-github-com-pkg-errors 16247 go-gopkg-in-yaml-v3))
8262 go-go-uber-org-atomic
8263 go-go-uber-org-multierr
8264 go-gopkg-in-yaml-v2))
8265 (home-page "https://pkg.go.dev/go.uber.org/zap") 16248 (home-page "https://pkg.go.dev/go.uber.org/zap")
8266 (synopsis "Logging library for Go") 16249 (synopsis "Logging library for Go")
8267 (description 16250 (description
@@ -8269,6 +16252,40 @@ applications out of reusable, composable modules.")
8269Go.") 16252Go.")
8270 (license license:expat))) 16253 (license license:expat)))
8271 16254
16255(define-public go-google-golang-org-appengine
16256 (package
16257 (name "go-google-golang-org-appengine")
16258 (version "1.6.8")
16259 (source
16260 (origin
16261 (method git-fetch)
16262 (uri (git-reference
16263 (url "https://github.com/golang/appengine")
16264 (commit (string-append "v" version))))
16265 (file-name (git-file-name name version))
16266 (sha256
16267 (base32 "17pbiximrd340wdx3pm1jkpsgvss80pax7hif906xglh7mj9zqx2"))
16268 (modules '((guix build utils)))
16269 (snippet
16270 #~(begin
16271 ;; Submodules with their own go.mod files and packaged separately:
16272 ;;
16273 ;; - google.golang.org/appengine/v2
16274 (delete-file-recursively "v2")))))
16275 (build-system go-build-system)
16276 (arguments
16277 (list
16278 #:import-path "google.golang.org/appengine"))
16279 (propagated-inputs
16280 (list go-github-com-golang-protobuf
16281 go-golang-org-x-text
16282 go-google-golang-org-protobuf))
16283 (home-page "https://google.golang.org/appengine")
16284 (synopsis "Go App Engine packages")
16285 (description
16286 "Package appengine provides basic functionality for Google App Engine.")
16287 (license license:asl2.0)))
16288
8272(define-public go-gopkg-in-alecthomas-kingpin-v2 16289(define-public go-gopkg-in-alecthomas-kingpin-v2
8273 (package 16290 (package
8274 (inherit go-github-com-alecthomas-kingpin) 16291 (inherit go-github-com-alecthomas-kingpin)
@@ -8277,6 +16294,88 @@ Go.")
8277 (list 16294 (list
8278 #:import-path "gopkg.in/alecthomas/kingpin.v2")))) 16295 #:import-path "gopkg.in/alecthomas/kingpin.v2"))))
8279 16296
16297(define-public go-gopkg-in-inconshreveable-log15-v1
16298 (package
16299 (name "go-gopkg-in-inconshreveable-log15-v1")
16300 (version "1.2")
16301 (source
16302 (origin
16303 (method git-fetch)
16304 (uri (git-reference
16305 (url "https://github.com/inconshreveable/log15")
16306 (commit (string-append "v" version))))
16307 (file-name (git-file-name name version))
16308 (sha256
16309 (base32 "1hz7vnzn4cbiqra443mhmp63ifzq15xsfnyc9jmxh2p1ngwxp2n2"))))
16310 (build-system go-build-system)
16311 (arguments
16312 (list
16313 #:test-flags #~(list "-skip" "TestFailoverHandler")
16314 #:import-path "gopkg.in/inconshreveable/log15.v1"))
16315 (native-inputs
16316 (list go-github-com-stretchr-testify))
16317 (home-page "https://pkg.go.dev/github.com/inconshreveable/log15")
16318 (synopsis "Structured, composable logging for Golang")
16319 (description
16320 "This package provides a toolkit for logging that is both human and
16321machine readable. It is modeled after the Go standard library's @code{io} and
16322@code{net/http} packages and is an alternative to the standard library's
16323@code{log} package.")
16324 (license license:asl2.0)))
16325
16326(define-public go-gopkg-in-inconshreveable-log15-v2
16327 (package
16328 (inherit go-gopkg-in-inconshreveable-log15-v1)
16329 (name "go-gopkg-in-inconshreveable-log15-v2")
16330 (version "2.16.0")
16331 (source
16332 (origin
16333 (method git-fetch)
16334 (uri (git-reference
16335 (url "https://github.com/inconshreveable/log15")
16336 (commit (string-append "v" version))))
16337 (file-name (git-file-name name version))
16338 (sha256
16339 (base32 "117ivm1asxw2hlwb3zf72q553ywjk00bsn21bpwi99q784ghr4wd"))))
16340 (arguments
16341 (list
16342 #:import-path "gopkg.in/inconshreveable/log15.v2"
16343 #:test-flags #~(list "-skip" "TestCallerStackHandler")
16344 #:phases
16345 #~(modify-phases %standard-phases
16346 (add-after 'unpack 'fix-import-path
16347 (lambda* (#:key tests? import-path #:allow-other-keys)
16348 (with-directory-excursion (string-append "src/" import-path)
16349 (substitute* (find-files "." "\\.go$")
16350 (("github.com/inconshreveable/log15") import-path))))))))
16351 (propagated-inputs
16352 (list go-github-com-go-stack-stack
16353 go-github-com-mattn-go-colorable
16354 go-golang-org-x-term))))
16355
16356(define-public go-gopkg-in-inconshreveable-log15-v3
16357 (package
16358 (inherit go-gopkg-in-inconshreveable-log15-v2)
16359 (name "go-gopkg-in-inconshreveable-log15-v3")
16360 (version "3.0.0")
16361 (source
16362 (origin
16363 (method git-fetch)
16364 (uri (git-reference
16365 (url "https://github.com/inconshreveable/log15")
16366 (commit (string-append "v" version "-testing.5"))))
16367 (file-name (git-file-name name version))
16368 (sha256
16369 (base32 "14b03w7mlsac0n5ig5qc0iggii6ig9mvbiv6656r1h19vh4kmx8x"))))
16370 (arguments
16371 (substitute-keyword-arguments
16372 (package-arguments go-gopkg-in-inconshreveable-log15-v2)
16373 ((#:import-path _) "gopkg.in/inconshreveable/log15.v3")))
16374 (propagated-inputs
16375 (list go-github-com-go-stack-stack
16376 go-github-com-mattn-go-colorable
16377 go-golang-org-x-term))))
16378
8280(define-public go-gopkg-in-ini-v1 16379(define-public go-gopkg-in-ini-v1
8281 (package 16380 (package
8282 (name "go-gopkg-in-ini-v1") 16381 (name "go-gopkg-in-ini-v1")
@@ -8337,6 +16436,57 @@ Go.")
8337 (package-arguments go-github-com-op-go-logging) 16436 (package-arguments go-github-com-op-go-logging)
8338 ((#:import-path _) "gopkg.in/op/go-logging.v1"))))) 16437 ((#:import-path _) "gopkg.in/op/go-logging.v1")))))
8339 16438
16439(define-public go-gopkg-in-vmihailenco-msgpack-v2
16440 (package
16441 (name "go-gopkg-in-vmihailenco-msgpack-v2")
16442 (version "2.9.2")
16443 (source
16444 (origin
16445 (method git-fetch)
16446 (uri (git-reference
16447 (url "https://github.com/vmihailenco/msgpack")
16448 (commit (string-append "v" version))))
16449 (file-name (git-file-name name version))
16450 (sha256
16451 (base32 "08rcdnshc252nmlxkswx8xgiwr2ry7cq806gcw1836b00hwlwmmz"))))
16452 (build-system go-build-system)
16453 (arguments
16454 (list
16455 #:import-path "gopkg.in/vmihailenco/msgpack.v2"
16456 #:test-flags #~(list "-skip" "TestTypes")))
16457 (native-inputs
16458 (list go-gopkg-in-check-v1))
16459 (home-page "https://msgpack.uptrace.dev/")
16460 (synopsis "MessagePack encoding for Golang")
16461 (description
16462 "This package provides implementation of MessagePack encoding for Go
16463programming language.")
16464 (license license:bsd-2)))
16465
16466(define-public go-gopkg-in-warnings-v0
16467 (package
16468 (name "go-gopkg-in-warnings-v0")
16469 (version "0.1.2")
16470 (source
16471 (origin
16472 (method git-fetch)
16473 (uri (git-reference
16474 (url "https://github.com/go-warnings/warnings")
16475 (commit (string-append "v" version))))
16476 (file-name (git-file-name name version))
16477 (sha256
16478 (base32 "1kzj50jn708cingn7a13c2wdlzs6qv89dr2h4zj8d09647vlnd81"))))
16479 (build-system go-build-system)
16480 (arguments
16481 (list
16482 #:import-path "gopkg.in/warnings.v0"))
16483 (home-page "https://gopkg.in/warnings.v0")
16484 (synopsis "Error handling with non-fatal errors")
16485 (description
16486 "Package warnings implements error handling with non-fatal
16487errors (warnings).")
16488 (license license:bsd-2)))
16489
8340(define-public go-gopkg-in-yaml-v2 16490(define-public go-gopkg-in-yaml-v2
8341 (package 16491 (package
8342 (name "go-gopkg-in-yaml-v2") 16492 (name "go-gopkg-in-yaml-v2")
@@ -8374,10 +16524,113 @@ Go.")
8374values.") 16524values.")
8375 (license license:asl2.0))) 16525 (license license:asl2.0)))
8376 16526
8377(define-public go-k8s-io-klog 16527(define-public go-gopkg-in-yaml-v3
8378 (package 16528 (package
8379 (name "go-k8s-io-klog") 16529 (name "go-gopkg-in-yaml-v3")
8380 (version "1.0.0") 16530 (version "3.0.1")
16531 (source
16532 (origin
16533 (method git-fetch)
16534 (uri (git-reference
16535 (url "https://gopkg.in/yaml.v3")
16536 (commit (string-append "v" version))))
16537 (file-name (git-file-name name version))
16538 (sha256
16539 (base32 "01b0wjb7yzv8wzzz2iim8mjpkwjnykcanrwiq06pkl89lr6gv8hn"))
16540 (patches (search-patches "go-gopkg-in-yaml-v3-32bit.patch"))))
16541 (build-system go-build-system)
16542 (arguments
16543 (list
16544 #:tests? (not (target-ppc32?)) ; Test killed with quit: ran too long (11m0s).
16545 #:import-path "gopkg.in/yaml.v3"))
16546 (native-inputs
16547 (list go-gopkg-in-check-v1))
16548 (home-page "https://gopkg.in/yaml.v3")
16549 (synopsis "YAML reader and writer for the Go language")
16550 (description
16551 "This package provides a Go library for encode and decode YAML values.
16552The yaml package supports most of YAML 1.2, but preserves some behavior from
165531.1 for backwards compatibility.")
16554 (license license:asl2.0)))
16555
16556(define-public go-howett-net-plist
16557 (package
16558 (name "go-howett-net-plist")
16559 (version "1.0.1")
16560 (source
16561 (origin
16562 (method git-fetch)
16563 (uri (git-reference
16564 (url "https://github.com/DHowett/go-plist")
16565 (commit (string-append "v" version))))
16566 (file-name (git-file-name name version))
16567 (sha256
16568 (base32 "1gcrxkmdj87xq01458asgxvvijrkih74ydbzfmir1p16xr9z0x39"))))
16569 (build-system go-build-system)
16570 (arguments
16571 (list
16572 #:import-path "howett.net/plist"
16573 ;; cmd requires gopkg.in/yaml.v1
16574 #:test-subdirs #~(list "internal/..." ".")))
16575 (propagated-inputs
16576 (list go-github-com-jessevdk-go-flags
16577 go-gopkg-in-check-v1))
16578 (home-page "https://github.com/DHowett/go-plist")
16579 (synopsis "Apple property list transcoder")
16580 (description
16581 "This list transcoder supports encoding/decoding property lists (Apple
16582XML, Apple Binary, OpenStep, and GNUStep) from/to arbitrary Go types.")
16583 (license license:giftware)))
16584
16585(define-public go-k8s-io-gengo-v2
16586 (package
16587 (name "go-k8s-io-gengo-v2")
16588 (version "2.0.0-20240911193312-2b36238f13e9")
16589 (source
16590 (origin
16591 (method git-fetch)
16592 (uri (git-reference
16593 (url "https://github.com/kubernetes/gengo")
16594 (commit (go-version->git-ref version))))
16595 (file-name (git-file-name name version))
16596 (sha256
16597 (base32 "0ffwigrg92ivyb5r6g0alb4z8iydp9lkdviz3vm62gr89yw28yc7"))))
16598 (build-system go-build-system)
16599 (arguments
16600 (list
16601 #:import-path "k8s.io/gengo/v2"
16602 #:unpack-path "k8s.io/gengo"
16603 #:test-flags
16604 ;; XXX: Figure out why these tests fail.
16605 #~(list "-skip" (string-join
16606 (list "TestSnippetWriter"
16607 "TestFindPackages"
16608 "TestAlreadyLoaded"
16609 "TestLoadPackagesInternal"
16610 "TestLoadPackagesTo"
16611 "TestUserRequestedPackages"
16612 "TestAddOnePkgToUniverse"
16613 "TestStructParse/generic"
16614 "TestJSON")
16615 "|"))))
16616 (native-inputs
16617 (list go-github-com-google-go-cmp))
16618 (propagated-inputs
16619 (list go-github-com-spf13-pflag
16620 go-golang-org-x-tools
16621 go-k8s-io-klog-v2))
16622 (home-page "https://github.com/kubernetes/gengo")
16623 (synopsis "Framework for building simple code generators")
16624 (description
16625 "This package implements a functionality for generating things based on
16626go files. This mechanism was first used in Kubernetes code-generator and is
16627split out here for ease of reuse and maintainability.")
16628 (license license:asl2.0)))
16629
16630(define-public go-k8s-io-klog-v2
16631 (package
16632 (name "go-k8s-io-klog-v2")
16633 (version "2.130.1")
8381 (source 16634 (source
8382 (origin 16635 (origin
8383 (method git-fetch) 16636 (method git-fetch)
@@ -8386,19 +16639,26 @@ values.")
8386 (commit (string-append "v" version)))) 16639 (commit (string-append "v" version))))
8387 (file-name (git-file-name name version)) 16640 (file-name (git-file-name name version))
8388 (sha256 16641 (sha256
8389 (base32 "1cgannfmldcrcksb2wqdn2b5qabqyxl9r25w9y4qbljw24hhnlvn")))) 16642 (base32 "12q9jhxfpq75sgmdxgcz85znbgdi04ic9zy3rm0c47n24clz6z73"))))
8390 (build-system go-build-system) 16643 (build-system go-build-system)
8391 (arguments 16644 (arguments
8392 (list 16645 (list
8393 #:import-path "k8s.io/klog" 16646 #:import-path "k8s.io/klog/v2"
16647 #:test-flags
16648 #~(list "-skip"
16649 (string-join
16650 (list "TestDestinationsWithDifferentFlags/with_log_file_only"
16651 "TestDestinationsWithDifferentFlags/everything_disabled"
16652 "TestDestinationsWithDifferentFlags/with_log_dir_only"
16653 "TestDestinationsWithDifferentFlags/with_log_dir_only_and_one_output"
16654 "TestDestinationsWithDifferentFlags/with_log_file_and_log_dir")
16655 "|"))
8394 #:phases 16656 #:phases
8395 #~(modify-phases %standard-phases 16657 #~(modify-phases %standard-phases
8396 (add-after 'unpack 'disable-failing-tests 16658 (add-after 'unpack 'remove-examples
8397 (lambda* (#:key tests? import-path #:allow-other-keys) 16659 (lambda* (#:key tests? import-path #:allow-other-keys)
8398 (with-directory-excursion (string-append "src/" import-path) 16660 (with-directory-excursion (string-append "src/" import-path)
8399 (substitute* (find-files "." "\\_test.go$") 16661 (delete-file-recursively "examples")))))))
8400 ;; Disable test requiring write access to creat test files.
8401 (("TestRollover") "OffTestRollover"))))))))
8402 (propagated-inputs 16662 (propagated-inputs
8403 (list go-github-com-go-logr-logr)) 16663 (list go-github-com-go-logr-logr))
8404 (home-page "https://github.com/kubernetes/klog") 16664 (home-page "https://github.com/kubernetes/klog")
@@ -8412,103 +16672,188 @@ also provides V-style logging controlled by the @code{-v} and
8412@code{https://github.com/golang/glog}.") 16672@code{https://github.com/golang/glog}.")
8413 (license license:asl2.0))) 16673 (license license:asl2.0)))
8414 16674
8415(define-public go-k8s-io-klog-v2 16675(define-public go-k8s-io-utils
8416 (package 16676 (package
8417 (inherit go-k8s-io-klog) 16677 (name "go-k8s-io-utils")
8418 (name "go-k8s-io-klog-v2") 16678 (version "0.0.0-20241210054802-24370beab758")
8419 (version "2.130.1")
8420 (source 16679 (source
8421 (origin 16680 (origin
8422 (method git-fetch) 16681 (method git-fetch)
8423 (uri (git-reference 16682 (uri (git-reference
8424 (url "https://github.com/kubernetes/klog") 16683 (url "https://github.com/kubernetes/utils")
16684 (commit (go-version->git-ref version))))
16685 (file-name (git-file-name name version))
16686 (sha256
16687 (base32 "158rsq780hrzv6zb7lycjg8b2lfd00nvmx3mn4pi9byjam2y7nds"))))
16688 (build-system go-build-system)
16689 (arguments
16690 (list
16691 #:tests? #f ; XXX: all of them fail with various reasons
16692 #:import-path "k8s.io/utils"
16693 #:phases
16694 #~(modify-phases %standard-phases
16695 (delete 'build)))) ; no go files in project's root
16696 (propagated-inputs
16697 (list go-github-com-davecgh-go-spew
16698 go-k8s-io-klog-v2))
16699 (home-page "https://github.com/kubernetes/utils")
16700 (synopsis "Utility libraries for Golang")
16701 (description
16702 "This package provides a set of libraries that implementing low-level,
16703kubernetes-independent packages supplementing the
16704@url{https://pkg.go.dev/std#stdlib,Go standard libs}.")
16705 (license license:asl2.0)))
16706
16707(define-public go-modernc-org-fileutil
16708 (package
16709 (name "go-modernc-org-fileutil")
16710 (version "1.3.0")
16711 (source
16712 (origin
16713 (method git-fetch)
16714 (uri (git-reference
16715 (url "https://gitlab.com/cznic/fileutil")
8425 (commit (string-append "v" version)))) 16716 (commit (string-append "v" version))))
8426 (file-name (git-file-name name version)) 16717 (file-name (git-file-name name version))
8427 (sha256 16718 (sha256
8428 (base32 "12q9jhxfpq75sgmdxgcz85znbgdi04ic9zy3rm0c47n24clz6z73")))) 16719 (base32 "10q5xbik9yk9jw2ziq1fw0hpjfbv5h3qm7rlxlkwj0qxyyb7b9bi"))))
8429 (build-system go-build-system) 16720 (build-system go-build-system)
8430 (arguments 16721 (arguments
8431 (list 16722 (list
8432 #:import-path "k8s.io/klog/v2")))) 16723 #:import-path "modernc.org/fileutil"))
16724 (propagated-inputs
16725 (list go-modernc-org-mathutil))
16726 (home-page "https://gitlab.com/cznic/fileutil")
16727 (synopsis "File utility functions")
16728 (description "Package fileutil collects some file utility functions.")
16729 (license license:bsd-3)))
8433 16730
8434(define-public go-go-mongodb-org-mongo-driver 16731(define-public go-modernc-org-lexer
8435 (package 16732 (package
8436 (name "go-go-mongodb-org-mongo-driver") 16733 (name "go-modernc-org-lexer")
8437 (version "1.16.1") 16734 (version "1.0.5")
8438 (source 16735 (source
8439 (origin 16736 (origin
8440 (method git-fetch) 16737 (method git-fetch)
8441 (uri (git-reference 16738 (uri (git-reference
8442 (url "https://github.com/mongodb/mongo-go-driver") 16739 (url "https://gitlab.com/cznic/lexer")
8443 (commit (string-append "v" version)))) 16740 (commit (string-append "v" version))))
8444 (file-name (git-file-name name version)) 16741 (file-name (git-file-name name version))
8445 (sha256 16742 (sha256
8446 (base32 "160hwrk8y8h3nl9sh5v6pxnlyw1ywbssjgzb72lj0x68akgl8gff")) 16743 (base32 "00ahagg81vbm8k9an5l8gn8plr7d53955v54mv0g811hfqxacja2"))))
8447 (snippet
8448 #~(begin (use-modules (guix build utils))
8449 (delete-file-recursively "vendor")))))
8450 (build-system go-build-system) 16744 (build-system go-build-system)
8451 (arguments 16745 (arguments
8452 (list 16746 (list
8453 #:import-path "go.mongodb.org/mongo-driver" 16747 #:import-path "modernc.org/lexer"))
8454 #:phases
8455 #~(modify-phases %standard-phases
8456 (add-after 'unpack 'remove-examples-and-benchmarks
8457 (lambda* (#:key tests? import-path #:allow-other-keys)
8458 (with-directory-excursion (string-append "src/" import-path)
8459 (for-each delete-file-recursively
8460 (list "benchmark"
8461 "examples"
8462 "cmd/godriver-benchmark")))))
8463 (add-before 'check 'disable-failing-tests
8464 (lambda* (#:key tests? unpack-path #:allow-other-keys)
8465 (with-directory-excursion (string-append "src/" unpack-path)
8466 (substitute* (find-files "." "\\_test.go$")
8467 ;; Some tests require running database and available network connection.
8468 (("TestAggregate") "OffTestAggregate")
8469 (("TestPollSRVRecords") "OffTestPollSRVRecords")
8470 (("TestPollSRVRecordsServiceName")
8471 "OffTestPollSRVRecordsServiceName")
8472 (("TestPollingSRVRecordsLoadBalanced")
8473 "OffTestPollingSRVRecordsLoadBalanced")
8474 (("TestPollingSRVRecordsSpec")
8475 "OffTestPollingSRVRecordsSpec")
8476 (("TestServerHeartbeatOffTimeout")
8477 "OffTestServerHeartbeatTimeout")
8478 (("TestServerHeartbeatTimeout")
8479 "OffTestServerHeartbeatTimeout")
8480 (("TestTimeCodec") "OffTestTimeCodec")
8481 (("TestTopologyConstructionLogging")
8482 "OffTestTopologyConstructionLogging")
8483 (("TestURIOptionsSpec") "OffTestURIOptionsSpec")))))
8484 ;; XXX: Workaround for go-build-system's lack of Go modules support.
8485 (delete 'build)
8486 (replace 'check
8487 (lambda* (#:key tests? import-path #:allow-other-keys)
8488 (when tests?
8489 (with-directory-excursion (string-append "src/" import-path)
8490 (for-each
8491 (lambda (package)
8492 (invoke "go" "test" (string-append "./" package "/...")))
8493 (list "bson" "event" "internal" "tag" "x")))))))))
8494 (native-inputs
8495 (list go-github-com-aws-aws-lambda-go))
8496 (propagated-inputs 16748 (propagated-inputs
8497 (list go-github-com-davecgh-go-spew 16749 (list go-golang-org-x-exp
8498 go-github-com-golang-snappy 16750 go-modernc-org-fileutil))
8499 go-github-com-google-go-cmp 16751 (home-page "https://gitlab.com/cznic/lexer")
8500 go-github-com-klauspost-compress 16752 (synopsis "Run time generator of action less scanners")
8501 go-github-com-montanaflynn-stats
8502 go-github-com-xdg-go-scram
8503 go-github-com-xdg-go-stringprep
8504 go-github-com-youmark-pkcs8
8505 go-golang-org-x-crypto
8506 go-golang-org-x-sync))
8507 (home-page "https://go.mongodb.org/mongo-driver")
8508 (synopsis "MongoDB Go Driver")
8509 (description 16753 (description
8510 "This package provides a driver for @code{Mongo} data base.") 16754 "Package lexer provides generating actionless scanners (lexeme
8511 (license license:asl2.0))) 16755recognizers) at run time.")
16756 (license license:bsd-3)))
16757
16758(define-public go-modernc-org-memory
16759 (package
16760 (name "go-modernc-org-memory")
16761 (version "1.8.0")
16762 (source
16763 (origin
16764 (method git-fetch)
16765 (uri (git-reference
16766 (url "https://gitlab.com/cznic/memory")
16767 (commit (string-append "v" version))))
16768 (file-name (git-file-name name version))
16769 (sha256
16770 (base32 "066pzk0i1jxahialzp97ra0k0f191y1756sgppiw50zkpnpwzjxr"))))
16771 (build-system go-build-system)
16772 (arguments
16773 (list
16774 #:import-path "modernc.org/memory"))
16775 (propagated-inputs
16776 (list go-modernc-org-mathutil))
16777 (home-page "https://gitlab.com/cznic/memory")
16778 (synopsis "Memory allocator implementation")
16779 (description "Package memory implements a memory allocator.")
16780 (license license:bsd-3)))
16781
16782(define-public go-modernc-org-opt
16783 (package
16784 (name "go-modernc-org-opt")
16785 (version "0.1.3")
16786 (source
16787 (origin
16788 (method git-fetch)
16789 (uri (git-reference
16790 (url "https://gitlab.com/cznic/opt")
16791 (commit (string-append "v" version))))
16792 (file-name (git-file-name name version))
16793 (sha256
16794 (base32 "02jih8lgcyrm2v0vagdmq298rvhqkwi4pswg4nwlksdiayw356p5"))))
16795 (build-system go-build-system)
16796 (arguments
16797 (list
16798 #:import-path "modernc.org/opt"))
16799 (home-page "https://gitlab.com/cznic/opt")
16800 (synopsis "Command-line flag parsing")
16801 (description "Package opt implements command-line flag parsing.")
16802 (license license:bsd-3)))
16803
16804(define-public go-modernc-org-sortutil
16805 (package
16806 (name "go-modernc-org-sortutil")
16807 (version "1.2.0")
16808 (source
16809 (origin
16810 (method git-fetch)
16811 (uri (git-reference
16812 (url "https://gitlab.com/cznic/sortutil")
16813 (commit (string-append "v" version))))
16814 (file-name (git-file-name name version))
16815 (sha256
16816 (base32 "01s9vil8lvaz526x6q9f12h6vpc3jc8zvpag7knz1bdx9b15yljc"))))
16817 (build-system go-build-system)
16818 (arguments
16819 (list
16820 #:import-path "modernc.org/sortutil"))
16821 (native-inputs
16822 (list go-modernc-org-mathutil))
16823 (home-page "https://gitlab.com/cznic/sortutil")
16824 (synopsis "Sort utility library")
16825 (description
16826 "Package sortutil provides utilities supplementing the standard
16827@code{sort} package.")
16828 (license license:bsd-3)))
16829
16830(define-public go-modernc-org-strutil
16831 (package
16832 (name "go-modernc-org-strutil")
16833 (version "1.2.0")
16834 (source
16835 (origin
16836 (method git-fetch)
16837 (uri (git-reference
16838 (url "https://gitlab.com/cznic/strutil")
16839 (commit (string-append "v" version))))
16840 (file-name (git-file-name name version))
16841 (sha256
16842 (base32 "0rk76c1n189hzg3kfab8pfvssa1h9v0vxk5jxy8pk32rqic0hdim"))))
16843 (build-system go-build-system)
16844 (arguments
16845 (list
16846 #:import-path "modernc.org/strutil"
16847 ;; Cannot determine import path using GOPATH.
16848 #:test-flags #~(list "-skip" "TestImportPath")))
16849 (native-inputs
16850 (list go-modernc-org-mathutil))
16851 (home-page "https://gitlab.com/cznic/strutil")
16852 (synopsis "Strings utility library for Golang")
16853 (description
16854 "Package strutil collects utils supplemental to the standard
16855@code{strings} package.")
16856 (license license:bsd-3)))
8512 16857
8513(define-public go-mvdan-cc-editorconfig 16858(define-public go-mvdan-cc-editorconfig
8514 (package 16859 (package
@@ -8536,6 +16881,141 @@ also provides V-style logging controlled by the @code{-v} and
8536defined in @url{https://editorconfig.org/,https://editorconfig.org/}.") 16881defined in @url{https://editorconfig.org/,https://editorconfig.org/}.")
8537 (license license:bsd-3))) 16882 (license license:bsd-3)))
8538 16883
16884(define-public go-mvdan-cc-gofumpt
16885 (package
16886 (name "go-mvdan-cc-gofumpt")
16887 (version "0.7.0")
16888 (source
16889 (origin
16890 (method git-fetch)
16891 (uri (git-reference
16892 (url "https://github.com/mvdan/gofumpt")
16893 (commit (string-append "v" version))))
16894 (file-name (git-file-name name version))
16895 (sha256
16896 (base32 "0sz58av4jg0q26y1s4pznnvrzp1gi8brz9zw8aa46pzdmjw394wq"))))
16897 (build-system go-build-system)
16898 (arguments
16899 (list
16900 #:go go-1.22
16901 #:build-flags
16902 ;; Gofumpt formats Go files, and therefore modifies them. To help the
16903 ;; developers diagnose issues, it replaces any occurrence of a
16904 ;; `//gofumpt:diagnose` comment with some debugging information which
16905 ;; includes the module version.
16906 #~(list (format #f "-ldflags=-X ~s"
16907 (string-append "main.version=" #$version " (GNU Guix)")))
16908 #:import-path "mvdan.cc/gofumpt"
16909 #:skip-build? #t
16910 #:test-flags #~(list "-skip" "TestScript/diagnose")
16911 #:phases
16912 #~(modify-phases %standard-phases
16913 (add-after 'unpack 'set-fallback-version
16914 ;; In the event gofumpt was built without module support, it falls
16915 ;; back to a string "(devel)". Since our build system does not yet
16916 ;; support modules, we'll inject our version string instead, since
16917 ;; this is more helpful.
16918 (lambda* (#:key import-path #:allow-other-keys)
16919 (with-directory-excursion (string-append "src/" import-path)
16920 (substitute* "internal/version/version.go"
16921 (("^const fallbackVersion.+")
16922 (format #f "const fallbackVersion = ~s~%"
16923 (string-append #$version " (GNU Guix)"))))))))))
16924 (native-inputs
16925 (list go-github-com-go-quicktest-qt))
16926 (propagated-inputs
16927 (list go-github-com-google-go-cmp
16928 go-github-com-rogpeppe-go-internal
16929 go-golang-org-x-mod
16930 go-golang-org-x-sync
16931 go-golang-org-x-sys
16932 go-golang-org-x-tools))
16933 (home-page "https://mvdan.cc/gofumpt/")
16934 (synopsis "Formats Go files with a stricter ruleset than gofmt")
16935 (description
16936 "Enforce a stricter format than @code{gofmt}, while being backwards
16937compatible. That is, @code{gofumpt} is happy with a subset of the formats
16938that @code{gofmt} is happy with.")
16939 (license license:bsd-3)))
16940
16941(define-public go-mvdan-cc-sh-v3
16942 (package
16943 (name "go-mvdan-cc-sh-v3")
16944 (version "3.10.0")
16945 (source
16946 (origin
16947 (method git-fetch)
16948 (uri (git-reference
16949 (url "https://github.com/mvdan/sh")
16950 (commit (string-append "v" version))))
16951 (file-name (git-file-name name version))
16952 (sha256
16953 (base32 "0ryqrhdjvj0ll88fk6dh63a5hjl0rpww3x8kmzqfnf5r83jdz3sh"))))
16954 (build-system go-build-system)
16955 (arguments
16956 (list
16957 #:go go-1.22
16958 #:skip-build? #t ; we need just lib here
16959 #:import-path "mvdan.cc/sh/v3"
16960 #:test-flags
16961 #~(list "-skip" (string-join
16962 ;; XXX: Check why these tests fail.
16963 (list "TestRunnerRun/#279"
16964 "TestRunnerRun/#281"
16965 "TestRunnerRun/#282"
16966 "TestRunnerRun/#289"
16967 "TestRunnerRun/#960"
16968 "TestRunnerRun/#989"
16969 "TestRunnerRun/#990"
16970 "TestRunnerRun/#991"
16971 "TestScript/flags")
16972 "|"))))
16973 (native-inputs
16974 (list go-github-com-go-quicktest-qt
16975 go-github-com-google-go-cmp))
16976 (propagated-inputs
16977 (list go-github-com-creack-pty
16978 go-github-com-google-renameio-v2
16979 go-github-com-muesli-cancelreader
16980 go-github-com-rogpeppe-go-internal
16981 go-golang-org-x-sync
16982 go-golang-org-x-sys
16983 go-golang-org-x-term
16984 go-mvdan-cc-editorconfig))
16985 (home-page "https://mvdan.cc/sh")
16986 (synopsis "Shell formatter with bash support")
16987 (description
16988 "This package provides a Golang library implementing a shell parser,
16989formatter, and interpreter with bash support.")
16990 (license license:bsd-3)))
16991
16992(define-public go-nullprogram-com-x-optparse
16993 (package
16994 (name "go-nullprogram-com-x-optparse")
16995 (version "1.0.0")
16996 (source
16997 (origin
16998 (method git-fetch)
16999 (uri (git-reference
17000 (url "https://github.com/skeeto/optparse-go")
17001 (commit (string-append "v" version))))
17002 (file-name (git-file-name name version))
17003 (sha256
17004 (base32 "1yzpzlhmxdm8gd8ikh9c91qmshjp1jg49l0qsslmm432wk19zym9"))))
17005 (build-system go-build-system)
17006 (arguments
17007 (list
17008 #:import-path "nullprogram.com/x/optparse"))
17009 (home-page "https://nullprogram.com/x/optparse/")
17010 (synopsis "Traditional long option parser for Go")
17011 (description
17012 "Package optparse parses command line arguments very similarly to GNU
17013@code{getopt_long()}. It supports long options and optional arguments, but
17014does not permute arguments. It is intended as a replacement for Go's flag
17015package.")
17016 ;; License type does latterly says it' "UNLICENSE".
17017 (license license:unlicense)))
17018
8539(define-public go-rsc-io-binaryregexp 17019(define-public go-rsc-io-binaryregexp
8540 (package 17020 (package
8541 (name "go-rsc-io-binaryregexp") 17021 (name "go-rsc-io-binaryregexp")
@@ -8562,6 +17042,96 @@ and other languages. More precisely, it is the syntax accepted by RE2 and
8562described at https://golang.org/s/re2syntax, except for @code{\\C.}") 17042described at https://golang.org/s/re2syntax, except for @code{\\C.}")
8563 (license license:bsd-3))) 17043 (license license:bsd-3)))
8564 17044
17045(define-public go-sigs-k8s-io-json
17046 (package
17047 (name "go-sigs-k8s-io-json")
17048 (version "0.0.0-20241014173422-cfa47c3a1cc8")
17049 (source
17050 (origin
17051 (method git-fetch)
17052 (uri (git-reference
17053 (url "https://github.com/kubernetes-sigs/json")
17054 (commit (go-version->git-ref version))))
17055 (file-name (git-file-name name version))
17056 (sha256
17057 (base32 "0zdb3sq333ns8m5azv4fqqy62r0vrhssxl0przicm4v1nmrxj4jh"))))
17058 (build-system go-build-system)
17059 (arguments
17060 (list
17061 #:go go-1.23
17062 #:import-path "sigs.k8s.io/json"))
17063 (home-page "https://github.com/kubernetes-sigs/json")
17064 (synopsis "JSON decoder with enchansed features")
17065 (description
17066 "This package provides case-sensitive, integer-preserving JSON
17067unmarshaling functions based on @code{encoding/json} @code{Unmarshal()}.")
17068 (license license:asl2.0)))
17069
17070(define-public go-sigs-k8s-io-structured-merge-diff-v4
17071 (package
17072 (name "go-sigs-k8s-io-structured-merge-diff-v4")
17073 (version "4.5.0")
17074 (source
17075 (origin
17076 (method git-fetch)
17077 (uri (git-reference
17078 (url "https://github.com/kubernetes-sigs/structured-merge-diff")
17079 (commit (string-append "v" version))))
17080 (file-name (git-file-name name version))
17081 (sha256
17082 (base32 "0xgi3r2xvwvxy6jc6rd5rrnib4y9b4kgpqphm4lkhgaayy3njwv3"))))
17083 (build-system go-build-system)
17084 (arguments
17085 (list
17086 #:import-path "sigs.k8s.io/structured-merge-diff/v4"
17087 #:phases
17088 #~(modify-phases %standard-phases
17089 (delete 'build)))) ; no go files in project's root
17090 (propagated-inputs
17091 (list go-github-com-google-go-cmp
17092 go-github-com-google-gofuzz
17093 go-github-com-json-iterator-go
17094 go-sigs-k8s-io-yaml))
17095 (home-page "https://github.com/kubernetes-sigs/structured-merge-diff")
17096 (synopsis "Structured Merge and Diff")
17097 (description
17098 "This package provides a code which implements the Kubernetes \"apply\"
17099operation.")
17100 (license license:asl2.0)))
17101
17102(define-public go-sigs-k8s-io-yaml
17103 (package
17104 (name "go-sigs-k8s-io-yaml")
17105 (version "1.4.0")
17106 (source
17107 (origin
17108 (method git-fetch)
17109 (uri (git-reference
17110 (url "https://github.com/kubernetes-sigs/yaml")
17111 (commit (string-append "v" version))))
17112 (file-name (git-file-name name version))
17113 (sha256
17114 (base32 "0yjnmpwmvlb6md3djn6qx1ag4ld7gjz7jfyz1ldml88zyb9crpqx"))))
17115 (build-system go-build-system)
17116 (arguments
17117 (list
17118 #:import-path "sigs.k8s.io/yaml"))
17119 (native-inputs
17120 (list go-github-com-google-go-cmp
17121 go-gopkg-in-check-v1))
17122 (home-page "https://sigs.k8s.io/yaml")
17123 (synopsis "YAML marshaling and unmarshaling support for Go")
17124 (description
17125 "This package provides a Go library that first converts YAML to JSON
17126using @code{go-yaml} and then uses @code{json.Marshal} and
17127@code{json.Unmarshal} to convert to or from the struct. This means that it
17128effectively reuses the JSON struct tags as well as the custom JSON methods
17129@code{MarshalJSON} and @code{UnmarshalJSON} unlike @code{go-yaml}.
17130
17131kubernetes-sigs/yaml is a permanent fork of
17132@url{https://github.com/ghodss/yaml,ghodss/yaml}.")
17133 (license (list license:expat license:bsd-3))))
17134
8565(define-public go-suah-dev-protect 17135(define-public go-suah-dev-protect
8566 (package 17136 (package
8567 (name "go-suah-dev-protect") 17137 (name "go-suah-dev-protect")
@@ -8710,7 +17280,7 @@ helpful utility functions, and makes testing fairly easy.")
8710(define-public go-zgo-at-zstd 17280(define-public go-zgo-at-zstd
8711 (package 17281 (package
8712 (name "go-zgo-at-zstd") 17282 (name "go-zgo-at-zstd")
8713 (version "0.0.0-20240922235538-9a93b98b4725") 17283 (version "0.0.0-20241125224656-49fafbb06ca9")
8714 (source 17284 (source
8715 (origin 17285 (origin
8716 (method git-fetch) 17286 (method git-fetch)
@@ -8719,21 +17289,12 @@ helpful utility functions, and makes testing fairly easy.")
8719 (commit (go-version->git-ref version)))) 17289 (commit (go-version->git-ref version))))
8720 (file-name (git-file-name name version)) 17290 (file-name (git-file-name name version))
8721 (sha256 17291 (sha256
8722 (base32 "06nqiv1pkqnnqa3v6rlf0qfxgfd63vi4vv36acq54dxswxhcasaz")))) 17292 (base32 "1hwvv685vv003j4ry6b791fmz5fz0ff57pq64s9s57zqxaxn8jrv"))))
8723 (build-system go-build-system) 17293 (build-system go-build-system)
8724 (arguments 17294 (arguments
8725 (list 17295 (list
8726 #:import-path "zgo.at/zstd" 17296 #:import-path "zgo.at/zstd"
8727 #:phases 17297 #:test-flags #~(list "-skip" "TestExists/4|TestDiffMatch/3")))
8728 #~(modify-phases %standard-phases
8729 ;; XXX: Replace when go-build-system supports nested path.
8730 (replace 'check
8731 (lambda* (#:key import-path tests? #:allow-other-keys)
8732 (when tests?
8733 (with-directory-excursion (string-append "src/" import-path)
8734 (invoke "go" "test" "-v"
8735 "-skip" "TestExists"
8736 "./..."))))))))
8737 (home-page "https://github.com/arp242/zstd") 17298 (home-page "https://github.com/arp242/zstd")
8738 (synopsis "Extensions to Go's standard library") 17299 (synopsis "Extensions to Go's standard library")
8739 (description 17300 (description
@@ -8756,6 +17317,17 @@ library.")
8756 #:import-path "github.com/yuin/gopher-lua/cmd/glua" 17317 #:import-path "github.com/yuin/gopher-lua/cmd/glua"
8757 #:unpack-path "github.com/yuin/gopher-lua")))) 17318 #:unpack-path "github.com/yuin/gopher-lua"))))
8758 17319
17320(define-public go-asmfmt
17321 (package
17322 (inherit go-github-com-klauspost-asmfmt)
17323 (name "go-asmfmp")
17324 (arguments
17325 (list
17326 #:tests? #f
17327 #:install-source? #f
17328 #:import-path "github.com/klauspost/asmfmt/cmd/asmfmt"
17329 #:unpack-path "github.com/klauspost/asmfmt"))))
17330
8759(define-public go-chroma 17331(define-public go-chroma
8760 (package 17332 (package
8761 (inherit go-github-com-alecthomas-chroma-v2) 17333 (inherit go-github-com-alecthomas-chroma-v2)
@@ -8775,6 +17347,32 @@ library.")
8775 " This package provides an command line interface (CLI) 17347 " This package provides an command line interface (CLI)
8776tool.")))) 17348tool."))))
8777 17349
17350(define-public go-csv2table
17351 (package/inherit go-github-com-olekukonko-tablewriter
17352 (name "go-csv2table")
17353 (arguments
17354 (list #:install-source? #f
17355 #:import-path "github.com/olekukonko/tablewriter/csv2table"
17356 #:unpack-path "github.com/olekukonko/tablewriter"))
17357 (description
17358 (string-append (package-description go-github-com-olekukonko-tablewriter)
17359 "\nThis package provides a command line interface (CLI) tool."))))
17360
17361(define-public go-fxlint
17362 (package
17363 (inherit go-go-uber-org-fx-tools)
17364 (name "go-fxlint")
17365 (arguments
17366 (list
17367 #:tests? #f
17368 #:install-source? #f
17369 #:import-path "go.uber.org/fx/tools/cmd/fxlint"
17370 #:unpack-path "go.uber.org/fx"))
17371 (description
17372 (string-append (package-description go-go-uber-org-fx-tools)
17373 " This package provides a command line interface (CLI)
17374linter that verifies correct usage of Fx."))))
17375
8778(define-public go-hclogvet 17376(define-public go-hclogvet
8779 (package 17377 (package
8780 (inherit go-github-com-hashicorp-go-hclog) 17378 (inherit go-github-com-hashicorp-go-hclog)
@@ -8784,8 +17382,6 @@ tool."))))
8784 #:import-path "github.com/hashicorp/go-hclog/hclogvet" 17382 #:import-path "github.com/hashicorp/go-hclog/hclogvet"
8785 #:unpack-path "github.com/hashicorp/go-hclog" 17383 #:unpack-path "github.com/hashicorp/go-hclog"
8786 #:install-source? #f)) 17384 #:install-source? #f))
8787 (propagated-inputs
8788 (list go-golang-org-x-tools))
8789 (description 17385 (description
8790 "@code{hclogvet} is a @code{go vet} tool for checking that the 17386 "@code{hclogvet} is a @code{go vet} tool for checking that the
8791Trace/Debug/Info/Warn/Error methods on @code{hclog.Logger} are used 17387Trace/Debug/Info/Warn/Error methods on @code{hclog.Logger} are used
@@ -8801,6 +17397,50 @@ correctly.")))
8801 (string-append (package-description go-zgo-at-jfmt) 17397 (string-append (package-description go-zgo-at-jfmt)
8802 " This package provides a command line interface (CLI) tool.")))) 17398 " This package provides a command line interface (CLI) tool."))))
8803 17399
17400(define-public go-jsonnet
17401 (package
17402 (name "go-jsonnet")
17403 (version "0.20.0")
17404 (source
17405 (origin
17406 (method git-fetch)
17407 (uri (git-reference
17408 (url "https://github.com/google/go-jsonnet")
17409 (commit (string-append "v" version))))
17410 (file-name (git-file-name name version))
17411 (sha256
17412 (base32 "1qfr6yvhj33rhx1icxh99bbpngh5kwq1x7r39315y53bw216vbrz"))))
17413 (build-system go-build-system)
17414 (arguments
17415 (list
17416 #:install-source? #f
17417 #:import-path "github.com/google/go-jsonnet/cmd/jsonnet"
17418 #:unpack-path "github.com/google/go-jsonnet"))
17419 (native-inputs
17420 (list go-github-com-fatih-color
17421 go-github-com-sergi-go-diff
17422 go-gopkg-in-yaml-v2
17423 go-sigs-k8s-io-yaml))
17424 (home-page "https://github.com/google/go-jsonnet")
17425 (synopsis "Go implementation of Jsonnet")
17426 (description
17427 "This package provides an implementation of the @url{http://jsonnet.org/,
17428Jsonnet} data templating language in Go. It is a
17429feature-complete,production-ready implementation, compatible with the original
17430Jsonnet C++implementation.")
17431 (license license:asl2.0)))
17432
17433(define-public go-ifacemaker
17434 (package/inherit go-github-com-vburenin-ifacemaker
17435 (name "go-ifacemaker")
17436 (arguments
17437 (list #:install-source? #f
17438 #:tests? #f
17439 #:import-path "github.com/vburenin/ifacemaker"))
17440 (description
17441 (string-append (package-description go-github-com-vburenin-ifacemaker)
17442 " This package provides a command line interface (CLI) tool."))))
17443
8804(define-public go-msgio 17444(define-public go-msgio
8805 (package 17445 (package
8806 (inherit go-github-com-libp2p-go-msgio) 17446 (inherit go-github-com-libp2p-go-msgio)
@@ -8854,6 +17494,46 @@ go-github-com-tklauser-numcpus source.")))
8854 "This package provides a CLI build from the 17494 "This package provides a CLI build from the
8855go-github-com-orisano-pixelmatch source."))) 17495go-github-com-orisano-pixelmatch source.")))
8856 17496
17497(define-public go-porter2
17498 (package
17499 (inherit go-github-com-surgebase-porter2)
17500 (name "go-porter2")
17501 (arguments
17502 (substitute-keyword-arguments
17503 (package-arguments go-github-com-surgebase-porter2)
17504 ((#:tests? _ #t) #f)
17505 ((#:install-source? _ #t) #f)
17506 ((#:unpack-path _) "github.com/surgebase/porter2")
17507 ((#:phases phases '%standard-phases)
17508 #~(modify-phases #$phases
17509 (replace 'build
17510 (lambda arguments
17511 (for-each
17512 (lambda (cmd)
17513 (apply (assoc-ref %standard-phases 'build)
17514 `(,@arguments #:import-path ,cmd)))
17515 (list "github.com/surgebase/porter2/cmd/compare"
17516 "github.com/surgebase/porter2/cmd/suffixfsm"
17517 "github.com/surgebase/porter2/cmd/switchvsmap"))))
17518 (replace 'install
17519 (lambda arguments
17520 (for-each
17521 (lambda (cmd)
17522 (apply (assoc-ref %standard-phases 'install)
17523 `(,@arguments #:import-path ,cmd)))
17524 (list "github.com/surgebase/porter2/cmd/compare"
17525 "github.com/surgebase/porter2/cmd/suffixfsm"
17526 "github.com/surgebase/porter2/cmd/switchvsmap"))))))))
17527 (description
17528 (string-append (package-description go-github-com-mattn-go-sixel)
17529 " This package provides an command line interface (CLI)
17530tools:
17531@itemize
17532@item @code{compare}
17533@item @code{suffixfsm} is a finite state machine generator for the porter2
17534@item @code{switchvsmap}
17535@end itemize"))))
17536
8857(define-public go-sentences 17537(define-public go-sentences
8858 (package 17538 (package
8859 (inherit go-github-com-neurosnap-sentences) 17539 (inherit go-github-com-neurosnap-sentences)
@@ -8868,6 +17548,44 @@ go-github-com-orisano-pixelmatch source.")))
8868 " This package provides an command line interface (CLI) 17548 " This package provides an command line interface (CLI)
8869tool.")))) 17549tool."))))
8870 17550
17551(define-public go-sixel
17552 (package
17553 (inherit go-github-com-mattn-go-sixel)
17554 (name "go-sixel")
17555 (arguments
17556 (list
17557 #:tests? #f ; tested in the library
17558 #:install-source? #f
17559 #:unpack-path "github.com/mattn/go-sixel"
17560 #:phases
17561 #~(modify-phases %standard-phases
17562 (replace 'build
17563 (lambda arguments
17564 (for-each
17565 (lambda (cmd)
17566 (apply (assoc-ref %standard-phases 'build)
17567 `(,@arguments #:import-path ,cmd)))
17568 (list "github.com/mattn/go-sixel/cmd/goscat"
17569 "github.com/mattn/go-sixel/cmd/gosd"
17570 "github.com/mattn/go-sixel/cmd/gosgif"
17571 "github.com/mattn/go-sixel/cmd/gosl"
17572 "github.com/mattn/go-sixel/cmd/gosr"))))
17573 (replace 'install
17574 (lambda arguments
17575 (for-each
17576 (lambda (cmd)
17577 (apply (assoc-ref %standard-phases 'install)
17578 `(,@arguments #:import-path ,cmd)))
17579 (list "github.com/mattn/go-sixel/cmd/goscat"
17580 "github.com/mattn/go-sixel/cmd/gosd"
17581 "github.com/mattn/go-sixel/cmd/gosgif"
17582 "github.com/mattn/go-sixel/cmd/gosl"
17583 "github.com/mattn/go-sixel/cmd/gosr")))))))
17584 (description
17585 (string-append (package-description go-github-com-mattn-go-sixel)
17586 " This package provides an command line interface (CLI)
17587tools."))))
17588
8871(define-public go-tengo 17589(define-public go-tengo
8872 (package 17590 (package
8873 (inherit go-github-com-d5-tengo-v2) 17591 (inherit go-github-com-d5-tengo-v2)
@@ -8882,6 +17600,38 @@ tool."))))
8882 "\nThis package provides an command line interface (CLI) 17600 "\nThis package provides an command line interface (CLI)
8883tool.")))) 17601tool."))))
8884 17602
17603(define-public go-toml
17604 (package
17605 (inherit go-github-com-pelletier-go-toml-v2)
17606 (name "go-toml")
17607 (arguments
17608 (list
17609 #:tests? #f ; tested in the library
17610 #:install-source? #f
17611 #:unpack-path "github.com/pelletier/go-toml"
17612 #:phases
17613 #~(modify-phases %standard-phases
17614 (replace 'build
17615 (lambda arguments
17616 (for-each
17617 (lambda (cmd)
17618 (apply (assoc-ref %standard-phases 'build)
17619 `(,@arguments #:import-path ,cmd)))
17620 (list "github.com/pelletier/go-toml/cmd/tomljson"
17621 "github.com/pelletier/go-toml/cmd/tomll"))))
17622 (replace 'install
17623 (lambda arguments
17624 (for-each
17625 (lambda (cmd)
17626 (apply (assoc-ref %standard-phases 'install)
17627 `(,@arguments #:import-path ,cmd)))
17628 (list "github.com/pelletier/go-toml/cmd/tomljson"
17629 "github.com/pelletier/go-toml/cmd/tomll")))))))
17630 (description
17631 (string-append (package-description go-github-com-pelletier-go-toml-v2)
17632 "\nThis package provides command line interface (CLI)
17633tools."))))
17634
8885(define-public go-tomlv 17635(define-public go-tomlv
8886 (package 17636 (package
8887 (inherit go-github-com-burntsushi-toml) 17637 (inherit go-github-com-burntsushi-toml)
@@ -8907,12 +17657,92 @@ tool."))))
8907 #:import-path "github.com/oklog/ulid/v2/cmd/ulid" 17657 #:import-path "github.com/oklog/ulid/v2/cmd/ulid"
8908 #:unpack-path "github.com/oklog/ulid/v2")) 17658 #:unpack-path "github.com/oklog/ulid/v2"))
8909 (native-inputs 17659 (native-inputs
8910 (list go-github-com-pborman-getopt)) 17660 (list go-github-com-pborman-getopt-v2))
8911 (description 17661 (description
8912 (string-append (package-description go-github-com-oklog-ulid) 17662 (string-append (package-description go-github-com-oklog-ulid)
8913 " This package provides an command line interface (CLI) 17663 " This package provides an command line interface (CLI)
8914tool.")))) 17664tool."))))
8915 17665
17666(define-public gofumpt
17667 (package
17668 (inherit go-mvdan-cc-gofumpt)
17669 (name "gofumpt")
17670 (arguments
17671 (substitute-keyword-arguments
17672 (package-arguments go-mvdan-cc-gofumpt)
17673 ((#:tests? _ #t) #f)
17674 ((#:install-source? _ #t) #f)
17675 ((#:skip-build? _ #t) #f)))
17676 (native-inputs (package-propagated-inputs go-mvdan-cc-gofumpt))
17677 (propagated-inputs '())
17678 (inputs '())))
17679
17680(define-public gopls
17681 (package
17682 (name "gopls")
17683 ;; XXX: Starting from 0.14.0 gppls needs golang.org/x/telemetry, which
17684 ;; needs to be discussed if it may be included in Guix.
17685 (version "0.17.1")
17686 (source
17687 (origin
17688 (method git-fetch)
17689 (uri (git-reference
17690 (url "https://go.googlesource.com/tools")
17691 (commit (go-version->git-ref version #:subdir "gopls"))))
17692 (file-name (git-file-name name version))
17693 (sha256
17694 (base32 "1qksn79nc94fig5bia0l8h7fzm1zbn9rvya25hwf0f18v8a0id9l"))))
17695 (build-system go-build-system)
17696 (arguments
17697 (list
17698 #:go go-1.23
17699 #:install-source? #f
17700 #:import-path "golang.org/x/tools/gopls"
17701 #:unpack-path "golang.org/x/tools"
17702 ;; XXX: No tests in project's root, limit to some of subdris, try to
17703 ;; enable more.
17704 #:test-subdirs
17705 #~(list "internal/protocol/..."
17706 "internal/util/..."
17707 "internal/vulncheck/...")
17708 #:phases
17709 #~(modify-phases %standard-phases
17710 (add-before 'unpack 'override-tools
17711 (lambda _
17712 ;; XXX: Write a procedure deleting all but current module source
17713 ;; to cover case with monorepo.
17714 (delete-file-recursively "src/golang.org/x/tools"))))))
17715 (native-inputs
17716 (list go-github-com-google-go-cmp
17717 go-github-com-jba-templatecheck
17718 go-golang-org-x-mod
17719 go-golang-org-x-sync
17720 go-golang-org-x-telemetry
17721 go-golang-org-x-text
17722 go-golang-org-x-vuln
17723 go-gopkg-in-yaml-v3
17724 go-honnef-co-go-tools
17725 go-mvdan-cc-gofumpt
17726 go-mvdan-cc-xurls-v2))
17727 (home-page "https://golang.org/x/tools/gopls")
17728 (synopsis "Official language server for the Go language")
17729 (description
17730 "Pronounced ``Go please'', this is the official Go language server
17731developed by the Go team. It provides IDE features to any LSP-compatible
17732editor.")
17733 (license license:bsd-3)))
17734
17735(define-public misspell
17736 (package
17737 (inherit go-github-com-client9-misspell)
17738 (name "misspell")
17739 (arguments
17740 (list
17741 #:install-source? #t
17742 #:tests? #f
17743 #:import-path "github.com/client9/misspell/cmd/misspell"
17744 #:unpack-path "github.com/client9/misspell"))))
17745
8916;;; 17746;;;
8917;;; Avoid adding new packages to the end of this file. To reduce the chances 17747;;; Avoid adding new packages to the end of this file. To reduce the chances
8918;;; of a merge conflict, place them above by existing packages with similar 17748;;; of a merge conflict, place them above by existing packages with similar
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index b1ea9e5a287..6a8a2883140 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -288,6 +288,23 @@ in the style of communicating sequential processes (@dfn{CSP}).")
288 (strip-keyword-arguments '(#:tests? #:system) (package-arguments go-1.4)) 288 (strip-keyword-arguments '(#:tests? #:system) (package-arguments go-1.4))
289 ((#:phases phases) 289 ((#:phases phases)
290 `(modify-phases ,phases 290 `(modify-phases ,phases
291 ;; Time bomb in TLS tests: "Most of the test certificates
292 ;; (e.g. testRSACertificate, testRSACertificateIssuer,
293 ;; testRSA2048CertificateIssuer) have a not after of Jan 1
294 ;; 00:00:00 2025 GMT."
295 ;; https://github.com/golang/go/issues/71077
296 ;; https://github.com/golang/go/issues/71103
297 ;; https://github.com/golang/go/issues/71104
298 (add-after 'unpack 'skip-crypto-tls-tests
299 (lambda _
300 (substitute* (list "src/crypto/tls/handshake_client_test.go"
301 "src/crypto/tls/handshake_server_test.go")
302 (("TestVerifyConnection.*" all)
303 (string-append all "\n t.Skip(\"golang.org/issue/71077\")\n"))
304 (("TestResumptionKeepsOCSPAndSCT.*" all)
305 (string-append all "\n t.Skip(\"golang.org/issue/71077\")\n"))
306 (("TestCrossVersionResume.*" all)
307 (string-append all "\n t.Skip(\"golang.org/issue/71077\")\n")))))
291 (add-after 'unpack 'remove-unused-sourcecode-generators 308 (add-after 'unpack 'remove-unused-sourcecode-generators
292 (lambda _ 309 (lambda _
293 ;; Prevent perl from inclusion in closure through unused files 310 ;; Prevent perl from inclusion in closure through unused files
@@ -518,6 +535,25 @@ in the style of communicating sequential processes (@dfn{CSP}).")
518 (setenv "GOROOT_FINAL" (string-append output "/lib/go")) 535 (setenv "GOROOT_FINAL" (string-append output "/lib/go"))
519 (setenv "GOGC" "400") 536 (setenv "GOGC" "400")
520 (setenv "GOCACHE" "/tmp/go-cache")))) 537 (setenv "GOCACHE" "/tmp/go-cache"))))
538
539 ;; Time bomb in TLS tests: "Most of the test certificates
540 ;; (e.g. testRSACertificate, testRSACertificateIssuer,
541 ;; testRSA2048CertificateIssuer) have a not after of Jan 1
542 ;; 00:00:00 2025 GMT."
543 ;; https://github.com/golang/go/issues/71077
544 ;; https://github.com/golang/go/issues/71103
545 ;; https://github.com/golang/go/issues/71104
546 (add-after 'unpack 'skip-crypto-tls-tests
547 (lambda _
548 (substitute* (list "src/crypto/tls/handshake_client_test.go"
549 "src/crypto/tls/handshake_server_test.go")
550 (("TestVerifyConnection.*" all)
551 (string-append all "\n t.Skip(\"golang.org/issue/71077\")\n"))
552 (("TestResumptionKeepsOCSPAndSCT.*" all)
553 (string-append all "\n t.Skip(\"golang.org/issue/71077\")\n"))
554 (("TestCrossVersionResume.*" all)
555 (string-append all "\n t.Skip(\"golang.org/issue/71077\")\n")))))
556
521 (add-after 'unpack 'patch-source 557 (add-after 'unpack 'patch-source
522 (lambda* (#:key inputs outputs #:allow-other-keys) 558 (lambda* (#:key inputs outputs #:allow-other-keys)
523 (let* ((net-base (assoc-ref inputs "net-base")) 559 (let* ((net-base (assoc-ref inputs "net-base"))
@@ -822,7 +858,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
822 (package 858 (package
823 (inherit go-1.20) 859 (inherit go-1.20)
824 (name "go") 860 (name "go")
825 (version "1.21.5") 861 (version "1.21.13")
826 (source (origin 862 (source (origin
827 (method git-fetch) 863 (method git-fetch)
828 (uri (git-reference 864 (uri (git-reference
@@ -831,7 +867,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
831 (file-name (git-file-name name version)) 867 (file-name (git-file-name name version))
832 (sha256 868 (sha256
833 (base32 869 (base32
834 "0f11kya6rpqfldpw82g0yiknz657i655d3c0yh3qy6f8xa8x7zn2")))) 870 "0x4qdib1d3gzgz620aysi1rrg682g93710dar4ga32b0j0w5kbhj"))))
835 (arguments 871 (arguments
836 (substitute-keyword-arguments (package-arguments go-1.20) 872 (substitute-keyword-arguments (package-arguments go-1.20)
837 ;; Source patching phases are broken up into discrete steps to allow 873 ;; Source patching phases are broken up into discrete steps to allow
@@ -956,7 +992,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
956 (package 992 (package
957 (inherit go-1.21) 993 (inherit go-1.21)
958 (name "go") 994 (name "go")
959 (version "1.22.7") 995 (version "1.22.11")
960 (source 996 (source
961 (origin 997 (origin
962 (method git-fetch) 998 (method git-fetch)
@@ -965,7 +1001,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
965 (commit (string-append "go" version)))) 1001 (commit (string-append "go" version))))
966 (file-name (git-file-name name version)) 1002 (file-name (git-file-name name version))
967 (sha256 1003 (sha256
968 (base32 "0m1idhhifhpjf6n56pca4wg6cyripdzmyl0jswdiy0kiqvs3whqb")))) 1004 (base32 "1gdiyifsp65wlnfqfmnbv6n1rh23jbr13l79xwla3gavm67scx02"))))
969 (arguments 1005 (arguments
970 (substitute-keyword-arguments (package-arguments go-1.21) 1006 (substitute-keyword-arguments (package-arguments go-1.21)
971 ((#:phases phases) 1007 ((#:phases phases)
@@ -992,7 +1028,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
992 (package 1028 (package
993 (inherit go-1.22) 1029 (inherit go-1.22)
994 (name "go") 1030 (name "go")
995 (version "1.23.2") 1031 (version "1.23.5")
996 (source 1032 (source
997 (origin 1033 (origin
998 (method git-fetch) 1034 (method git-fetch)
@@ -1001,7 +1037,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
1001 (commit (string-append "go" version)))) 1037 (commit (string-append "go" version))))
1002 (file-name (git-file-name name version)) 1038 (file-name (git-file-name name version))
1003 (sha256 1039 (sha256
1004 (base32 "0v8j43yqkhp5i5649nbxsq7lc9bjjn39gqqvlnz0d9c47qz9h7y7")))))) 1040 (base32 "0iffjgsmh4ilc1r30zbidqvxz2dd8k0sml5rzzk1k4wkab0cjw0i"))))))
1005 1041
1006;; 1042;;
1007;; Default Golang version used in guix/build-system/go.scm to build packages. 1043;; Default Golang version used in guix/build-system/go.scm to build packages.
@@ -1082,66 +1118,6 @@ network traffic so that it is not identified and subsequently blocked by network
1082filtering devices.") 1118filtering devices.")
1083 (license license:bsd-2)))) 1119 (license license:bsd-2))))
1084 1120
1085(define-public go-github-com-agext-levenshtein
1086 (package
1087 (name "go-github-com-agext-levenshtein")
1088 (version "1.2.3")
1089 (source
1090 (origin
1091 (method git-fetch)
1092 (uri (git-reference
1093 (url "https://github.com/agext/levenshtein")
1094 (commit (string-append "v" version))))
1095 (file-name (git-file-name name version))
1096 (sha256
1097 (base32 "0a26c8pp9h5w66bhd9vb6lpvmhp30mz46pnh3a8vrjx50givb2lw"))))
1098 (build-system go-build-system)
1099 (arguments
1100 '(#:import-path "github.com/agext/levenshtein"))
1101 (home-page "https://github.com/agext/levenshtein")
1102 (synopsis "Calculating the Levenshtein distance between two strings in Go")
1103 (description
1104 "Package levenshtein implements distance and similarity metrics for
1105strings, based on the Levenshtein measure.")
1106 (license license:asl2.0)))
1107
1108(define-public go-github-com-apparentlymart-go-textseg-v13
1109 (package
1110 (name "go-github-com-apparentlymart-go-textseg-v13")
1111 (version "13.0.0")
1112 (source
1113 (origin
1114 (method git-fetch)
1115 (uri (git-reference
1116 (url "https://github.com/apparentlymart/go-textseg")
1117 (commit (string-append "v" version))))
1118 (file-name (git-file-name name version))
1119 (sha256
1120 (base32 "0gdgi0d52rq1xsdn9icc8lghn0f2q927cifmrlfxflf7bf21vism"))))
1121 (build-system go-build-system)
1122 (arguments
1123 '(#:unpack-path "github.com/apparentlymart/go-textseg/v13"
1124 #:import-path "github.com/apparentlymart/go-textseg/v13/textseg"))
1125 (native-inputs
1126 (list ruby))
1127 (home-page "https://github.com/apparentlymart/go-textseg")
1128 (synopsis "Go implementation of Unicode Text Segmentation")
1129 (description
1130 "This package provides an implementation of the Unicode Text Segmentation
1131specification for Go. Specifically, it currently includes only the grapheme
1132cluster segmentation algorithm.")
1133 ;; Project is released under Expat terms. Some parts use Unicode and
1134 ;; ASL2.0 licenses.
1135 (license (list license:expat license:unicode license:asl2.0))))
1136
1137(define-public go-github-com-apparentlymart-go-textseg-autoversion
1138 (package
1139 (inherit go-github-com-apparentlymart-go-textseg-v13)
1140 (name "go-github-com-apparentlymart-go-textseg-autoversion")
1141 (arguments
1142 '(#:unpack-path "github.com/apparentlymart/go-textseg/autoversion"
1143 #:import-path "github.com/apparentlymart/go-textseg/autoversion/textseg"))))
1144
1145(define-public go-github-com-operatorfoundation-shapeshifter-transports 1121(define-public go-github-com-operatorfoundation-shapeshifter-transports
1146 (package 1122 (package
1147 (name "go-github-com-operatorfoundation-shapeshifter-transports") 1123 (name "go-github-com-operatorfoundation-shapeshifter-transports")
@@ -1260,368 +1236,6 @@ form that bypasses network filtering, allowing the application to work on
1260networks where it would otherwise be blocked or heavily throttled.") 1236networks where it would otherwise be blocked or heavily throttled.")
1261 (license license:expat))) 1237 (license license:expat)))
1262 1238
1263(define-public go-github-com-hanwen-go-fuse-v2
1264 (let ((commit "915cf5413cdef5370ae3f953f8eb4cd9ac176d5c")
1265 (revision "0"))
1266 (package
1267 (name "go-github-com-hanwen-go-fuse-v2")
1268 (version (git-version "2.2.0" revision commit))
1269 (source (origin
1270 (method git-fetch)
1271 (uri (git-reference
1272 (url "https://github.com/hanwen/go-fuse")
1273 (commit commit)))
1274 (file-name (git-file-name name version))
1275 (sha256
1276 (base32
1277 "1ik0yvs9m40vxccpb0rpxc22fyqmcgyysc7w0yl9kn3jyr6qa1d5"))))
1278 (build-system go-build-system)
1279 (arguments
1280 '(#:import-path "github.com/hanwen/go-fuse/v2"))
1281 (native-inputs (list
1282 go-golang-org-x-sys
1283 go-golang-org-x-sync
1284 go-github-com-kylelemons-godebug))
1285 (home-page "https://github.com/hanwen/go-fuse")
1286 (synopsis "Go bindings for FUSE filesystems")
1287 (description
1288 "This is a repository containing Go bindings for writing FUSE file systems.")
1289 (license license:bsd-3))))
1290
1291(define-public go-github-com-jacobsa-reqtrace
1292 (let ((commit "245c9e0234cb2ad542483a336324e982f1a22934")
1293 (revision "0"))
1294 (package
1295 (name "go-github-com-jacobsa-reqtrace")
1296 (version (git-version "0.0.0" revision commit))
1297 (source (origin
1298 (method git-fetch)
1299 (uri (git-reference
1300 (url "https://github.com/jacobsa/reqtrace")
1301 (commit commit)))
1302 (file-name (git-file-name name version))
1303 (sha256
1304 (base32
1305 "0zfyijig10896v42rvxka1n4wn6lijqz40y2281187l7mq8vv5jn"))))
1306 (build-system go-build-system)
1307 (arguments
1308 '(#:import-path "github.com/jacobsa/reqtrace"))
1309 (inputs (list
1310 go-golang-org-x-net))
1311 (home-page "https://github.com/jacobsa/reqtrace")
1312 (synopsis "Simple request tracing framework")
1313 (description
1314 "Package reqtrace contains a very simple request tracing framework.")
1315 (license license:asl2.0))))
1316
1317(define-public go-github-com-jcmturner-gofork
1318 (package
1319 (name "go-github-com-jcmturner-gofork")
1320 (version "1.7.6")
1321 (source (origin
1322 (method git-fetch)
1323 (uri (git-reference
1324 (url "https://github.com/jcmturner/gofork")
1325 (commit (string-append "v" version))))
1326 (file-name (git-file-name name version))
1327 (sha256
1328 (base32
1329 "0w1j6b671121r6md5w7hnh2d0sa332pw5q49yihw23wdfinknyin"))))
1330 (build-system go-build-system)
1331 (arguments
1332 '(#:import-path "github.com/jcmturner/gofork"))
1333 (home-page "https://github.com/jcmturner/gofork")
1334 (synopsis "Modified Go standard library packages")
1335 (description
1336 "This repository contains modified Go standard library packages for use as work
1337arounds until issues are addressed in the official distribution.")
1338 (license license:bsd-3)))
1339
1340(define-public go-github-com-jcmturner-rpc
1341 (package
1342 (name "go-github-com-jcmturner-rpc")
1343 (version "2.0.3")
1344 (source (origin
1345 (method git-fetch)
1346 (uri (git-reference
1347 (url "https://github.com/jcmturner/rpc")
1348 (commit (string-append "v" version))))
1349 (file-name (git-file-name name version))
1350 (sha256
1351 (base32
1352 "1nm4j2nwcszghldw39rwdx2hr56i1lybfpv33y4gd67w6qcqbpsi"))))
1353 (build-system go-build-system)
1354 (arguments
1355 '(#:import-path "github.com/jcmturner/rpc"
1356 ;; Source-only package.
1357 #:tests? #f
1358 #:phases
1359 (modify-phases %standard-phases
1360 ;; Source-only package.
1361 (delete 'build))))
1362 (propagated-inputs
1363 (list go-golang-org-x-net go-github-com-stretchr-testify))
1364 (home-page "https://github.com/jcmturner/rpc")
1365 (synopsis "Remote Procedure Call libraries")
1366 (description
1367 "This package provides a partial Go implementation of the Remote Call
1368Procedure libraries, presented in
1369@@url{http://pubs.opengroup.org/onlinepubs/9629399/,CDE 1.1: Remote Procedure
1370Call}.")
1371 (license license:asl2.0)))
1372
1373(define-public go-github-com-jcmturner-rpc-v2-ndr
1374 (package
1375 (inherit go-github-com-jcmturner-rpc)
1376 (name "go-github-com-jcmturner-rpc-v2-ndr")
1377 (arguments
1378 `(#:import-path "github.com/jcmturner/rpc/v2/ndr"
1379 #:unpack-path "github.com/jcmturner/rpc"))))
1380
1381(define-public go-github-com-jcmturner-rpc-v2-mstypes
1382 (package
1383 (inherit go-github-com-jcmturner-rpc)
1384 (name "go-github-com-jcmturner-rpc-v2-mstypes")
1385 (arguments
1386 `(#:import-path "github.com/jcmturner/rpc/v2/mstypes"
1387 #:unpack-path "github.com/jcmturner/rpc"))))
1388
1389(define-public go-github-com-kataras-golog
1390 (package
1391 (name "go-github-com-kataras-golog")
1392 (version "0.1.7")
1393 (source
1394 (origin
1395 (method git-fetch)
1396 (uri
1397 (git-reference
1398 (url "https://github.com/kataras/golog")
1399 (commit (string-append "v" version))))
1400 (file-name (git-file-name name version))
1401 (sha256
1402 (base32 "1ll24g50j48wqikzf67cyaq0m0f57v1ap24nbz3cmv3yzqi6wdl9"))))
1403 (build-system go-build-system)
1404 (arguments
1405 `(#:import-path "github.com/kataras/golog"))
1406 (propagated-inputs
1407 (list go-github-com-kataras-pio))
1408 (home-page "https://github.com/kataras/golog")
1409 (synopsis "Logging foundation for Go applications")
1410 (description "GoLog is a level-based logger written in Go.")
1411 (license license:bsd-3)))
1412
1413(define-public go-github-com-kataras-pio
1414 (package
1415 (name "go-github-com-kataras-pio")
1416 (version "0.0.10")
1417 (source
1418 (origin
1419 (method git-fetch)
1420 (uri
1421 (git-reference
1422 (url "https://github.com/kataras/pio")
1423 (commit (string-append "v" version))))
1424 (file-name (git-file-name name version))
1425 (sha256
1426 (base32 "11d2jy9xz4airicgmjcy4nb80kwv22jp140wzn2l5412jdr4jmkp"))))
1427 (build-system go-build-system)
1428 (arguments
1429 `(#:import-path "github.com/kataras/pio"))
1430 (home-page "https://github.com/kataras/pio")
1431 (synopsis "Pill for Input/Output")
1432 (description "PIO is a low-level package that provides a way to centralize
1433different output targets. Supports colors and text decoration to all popular
1434terminals.")
1435 (license license:bsd-3)))
1436
1437(define-public go-github-com-kortschak-utter
1438 (package
1439 (name "go-github-com-kortschak-utter")
1440 (version "1.5.0")
1441 (source (origin
1442 (method git-fetch)
1443 (uri (git-reference
1444 (url "https://github.com/kortschak/utter")
1445 (commit (string-append "v" version))))
1446 (file-name (git-file-name name version))
1447 (sha256
1448 (base32
1449 "13lg8gzvgjnljf1lz8qsfz3qcmbvrsxp3ip7mp2kscfz07r69dyw"))))
1450 (build-system go-build-system)
1451 (arguments
1452 '(#:import-path "github.com/kortschak/utter"))
1453 (home-page "https://github.com/kortschak/utter")
1454 (synopsis "Deep pretty printer")
1455 (description
1456 "This package implements a deep pretty printer for Go data structures to
1457aid data snapshotting.")
1458 (license license:isc)))
1459
1460(define-public go-github-com-leonelquinteros-gotext
1461 (package
1462 (name "go-github-com-leonelquinteros-gotext")
1463 (version "1.5.0")
1464 (source (origin
1465 (method git-fetch)
1466 (uri (git-reference
1467 (url "https://github.com/leonelquinteros/gotext")
1468 (commit (string-append "v" version))))
1469 (file-name (git-file-name name version))
1470 (sha256
1471 (base32
1472 "15zjc7s1p29izagc84andzhnxw17763rax31jqvf9r5fzvlm0ccn"))))
1473 (build-system go-build-system)
1474 (arguments
1475 '(#:import-path "github.com/leonelquinteros/gotext"))
1476 (propagated-inputs (list go-golang-org-x-tools go-golang-org-x-text))
1477 (home-page "https://github.com/leonelquinteros/gotext")
1478 (synopsis "GNU gettext utilities in Go")
1479 (description "This package implements GNU gettext utilities in Go. It features:
1480@itemize
1481@item Implements GNU gettext support in native Go.
1482@item Complete support for PO files including:
1483@item Support for MO files.
1484@item Thread-safe: This package is safe for concurrent use across multiple
1485goroutines.
1486@item It works with UTF-8 encoding as it's the default for Go language.
1487@item Unit tests available.
1488@item Language codes are automatically simplified from the form en_UK to en if
1489the first isn't available.
1490@item Ready to use inside Go templates.
1491@item Objects are serializable to []byte to store them in cache.
1492@item Support for Go Modules.
1493@end itemize")
1494 (license license:expat)))
1495
1496(define-public go-github-com-pkg-xattr
1497 (package
1498 (name "go-github-com-pkg-xattr")
1499 (version "0.4.9")
1500 (source (origin
1501 (method git-fetch)
1502 (uri (git-reference
1503 (url "https://github.com/pkg/xattr")
1504 (commit (string-append "v" version))))
1505 (file-name (git-file-name name version))
1506 (sha256
1507 (base32
1508 "0qg4zh0d8m4adaiicsd0cpw0w6g8sk01f4jz7jyxgirh1wfcsqyz"))))
1509 (build-system go-build-system)
1510 (arguments
1511 '(#:import-path "github.com/pkg/xattr"))
1512 (native-inputs (list go-golang-org-x-sys))
1513 (home-page "https://github.com/pkg/xattr")
1514 (synopsis "Support for extended file system attributes")
1515 (description
1516 "Package xattr provides support for extended attributes on Linux, Darwin and
1517FreeBSD. Extended attributes are name:value pairs permanently associated with
1518files or directories. They are similar to the environment strings associated with
1519a process. An attribute may be defined or undefined. If defined, its value may
1520be empty or non-empty. You can find more details here:
1521@@url{https://en.wikipedia.org/wiki/Extended_file_attributes,
1522https://en.wikipedia.org/wiki/Extended_file_attributes}
1523.")
1524 (license license:bsd-2)))
1525
1526(define-public go-github-com-schachmat-ingo
1527 (package
1528 (name "go-github-com-schachmat-ingo")
1529 (version "0.0.0-20170403011506-a4bdc0729a3f")
1530 (source
1531 (origin
1532 (method git-fetch)
1533 (uri (git-reference
1534 (url "https://github.com/schachmat/ingo")
1535 (commit (go-version->git-ref version))))
1536 (file-name (git-file-name name version))
1537 (sha256
1538 (base32 "1gw0kddy7jh3467imsqni86cf9yq7k6vpfc0ywkbwj0zsjsdgd49"))))
1539 (build-system go-build-system)
1540 (arguments '(#:import-path "github.com/schachmat/ingo"))
1541 (home-page "https://github.com/schachmat/ingo")
1542 (synopsis "Go library to persist flags in a INI-like configuration file")
1543 (description
1544 "Ingo is a Go library helping you to persist flags in a INI-like
1545configuration file.")
1546 (license license:isc)))
1547
1548(define-public go-github-com-savsgio-gotils
1549 (let ((commit "52f3993e8d6d2629f18e7b7383b7f54a3d3f1d1f")
1550 (revision "0"))
1551 (package
1552 (name "go-github-com-savsgio-gotils")
1553 (version (git-version "0.0.0" revision commit))
1554 (source
1555 (origin
1556 (method git-fetch)
1557 (uri (git-reference
1558 (url "https://github.com/savsgio/gotils")
1559 (commit commit)))
1560 (file-name (git-file-name name version))
1561 (sha256
1562 (base32 "0qr7i62h53frcig26vj027r2hn9zxsjzd7113wvbxy7qpprjjbjb"))))
1563 (build-system go-build-system)
1564 (native-inputs
1565 (list go-github-com-google-uuid
1566 go-github-com-valyala-bytebufferpool))
1567 (arguments
1568 '(#:import-path "github.com/savsgio/gotils"
1569 #:phases
1570 (modify-phases %standard-phases
1571 (replace 'build
1572 (lambda arguments
1573 (for-each
1574 (lambda (directory)
1575 (apply (assoc-ref %standard-phases 'build)
1576 `(,@arguments #:import-path ,directory)))
1577 (list
1578 "github.com/savsgio/gotils/bytes"
1579 "github.com/savsgio/gotils/encoding/base64"
1580 "github.com/savsgio/gotils/math"
1581 "github.com/savsgio/gotils/nocopy"
1582 "github.com/savsgio/gotils/strconv"
1583 "github.com/savsgio/gotils/strings"
1584 "github.com/savsgio/gotils/sync"
1585 "github.com/savsgio/gotils/time"
1586 "github.com/savsgio/gotils/uuid"))))
1587 (replace 'check
1588 (lambda arguments
1589 (for-each
1590 (lambda (directory)
1591 (apply (assoc-ref %standard-phases 'check)
1592 `(,@arguments #:import-path ,directory)))
1593 (list
1594 "github.com/savsgio/gotils/bytes"
1595 "github.com/savsgio/gotils/encoding/base64"
1596 "github.com/savsgio/gotils/math"
1597 "github.com/savsgio/gotils/nocopy"
1598 "github.com/savsgio/gotils/strconv"
1599 "github.com/savsgio/gotils/strings"
1600 "github.com/savsgio/gotils/sync"
1601 "github.com/savsgio/gotils/time"
1602 "github.com/savsgio/gotils/uuid"))))
1603 (replace 'install
1604 (lambda arguments
1605 (for-each
1606 (lambda (directory)
1607 (apply (assoc-ref %standard-phases 'install)
1608 `(,@arguments #:import-path ,directory)))
1609 (list
1610 "github.com/savsgio/gotils/bytes"
1611 "github.com/savsgio/gotils/encoding/base64"
1612 "github.com/savsgio/gotils/math"
1613 "github.com/savsgio/gotils/nocopy"
1614 "github.com/savsgio/gotils/strconv"
1615 "github.com/savsgio/gotils/strings"
1616 "github.com/savsgio/gotils/sync"
1617 "github.com/savsgio/gotils/time"
1618 "github.com/savsgio/gotils/uuid")))))))
1619 (home-page "https://github.com/savsgio/gotils")
1620 (synopsis "Golang utilities")
1621 (description
1622 "Golang utilities to make your life easier with zero allocations.")
1623 (license license:asl2.0))))
1624
1625(define-public go-github-com-mufti1-interconv 1239(define-public go-github-com-mufti1-interconv
1626 (let ((commit "d7c72925c6568d60d361757bb9f2d252dcca745c") 1240 (let ((commit "d7c72925c6568d60d361757bb9f2d252dcca745c")
1627 (revision "0")) 1241 (revision "0"))
@@ -1690,61 +1304,6 @@ configuration file.")
1690 (sha256 1304 (sha256
1691 (base32 "066bqlgw5h7a3kxswqlv734asb7nw2y6snsn09yqk0ixj23qw22s")))))) 1305 (base32 "066bqlgw5h7a3kxswqlv734asb7nw2y6snsn09yqk0ixj23qw22s"))))))
1692 1306
1693(define-public go-github-com-dpotapov-go-spnego
1694 (let ((commit "298b63a544303a239753d04314aada5bdbad7e4a")
1695 (revision "0"))
1696 (package
1697 (name "go-github-com-dpotapov-go-spnego")
1698 (version (git-version "0.0.0" revision commit))
1699 (source
1700 (origin
1701 (method git-fetch)
1702 (uri
1703 (git-reference
1704 (url "https://github.com/dpotapov/go-spnego")
1705 (commit commit)))
1706 (file-name (git-file-name name version))
1707 (sha256
1708 (base32 "0d3b0kazm0jskfml0pkhjn2v49m8dvqj4zymm49ldgvkhl9hcf6w"))))
1709 (build-system go-build-system)
1710 (arguments `(#:import-path "github.com/dpotapov/go-spnego"))
1711 (propagated-inputs (list go-github-com-stretchr-testify
1712 go-github-com-jcmturner-gokrb5-v8
1713 go-golang-org-x-net))
1714 (home-page "https://github.com/dpotapov/go-spnego")
1715 (synopsis "Simple golang library for retry mechanism")
1716 (description "This package is a simple Go library that provides retry
1717functionality for functions that may fail. It includes various customizable
1718retry strategies, such as fixed delay, backoff delay, and random delay.")
1719 (license license:expat))))
1720
1721(define-public go-howett-net-plist
1722 (package
1723 (name "go-howett-net-plist")
1724 (version "1.0.1")
1725 (source
1726 (origin
1727 (method git-fetch)
1728 (uri (git-reference
1729 (url "https://github.com/DHowett/go-plist")
1730 (commit (string-append "v" version))))
1731 (file-name (git-file-name name version))
1732 (sha256
1733 (base32 "1gcrxkmdj87xq01458asgxvvijrkih74ydbzfmir1p16xr9z0x39"))))
1734 (build-system go-build-system)
1735 (arguments
1736 (list
1737 #:import-path "howett.net/plist"))
1738 (propagated-inputs
1739 (list go-github-com-jessevdk-go-flags
1740 go-gopkg-in-check-v1))
1741 (home-page "https://github.com/DHowett/go-plist")
1742 (synopsis "Apple property list transcoder")
1743 (description
1744 "This list transcoder supports encoding/decoding property lists (Apple
1745XML, Apple Binary, OpenStep, and GNUStep) from/to arbitrary Go types.")
1746 (license license:giftware)))
1747
1748(define-public go-github-com-blanu-dust 1307(define-public go-github-com-blanu-dust
1749 (package 1308 (package
1750 (name "go-github-com-blanu-dust") 1309 (name "go-github-com-blanu-dust")
@@ -1910,88 +1469,12 @@ protocol from the Pluggable Transports 2.0 specification.")
1910 (base32 "0s730xagdxs66wfh65hb5v9a5h01q5ncic3pyij0a043scagizgr")))) 1469 (base32 "0s730xagdxs66wfh65hb5v9a5h01q5ncic3pyij0a043scagizgr"))))
1911 (build-system go-build-system) 1470 (build-system go-build-system)
1912 (arguments 1471 (arguments
1913 `(#:unpack-path "github.com/OperatorFoundation/obfs4" 1472 (list
1914 #:phases 1473 #:skip-build? #t
1915 (modify-phases %standard-phases 1474 #:import-path "github.com/OperatorFoundation/obfs4"
1916 (replace 'build 1475 #:test-subdirs #~(list "common/..."
1917 (lambda arguments 1476 "proxy_dialers/..."
1918 (for-each 1477 "transports/obfs4/...")))
1919 (lambda (directory)
1920 (apply (assoc-ref %standard-phases 'build)
1921 `(,@arguments #:import-path ,directory)))
1922 (list
1923 "github.com/OperatorFoundation/obfs4/common/csrand"
1924 "github.com/OperatorFoundation/obfs4/common/drbg"
1925 "github.com/OperatorFoundation/obfs4/common/log"
1926 "github.com/OperatorFoundation/obfs4/common/ntor"
1927 "github.com/OperatorFoundation/obfs4/common/probdist"
1928 "github.com/OperatorFoundation/obfs4/common/pt_extras"
1929 "github.com/OperatorFoundation/obfs4/common/replayfilter"
1930 "github.com/OperatorFoundation/obfs4/common/socks5"
1931 "github.com/OperatorFoundation/obfs4/common/termmon"
1932 "github.com/OperatorFoundation/obfs4/common/uniformdh"
1933 "github.com/OperatorFoundation/obfs4/modes/pt_socks5"
1934 "github.com/OperatorFoundation/obfs4/modes/stun_udp"
1935 "github.com/OperatorFoundation/obfs4/modes/transparent_tcp"
1936 "github.com/OperatorFoundation/obfs4/modes/transparent_udp"
1937 "github.com/OperatorFoundation/obfs4/obfs4proxy"
1938 "github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_http"
1939 "github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_socks4"
1940 "github.com/OperatorFoundation/obfs4/transports"))))
1941 (replace 'check
1942 (lambda arguments
1943 (for-each
1944 (lambda (directory)
1945 (apply (assoc-ref %standard-phases 'check)
1946 `(,@arguments #:import-path ,directory)))
1947 (list
1948 "github.com/OperatorFoundation/obfs4/common/csrand"
1949 "github.com/OperatorFoundation/obfs4/common/drbg"
1950 "github.com/OperatorFoundation/obfs4/common/log"
1951 "github.com/OperatorFoundation/obfs4/common/ntor"
1952 "github.com/OperatorFoundation/obfs4/common/probdist"
1953 "github.com/OperatorFoundation/obfs4/common/pt_extras"
1954 "github.com/OperatorFoundation/obfs4/common/replayfilter"
1955 "github.com/OperatorFoundation/obfs4/common/socks5"
1956 "github.com/OperatorFoundation/obfs4/common/termmon"
1957 "github.com/OperatorFoundation/obfs4/common/uniformdh"
1958 ;; ERROR: Println arg dialFn is a func value, not called.
1959 ;;"github.com/OperatorFoundation/obfs4/modes/pt_socks5"
1960 ;; ERROR: Infof format %s has arg ln of wrong type *net.UDPConn.
1961 ;;"github.com/OperatorFoundation/obfs4/modes/stun_udp"
1962 "github.com/OperatorFoundation/obfs4/modes/transparent_tcp"
1963 ;; ERROR: Infof format %s has arg ln of wrong type *net.UDPConn
1964 ;;"github.com/OperatorFoundation/obfs4/modes/transparent_udp"
1965 ;; ERROR: Println call has possible formatting directive %s.
1966 ;;"github.com/OperatorFoundation/obfs4/obfs4proxy"
1967 "github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_http"
1968 "github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_socks4"
1969 "github.com/OperatorFoundation/obfs4/transports"))))
1970 (replace 'install
1971 (lambda arguments
1972 (for-each
1973 (lambda (directory)
1974 (apply (assoc-ref %standard-phases 'install)
1975 `(,@arguments #:import-path ,directory)))
1976 (list
1977 "github.com/OperatorFoundation/obfs4/common/csrand"
1978 "github.com/OperatorFoundation/obfs4/common/drbg"
1979 "github.com/OperatorFoundation/obfs4/common/log"
1980 "github.com/OperatorFoundation/obfs4/common/ntor"
1981 "github.com/OperatorFoundation/obfs4/common/probdist"
1982 "github.com/OperatorFoundation/obfs4/common/pt_extras"
1983 "github.com/OperatorFoundation/obfs4/common/replayfilter"
1984 "github.com/OperatorFoundation/obfs4/common/socks5"
1985 "github.com/OperatorFoundation/obfs4/common/termmon"
1986 "github.com/OperatorFoundation/obfs4/common/uniformdh"
1987 "github.com/OperatorFoundation/obfs4/modes/pt_socks5"
1988 "github.com/OperatorFoundation/obfs4/modes/stun_udp"
1989 "github.com/OperatorFoundation/obfs4/modes/transparent_tcp"
1990 "github.com/OperatorFoundation/obfs4/modes/transparent_udp"
1991 "github.com/OperatorFoundation/obfs4/obfs4proxy"
1992 "github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_http"
1993 "github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_socks4"
1994 "github.com/OperatorFoundation/obfs4/transports")))))))
1995 (propagated-inputs 1478 (propagated-inputs
1996 (list go-github-com-dchest-siphash 1479 (list go-github-com-dchest-siphash
1997 go-github-com-operatorfoundation-ed25519 1480 go-github-com-operatorfoundation-ed25519
@@ -2014,30 +1497,29 @@ obfuscated via the Elligator 2 mapping.
2014 (license license:bsd-2))) 1497 (license license:bsd-2)))
2015 1498
2016(define-public go-github-com-willscott-goturn 1499(define-public go-github-com-willscott-goturn
2017 (let ((commit "19f41278d0c9251d64e0ee29f37d51e87a24a97b")
2018 (revision "0"))
2019 (package 1500 (package
2020 (name "go-github-com-willscott-goturn") 1501 (name "go-github-com-willscott-goturn")
2021 (version (git-version "0.0.0" revision commit)) 1502 (version "0.0.0-20170802220503-19f41278d0c9")
2022 (source 1503 (source
2023 (origin 1504 (origin
2024 (method git-fetch) 1505 (method git-fetch)
2025 (uri 1506 (uri
2026 (git-reference 1507 (git-reference
2027 (url "https://github.com/willscott/goturn") 1508 (url "https://github.com/willscott/goturn")
2028 (commit commit))) 1509 (commit (go-version->git-ref version))))
2029 (file-name (git-file-name name version)) 1510 (file-name (git-file-name name version))
2030 (sha256 1511 (sha256
2031 (base32 "0zwvhfznr84ayzknn9flh65nvqjsixisgy9fkhz2jlahl1ldqcq7")))) 1512 (base32 "0zwvhfznr84ayzknn9flh65nvqjsixisgy9fkhz2jlahl1ldqcq7"))))
2032 (build-system go-build-system) 1513 (build-system go-build-system)
2033 (arguments 1514 (arguments
2034 `(#:import-path "github.com/willscott/goturn")) 1515 `(#:tests? #f ; tests are broken on a newer go, starting from 1.17.
1516 #:import-path "github.com/willscott/goturn"))
2035 (home-page "https://github.com/willscott/goturn") 1517 (home-page "https://github.com/willscott/goturn")
2036 (synopsis "Go TURN dialer") 1518 (synopsis "Go TURN dialer")
2037 (description "GoTURN is a library providing a Go interface compatible with 1519 (description "GoTURN is a library providing a Go interface compatible with
2038the golang proxy package which connects through a TURN relay. It provides 1520the golang proxy package which connects through a TURN relay. It provides
2039parsing and encoding support for STUN and TURN protocols.") 1521parsing and encoding support for STUN and TURN protocols.")
2040 (license license:bsd-3)))) 1522 (license license:bsd-3)))
2041 1523
2042(define-public go-github-com-flopp-go-findfont 1524(define-public go-github-com-flopp-go-findfont
2043 (package 1525 (package
@@ -2062,35 +1544,6 @@ parsing and encoding support for STUN and TURN protocols.")
2062TrueType font files in your system's user and system font directories.") 1544TrueType font files in your system's user and system font directories.")
2063 (license license:expat))) 1545 (license license:expat)))
2064 1546
2065(define-public go-github-com-phpdave11-gofpdi
2066 (package
2067 (name "go-github-com-phpdave11-gofpdi")
2068 (version "1.0.13")
2069 (source (origin
2070 (method git-fetch)
2071 (uri (git-reference
2072 (url "https://github.com/phpdave11/gofpdi")
2073 (commit (string-append "v" version))))
2074 (file-name (git-file-name name version))
2075 (sha256
2076 (base32
2077 "01r8a3k2d48fxmhyvix0ry2dc1z5xankd14yxlm496a26vfnc9nq"))))
2078 (build-system go-build-system)
2079 (arguments
2080 (list
2081 #:import-path "github.com/phpdave11/gofpdi"
2082 #:phases #~(modify-phases %standard-phases
2083 (add-after 'unpack 'fix-source
2084 (lambda _
2085 (substitute* (find-files "." "writer\\.go$")
2086 (("%s-%s") "%d-%s")))))))
2087 (propagated-inputs (list go-github-com-pkg-errors))
2088 (home-page "https://github.com/phpdave11/gofpdi")
2089 (synopsis "PDF document importer")
2090 (description
2091 "gofpdi allows you to import an existing PDF into a new PDF.")
2092 (license license:expat)))
2093
2094(define-public go-github-com-signintech-gopdf 1547(define-public go-github-com-signintech-gopdf
2095 (package 1548 (package
2096 (name "go-github-com-signintech-gopdf") 1549 (name "go-github-com-signintech-gopdf")
@@ -2124,29 +1577,25 @@ TrueType font files in your system's user and system font directories.")
2124 (package 1577 (package
2125 (name "go-github-com-wraparound-wrap") 1578 (name "go-github-com-wraparound-wrap")
2126 (version "0.3.1") 1579 (version "0.3.1")
2127 (source (origin 1580 (source
2128 (method git-fetch) 1581 (origin
2129 (uri (git-reference 1582 (method git-fetch)
2130 (url "https://github.com/Wraparound/wrap") 1583 (uri (git-reference
2131 (commit (string-append "v" version)))) 1584 (url "https://github.com/Wraparound/wrap")
2132 (file-name (git-file-name name version)) 1585 (commit (string-append "v" version))))
2133 (sha256 1586 (file-name (git-file-name name version))
2134 (base32 1587 (sha256
2135 "0scf7v83p40r9k7k5v41rwiy9yyanfv3jm6jxs9bspxpywgjrk77")) 1588 (base32 "0scf7v83p40r9k7k5v41rwiy9yyanfv3jm6jxs9bspxpywgjrk77"))
2136 (patches (search-patches 1589 (patches (search-patches
2137 "go-github-com-wraparound-wrap-free-fonts.patch")))) 1590 "go-github-com-wraparound-wrap-free-fonts.patch"))))
2138 (build-system go-build-system) 1591 (build-system go-build-system)
2139 (arguments 1592 (arguments
2140 (list 1593 (list
2141 #:import-path "github.com/Wraparound/wrap/" 1594 #:install-source? #f
2142 #:tests? #f ; no tests 1595 #:import-path "github.com/Wraparound/wrap/cmd/wrap"
1596 #:unpack-path "github.com/Wraparound/wrap"
2143 #:phases 1597 #:phases
2144 #~(modify-phases %standard-phases 1598 #~(modify-phases %standard-phases
2145 (replace 'build
2146 (lambda* (#:key import-path #:allow-other-keys)
2147 (invoke "go" "install" "-v" "-x"
2148 "-ldflags=-s -w"
2149 (string-append import-path "cmd/wrap"))))
2150 (add-after 'install 'wrap-fonts 1599 (add-after 'install 'wrap-fonts
2151 (lambda* (#:key inputs outputs #:allow-other-keys) 1600 (lambda* (#:key inputs outputs #:allow-other-keys)
2152 (for-each 1601 (for-each
@@ -2158,46 +1607,26 @@ TrueType font files in your system's user and system font directories.")
2158 (map cdr inputs)))))) 1607 (map cdr inputs))))))
2159 (find-files (string-append (assoc-ref outputs "out") 1608 (find-files (string-append (assoc-ref outputs "out")
2160 "/bin")))))))) 1609 "/bin"))))))))
2161 (propagated-inputs (list go-github-com-spf13-cobra 1610 (native-inputs
2162 go-github-com-signintech-gopdf 1611 (list go-github-com-spf13-cobra
2163 go-github-com-flopp-go-findfont)) 1612 go-github-com-signintech-gopdf
2164 (inputs (list font-liberation font-gnu-freefont)) 1613 go-github-com-flopp-go-findfont))
1614 (inputs
1615 (list font-liberation
1616 font-gnu-freefont))
2165 (home-page "https://github.com/Wraparound/wrap") 1617 (home-page "https://github.com/Wraparound/wrap")
2166 (synopsis "Format Fountain screenplays") 1618 (synopsis "Format Fountain screenplays")
2167 (description 1619 (description
2168 "Wrap is a command line tool that is able to convert Fountain files into a 1620 "Wrap is a command line tool that is able to convert Fountain files into
2169correctly formatted screen- or stageplay as an HTML or a PDF. It supports 1621a correctly formatted screen- or stageplay as an HTML or a PDF. It supports
2170standard Fountain, but also has some custom syntax extensions such as 1622standard Fountain, but also has some custom syntax extensions such as
2171translated keywords and acts.") 1623translated keywords and acts.")
2172 (license license:gpl3))) 1624 (license license:gpl3)))
2173 1625
2174(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib 1626(define-public lyrebird
2175 (package
2176 (name "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib")
2177 (version "1.5.0")
2178 (source
2179 (origin
2180 (method git-fetch)
2181 (uri
2182 (git-reference
2183 (url "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib")
2184 (commit (string-append "v" version))))
2185 (file-name (git-file-name name version))
2186 (sha256
2187 (base32 "1kmdpxrbnxnpsi7dkgk85z005vjyj74b3wxxqrf68wg3svy69620"))))
2188 (build-system go-build-system)
2189 (arguments
2190 `(#:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib"))
2191 (home-page "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib")
2192 (synopsis "Go pluggable transports library")
2193 (description "GoPtLib is a library for writing Tor pluggable transports in
2194Go.")
2195 (license license:cc0)))
2196
2197(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird
2198 (package 1627 (package
2199 (name "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird") 1628 (name "lyrebird")
2200 (version "0.3.0") 1629 (version "0.5.0")
2201 (source (origin 1630 (source (origin
2202 (method git-fetch) 1631 (method git-fetch)
2203 (uri (git-reference 1632 (uri (git-reference
@@ -2206,104 +1635,35 @@ Go.")
2206 (file-name (git-file-name name version)) 1635 (file-name (git-file-name name version))
2207 (sha256 1636 (sha256
2208 (base32 1637 (base32
2209 "1bmljd81vc8b4kzmpgmx1n1vvjn5y1s2w01hjxwplmnchv9dndkl")))) 1638 "1qk7npkj0a3a28rp38whl1jwjr0z0hdcsq5bgm8bl1fk9g6cqbnp"))))
2210 (build-system go-build-system) 1639 (build-system go-build-system)
2211 (arguments 1640 (arguments
2212 `(#:unpack-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird" 1641 (list
2213 #:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird/cmd/lyrebird" 1642 #:install-source? #f
2214 #:phases 1643 #:unpack-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird"
2215 (modify-phases %standard-phases 1644 #:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird/cmd/lyrebird"))
2216 (add-after 'unpack 'substitutions
2217 (lambda _
2218 (with-directory-excursion
2219 "src/gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird"
2220 (for-each
2221 (lambda (file)
2222 (substitute* file
2223 (("edwards25519-extra.git") "edwards25519-extra")))
2224 (list "common/ntor/ntor_test.go"
2225 "internal/x25519ell2/x25519ell2.go"))
2226 (substitute* "internal/x25519ell2/x25519ell2.go"
2227 (("gitlab.com/yawning/obfs4.git")
2228 "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird"))))))))
2229 (propagated-inputs 1645 (propagated-inputs
2230 (list go-filippo-io-edwards25519 1646 (list go-filippo-io-edwards25519
2231 go-github-com-dchest-siphash 1647 go-github-com-dchest-siphash
2232 go-github-com-refraction-networking-utls 1648 go-github-com-refraction-networking-utls
2233 go-gitlab-com-yawning-edwards25519-extra 1649 go-gitlab-com-yawning-edwards25519-extra
2234 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib 1650 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib
1651 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2
2235 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-webtunnel 1652 go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-webtunnel
2236 go-golang-org-x-crypto 1653 go-golang-org-x-crypto
2237 go-golang-org-x-net 1654 go-golang-org-x-net))
2238 go-golang-org-x-text))
2239 (home-page "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird") 1655 (home-page "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird")
2240 (synopsis "Look-like nothing obfuscation protocol") 1656 (synopsis "Look-like nothing obfuscation protocol")
2241 (description "This is a look-like nothing obfuscation protocol that 1657 (description "This is a look-like nothing obfuscation protocol that
2242incorporates ideas and concepts from Philipp Winter's ScrambleSuit protocol.") 1658incorporates ideas and concepts from Philipp Winter's ScrambleSuit protocol.")
2243 (license (list license:bsd-2 license:bsd-3)))) 1659 (license (list license:bsd-2 license:bsd-3))))
2244 1660
2245(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-webtunnel 1661(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird
2246 (let ((commit "e64b1b3562f3ab50d06141ecd513a21ec74fe8c6") 1662 ;; This is a final command, no need for a full name of the go.mod module path
2247 (revision "0")) 1663 ;; style. The same is suggested in project's README and Makefile.
2248 (package 1664 (deprecated-package
2249 (name "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-webtunnel") 1665 "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird"
2250 (version (git-version "0.0.0" revision commit)) 1666 lyrebird))
2251 (source
2252 (origin
2253 (method git-fetch)
2254 (uri
2255 (git-reference
2256 (url "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel")
2257 (commit commit)))
2258 (file-name (git-file-name name version))
2259 (sha256
2260 (base32 "0nvd0qp1mdy7w32arnkhghxm5k2g6gy33cxlarxc6vdm4yh6v5nv"))))
2261 (build-system go-build-system)
2262 (arguments
2263 `(#:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel"))
2264 (home-page "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel")
2265 (synopsis "Go WebTunnel Pluggable Transport")
2266 (description "WebTunnel is a Go Pluggable Transport that attempts to imitate
2267web browsing activities based on HTTP Upgrade (HTTPT).")
2268 (license license:bsd-2))))
2269
2270(define-public go-github-com-keybase-go-ps
2271 (let ((commit "91aafc93ba19d1988cff338c1929d35b6c6f5b50")
2272 (revision "0"))
2273 (package
2274 (name "go-github-com-keybase-go-ps")
2275 (version (git-version "0.0.0" revision commit))
2276 (source
2277 (origin
2278 (method git-fetch)
2279 (uri
2280 (git-reference
2281 (url "https://github.com/keybase/go-ps")
2282 (commit commit)))
2283 (file-name (git-file-name name version))
2284 (sha256
2285 (base32 "1la7m9pd1rrij727g34k9d2iapqwrkwdkqwpkbsbcq8ig0fg634h"))))
2286 (build-system go-build-system)
2287 (arguments
2288 `(#:import-path "github.com/keybase/go-ps"
2289 #:phases
2290 (modify-phases %standard-phases
2291 (add-after 'unpack 'fix-tests
2292 (lambda* (#:key native-inputs inputs #:allow-other-keys)
2293 (substitute* (find-files "." "test\\.go")
2294 (("/bin/sleep" command)
2295 (string-append
2296 (assoc-ref (or native-inputs inputs) "coreutils")
2297 command)))
2298 (substitute* "src/github.com/keybase/go-ps/process_openbsd.go"
2299 (("^// \\+build ignore") "")))))))
2300 (native-inputs
2301 (list coreutils go-github-com-stretchr-testify))
2302 (home-page "https://github.com/keybase/go-ps")
2303 (synopsis "Process list library for Go")
2304 (description "Go-Ps is a library for Go that implements OS-specific APIs
2305to list and manipulate processes in a safe way.")
2306 (license license:expat))))
2307 1667
2308(define-public go-github-com-apparentlymart-go-openvpn-mgmt 1668(define-public go-github-com-apparentlymart-go-openvpn-mgmt
2309 (let ((commit "4d2ce95ae600ee04eeb020ee0997aabb82752210") 1669 (let ((commit "4d2ce95ae600ee04eeb020ee0997aabb82752210")
@@ -2360,29 +1720,6 @@ management interface. It can be used to monitor and control an OpenVPN process
2360running with its management port enabled.") 1720running with its management port enabled.")
2361 (license license:expat)))) 1721 (license license:expat))))
2362 1722
2363(define-public go-github-com-dchest-siphash
2364 (package
2365 (name "go-github-com-dchest-siphash")
2366 (version "1.2.1")
2367 (source
2368 (origin
2369 (method git-fetch)
2370 (uri
2371 (git-reference
2372 (url "https://github.com/dchest/siphash")
2373 (commit (string-append "v" version))))
2374 (file-name (git-file-name name version))
2375 (sha256
2376 (base32 "08s076y7vmjqnq7jz0762hkm896r6r31v8b31a3gy0n8rfa01k8k"))))
2377 (build-system go-build-system)
2378 (arguments
2379 `(#:import-path "github.com/dchest/siphash"))
2380 (home-page "https://github.com/dchest/siphash")
2381 (synopsis "Go library for pseudorandom functions")
2382 (description "SipHash is a family of pseudorandom functions (PRFs) optimized
2383for speed on short messages.")
2384 (license license:cc0)))
2385
2386(define-public go-github-com-rakyll-statik 1723(define-public go-github-com-rakyll-statik
2387 (package 1724 (package
2388 (name "go-github-com-rakyll-statik") 1725 (name "go-github-com-rakyll-statik")
@@ -2406,482 +1743,24 @@ for speed on short messages.")
2406 "fmt.Print(helpText + \"\\n\")")))))) 1743 "fmt.Print(helpText + \"\\n\")"))))))
2407 (build-system go-build-system) 1744 (build-system go-build-system)
2408 (arguments 1745 (arguments
2409 `(#:import-path "github.com/rakyll/statik")) 1746 (list
1747 #:import-path "github.com/rakyll/statik"
1748 #:test-flags
1749 #~(list "-skip"
1750 (string-join
1751 (list
1752 "TestOpen/Files_should_retain_their_original_file*"
1753 "TestOpen/Images_should_successfully_unpack"
1754 "TestOpen/'index.html'_files_should_be_returned*"
1755 "TestOpen/listed_all_sub_directories_in_deep_directory"
1756 "TestOpen/Paths_containing_dots_should_be_properly_sanitized")
1757 "|"))))
2410 (home-page "https://github.com/rakyll/statik/") 1758 (home-page "https://github.com/rakyll/statik/")
2411 (synopsis "Embed files into a Go executable") 1759 (synopsis "Embed files into a Go executable")
2412 (description "Statik allows you to embed a directory of static files into 1760 (description "Statik allows you to embed a directory of static files into
2413your Go binary to be later served from an http.FileSystem.") 1761your Go binary to be later served from an http.FileSystem.")
2414 (license license:asl2.0))) 1762 (license license:asl2.0)))
2415 1763
2416(define-public go-github-com-alsm-ioprogress
2417 (let ((commit "063c3725f436e7fba0c8f588547bee21ffec7ac5")
2418 (revision "0"))
2419 (package
2420 (name "go-github-com-alsm-ioprogress")
2421 (version (git-version "0.0.0" revision commit))
2422 (source (origin
2423 (method git-fetch)
2424 (uri (git-reference
2425 (url "https://github.com/alsm/ioprogress")
2426 (commit commit)))
2427 (file-name (git-file-name name version))
2428 (sha256
2429 (base32
2430 "10ym5qlq77nynmkxbk767f2hfwyxg2k7hrzph05hvgzv833dhivh"))))
2431 (build-system go-build-system)
2432 (arguments
2433 '(#:import-path "github.com/alsm/ioprogress"))
2434 (synopsis "Textual progress bars in Go")
2435 (description "@code{ioprogress} is a Go library with implementations of
2436@code{io.Reader} and @code{io.Writer} that draws progress bars. The primary use
2437case for these are for command-line applications but alternate progress bar
2438writers can be supplied for alternate environments.")
2439 (home-page "https://github.com/alsm/ioprogress")
2440 (license license:expat))))
2441
2442(define-public go-github-com-miolini-datacounter
2443 (package
2444 (name "go-github-com-miolini-datacounter")
2445 (version "1.0.3")
2446 (source (origin
2447 (method git-fetch)
2448 (uri (git-reference
2449 (url "https://github.com/miolini/datacounter")
2450 (commit (string-append "v" version))))
2451 (file-name (git-file-name name version))
2452 (sha256
2453 (base32
2454 "0s1hxqy6666qd524rdp1dr3778davc8gx9brg9lkcjvr5l05s9wa"))))
2455 (build-system go-build-system)
2456 (arguments
2457 (list #:import-path "github.com/miolini/datacounter"))
2458 (home-page "https://github.com/miolini/datacounter")
2459 (synopsis "Counters for Go readers and writers")
2460 (description
2461 "The datacounter package provides counters for Go readers and writers.")
2462 (license license:expat)))
2463
2464(define-public go-github-com-aki237-nscjar
2465 (let ((commit "e2df936ddd6050d30dd90c7214c02b5019c42f06")
2466 (revision "0"))
2467 (package
2468 (name "go-github-com-aki237-nscjar")
2469 (version (git-version "0.0.0" revision commit))
2470 (source (origin
2471 (method git-fetch)
2472 (uri (git-reference
2473 (url "https://github.com/aki237/nscjar")
2474 (commit commit)))
2475 (file-name (git-file-name name version))
2476 (sha256
2477 (base32
2478 "03y7zzq12qvhsq86lb06sgns8xrkblbn7i7wd886wk3zr5574b96"))))
2479 (build-system go-build-system)
2480 (arguments
2481 '(#:import-path "github.com/aki237/nscjar"))
2482 (synopsis "Handle Netscape / Mozilla cookies")
2483 (description "@code{nscjar} is a Go library used to parse and output
2484Netscape/Mozilla's old-style cookie files. It also implements a simple cookie
2485jar struct to manage the cookies added to the cookie jar.")
2486 (home-page "https://github.com/aki237/nscjar")
2487 (license license:expat))))
2488
2489(define-public go-github-com-gizak-termui
2490 (package
2491 (name "go-github-com-gizak-termui")
2492 (version "3.1.0")
2493 (source
2494 (origin
2495 (method git-fetch)
2496 (uri (git-reference
2497 (url "https://github.com/gizak/termui")
2498 (commit (string-append "v" version))))
2499 (file-name (git-file-name name version))
2500 (sha256
2501 (base32 "1v3k8l5p95kb1v297ra5mw9sxdd59y82y6ibjzya5ma2pry6k5cn"))))
2502 (build-system go-build-system)
2503 (arguments
2504 '(#:unpack-path "github.com/gizak/termui"
2505 #:import-path "github.com/gizak/termui/v3"))
2506 (propagated-inputs
2507 (list go-github-com-mattn-go-runewidth
2508 go-github-com-mitchellh-go-wordwrap go-github.com-nsf-termbox-go))
2509 (home-page "https://github.com/gizak/termui")
2510 (synopsis "Terminal dashboard widget Go library")
2511 (description
2512 "The termui Go library draws customizable dashboard widgets in a text
2513terminal. It includes several common widgets: lists, trees, tables and tabs,
2514but also more complex items such as (stacked) bar and pie charts, scatter plots,
2515gauges, and even images and a canvas for drawing `high resolution' braille dots.
2516
2517You can also easily create new custom widgets. Widgets can be coloured and
2518styled and positioned absolutely or relatively. They respond to keyboard,
2519mouse, and terminal resizing events.")
2520 (license license:expat)))
2521
2522(define-public go-github-com-golangplus-fmt
2523 (package
2524 (name "go-github-com-golangplus-fmt")
2525 (version "1.0.0")
2526 (home-page "https://github.com/golangplus/fmt")
2527 (source (origin
2528 (method git-fetch)
2529 (uri (git-reference
2530 (url home-page)
2531 (commit (string-append "v" version))))
2532 (file-name (git-file-name name version))
2533 (sha256
2534 (base32 "07d5kxz0f8ss3v46y0c8jg02sagi0wlaaijhjzzp0r462jyzqii7"))))
2535 (build-system go-build-system)
2536 (arguments
2537 '(#:tests? #f ; failing with new Golang compiler.
2538 #:import-path "github.com/golangplus/fmt"))
2539 (synopsis "Additions to Go's standard @code{fmt} package")
2540 (description "This package provides additions to Go's stdlib @code{fmt}.")
2541 (license license:bsd-3)))
2542
2543(define-public go-github-com-mitchellh-go-wordwrap
2544 (package
2545 (name "go-github-com-mitchellh-go-wordwrap")
2546 (version "1.0.1")
2547 (source
2548 (origin
2549 (method git-fetch)
2550 (uri (git-reference
2551 (url "https://github.com/mitchellh/go-wordwrap")
2552 (commit (string-append "v" version))))
2553 (file-name (git-file-name name version))
2554 (sha256
2555 (base32 "12imq66hgj8q9ii2xqdy8apc0icphh6yimjb0div1pvl3s9gn83y"))))
2556 (build-system go-build-system)
2557 (arguments
2558 '(#:import-path "github.com/mitchellh/go-wordwrap"))
2559 (propagated-inputs
2560 (list go-gopkg-in-yaml-v2))
2561 (home-page "https://github.com/mitchellh/go-wordwrap")
2562 (synopsis "Go library for word-wrapping strings")
2563 (description
2564 "This Go library automatically wraps words onto multiple lines. It's
2565primary goal is to format command-line output, but of course word wrapping is a
2566generally useful thing to do.")
2567 (license license:expat)))
2568
2569(define-public go-github-com-motemen-go-colorine
2570 (let ((commit "45d19169413a019e4e2be69629dde5c7d92f8706")
2571 (revision "0"))
2572 (package
2573 (name "go-github-com-motemen-go-colorine")
2574 (version (git-version "0.0.0" revision commit))
2575 (home-page "https://github.com/motemen/go-colorine")
2576 (source (origin
2577 (method git-fetch)
2578 (uri (git-reference
2579 (url home-page)
2580 (commit commit)))
2581 (file-name (git-file-name name version))
2582 (sha256
2583 (base32 "1mdy6q0926s1frj027nlzlvm2qssmkpjis7ic3l2smajkzh07118"))))
2584 (build-system go-build-system)
2585 (arguments
2586 '(#:import-path "github.com/motemen/go-colorine"))
2587 (propagated-inputs
2588 `(("github.com/daviddengcn/go-colortext" ,go-github-com-daviddengcn-go-colortext)))
2589 (synopsis "Simple colorized console logger for golang")
2590 (description
2591 "This package provides simple colorized console logger for golang.")
2592 (license license:expat))))
2593
2594(define-public go-github-com-daviddengcn-go-colortext
2595 (package
2596 (name "go-github-com-daviddengcn-go-colortext")
2597 (version "1.0.0")
2598 (home-page "https://github.com/daviddengcn/go-colortext")
2599 (source (origin
2600 (method git-fetch)
2601 (uri (git-reference
2602 (url home-page)
2603 (commit (string-append "v" version))))
2604 (file-name (git-file-name name version))
2605 (sha256
2606 (base32 "0j5ldwg3a768d3nniiglghr9axj4p87k7f7asqxa1a688xvcms48"))))
2607 (build-system go-build-system)
2608 (arguments
2609 '(#:import-path "github.com/daviddengcn/go-colortext"))
2610 (native-inputs
2611 (list go-github-com-golangplus-testing))
2612 (synopsis "Change the color of console text and background")
2613 (description
2614 "This is a package to change the color of the text and background in the
2615console, working both under Windows and other systems.
2616
2617Under Windows, the console APIs are used. Otherwise, ANSI texts are output.")
2618 ;; dual-licensed
2619 (license (list license:bsd-3 license:expat))))
2620
2621(define-public go-github-com-leodido-go-urn
2622 (package
2623 (name "go-github-com-leodido-go-urn")
2624 (version "1.4.0")
2625 (home-page "https://github.com/leodido/go-urn")
2626 (source
2627 (origin
2628 (method git-fetch)
2629 (uri (git-reference
2630 (url home-page)
2631 (commit (string-append "v" version))))
2632 (file-name (git-file-name name version))
2633 (sha256
2634 (base32 "0bn9dj6y299jdh8szfim32yxj9zip38cqgv965dj23cixgr7baxb"))))
2635 (build-system go-build-system)
2636 (arguments
2637 '(#:import-path "github.com/leodido/go-urn"))
2638 (native-inputs
2639 (list go-github-com-stretchr-testify))
2640 (synopsis "Parser for uniform resource names as seen on RFC 2141")
2641 (description
2642 "This package implements a parser for uniform resource names (URN) as
2643specified by @uref{https://tools.ietf.org/html/rfc2141, IETF RFC 2141}.")
2644 (license license:expat)))
2645
2646(define-public go-github-com-jessevdk-go-flags
2647 (package
2648 (name "go-github-com-jessevdk-go-flags")
2649 (version "1.5.0")
2650 (source (origin
2651 (method git-fetch)
2652 (uri (git-reference
2653 (url "https://github.com/jessevdk/go-flags")
2654 (commit (string-append "v" version))))
2655 (file-name (git-file-name name version))
2656 (sha256
2657 (base32 "13ixw1yx4bvcj66lkc8zgwf9j7gkvj686g991gycdsafvdvca0lj"))))
2658 (build-system go-build-system)
2659 (arguments
2660 '(#:import-path "github.com/jessevdk/go-flags"
2661 #:phases
2662 (modify-phases %standard-phases
2663 (add-after 'unpack 'fix-tests
2664 (lambda _
2665 ;; SOURCE_DATE_EPOCH messes with the date on the man page test.
2666 (substitute* "src/github.com/jessevdk/go-flags/help_test.go"
2667 (("TestMan") "DisabledTestMan")))))))
2668 (propagated-inputs
2669 (list go-golang-org-x-sys))
2670 (synopsis "Go library for parsing command line arguments")
2671 (description
2672 "The @code{flags} package provides a command line option parser. The
2673functionality is similar to the go builtin @code{flag} package, but
2674@code{flags} provides more options and uses reflection to provide a succinct
2675way of specifying command line options.")
2676 (home-page "https://github.com/jessevdk/go-flags")
2677 (license license:bsd-3)))
2678
2679(define-public go-github-com-go-playground-universal-translator
2680 (package
2681 (name "go-github-com-go-playground-universal-translator")
2682 (version "0.18.1")
2683 (home-page "https://github.com/go-playground/universal-translator")
2684 (source
2685 (origin
2686 (method git-fetch)
2687 (uri (git-reference
2688 (url home-page)
2689 (commit (string-append "v" version))))
2690 (file-name (git-file-name name version))
2691 (sha256
2692 (base32 "1lgz9wrkcfx6q3x6i9fprr8rfwnk0c6x61jgzacgikbmzsl7dw6v"))))
2693 (build-system go-build-system)
2694 (arguments
2695 '(#:import-path "github.com/go-playground/universal-translator"))
2696 (propagated-inputs
2697 (list go-github-com-go-playground-locales))
2698 (synopsis "Translator using Unicode CLDR data and pluralization rules")
2699 (description
2700 "This package offers an Internalization Translator for Go using
2701@uref{http://cldr.unicode.org/, Unicode CLDR Project} data and pluralization
2702rules. Its currently implemented features include
2703
2704@itemize
2705@item Rules generated from the CLDR data, v30.0.3
2706@item Contains Cardinal, Ordinal and Range Plural Rules
2707@item Contains Month, Weekday and Timezone translations built in
2708@item Contains Date & Time formatting functions
2709@item Contains Number, Currency, Accounting and Percent formatting functions
2710@item Supports the \"Gregorian\" calendar only
2711@item Support loading translations from files
2712@item Exporting translations to file(s), mainly for getting them
2713professionally translated
2714@end itemize")
2715 (license license:expat)))
2716
2717(define-public go-gopkg-in-go-playground-validator-v9
2718 (package
2719 (name "go-gopkg-in-go-playground-validator-v9")
2720 (version "9.31.0")
2721 (home-page "https://gopkg.in/go-playground/validator.v9")
2722 (source
2723 (origin
2724 (method git-fetch)
2725 (uri (git-reference
2726 (url "https://github.com/go-playground/validator")
2727 (commit (string-append "v" version))))
2728 (file-name (git-file-name name version))
2729 (sha256
2730 (base32 "1f8c77s8kx9rip2jarv27x5s4xkcmanh4ndyhbcwvrhncs5rq061"))))
2731 (build-system go-build-system)
2732 (arguments
2733 '(#:import-path "gopkg.in/go-playground/validator.v9"))
2734 (native-inputs
2735 (list go-gopkg-in-go-playground-assert-v1))
2736 (propagated-inputs
2737 (list go-github-com-go-playground-universal-translator
2738 go-github-com-leodido-go-urn))
2739 (synopsis "Validator for structs and individual fields based on tags")
2740 (description
2741 "This package implements value validations for structs and individual
2742fields based on tags. It has the following unique features:
2743
2744@itemize
2745@item Cross Field and Cross Struct validations by using validation tags or
2746custom validators
2747@item Slice, Array and Map diving, which allows any or all levels of a
2748multidimensional field to be validated
2749@item Ability to dive into both map keys and values for validation
2750@item Handles type interface by determining it's underlying type prior to validation
2751@item Handles custom field types such as sql driver
2752@uref{https://golang.org/src/database/sql/driver/types.go?s=1210:1293#L29,
2753Valuer}
2754@item Alias validation tags, which allows for mapping of several validations
2755to a single tag for easier defining of validations on structs
2756@item Extraction of custom defined Field Name e.g. can specify to extract the
2757JSON name while validating and have it available in the resulting FieldError
2758@item Customizable i18n aware error messages.
2759@item Default validator for the @uref{https://github.com/gin-gonic/gin, gin}
2760web framework
2761@end itemize")
2762 (license license:expat)))
2763
2764(define-public go-github-com-go-playground-validator-v10
2765 (package
2766 (inherit go-gopkg-in-go-playground-validator-v9)
2767 (name "go-github-com-go-playground-validator-v10")
2768 (version "10.22.0")
2769 (source (origin
2770 (method git-fetch)
2771 (uri (git-reference
2772 (url "https://github.com/go-playground/validator")
2773 (commit (string-append "v" version))))
2774 (file-name (git-file-name name version))
2775 (sha256
2776 (base32
2777 "0zff0qpqfzwa4xazppiq7jvpncnmx52m23qi4ih754b7rzhbk0iz"))))
2778 (arguments
2779 (list
2780 #:import-path "github.com/go-playground/validator/v10"))
2781 (propagated-inputs
2782 (modify-inputs (package-propagated-inputs
2783 go-gopkg-in-go-playground-validator-v9)
2784 (append go-github-com-gabriel-vasile-mimetype
2785 go-golang-org-x-crypto
2786 go-golang-org-x-text)))
2787 (native-inputs
2788 (list go-github-com-go-playground-assert-v2))))
2789
2790(define-public go-github-com-nathan-osman-go-sunrise
2791 (let ((commit "c8f9f1eb869135f07378e7e3c5ec7a005f806c73")
2792 (revision "0"))
2793 (package
2794 (name "go-github-com-nathan-osman-go-sunrise")
2795 (version (git-version "1.1.0" revision commit))
2796 (source
2797 (origin
2798 (method git-fetch)
2799 (uri (git-reference
2800 (url "https://github.com/nathan-osman/go-sunrise")
2801 (commit commit)))
2802 (file-name (git-file-name name version))
2803 (sha256
2804 (base32
2805 "017zwzx05r5spxcs07dp6bnh7waknzsd819k7aqd8kr819v3x9in"))))
2806 (build-system go-build-system)
2807 (arguments
2808 (list #:import-path "github.com/nathan-osman/go-sunrise"))
2809 (home-page "https://github.com/nathan-osman/go-sunrise")
2810 (synopsis "Calculate sunrise and sunset times in Go")
2811 (description
2812 "This package provides a Go library for calculating sunrise and
2813sunset times from geographical coordinates and a date.")
2814 (license license:expat))))
2815
2816(define-public go-github-com-hebcal-gematriya
2817 (let ((commit "fe3043f73e415eb82727701d10f2fb40f87675e9")
2818 (revision "0"))
2819 (package
2820 (name "go-github-com-hebcal-gematriya")
2821 (version (git-version "1.0.1" revision commit))
2822 (source
2823 (origin
2824 (method git-fetch)
2825 (uri (git-reference
2826 (url "https://github.com/hebcal/gematriya")
2827 (commit commit)))
2828 (file-name (git-file-name name version))
2829 (sha256
2830 (base32
2831 "0xmnb2i80dy380yv8c4pd04bbyqgbc7c40p8hz1vqj2lhbm6jabf"))))
2832 (build-system go-build-system)
2833 (arguments
2834 (list #:import-path "github.com/hebcal/gematriya"))
2835 (home-page "https://github.com/hebcal/gematriya")
2836 (synopsis "Print numbers as Hebrew letters in Go")
2837 (description
2838 "This package provides a Go library for printing numbers as
2839Hebrew letters.")
2840 (license license:bsd-2))))
2841
2842(define-public go-github-com-hebcal-hebcal-go
2843 (let ((commit "d42e881860cfc9e8249fc79f268091c3c4d36b0d")
2844 (revision "0"))
2845 (package
2846 (name "go-github-com-hebcal-hebcal-go")
2847 (version (git-version "0.9.11" revision commit))
2848 (source
2849 (origin
2850 (method git-fetch)
2851 (uri (git-reference
2852 (url "https://github.com/hebcal/hebcal-go")
2853 (commit commit)))
2854 (file-name (git-file-name name version))
2855 (sha256
2856 (base32
2857 "1m9akb8pwxchpaci05gambshrzw626gsrfhl25f36vjl7mq5292n"))))
2858 (build-system go-build-system)
2859 (arguments
2860 (list #:import-path "github.com/hebcal/hebcal-go"
2861 ;; Source-only package
2862 #:tests? #f
2863 #:phases
2864 #~(modify-phases %standard-phases
2865 ;; Source-only package
2866 (delete 'build))))
2867 (native-inputs
2868 (list go-github-com-stretchr-testify))
2869 (propagated-inputs
2870 (list go-github-com-hebcal-gematriya
2871 go-github-com-nathan-osman-go-sunrise))
2872 (home-page "https://github.com/hebcal/hebcal-go")
2873 (synopsis "Go library for the Hebcal perpetual Jewish calendar")
2874 (description
2875 "This package provides a library for conversion between Hebrew
2876and Gregorian dates, and generation of lists of Jewish holidays for
2877a given year. Shabbat and holiday candle lighting and havdalah times
2878are approximated based on location.
2879
2880Torah readings, Daf Yomi, and counting of the Omer can also be
2881specified. Algorithms are included to calculate yahrzeits, birthdays,
2882and anniversaries.")
2883 (license license:gpl2+))))
2884
2885(define-public go-gopkg.in-tomb.v2 1764(define-public go-gopkg.in-tomb.v2
2886 (let ((commit "d5d1b5820637886def9eef33e03a27a9f166942c") 1765 (let ((commit "d5d1b5820637886def9eef33e03a27a9f166942c")
2887 (revision "0")) 1766 (revision "0"))
@@ -2942,217 +1821,6 @@ termination.")
2942 "t.Fatalf(`Killf(\"BO%%s"))))))) 1821 "t.Fatalf(`Killf(\"BO%%s")))))))
2943 (home-page "https://gopkg.in/tomb.v1"))) 1822 (home-page "https://gopkg.in/tomb.v1")))
2944 1823
2945(define-public go-github-com-jtolds-gls
2946 (package
2947 (name "go-github-com-jtolds-gls")
2948 (version "4.20")
2949 (source (origin
2950 (method git-fetch)
2951 (uri (git-reference
2952 (url "https://github.com/jtolds/gls")
2953 (commit (string-append "v" version))))
2954 (file-name (git-file-name name version))
2955 (sha256
2956 (base32
2957 "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6"))))
2958 (build-system go-build-system)
2959 (arguments
2960 (list
2961 #:import-path "github.com/jtolds/gls"
2962 #:phases
2963 #~(modify-phases %standard-phases
2964 (replace 'check
2965 (lambda* (#:key inputs #:allow-other-keys #:rest args)
2966 (unless
2967 ;; The tests fail when run with gccgo.
2968 (false-if-exception (search-input-file inputs "/bin/gccgo"))
2969 (apply (assoc-ref %standard-phases 'check) args)))))))
2970 (synopsis "@code{gls} provides Goroutine local storage")
2971 (description
2972 "The @code{gls} package provides a way to store a retrieve values
2973per-goroutine.")
2974 (home-page "https://github.com/jtolds/gls")
2975 (license license:expat)))
2976
2977(define-public go-github-com-saracen-walker
2978 (package
2979 (name "go-github-com-saracen-walker")
2980 (version "0.1.1")
2981 (source
2982 (origin
2983 (method git-fetch)
2984 (uri (git-reference
2985 (url "https://github.com/saracen/walker")
2986 (commit (string-append "v" version))))
2987 (file-name (git-file-name name version))
2988 (sha256
2989 (base32 "1rq1lrp99lx7k1ysbfznn4c1iagnxdhb4lnnklsadnnzi3gvygqz"))))
2990 (build-system go-build-system)
2991 (arguments
2992 `(#:import-path "github.com/saracen/walker"))
2993 (inputs
2994 (list go-golang-org-x-sync))
2995 (home-page "https://github.com/saracen/walker")
2996 (synopsis "Faster, parallel version of Go's filepath.Walk")
2997 (license license:expat)
2998 (description "The @code{walker} function is a faster, parallel version, of
2999@code{filepath.Walk}")))
3000
3001(define-public go-github-com-tdewolff-hasher
3002 (package
3003 (name "go-github-com-tdewolff-hasher")
3004 (version "0.0.0-20210521220142-bc97f602bca2")
3005 (source (origin
3006 (method git-fetch)
3007 (uri (git-reference
3008 (url "https://github.com/tdewolff/hasher")
3009 (commit (go-version->git-ref version))))
3010 (file-name (git-file-name name version))
3011 (sha256
3012 (base32
3013 "12dmxpmdy2z7c2z7qv2mv2aq4hyvjncb6fzr0ymg3y5bfjvl4dcw"))))
3014 (build-system go-build-system)
3015 (arguments
3016 (list #:import-path "github.com/tdewolff/hasher"))
3017 (native-inputs
3018 (list go-github-com-cespare-mph
3019 go-github-com-dgryski-go-mph))
3020 (home-page "https://github.com/tdewolff/hasher")
3021 (synopsis "Go known-keys fast-lookup map generator")
3022 (description
3023 "Hasher is a tool to automate the creation of methods and tables for a
3024@code{string} to @code{uint32} mapper.")
3025 (license license:bsd-3)))
3026
3027(define-public go-github-com-tj-docopt
3028 (package
3029 (name "go-github-com-tj-docopt")
3030 (version "1.0.0")
3031 (source (origin
3032 (method git-fetch)
3033 (uri (git-reference
3034 (url "https://github.com/tj/docopt")
3035 (commit (string-append "v" version))))
3036 (file-name (git-file-name name version))
3037 (sha256
3038 (base32
3039 "06h8hdg1mh3s78zqlr01g4si7k0f0g6pr7fj7lnvfg446hgc7080"))))
3040 (build-system go-build-system)
3041 (arguments
3042 '(#:import-path "github.com/tj/docopt"))
3043 (synopsis "Go implementation of docopt")
3044 (description
3045 "This library allows the user to define a command-line interface from a
3046program's help message rather than specifying it programmatically with
3047command-line parsers.")
3048 (home-page "https://github.com/tj/docopt")
3049 (license license:expat)))
3050
3051(define-public gopls
3052 (package
3053 (name "gopls")
3054 ;; XXX: Starting from 0.14.0 gppls needs golang.org/x/telemetry, which
3055 ;; needs to be discussed if it may be included in Guix.
3056 (version "0.16.2")
3057 (source
3058 (origin
3059 (method git-fetch)
3060 (uri (git-reference
3061 (url "https://go.googlesource.com/tools")
3062 (commit (go-version->git-ref version #:subdir "gopls"))))
3063 (file-name (git-file-name name version))
3064 (sha256
3065 (base32 "1l6mkh4v0f602spw3zdmkxqizk32zvgpfy461sinqwhlag8v8v3a"))))
3066 (build-system go-build-system)
3067 (arguments
3068 (list
3069 #:install-source? #f
3070 #:import-path "golang.org/x/tools/gopls"
3071 #:unpack-path "golang.org/x/tools"
3072 #:phases
3073 #~(modify-phases %standard-phases
3074 (add-before 'unpack 'override-tools
3075 (lambda _
3076 ;; XXX: Write a procedure deleting all but current module source
3077 ;; to cover case with monorepo.
3078 (delete-file-recursively "src/golang.org/x/tools"))))))
3079 (native-inputs
3080 (list go-github-com-google-go-cmp
3081 go-github-com-jba-templatecheck
3082 go-golang-org-x-mod
3083 go-golang-org-x-sync
3084 go-golang-org-x-telemetry
3085 go-golang-org-x-text
3086 go-golang-org-x-vuln
3087 go-gopkg-in-yaml-v3
3088 go-honnef-co-go-tools
3089 go-mvdan-cc-gofumpt
3090 go-mvdan-cc-xurls-v2))
3091 (home-page "https://golang.org/x/tools/gopls")
3092 (synopsis "Official language server for the Go language")
3093 (description
3094 "Pronounced ``Go please'', this is the official Go language server
3095developed by the Go team. It provides IDE features to any LSP-compatible
3096editor.")
3097 (license license:bsd-3)))
3098
3099(define-public go-github-com-tevino-abool
3100 (let ((commit
3101 "3c25f2fe7cd0ef3eabefce1d90efd69a65d35b12")
3102 (revision "0"))
3103 (package
3104 (name "go-github-com-tevino-abool")
3105 (version (git-version "0.0.0" revision commit))
3106 (source
3107 (origin
3108 (method git-fetch)
3109 (uri (git-reference
3110 (url "https://github.com/tevino/abool")
3111 (commit commit)))
3112 (file-name (git-file-name name version))
3113 (sha256
3114 (base32
3115 "1wxqrclxk93q0aj15z596dx2y57x9nkhi64nbrr5cxnhxn8vwixm"))))
3116 (build-system go-build-system)
3117 (arguments
3118 '(#:import-path "github.com/tevino/abool"))
3119 (home-page "https://github.com/tevino/abool")
3120 (synopsis "Atomic boolean library for Go code")
3121 (description "This package is atomic boolean library for Go code,
3122optimized for performance yet simple to use.")
3123 (license license:expat))))
3124
3125(define-public gron
3126 (package
3127 (name "gron")
3128 (version "0.7.1")
3129 (source
3130 (origin
3131 (method git-fetch)
3132 (uri (git-reference
3133 (url "https://github.com/tomnomnom/gron")
3134 (commit (string-append "v" version))))
3135 (file-name (git-file-name name version))
3136 (sha256
3137 (base32 "1sj34b6yv0qigy3aq7qmwf8bqxp1a8qh9p10lzkpw58s1c0iyh36"))))
3138 (build-system go-build-system)
3139 (arguments
3140 (list
3141 #:install-source? #f
3142 #:import-path "github.com/tomnomnom/gron"))
3143 (native-inputs
3144 (list go-github-com-fatih-color
3145 go-github-com-mattn-go-colorable
3146 go-github-com-nwidger-jsoncolor
3147 go-github-com-pkg-errors))
3148 (home-page "https://github.com/tomnomnom/gron")
3149 (synopsis "Transform JSON to make it easier to grep")
3150 (description
3151 "This package transforms JSON into discrete assignments to make it easier
3152to use line-based tools such as grep to search for what you want and see the
3153absolute \"path\" to it.")
3154 (license license:expat)))
3155
3156(define-public go-github-com-google-cadvisor 1824(define-public go-github-com-google-cadvisor
3157 (let ((commit "2ed7198f77395ee9a172878a0a7ab92ab59a2cfd") 1825 (let ((commit "2ed7198f77395ee9a172878a0a7ab92ab59a2cfd")
3158 (revision "0")) 1826 (revision "0"))
@@ -3171,7 +1839,8 @@ absolute \"path\" to it.")
3171 "1w8p345z5j0gk3yiq5ah0znd5lfh348p2s624k5r10drz04p3f55")))) 1839 "1w8p345z5j0gk3yiq5ah0znd5lfh348p2s624k5r10drz04p3f55"))))
3172 (build-system go-build-system) 1840 (build-system go-build-system)
3173 (arguments 1841 (arguments
3174 '(#:import-path "github.com/google/cadvisor")) 1842 '(#:import-path "github.com/google/cadvisor"
1843 #:test-subdirs '(".")))
3175 (home-page "https://github.com/google/cadvisor") 1844 (home-page "https://github.com/google/cadvisor")
3176 (synopsis "Analyze resource usage of running containers") 1845 (synopsis "Analyze resource usage of running containers")
3177 (description "The package provides @code{cadvisor}, which provides 1846 (description "The package provides @code{cadvisor}, which provides
@@ -3179,553 +1848,6 @@ information about the resource usage and performance characteristics of running
3179containers.") 1848containers.")
3180 (license license:asl2.0)))) 1849 (license license:asl2.0))))
3181 1850
3182(define-public go-github-com-spf13-afero
3183 (package
3184 (name "go-github-com-spf13-afero")
3185 (version "1.2.2")
3186 (source
3187 (origin
3188 (method git-fetch)
3189 (uri (git-reference
3190 (url "https://github.com/spf13/afero")
3191 (commit (string-append "v" version))))
3192 (file-name (git-file-name name version))
3193 (sha256
3194 (base32
3195 "0j9r65qgd58324m85lkl49vk9dgwd62g7dwvkfcm3k6i9dc555a9"))))
3196 (build-system go-build-system)
3197 (arguments
3198 `(#:import-path "github.com/spf13/afero"))
3199 (propagated-inputs (list go-github-com-pkg-sftp go-golang-org-x-text))
3200 (home-page "https://github.com/spf13/afero")
3201 (synopsis "File system abstraction for Go")
3202 (description
3203 "This package provides a file system abstraction for Go.")
3204 (license license:asl2.0)))
3205
3206(define-public go-github-com-spf13-cast
3207 (package
3208 (name "go-github-com-spf13-cast")
3209 (version "1.3.1")
3210 (source
3211 (origin
3212 (method git-fetch)
3213 (uri (git-reference
3214 (url "https://github.com/spf13/cast")
3215 (commit (string-append "v" version))))
3216 (file-name (git-file-name name version))
3217 (sha256
3218 (base32
3219 "0lb84788glr0qzrq2ifi36rgvp96qrgywvxrr3ggq5hrbr38hgn1"))))
3220 (build-system go-build-system)
3221 (arguments
3222 `(#:import-path "github.com/spf13/cast"))
3223 (native-inputs
3224 (list go-github-com-stretchr-testify))
3225 (home-page "https://github.com/spf13/cast")
3226 (synopsis "Safe and easy casting from one type to another in Go")
3227 (description "Safe and easy casting from one type to another in Go")
3228 (license license:expat)))
3229
3230(define-public go-github-com-spf13-jwalterweatherman
3231 (package
3232 (name "go-github-com-spf13-jwalterweatherman")
3233 (version "1.1.0")
3234 (source
3235 (origin
3236 (method git-fetch)
3237 (uri (git-reference
3238 (url "https://github.com/spf13/jwalterweatherman")
3239 (commit (string-append "v" version))))
3240 (file-name (git-file-name name version))
3241 (sha256
3242 (base32
3243 "1ywmkwci5zyd88ijym6f30fj5c0k2yayxarkmnazf5ybljv50q7b"))))
3244 (build-system go-build-system)
3245 (arguments
3246 `(#:import-path "github.com/spf13/jwalterweatherman"))
3247 (native-inputs
3248 (list go-github-com-stretchr-testify))
3249 (home-page "https://github.com/spf13/jwalterweatherman")
3250 (synopsis "Go logging library")
3251 (description "Go logging library")
3252 (license license:expat)))
3253
3254(define-public go-github-com-spf13-pflag
3255 (package
3256 (name "go-github-com-spf13-pflag")
3257 (version "1.0.5")
3258 (source
3259 (origin
3260 (method git-fetch)
3261 (uri (git-reference
3262 (url "https://github.com/spf13/pflag")
3263 (commit (string-append "v" version))))
3264 (file-name (git-file-name name version))
3265 (sha256
3266 (base32
3267 "0gpmacngd0gpslnbkzi263f5ishigzgh6pbdv9hp092rnjl4nd31"))
3268 (snippet
3269 #~(begin
3270 (use-modules (guix build utils))
3271 ;; Fix compatibility with go-1.19+
3272 ;; https://github.com/spf13/pflag/issues/368
3273 (substitute* "flag_test.go"
3274 (("fmt\\.Println") "fmt.Print")
3275 (("\\+ got\\)") "+ got + \"\\n\")")
3276 (("\\+ defaultOutput\\)") "+ defaultOutput + \"\\n\")"))))))
3277 (build-system go-build-system)
3278 (arguments
3279 '(#:import-path "github.com/spf13/pflag"))
3280 (home-page "https://github.com/spf13/pflag")
3281 (synopsis "Replacement for Go's @code{flag} package")
3282 (description
3283 "Pflag is library to replace Go's @code{flag} package. It implements
3284POSIX/GNU-style command-line options with double hyphens. It is is compatible
3285with the
3286@uref{https://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html,
3287GNU extensions} to the POSIX recommendations for command-line options.")
3288 (license license:bsd-3)))
3289
3290(define-public go-github-com-spf13-viper
3291 (package
3292 (name "go-github-com-spf13-viper")
3293 ;; Refreshing to a newer version requires long chain of missing packages.
3294 (version "1.7.0")
3295 (source
3296 (origin
3297 (method git-fetch)
3298 (uri (git-reference
3299 (url "https://github.com/spf13/viper")
3300 (commit (string-append "v" version))))
3301 (file-name (git-file-name name version))
3302 (sha256
3303 (base32
3304 "099n2g7fg6r8hqyszqw2axr775qyhyvwhsykvgw0f0s16ql48h5c"))))
3305 (build-system go-build-system)
3306 (arguments
3307 (list
3308 #:tests? #f
3309 #:import-path "github.com/spf13/viper"))
3310 (propagated-inputs
3311 (list go-github-com-fsnotify-fsnotify
3312 go-github-com-hashicorp-hcl
3313 go-github-com-magiconair-properties
3314 go-github-com-mitchellh-mapstructure
3315 go-github-com-pelletier-go-toml
3316 go-github-com-spf13-afero
3317 go-github-com-spf13-cast
3318 go-github-com-spf13-jwalterweatherman
3319 go-github-com-spf13-pflag
3320 go-github-com-subosito-gotenv
3321 go-gopkg-in-ini-v1
3322 go-gopkg-in-yaml-v2))
3323 (native-inputs
3324 (list go-github-com-stretchr-testify))
3325 (home-page "https://github.com/spf13/viper")
3326 (synopsis "Go configuration with fangs")
3327 (description
3328 "Viper is a complete configuration solution for Go applications including
332912-Factor apps. It is designed to work within an application, and can handle
3330all types of configuration needs and formats.")
3331 (license license:expat)))
3332
3333(define-public go-github-com-nxadm-tail
3334 (package
3335 (name "go-github-com-nxadm-tail")
3336 (version "1.4.8")
3337 (source (origin
3338 (method git-fetch)
3339 (uri (git-reference
3340 (url "https://github.com/nxadm/tail")
3341 (commit (string-append "v" version))))
3342 (file-name (git-file-name name version))
3343 (sha256
3344 (base32
3345 "1j2gi485fhwdpmyzn42wk62103fclwbfywg42p275z1qv2bsz1rc"))))
3346 (build-system go-build-system)
3347 (arguments (list #:import-path "github.com/nxadm/tail"))
3348 (propagated-inputs (list go-gopkg-in-tomb-v1
3349 go-github-com-fsnotify-fsnotify))
3350 (home-page "https://github.com/nxadm/tail")
3351 (synopsis "Go implementation of the functionality of @command{tail -f}")
3352 (description
3353 "This package provides a Go library for reading from continuously
3354updating files, like @command{tail -f}.")
3355 (license license:expat)))
3356
3357(define-public go-github-com-magiconair-properties
3358 (package
3359 (name "go-github-com-magiconair-properties")
3360 (version "1.8.7")
3361 (source
3362 (origin
3363 (method git-fetch)
3364 (uri (git-reference
3365 (url "https://github.com/magiconair/properties")
3366 (commit (string-append "v" version))))
3367 (file-name (git-file-name name version))
3368 (sha256
3369 (base32
3370 "0xy5nq7mwhrdcwjlgh4arjn6w5mjla0kni3cvl3z5vxcrnfrn3ax"))))
3371 (build-system go-build-system)
3372 (arguments
3373 `(#:import-path "github.com/magiconair/properties"))
3374 (home-page "https://github.com/magiconair/properties")
3375 (synopsis "Java properties scanner for Go")
3376 (description "Java properties scanner for Go")
3377 (license license:bsd-2)))
3378
3379(define-public go-github-com-sirupsen-logrus
3380 (package
3381 (name "go-github-com-sirupsen-logrus")
3382 (version "1.9.3")
3383 (source
3384 (origin
3385 (method git-fetch)
3386 (uri (git-reference
3387 (url "https://github.com/sirupsen/logrus")
3388 (commit (string-append "v" version))))
3389 (file-name (git-file-name name version))
3390 (sha256
3391 (base32
3392 "1jz7nyq88i9fwfpp7krl046q62kjn6lb9j4r932bxnpypl1hwc49"))))
3393 (build-system go-build-system)
3394 (arguments
3395 (list
3396 #:import-path "github.com/sirupsen/logrus"
3397 #:phases
3398 #~(modify-phases %standard-phases
3399 (replace 'check
3400 (lambda* (#:key inputs #:allow-other-keys #:rest args)
3401 (unless
3402 ;; The tests fail when run with gccgo.
3403 (false-if-exception (search-input-file inputs "/bin/gccgo"))
3404 (apply (assoc-ref %standard-phases 'check) args)))))))
3405 (propagated-inputs
3406 (list go-github-com-davecgh-go-spew go-github-com-pmezard-go-difflib
3407 go-github-com-stretchr-testify go-golang-org-x-crypto
3408 go-golang-org-x-sys))
3409 (home-page "https://github.com/sirupsen/logrus")
3410 (synopsis "Structured, pluggable logging for Go")
3411 (description "Logrus is a structured logger for Go, completely API
3412compatible with the standard library logger.")
3413 (license license:expat)))
3414
3415(define-public go-github-com-rifflock-lfshook
3416 (package
3417 (name "go-github-com-rifflock-lfshook")
3418 (version "2.4")
3419 (source (origin
3420 (method git-fetch)
3421 (uri (git-reference
3422 (url "https://github.com/rifflock/lfshook")
3423 (commit (string-append "v" version))))
3424 (file-name (git-file-name name version))
3425 (sha256
3426 (base32
3427 "0wxqjcjfg8c0klmdgmbw3ckagby3wg9rkga9ihd4fsf05x5scxrc"))))
3428 (build-system go-build-system)
3429 (arguments
3430 `(#:import-path "github.com/rifflock/lfshook"))
3431 (propagated-inputs
3432 (list go-github-com-sirupsen-logrus))
3433 (home-page "https://github.com/rifflock/lfshook")
3434 (synopsis "Local File System hook for Logrus logger")
3435 (description "This package provides a hook for Logrus to write directly to
3436a file on the file system. The log levels are dynamic at instantiation of the
3437hook, so it is capable of logging at some or all levels.")
3438 (license license:expat)))
3439
3440(define-public go-github-com-kardianos-osext
3441 (let ((commit "ae77be60afb1dcacde03767a8c37337fad28ac14")
3442 (revision "1"))
3443 (package
3444 (name "go-github-com-kardianos-osext")
3445 (version (git-version "0.0.0" revision commit))
3446 (source (origin
3447 (method git-fetch)
3448 (uri (git-reference
3449 (url "https://github.com/kardianos/osext")
3450 (commit commit)))
3451 (file-name (git-file-name name version))
3452 (sha256
3453 (base32
3454 "056dkgxrqjj5r18bnc3knlpgdz5p3yvp12y4y978hnsfhwaqvbjz"))))
3455 (build-system go-build-system)
3456 (arguments
3457 `(#:import-path "github.com/kardianos/osext"
3458 ;; The tests are flaky:
3459 ;; <https://github.com/kardianos/osext/issues/21>
3460 #:tests? #f))
3461 (synopsis "Find the running executable")
3462 (description "Osext provides a method for finding the current executable
3463file that is running. This can be used for upgrading the current executable or
3464finding resources located relative to the executable file.")
3465 (home-page "https://github.com/kardianos/osext")
3466 (license license:bsd-3))))
3467
3468(define-public go-github-com-ayufan-golang-kardianos-service
3469 (let ((commit "0c8eb6d8fff2e2fb884a7bfd23e183fb63c0eff3")
3470 (revision "0"))
3471 (package
3472 (name "go-github-com-ayufan-golang-kardianos-service")
3473 (version (git-version "0.0.0" revision commit))
3474 (source
3475 (origin
3476 (method git-fetch)
3477 (uri (git-reference
3478 (url
3479 "https://github.com/ayufan/golang-kardianos-service")
3480 (commit commit)))
3481 (file-name (git-file-name name version))
3482 (sha256
3483 (base32
3484 "0x0cn7l5gda2khsfypix7adxd5yqighzn04mxjw6hc4ayrh7his5"))))
3485 (build-system go-build-system)
3486 (native-inputs
3487 (list go-github-com-kardianos-osext))
3488 (arguments
3489 '(#:tests? #f ;FIXME tests fail: Service is not running.
3490 #:import-path "github.com/ayufan/golang-kardianos-service"))
3491 (home-page "https://github.com/ayufan/golang-kardianos-service")
3492 (synopsis "Go interface to a variety of service supervisors")
3493 (description "This package provides @code{service}, a Go module that can
3494run programs as a service using a variety of supervisors, including systemd,
3495SysVinit, and more.")
3496 (license license:zlib))))
3497
3498(define-public go-github-com-dgryski-go-metro
3499 (package
3500 (name "go-github-com-dgryski-go-metro")
3501 (version "0.0.0-20211217172704-adc40b04c140")
3502 (source (origin
3503 (method git-fetch)
3504 (uri (git-reference
3505 (url "https://github.com/dgryski/go-metro")
3506 (commit (go-version->git-ref version))))
3507 (file-name (git-file-name name version))
3508 (sha256
3509 (base32
3510 "16y5vc5qf7aipi8basqza8l939hlmp7wqsv4y6gsqac3sp9ziqyj"))))
3511 (build-system go-build-system)
3512 (arguments
3513 (list #:import-path "github.com/dgryski/go-metro"))
3514 (home-page "https://github.com/dgryski/go-metro")
3515 (synopsis "Go translation of MetroHash")
3516 (description
3517 "This package provides a Go translation of the
3518@url{https://github.com/jandrewrogers/MetroHash, reference C++ code for
3519MetroHash}, a high quality, high performance hash algorithm.")
3520 (license license:expat)))
3521
3522(define-public go-github-com-dgryski-go-mph
3523 (package
3524 (name "go-github-com-dgryski-go-mph")
3525 (version "0.0.0-20211217222804-81a8625fb7ed")
3526 (source (origin
3527 (method git-fetch)
3528 (uri (git-reference
3529 (url "https://github.com/dgryski/go-mph")
3530 (commit (go-version->git-ref version))))
3531 (file-name (git-file-name name version))
3532 (sha256
3533 (base32
3534 "10q8l4jdzqf54bnnxka2jk6qzayri3ijv51knn1n0iimfric8w9g"))))
3535 (build-system go-build-system)
3536 (arguments
3537 (list #:import-path "github.com/dgryski/go-mph"))
3538 (propagated-inputs
3539 (list go-github-com-dgryski-go-metro))
3540 (home-page "https://github.com/dgryski/go-mph")
3541 (synopsis "Go minimal perfect hash function")
3542 (description
3543 "This package implements a hash/displace minimal perfect hash function.")
3544 (license license:expat)))
3545
3546(define-public go-github-com-docker-distribution
3547 (let ((commit "325b0804fef3a66309d962357aac3c2ce3f4d329")
3548 (revision "0"))
3549 (package
3550 (name "go-github-com-docker-distribution")
3551 (version (git-version "0.0.0" revision commit))
3552 (source
3553 ;; FIXME: This bundles many things, see
3554 ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31881#41>.
3555 (origin
3556 (method git-fetch)
3557 (uri (git-reference
3558 (url "https://github.com/docker/distribution")
3559 (commit commit)))
3560 (file-name (git-file-name name version))
3561 (sha256
3562 (base32
3563 "1yg2zrikn3vkvkx5mn51p6bfjk840qdkn7ahhhvvcsc8mpigrjc6"))))
3564 (build-system go-build-system)
3565 (native-inputs
3566 (list go-golang-org-x-sys go-github-com-sirupsen-logrus
3567 go-golang-org-x-crypto))
3568 (arguments
3569 '(#:import-path "github.com/docker/distribution"))
3570 (home-page
3571 "https://github.com/docker/distribution")
3572 (synopsis "This package is a Docker toolset to pack, ship, store, and
3573deliver content")
3574 (description "Docker Distribution is a Docker toolset to pack, ship,
3575store, and deliver content. It contains Docker Registry 2.0 and libraries
3576to interact with distribution components.")
3577 (license license:asl2.0))))
3578
3579(define-public go-github-com-docker-go-connections
3580 (package
3581 (name "go-github-com-docker-go-connections")
3582 (version "0.5.0")
3583 (source
3584 (origin
3585 (method git-fetch)
3586 (uri (git-reference
3587 (url "https://github.com/docker/go-connections")
3588 (commit (string-append "v" version))))
3589 (file-name (git-file-name name version))
3590 (sha256
3591 (base32 "0svfa9g4xvbn87l5kiww1jkijmci9g5821wjp81xz1rfp13cqrk8"))))
3592 (build-system go-build-system)
3593 (arguments
3594 '(#:import-path "github.com/docker/go-connections"))
3595 (home-page "https://github.com/docker/go-connections")
3596 (synopsis "Networking library for Go")
3597 (description
3598 "This package provides a library to work with network connections in the
3599Go language. In particular it provides tools to deal with network address
3600translation (NAT), proxies, sockets, and transport layer security (TLS).")
3601 (license license:asl2.0)))
3602
3603(define-public go-github-com-docker-go-units
3604 (package
3605 (name "go-github-com-docker-go-units")
3606 (version "0.4.0")
3607 (source
3608 (origin
3609 (method git-fetch)
3610 (uri (git-reference
3611 (url "https://github.com/docker/go-units")
3612 (commit (string-append "v" version))))
3613 (file-name (git-file-name name version))
3614 (sha256
3615 (base32 "0k8gja8ql4pqg5rzmqvka42vjfs6rzablak87whcnqba6qxpimvz"))))
3616 (build-system go-build-system)
3617 (arguments '(#:import-path "github.com/docker/go-units"))
3618 (home-page "https://github.com/docker/go-units")
3619 (synopsis "Parse and print size and time units in human-readable format")
3620 (description
3621 "@code{go-units} is a library to transform human friendly measurements into
3622machine friendly values.")
3623 (license license:asl2.0)))
3624
3625(define-public go-github-com-docker-machine
3626 (let ((commit "7b7a141da84480342357c51838be142bf183b095")
3627 (revision "0"))
3628 (package
3629 (name "go-github-com-docker-machine")
3630 (version (git-version "0.0.0" revision commit))
3631 (source
3632 (origin
3633 (method git-fetch)
3634 (uri (git-reference
3635 (url "https://github.com/docker/machine")
3636 (commit commit)))
3637 (file-name (git-file-name name version))
3638 (sha256
3639 (base32
3640 "0bavk0lvs462yh0lnmnxi9psi5qv1x3nvzmd2b0drsahlp1gxi8s"))))
3641 (build-system go-build-system)
3642 (arguments
3643 '(#:import-path "github.com/docker/machine"))
3644 (home-page "https://github.com/docker/machine")
3645 (synopsis "Machine management for a container-centric world")
3646 (description
3647 "@dfn{Machine} lets you create Docker hosts on your computer, on
3648hosting providers, and inside your data center. It creates servers, installs
3649Docker on them, then configures the Docker client to talk to them.")
3650 (license license:asl2.0))))
3651
3652(define-public go-github-com-gorhill-cronexpr
3653 (let ((commit "f0984319b44273e83de132089ae42b1810f4933b")
3654 (revision "0"))
3655 (package
3656 (name "go-github-com-gorhill-cronexpr")
3657 (version (git-version "0.0.0" revision commit))
3658 (source
3659 (origin
3660 (method git-fetch)
3661 (uri (git-reference
3662 (url "https://github.com/gorhill/cronexpr")
3663 (commit commit)))
3664 (file-name (git-file-name name version))
3665 (sha256
3666 (base32
3667 "0dphhhqy3i7265znv3m8n57l80dmaq6z4hsj5kgd87qd19z8x0l2"))))
3668 (build-system go-build-system)
3669 (arguments
3670 '(#:import-path "github.com/gorhill/cronexpr"))
3671 (home-page "https://github.com/gorhill/cronexpr")
3672 (synopsis "Cron expression parser in the Go language")
3673 (description
3674 "This package provides a cron expression parser in the Go language.
3675Given a cron expression and a time stamp, you can get the next time stamp
3676which satisfies the cron expression.")
3677 (license (list license:gpl3+
3678 license:asl2.0)))))
3679
3680(define-public go-gopkg-in-yaml-v3
3681 (package
3682 (name "go-gopkg-in-yaml-v3")
3683 (version "3.0.1")
3684 (source
3685 (origin
3686 (method git-fetch)
3687 (uri (git-reference
3688 (url "https://gopkg.in/yaml.v3")
3689 (commit (string-append "v" version))))
3690 (file-name (git-file-name name version))
3691 (sha256
3692 (base32 "01b0wjb7yzv8wzzz2iim8mjpkwjnykcanrwiq06pkl89lr6gv8hn"))
3693 (patches (search-patches "go-gopkg-in-yaml-v3-32bit.patch"))))
3694 (build-system go-build-system)
3695 (arguments
3696 `(#:tests? ,(not (target-ppc32?)) ; Test killed with quit: ran too long (11m0s).
3697 #:import-path "gopkg.in/yaml.v3"))
3698 (native-inputs
3699 (list go-gopkg-in-check-v1))
3700 (home-page "https://gopkg.in/yaml.v3")
3701 (synopsis "YAML reader and writer for the Go language")
3702 (description
3703 "This package provides a Go library for encode and decode YAML values.
3704The yaml package supports most of YAML 1.2, but preserves some behavior from
37051.1 for backwards compatibility.")
3706 (license license:asl2.0)))
3707
3708(define-public go-github-com-matrix-org-gomatrix
3709 (package
3710 (name "go-github-com-matrix-org-gomatrix")
3711 (version "0.0.0-20220926102614-ceba4d9f7530")
3712 (source (origin
3713 (method git-fetch)
3714 (uri (git-reference
3715 (url "https://github.com/matrix-org/gomatrix")
3716 (commit (go-version->git-ref version))))
3717 (file-name (git-file-name name version))
3718 (sha256
3719 (base32
3720 "0vq29bdswvffxsmwvi20wnk73xk92dva0fdr2k3zshr4z10ypm2x"))))
3721 (build-system go-build-system)
3722 (arguments
3723 (list #:import-path "github.com/matrix-org/gomatrix"))
3724 (home-page "https://github.com/matrix-org/gomatrix")
3725 (synopsis "Golang Matrix client")
3726 (description "This package provides a Golang Matrix client.")
3727 (license license:asl2.0)))
3728
3729(define-public go-github-com-aarzilli-golua 1851(define-public go-github-com-aarzilli-golua
3730 (let ((commit "03fc4642d792b1f2bc5e7343b403cf490f8c501d") 1852 (let ((commit "03fc4642d792b1f2bc5e7343b403cf490f8c501d")
3731 (revision "0")) 1853 (revision "0"))
@@ -3864,74 +1986,6 @@ Looks for an identical word on a list of words, if none is found, look for a
3864similar word.") 1986similar word.")
3865 (license license:expat)))) 1987 (license license:expat))))
3866 1988
3867(define-public misspell
3868 (package
3869 (name "misspell")
3870 (version "0.3.4")
3871 (source (origin
3872 (method git-fetch)
3873 (uri (git-reference
3874 (url "https://github.com/client9/misspell")
3875 (commit (string-append "v" version))))
3876 (file-name (git-file-name name version))
3877 (sha256
3878 (base32
3879 "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs"))))
3880 (build-system go-build-system)
3881 (arguments
3882 '(#:import-path "github.com/client9/misspell"
3883 #:phases (modify-phases %standard-phases
3884 (replace 'build
3885 (lambda arguments
3886 (apply (assoc-ref %standard-phases
3887 'build)
3888 `(,@arguments #:import-path
3889 "github.com/client9/misspell/cmd/misspell")))))))
3890 (propagated-inputs (list go-github-com-gobwas-glob))
3891 (home-page "https://github.com/client9/misspell")
3892 (synopsis "Correct commonly misspelled English words in source files")
3893 (description
3894 "misspell assists with correcting commonly misspelled English words in
3895source files. A neutral variety of English is used by default, but a US or UK
3896locale can be selected.")
3897 (license license:expat)))
3898
3899(define-public go-github-com-cli-safeexec
3900 (package
3901 (name "go-github-com-cli-safeexec")
3902 (version "1.0.1")
3903 (source (origin
3904 (method git-fetch)
3905 (uri (git-reference
3906 (url "https://github.com/cli/safeexec")
3907 (commit (string-append "v" version))))
3908 (file-name (git-file-name name version))
3909 (sha256
3910 (base32
3911 "0j6hspjx9kyxn98nbisawx6wvbi1d6rpzr6p2rzhllm673wibwr3"))))
3912 (build-system go-build-system)
3913 (arguments
3914 '(#:import-path "github.com/cli/safeexec"))
3915 (home-page "https://github.com/cli/safeexec")
3916 (synopsis "Safe implementation of Go's exec.Command")
3917 (description "This package provides a Go module that provides a stabler
3918alternative to @@code{exec.LookPath()}.")
3919 (license license:bsd-2)))
3920
3921(define-public go-github-com-client9-misspell
3922 (package
3923 (inherit misspell)
3924 (name "go-github-com-client9-misspell")
3925 (arguments
3926 `(#:import-path "github.com/client9/misspell"
3927 #:tests? #f
3928 #:install-source? #t
3929 #:phases (modify-phases %standard-phases
3930 (delete 'build))))
3931 (propagated-inputs (package-inputs misspell))
3932 (native-inputs '())
3933 (inputs '())))
3934
3935(define-public go-github-com-stevedonovan-luar 1989(define-public go-github-com-stevedonovan-luar
3936 (let ((commit "22d247e5366095f491cd83edf779ee99a78f5ead") 1990 (let ((commit "22d247e5366095f491cd83edf779ee99a78f5ead")
3937 (revision "0")) 1991 (revision "0"))
@@ -3973,68 +2027,6 @@ methods can be called and usual operations such as indexing or arithmetic can
3973be performed.") 2027be performed.")
3974 (license license:expat)))) 2028 (license license:expat))))
3975 2029
3976(define-public go-github-com-michiwend-golang-pretty
3977 (let ((commit "8ac61812ea3fa540f3f141a444fcb0dd713cdca4")
3978 (revision "0"))
3979 (package
3980 (name "go-github-com-michiwend-golang-pretty")
3981 (version (git-version "0.0.0" revision commit))
3982 (source
3983 (origin
3984 (method git-fetch)
3985 (uri (git-reference
3986 (url
3987 "https://github.com/michiwend/golang-pretty")
3988 (commit commit)))
3989 (file-name (git-file-name name version))
3990 (sha256
3991 (base32
3992 "0rjfms0csjqi91xnddzx3rcrcaikc7xc027617px3kdwdap80ir4"))))
3993 (build-system go-build-system)
3994 (native-inputs
3995 (list go-github-com-kr-text))
3996 (arguments
3997 `(#:tests? #f ; Upstream tests seem to be broken.
3998 #:import-path "github.com/michiwend/golang-pretty"))
3999 (home-page "https://github.com/michiwend/golang-pretty")
4000 (synopsis "Pretty printing for Go values")
4001 (description "Package @code{pretty} provides pretty-printing for Go
4002values. This is useful during debugging, to avoid wrapping long output lines
4003in the terminal.
4004
4005It provides a function, @code{Formatter}, that can be used with any function
4006that accepts a format string. It also provides convenience wrappers for
4007functions in packages @code{fmt} and @code{log}.")
4008 (license license:expat))))
4009
4010(define-public go-github-com-michiwend-gomusicbrainz
4011 (let ((commit "0cdeb13f9b24d2c714feb7e3c63d595cf7121d7d")
4012 (revision "0"))
4013 (package
4014 (name "go-github-com-michiwend-gomusicbrainz")
4015 (version (git-version "0.0.0" revision commit))
4016 (source
4017 (origin
4018 (method git-fetch)
4019 (uri (git-reference
4020 (url
4021 "https://github.com/michiwend/gomusicbrainz")
4022 (commit commit)))
4023 (file-name (git-file-name name version))
4024 (sha256
4025 (base32
4026 "1li9daw0kghb80rdmxbh7g72qhxcvx3rvhwq5gs0jrr9hb8pjvcn"))))
4027 (build-system go-build-system)
4028 (native-inputs
4029 (list go-github-com-michiwend-golang-pretty go-github-com-kr-text))
4030 (arguments
4031 `(#:import-path "github.com/michiwend/gomusicbrainz"))
4032 (home-page "https://github.com/michiwend/gomusicbrainz")
4033 (synopsis "MusicBrainz WS2 client library for Golang")
4034 (description "Currently GoMusicBrainz provides methods to perform search
4035and lookup requests. Browse requests are not supported yet.")
4036 (license license:expat))))
4037
4038(define-public go-github-com-wtolson-go-taglib 2030(define-public go-github-com-wtolson-go-taglib
4039 (let ((commit "6e68349ff94ecea412de7e748cb5eaa26f472777") 2031 (let ((commit "6e68349ff94ecea412de7e748cb5eaa26f472777")
4040 (revision "0")) 2032 (revision "0"))
@@ -4075,388 +2067,10 @@ and lookup requests. Browse requests are not supported yet.")
4075 (description "Go wrapper for taglib") 2067 (description "Go wrapper for taglib")
4076 (license license:unlicense)))) 2068 (license license:unlicense))))
4077 2069
4078(define-public go-github-com-gogo-protobuf
4079 (package
4080 (name "go-github-com-gogo-protobuf")
4081 (version "1.3.1")
4082 (source (origin
4083 (method git-fetch)
4084 (uri (git-reference
4085 (url "https://github.com/gogo/protobuf")
4086 (commit (string-append "v" version))))
4087 (file-name (git-file-name name version))
4088 (sha256
4089 (base32
4090 "0x77x64sxjgfhmbijqfzmj8h4ar25l2w97h01q3cqs1wk7zfnkhp"))))
4091 (build-system go-build-system)
4092 (arguments
4093 `(#:import-path "github.com/gogo/protobuf"
4094 ; Source-only package
4095 #:tests? #f
4096 #:phases
4097 (modify-phases %standard-phases
4098 (delete 'build))))
4099 (synopsis "Protocol Buffers for Go with Gadgets")
4100 (description "Gogoprotobuf is a fork of golang/protobuf with extra code
4101generation features. This code generation is used to achieve:
4102@itemize
4103@item fast marshalling and unmarshalling
4104@item more canonical Go structures
4105@item goprotobuf compatibility
4106@item less typing by optionally generating extra helper code
4107@item peace of mind by optionally generating test and benchmark code
4108@item other serialization formats
4109@end itemize")
4110 (home-page "https://github.com/gogo/protobuf")
4111 (license license:bsd-3)))
4112
4113(define-public go-github-com-btcsuite-btclog
4114 (let ((commit "84c8d2346e9fc8c7b947e243b9c24e6df9fd206a")
4115 (revision "0"))
4116 (package
4117 (name "go-github-com-btcsuite-btclog")
4118 (version (git-version "0.0.3" revision commit))
4119 (source
4120 (origin
4121 (method git-fetch)
4122 (uri (git-reference
4123 (url "https://github.com/btcsuite/btclog")
4124 (commit commit)))
4125 (file-name (git-file-name name version))
4126 (sha256
4127 (base32
4128 "02dl46wcnfpg9sqvg0ipipkpnd7lrf4fnvb9zy56jqa7mfcwc7wk"))))
4129 (build-system go-build-system)
4130 (arguments
4131 '(#:import-path "github.com/btcsuite/btclog"))
4132 (home-page "https://github.com/btcsuite/btclog")
4133 (synopsis "Subsystem aware logger for Go")
4134 (description "Package @command{btclog} defines a logger interface and
4135provides a default implementation of a subsystem-aware leveled logger
4136implementing the same interface.")
4137 (license license:isc))))
4138
4139(define-public go-github-com-mr-tron-base58
4140 (let ((commit "d724c80ecac7b49e4e562d58b2b4f4ee4ed8c312")
4141 (revision "0"))
4142 (package
4143 (name "go-github-com-mr-tron-base58")
4144 (version (git-version "1.1.0" revision commit))
4145 (source
4146 (origin
4147 (method git-fetch)
4148 (uri (git-reference
4149 (url "https://github.com/mr-tron/base58")
4150 (commit commit)))
4151 (file-name (git-file-name name version))
4152 (sha256
4153 (base32
4154 "12qhgnn9wf3c1ang16r4i778whk4wsrj7d90h2xgmz4fi1469rqa"))))
4155 (build-system go-build-system)
4156 (arguments
4157 `(#:unpack-path "github.com/mr-tron/base58"
4158 #:import-path "github.com/mr-tron/base58/base58"))
4159 (home-page "https://github.com/mr-tron/base58")
4160 (synopsis "Fast implementation of base58 encoding on Golang")
4161 (description "Fast implementation of base58 encoding on Golang. A
4162trivial @command{big.Int} encoding benchmark results in 6 times faster
4163encoding and 8 times faster decoding.")
4164 (license license:expat))))
4165
4166(define-public go-github-com-spaolacci-murmur3
4167 (package
4168 (name "go-github-com-spaolacci-murmur3")
4169 (version "1.1.0")
4170 (source
4171 (origin
4172 (method git-fetch)
4173 (uri (git-reference
4174 (url "https://github.com/spaolacci/murmur3")
4175 (commit (string-append "v" version))))
4176 (file-name (git-file-name name version))
4177 (sha256
4178 (base32
4179 "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25"))))
4180 (build-system go-build-system)
4181 (arguments
4182 '(#:import-path "github.com/spaolacci/murmur3"))
4183 (home-page "https://github.com/spaolacci/murmur3")
4184 (synopsis "Native MurmurHash3 Go implementation")
4185 (description "Native Go implementation of Austin Appleby's third MurmurHash
4186revision (aka MurmurHash3).
4187
4188Reference algorithm has been slightly hacked as to support the streaming mode
4189required by Go's standard Hash interface.")
4190 (license license:bsd-3)))
4191
4192(define-public go-github-com-twmb-murmur3
4193 (package
4194 (name "go-github-com-twmb-murmur3")
4195 (version "1.1.3")
4196 (source
4197 (origin
4198 (method git-fetch)
4199 (uri (git-reference
4200 (url "https://github.com/twmb/murmur3")
4201 (commit (string-append "v" version))))
4202 (file-name (git-file-name name version))
4203 (sha256
4204 (base32
4205 "00riapwkyf23l5wyis47mbr8rwr4yrjw491jfc30wpzs111c1gyy"))))
4206 (build-system go-build-system)
4207 (arguments
4208 '(#:import-path "github.com/twmb/murmur3"))
4209 (home-page "https://github.com/twmb/murmur3")
4210 (synopsis "Native MurmurHash3 Go implementation")
4211 (description "Native Go implementation of Austin Appleby's third
4212MurmurHash revision (aka MurmurHash3).
4213
4214Reference algorithm has been slightly hacked as to support the streaming mode
4215required by Go's standard Hash interface.")
4216 (license license:bsd-3)))
4217
4218(define-public go-github-com-libp2p-go-libp2p-protocol
4219 (let ((commit "b29f3d97e3a2fb8b29c5d04290e6cb5c5018004b")
4220 (revision "0"))
4221 (package
4222 (name "go-github-com-libp2p-go-libp2p-protocol")
4223 (version (git-version "1.0.0" revision commit))
4224 (source
4225 (origin
4226 (method git-fetch)
4227 (uri (git-reference
4228 (url "https://github.com/libp2p/go-libp2p-protocol")
4229 (commit commit)))
4230 (file-name (git-file-name name version))
4231 (sha256
4232 (base32
4233 "1xgjfnx9zcqglg9li29wdqywsp8hz22wx6phns9zscni2jsfidld"))))
4234 (build-system go-build-system)
4235 (arguments
4236 '(#:import-path
4237 "github.com/libp2p/go-libp2p-protocol"))
4238 (home-page "https://github.com/libp2p/go-libp2p-protocol")
4239 (synopsis "Type for protocol strings in Golang")
4240 (description "Just a type for protocol strings. Nothing more.")
4241 (license license:expat))))
4242
4243(define-public go-github-com-mitchellh-go-homedir
4244 (let ((commit "ae18d6b8b3205b561c79e8e5f69bff09736185f4")
4245 (revision "0"))
4246 (package
4247 (name "go-github-com-mitchellh-go-homedir")
4248 (version (git-version "1.0.0" revision commit))
4249 (source
4250 (origin
4251 (method git-fetch)
4252 (uri (git-reference
4253 (url "https://github.com/mitchellh/go-homedir")
4254 (commit commit)))
4255 (file-name (git-file-name name version))
4256 (sha256
4257 (base32
4258 "0f0z0aa4wivk4z1y503dmnw0k0g0g403dly8i4q263gfshs82sbq"))))
4259 (build-system go-build-system)
4260 (arguments
4261 (quote (#:import-path "github.com/mitchellh/go-homedir"
4262 ;; TODO: Tests fail because it tries to access home.
4263 #:tests? #f)))
4264 (home-page "https://github.com/mitchellh/go-homedir")
4265 (synopsis "Go library for detecting and expanding the user's home directory without cgo")
4266 (description "This is a Go library for detecting the user's home
4267directory without the use of @command{cgo}, so the library can be used in
4268cross-compilation environments.
4269
4270Usage is simple, just call homedir.Dir() to get the home directory for a user,
4271and homedir.Expand() to expand the @command{~} in a path to the home
4272directory.
4273
4274Why not just use @command{os/user}? The built-in @command{os/user} package
4275requires cgo on Darwin systems. This means that any Go code that uses that
4276package cannot cross compile. But 99% of the time the use for
4277@command{os/user} is just to retrieve the home directory, which we can do for
4278the current user without cgo. This library does that, enabling
4279cross-compilation.")
4280 (license license:expat))))
4281
4282(define-public go-github-com-mitchellh-mapstructure
4283 (package
4284 (name "go-github-com-mitchellh-mapstructure")
4285 (version "1.5.0")
4286 (source
4287 (origin
4288 (method git-fetch)
4289 (uri (git-reference
4290 (url "https://github.com/mitchellh/mapstructure")
4291 (commit (string-append "v" version))))
4292 (file-name (git-file-name name version))
4293 (sha256
4294 (base32
4295 "10f2v143lkip8h46shd99k5yavfqpgqmd7a6y42v7szc0lcn3mff"))))
4296 (build-system go-build-system)
4297 (arguments
4298 `(#:import-path "github.com/mitchellh/mapstructure"))
4299 (home-page "https://github.com/mitchellh/mapstructure")
4300 (synopsis "Go library for decoding generic map values")
4301 (description "Go library for decoding generic map values")
4302 (license license:expat)))
4303
4304(define-public go-github-com-mitchellh-reflectwalk
4305 (package
4306 (name "go-github-com-mitchellh-reflectwalk")
4307 (version "1.0.1")
4308 (source (origin
4309 (method git-fetch)
4310 (uri (git-reference
4311 (url "https://github.com/mitchellh/reflectwalk")
4312 (commit (string-append "v" version))))
4313 (file-name (git-file-name name version))
4314 (sha256
4315 (base32
4316 "0pa6a3nhzwv5s5yqcmsmsfhdp5ggxsg2wa86f3akawxrhrkjarnx"))))
4317 (build-system go-build-system)
4318 (arguments
4319 `(#:import-path "github.com/mitchellh/reflectwalk"))
4320 (home-page "https://github.com/mitchellh/reflectwalk/")
4321 (synopsis "Walk a value in Go using reflection")
4322 (description "reflectwalk is a Go library for \"walking\" a value in Go
4323using reflection, in the same way a directory tree can be \"walked\" on the
4324file system. Walking a complex structure can allow you to do manipulations on
4325unknown structures such as those decoded from JSON.")
4326 (license license:expat)))
4327
4328(define-public go-github-com-mitchellh-copystructure
4329 (package
4330 (name "go-github-com-mitchellh-copystructure")
4331 (version "1.0.0")
4332 (source
4333 (origin
4334 (method git-fetch)
4335 (uri (git-reference
4336 (url "https://github.com/mitchellh/copystructure")
4337 (commit (string-append "v" version))))
4338 (file-name (git-file-name name version))
4339 (sha256
4340 (base32
4341 "05njg92w1088v4yl0js0zdrpfq6k37i9j14mxkr3p90p5yd9rrrr"))))
4342 (build-system go-build-system)
4343 (arguments
4344 `(#:import-path "github.com/mitchellh/copystructure"))
4345 (native-inputs
4346 (list go-github-com-mitchellh-reflectwalk))
4347 (home-page "https://github.com/mitchellh/copystructure")
4348 (synopsis "Go library for decoding deep copying values")
4349 (description "@code{copystructure} is a Go library for deep copying values
4350in Go.
4351
4352This allows you to copy Go values that may contain reference values such as
4353maps, slices, or pointers, and copy their data as well instead of just their
4354references.")
4355 (license license:expat)))
4356
4357(define-public go-github-com-whyrusleeping-tar-utils
4358 (let ((commit "8c6c8ba81d5c71fd69c0f48dbde4b2fb422b6dfc")
4359 (revision "0"))
4360 (package
4361 (name "go-github-com-whyrusleeping-tar-utils")
4362 (version (git-version "0.0.0" revision commit))
4363 (source
4364 (origin
4365 (method git-fetch)
4366 (uri (git-reference
4367 (url "https://github.com/whyrusleeping/tar-utils")
4368 (commit commit)))
4369 (file-name (git-file-name name version))
4370 (sha256
4371 (base32
4372 "14jjdw3yics0k467xsyk388684wdpi0bbx8nqj0y4pqxa0s0in6s"))))
4373 (build-system go-build-system)
4374 (arguments
4375 '(#:import-path
4376 "github.com/whyrusleeping/tar-utils"))
4377 (home-page "https://github.com/whyrusleeping/tar-utils")
4378 (synopsis "Tar utilities extracted from go-ipfs codebase")
4379 (description "Tar utilities extracted from @command{go-ipfs} codebase.")
4380 (license license:expat))))
4381
4382(define-public go-github-com-sabhiram-go-gitignore
4383 (let ((commit "525f6e181f062064d83887ed2530e3b1ba0bc95a")
4384 (revision "1"))
4385 (package
4386 (name "go-github-com-sabhiram-go-gitignore")
4387 (version (git-version "1.0.2" revision commit))
4388 (source
4389 (origin
4390 (method git-fetch)
4391 (uri (git-reference
4392 (url "https://github.com/sabhiram/go-gitignore")
4393 (commit commit)))
4394 (file-name (git-file-name name version))
4395 (sha256
4396 (base32
4397 "197giv3snczvbihzvkja5pq53yw5fc516rnjm71hni8gawb8jmh3"))))
4398 (build-system go-build-system)
4399 (arguments
4400 '(#:import-path
4401 "github.com/sabhiram/go-gitignore"))
4402 (native-inputs
4403 (list go-github-com-stretchr-testify))
4404 (home-page "https://github.com/sabhiram/go-gitignore")
4405 (synopsis "Gitignore parser for Go")
4406 (description "A @command{.gitignore} parser for Go.")
4407 (license license:expat))))
4408
4409(define-public go-github-com-urfave-cli
4410 (package
4411 (name "go-github-com-urfave-cli")
4412 (version "1.22.2")
4413 (source
4414 (origin
4415 (method git-fetch)
4416 (uri (git-reference
4417 (url "https://github.com/urfave/cli")
4418 (commit (string-append "v" version))))
4419 (file-name (git-file-name name version))
4420 (sha256
4421 (base32
4422 "10mcnvi5qmn00vpyk6si8gjka7p654wr9hac4zc9w5h3ickhvbdc"))
4423 (patches (search-patches "go-github-com-urfave-cli-fix-tests.patch"))))
4424 (build-system go-build-system)
4425 (arguments
4426 '(#:import-path "github.com/urfave/cli"))
4427 (propagated-inputs
4428 (list go-github-com-go-md2man))
4429 (home-page "https://github.com/urfave/cli")
4430 (synopsis "Simple, fast, and fun package for building command line apps in Go")
4431 (description "@command{cli} is a simple, fast, and fun package for
4432building command line apps in Go. The goal is to enable developers to write
4433fast and distributable command line applications in an expressive way.")
4434 (license license:expat)))
4435
4436(define-public go-github-com-urfave-cli-v2
4437 (package
4438 (inherit go-github-com-urfave-cli)
4439 (name "go-github-com-urfave-cli-v2")
4440 (version "2.3.0")
4441 (source
4442 (origin
4443 (method git-fetch)
4444 (uri (git-reference
4445 (url "https://github.com/urfave/cli")
4446 (commit (string-append "v" version))))
4447 (file-name (git-file-name name version))
4448 (sha256
4449 (base32 "08pvn7gyfznni72xrxfh2x6xxa8ykr7l1ka278js8g8qkh71bj8l"))
4450 ;; XXX: Remove patch when updating.
4451 (patches
4452 (search-patches "go-github-com-urfave-cli-v2-fix-tests.patch"))))
4453 (arguments
4454 '(#:import-path "github.com/urfave/cli/v2"))))
4455
4456(define-public go-github-com-go-md2man 2070(define-public go-github-com-go-md2man
4457 (package 2071 (package
4458 (name "go-github-com-go-md2man") 2072 (name "go-github-com-go-md2man")
4459 (version "2.0.0") 2073 (version "2.0.5")
4460 (source 2074 (source
4461 (origin 2075 (origin
4462 (method git-fetch) 2076 (method git-fetch)
@@ -4465,964 +2079,20 @@ fast and distributable command line applications in an expressive way.")
4465 (commit (string-append "v" version)))) 2079 (commit (string-append "v" version))))
4466 (file-name (git-file-name name version)) 2080 (file-name (git-file-name name version))
4467 (sha256 2081 (sha256
4468 (base32 2082 (base32 "0gqlkv1pv8cpvcj8g77d1hzy5bnp5a3k3xs02iahlr3a65m4azsi"))))
4469 "0r1f7v475dxxgzqci1mxfliwadcrk86ippflx9n411325l4g3ghv"))
4470 (modules '((guix build utils)))
4471 (snippet '(begin
4472 (delete-file-recursively "vendor")
4473 #t))))
4474 (build-system go-build-system) 2083 (build-system go-build-system)
4475 (arguments 2084 (arguments
4476 '(#:import-path "github.com/cpuguy83/go-md2man")) 2085 (list
2086 #:import-path "github.com/cpuguy83/go-md2man"))
4477 (propagated-inputs 2087 (propagated-inputs
4478 (list go-github-com-russross-blackfriday-v2)) 2088 (list go-github-com-russross-blackfriday-v2))
4479 (home-page "https://github.com/cpuguy83/go-md2man") 2089 (home-page "https://github.com/cpuguy83/go-md2man")
4480 (synopsis "Convert markdown into roff") 2090 (synopsis "Convert markdown into roff")
4481 (description "Go-md2man is a Go program that converts markdown to roff for
4482the purpose of building man pages.")
4483 (license license:expat)))
4484
4485(define-public go-github-com-git-lfs-go-netrc
4486 (let ((commit "f0c862dd687a9d9a7e15b3cd7cb3fd3e81cdd5ef")
4487 (revision "0"))
4488 (package
4489 (name "go-github-com-git-lfs-go-netrc")
4490 (version (git-version "0.0.0" revision commit))
4491 (source
4492 (origin
4493 (method git-fetch)
4494 (uri
4495 (git-reference
4496 (url "https://github.com/git-lfs/go-netrc")
4497 (commit commit)))
4498 (file-name (git-file-name name version))
4499 (sha256
4500 (base32 "0xvnjyg54gm3m3qszkfp12id0jmpg3583nqvv2llza1nr18w1sqi"))))
4501 (build-system go-build-system)
4502 (arguments `(#:import-path "github.com/git-lfs/go-netrc/netrc"
4503 #:unpack-path "github.com/git-lfs/go-netrc"))
4504 (home-page "https://github.com/git-lfs/go-netrc")
4505 (synopsis "Netrc file parser for Go")
4506 (description "This package is for reading and writing netrc files. This
4507package can parse netrc files, make changes to them, and then serialize them
4508back to netrc format, while preserving any whitespace that was present in the
4509source file.")
4510 (license license:expat))))
4511
4512(define-public go-github-com-russross-blackfriday
4513 (package
4514 (name "go-github-com-russross-blackfriday")
4515 (version "1.6.0")
4516 (source
4517 (origin
4518 (method git-fetch)
4519 (uri (git-reference
4520 (url "https://github.com/russross/blackfriday")
4521 (commit (string-append "v" version))))
4522 (file-name (git-file-name name version))
4523 (sha256
4524 (base32
4525 "036028ynpq52z9snmd2b1kjzyvv6n9sg71k651ndznggnw19aamp"))))
4526 (build-system go-build-system)
4527 (arguments
4528 '(#:import-path "github.com/russross/blackfriday"))
4529 (propagated-inputs
4530 (list go-github-com-shurcool-sanitized-anchor-name))
4531 (native-inputs
4532 (list go-github-com-pmezard-go-difflib))
4533 (home-page "https://github.com/russross/blackfriday")
4534 (synopsis "Markdown processor in Go")
4535 (description "Blackfriday is a Markdown processor in Go.")
4536 (license license:bsd-2)))
4537
4538(define-public go-github-com-russross-blackfriday-v2
4539 (package
4540 (inherit go-github-com-russross-blackfriday)
4541 (name "go-github-com-russross-blackfriday-v2")
4542 (version "2.1.0")
4543 (source
4544 (origin
4545 (method git-fetch)
4546 (uri (git-reference
4547 (url "https://github.com/russross/blackfriday")
4548 (commit (string-append "v" version))))
4549 (file-name (git-file-name name version))
4550 (sha256
4551 (base32 "0d1rg1drrfmabilqjjayklsz5d0n3hkf979sr3wsrw92bfbkivs7"))))
4552 (arguments
4553 (list #:import-path "github.com/russross/blackfriday/v2"))))
4554
4555(define-public go-github-com-rubyist-tracerx
4556 (let ((commit "787959303086f44a8c361240dfac53d3e9d53ed2")
4557 (revision "0"))
4558 (package
4559 (name "go-github-com-rubyist-tracerx")
4560 (version (git-version "0.0.0" revision commit))
4561 (source (origin
4562 (method git-fetch)
4563 (uri (git-reference
4564 (url "https://github.com/rubyist/tracerx")
4565 (commit commit)))
4566 (file-name (git-file-name name version))
4567 (sha256
4568 (base32
4569 "1xj5213r00zjhb7d2l6wlwv62g6mss50jwjpf7g8fk8djv3l29zz"))))
4570 (build-system go-build-system)
4571 (arguments
4572 `(#:import-path "github.com/rubyist/tracerx"))
4573 (home-page "https://github.com/rubyist/tracerx/")
4574 (synopsis "Output tracing information in your Go app")
4575 (description "This package is a simple tracing application that logs
4576messages depending on environment variables. It is very much inspired by git's
4577GIT_TRACE mechanism.")
4578 (license license:expat))))
4579
4580(define-public go-github-com-shurcool-sanitized-anchor-name
4581 (package
4582 (name "go-github-com-shurcool-sanitized-anchor-name")
4583 (version "1.0.0")
4584 (source
4585 (origin
4586 (method git-fetch)
4587 (uri (git-reference
4588 (url "https://github.com/shurcooL/sanitized_anchor_name")
4589 (commit (string-append "v" version))))
4590 (file-name (git-file-name name version))
4591 (sha256
4592 (base32
4593 "1gv9p2nr46z80dnfjsklc6zxbgk96349sdsxjz05f3z6wb6m5l8f"))))
4594 (build-system go-build-system)
4595 (arguments
4596 '(#:import-path "github.com/shurcooL/sanitized_anchor_name"))
4597 (home-page "https://github.com/shurcooL/sanitized_anchor_name")
4598 (synopsis "Create sanitized anchor names")
4599 (description "This package provides a Go program for creating sanitized
4600anchor names.")
4601 (license license:expat)))
4602
4603(define-public go-github-com-pmezard-go-difflib
4604 (package
4605 (name "go-github-com-pmezard-go-difflib")
4606 (version "1.0.0")
4607 (source (origin
4608 (method git-fetch)
4609 (uri (git-reference
4610 (url "https://github.com/pmezard/go-difflib")
4611 (commit (string-append "v" version))))
4612 (file-name (git-file-name name version))
4613 (sha256
4614 (base32
4615 "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"))))
4616 (build-system go-build-system)
4617 (arguments
4618 '(#:import-path "github.com/pmezard/go-difflib/difflib"
4619 #:unpack-path "github.com/pmezard/go-difflib/"))
4620 (home-page "https://github.com/pmezard/go-difflib")
4621 (synopsis "Go diff implementation")
4622 (description "This package provides unified and context-aware diffs in Go.")
4623 (license license:bsd-3)))
4624
4625(define-public go-github-com-whyrusleeping-progmeter
4626 (let ((commit "f3e57218a75b913eff88d49a52c1debf9684ea04")
4627 (revision "0"))
4628 (package
4629 (name "go-github-com-whyrusleeping-progmeter")
4630 (version (git-version "0.0.0" revision commit))
4631 (source
4632 (origin
4633 (method git-fetch)
4634 (uri (git-reference
4635 (url "https://github.com/whyrusleeping/progmeter")
4636 (commit commit)))
4637 (file-name (git-file-name name version))
4638 (sha256
4639 (base32
4640 "0xs8rz6yhpvj9512c5v3b8dwr2kivywnyyfxzdfbr6fy1xc8zskb"))))
4641 (build-system go-build-system)
4642 (arguments
4643 '(#:import-path
4644 "github.com/whyrusleeping/progmeter"))
4645 (home-page "https://github.com/whyrusleeping/progmeter")
4646 (synopsis "Progress meter for Go")
4647 (description "Progress meter for Go.")
4648 (license license:expat))))
4649
4650(define-public go-github-com-whyrusleeping-stump
4651 (let ((commit "206f8f13aae1697a6fc1f4a55799faf955971fc5")
4652 (revision "0"))
4653 (package
4654 (name "go-github-com-whyrusleeping-stump")
4655 (version (git-version "0.0.0" revision commit))
4656 (source
4657 (origin
4658 (method git-fetch)
4659 (uri (git-reference
4660 (url "https://github.com/whyrusleeping/stump")
4661 (commit commit)))
4662 (file-name (git-file-name name version))
4663 (sha256
4664 (base32
4665 "1s40qdppjnk8gijk7x6kbviiqz62nz3h6gic2q9cwcmq8r5isw7n"))))
4666 (build-system go-build-system)
4667 (arguments
4668 '(#:import-path "github.com/whyrusleeping/stump"))
4669 (home-page "https://github.com/whyrusleeping/stump")
4670 (synopsis "Very basic logging package for Go")
4671 (description "A simple log library, for when you don't really care to
4672have super fancy logs.")
4673 (license license:expat))))
4674
4675(define-public go-github-com-kr-fs
4676 (let ((commit "1455def202f6e05b95cc7bfc7e8ae67ae5141eba")
4677 (revision "0"))
4678 (package
4679 (name "go-github-com-kr-fs")
4680 (version (git-version "0.1.0" revision commit))
4681 (source
4682 (origin
4683 (method git-fetch)
4684 (uri (git-reference
4685 (url "https://github.com/kr/fs")
4686 (commit commit)))
4687 (file-name (git-file-name name version))
4688 (sha256
4689 (base32
4690 "11zg176x9hr9q7fsk95r6q0wf214gg4czy02slax4x56n79g6a7q"))))
4691 (build-system go-build-system)
4692 (arguments
4693 '(#:import-path "github.com/kr/fs"))
4694 (home-page "https://github.com/kr/fs")
4695 (synopsis "File-system-related functions for Go")
4696 (description
4697 "The fs package provides file-system-related Go functions.")
4698 (license license:bsd-3))))
4699
4700(define-public go-github-com-kylelemons-godebug
4701 (package
4702 (name "go-github-com-kylelemons-godebug")
4703 (version "1.1.0")
4704 (source
4705 (origin
4706 (method git-fetch)
4707 (uri (git-reference
4708 (url "https://github.com/kylelemons/godebug")
4709 (commit (string-append "v" version))))
4710 (file-name (git-file-name name version))
4711 (sha256
4712 (base32
4713 "0dkk3friykg8p6wgqryx6745ahhb9z1j740k7px9dac6v5xjp78c"))))
4714 (build-system go-build-system)
4715 (arguments
4716 '(#:import-path "github.com/kylelemons/godebug/diff"
4717 #:unpack-path "github.com/kylelemons/godebug"))
4718 (home-page "https://github.com/kylelemons/godebug")
4719 (synopsis "Pretty printer for Go values")
4720 (description
4721 "This package will pretty print a compact representation of a Go data
4722structure. It can also produce a much more verbose, one-item-per-line
4723representation suitable for computing diffs.")
4724 (license license:asl2.0)))
4725
4726;; TODO: Merge with go-github-com-kylelemons-godebug and provide both module;
4727;; for go-team.
4728(define-public go-github-com-kylelemons-godebug-pretty
4729 (package
4730 (inherit go-github-com-kylelemons-godebug)
4731 (name "go-github-com-kylelemons-godebug-pretty")
4732 (arguments
4733 '(#:import-path "github.com/kylelemons/godebug/pretty"
4734 #:unpack-path "github.com/kylelemons/godebug"))))
4735
4736(define-public go-github-com-kr-text
4737 (package
4738 (name "go-github-com-kr-text")
4739 (version "0.2.0")
4740 (source (origin
4741 (method git-fetch)
4742 (uri (git-reference
4743 (url "https://github.com/kr/text")
4744 (commit (string-append "v" version))))
4745 (file-name (git-file-name name version))
4746 (sha256
4747 (base32
4748 "0hf58ypz6rxsw6nx3i856whir9lvy4sdx946wbw1nfaf2rdmr9vx"))))
4749 (build-system go-build-system)
4750 (arguments
4751 '(#:import-path "github.com/kr/text"))
4752 (propagated-inputs (list go-github-com-creack-pty))
4753 (synopsis "Text formatting in Go")
4754 (description "This package provides a text formatting functions in Go.")
4755 (home-page "https://github.com/kr/text")
4756 (license license:expat)))
4757
4758(define-public go-github-com-go-sql-driver-mysql
4759 (package
4760 (name "go-github-com-go-sql-driver-mysql")
4761 (version "1.8.1")
4762 (source
4763 (origin
4764 (method git-fetch)
4765 (uri (git-reference
4766 (url "https://github.com/go-sql-driver/mysql")
4767 (commit (string-append "v" version))))
4768 (file-name (git-file-name name version))
4769 (sha256
4770 (base32
4771 "0ihdqg411gkv454fwx8w5nbndgkm5dz5phfliksxgmhggyxxm7sn"))))
4772 (build-system go-build-system)
4773 (arguments
4774 '(#:tests? #f ;; tests require a network connection
4775 #:import-path "github.com/go-sql-driver/mysql"))
4776 (propagated-inputs
4777 (list go-filippo-io-edwards25519))
4778 (home-page "https://github.com/go-sql-driver/mysql")
4779 (synopsis "MySQL driver for golang")
4780 (description
4781 "This is a pure Go implementation of the MySQL API, compatible with
4782golang's database/sql package.")
4783 (license license:mpl2.0)))
4784
4785(define-public go-github-com-lucasb-eyer-go-colorful
4786 (package
4787 (name "go-github-com-lucasb-eyer-go-colorful")
4788 (version "1.2.0")
4789 (source (origin
4790 (method git-fetch)
4791 (uri (git-reference
4792 (url "https://github.com/lucasb-eyer/go-colorful")
4793 (commit (string-append "v" version))))
4794 (file-name (git-file-name name version))
4795 (sha256
4796 (base32
4797 "08c3fkf27r16izjjd4w94xd1z7w1r4mdalbl53ms2ka2j465s3qs"))))
4798 (build-system go-build-system)
4799 (propagated-inputs (list go-golang-org-x-image))
4800 (arguments
4801 (list #:import-path "github.com/lucasb-eyer/go-colorful"))
4802 (home-page "https://github.com/lucasb-eyer/go-colorful")
4803 (synopsis "Library for playing with colors in Go")
4804 (description
4805 "The colorful package provides a library for using colors in Go.
4806It stores colors in RGB and provides methods for converting these to
4807various color spaces.")
4808 (license license:expat)))
4809
4810(define-public go-github-com-gdamore-encoding
4811 (package
4812 (name "go-github-com-gdamore-encoding")
4813 (version "1.0.0")
4814 (source
4815 (origin
4816 (method git-fetch)
4817 (uri (git-reference
4818 (url "https://github.com/gdamore/encoding")
4819 (commit (string-append "v" version))))
4820 (file-name (git-file-name name version))
4821 (sha256
4822 (base32
4823 "1vmm5zll92i2fm4ajqx0gyx0p9j36496x5nabi3y0x7h0inv0pk9"))))
4824 (build-system go-build-system)
4825 (arguments
4826 '(#:import-path "github.com/gdamore/encoding"))
4827 (inputs
4828 (list go-golang-org-x-text))
4829 (home-page "https://github.com/gdamore/encoding")
4830 (synopsis "Provide encodings missing from Go")
4831 (description "This package provides useful encodings not included in the
4832standard @code{Text} package, including some for dealing with I/O streams from
4833non-UTF-friendly sources.")
4834 (license license:expat)))
4835
4836(define-public go-github-com-cention-sany-utf7
4837 (package
4838 (name "go-github-com-cention-sany-utf7")
4839 (version "0.0.0-20170124080048-26cad61bd60a")
4840 (source (origin
4841 (method git-fetch)
4842 (uri (git-reference
4843 (url "https://github.com/cention-sany/utf7")
4844 (commit (go-version->git-ref version))))
4845 (file-name (git-file-name name version))
4846 (sha256
4847 (base32
4848 "1jy15ryfcln1iwchrksqyrnyfy41gisymm4f9sr1d73ja029bznm"))))
4849 (build-system go-build-system)
4850 (arguments
4851 (list #:import-path "github.com/cention-sany/utf7"))
4852 (propagated-inputs (list go-golang-org-x-text))
4853 (home-page "https://github.com/cention-sany/utf7")
4854 (synopsis "UTF-7 for Go")
4855 (description
4856 "The utf7 package provides support for the obsolete UTF-7 text
4857encoding in Go.")
4858 (license license:bsd-3)))
4859
4860(define-public go-github-com-cespare-mph
4861 (package
4862 (name "go-github-com-cespare-mph")
4863 (version "0.1.0")
4864 (source (origin
4865 (method git-fetch)
4866 (uri (git-reference
4867 (url "https://github.com/cespare/mph")
4868 (commit (string-append "v" version))))
4869 (file-name (git-file-name name version))
4870 (sha256
4871 (base32
4872 "0mvd6bkvf3i3555kqkkr3k9jd4c25scjq4xad35sxpny8f72nbg1"))))
4873 (build-system go-build-system)
4874 (arguments
4875 (list #:import-path "github.com/cespare/mph"))
4876 (home-page "https://github.com/cespare/mph")
4877 (synopsis "Minimal perfect hashing in Go")
4878 (description
4879 "@code{mph} is a Go package that implements a minimal perfect hash table
4880over strings.")
4881 (license license:expat)))
4882
4883(define-public go-github-com-gdamore-tcell
4884 (let ((commit "aaadc574a6ed8dc3abe56036ca130dcee1ee6b6e")
4885 (version "1.1.2")
4886 (revision "1"))
4887 (package
4888 (name "go-github-com-gdamore-tcell")
4889 (version (git-version version revision commit))
4890 (source
4891 (origin
4892 (method git-fetch)
4893 (uri (git-reference
4894 (url "https://github.com/gdamore/tcell")
4895 (commit commit)))
4896 (file-name (git-file-name name version))
4897 (sha256
4898 (base32
4899 "0il2nnxp2cqiy73m49215dnf9in3vd25ji8qxbmq87c5qy7i1q9d"))))
4900 (build-system go-build-system)
4901 (arguments
4902 `(#:import-path "github.com/gdamore/tcell"))
4903 (inputs
4904 (list go-github-com-mattn-go-runewidth
4905 go-github-com-lucasb-eyer-go-colorful
4906 go-golang-org-x-text
4907 go-github-com-gdamore-encoding))
4908 (home-page "https://github.com/gdamore/tcell")
4909 (synopsis "Provide a cell-based view for text terminals")
4910 (description "This package includes a full parser and expander for
4911terminfo capability strings to avoid hard-coding escape strings for
4912formatting. It also favors portability, and includes support for all POSIX
4913systems.")
4914 (license license:asl2.0))))
4915
4916(define-public go-github-com-gdamore-tcell-v2
4917 (package
4918 (inherit go-github-com-gdamore-tcell)
4919 (name "go-github-com-gdamore-tcell")
4920 (version "2.7.4")
4921 (source (origin
4922 (method git-fetch)
4923 (uri (git-reference
4924 (url "https://github.com/gdamore/tcell")
4925 (commit (string-append "v" version))))
4926 (file-name (git-file-name name version))
4927 (sha256
4928 (base32
4929 "05b22sgyf8lnwjddxlfvlj7i8b67gnidhbnz86vvx8fddggpa5nd"))))
4930 (arguments
4931 (list #:import-path "github.com/gdamore/tcell/v2"
4932 #:phases
4933 #~(modify-phases %standard-phases
4934 (add-before 'reset-gzip-timestamps 'make-files-writable
4935 (lambda _
4936 ;; Make sure .gz files are writable so that the
4937 ;; 'reset-gzip-timestamps' phase can do its work.
4938 (for-each make-file-writable
4939 (find-files #$output "\\.gz$")))))))
4940 (propagated-inputs
4941 (modify-inputs (package-inputs go-github-com-gdamore-tcell)
4942 (prepend go-golang-org-x-term go-golang-org-x-sys)))))
4943
4944(define-public go-github-com-delthas-tcell-v2
4945 ;; TODO This variant allows upgrading senpai, and looks to be unnecessary in
4946 ;; the next release of senpai
4947 (hidden-package
4948 (package
4949 (inherit go-github-com-gdamore-tcell)
4950 (name "go-github-com-delthas-tcell")
4951 (version "2.4.1")
4952 (source
4953 (origin
4954 (method git-fetch)
4955 (uri (git-reference
4956 (url "https://github.com/delthas/tcell")
4957 (commit "837a7d7")))
4958 (file-name (git-file-name name version))
4959 (sha256
4960 (base32 "05zr73q38dawl7hr6g7v4pkyv6mqr0zp2l9qsgn7xmf1p9q4bn7j"))))
4961 (propagated-inputs (modify-inputs (package-inputs
4962 go-github-com-gdamore-tcell)
4963 (prepend go-golang-org-x-term go-golang-org-x-sys))))))
4964
4965(define-public go-git-sr-ht-rockorager-tcell-term
4966 (package
4967 (name "go-git-sr-ht-rockorager-tcell-term")
4968 (version "0.9.0")
4969 (source (origin
4970 (method git-fetch)
4971 (uri (git-reference
4972 (url "https://git.sr.ht/~rockorager/tcell-term")
4973 (commit (string-append "v" version))))
4974 (file-name (git-file-name name version))
4975 (sha256
4976 (base32
4977 "177ladvpiiw7sb0hsjjv9p2yv5wpqpw6nqardkm8mqqlj0swa9xx"))))
4978 (build-system go-build-system)
4979 (arguments
4980 (list #:import-path "git.sr.ht/~rockorager/tcell-term"))
4981 (propagated-inputs
4982 (list go-golang-org-x-sys
4983 go-golang-org-x-term
4984 go-gopkg-in-check-v1
4985 go-github-com-mattn-go-runewidth
4986 go-github-com-davecgh-go-spew
4987 go-github-com-stretchr-testify
4988 go-github-com-gdamore-tcell-v2
4989 go-github-com-creack-pty))
4990 (home-page "https://git.sr.ht/~rockorager/tcell-term")
4991 (synopsis "Terminal widget for @code{tcell}")
4992 (description
4993 "This package provides a virtual terminal widget for the @code{tcell}
4994Go library.")
4995 (license license:expat)))
4996
4997(define-public go-github-com-rivo-tview
4998 (package
4999 (name "go-github-com-rivo-tview")
5000 (version "0.0.0-20220703182358-a13d901d3386")
5001 (source (origin
5002 (method git-fetch)
5003 (uri (git-reference
5004 (url "https://github.com/rivo/tview")
5005 (commit (go-version->git-ref version))))
5006 (file-name (git-file-name name version))
5007 (sha256
5008 (base32
5009 "0gf1m3ndbc3kgxpv0ryq9a1ahijg6m896sc9k7dvwfjd8vy0q0yd"))))
5010 (build-system go-build-system)
5011 (arguments
5012 (list #:import-path "github.com/rivo/tview"))
5013 (propagated-inputs (list go-golang-org-x-term
5014 go-golang-org-x-sys
5015 go-github-com-rivo-uniseg
5016 go-github-com-mattn-go-runewidth
5017 go-github-com-lucasb-eyer-go-colorful
5018 go-github-com-gdamore-tcell-v2))
5019 (home-page "https://github.com/rivo/tview")
5020 (synopsis "Rich Interactive Widgets for Terminal UIs")
5021 (description
5022 "The tview package implements rich widgets for terminal based user
5023interfaces. The widgets provided with this package are useful for data
5024exploration and data entry.")
5025 (license license:expat)))
5026
5027(define-public go-github-com-xo-terminfo
5028 (package
5029 (name "go-github-com-xo-terminfo")
5030 (version "0.0.0-20210125001918-ca9a967f8778")
5031 (source (origin
5032 (method git-fetch)
5033 (uri (git-reference
5034 (url "https://github.com/xo/terminfo")
5035 (commit (go-version->git-ref version))))
5036 (file-name (git-file-name name version))
5037 (sha256
5038 (base32
5039 "05gdcvcbwcrcwxznhvs1q1xh4irz2d10v2mz179pydjh30kjc0j5"))))
5040 (build-system go-build-system)
5041 (arguments
5042 (list #:import-path "github.com/xo/terminfo"))
5043 (home-page "https://github.com/xo/terminfo")
5044 (synopsis "Read the terminfo database in Go")
5045 (description
5046 "The terminfo package implements terminfo database reading for Go.")
5047 (license license:expat)))
5048
5049(define-public go-github-com-burntsushi-locker
5050 (let ((commit "a6e239ea1c69bff1cfdb20c4b73dadf52f784b6a")
5051 (revision "0"))
5052 (package
5053 (name "go-github-com-burntsushi-locker")
5054 (version (git-version "0.0.0" revision commit))
5055 (source
5056 (origin
5057 (method git-fetch)
5058 (uri (git-reference
5059 (url "https://github.com/BurntSushi/locker")
5060 (commit commit)))
5061 (file-name (git-file-name name version))
5062 (sha256
5063 (base32
5064 "1xak4aync4klswq5217qvw191asgla51jr42y94vp109lirm5dzg"))))
5065 (build-system go-build-system)
5066 (arguments
5067 '(#:import-path "github.com/BurntSushi/locker"))
5068 (home-page "https://github.com/BurntSushi/locker")
5069 (synopsis "Manage named ReadWrite mutexes in Go")
5070 (description "Golang package for conveniently using named read/write
5071locks. These appear to be especially useful for synchronizing access to
5072session based information in web applications.
5073
5074The common use case is to use the package level functions, which use a package
5075level set of locks (safe to use from multiple goroutines
5076simultaneously). However, you may also create a new separate set of locks
5077test.
5078
5079All locks are implemented with read-write mutexes. To use them like a regular
5080mutex, simply ignore the RLock/RUnlock functions.")
5081 (license license:unlicense))))
5082
5083(define-public go-github-com-cheekybits-genny
5084 (package
5085 (name "go-github-com-cheekybits-genny")
5086 (version "1.0.0")
5087 (source (origin
5088 (method git-fetch)
5089 (uri (git-reference
5090 (url "https://github.com/cheekybits/genny")
5091 (commit (string-append "v" version))))
5092 (file-name (git-file-name name version))
5093 (sha256
5094 (base32
5095 "1pcir5ic86713aqa51581rfb67rgc3m0c72ddjfcp3yakv9vyq87"))))
5096 (build-system go-build-system)
5097 (arguments
5098 '(#:import-path "github.com/cheekybits/genny"))
5099 (propagated-inputs
5100 (list go-golang-org-x-tools))
5101 (native-inputs
5102 (list go-github-com-stretchr-testify))
5103 (synopsis "Generics for Go")
5104 (description "This package provides @code{genny}, a Go language
5105implementation of generics.")
5106 (home-page "https://github.com/cheekybits/genny/")
5107 (license license:expat)))
5108
5109(define-public go-github-com-lunixbochs-vtclean
5110 (package
5111 (name "go-github-com-lunixbochs-vtclean")
5112 (version "1.0.0")
5113 (source
5114 (origin
5115 (method git-fetch)
5116 (uri (git-reference
5117 (url "https://github.com/lunixbochs/vtclean")
5118 (commit (string-append "v" version))))
5119 (file-name (git-file-name name version))
5120 (sha256
5121 (base32 "0jqn33l1kzy4dk66zbvxz7rlgkgg34s9mhc8z0lrz0i88466zhd8"))))
5122 (build-system go-build-system)
5123 (arguments (list #:import-path "github.com/lunixbochs/vtclean"))
5124 (home-page "https://github.com/lunixbochs/vtclean")
5125 (synopsis "Filter out terminal escape sequences")
5126 (description
5127 "The @code{vtclean} provides the @command{vtclean} command and a library
5128designed to clean up raw terminal output by stripping escape sequences,
5129optionally preserving color.")
5130 (license license:expat)))
5131
5132;; XXX: This repository has been archived by the owner on Dec 1, 2021. It is
5133;; now read-only.
5134(define-public go-github-com-pkg-errors
5135 (package
5136 (name "go-github-com-pkg-errors")
5137 (version "0.9.1")
5138 (source (origin
5139 (method git-fetch)
5140 (uri (git-reference
5141 (url "https://github.com/pkg/errors")
5142 (commit (string-append "v" version))))
5143 (file-name (git-file-name name version))
5144 (sha256
5145 (base32
5146 "1761pybhc2kqr6v5fm8faj08x9bql8427yqg6vnfv6nhrasx1mwq"))))
5147 (build-system go-build-system)
5148 (arguments
5149 (list
5150 ;; Tests fail with a newer version of Golang (1.21) due to some API
5151 ;; changes in how the module path is calculated which is not reflected
5152 ;; in tests.
5153 #:tests? #f
5154 #:import-path "github.com/pkg/errors"))
5155 (synopsis "Go error handling primitives")
5156 (description "This package provides @code{error}, which offers simple
5157error handling primitives in Go.")
5158 (home-page "https://github.com/pkg/errors")
5159 (license license:bsd-2)))
5160
5161(define-public go-github-com-maruel-panicparse
5162 (package
5163 (name "go-github-com-maruel-panicparse")
5164 (version "1.3.0")
5165 (source (origin
5166 (method git-fetch)
5167 (uri (git-reference
5168 (url "https://github.com/maruel/panicparse")
5169 (commit (string-append "v" version))))
5170 (file-name (git-file-name name version))
5171 (sha256
5172 (base32
5173 "13qkn7f64yln8jdmma37h6ra4c7anxkp3vfgvfyb6lb07dpr1ibq"))))
5174 (build-system go-build-system)
5175 (arguments
5176 '(#:import-path "github.com/maruel/panicparse"))
5177 (synopsis "Toolkit for parsing Go stack traces")
5178 (description "This package provides a toolkit for parsing Go language panic
5179stack traces. It simplifies the traces to make salient information more visible
5180and aid debugging.")
5181 (home-page "https://github.com/maruel/panicparse")
5182 (license license:asl2.0)))
5183
5184(define-public go-github-com-robfig-cron
5185 (package
5186 (name "go-github-com-robfig-cron")
5187 (version "3.0.1")
5188 (source
5189 (origin
5190 (method git-fetch)
5191 (uri (git-reference
5192 (url "https://github.com/robfig/cron")
5193 (commit (string-append "v" version))))
5194 (file-name (git-file-name name version))
5195 (sha256
5196 (base32
5197 "1agzbw2dfk2d1mpmddr85s5vh6ygm8kqrvfg87i9d2wqnlsnliqm"))))
5198 (build-system go-build-system)
5199 (arguments
5200 `(#:import-path "github.com/robfig/cron"))
5201 (home-page "https://godoc.org/github.com/robfig/cron")
5202 (synopsis "Cron library for Go")
5203 (description "This package provides a cron library for Go. It implements
5204a cron spec parser and job runner.")
5205 (license license:expat)))
5206
5207(define-public go-github-com-ddevault-go-libvterm
5208 (let ((commit "b7d861da381071e5d3701e428528d1bfe276e78f")
5209 (revision "0"))
5210 (package
5211 (name "go-github-com-ddevault-go-libvterm")
5212 (version (git-version "0.0.0" revision commit))
5213 (source
5214 (origin
5215 (method git-fetch)
5216 (uri (git-reference
5217 (url "https://github.com/ddevault/go-libvterm")
5218 (commit commit)))
5219 (sha256
5220 (base32
5221 "06vv4pgx0i6hjdjcar4ch18hp9g6q6687mbgkvs8ymmbacyhp7s6"))
5222 (file-name (git-file-name name version))))
5223 (build-system go-build-system)
5224 (arguments
5225 '(#:import-path "github.com/ddevault/go-libvterm"))
5226 (propagated-inputs
5227 (list go-github-com-mattn-go-pointer))
5228 (home-page "https://github.com/ddevault/go-libvterm")
5229 (synopsis "Go binding to libvterm")
5230 (description
5231 "This is a fork of another go-libvterm library for use with aerc.")
5232 (license license:expat))))
5233
5234(define (go-gotest-tools-source version sha256-base32-hash)
5235 (origin
5236 (method git-fetch)
5237 (uri (git-reference
5238 (url "https://github.com/gotestyourself/gotest.tools")
5239 (commit (string-append "v" version))))
5240 (file-name (git-file-name "go-gotest-tools" version))
5241 (sha256
5242 (base32 sha256-base32-hash))))
5243
5244;; Note that version 3.0.0 is incompatible to 2.3.0.
5245;; See also <https://github.com/gotestyourself/gotest.tools/issues/166>.
5246(define (go-gotest-tools-package suffix)
5247 (package
5248 (name (string-append "go-gotest-tools-"
5249 (string-replace-substring suffix "/" "-")))
5250 (version "2.3.0")
5251 (source
5252 (go-gotest-tools-source version
5253 "0071rjxp4xzcr3vprkaj1hdk35a3v45bx8v0ipk16wwc5hx84i2i"))
5254 (build-system go-build-system)
5255 (arguments
5256 `(#:import-path ,(string-append "gotest.tools/" suffix)
5257 #:unpack-path "gotest.tools"))
5258 (synopsis "@code{gotest-tools} part")
5259 (description "This package provides a part of @code{gotest-tools}.")
5260 (home-page "https://github.com/gotestyourself/gotest.tools")
5261 (license license:asl2.0)))
5262
5263(define-public go-gotest-tools-internal-format
5264 (package (inherit (go-gotest-tools-package "internal/format"))
5265 (native-inputs
5266 (list go-github-com-pkg-errors go-github-com-google-go-cmp))
5267 (synopsis "Formats messages for use with gotest-tools")
5268 (description "This package provides a way to format messages for use
5269with gotest-tools.")))
5270
5271(define-public go-gotest-tools-internal-difflib
5272 (package (inherit (go-gotest-tools-package "internal/difflib"))
5273 (synopsis "Differences for use with gotest-tools")
5274 (description "This package computes differences for use
5275with gotest-tools.")))
5276
5277(define-public go-gotest-tools-internal-source
5278 (package (inherit (go-gotest-tools-package "internal/source"))
5279 (arguments
5280 (substitute-keyword-arguments
5281 (package-arguments (go-gotest-tools-package "internal/source"))
5282 ((#:phases phases #~%standard-phases)
5283 #~(modify-phases #$phases
5284 (replace 'check
5285 (lambda* (#:key inputs #:allow-other-keys #:rest args)
5286 (unless
5287 ;; failed to parse source file: : open : no such file or directory
5288 (false-if-exception (search-input-file inputs "/bin/gccgo"))
5289 (apply (assoc-ref %standard-phases 'check) args))))))))
5290 (native-inputs
5291 (list go-github-com-pkg-errors go-github-com-google-go-cmp))
5292 (synopsis "Source code AST formatters for gotest-tools")
5293 (description "This package provides source code AST formatters for
5294gotest-tools.")))
5295
5296(define-public go-gotest-tools-assert
5297 (package (inherit (go-gotest-tools-package "assert"))
5298 (name "go-gotest-tools-assert")
5299 (arguments
5300 `(#:tests? #f ; Test failure concerning message formatting (FIXME)
5301 #:import-path "gotest.tools/assert"
5302 #:unpack-path "gotest.tools"))
5303 (propagated-inputs
5304 (list go-github-com-google-go-cmp
5305 go-github-com-pkg-errors
5306 go-github-com-spf13-pflag
5307 go-golang-org-x-tools))
5308 (synopsis "Compare values and fail a test when a comparison fails")
5309 (description "This package provides a way to compare values and fail a
5310test when a comparison fails.")
5311 (home-page "https://github.com/gotestyourself/gotest.tools")
5312 (license license:asl2.0)))
5313
5314(define-public gotestsum
5315 (package
5316 (name "gotestsum")
5317 (version "0.4.0")
5318 (source (origin
5319 (method git-fetch)
5320 (uri (git-reference
5321 (url "https://github.com/gotestyourself/gotestsum")
5322 (commit (string-append "v" version))))
5323 (file-name (git-file-name name version))
5324 (sha256
5325 (base32
5326 "0y71qr3ss3hgc8c7nmvpwk946xy1jc5d8whsv6y77wb24ncla7n0"))))
5327 (build-system go-build-system)
5328 (arguments
5329 '(#:import-path "gotest.tools/gotestsum"))
5330 (native-inputs
5331 (list go-github-com-fatih-color
5332 go-golang-org-x-sync
5333 go-github-com-pkg-errors
5334 go-github-com-sirupsen-logrus
5335 go-github-com-spf13-pflag
5336 go-github-com-jonboulle-clockwork
5337 go-golang-org-x-crypto
5338 go-gotest-tools-assert
5339 go-github-com-google-go-cmp
5340 ;; TODO: This would be better as a propagated-input of
5341 ;; go-gotest-tools-assert, but that does not work for
5342 ;; some reason.
5343 go-gotest-tools-internal-format
5344 go-gotest-tools-internal-difflib
5345 go-gotest-tools-internal-source
5346 go-github-com-google-go-cmp))
5347 (synopsis "Go test runner with output optimized for humans")
5348 (description "This package provides a @code{go test} runner with output
5349optimized for humans, JUnit XML for CI integration, and a summary of the
5350test results.")
5351 (home-page "https://github.com/gotestyourself/gotestsum")
5352 (license license:asl2.0)))
5353
5354(define-public go-github-com-macronut-go-tproxy
5355 (package
5356 (name "go-github-com-macronut-go-tproxy")
5357 (version "0.0.0-20190726054950-ef7efd7f24ed")
5358 (source (origin
5359 (method git-fetch)
5360 (uri (git-reference
5361 (url "https://github.com/FutureProtocolLab/go-tproxy")
5362 (commit (go-version->git-ref version))))
5363 (file-name (git-file-name name version))
5364 (sha256
5365 (base32
5366 "0jibsg0xhsn0h1jq4g9qd4nr58w43y8majlwfri9ffk2cbfrwqdr"))
5367 (modules '((guix build utils)))
5368 (snippet '(delete-file-recursively "example"))))
5369 (build-system go-build-system)
5370 (arguments
5371 '(#:import-path "github.com/macronut/go-tproxy"))
5372 (home-page "https://github.com/FutureProtocolLab/go-tproxy")
5373 (synopsis "Linux Transparent Proxy library")
5374 (description 2091 (description
5375 "Golang TProxy provides an easy to use wrapper for the Linux Transparent 2092 "Go-md2man is a Go program that converts markdown to roff for the purpose
5376Proxy functionality.") 2093of building man pages.")
5377 (license license:expat))) 2094 (license license:expat)))
5378 2095
5379(define-public go-github-com-bits-and-blooms-bitset
5380 (package
5381 (name "go-github-com-bits-and-blooms-bitset")
5382 (version "1.11.0")
5383 (source (origin
5384 (method git-fetch)
5385 (uri (git-reference
5386 (url "https://github.com/bits-and-blooms/bitset")
5387 (commit (string-append "v" version))))
5388 (file-name (git-file-name name version))
5389 (sha256
5390 (base32
5391 "1ialciixmr98p10rh61rnnkxpqi1j9hycbkv9rnjl0vnmsnpy0cy"))))
5392 (build-system go-build-system)
5393 (arguments
5394 '(#:import-path "github.com/bits-and-blooms/bitset"))
5395 (synopsis "Bitsets in Go")
5396 (description "This package provides a Go implementation of bitsets, which
5397are a mapping between non-negative integers and boolean values focused on
5398efficient space usage.")
5399 (home-page "https://github.com/bits-and-blooms/bitset")
5400 (license license:bsd-3)))
5401
5402(define-public go-github-com-bits-and-blooms-bloom-v3
5403 (package
5404 (name "go-github-com-bits-and-blooms-bloom-v3")
5405 (version "3.7.0")
5406 (source (origin
5407 (method git-fetch)
5408 (uri (git-reference
5409 (url "https://github.com/bits-and-blooms/bloom")
5410 (commit (string-append "v" version))))
5411 (file-name (git-file-name name version))
5412 (sha256
5413 (base32
5414 "022pyzjp862ysl30aj105i2xmapn400ambjh8h1dcyjy9c0f8agn"))))
5415 (build-system go-build-system)
5416 (arguments
5417 (list #:import-path "github.com/bits-and-blooms/bloom"))
5418 (propagated-inputs
5419 (list go-github-com-twmb-murmur3 go-github-com-bits-and-blooms-bitset))
5420 (synopsis "Bloom filters in Go")
5421 (description "This package provides a Go implementation of bloom filters,
5422based on murmurhash.")
5423 (home-page "https://github.com/bits-and-blooms/bitset")
5424 (license license:bsd-2)))
5425
5426(define-public go-golang-org-rainycape-unidecode 2096(define-public go-golang-org-rainycape-unidecode
5427 (let ((commit "cb7f23ec59bec0d61b19c56cd88cee3d0cc1870c") 2097 (let ((commit "cb7f23ec59bec0d61b19c56cd88cee3d0cc1870c")
5428 (revision "1")) 2098 (revision "1"))
@@ -5448,33 +2118,6 @@ based on murmurhash.")
5448characters with their ASCII approximations.") 2118characters with their ASCII approximations.")
5449 (license license:asl2.0)))) 2119 (license license:asl2.0))))
5450 2120
5451(define-public go-github-com-golang-freetype
5452 (let ((commit "e2365dfdc4a05e4b8299a783240d4a7d5a65d4e4")
5453 (revision "1"))
5454 (package
5455 (name "go-github-com-golang-freetype")
5456 (version (git-version "0.0.0" revision commit))
5457 (source (origin
5458 (method git-fetch)
5459 (uri (git-reference
5460 (url "https://github.com/golang/freetype")
5461 (commit commit)))
5462 (file-name (string-append "go-github-com-golang-freetype-"
5463 version "-checkout"))
5464 (sha256
5465 (base32
5466 "194w3djc6fv1rgcjqds085b9fq074panc5vw582bcb8dbfzsrqxc"))))
5467 (build-system go-build-system)
5468 (arguments
5469 `(#:import-path "github.com/golang/freetype"))
5470 (propagated-inputs
5471 (list go-golang-org-x-image))
5472 (home-page "https://github.com/golang/freetype")
5473 (synopsis "Freetype font rasterizer in the Go programming language")
5474 (description "The Freetype font rasterizer in the Go programming language.")
5475 (license (list license:freetype
5476 license:gpl2+)))))
5477
5478(define-public go-github-com-fogleman-gg 2121(define-public go-github-com-fogleman-gg
5479 (package 2122 (package
5480 (name "go-github-com-fogleman-gg") 2123 (name "go-github-com-fogleman-gg")
@@ -5499,710 +2142,6 @@ characters with their ASCII approximations.")
5499 (description "@code{gg} is a library for rendering 2D graphics in pure Go.") 2142 (description "@code{gg} is a library for rendering 2D graphics in pure Go.")
5500 (license license:expat))) 2143 (license license:expat)))
5501 2144
5502(define-public go-github-com-gedex-inflector
5503 (let ((commit "16278e9db8130ac7ec405dc174cfb94344f16325")
5504 (revision "1"))
5505 (package
5506 (name "go-github-com-gedex-inflector")
5507 (version (git-version "0.0.0" revision commit))
5508 (source (origin
5509 (method git-fetch)
5510 (uri (git-reference
5511 (url "https://github.com/gedex/inflector")
5512 (commit commit)))
5513 (file-name (string-append "go-github-com-gedex-inflector-"
5514 version "-checkout"))
5515 (sha256
5516 (base32
5517 "05hjqw1m71vww4914d9h6nqa9jw3lgjzwsy7qaffl02s2lh1amks"))))
5518 (build-system go-build-system)
5519 (arguments
5520 `(#:import-path "github.com/gedex/inflector"))
5521 (home-page "https://github.com/gedex/inflector")
5522 (synopsis "Go library that pluralizes and singularizes English nouns")
5523 (description "Go library that pluralizes and singularizes English nouns.")
5524 (license license:bsd-2))))
5525
5526(define-public go-github-com-surge-glog
5527 (let ((commit "2578deb2b95c665e6b1ebabf304ce2085c9e1985")
5528 (revision "1"))
5529 (package
5530 (name "go-github-com-surge-glog")
5531 (version (git-version "0.0.0" revision commit))
5532 (source (origin
5533 (method git-fetch)
5534 (uri (git-reference
5535 (url "https://github.com/surge/glog")
5536 (commit commit)))
5537 (file-name (string-append "go-github-com-surge-glog-"
5538 version "-checkout"))
5539 (sha256
5540 (base32
5541 "1bxcwxvsvr2hfpjz9hrrn0wrgykwmrbyk567102k3vafw9xdcwk4"))))
5542 (build-system go-build-system)
5543 (arguments
5544 `(#:import-path "github.com/surge/glog"))
5545 (home-page "https://github.com/surge/glog")
5546 (synopsis "Leveled execution logs for Go")
5547 (description "Leveled execution logs for Go.")
5548 (license license:asl2.0))))
5549
5550(define-public go-github-com-surgebase-porter2
5551 (let ((commit "56e4718818e8dc4ea5ba6348402fc7661863732a")
5552 (revision "1"))
5553 (package
5554 (name "go-github-com-surgebase-porter2")
5555 (version (git-version "0.0.0" revision commit))
5556 (source (origin
5557 (method git-fetch)
5558 (uri (git-reference
5559 (url "https://github.com/surgebase/porter2")
5560 (commit commit)))
5561 (file-name (string-append "go-github-com-surgebase-porter2-"
5562 version "-checkout"))
5563 (sha256
5564 (base32
5565 "1ivcf83jlj9s7q5y9dfbpyl0br35cz8fcp0dm8sxxvqh54py06v2"))))
5566 (build-system go-build-system)
5567 (arguments
5568 `(#:import-path "github.com/surgebase/porter2"))
5569 (native-inputs
5570 (list go-github-com-stretchr-testify go-github-com-surge-glog))
5571 (home-page "https://github.com/surgebase/porter2")
5572 (synopsis "Go library implementing english Porter2 stemmer")
5573 (description "Porter2 implements the
5574@url{http://snowball.tartarus.org/algorithms/english/stemmer.html, english
5575Porter2 stemmer}. It is written completely using finite state machines to do
5576suffix comparison, rather than the string-based or tree-based approaches.")
5577 (license license:asl2.0))))
5578
5579(define-public go-github-com-masterminds-goutils
5580 (package
5581 (name "go-github-com-masterminds-goutils")
5582 (version "1.1.1")
5583 (source (origin
5584 (method git-fetch)
5585 (uri (git-reference
5586 (url "https://github.com/Masterminds/goutils")
5587 (commit (string-append "v" version))))
5588 (file-name (git-file-name name version))
5589 (sha256
5590 (base32
5591 "09m4mbcdlv9ng3xcrmjlxi0niavby52y9nl2jhjnbx1xxpjw0jrh"))))
5592 (build-system go-build-system)
5593 (arguments
5594 `(#:import-path "github.com/Masterminds/goutils"))
5595 (home-page "https://github.com/Masterminds/goutils/")
5596 (synopsis "Utility functions to manipulate strings")
5597 (description "GoUtils provides utility functions to manipulate strings in
5598various ways. It is a Go implementation of some string manipulation libraries
5599of Java Apache Commons.")
5600 (license license:asl2.0)))
5601
5602(define-public go-github-com-huandu-xstrings
5603 (package
5604 (name "go-github-com-huandu-xstrings")
5605 (version "1.3.2")
5606 (source (origin
5607 (method git-fetch)
5608 (uri (git-reference
5609 (url "https://github.com/huandu/xstrings")
5610 (commit (string-append "v" version))))
5611 (file-name (git-file-name name version))
5612 (sha256
5613 (base32
5614 "0pwar6rc0fqb6pll38a44s81g5kb65vbg71jg5lx8caphjnikq5r"))))
5615 (build-system go-build-system)
5616 (arguments
5617 `(#:import-path "github.com/huandu/xstrings"))
5618 (home-page "https://github.com/huandu/xstrings/")
5619 (synopsis "Collection of string functions")
5620 (description "Go package xstrings is a collection of string functions,
5621which are widely used in other languages but absent in Go package strings.")
5622 (license license:expat)))
5623
5624(define-public go-github-com-imdario-mergo
5625 (package
5626 (name "go-github-com-imdario-mergo")
5627 (version "0.3.10")
5628 (source (origin
5629 (method git-fetch)
5630 (uri (git-reference
5631 (url "https://github.com/imdario/mergo")
5632 (commit (string-append "v" version))))
5633 (file-name (git-file-name name version))
5634 (sha256
5635 (base32
5636 "09h765p8yby9r8s0a3hv5kl8n2i382mda76wmvk48w1cc1w9s92p"))))
5637 (build-system go-build-system)
5638 (arguments
5639 `(#:import-path "github.com/imdario/mergo"))
5640 (native-inputs
5641 (list go-gopkg-in-yaml-v2))
5642 (home-page "https://github.com/imdario/mergo/")
5643 (synopsis "Helper to merge structs and maps in Golang")
5644 (description "Helper to merge structs and maps in Golang. Useful for
5645configuration default values, avoiding messy if-statements.
5646
5647Mergo merges same-type structs and maps by setting default values in
5648zero-value fields. Mergo won't merge unexported (private) fields. It will do
5649recursively any exported one. It also won't merge structs inside
5650maps (because they are not addressable using Go reflection).")
5651 (license license:bsd-3)))
5652
5653(define-public go-dario-cat-mergo
5654 (package
5655 (inherit go-github-com-imdario-mergo)
5656 (name "go-dario-cat-mergo")
5657 (version "1.0.0")
5658 (source (origin
5659 (method git-fetch)
5660 (uri (git-reference
5661 (url "https://github.com/imdario/mergo")
5662 (commit (string-append "v" version))))
5663 (file-name (git-file-name name version))
5664 (sha256
5665 (base32
5666 "037k2bd97vnbyhn2sczxk0j6ijmv06n1282f76i3ky73s3qmqnlf"))))
5667 (build-system go-build-system)
5668 (arguments
5669 `(#:unpack-path "dario.cat/mergo"
5670 #:import-path "dario.cat/mergo"))
5671 (native-inputs
5672 (list go-gopkg-in-yaml-v3))))
5673
5674(define-public go-github-com-bmatcuk-doublestar
5675 (package
5676 (name "go-github-com-bmatcuk-doublestar")
5677 (version "1.3.0")
5678 (source (origin
5679 (method git-fetch)
5680 (uri (git-reference
5681 (url "https://github.com/bmatcuk/doublestar")
5682 (commit (string-append "v" version))))
5683 (file-name (git-file-name name version))
5684 (sha256
5685 (base32
5686 "0bk5bixl6rqa8znxghyp6zndbccx9kdyrymjahgyp6qsrp7rk144"))))
5687 (build-system go-build-system)
5688 (arguments
5689 `(#:import-path "github.com/bmatcuk/doublestar"
5690 #:phases
5691 (modify-phases %standard-phases
5692 (add-after 'unpack 'remove-incompatible-test
5693 ;; This test fails with Go 1.16.
5694 (lambda _
5695 (substitute* "src/github.com/bmatcuk/doublestar/doublestar_test.go"
5696 (("\\{\"a\\[\", \"a\", false, nil, false\\},.*")
5697 "")))))))
5698 (home-page "https://github.com/bmatcuk/doublestar/")
5699 (synopsis "Path pattern matching and globbing supporting doublestar")
5700 (description "@code{doublestar} is a Go implementation of path pattern
5701matching and globbing with support for \"doublestar\" patterns.")
5702 (license license:expat)))
5703
5704;; For chezmoi-1.8.11
5705(define-public go-github-com-bmatcuk-doublestar-v2
5706 (package
5707 (inherit go-github-com-bmatcuk-doublestar)
5708 (name "go-github-com-bmatcuk-doublestar-v2")
5709 (version "2.0.4")
5710 (source
5711 (origin
5712 (method git-fetch)
5713 (uri (git-reference
5714 (url "https://github.com/bmatcuk/doublestar")
5715 (commit (string-append "v" version))))
5716 (file-name (git-file-name name version))
5717 (sha256
5718 (base32 "09ma8a9rhs8dg527vjhdf3lsb6lajaq193m6ksssm2k3qajhpi94"))))
5719 (arguments
5720 (list
5721 #:tests? #f ; tests have more broken parts
5722 #:unpack-path "github.com/bmatcuk/doublestar/v2"
5723 #:import-path "github.com/bmatcuk/doublestar/v2"))))
5724
5725(define-public go-github-com-bmatcuk-doublestar-v3
5726 (package
5727 (inherit go-github-com-bmatcuk-doublestar)
5728 (name "go-github-com-bmatcuk-doublestar-v3")
5729 (version "3.0.0")
5730 (source
5731 (origin
5732 (method git-fetch)
5733 (uri (git-reference
5734 (url "https://github.com/bmatcuk/doublestar")
5735 (commit (string-append "v" version))))
5736 (file-name (git-file-name name version))
5737 (sha256
5738 (base32 "011h07mlmscbxxjr3h30fjjb4dw3gb245nzczaq520r112xlidhj"))))
5739 (arguments
5740 (list
5741 #:tests? #f ; tests have more broken parts
5742 #:import-path "github.com/bmatcuk/doublestar/v3"))))
5743
5744(define-public go-github-com-bmatcuk-doublestar-v4
5745 (package
5746 (inherit go-github-com-bmatcuk-doublestar)
5747 (name "go-github-com-bmatcuk-doublestar-v4")
5748 (version "4.6.1")
5749 (source
5750 (origin
5751 (method git-fetch)
5752 (uri (git-reference
5753 (url "https://github.com/bmatcuk/doublestar")
5754 (commit (string-append "v" version))))
5755 (file-name (git-file-name name version))
5756 (sha256
5757 (base32 "12rf4a9isgg2nh927gikgbmyaynaqp4kjahgscb4qnr04m3vpr41"))))
5758 (arguments
5759 (list
5760 #:import-path "github.com/bmatcuk/doublestar/v4"))))
5761
5762(define-public go-github-com-olekukonko-tablewriter
5763 (package
5764 (name "go-github-com-olekukonko-tablewriter")
5765 (version "0.0.4")
5766 (source (origin
5767 (method git-fetch)
5768 (uri (git-reference
5769 (url "https://github.com/olekukonko/tablewriter")
5770 (commit (string-append "v" version))))
5771 (file-name (git-file-name name version))
5772 (sha256
5773 (base32
5774 "02r0n2b9yh3x8xyf48k17dxlwj234hlgjycylbjxi6qg08hfmz2x"))))
5775 (build-system go-build-system)
5776 (arguments
5777 `(#:import-path "github.com/olekukonko/tablewriter"))
5778 (propagated-inputs
5779 (list go-github-com-mattn-go-runewidth))
5780 (home-page "https://github.com/olekukonko/tablewriter/")
5781 (synopsis "Generate ASCII table")
5782 (description "This package generates ASCII tables. Features:
5783@itemize
5784@item automatic Padding
5785@item support Multiple Lines
5786@item supports Alignment
5787@item support Custom Separators
5788@item automatic Alignment of numbers and percentage
5789@item write directly to http , file etc via @code{io.Writer}
5790@item read directly from CSV file
5791@item optional row line via @code{SetRowLine}
5792@item normalise table header
5793@item make CSV Headers optional
5794@item enable or disable table border
5795@item set custom footer support
5796@item optional identical cells merging
5797@item set custom caption
5798@item optional reflowing of paragrpahs in multi-line cells
5799@end itemize\n")
5800 (license license:expat)))
5801
5802(define-public go-github-com-olekukonko-ts
5803 (let ((commit "78ecb04241c0121483589a30b0814836a746187d")
5804 (revision "0"))
5805 (package
5806 (name "go-github-com-olekukonko-ts")
5807 (version (git-version "0.0.0" revision commit))
5808 (source (origin
5809 (method git-fetch)
5810 (uri (git-reference
5811 (url "https://github.com/olekukonko/ts")
5812 (commit commit)))
5813 (file-name (git-file-name name version))
5814 (sha256
5815 (base32
5816 "0k88n5rvs5k5zalbfa7c71jkjb8dhpk83s425z728qn6aq49c978"))))
5817 (build-system go-build-system)
5818 (arguments
5819 `(#:import-path "github.com/olekukonko/ts"
5820 #:tests? #f)) ; inappropriate ioctl for device.
5821 (home-page "https://github.com/olekukonko/ts/")
5822 (synopsis "Simple Go application to get the size of the terminal")
5823 (description "This package provides a simple Go application to get the
5824size of the terminal.")
5825 (license license:expat))))
5826
5827(define-public go-github-com-charmbracelet-glamour
5828 (package
5829 (name "go-github-com-charmbracelet-glamour")
5830 (version "0.7.0")
5831 (source (origin
5832 (method git-fetch)
5833 (uri (git-reference
5834 (url "https://github.com/charmbracelet/glamour")
5835 (commit (string-append "v" version))))
5836 (file-name (git-file-name name version))
5837 (sha256
5838 (base32
5839 "073kyx94r9f0hpjv5c3x9pfdd3dbpyqcy7jhx4yxz0ps25j1a41p"))))
5840 (build-system go-build-system)
5841 (arguments
5842 (list
5843 #:embed-files #~(list ".*\\.xml")
5844 #:import-path "github.com/charmbracelet/glamour"
5845 #:phases
5846 #~(modify-phases %standard-phases
5847 (add-after 'unpack 'patch-tests
5848 (lambda _
5849 ;; Some tests fail due to different number of '^[0m' symbols at
5850 ;; the beginning and the end of paragraphs. To fix that we
5851 ;; re-generate 'readme.test' so the test output will match the
5852 ;; 'readme.test' contents.
5853 (chmod "src/github.com/charmbracelet/glamour/testdata/readme.test"
5854 #o644)
5855 (substitute* "src/github.com/charmbracelet/glamour/glamour_test.go"
5856 ((" generate = false")
5857 " generate = true")))))))
5858 (propagated-inputs
5859 (list go-github-com-alecthomas-chroma-v2
5860 go-github-com-microcosm-cc-bluemonday
5861 go-github-com-muesli-reflow
5862 go-github-com-muesli-termenv
5863 go-github-com-olekukonko-tablewriter
5864 go-github-com-yuin-goldmark
5865 go-github-com-yuin-goldmark-emoji))
5866 (home-page "https://github.com/charmbracelet/glamour/")
5867 (synopsis "Write handsome command-line tools with glamour")
5868 (description "@code{glamour} lets you render markdown documents and
5869templates on ANSI compatible terminals. You can create your own stylesheet or
5870use one of our glamorous default themes.")
5871 (license license:expat)))
5872
5873(define-public go-github-com-charmbracelet-harmonica
5874 (package
5875 (name "go-github-com-charmbracelet-harmonica")
5876 (version "0.2.0")
5877 (source
5878 (origin
5879 (method git-fetch)
5880 (uri (git-reference
5881 (url "https://github.com/charmbracelet/harmonica")
5882 (commit (string-append "v" version))))
5883 (file-name (git-file-name name version))
5884 (sha256
5885 (base32 "1aasg0c0xxhwav4ivm1mqmsqab6lk407xky8c19pb85r1hdbq0n7"))))
5886 (build-system go-build-system)
5887 (arguments
5888 (list
5889 #:import-path "github.com/charmbracelet/harmonica"
5890 #:phases #~(modify-phases %standard-phases
5891 (add-after 'unpack 'remove-examples
5892 (lambda* (#:key import-path #:allow-other-keys)
5893 (delete-file-recursively
5894 (string-append "src/" import-path "/examples")))))))
5895 (home-page "https://github.com/charmbracelet/harmonica")
5896 (synopsis "Simple, physics-based animation library")
5897 (description
5898 "A simple, efficient spring animation library for smooth, natural motion.")
5899 (license license:expat)))
5900
5901(define-public go-github-com-coreos-go-semver
5902 (package
5903 (name "go-github-com-coreos-go-semver")
5904 (version "0.3.1")
5905 (source (origin
5906 (method git-fetch)
5907 (uri (git-reference
5908 (url "https://github.com/coreos/go-semver")
5909 (commit (string-append "v" version))))
5910 (file-name (git-file-name name version))
5911 (sha256
5912 (base32
5913 "0vs04yykv1bwgvbyvi1m7ps83w06wzplw4giw8jac2iidx0x74v5"))))
5914 (build-system go-build-system)
5915 (arguments
5916 `(#:import-path "github.com/coreos/go-semver"))
5917 (propagated-inputs (list go-gopkg-in-yaml-v2))
5918 (home-page "https://github.com/coreos/go-semver/")
5919 (synopsis "Semantic versioning library")
5920 (description "@code{go-semver} is a semantic versioning library for Go.
5921It lets you parse and compare two semantic version strings.")
5922 (license license:asl2.0)))
5923
5924(define-public go-github-com-emirpasic-gods
5925 (package
5926 (name "go-github-com-emirpasic-gods")
5927 (version "1.12.0")
5928 (source (origin
5929 (method git-fetch)
5930 (uri (git-reference
5931 (url "https://github.com/emirpasic/gods")
5932 (commit (string-append "v" version))))
5933 (file-name (git-file-name name version))
5934 (sha256
5935 (base32
5936 "0i5qqq7ajvw3mikr95zl9rsnfsjanzwpqqs6kzzplsfgsifybar1"))))
5937 (build-system go-build-system)
5938 (arguments
5939 `(#:import-path "github.com/emirpasic/gods"
5940 ; Source-only package
5941 #:tests? #f
5942 #:phases
5943 (modify-phases %standard-phases
5944 (delete 'build))))
5945 (home-page "https://github.com/emirpasic/gods/")
5946 (synopsis "Implementation of various data structures and algorithms in Go")
5947 (description "This package provides implementation of various data
5948structures and algorithms in Go.")
5949 (license license:bsd-2)))
5950
5951(define-public go-gopkg-in-warnings
5952 (package
5953 (name "go-gopkg-in-warnings")
5954 (version "0.1.2")
5955 (source (origin
5956 (method git-fetch)
5957 (uri (git-reference
5958 (url "https://github.com/go-warnings/warnings")
5959 (commit (string-append "v" version))))
5960 (file-name (git-file-name name version))
5961 (sha256
5962 (base32
5963 "1kzj50jn708cingn7a13c2wdlzs6qv89dr2h4zj8d09647vlnd81"))))
5964 (build-system go-build-system)
5965 (arguments
5966 `(#:import-path "gopkg.in/warnings.v0"))
5967 (home-page "https://gopkg.in/warnings.v0")
5968 (synopsis "Error handling with non-fatal errors")
5969 (description "Package warnings implements error handling with non-fatal
5970errors (warnings).")
5971 (license license:bsd-2)))
5972
5973(define-public go-github-com-go-git-gcfg
5974 (package
5975 (name "go-github-com-go-git-gcfg")
5976 (version "1.5.0")
5977 (source (origin
5978 (method git-fetch)
5979 (uri (git-reference
5980 (url "https://github.com/go-git/gcfg")
5981 (commit (string-append "v" version))))
5982 (file-name (git-file-name name version))
5983 (sha256
5984 (base32
5985 "1lb14z4j35pwz2b2rbykkpsq515spwbndb00gwn2xlrzn949xb83"))))
5986 (arguments
5987 `(#:import-path "github.com/go-git/gcfg"))
5988 (native-inputs
5989 (list go-gopkg-in-warnings go-github-com-pkg-errors))
5990 (build-system go-build-system)
5991 (home-page "https://github.com/go-git/gcfg/")
5992 (synopsis "Gcfg reads INI-style configuration files into Go structs")
5993 (description "Gcfg reads INI-style configuration files into Go structs.")
5994 (license license:bsd-3)))
5995
5996(define-public go-github-com-jba-templatecheck
5997 (package
5998 (name "go-github-com-jba-templatecheck")
5999 (version "0.6.0")
6000 (source (origin
6001 (method git-fetch)
6002 (uri (git-reference
6003 (url "https://github.com/jba/templatecheck")
6004 (commit (string-append "v" version))))
6005 (file-name (git-file-name name version))
6006 (sha256
6007 (base32
6008 "12iwkidz4p6wdl65jfddqxls80mv879k2rpb42dj7y4dja5advlc"))))
6009 (build-system go-build-system)
6010 (arguments
6011 '(#:import-path "github.com/jba/templatecheck"))
6012 (propagated-inputs (list go-github-com-google-safehtml))
6013 (home-page "https://github.com/jba/templatecheck")
6014 (synopsis "Checks Go templates for problems")
6015 (description
6016 "Package templatecheck checks Go templates for problems. It can detect
6017many errors that are normally caught only during execution. Use templatecheck
6018in tests to find template errors early, and along template execution paths
6019that might only rarely be reached.")
6020 (license license:expat)))
6021
6022(define-public go-github-com-jbenet-go-context
6023 (let ((commit "d14ea06fba99483203c19d92cfcd13ebe73135f4")
6024 (revision "1"))
6025 (package
6026 (name "go-github-com-jbenet-go-context")
6027 (version (git-version "0.0.1" revision commit))
6028 (source (origin
6029 (method git-fetch)
6030 (uri (git-reference
6031 (url "https://github.com/jbenet/go-context")
6032 (commit commit)))
6033 (file-name (git-file-name name version))
6034 (sha256
6035 (base32
6036 "0q91f5549n81w3z5927n4a1mdh220bdmgl42zi3h992dcc4ls0sl"))))
6037 (build-system go-build-system)
6038 (arguments
6039 `(#:import-path "github.com/jbenet/go-context"
6040 ; Source-only package
6041 #:tests? #f
6042 #:phases
6043 (modify-phases %standard-phases
6044 (delete 'build))))
6045 (home-page "https://github.com/jbenet/go-context/")
6046 (synopsis "@code{jbenet's} context extensions")
6047 (description "This package provides @code{jbenet's} context
6048extensions.")
6049 (license license:expat))))
6050
6051(define-public go-github-com-juju-ansiterm
6052 (package
6053 (name "go-github-com-juju-ansiterm")
6054 (version "0.0.0-20210929141451-8b71cc96ebdc")
6055 (source
6056 (origin
6057 (method git-fetch)
6058 (uri (git-reference
6059 (url "https://github.com/juju/ansiterm")
6060 (commit (go-version->git-ref version))))
6061 (file-name (git-file-name name version))
6062 (sha256
6063 (base32 "05mk7mlvg11dd6b0j0wlq547ghbmx2ywwrlbcb4kddpg7qaqp1va"))))
6064 (build-system go-build-system)
6065 (arguments (list #:import-path "github.com/juju/ansiterm"))
6066 (propagated-inputs
6067 (list go-gopkg-in-check-v1
6068 go-github-com-mattn-go-isatty
6069 go-github-com-mattn-go-colorable
6070 go-github-com-lunixbochs-vtclean))
6071 (home-page "https://github.com/juju/ansiterm")
6072 (synopsis "Writer to output ANSI escape codes for color and styles")
6073 (description
6074 "The ansiterm package provides a writer to output the ANSI escape codes
6075for color and styles.")
6076 (license license:lgpl3)))
6077
6078(define-public go-github-com-kevinburke-ssh-config
6079 (package
6080 (name "go-github-com-kevinburke-ssh-config")
6081 (version "1.0")
6082 (source (origin
6083 (method git-fetch)
6084 (uri (git-reference
6085 (url "https://github.com/kevinburke/ssh_config")
6086 (commit version)))
6087 (file-name (git-file-name name version))
6088 (sha256
6089 (base32
6090 "05jvz5r58a057zxvic9dyr9v2wilha8l6366npwkqgxmnmk9sh5f"))))
6091 (arguments
6092 `(#:import-path "github.com/kevinburke/ssh_config"))
6093 (build-system go-build-system)
6094 (home-page "https://github.com/kevinburke/ssh_config/")
6095 (synopsis "Parser for @file{ssh_config} files")
6096 (description "This is a Go parser for @file{ssh_config} files.
6097Importantly, this parser attempts to preserve comments in a given file, so you
6098can manipulate a @file{ssh_config} file from a program.")
6099 (license license:expat)))
6100
6101(define-public go-github-com-alcortesm-tgz
6102 (let ((commit "9c5fe88206d7765837fed3732a42ef88fc51f1a1")
6103 (revision "1"))
6104 (package
6105 (name "go-github-com-alcortesm-tgz")
6106 (version (git-version "0.0.1" revision commit))
6107 (source (origin
6108 (method git-fetch)
6109 (uri (git-reference
6110 (url "https://github.com/alcortesm/tgz")
6111 (commit commit)))
6112 (file-name (git-file-name name version))
6113 (sha256
6114 (base32
6115 "04dcwnz2c2i4wbq2vx3g2wrdgqpncr2r1h6p1k08rdwk4bq1h8c5"))
6116 (modules '((guix build utils)))
6117 (snippet
6118 '(begin
6119 (substitute* "tgz_test.go"
6120 ;; Fix format error
6121 (("t.Fatalf\\(\"%s: unexpected error extracting: %s\", err\\)")
6122 "t.Fatalf(\"%s: unexpected error extracting: %s\", com, err)"))
6123 #t))))
6124 (build-system go-build-system)
6125 (arguments
6126 `(#:import-path "github.com/alcortesm/tgz"
6127 #:phases
6128 (modify-phases %standard-phases
6129 ;; Files are test fixtures, not generated.
6130 (delete 'reset-gzip-timestamps))))
6131 (home-page "https://github.com/alcortesm/tgz/")
6132 (synopsis "Go library to extract tgz files to temporal directories")
6133 (description "This package provides a Go library to extract tgz files to
6134temporal directories.")
6135 (license license:expat))))
6136
6137(define-public go-github-com-pkg-diff
6138 (package
6139 (name "go-github-com-pkg-diff")
6140 (version "0.0.0-20210226163009-20ebb0f2a09e")
6141 (source (origin
6142 (method git-fetch)
6143 (uri (git-reference
6144 (url "https://github.com/pkg/diff")
6145 (commit "20ebb0f2a09e612109b224b32f79370409108bcc")))
6146 (file-name (git-file-name name version))
6147 (sha256
6148 (base32
6149 "1g3dzgwhz4fx3ddpsv7fsa4r1v5clsp2lbw2qrkdk9y1vc5gi8yi"))))
6150 (build-system go-build-system)
6151 (arguments
6152 `(#:import-path "github.com/pkg/diff"))
6153 (home-page "https://github.com/pkg/diff/")
6154 (synopsis "Create and print diffs")
6155 (description
6156 "This package provides a Go library to create and print diffs.")
6157 (license license:bsd-3)))
6158
6159(define-public go-github-com-twpayne-go-shell
6160 (package
6161 (name "go-github-com-twpayne-go-shell")
6162 (version "0.3.0")
6163 (source (origin
6164 (method git-fetch)
6165 (uri (git-reference
6166 (url "https://github.com/twpayne/go-shell")
6167 (commit (string-append "v" version))))
6168 (file-name (git-file-name name version))
6169 (sha256
6170 (base32
6171 "1hv0ggy3935iddjnmpp9vl0kqjknxpnbmm9w7xr3gds7fpbxz6yp"))))
6172 (build-system go-build-system)
6173 (arguments
6174 `(#:import-path "github.com/twpayne/go-shell"))
6175 (home-page "https://github.com/twpayne/go-shell/")
6176 (synopsis "Shell across multiple platforms")
6177 (description
6178 "Package @code{shell} returns a user's shell across multiple platforms.")
6179 (license license:expat)))
6180
6181(define-public go-github-com-twpayne-go-vfs
6182 (package
6183 (name "go-github-com-twpayne-go-vfs")
6184 (version "1.5.0")
6185 (source (origin
6186 (method git-fetch)
6187 (uri (git-reference
6188 (url "https://github.com/twpayne/go-vfs")
6189 (commit (string-append "v" version))))
6190 (file-name (git-file-name name version))
6191 (sha256
6192 (base32
6193 "19dm3gi45znwaqbzxhwcgkiz8059bwa3ank80hc6qhdl579bpjnz"))))
6194 (build-system go-build-system)
6195 (arguments
6196 `(#:import-path "github.com/twpayne/go-vfs"))
6197 (native-inputs
6198 (list go-github-com-bmatcuk-doublestar
6199 go-github-com-stretchr-testify))
6200 (home-page "https://github.com/twpayne/go-vfs/")
6201 (synopsis "Abstraction of the @code{os} and @code{ioutil} Go packages")
6202 (description "Package @code{vfs} provides an abstraction of the @code{os}
6203and @code{ioutil} packages that is easy to test.")
6204 (license license:expat)))
6205
6206(define-public go-github-com-twpayne-go-vfsafero 2145(define-public go-github-com-twpayne-go-vfsafero
6207 (package 2146 (package
6208 (name "go-github-com-twpayne-go-vfsafero") 2147 (name "go-github-com-twpayne-go-vfsafero")
@@ -6220,7 +2159,7 @@ and @code{ioutil} packages that is easy to test.")
6220 (arguments 2159 (arguments
6221 `(#:import-path "github.com/twpayne/go-vfsafero")) 2160 `(#:import-path "github.com/twpayne/go-vfsafero"))
6222 (native-inputs 2161 (native-inputs
6223 (list go-github-com-twpayne-go-vfs go-github-com-spf13-afero)) 2162 (list go-github-com-twpayne-go-vfs-1.0.1 go-github-com-spf13-afero-1.1.2))
6224 (home-page "https://github.com/twpayne/go-vfsafero/") 2163 (home-page "https://github.com/twpayne/go-vfsafero/")
6225 (synopsis "Compatibility later between @code{go-vfs} and @code{afero}") 2164 (synopsis "Compatibility later between @code{go-vfs} and @code{afero}")
6226 (description 2165 (description
@@ -6228,163 +2167,6 @@ and @code{ioutil} packages that is easy to test.")
6228@code{go-github-com-twpayne-go-vfs} and @code{go-github-com-spf13-afero}.") 2167@code{go-github-com-twpayne-go-vfs} and @code{go-github-com-spf13-afero}.")
6229 (license license:expat))) 2168 (license license:expat)))
6230 2169
6231(define-public go-github-com-twpayne-go-xdg-v3
6232 (package
6233 (name "go-github-com-twpayne-go-xdg-v3")
6234 (version "3.1.0")
6235 (source (origin
6236 (method git-fetch)
6237 (uri (git-reference
6238 (url "https://github.com/twpayne/go-xdg")
6239 (commit (string-append "v" version))))
6240 (file-name (git-file-name name version))
6241 (sha256
6242 (base32
6243 "0j8q7yzixs6jlaad0lpa8hs6b240gm2cmy0yxgnprrbpa0y2r7ln"))))
6244 (build-system go-build-system)
6245 (arguments
6246 `(#:import-path "github.com/twpayne/go-xdg/v3"))
6247 (native-inputs
6248 (list go-github-com-stretchr-testify go-github-com-twpayne-go-vfs))
6249 (home-page "https://github.com/twpayne/go-xdg/")
6250 (synopsis "Functions related to freedesktop.org")
6251 (description "Package @code{xdg} provides functions related to
6252@uref{freedesktop.org}.")
6253 (license license:expat)))
6254
6255(define-public go-github-com-xdg-go-stringprep
6256 (package
6257 (name "go-github-com-xdg-go-stringprep")
6258 (version "1.0.2")
6259 (source
6260 (origin
6261 (method git-fetch)
6262 (uri (git-reference
6263 (url "https://github.com/xdg-go/stringprep")
6264 (commit (string-append "v" version))))
6265 (file-name (git-file-name name version))
6266 (sha256
6267 (base32 "1df0l5n3c520y9filzz83j42wa5c056jcygmfwhjyf1pq8f6jkv9"))))
6268 (build-system go-build-system)
6269 (arguments '(#:import-path "github.com/xdg-go/stringprep"))
6270 (propagated-inputs
6271 (list go-golang-org-x-text))
6272 (home-page "https://github.com/xdg-go/stringprep")
6273 (synopsis "Go implementation of RFC-3454 stringprep and RFC-4013 SASLprep")
6274 (description
6275 "Package stringprep provides data tables and algorithms for RFC-3454,
6276including errata. It also provides a profile for SASLprep as defined in
6277RFC-4013.")
6278 (license license:asl2.0)))
6279
6280(define-public go-github-com-xdg-go-pbkdf2
6281 (package
6282 (name "go-github-com-xdg-go-pbkdf2")
6283 (version "1.0.0")
6284 (source
6285 (origin
6286 (method git-fetch)
6287 (uri (git-reference
6288 (url "https://github.com/xdg-go/pbkdf2")
6289 (commit (string-append "v" version))))
6290 (file-name (git-file-name name version))
6291 (sha256
6292 (base32 "1nipijy5xkdnfyhkp5ryrjzm14si1i2v2xyfmblf84binwkbr8jh"))))
6293 (build-system go-build-system)
6294 (arguments '(#:import-path "github.com/xdg-go/pbkdf2"))
6295 (home-page "https://github.com/xdg-go/pbkdf2")
6296 (synopsis "Go implementation of PBKDF2")
6297 (description
6298 "Package pbkdf2 implements password-based key derivation using the PBKDF2
6299algorithm described in @url{https://rfc-editor.org/rfc/rfc2898.html,RFC 2898}
6300and @url{https://rfc-editor.org/rfc/rfc8018.html,RFC 8018}.")
6301 (license license:asl2.0)))
6302
6303(define-public go-github-com-xdg-go-scram
6304 (package
6305 (name "go-github-com-xdg-go-scram")
6306 (version "1.0.2")
6307 (source
6308 (origin
6309 (method git-fetch)
6310 (uri (git-reference
6311 (url "https://github.com/xdg-go/scram")
6312 (commit (string-append "v" version))))
6313 (file-name (git-file-name name version))
6314 (sha256
6315 (base32 "1jyv4qgc1dgh3v96pazmgljpp9ij25k8hwn0v4fck18g16i0nccm"))))
6316 (build-system go-build-system)
6317 (arguments '(#:import-path "github.com/xdg-go/scram"))
6318 (propagated-inputs
6319 (list go-github-com-xdg-go-stringprep
6320 go-github-com-xdg-go-pbkdf2))
6321 (home-page "https://github.com/xdg-go/scram")
6322 (synopsis "Go implementation of RFC-5802")
6323 (description
6324 "Package scram provides client and server implementations of the
6325@acronym{Salted Challenge Response Authentication Mechanism, SCRAM} described in
6326RFC-5802 and RFC-7677.")
6327 (license license:asl2.0)))
6328
6329(define-public go-github-com-godbus-dbus
6330 (package
6331 (name "go-github-com-godbus-dbus")
6332 (version "0.0.0-20190726142602-4481cbc300e2")
6333 (source (origin
6334 (method git-fetch)
6335 (uri (git-reference
6336 (url "https://github.com/godbus/dbus")
6337 (commit (go-version->git-ref version))))
6338 (file-name (git-file-name name version))
6339 (sha256
6340 (base32
6341 "0h0cl1r136g0kxbw3i7ggb9mhavpi1yr7d7312iwhkxm93dxkphg"))))
6342 (build-system go-build-system)
6343 (arguments
6344 (list
6345 #:import-path "github.com/godbus/dbus"
6346 #:phases
6347 #~(modify-phases %standard-phases
6348 (add-after 'unpack 'disable-failing-tests
6349 (lambda* (#:key tests? unpack-path #:allow-other-keys)
6350 (with-directory-excursion (string-append "src/" unpack-path)
6351 (substitute* (find-files "." "\\_test.go$")
6352 ;; Disable tests which require a system D-Bus instance.
6353 (("TestSystemBus") "OffTestSystemBus")
6354 (("TestConnectSystemBus") "OffTestConnectSystemBus")))))
6355 (replace 'check
6356 (lambda* (#:key tests? import-path #:allow-other-keys)
6357 (when tests?
6358 (with-directory-excursion (string-append "src/" import-path)
6359 (invoke "dbus-run-session" "--" "go" "test" "./..."))))))))
6360 (native-inputs
6361 (list dbus)) ;dbus-launch
6362 (home-page "https://github.com/godbus/dbus/")
6363 (synopsis "Native Go client bindings for the D-Bus")
6364 (description "@code{dbus} is a library that implements native Go client
6365bindings for the D-Bus message bus system.")
6366 (license license:bsd-2)))
6367
6368(define-public go-github-com-godbus-dbus-v5
6369 (package
6370 (inherit go-github-com-godbus-dbus)
6371 (name "go-github-com-godbus-dbus-v5")
6372 (version "5.1.0")
6373 (source
6374 (origin
6375 (method git-fetch)
6376 (uri (git-reference
6377 (url "https://github.com/godbus/dbus")
6378 (commit (string-append "v" version))))
6379 (file-name (git-file-name name version))
6380 (sha256
6381 (base32 "1kayd4x7idrhi06ahh5kqkgwzgh9icvv71mjar2d0jl486dfs8r5"))))
6382 (arguments
6383 (substitute-keyword-arguments
6384 (package-arguments go-github-com-godbus-dbus)
6385 ((#:import-path _ "github.com/godbus/dbus")
6386 "github.com/godbus/dbus/v5")))))
6387
6388(define-public go-github-com-delthas-go-libnp 2170(define-public go-github-com-delthas-go-libnp
6389 (let ((commit "0e45ece1f878f202fee2c74801e287804668f677")) 2171 (let ((commit "0e45ece1f878f202fee2c74801e287804668f677"))
6390 (package 2172 (package
@@ -6409,28 +2191,6 @@ extracting information about the music/image/video that is Now Playing on the
6409system.") 2191system.")
6410 (license license:expat)))) 2192 (license license:expat))))
6411 2193
6412(define-public go-github-com-delthas-go-localeinfo
6413 (package
6414 (name "go-github-com-delthas-go-localeinfo")
6415 (version "0.0.0-20240607105203-b2e834fc307d")
6416 (source (origin
6417 (method git-fetch)
6418 (uri (git-reference
6419 (url "https://github.com/delthas/go-localeinfo")
6420 (commit (go-version->git-ref version))))
6421 (file-name (git-file-name name version))
6422 (sha256
6423 (base32
6424 "0817lhic77sz9lxizy2rchwssp0vzl7qxbsfghcddg6ssy1n0zhj"))))
6425 (build-system go-build-system)
6426 (arguments `(#:tests? #f ; FIXME: tests assume certain locale
6427 #:import-path "github.com/delthas/go-localeinfo"))
6428 (home-page "https://github.com/delthas/go-localeinfo")
6429 (synopsis "Library for extracting locale information")
6430 (description "@code{go-localeinfo} extracts monetary/numeric/time
6431formatting information, rather than the current locale name.")
6432 (license license:expat)))
6433
6434(define-public go-github-com-zalando-go-keyring 2194(define-public go-github-com-zalando-go-keyring
6435 (package 2195 (package
6436 (name "go-github-com-zalando-go-keyring") 2196 (name "go-github-com-zalando-go-keyring")
@@ -6474,120 +2234,6 @@ formatting information, rather than the current locale name.")
6474deleting secrets from the system keyring.") 2234deleting secrets from the system keyring.")
6475 (license license:expat))) 2235 (license license:expat)))
6476 2236
6477(define-public go-github-com-zclconf-go-cty
6478 (package
6479 (name "go-github-com-zclconf-go-cty")
6480 (version "1.10.0")
6481 (source
6482 (origin
6483 (method git-fetch)
6484 (uri (git-reference
6485 (url "https://github.com/zclconf/go-cty")
6486 (commit (string-append "v" version))))
6487 (file-name (git-file-name name version))
6488 (sha256
6489 (base32 "0f9a6vy45gcx5pg5bnfs63manaqw80h7xzvmj3b80af38304zr71"))))
6490 (build-system go-build-system)
6491 (arguments
6492 '(#:unpack-path "github.com/zclconf/go-cty"
6493 #:import-path "github.com/zclconf/go-cty/cty"))
6494 (native-inputs
6495 (list go-github-com-google-go-cmp))
6496 (propagated-inputs
6497 (list go-golang-org-x-text
6498 go-github-com-vmihailenco-msgpack-v4
6499 go-github-com-apparentlymart-go-textseg-v13))
6500 (home-page "https://github.com/zclconf/go-cty")
6501 (synopsis "Type system for dynamic values in Go applications")
6502 (description
6503 "@code{cty} (pronounced \"see-tie\") is a dynamic type system for
6504applications written in Go that need to represent user-supplied values without
6505losing type information. The primary intended use is for implementing
6506configuration languages, but other uses may be possible too.")
6507 (license license:expat)))
6508
6509(define-public go-gopkg-in-errgo-fmt-errors
6510 (package
6511 (name "go-gopkg-in-errgo-fmt-errors")
6512 (version "2.1.0")
6513 (source (origin
6514 (method git-fetch)
6515 (uri (git-reference
6516 (url "https://github.com/go-errgo/errgo")
6517 (commit (string-append "v" version))))
6518 (file-name (git-file-name name version))
6519 (sha256
6520 (base32
6521 "065mbihiy7q67wnql0bzl9y1kkvck5ivra68254zbih52jxwrgr2"))))
6522 (build-system go-build-system)
6523 (arguments
6524 `(#:import-path "gopkg.in/errgo.v2"
6525 #:tests? #f
6526 ;; Source-only package
6527 #:phases
6528 (modify-phases %standard-phases
6529 (delete 'build))))
6530 (home-page "https://godoc.org/gopkg.in/errgo.v2")
6531 (synopsis "Functions that use the fmt package to format error messages")
6532 (description "This package is the same as @code{gopkg.in/errgo.v2/errors}
6533except that it adds convenience functions that use the fmt package to format
6534error messages.")
6535 (license license:bsd-3)))
6536
6537(define-public go-github-com-gologme-log
6538 ;; this is the same as v1.2.0, only the LICENSE file changed
6539 (let ((commit "720ba0b3ccf0a91bc6018c9967a2479f93f56a55"))
6540 (package
6541 (name "go-github-com-gologme-log")
6542 (version "1.2.0")
6543 (source
6544 (origin
6545 (method git-fetch)
6546 (uri (git-reference
6547 (url "https://github.com/gologme/log")
6548 (commit commit)))
6549 (file-name (git-file-name name version))
6550 (sha256
6551 (base32
6552 "0z3gs5ngv2jszp42ypp3ai0pn410v3b2m674g73ma7vsbn2yjk1n"))))
6553 (build-system go-build-system)
6554 (arguments
6555 '(#:import-path "github.com/gologme/log"))
6556 (home-page "https://github.com/gologme/log/")
6557 (synopsis
6558 "Fork of the golang built in log package to add support for levels")
6559 (description "This package is a drop in replacement for the built-in Go
6560log package. All the functionality of the built-in package still exists and
6561is unchanged. This package contains a series of small enhancements and
6562additions.")
6563 (license license:bsd-3))))
6564
6565(define-public go-github-com-kardianos-minwinsvc
6566 (package
6567 (name "go-github-com-kardianos-minwinsvc")
6568 (version "1.0.0")
6569 (source
6570 (origin
6571 (method git-fetch)
6572 (uri (git-reference
6573 (url "https://github.com/kardianos/minwinsvc")
6574 (commit (string-append "v" version))))
6575 (file-name (git-file-name name version))
6576 (sha256
6577 (base32
6578 "0z941cxymkjcsj3p5l3g4wm2da3smz7iyqk2wbs5y8lmxd4kfzd8"))))
6579 (build-system go-build-system)
6580 (arguments
6581 '(#:import-path "github.com/kardianos/minwinsvc"))
6582 (home-page "https://github.com/kardianos/minwinsvc/")
6583 ;; some packages (Yggdrasil) need it to compile
6584 ;; it's a tiny package and it's easier to bundle it than to patch it out
6585 (synopsis "Minimal windows only service stub for Go")
6586 (description "Go programs designed to run from most *nix style operating
6587systems can import this package to enable running programs as services without
6588modifying them.")
6589 (license license:zlib)))
6590
6591(define-public go-github-com-akosmarton-papipes 2237(define-public go-github-com-akosmarton-papipes
6592 (let ((commit "3c63b4919c769c9c2b2d07e69a98abb0eb47fe64") 2238 (let ((commit "3c63b4919c769c9c2b2d07e69a98abb0eb47fe64")
6593 (revision "0")) 2239 (revision "0"))
@@ -6659,535 +2305,6 @@ sinks and sources.")
6659or capture raw audio.") 2305or capture raw audio.")
6660 (license license:expat)))) 2306 (license license:expat))))
6661 2307
6662(define-public go-github-com-pborman-getopt
6663 (package
6664 (name "go-github-com-pborman-getopt")
6665 (version "2.1.0")
6666 (source
6667 (origin
6668 (method git-fetch)
6669 (uri (git-reference
6670 (url "https://github.com/pborman/getopt")
6671 (commit (string-append "v" version))))
6672 (file-name (git-file-name name version))
6673 (sha256
6674 (base32 "0sacv6g8cxfibxd3gnfjnzp7fynrnc4s2aaz5wbxivqqhvflc22l"))))
6675 (build-system go-build-system)
6676 (arguments
6677 '(#:import-path "github.com/pborman/getopt"))
6678 (home-page "https://github.com/pborman/getopt")
6679 (synopsis "Getopt style option parsing for Go")
6680 (description
6681 "This package provides traditional getopt processing for implementing
6682programs that use traditional command lines.")
6683 (license license:bsd-3)))
6684
6685(define-public go-git-sr-ht-adnano-go-gemini
6686 (package
6687 (name "go-git-sr-ht-adnano-go-gemini")
6688 (version "0.2.3")
6689 (source (origin
6690 (method git-fetch)
6691 (uri (git-reference
6692 (url "https://git.sr.ht/~adnano/go-gemini")
6693 (commit (string-append "v" version))))
6694 (file-name (git-file-name name version))
6695 (sha256
6696 (base32
6697 "0mv4x4cfwyhh77wfb3r221bhr84x4nmjpgysnvvjgmbnnafsgfns"))))
6698 (build-system go-build-system)
6699 (arguments
6700 (list #:import-path "git.sr.ht/~adnano/go-gemini"))
6701 (propagated-inputs
6702 (list go-golang-org-x-net go-golang-org-x-text))
6703 (home-page "https://git.sr.ht/~adnano/go-gemini")
6704 (synopsis "Gemini protocol in Go")
6705 (description
6706 "The @code{gemini} package implements the Gemini protocol in Go. It
6707provides an API similar to that of NET/HTTP to facilitate the development of
6708Gemini clients and servers.")
6709 (license license:expat)))
6710
6711(define-public gofumpt
6712 (package
6713 (name "gofumpt")
6714 (version "0.4.0")
6715 (source (origin
6716 (method git-fetch)
6717 (uri (git-reference
6718 (url "https://github.com/mvdan/gofumpt")
6719 (commit (string-append "v" version))))
6720 (file-name (git-file-name name version))
6721 (sha256
6722 (base32
6723 "13ahi8q1a9h4dj6a7xp95c79d5svz5p37b6z91aswbq043qd417k"))
6724 (modules '((guix build utils)))
6725 (snippet `(let ((fixed-version (string-append ,version
6726 " (GNU Guix)")))
6727 ;; Gofumpt formats Go files, and therefore modifies
6728 ;; them. To help the developers diagnose issues, it
6729 ;; replaces any occurrence of a `//gofumpt:diagnose`
6730 ;; comment with some debugging information which
6731 ;; includes the module version. In the event gofumpt
6732 ;; was built without module support, it falls back
6733 ;; to a string "(devel)". Since our build system
6734 ;; does not yet support modules, we'll inject our
6735 ;; version string instead, since this is more
6736 ;; helpful.
6737 (substitute* "internal/version/version.go"
6738 (("^const fallbackVersion.+")
6739 (format #f "const fallbackVersion = \"~a\"~%"
6740 fixed-version)))
6741 ;; These tests rely on `//gofumpt:diagnose` comments
6742 ;; being replaced with fixed information injected
6743 ;; from the test scripts, but this requires a binary
6744 ;; compiled as a Go module. Since we can't do this
6745 ;; yet, modify the test scripts with the version
6746 ;; string we're injecting.
6747 (delete-file "testdata/script/diagnose.txtar")
6748 (substitute* (find-files "testdata/script/"
6749 "\\.txtar$")
6750 (("v0.0.0-20220727155840-8dda8068d9f3")
6751 fixed-version)
6752 (("(devel)")
6753 fixed-version)
6754 (("v0.3.2-0.20220627183521-8dda8068d9f3")
6755 fixed-version))))))
6756 (build-system go-build-system)
6757 (arguments
6758 `(#:import-path "mvdan.cc/gofumpt"))
6759 (native-inputs (list go-gopkg-in-errgo-fmt-errors))
6760 (propagated-inputs (list go-github-com-pkg-diff
6761 go-github-com-kr-text
6762 go-github-com-kr-pretty
6763 go-golang-org-x-tools
6764 go-golang-org-x-sys
6765 go-golang-org-x-sync
6766 go-golang-org-x-mod
6767 go-github-com-rogpeppe-go-internal
6768 go-github-com-google-go-cmp
6769 go-github-com-frankban-quicktest))
6770 (home-page "https://mvdan.cc/gofumpt/")
6771 (synopsis "Formats Go files with a stricter ruleset than gofmt")
6772 (description
6773 "Enforce a stricter format than @code{gofmt}, while being backwards compatible.
6774That is, @code{gofumpt} is happy with a subset of the formats that
6775@code{gofmt} is happy with.")
6776 (license license:bsd-3)))
6777
6778(define-public go-mvdan-cc-gofumpt
6779 (package
6780 (inherit gofumpt)
6781 (name "go-mvdan-cc-gofumpt")
6782 (arguments
6783 `(#:import-path "mvdan.cc/gofumpt"
6784 #:tests? #f
6785 #:install-source? #t
6786 #:phases (modify-phases %standard-phases
6787 (delete 'build))))
6788 (propagated-inputs (package-inputs gofumpt))
6789 (native-inputs '())
6790 (inputs '())))
6791
6792(define-public unparam
6793 (package
6794 (name "unparam")
6795 (version "0.0.0-20240528143540-8a5130ca722f")
6796 (source (origin
6797 (method git-fetch)
6798 (uri (git-reference
6799 (url "https://github.com/mvdan/unparam")
6800 (commit (go-version->git-ref version))))
6801 (file-name (git-file-name name version))
6802 (sha256
6803 (base32
6804 "0qrwszcmb5slbzkq3acw57b896z22zwkv6cf6ldxwlc6p179g009"))))
6805 (build-system go-build-system)
6806 (arguments
6807 `(;; FIXME: <...>-go-1.21.5/lib/go/src/runtime/cgo/cgo.go:33:8: could not
6808 ;; import C (no metadata for C)
6809 ;; <...>-go-1.21.5/lib/go/src/net/cgo_linux.go:12:8: could not import C
6810 ;; (no metadata for C)
6811 #:tests? #f
6812 #:import-path "mvdan.cc/unparam"))
6813 (inputs (list go-github-com-pkg-diff go-golang-org-x-tools
6814 go-github-com-rogpeppe-go-internal))
6815 (home-page "https://mvdan.cc/unparam/")
6816 (synopsis "Find unused parameters in Go")
6817 (description "Reports unused function parameters and results in Go code.")
6818 (license license:bsd-3)))
6819
6820(define-public go-mvdan-cc-unparam
6821 (package
6822 (inherit unparam)
6823 (name "go-mvdan-cc-unparam")
6824 (arguments
6825 `(#:import-path "github.com/mvdan/unparam"
6826 #:tests? #f
6827 #:install-source? #t
6828 #:phases (modify-phases %standard-phases
6829 (delete 'build))))
6830 (propagated-inputs (package-inputs unparam))
6831 (native-inputs '())
6832 (inputs '())))
6833
6834(define-public go-github-com-davecgh-go-xdr
6835 (package
6836 (name "go-github-com-davecgh-go-xdr")
6837 (version "0.0.0-20161123171359-e6a2ba005892")
6838 (source
6839 (origin
6840 (method git-fetch)
6841 (uri (git-reference
6842 (url "https://github.com/davecgh/go-xdr")
6843 (commit (go-version->git-ref version))))
6844 (file-name (git-file-name name version))
6845 (sha256
6846 (base32
6847 "0vifrz4iil4r7k8sz5iqlfbh80ysgs5abp2simgyhsbrkxrrsrrd"))))
6848 (build-system go-build-system)
6849 (arguments
6850 '(#:import-path "github.com/davecgh/go-xdr/xdr2"
6851 #:unpack-path "github.com/davecgh/go-xdr"))
6852 (home-page "https://github.com/davecgh/go-xdr")
6853 (synopsis "Pure Go implementation of the XDR standard")
6854 (description "@code{go-xdr} implements the data representation portion of
6855the External Data Representation (XDR) standard protocol as specified in RFC
68564506 (obsoletes RFC 1832 and RFC 1014) in pure Go.")
6857 (license license:isc)))
6858
6859(define-public go-gopkg-in-djherbis-times-v1
6860 (package
6861 (name "go-gopkg-in-djherbis-times-v1")
6862 (version "1.5.0")
6863 (home-page "https://gopkg.in/djherbis/times.v1")
6864 (source
6865 (origin
6866 (method git-fetch)
6867 (uri (git-reference
6868 (url home-page)
6869 (commit (string-append "v" version))))
6870 (file-name (git-file-name name version))
6871 (sha256
6872 (base32 "1xvl3rgjif5yf62p16yk05kxrsmzhz1kkqisvw4k02svzq10qbfy"))
6873 (modules '((guix build utils)))
6874 (snippet '(delete-file-recursively "example"))))
6875 (build-system go-build-system)
6876 (arguments
6877 '(#:import-path "gopkg.in/djherbis/times.v1"))
6878 (synopsis "Go library for getting file times")
6879 (description
6880 "Provides a platform-independent way to get atime, mtime, ctime and btime for files.")
6881 (license license:expat)))
6882
6883(define-public go-github-com-valyala-bytebufferpool
6884 (package
6885 (name "go-github-com-valyala-bytebufferpool")
6886 (version "1.0.0")
6887 (source
6888 (origin
6889 (method git-fetch)
6890 (uri (git-reference
6891 (url "https://github.com/valyala/bytebufferpool")
6892 (commit (string-append "v" version))))
6893 (file-name (git-file-name name version))
6894 (sha256
6895 (base32 "01lqzjddq6kz9v41nkky7wbgk7f1cw036sa7ldz10d82g5klzl93"))))
6896 (build-system go-build-system)
6897 (arguments
6898 '(#:import-path "github.com/valyala/bytebufferpool"))
6899 (home-page "https://github.com/valyala/bytebufferpool")
6900 (synopsis "Anti-memory-waste byte buffer pool for Golang")
6901 (description
6902 "@code{bytebufferpool} implements a pool of byte buffers with
6903anti-fragmentation protection.")
6904 (license license:expat)))
6905
6906(define-public go-github-com-valyala-tcplisten
6907 (package
6908 (name "go-github-com-valyala-tcplisten")
6909 (version "1.0.0")
6910 (source
6911 (origin
6912 (method git-fetch)
6913 (uri (git-reference
6914 (url "https://github.com/valyala/tcplisten")
6915 (commit (string-append "v" version))))
6916 (file-name (git-file-name name version))
6917 (sha256
6918 (base32 "1fv5hxmq1jwrjn1rdjvbmjrrkb601zcdh01qhx6d8l7ss6n05zb8"))))
6919 (build-system go-build-system)
6920 (arguments
6921 ;; NOTE: (Sharlatan-20211218T165504+0000): Tests failing:
6922 ;;
6923 ;; tcplisten_test.go:56: cannot create listener 0 using Config
6924 ;; &tcplisten.Config{ReusePort:false, DeferAccept:false, FastOpen:false,
6925 ;; Backlog:32}: lookup ip6-localhost on [::1]:53: read udp
6926 ;; [::1]:33932->[::1]:53: read: connection refused
6927 ;;
6928 '(#:tests? #f
6929 #:import-path "github.com/valyala/tcplisten"))
6930 (home-page "https://github.com/valyala/tcplisten")
6931 (synopsis "Customizable TCP net.Listener for Go")
6932 (description
6933 "@code{tcplisten} provides customizable TCP net.Listener with various
6934performance-related options.")
6935 (license license:expat)))
6936
6937(define-public go-github-com-vmihailenco-msgpack-v4
6938 (package
6939 (name "go-github-com-vmihailenco-msgpack-v4")
6940 (version "4.3.12")
6941 (source
6942 (origin
6943 (method git-fetch)
6944 (uri (git-reference
6945 (url "https://github.com/vmihailenco/msgpack")
6946 (commit (string-append "v" version))))
6947 (file-name (git-file-name name version))
6948 (sha256
6949 (base32 "0aiavk7b5fn050bbc0naldk2bsl60f8wil5i6a1cfp3lxxnvmvng"))))
6950 (build-system go-build-system)
6951 (arguments
6952 '(#:import-path "github.com/vmihailenco/msgpack/v4"))
6953 (native-inputs
6954 (list go-gopkg-in-check-v1))
6955 (propagated-inputs
6956 (list go-github-com-vmihailenco-tagparser))
6957 (home-page "https://github.com/vmihailenco/msgpack")
6958 (synopsis "MessagePack encoding for Golang")
6959 (description
6960 "This package provides implementation of MessagePack encoding for Go
6961programming language.")
6962 (license license:bsd-2)))
6963
6964(define-public go-github-com-vmihailenco-tagparser
6965 (package
6966 (name "go-github-com-vmihailenco-tagparser")
6967 (version "2.0.0")
6968 (source
6969 (origin
6970 (method git-fetch)
6971 (uri (git-reference
6972 (url "https://github.com/vmihailenco/tagparser")
6973 (commit (string-append "v" version))))
6974 (file-name (git-file-name name version))
6975 (sha256
6976 (base32 "13arliaz3b4bja9jj7cr5ax4zvxaxm484fwrn0q6d6jjm1l35m1k"))))
6977 (build-system go-build-system)
6978 (arguments
6979 '(#:import-path "github.com/vmihailenco/tagparser"))
6980 (home-page "https://github.com/vmihailenco/tagparser")
6981 (synopsis "Tag parser for Golang")
6982 (description "This package is a simple Golang implementation of tag
6983parser.")
6984 (license license:bsd-2)))
6985
6986(define-public go-github-com-rivo-uniseg
6987 (package
6988 (name "go-github-com-rivo-uniseg")
6989 (version "0.4.7")
6990 (source
6991 (origin
6992 (method git-fetch)
6993 (uri (git-reference
6994 (url "https://github.com/rivo/uniseg")
6995 (commit (string-append "v" version))))
6996 (file-name (git-file-name name version))
6997 (sha256
6998 (base32 "0nlcqyvq4vhq3hqhk84h6fp0jbqkjj88kcpcl853yr7sh4sisdxc"))))
6999 (build-system go-build-system)
7000 (arguments '(#:import-path "github.com/rivo/uniseg"))
7001 (home-page "https://github.com/rivo/uniseg")
7002 (synopsis "Unicode Text Segmentation for Go")
7003 (description
7004 "This package implements Unicode Text Segmentation according to
7005@url{https://unicode.org/reports/tr29/, Unicode Standard Annex #29}.")
7006 (license license:expat)))
7007
7008(define-public go-github-com-charmbracelet-bubbletea
7009 (package
7010 (name "go-github-com-charmbracelet-bubbletea")
7011 (version "1.2.3")
7012 (source
7013 (origin
7014 (method git-fetch)
7015 (uri (git-reference
7016 (url "https://github.com/charmbracelet/bubbletea")
7017 (commit (string-append "v" version))))
7018 (file-name (git-file-name name version))
7019 (sha256
7020 (base32
7021 "0ggkl29qixgin5av1mbnwfbb31kmwpczh8pgpjsx9z277fs55mph"))))
7022 (build-system go-build-system)
7023 (arguments
7024 (list
7025 #:import-path "github.com/charmbracelet/bubbletea"
7026 #:phases
7027 #~(modify-phases %standard-phases
7028 (add-after 'unpack 'remove-examples
7029 (lambda* (#:key import-path #:allow-other-keys)
7030 (with-directory-excursion (string-append "src/" import-path)
7031 (for-each delete-file-recursively
7032 '("examples" "tutorials")))))
7033 (add-before 'check 'fix-tests
7034 (lambda _
7035 ;; XXX: The package requires
7036 ;; "go-github-com-charmbracelet-x-ansi" version 0.4.5; with the
7037 ;; newer version of "ansi", some "bubbletea" screen tests fail
7038 ;; as "ansi" 0.5.2 handles escape sequences a little bit
7039 ;; differently.
7040 (substitute* "src/github.com/charmbracelet/bubbletea/screen_test.go"
7041 (("x1b\\[0K")
7042 "x1b[K")
7043 (("x1b\\[2;0H")
7044 "x1b[2;H")))))))
7045 (propagated-inputs
7046 (list go-github-com-charmbracelet-lipgloss
7047 go-github-com-charmbracelet-x-ansi
7048 go-github-com-charmbracelet-x-term
7049 go-github-com-containerd-console
7050 go-github-com-lucasb-eyer-go-colorful
7051 go-github-com-mattn-go-isatty
7052 go-github-com-mattn-go-isatty
7053 go-github-com-mattn-go-runewidth
7054 go-github-com-muesli-ansi
7055 go-github-com-muesli-cancelreader
7056 go-github-com-muesli-reflow
7057 go-github-com-muesli-termenv
7058 go-golang-org-x-crypto
7059 go-golang-org-x-sync
7060 go-golang-org-x-sys
7061 go-golang-org-x-term))
7062 (home-page "https://github.com/charmbracelet/bubbletea")
7063 (synopsis "Powerful little TUI framework")
7064 (description
7065 "Bubble Tea is a Go framework based on The Elm Architecture. It is
7066well-suited for simple and complex terminal applications, either inline,
7067full-window, or a mix of both.")
7068 (license license:asl2.0)))
7069
7070(define-public go-github-com-containerd-console
7071 (package
7072 (name "go-github-com-containerd-console")
7073 (version "1.0.3")
7074 (source
7075 (origin
7076 (method git-fetch)
7077 (uri (git-reference
7078 (url "https://github.com/containerd/console")
7079 (commit (string-append "v" version))))
7080 (file-name (git-file-name name version))
7081 (sha256
7082 (base32
7083 "0pgx0y8x23jwc2f9jfk5hd5aslqk599nj6c7dj5846xvnkz2x7p2"))))
7084 (build-system go-build-system)
7085 (arguments
7086 `(#:import-path "github.com/containerd/console"))
7087 (propagated-inputs
7088 `(("golang.org/x/sys" ,go-golang-org-x-sys)))
7089 (home-page "https://github.com/containerd/console")
7090 (synopsis "Console package for Go")
7091 (description
7092 "This is Golang package for dealing with consoles. It has few
7093dependencies and a simple API.")
7094 (license license:asl2.0)))
7095
7096(define-public go-github-com-mtibben-percent
7097 (package
7098 (name "go-github-com-mtibben-percent")
7099 (version "0.2.1")
7100 (source (origin
7101 (method git-fetch)
7102 (uri (git-reference
7103 (url "https://github.com/mtibben/percent")
7104 (commit (string-append "v" version))))
7105 (file-name (git-file-name name version))
7106 (sha256
7107 (base32
7108 "1iqivw8pigj259rj5yifibbvic70f9hb7k24a4sa967s4fj6agb6"))))
7109 (build-system go-build-system)
7110 (arguments
7111 '(#:import-path "github.com/mtibben/percent"
7112 #:phases %standard-phases))
7113 (synopsis "Package percent escapes strings using percent-encoding")
7114 (description
7115 "Package percent escapes strings using percent-encoding.")
7116 (home-page "https://github.com/mtibben/percent")
7117 (license license:expat)))
7118
7119(define-public aws-vault
7120 (package
7121 (name "aws-vault")
7122 (version "7.2.0")
7123 (source
7124 (origin
7125 (method git-fetch)
7126 (uri (git-reference
7127 (url "https://github.com/99designs/aws-vault")
7128 (commit (string-append "v" version))))
7129 (file-name (git-file-name name version))
7130 (sha256
7131 (base32 "1dqg6d2k8r80ww70afghf823z0pijha1i0a0c0c6918yb322zkj2"))))
7132 (build-system go-build-system)
7133 (arguments
7134 (list
7135 #:install-source? #f
7136 #:import-path "github.com/99designs/aws-vault"
7137 #:phases
7138 #~(modify-phases %standard-phases
7139 (add-before 'build 'patch-version
7140 (lambda _
7141 (substitute* "src/github.com/99designs/aws-vault/main.go"
7142 (("var Version = \"dev\"")
7143 (string-append "var Version = \"v" #$version "\"")))))
7144 (add-after 'build 'contrib
7145 (lambda* (#:key import-path #:allow-other-keys)
7146 (let* ((zsh-site-dir
7147 (string-append #$output "/share/zsh/site-functions"))
7148 (bash-completion-dir
7149 (string-append #$output "/share/bash-completion/completions"))
7150 (fish-completion-dir
7151 (string-append #$output "/share/fish/completions")))
7152 (for-each mkdir-p (list bash-completion-dir
7153 fish-completion-dir
7154 zsh-site-dir))
7155 (with-directory-excursion
7156 (string-append "src/" import-path "/contrib/completions")
7157 (copy-file "zsh/aws-vault.zsh"
7158 (string-append zsh-site-dir "/_aws-vault"))
7159 (copy-file "bash/aws-vault.bash"
7160 (string-append bash-completion-dir "/aws-vault"))
7161 (copy-file "fish/aws-vault.fish"
7162 (string-append fish-completion-dir "/aws-vault.fish")))))))))
7163 (native-inputs
7164 (list go-github-com-99designs-keyring
7165 go-github-com-alecthomas-kingpin-v2
7166 go-github-com-aws-aws-sdk-go-v2
7167 go-github-com-aws-aws-sdk-go-v2-config
7168 go-github-com-aws-aws-sdk-go-v2-credentials
7169 go-github-com-aws-aws-sdk-go-v2-service-iam
7170 go-github-com-aws-aws-sdk-go-v2-service-sso
7171 go-github-com-aws-aws-sdk-go-v2-service-ssooidc
7172 go-github-com-aws-aws-sdk-go-v2-service-sts
7173 go-github-com-google-go-cmp
7174 go-github-com-mattn-go-isatty
7175 go-github-com-mattn-go-tty
7176 go-github-com-skratchdot-open-golang
7177 go-golang-org-x-term
7178 go-gopkg-in-ini-v1))
7179 (home-page "https://github.com/99designs/aws-vault")
7180 (synopsis "Vault for securely storing and accessing AWS credentials")
7181 (description
7182 "AWS Vault is a tool to securely store and access @acronym{Amazon Web
7183Services,AWS} credentials.
7184
7185AWS Vault stores IAM credentials in your operating system's secure keystore and
7186then generates temporary credentials from those to expose to your shell and
7187applications. It's designed to be complementary to the AWS CLI tools, and is
7188aware of your profiles and configuration in ~/.aws/config.")
7189 (license license:expat)))
7190
7191(define-public go-github-com-gsterjov-go-libsecret 2308(define-public go-github-com-gsterjov-go-libsecret
7192 (package 2309 (package
7193 (name "go-github-com-gsterjov-go-libsecret") 2310 (name "go-github-com-gsterjov-go-libsecret")
@@ -7214,402 +2331,6 @@ aware of your profiles and configuration in ~/.aws/config.")
7214@code{Secret Service} DBus interface.") 2331@code{Secret Service} DBus interface.")
7215 (license license:expat))) 2332 (license license:expat)))
7216 2333
7217(define-public go-github-com-mtibben-androiddnsfix
7218 (let ((commit "ff02804463540c36e3a148dcf4b009d003cf2a31")
7219 (revision "0"))
7220 (package
7221 (name "go-github-com-mtibben-androiddnsfix")
7222 (version (git-version "0.0.0" revision commit))
7223 (source (origin
7224 (method git-fetch)
7225 (uri (git-reference
7226 (url "https://github.com/mtibben/androiddnsfix")
7227 (commit commit)))
7228 (file-name (git-file-name name version))
7229 (sha256
7230 (base32
7231 "1pcbjs793kd0yg3dcp79agfxm7xm3sldx2r7v66ipzpcq0j2npi2"))))
7232 (build-system go-build-system)
7233 (arguments
7234 '(#:import-path "github.com/mtibben/androiddnsfix"
7235 #:phases %standard-phases))
7236 (synopsis "Work around lack of @file{/etc/resolv.conf} on Android")
7237 (description
7238 "This package allows Go applications to work around lack of
7239@file{/etc/resolv.conf} on Android, as described in
7240@url{https://github.com/golang/go/issues/8877}.")
7241 (home-page "https://github.com/mtibben/androiddnsfix")
7242 (license license:expat))))
7243
7244(define-public go-github-com-androiddnsfix
7245 (deprecated-package "go-github-com-androiddnsfix" go-github-com-mtibben-androiddnsfix))
7246
7247(define-public go-gopkg-in-ini
7248 (package
7249 (name "go-gopkg-in-ini")
7250 (version "1.62.0")
7251 (source (origin
7252 (method git-fetch)
7253 (uri (git-reference
7254 (url "https://gopkg.in/ini.v1")
7255 (commit (string-append "v" version))))
7256 (file-name (git-file-name name version))
7257 (sha256
7258 (base32
7259 "1dm9ydqyflasp5li22kb0w73s6kp2swii8naqfhnz64v171gmm5v"))))
7260 (build-system go-build-system)
7261 (native-inputs
7262 (list go-github-com-smartystreets-goconvey))
7263 (arguments
7264 '(#:import-path "gopkg.in/ini.v1"
7265 #:phases %standard-phases))
7266 (synopsis "INI file read and write functionality in Go")
7267 (description
7268 "This package provides INI file read and write functionality in Go.")
7269 (home-page "https://gopkg.in/ini.v1")
7270 (license license:asl2.0)))
7271
7272;;; XXX: Since commit bfb61065f05a6eac0cf63b16db43d0c3e864c658, the
7273;;; canonical name of the ini package is `go-github-com-go-ini-ini`,
7274;;; not `go-gopkg-in-ini`.
7275(define-public go-github-com-go-ini-ini
7276 (package
7277 (inherit go-gopkg-in-ini)
7278 (name "go-github-com-go-ini-ini")
7279 (version "1.67.0")
7280 (source (origin
7281 (method git-fetch)
7282 (uri (git-reference
7283 (url "https://github.com/go-ini/ini")
7284 (commit (string-append "v" version))))
7285 (file-name (git-file-name name version))
7286 (sha256
7287 (base32
7288 "1vpzkjmrwp7bqqsijp61293kk2vn6lcck56j8m5y6ks6cf21lpap"))))
7289 (arguments
7290 (list #:import-path "github.com/go-ini/ini"))
7291 (propagated-inputs (list go-github-com-stretchr-testify))))
7292
7293(define-public go-github-com-skratchdot-open-golang
7294 (let ((commit "79abb63cd66e41cb1473e26d11ebdcd68b04c8e5")
7295 (revision "0"))
7296 (package
7297 (name "go-github-com-skratchdot-open-golang")
7298 (version "1.42.0")
7299 (source (origin
7300 (method git-fetch)
7301 (uri (git-reference
7302 (url "https://github.com/skratchdot/open-golang")
7303 (commit commit)))
7304 (file-name (git-file-name name version))
7305 (sha256
7306 (base32
7307 "0jc13jn8cj7p14n79zhav2nwga6kf9rqs01ic5k7j7agwzzly3ww"))))
7308 (build-system go-build-system)
7309 (arguments
7310 '(#:import-path "github.com/skratchdot/open-golang"
7311 #:phases (modify-phases %standard-phases
7312 (delete 'build)
7313 (delete 'check))))
7314 (synopsis "Open a file, directory, or URI using the default application")
7315 (description
7316 "Open a file, directory, or URI using the OS's default application for
7317that object type. Optionally, you can specify an application to use. On
7318GNU/Linux, this is a proxy for the @command{xdg-open} command.")
7319 (home-page "https://github.com/skratchdot/open-golang")
7320 (license license:expat))))
7321
7322(define-public go-github-com-dreamacro-go-shadowsocks2
7323 (package
7324 (name "go-github-com-dreamacro-go-shadowsocks2")
7325 (version "0.1.7")
7326 (source
7327 (origin
7328 (method git-fetch)
7329 (uri (git-reference
7330 (url "https://github.com/Dreamacro/go-shadowsocks2")
7331 (commit (string-append "v" version))))
7332 (file-name (git-file-name name version))
7333 (sha256
7334 (base32 "0sjr3r77fav6q0ii6dnp4px9gaz7cq861a0yxppvb6a58420bx3h"))))
7335 (build-system go-build-system)
7336 (arguments '(#:import-path "github.com/Dreamacro/go-shadowsocks2"))
7337 (propagated-inputs (list go-golang-org-x-crypto))
7338 (home-page "https://github.com/Dreamacro/go-shadowsocks2")
7339 (synopsis "Shadowsocks implementation in Go")
7340 (description
7341 "This package is @code{shadowsocks} implementation in Go
7342
7343Features:
7344@itemize
7345@item SOCKS5 proxy
7346@item Support for Netfilter TCP redirect (IPv6 should work but not tested)
7347@item UDP tunneling (e.g. relay DNS packets)
7348@item TCP tunneling (e.g. benchmark with iperf3)
7349@end itemize")
7350 (license license:asl2.0)))
7351
7352(define-public go-sigs-k8s-io-yaml
7353 (package
7354 (name "go-sigs-k8s-io-yaml")
7355 (version "1.3.0")
7356 (source (origin
7357 (method git-fetch)
7358 (uri (git-reference
7359 (url "https://github.com/kubernetes-sigs/yaml")
7360 (commit (string-append "v" version))))
7361 (file-name (git-file-name name version))
7362 (sha256
7363 (base32
7364 "0qxs0ppqwqrfqs4aywyn1h28xh1qlj5ds4drmygaz1plrxj02dqn"))))
7365 (build-system go-build-system)
7366 (arguments '(#:import-path "sigs.k8s.io/yaml"))
7367 (propagated-inputs (list go-gopkg-in-yaml-v2 go-github-com-davecgh-go-spew))
7368 (home-page "https://sigs.k8s.io/yaml")
7369 (synopsis "YAML marshaling and unmarshaling support for Go")
7370 (description
7371 "This package provides a Go library that first converts YAML to JSON
7372using @code{go-yaml} and then uses @code{json.Marshal} and
7373@code{json.Unmarshal} to convert to or from the struct. This means that it
7374effectively reuses the JSON struct tags as well as the custom JSON methods
7375@code{MarshalJSON} and @code{UnmarshalJSON} unlike @code{go-yaml}.
7376
7377kubernetes-sigs/yaml is a permanent fork of
7378@url{https://github.com/ghodss/yaml,ghodss/yaml}.")
7379 (license (list license:expat license:bsd-3))))
7380
7381(define-public go-github-com-google-go-jsonnet
7382 (package
7383 (name "go-github-com-google-go-jsonnet")
7384 (version "0.18.0")
7385 (source (origin
7386 (method git-fetch)
7387 (uri (git-reference
7388 (url "https://github.com/google/go-jsonnet")
7389 (commit (string-append "v" version))))
7390 (file-name (git-file-name name version))
7391 (sha256
7392 (base32
7393 "1dghqygag123zkgh2vrnq82cdag5z0p03v3489pwhs06r5g27wm3"))))
7394 (build-system go-build-system)
7395 (arguments
7396 '(#:import-path "github.com/google/go-jsonnet/cmd/jsonnet"
7397 #:unpack-path "github.com/google/go-jsonnet"))
7398 (propagated-inputs (list go-sigs-k8s-io-yaml go-gopkg-in-yaml-v2
7399 go-github-com-sergi-go-diff
7400 go-github-com-fatih-color))
7401 (home-page "https://github.com/google/go-jsonnet")
7402 (synopsis "Go implementation of Jsonnet")
7403 (description
7404 "This package provides an implementation of the @url{http://jsonnet.org/,
7405Jsonnet} data templating language in Go. It is a feature-complete,
7406production-ready implementation, compatible with the original Jsonnet C++
7407implementation.")
7408 (license license:asl2.0)))
7409
7410;; XXX: This repository has been archived by the owner on Dec 29, 2022. It is
7411;; now read-only. It's only used by kiln, consider to remove it when it does
7412;; no longer require it.
7413(define-public go-github-com-google-shlex
7414 (package
7415 (name "go-github-com-google-shlex")
7416 (version "0.0.0-20191202100458-e7afc7fbc510")
7417 (source
7418 (origin
7419 (method git-fetch)
7420 (uri (git-reference
7421 (url "https://github.com/google/shlex")
7422 (commit (go-version->git-ref version))))
7423 (file-name (git-file-name name version))
7424 (sha256
7425 (base32 "14z8hqyik910wk2qwnzgz8mjsmiamxa0pj55ahbv0jx6j3dgvzfm"))))
7426 (build-system go-build-system)
7427 (arguments (list #:import-path "github.com/google/shlex"))
7428 (home-page "https://github.com/google/shlex")
7429 (synopsis "Simple lexer for Go")
7430 (description
7431 "@code{shlex} implements a simple lexer which splits input into tokens
7432using shell-style rules for quoting and commenting.")
7433 (license license:asl2.0)))
7434
7435(define-public go-github-com-peterbourgon-diskv
7436 (package
7437 (name "go-github-com-peterbourgon-diskv")
7438 (version "3.0.0")
7439 (source
7440 (origin
7441 (method git-fetch)
7442 (uri (git-reference
7443 (url "https://github.com/peterbourgon/diskv")
7444 (commit (string-append "v" version))))
7445 (file-name (git-file-name name version))
7446 (sha256
7447 (base32 "0pdy8f7bkm65gx4vknwcvfa619hknflqxkdlvmf427k2mzm91gmh"))))
7448 (build-system go-build-system)
7449 (arguments
7450 `(#:import-path "github.com/peterbourgon/diskv"))
7451 (propagated-inputs (list go-github-com-google-btree))
7452 (home-page "https://github.com/peterbourgon/diskv")
7453 (synopsis "Disk-backed key-value store")
7454 (description
7455 "Diskv (disk-vee) is a simple, persistent key-value store written in the Go
7456language. It starts with a simple API for storing arbitrary data on a filesystem by
7457key, and builds several layers of performance-enhancing abstraction on top. The end
7458result is a conceptually simple, but highly performant, disk-backed storage system.")
7459 (license license:expat)))
7460
7461(define-public go-github-com-disintegration-imaging
7462 (package
7463 (name "go-github-com-disintegration-imaging")
7464 (version "1.6.2")
7465 (source (origin
7466 (method git-fetch)
7467 (uri (git-reference
7468 (url "https://github.com/disintegration/imaging")
7469 (commit (string-append "v" version))))
7470 (file-name (git-file-name name version))
7471 (sha256
7472 (base32
7473 "1sl201nmk601h0aii4234sycn4v2b0rjxf8yhrnik4yjzd68q9x5"))))
7474 (build-system go-build-system)
7475 (arguments
7476 '(#:import-path "github.com/disintegration/imaging"))
7477 (inputs (list go-golang-org-x-image))
7478 (home-page "https://github.com/disintegration/imaging")
7479 (synopsis "Simple image processing for Go")
7480 (description "This package provides basic image processing functions
7481(resize, rotate, crop, brightness/contrast adjustments, etc.).")
7482 (license license:expat)))
7483
7484(define notmuch-fixtures
7485 (origin
7486 (method url-fetch)
7487 (uri "http://notmuchmail.org/releases/test-databases/database-v1.tar.xz")
7488 (sha256
7489 (base32
7490 "1lk91s00y4qy4pjh8638b5lfkgwyl282g1m27srsf7qfn58y16a2"))))
7491
7492(define-public go-github-com-zenhack-go-notmuch
7493 (package
7494 (name "go-github-com-zenhack-go-notmuch")
7495 (version "0.0.0-20211022191430-4d57e8ad2a8b")
7496 (source (origin
7497 (method git-fetch)
7498 (uri (git-reference
7499 (url "https://github.com/zenhack/go.notmuch")
7500 (commit (go-version->git-ref version))))
7501 (file-name (git-file-name name version))
7502 (sha256
7503 (base32
7504 "1j2s5smjf7pp7i72dw12sm9iz961y3cy8nkm7hmrg53f6wna57h9"))))
7505 (build-system go-build-system)
7506 (arguments
7507 (list #:import-path "github.com/zenhack/go.notmuch"
7508 #:phases #~(modify-phases %standard-phases
7509 (add-after 'unpack 'patch-notmuch-path
7510 (lambda* (#:key inputs import-path
7511 #:allow-other-keys)
7512 (substitute* (find-files (string-append "src/"
7513 import-path) "\\.go$")
7514 (("// #cgo LDFLAGS:.*$")
7515 (string-append "// #cgo LDFLAGS: -lnotmuch "
7516 "-L"
7517 #$(this-package-input "notmuch")
7518 "/lib\n"
7519 "// #cgo CFLAGS: "
7520 "-I"
7521 #$(this-package-input "notmuch")
7522 "/include\n")))))
7523 (add-before 'check 'unpack-test-fixtures
7524 (lambda* (#:key inputs import-path
7525 #:allow-other-keys)
7526 (invoke "tar" "xf"
7527 #+notmuch-fixtures "-C"
7528 (string-append "src/" import-path
7529 "/fixtures")))))))
7530 (inputs (list notmuch))
7531 (home-page "https://github.com/zenhack/go.notmuch")
7532 (synopsis "Go bindings to libnotmuch")
7533 (description
7534 "The notmuch package provides a Go language binding to the notmuch
7535email library.")
7536 (license license:gpl3+)))
7537
7538(define-public go-github-com-riywo-loginshell
7539 (package
7540 (name "go-github-com-riywo-loginshell")
7541 (version "0.0.0-20200815045211-7d26008be1ab")
7542 (source (origin
7543 (method git-fetch)
7544 (uri (git-reference
7545 (url "https://github.com/riywo/loginshell")
7546 (commit (go-version->git-ref version))))
7547 (file-name (git-file-name name version))
7548 (sha256
7549 (base32
7550 "138yvis6lipw9x02jyiz7472bxi20206bcfikcar54i3xsww9q4i"))))
7551 (build-system go-build-system)
7552 (arguments
7553 (list #:import-path "github.com/riywo/loginshell"
7554 ;; Tests try to get the current user's login shell; the build
7555 ;; user doesn't have one.
7556 #:tests? #f))
7557 (home-page "https://github.com/riywo/loginshell")
7558 (synopsis "Get the user's login shell in Go")
7559 (description
7560 "The loginshell package provides a Go library to get the login shell
7561of the current user.")
7562 (license license:expat)))
7563
7564(define-public go-github-com-ssgelm-cookiejarparser
7565 (package
7566 (name "go-github-com-ssgelm-cookiejarparser")
7567 (version "1.0.1")
7568 (source (origin
7569 (method git-fetch)
7570 (uri (git-reference
7571 (url "https://github.com/ssgelm/cookiejarparser")
7572 (commit (string-append "v" version))))
7573 (file-name (git-file-name name version))
7574 (sha256
7575 (base32
7576 "0fnm53br0cg3iwzniil0lh9w4xd6xpzfypwfpdiammfqavlqgcw4"))))
7577 (build-system go-build-system)
7578 (arguments
7579 (list
7580 #:embed-files #~(list "children" "nodes" "text")
7581 #:import-path "github.com/ssgelm/cookiejarparser"))
7582 (propagated-inputs (list go-golang-org-x-net))
7583 (home-page "https://github.com/ssgelm/cookiejarparser")
7584 (synopsis "Parse a curl cookiejar with Go")
7585 (description
7586 "This package is a Go library that parses a curl (netscape) cookiejar
7587file into a Go http.CookieJar.")
7588 (license license:expat)))
7589
7590(define-public go-github-com-ssor-bom
7591 (package
7592 (name "go-github-com-ssor-bom")
7593 (version "0.0.0-20170718123548-6386211fdfcf")
7594 (source (origin
7595 (method git-fetch)
7596 (uri (git-reference
7597 (url "https://github.com/ssor/bom")
7598 (commit (go-version->git-ref version))))
7599 (file-name (git-file-name name version))
7600 (sha256
7601 (base32
7602 "09g5496ifwqxqclh2iw58plcwcz0sczlnxwqxzwmnl4shdl371ld"))))
7603 (build-system go-build-system)
7604 (arguments
7605 (list #:import-path "github.com/ssor/bom"))
7606 (home-page "https://github.com/ssor/bom")
7607 (synopsis "Cleaning BOMs in Go")
7608 (description
7609 "The bom package provides small tools for cleaning BOMs from a byte
7610array or reader.")
7611 (license license:expat)))
7612
7613;;; 2334;;;
7614;;; Avoid adding new packages to the end of this file. To reduce the chances 2335;;; Avoid adding new packages to the end of this file. To reduce the chances
7615;;; of a merge conflict, place them above by existing packages with similar 2336;;; of a merge conflict, place them above by existing packages with similar
diff --git a/gnu/packages/high-availability.scm b/gnu/packages/high-availability.scm
index 677b2b49aee..2799b5097d1 100644
--- a/gnu/packages/high-availability.scm
+++ b/gnu/packages/high-availability.scm
@@ -215,6 +215,21 @@ applications.")
215 (sha256 215 (sha256
216 (base32 "0r1d0l3mmb90956wl97vqlb3cdhax7jkqa95hvx9b380g93a08py")))) 216 (base32 "0r1d0l3mmb90956wl97vqlb3cdhax7jkqa95hvx9b380g93a08py"))))
217 (build-system go-build-system) 217 (build-system go-build-system)
218 (arguments
219 (list
220 #:install-source? #f
221 #:import-path "github.com/nats-io/nats-server"
222 ;; The test logic is taken from project's GitHub Actions workflow file
223 ;; <.github/workflows/tests.yaml>.
224 #:test-flags
225 #~(list "-count=1" "-vet=off" "-failfast"
226 "-skip" (string-join
227 (list "TestHTTPHost"
228 "TestSysLogger"
229 "TestLogMaxArchives")
230 "|") )
231 #:test-subdirs
232 #~(list "conf/..." "internal/..." "logger/..." "test/...")))
218 (inputs 233 (inputs
219 (list go-github-com-klauspost-compress 234 (list go-github-com-klauspost-compress
220 go-github-com-minio-highwayhash 235 go-github-com-minio-highwayhash
@@ -226,10 +241,6 @@ applications.")
226 go-golang-org-x-crypto 241 go-golang-org-x-crypto
227 go-golang-org-x-sys 242 go-golang-org-x-sys
228 go-golang-org-x-time)) 243 go-golang-org-x-time))
229 (arguments
230 (list
231 #:import-path "github.com/nats-io/nats-server"
232 #:install-source? #f))
233 (home-page "https://github.com/nats-io/nats-server") 244 (home-page "https://github.com/nats-io/nats-server")
234 (synopsis "High performance message broker") 245 (synopsis "High performance message broker")
235 (description 246 (description
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 904f275d35d..477caafd4ea 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -81,8 +81,8 @@
81 #:use-module (gnu packages gl) 81 #:use-module (gnu packages gl)
82 #:use-module (gnu packages glib) 82 #:use-module (gnu packages glib)
83 #:use-module (gnu packages gnome) 83 #:use-module (gnu packages gnome)
84 #:use-module (gnu packages golang)
85 #:use-module (gnu packages golang-build) 84 #:use-module (gnu packages golang-build)
85 #:use-module (gnu packages golang-xyz)
86 #:use-module (gnu packages gtk) 86 #:use-module (gnu packages gtk)
87 #:use-module (gnu packages graphics) 87 #:use-module (gnu packages graphics)
88 #:use-module (gnu packages image) 88 #:use-module (gnu packages image)
@@ -576,7 +576,7 @@ It supports JPEG, PNG and GIF formats.")
576(define-public pixterm 576(define-public pixterm
577 (package 577 (package
578 (name "pixterm") 578 (name "pixterm")
579 (version "1.3.1") 579 (version "1.3.2")
580 (source (origin 580 (source (origin
581 (method git-fetch) 581 (method git-fetch)
582 (uri (git-reference 582 (uri (git-reference
@@ -585,14 +585,14 @@ It supports JPEG, PNG and GIF formats.")
585 (file-name (git-file-name name version)) 585 (file-name (git-file-name name version))
586 (sha256 586 (sha256
587 (base32 587 (base32
588 "0fm6c0mjz6zillqjirnjjf7mkrax1gyfcv6777i07ms3bnv0pcii")))) 588 "08x0pwnl3cyq5f29fxj379p9klzxl85p8jq2595xdz3mhb3pkgsg"))))
589 (build-system go-build-system) 589 (build-system go-build-system)
590 (arguments 590 (arguments
591 '(#:import-path "github.com/eliukblau/pixterm/cmd/pixterm" 591 '(#:install-source? #f
592 #:import-path "github.com/eliukblau/pixterm/cmd/pixterm"
592 #:unpack-path "github.com/eliukblau/pixterm")) 593 #:unpack-path "github.com/eliukblau/pixterm"))
593 (inputs (list go-github-com-disintegration-imaging 594 (inputs (list go-github-com-disintegration-imaging
594 go-github-com-lucasb-eyer-go-colorful 595 go-github-com-lucasb-eyer-go-colorful
595 go-golang-org-x-crypto
596 go-golang-org-x-image 596 go-golang-org-x-image
597 go-golang-org-x-term)) 597 go-golang-org-x-term))
598 (home-page "https://github.com/eliukblau/pixterm") 598 (home-page "https://github.com/eliukblau/pixterm")
diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm
index 349517e878c..43923a90ac5 100644
--- a/gnu/packages/ipfs.scm
+++ b/gnu/packages/ipfs.scm
@@ -43,6 +43,56 @@
43 #:use-module (gnu packages shells) 43 #:use-module (gnu packages shells)
44 #:use-module (gnu packages specifications)) 44 #:use-module (gnu packages specifications))
45 45
46(define-public go-github-com-ceramicnetwork-go-dag-jose
47 (package
48 (name "go-github-com-ceramicnetwork-go-dag-jose")
49 (version "0.1.1")
50 (source
51 (origin
52 (method git-fetch)
53 (uri (git-reference
54 (url "https://github.com/ceramicnetwork/go-dag-jose")
55 (commit (string-append "v" version))))
56 (file-name (git-file-name name version))
57 (sha256
58 (base32 "0g34dwlnq07zg176bdhp2hcg1hg5l55s0a6hk4kiq37vm01w68j7"))
59 (snippet
60 #~(begin (use-modules (guix build utils))
61 ;; Delete git submodule.
62 (delete-file-recursively ".ipld")))))
63 (build-system go-build-system)
64 (arguments
65 (list
66 #:import-path "github.com/ceramicnetwork/go-dag-jose"
67 #:phases
68 #~(modify-phases %standard-phases
69 ;; XXX: Workaround for go-build-system's lack of Go modules
70 ;; support.
71 (delete 'build)
72 (replace 'check
73 (lambda* (#:key tests? import-path #:allow-other-keys)
74 (when tests?
75 (with-directory-excursion (string-append "src/" import-path)
76 (invoke "go" "test" "-v" "./..."))))))))
77 (native-inputs
78 (list go-github-com-stretchr-testify
79 go-github-com-frankban-quicktest
80 go-github-com-warpfork-go-testmark))
81 (propagated-inputs
82 (list go-github-com-go-jose-go-jose-v4
83 go-github-com-ipfs-go-cid
84 go-github-com-ipld-go-ipld-prime
85 go-github-com-multiformats-go-multibase
86 go-github-com-multiformats-go-multihash
87 go-golang-org-x-crypto
88 go-pgregory-net-rapid))
89 (home-page "https://github.com/ceramicnetwork/go-dag-jose")
90 (synopsis "Implementation of the IPLD dag-jose codec")
91 (description
92 "This is an implementation of the IPLD
93@@url{https://ipld.io/specs/codecs/dag-jose/spec/,dag-jose codec}.")
94 (license license:expat)))
95
46(define-public go-github-com-ipfs-bbloom 96(define-public go-github-com-ipfs-bbloom
47 (package 97 (package
48 (name "go-github-com-ipfs-bbloom") 98 (name "go-github-com-ipfs-bbloom")
@@ -123,6 +173,35 @@ by a @acronym{Content Identifiers,CID}. The CID contains the multihash
123corresponding to the block.") 173corresponding to the block.")
124 (license license:expat))) 174 (license license:expat)))
125 175
176(define-public go-github-com-ipfs-go-ds-flatfs
177 (package
178 (name "go-github-com-ipfs-go-ds-flatfs")
179 (version "0.5.1")
180 (source
181 (origin
182 (method git-fetch)
183 (uri (git-reference
184 (url "https://github.com/ipfs/go-ds-flatfs")
185 (commit (string-append "v" version))))
186 (file-name (git-file-name name version))
187 (sha256
188 (base32 "1mrgl6kslq4d4zfpdyxvqxz8brhm8wphvnp916pippn7z63sayj3"))))
189 (build-system go-build-system)
190 (arguments
191 (list
192 #:import-path "github.com/ipfs/go-ds-flatfs"))
193 (propagated-inputs
194 (list go-github-com-ipfs-go-datastore
195 go-github-com-ipfs-go-log
196 go-github-com-jbenet-goprocess))
197 (home-page "https://github.com/ipfs/go-ds-flatfs")
198 (synopsis "Datastore implementation using sharded directories and flat files to store data")
199 (description
200 "Package flatfs is a Datastore implementation that stores all objects in
201a two-level directory structure in the local file system, regardless of the
202hierarchy of the keys.")
203 (license license:expat)))
204
126(define-public go-github-com-ipfs-go-ipfs-blockstore 205(define-public go-github-com-ipfs-go-ipfs-blockstore
127 (package 206 (package
128 (name "go-github-com-ipfs-go-ipfs-blockstore") 207 (name "go-github-com-ipfs-go-ipfs-blockstore")
@@ -316,7 +395,30 @@ keys used by @code{go-ipfs} (Kubo).")
316 (build-system go-build-system) 395 (build-system go-build-system)
317 (arguments 396 (arguments
318 (list 397 (list
319 #:import-path "github.com/ipfs/go-datastore")) 398 #:import-path "github.com/ipfs/go-datastore"
399 #:test-subdirs
400 #~(list "autobatch/..."
401 "delayed/..."
402 "examples/..."
403 "failstore/..."
404 ;; "fuzz/..." ; introduces cycle, for CLI
405 "keytransform/..."
406 "mount/..."
407 "namespace/..."
408 "query/..."
409 "retrystore/..."
410 "scoped/..."
411 "sync/..."
412 "test/..."
413 "trace/..."
414 ".")
415 #:phases
416 #~(modify-phases %standard-phases
417 (add-after 'unpack 'remove-examples
418 (lambda* (#:key tests? import-path #:allow-other-keys)
419 (with-directory-excursion (string-append "src/" import-path)
420 (for-each delete-file-recursively
421 (list "examples"))))))))
320 (native-inputs 422 (native-inputs
321 (list go-gopkg-in-check-v1)) 423 (list go-gopkg-in-check-v1))
322 (propagated-inputs 424 (propagated-inputs
@@ -707,8 +809,9 @@ code prior to it getting merged into @code{go-cid}.")
707 (build-system go-build-system) 809 (build-system go-build-system)
708 (arguments 810 (arguments
709 (list 811 (list
710 #:unpack-path "github.com/ipld/go-ipld-prime/" 812 #:import-path "github.com/ipld/go-ipld-prime"
711 #:import-path "github.com/ipld/go-ipld-prime/" 813 ;; XXX: More input requires to cover all shipped go packages.
814 #:test-subdirs #~(list ".")
712 #:phases 815 #:phases
713 #~(modify-phases %standard-phases 816 #~(modify-phases %standard-phases
714 (add-after 'unpack 'copy-ipld-specfs 817 (add-after 'unpack 'copy-ipld-specfs
@@ -823,7 +926,7 @@ their levels to be controlled individually.")
823(define-public go-github-com-libp2p-go-libp2p 926(define-public go-github-com-libp2p-go-libp2p
824 (package 927 (package
825 (name "go-github-com-libp2p-go-libp2p") 928 (name "go-github-com-libp2p-go-libp2p")
826 (version "0.36.3") 929 (version "0.36.5")
827 (source 930 (source
828 (origin 931 (origin
829 (method git-fetch) 932 (method git-fetch)
@@ -832,12 +935,35 @@ their levels to be controlled individually.")
832 (commit (string-append "v" version)))) 935 (commit (string-append "v" version))))
833 (file-name (git-file-name name version)) 936 (file-name (git-file-name name version))
834 (sha256 937 (sha256
835 (base32 "1bpjqrb2zdp86va7ms36lpci1l6lgkx85rc3q13fmzks38mqqw8s")))) 938 (base32 "0fmalwb0g0nykd1v22nm5gmif9mvapshsja8w1ihlm8ahbqq9vb2"))
939 (modules '((guix build utils)))
940 (snippet
941 #~(begin
942 ;; Submodules with their own go.mod files and packaged separatly:
943 ;;
944 ;; - github.com/libp2p/go-libp2p/scripts/test_analysis
945 ;; - github.com/libp2p/go-libp2p/test-plans/m/v2
946 (for-each delete-file-recursively
947 (list "scripts/test_analysis" "test-plans"))))))
836 (build-system go-build-system) 948 (build-system go-build-system)
837 (arguments 949 (arguments
838 (list 950 (list
839 #:embed-files #~(list "sorted-network-list.bin") 951 #:embed-files #~(list "sorted-network-list.bin")
840 #:import-path "github.com/libp2p/go-libp2p")) 952 #:import-path "github.com/libp2p/go-libp2p"
953 ;; XXX: Check how to enable the most of the tests, see GitHub Actions
954 ;; workflow files of the project.
955 #:test-subdirs #~(list "core/..." ".")
956 #:phases
957 #~(modify-phases %standard-phases
958 (add-after 'unpack 'remove-examples
959 (lambda* (#:key import-path #:allow-other-keys)
960 (with-directory-excursion (string-append "src/" import-path)
961 (delete-file-recursively "examples")))))))
962 (native-inputs
963 (list go-github-com-libp2p-go-libp2p-testing
964 go-github-com-stretchr-testify
965 go-go-uber-org-mock
966 go-go-uber-org-goleak))
841 (propagated-inputs 967 (propagated-inputs
842 (list go-github-com-benbjohnson-clock 968 (list go-github-com-benbjohnson-clock
843 go-github-com-davidlazar-go-crypto 969 go-github-com-davidlazar-go-crypto
@@ -887,10 +1013,8 @@ their levels to be controlled individually.")
887 go-github-com-quic-go-quic-go 1013 go-github-com-quic-go-quic-go
888 go-github-com-quic-go-webtransport-go 1014 go-github-com-quic-go-webtransport-go
889 go-github-com-raulk-go-watchdog 1015 go-github-com-raulk-go-watchdog
890 go-github-com-stretchr-testify
891 go-go-uber-org-fx 1016 go-go-uber-org-fx
892 go-go-uber-org-goleak 1017 go-go-uber-org-zap
893 go-go-uber-org-mock
894 go-golang-org-x-crypto 1018 go-golang-org-x-crypto
895 go-golang-org-x-exp 1019 go-golang-org-x-exp
896 go-golang-org-x-sync 1020 go-golang-org-x-sync
@@ -905,6 +1029,31 @@ their levels to be controlled individually.")
905@url{https://github.com/libp2p/specs,libp2p}.") 1029@url{https://github.com/libp2p/specs,libp2p}.")
906 (license license:expat))) 1030 (license license:expat)))
907 1031
1032(define-public go-github-com-libp2p-go-libp2p-testing
1033 (package
1034 (name "go-github-com-libp2p-go-libp2p-testing")
1035 (version "0.12.0")
1036 (source
1037 (origin
1038 (method git-fetch)
1039 (uri (git-reference
1040 (url "https://github.com/libp2p/go-libp2p-testing")
1041 (commit (string-append "v" version))))
1042 (file-name (git-file-name name version))
1043 (sha256
1044 (base32 "08n17mqskdj5il6lws53wk1zsf9d8c55f58bap1rjngf2d669p39"))))
1045 (build-system go-build-system)
1046 (arguments
1047 (list
1048 #:skip-build? #t ; to break cycle with go-github-com-libp2p-go-libp2p
1049 #:tests? #f
1050 #:import-path "github.com/libp2p/go-libp2p-testing"))
1051 (home-page "https://github.com/libp2p/go-libp2p-testing")
1052 (synopsis "Test toolbox for go-libp2p modules")
1053 (description
1054 "This package provides a testing toolbox for go-libp2p modules.")
1055 (license (list license:expat license:asl2.0))))
1056
908(define-public go-github-com-whyrusleeping-cbor-gen 1057(define-public go-github-com-whyrusleeping-cbor-gen
909 (package 1058 (package
910 (name "go-github-com-whyrusleeping-cbor-gen") 1059 (name "go-github-com-whyrusleeping-cbor-gen")
@@ -936,7 +1085,7 @@ types.")
936(define-public kubo 1085(define-public kubo
937 (package 1086 (package
938 (name "kubo") 1087 (name "kubo")
939 (version "0.30.0") 1088 (version "0.31.0")
940 (source 1089 (source
941 (origin 1090 (origin
942 (method url-fetch/tarbomb) 1091 (method url-fetch/tarbomb)
@@ -944,7 +1093,7 @@ types.")
944 "https://dist.ipfs.io/kubo/v" version 1093 "https://dist.ipfs.io/kubo/v" version
945 "/kubo-source.tar.gz")) 1094 "/kubo-source.tar.gz"))
946 (sha256 1095 (sha256
947 (base32 "0kwbwbrlvgcb8lcg85gpab6czyrnq7r9139i5gp827231zfbcqzq")) 1096 (base32 "0271rh54xbwikbllzsjnkjlj29cb2xy5lnhia47qlf2ymvl48kvf"))
948 (file-name (string-append name "-" version "-source")) 1097 (file-name (string-append name "-" version "-source"))
949 (modules '((guix build utils))) 1098 (modules '((guix build utils)))
950 (snippet '(for-each delete-file-recursively 1099 (snippet '(for-each delete-file-recursively
@@ -956,6 +1105,7 @@ types.")
956 "vendor/github.com/beorn7" 1105 "vendor/github.com/beorn7"
957 "vendor/github.com/blang" 1106 "vendor/github.com/blang"
958 "vendor/github.com/cenkalti" 1107 "vendor/github.com/cenkalti"
1108 "vendor/github.com/ceramicnetwork"
959 "vendor/github.com/cespare" 1109 "vendor/github.com/cespare"
960 "vendor/github.com/cheggaaa" 1110 "vendor/github.com/cheggaaa"
961 "vendor/github.com/containerd" 1111 "vendor/github.com/containerd"
@@ -1058,6 +1208,7 @@ types.")
1058 (build-system go-build-system) 1208 (build-system go-build-system)
1059 (arguments 1209 (arguments
1060 (list 1210 (list
1211 #:go go-1.22
1061 #:embed-files #~(list "sorted-network-list.bin") 1212 #:embed-files #~(list "sorted-network-list.bin")
1062 #:unpack-path "github.com/ipfs/kubo" 1213 #:unpack-path "github.com/ipfs/kubo"
1063 #:import-path "github.com/ipfs/kubo/cmd/ipfs" 1214 #:import-path "github.com/ipfs/kubo/cmd/ipfs"
@@ -1086,7 +1237,7 @@ types.")
1086 go-github-com-benbjohnson-clock 1237 go-github-com-benbjohnson-clock
1087 go-github-com-blang-semver-v4 1238 go-github-com-blang-semver-v4
1088 go-github-com-cenkalti-backoff-v4 1239 go-github-com-cenkalti-backoff-v4
1089 ;;go-github-com-ceramicnetwork-go-dag-jose 1240 go-github-com-ceramicnetwork-go-dag-jose
1090 go-github-com-cheggaaa-pb 1241 go-github-com-cheggaaa-pb
1091 go-github-com-coreos-go-systemd-v22 1242 go-github-com-coreos-go-systemd-v22
1092 go-github-com-dustin-go-humanize 1243 go-github-com-dustin-go-humanize
@@ -1201,7 +1352,6 @@ types.")
1201 go-golang-org-x-oauth2 ; github.com/ipfs/boxo 1352 go-golang-org-x-oauth2 ; github.com/ipfs/boxo
1202 go-golang-org-x-term ; github.com/ipfs/go-ipfs-cmds 1353 go-golang-org-x-term ; github.com/ipfs/go-ipfs-cmds
1203 go-golang-org-x-xerrors ; github.com/whyrusleeping/cbor-gen 1354 go-golang-org-x-xerrors ; github.com/whyrusleeping/cbor-gen
1204 go-gopkg-in-square-go-jose-v2 ; github.com/ceramicnetwork/go-dag-jose
1205 )) 1355 ))
1206 (native-inputs 1356 (native-inputs
1207 (append (if (%current-target-system) 1357 (append (if (%current-target-system)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 77a53e48050..5873b4db2ee 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -141,7 +141,6 @@
141 #:use-module (gnu packages gnome) 141 #:use-module (gnu packages gnome)
142 #:use-module (gnu packages gnupg) 142 #:use-module (gnu packages gnupg)
143 #:use-module (gnu packages golang) 143 #:use-module (gnu packages golang)
144 #:use-module (gnu packages golang-build)
145 #:use-module (gnu packages gperf) 144 #:use-module (gnu packages gperf)
146 #:use-module (gnu packages graphviz) 145 #:use-module (gnu packages graphviz)
147 #:use-module (gnu packages gstreamer) 146 #:use-module (gnu packages gstreamer)
@@ -9539,47 +9538,6 @@ nfnetlink_queue, nfnetlink_conntrack) and their respective users and/or
9539management tools in userspace.") 9538management tools in userspace.")
9540 (license license:gpl2))) 9539 (license license:gpl2)))
9541 9540
9542(define-public go-github-com-vishvananda-netlink
9543 (package
9544 (name "go-github-com-vishvananda-netlink")
9545 (version "1.1.0")
9546 (source
9547 (origin
9548 (method git-fetch)
9549 (uri (git-reference
9550 (url "https://github.com/vishvananda/netlink")
9551 (commit (string-append "v" version))))
9552 (file-name (git-file-name name version))
9553 (sha256
9554 (base32 "1vhl30p1gx636a088ls4h6a0l8jjyfvz79fr5w0qzdrg4qg9h08h"))))
9555 (build-system go-build-system)
9556 (arguments
9557 (list
9558 ;; The tests are unsupported on all architectures except x86_64-linux:
9559 ;; cannot use 0xabcdef99 (untyped int constant 2882400153) as int value
9560 ;; in struct literal (overflows)
9561 #:tests? (and (not (%current-target-system)) (target-x86-64?))
9562 #:import-path "github.com/vishvananda/netlink"
9563 #:phases
9564 #~(modify-phases %standard-phases
9565 (add-after 'unpack 'disable-failing-tests
9566 (lambda* (#:key tests? unpack-path #:allow-other-keys)
9567 (with-directory-excursion (string-append "src/" unpack-path)
9568 (substitute* (find-files "." "\\_test.go$")
9569 ;; Disable tests requiring root access.
9570 (("TestNetNsIdByFd") "OffTestNetNsIdByFd")
9571 (("TestNetNsIdByPid") "OffTestNetNsIdByPid"))))))))
9572 (propagated-inputs
9573 (list go-golang-org-x-sys go-github-com-vishvananda-netns))
9574 (home-page "https://github.com/vishvananda/netlink")
9575 (synopsis "Simple netlink library for Go")
9576 (description
9577 "The netlink package provides a simple netlink library for Go. Netlink
9578is the interface a user-space program in Linux uses to communicate with the
9579kernel. It can be used to add and remove interfaces, set IP addresses and
9580routes, and configure IPsec.")
9581 (license license:asl2.0)))
9582
9583(define-public libinih 9541(define-public libinih
9584 (package 9542 (package
9585 (name "libinih") 9543 (name "libinih")
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index 7dd30f9a6e0..a1b74f15853 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -54,6 +54,9 @@
54 #:use-module (gnu packages gettext) 54 #:use-module (gnu packages gettext)
55 #:use-module (gnu packages gnome) ;libnotify 55 #:use-module (gnu packages gnome) ;libnotify
56 #:use-module (gnu packages golang) 56 #:use-module (gnu packages golang)
57 #:use-module (gnu packages golang-build)
58 #:use-module (gnu packages golang-web)
59 #:use-module (gnu packages golang-xyz)
57 #:use-module (gnu packages image) 60 #:use-module (gnu packages image)
58 #:use-module (gnu packages mail) 61 #:use-module (gnu packages mail)
59 #:use-module (gnu packages ncurses) 62 #:use-module (gnu packages ncurses)
@@ -62,6 +65,7 @@
62 #:use-module (gnu packages pcre) 65 #:use-module (gnu packages pcre)
63 #:use-module (gnu packages perl) 66 #:use-module (gnu packages perl)
64 #:use-module (gnu packages pkg-config) 67 #:use-module (gnu packages pkg-config)
68 #:use-module (gnu packages prometheus)
65 #:use-module (gnu packages python) 69 #:use-module (gnu packages python)
66 #:use-module (gnu packages python-build) 70 #:use-module (gnu packages python-build)
67 #:use-module (gnu packages python-web) 71 #:use-module (gnu packages python-web)
@@ -521,27 +525,92 @@ Metrics can be exposed through a standalone web server, or through Twisted,
521WSGI and the node exporter textfile collector.") 525WSGI and the node exporter textfile collector.")
522 (license license:asl2.0))) 526 (license license:asl2.0)))
523 527
524(define-public go-github-com-prometheus-node-exporter 528(define-public prometheus-node-exporter
525 (package 529 ;; The latest release is failing to build, use the latest commit from the
526 (name "go-github-com-prometheus-node-exporter") 530 ;; master branch.
527 (version "0.18.1") 531 (let ((commit "b8aac7c92e2d7f3dea56b2d4802d4ef3ee29c3cc")
528 (source (origin 532 (revision "0"))
529 (method git-fetch) 533 (package
530 (uri (git-reference 534 (name "prometheus-node-exporter")
531 (url "https://github.com/prometheus/node_exporter") 535 (version (git-version "1.8.2" revision commit))
532 (commit (string-append "v" version)))) 536 (source (origin
533 (file-name (git-file-name name version)) 537 (method git-fetch)
534 (sha256 538 (uri (git-reference
535 (base32 539 (url "https://github.com/prometheus/node_exporter")
536 "0s3sp1gj86p7npxl38hkgs6ymd3wjjmc5hydyg1b5wh0x3yvpx07")))) 540 (commit commit)))
537 (build-system go-build-system) 541 (file-name (git-file-name name version))
538 (arguments 542 (sha256
539 '(#:import-path "github.com/prometheus/node_exporter")) 543 (base32
540 (synopsis "Prometheus exporter for hardware and OS metrics") 544 "0n2s2z168xzp6i0ihaqvvs8zinp1iqld45c6lj89x7wjv8m741j3"))))
541 (description "Prometheus exporter for metrics exposed by *NIX kernels, 545 (build-system go-build-system)
546 (arguments
547 (list
548 #:install-source? #f
549 #:build-flags
550 #~(list (string-append
551 "-ldflags="
552 "-X github.com/prometheus/common/version.Version=" #$version
553 " -X github.com/prometheus/common/version.Revision=" #$revision
554 " -X github.com/prometheus/common/version.Branch=master"
555 " -X github.com/prometheus/common/version.BuildUser=guix"
556 " -X github.com/prometheus/common/version.BuildDate=n/a"))
557 #:embed-files #~(list "landing_page.css" "landing_page.html")
558 #:import-path "github.com/prometheus/node_exporter"
559 #:phases
560 #~(modify-phases %standard-phases
561 (add-before 'check 'pre-check
562 (lambda* (#:key tests? import-path #:allow-other-keys)
563 (with-directory-excursion (string-append "src/" import-path)
564 (invoke "./ttar" "-C" "collector/fixtures"
565 "-x" "-f" "collector/fixtures/sys.ttar")
566 (invoke "./ttar" "-C" "collector/fixtures"
567 "-x" "-f" "collector/fixtures/udev.ttar"))))
568 (add-after 'check 'post-check
569 (lambda* (#:key tests? import-path #:allow-other-keys)
570 (with-directory-excursion (string-append "src/" import-path)
571 (for-each delete-file-recursively
572 (list "collector/fixtures/sys"
573 "collector/fixtures/sys.ttar"
574 "collector/fixtures/udev"
575 "collector/fixtures/udev.ttar"))))))))
576 (propagated-inputs
577 (list go-github-com-alecthomas-kingpin-v2
578 go-github-com-beevik-ntp
579 go-github-com-coreos-go-systemd-v22
580 go-github-com-dennwc-btrfs
581 go-github-com-ema-qdisc
582 go-github-com-go-kit-log
583 go-github-com-godbus-dbus-v5
584 go-github-com-hashicorp-go-envparse
585 go-github-com-hodgesds-perf-utils
586 go-github-com-josharian-native
587 go-github-com-jsimonetti-rtnetlink
588 go-github-com-mattn-go-xmlrpc
589 go-github-com-mdlayher-ethtool
590 go-github-com-mdlayher-netlink
591 go-github-com-mdlayher-wifi
592 go-github-com-jsimonetti-rtnetlink-v2
593 go-github-com-opencontainers-selinux
594 go-github-com-prometheus-client-golang
595 go-github-com-prometheus-client-model
596 go-github-com-prometheus-common
597 go-github-com-prometheus-community-go-runit
598 go-github-com-prometheus-exporter-toolkit
599 go-github-com-prometheus-procfs-next
600 go-github-com-safchain-ethtool
601 go-golang-org-x-exp
602 go-golang-org-x-sys
603 go-howett-net-plist))
604 (home-page "https://github.com/prometheus/node_exporter")
605 (synopsis "Prometheus exporter for hardware and OS metrics")
606 (description
607 "Prometheus exporter for metrics exposed by *NIX kernels,
542written in Go with pluggable metric collectors.") 608written in Go with pluggable metric collectors.")
543 (home-page "https://github.com/prometheus/node_exporter") 609 (license license:asl2.0))))
544 (license license:asl2.0))) 610
611(define-public go-github-com-prometheus-node-exporter
612 (deprecated-package "go-github-com-prometheus-node-exporter"
613 prometheus-node-exporter))
545 614
546(define-public temper-exporter 615(define-public temper-exporter
547 (let ((commit "a87bbab19c05609d62d9e4c7941178700c1ef84d") 616 (let ((commit "a87bbab19c05609d62d9e4c7941178700c1ef84d")
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index f50d4c81b23..970a502b595 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -1952,41 +1952,6 @@ manage, and delete Internet resources from Gandi.net such as domain names,
1952virtual machines, and certificates.") 1952virtual machines, and certificates.")
1953 (license license:gpl3+))) 1953 (license license:gpl3+)))
1954 1954
1955(define-public go-github-com-vishvananda-netns
1956 (package
1957 (name "go-github-com-vishvananda-netns")
1958 (version "0.0.4")
1959 (source
1960 (origin
1961 (method git-fetch)
1962 (uri (git-reference
1963 (url "https://github.com/vishvananda/netns")
1964 (commit (string-append "v" version))))
1965 (file-name (git-file-name name version))
1966 (sha256
1967 (base32 "0rci8c211m57nya9il81fz6459pia3dj5i4b16fp34vjrkcxliml"))))
1968 (build-system go-build-system)
1969 (arguments
1970 (list
1971 #:import-path "github.com/vishvananda/netns"
1972 #:phases
1973 #~(modify-phases %standard-phases
1974 (add-after 'unpack 'disable-failing-tests
1975 (lambda* (#:key tests? unpack-path #:allow-other-keys)
1976 (with-directory-excursion (string-append "src/" unpack-path)
1977 (substitute* (find-files "." "\\_test.go$")
1978 ;; Disable tests requiring root access.
1979 (("TestGetNewSetDelete") "OffTestGetNewSetDelete")
1980 (("TestThreaded") "OffTestThreaded"))))))))
1981 (propagated-inputs
1982 (list go-golang-org-x-sys))
1983 (home-page "https://github.com/vishvananda/netns")
1984 (synopsis "Simple network namespace handling for Go")
1985 (description
1986 "The netns package provides a simple interface for handling network
1987namespaces in Go.")
1988 (license license:asl2.0)))
1989
1990(define-public go-sctp 1955(define-public go-sctp
1991 ;; docker-libnetwork-cmd-proxy requires this exact commit. 1956 ;; docker-libnetwork-cmd-proxy requires this exact commit.
1992 ;; This commit is mentioned in docker-libnetwork-cmd-proxy's vendor.conf. 1957 ;; This commit is mentioned in docker-libnetwork-cmd-proxy's vendor.conf.
@@ -4790,7 +4755,7 @@ IPv6 Internet connectivity - it also works over IPv4.")
4790(define-public nebula 4755(define-public nebula
4791 (package 4756 (package
4792 (name "nebula") 4757 (name "nebula")
4793 (version "1.9.3") 4758 (version "1.9.5")
4794 (source (origin 4759 (source (origin
4795 (method git-fetch) 4760 (method git-fetch)
4796 (uri (git-reference 4761 (uri (git-reference
@@ -4799,7 +4764,7 @@ IPv6 Internet connectivity - it also works over IPv4.")
4799 (file-name (git-file-name name version)) 4764 (file-name (git-file-name name version))
4800 (sha256 4765 (sha256
4801 (base32 4766 (base32
4802 "08zzbx2v713zd9p7i4kd1bvcw47xb0092p5apba1x5wg6fpxw5zr")) 4767 "1slknnrdnf5a2ask11ql3gwnnl6c5359bp8rd712aq30lxa2d4r0"))
4803 ;; Remove windows-related binary blobs and files 4768 ;; Remove windows-related binary blobs and files
4804 (snippet 4769 (snippet
4805 #~(begin 4770 #~(begin
@@ -4811,6 +4776,8 @@ IPv6 Internet connectivity - it also works over IPv4.")
4811 (list 4776 (list
4812 #:import-path "github.com/slackhq/nebula" 4777 #:import-path "github.com/slackhq/nebula"
4813 #:install-source? #f 4778 #:install-source? #f
4779 ;; XXX: Pack missing packages for cmd/nebula-service
4780 #:test-subdirs #~(list ".")
4814 #:phases 4781 #:phases
4815 #~(modify-phases %standard-phases 4782 #~(modify-phases %standard-phases
4816 (replace 'build 4783 (replace 'build
@@ -4837,29 +4804,32 @@ IPv6 Internet connectivity - it also works over IPv4.")
4837 (list go-dario-cat-mergo 4804 (list go-dario-cat-mergo
4838 go-github-com-anmitsu-go-shlex 4805 go-github-com-anmitsu-go-shlex
4839 go-github-com-armon-go-radix 4806 go-github-com-armon-go-radix
4840 go-github-com-cespare-xxhash-v2
4841 go-github-com-cyberdelia-go-metrics-graphite 4807 go-github-com-cyberdelia-go-metrics-graphite
4842 go-github-com-flynn-noise 4808 go-github-com-flynn-noise
4809 go-github-com-gaissmai-bart
4843 go-github-com-gogo-protobuf 4810 go-github-com-gogo-protobuf
4844 go-github-com-google-gopacket 4811 go-github-com-google-gopacket
4812 go-github-com-kardianos-service
4845 go-github-com-miekg-dns 4813 go-github-com-miekg-dns
4846 go-github-com-nbrownus-go-metrics-prometheus 4814 go-github-com-nbrownus-go-metrics-prometheus
4847 go-github-com-prometheus-client-golang 4815 go-github-com-prometheus-client-golang
4848 go-github-com-prometheus-client-model
4849 go-github-com-prometheus-procfs
4850 go-github-com-rcrowley-go-metrics 4816 go-github-com-rcrowley-go-metrics
4851 go-github-com-sirupsen-logrus 4817 go-github-com-sirupsen-logrus
4852 go-github-com-skip2-go-qrcode 4818 go-github-com-skip2-go-qrcode
4853 go-github-com-songgao-water 4819 go-github-com-songgao-water
4854 go-github-com-stretchr-testify 4820 go-github-com-stretchr-testify
4821 go-github-com-vishvananda-netlink
4855 go-golang-org-x-crypto 4822 go-golang-org-x-crypto
4823 go-golang-org-x-exp
4856 go-golang-org-x-net 4824 go-golang-org-x-net
4825 go-golang-org-x-sync
4857 go-golang-org-x-sys 4826 go-golang-org-x-sys
4858 go-golang-org-x-term 4827 go-golang-org-x-term
4828 go-golang-zx2c4-com-wireguard
4859 go-google-golang-org-protobuf 4829 go-google-golang-org-protobuf
4860 go-gopkg-in-yaml-v2 4830 go-gopkg-in-yaml-v2
4861 go-github-com-vishvananda-netlink 4831 ;go-gvisor-dev-gvisor ; for nebula-service, not packed yet
4862 go-github-com-vishvananda-netns)) 4832 ))
4863 (home-page "https://github.com/slackhq/nebula") 4833 (home-page "https://github.com/slackhq/nebula")
4864 (synopsis "Scalable, peer-to-peer overlay networking tool") 4834 (synopsis "Scalable, peer-to-peer overlay networking tool")
4865 (description 4835 (description
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 0f7a1517c5f..0a3711bbb9f 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -96,6 +96,7 @@
96 #:use-module (gnu packages golang-build) 96 #:use-module (gnu packages golang-build)
97 #:use-module (gnu packages golang-crypto) 97 #:use-module (gnu packages golang-crypto)
98 #:use-module (gnu packages golang-xyz) 98 #:use-module (gnu packages golang-xyz)
99 #:use-module (gnu packages golang-web)
99 #:use-module (gnu packages gtk) 100 #:use-module (gnu packages gtk)
100 #:use-module (gnu packages guile) 101 #:use-module (gnu packages guile)
101 #:use-module (gnu packages kerberos) 102 #:use-module (gnu packages kerberos)
@@ -128,6 +129,83 @@
128 #:use-module (gnu packages xorg) 129 #:use-module (gnu packages xorg)
129 #:use-module (gnu packages xml)) 130 #:use-module (gnu packages xml))
130 131
132(define-public aws-vault
133 (package
134 (name "aws-vault")
135 (version "7.2.0")
136 (source
137 (origin
138 (method git-fetch)
139 (uri (git-reference
140 (url "https://github.com/99designs/aws-vault")
141 (commit (string-append "v" version))))
142 (file-name (git-file-name name version))
143 (sha256
144 (base32 "1dqg6d2k8r80ww70afghf823z0pijha1i0a0c0c6918yb322zkj2"))))
145 (build-system go-build-system)
146 (arguments
147 (list
148 #:install-source? #f
149 #:import-path "github.com/99designs/aws-vault"
150 #:phases
151 #~(modify-phases %standard-phases
152 (add-before 'build 'patch-version
153 (lambda _
154 (substitute* "src/github.com/99designs/aws-vault/main.go"
155 (("var Version = \"dev\"")
156 (string-append "var Version = \"v" #$version "\"")))))
157 (add-after 'build 'contrib
158 (lambda* (#:key import-path #:allow-other-keys)
159 (let* ((zsh-site-dir
160 (string-append #$output "/share/zsh/site-functions"))
161 (bash-completion-dir
162 (string-append #$output "/share/bash-completion/completions"))
163 (fish-completion-dir
164 (string-append #$output "/share/fish/completions")))
165 (for-each mkdir-p (list bash-completion-dir
166 fish-completion-dir
167 zsh-site-dir))
168 (with-directory-excursion
169 (string-append "src/" import-path "/contrib/completions")
170 (copy-file "zsh/aws-vault.zsh"
171 (string-append zsh-site-dir "/_aws-vault"))
172 (copy-file "bash/aws-vault.bash"
173 (string-append bash-completion-dir "/aws-vault"))
174 (copy-file "fish/aws-vault.fish"
175 (string-append fish-completion-dir "/aws-vault.fish"))))))
176 ;; aws-vault: error: add: mkdir /homeless-shelter: permission
177 ;; denied.
178 (add-before 'check 'set-home
179 (lambda _
180 (setenv "HOME" "/tmp"))))))
181 (native-inputs
182 (list go-github-com-99designs-keyring
183 go-github-com-alecthomas-kingpin-v2
184 go-github-com-aws-aws-sdk-go-v2
185 go-github-com-aws-aws-sdk-go-v2-config
186 go-github-com-aws-aws-sdk-go-v2-credentials
187 go-github-com-aws-aws-sdk-go-v2-service-iam
188 go-github-com-aws-aws-sdk-go-v2-service-sso
189 go-github-com-aws-aws-sdk-go-v2-service-ssooidc
190 go-github-com-aws-aws-sdk-go-v2-service-sts
191 go-github-com-google-go-cmp
192 go-github-com-mattn-go-isatty
193 go-github-com-mattn-go-tty
194 go-github-com-skratchdot-open-golang
195 go-golang-org-x-term
196 go-gopkg-in-ini-v1))
197 (home-page "https://github.com/99designs/aws-vault")
198 (synopsis "Vault for securely storing and accessing AWS credentials")
199 (description
200 "AWS Vault is a tool to securely store and access @acronym{Amazon Web
201Services,AWS} credentials.
202
203AWS Vault stores IAM credentials in your operating system's secure keystore and
204then generates temporary credentials from those to expose to your shell and
205applications. It's designed to be complementary to the AWS CLI tools, and is
206aware of your profiles and configuration in ~/.aws/config.")
207 (license license:expat)))
208
131(define-public pwgen 209(define-public pwgen
132 (package 210 (package
133 (name "pwgen") 211 (name "pwgen")
diff --git a/gnu/packages/patches/exercism-disable-self-update.patch b/gnu/packages/patches/exercism-disable-self-update.patch
index a96cbfbc55a..0827e5102b8 100644
--- a/gnu/packages/patches/exercism-disable-self-update.patch
+++ b/gnu/packages/patches/exercism-disable-self-update.patch
@@ -1,21 +1,23 @@
1From bc22f7d43c12c5f79c71b0319666e71f29d61322 Mon Sep 17 00:00:00 2001 1From a0e422b11a65d63bd435c96bee3cd08f06bb8ec8 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Jakub=20K=C4=85dzio=C5=82ka?= <kuba@kadziolka.net> 2From: Sharlatan Hellseher <sharlatanus@gmail.com>
3Date: Mon, 25 May 2020 18:53:04 +0200 3Date: Mon, 23 Dec 2024 01:59:10 +0000
4Subject: [PATCH] Disable self-update. 4Subject: [PATCH] Disable self-update.
5 5
6For exercism cli V3.5.4.
7
6Based on a Fedora patch by Elliott Sales de Andrade. 8Based on a Fedora patch by Elliott Sales de Andrade.
7--- 9---
8 cli/cli.go | 44 +------------------------------------------- 10 cli/cli.go | 44 +-------------------------------------------
9 1 file changed, 1 insertion(+), 43 deletions(-) 11 1 file changed, 1 insertion(+), 43 deletions(-)
10 12
11diff --git a/cli/cli.go b/cli/cli.go 13diff --git a/cli/cli.go b/cli/cli.go
12index 4312eb0..5f62297 100644 14index fe113ec..3baa4b0 100644
13--- a/cli/cli.go 15--- a/cli/cli.go
14+++ b/cli/cli.go 16+++ b/cli/cli.go
15@@ -10,13 +10,10 @@ import ( 17@@ -10,13 +10,10 @@ import (
16 "io" 18 "io"
17 "io/ioutil"
18 "net/http" 19 "net/http"
20 "os"
19- "runtime" 21- "runtime"
20 "strings" 22 "strings"
21 "time" 23 "time"
@@ -75,5 +77,4 @@ index 4312eb0..5f62297 100644
75 77
76 func (c *CLI) fetchLatestRelease() error { 78 func (c *CLI) fetchLatestRelease() error {
77-- 79--
782.26.2 802.46.0
79
diff --git a/gnu/packages/patches/go-github-com-urfave-cli-fix-tests.patch b/gnu/packages/patches/go-github-com-urfave-cli-fix-tests.patch
deleted file mode 100644
index 7408d4ec168..00000000000
--- a/gnu/packages/patches/go-github-com-urfave-cli-fix-tests.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1Backported from upstream PR: https://github.com/urfave/cli/pull/1299
2---
3diff --git a/app_test.go b/app_test.go
4index 33024ff..6b3aaa3 100644
5--- a/app_test.go
6+++ b/app_test.go
7@@ -513,18 +513,18 @@ func TestApp_RunAsSubcommandParseFlags(t *testing.T) {
8 func TestApp_RunAsSubCommandIncorrectUsage(t *testing.T) {
9 a := App{
10 Flags: []Flag{
11- StringFlag{Name: "--foo"},
12+ StringFlag{Name: "foo"},
13 },
14 Writer: bytes.NewBufferString(""),
15 }
16
17 set := flag.NewFlagSet("", flag.ContinueOnError)
18- _ = set.Parse([]string{"", "---foo"})
19+ _ = set.Parse([]string{"", "-bar"})
20 c := &Context{flagSet: set}
21
22 err := a.RunAsSubcommand(c)
23
24- expect(t, err, errors.New("bad flag syntax: ---foo"))
25+ expect(t, err.Error(), "flag provided but not defined: -bar")
26 }
27
28 func TestApp_CommandWithFlagBeforeTerminator(t *testing.T) {
diff --git a/gnu/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch b/gnu/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch
deleted file mode 100644
index 87ccc2b6555..00000000000
--- a/gnu/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1From upstream PR: https://github.com/urfave/cli/pull/1299
2
3From: William Wilson <william.wilson@canonical.com>
4Date: Tue, 31 Aug 2021 14:19:17 -0500
5Subject: Make test case compatible with Go 1.17
6
7As of Go 1.17, the go flag package will panic if given a syntactically invalid
8flag. This causes TestApp_RunAsSubCommandIncorrectUsage to panic and therefore
9fail. See https://golang.org/doc/go1.17#flag for more information.
10
11---
12diff --git a/app_test.go b/app_test.go
13index 7c38f6048..76e211d68 100644
14--- a/app_test.go
15+++ b/app_test.go
16@@ -476,18 +476,18 @@ func TestApp_RunAsSubCommandIncorrectUsage(t *testing.T) {
17 a := App{
18 Name: "cmd",
19 Flags: []Flag{
20- &StringFlag{Name: "--foo"},
21+ &StringFlag{Name: "foo"},
22 },
23 Writer: bytes.NewBufferString(""),
24 }
25
26 set := flag.NewFlagSet("", flag.ContinueOnError)
27- _ = set.Parse([]string{"", "---foo"})
28+ _ = set.Parse([]string{"", "-bar"})
29 c := &Context{flagSet: set}
30
31 err := a.RunAsSubcommand(c)
32
33- expect(t, err, errors.New("bad flag syntax: ---foo"))
34+ expect(t, err.Error(), "flag provided but not defined: -bar")
35 }
36
37 func TestApp_CommandWithFlagBeforeTerminator(t *testing.T) {
diff --git a/gnu/packages/prometheus.scm b/gnu/packages/prometheus.scm
index c498c270302..e582673a0d7 100644
--- a/gnu/packages/prometheus.scm
+++ b/gnu/packages/prometheus.scm
@@ -34,6 +34,7 @@
34 #:use-module (gnu packages) 34 #:use-module (gnu packages)
35 #:use-module (gnu packages golang-build) 35 #:use-module (gnu packages golang-build)
36 #:use-module (gnu packages golang-check) 36 #:use-module (gnu packages golang-check)
37 #:use-module (gnu packages golang-compression)
37 #:use-module (gnu packages golang-crypto) 38 #:use-module (gnu packages golang-crypto)
38 #:use-module (gnu packages golang-web) 39 #:use-module (gnu packages golang-web)
39 #:use-module (gnu packages golang-xyz)) 40 #:use-module (gnu packages golang-xyz))
@@ -129,7 +130,7 @@ registry.")
129(define-public go-github-com-prometheus-client-golang 130(define-public go-github-com-prometheus-client-golang
130 (package 131 (package
131 (name "go-github-com-prometheus-client-golang") 132 (name "go-github-com-prometheus-client-golang")
132 (version "1.19.1") 133 (version "1.20.5")
133 (source 134 (source
134 (origin 135 (origin
135 (method git-fetch) 136 (method git-fetch)
@@ -138,15 +139,27 @@ registry.")
138 (commit (string-append "v" version)))) 139 (commit (string-append "v" version))))
139 (file-name (git-file-name name version)) 140 (file-name (git-file-name name version))
140 (sha256 141 (sha256
141 (base32 "0mx5q221pbkx081ycf1lp8sxz513220ya8qczkkvab943cwlcarv")))) 142 (base32 "1q3n22p5ic22xzha6mffh0m0jzbxrkyjrcmnxsnanl61jwb4rkpw"))
143 (modules '((guix build utils)))
144 (snippet
145 #~(begin
146 ;; Submodules with their own go.mod files and packaged separately:
147 ;;
148 ;; - dagger
149 ;; - .bingo - fake module
150 (delete-file-recursively "dagger")
151 (delete-file-recursively ".bingo")))))
142 (build-system go-build-system) 152 (build-system go-build-system)
143 (arguments 153 (arguments
144 (list 154 (list
155 #:skip-build? #t
145 ;; XXX: Check if the most of the tests may be enabled: 156 ;; XXX: Check if the most of the tests may be enabled:
146 ;; api/prometheus/v1/api_test.go:1063:23: cannot use 1634644800304 157 ;; api/prometheus/v1/api_test.go:1063:23: cannot use 1634644800304
147 ;; (untyped int constant) as int value in map literal (overflows) 158 ;; (untyped int constant) as int value in map literal (overflows)
148 #:tests? (target-64bit?) 159 #:tests? (target-64bit?)
149 #:import-path "github.com/prometheus/client_golang" 160 #:import-path "github.com/prometheus/client_golang"
161 ;; Assertion fails in one test.
162 #:test-flags #~(list "-skip" "TestHandler")
150 #:phases 163 #:phases
151 #~(modify-phases %standard-phases 164 #~(modify-phases %standard-phases
152 (add-after 'unpack 'remove-examples-and-tutorials 165 (add-after 'unpack 'remove-examples-and-tutorials
@@ -155,19 +168,14 @@ registry.")
155 (for-each delete-file-recursively 168 (for-each delete-file-recursively
156 (list "api/prometheus/v1/example_test.go" 169 (list "api/prometheus/v1/example_test.go"
157 "examples" 170 "examples"
158 "tutorial"))))) 171 "tutorials"))))))))
159 ;; XXX: Workaround for go-build-system's lack of Go modules support.
160 (delete 'build)
161 (replace 'check
162 (lambda* (#:key tests? import-path #:allow-other-keys)
163 (when tests?
164 (with-directory-excursion (string-append "src/" import-path)
165 (invoke "go" "test" "-v" "./..."))))))))
166 (propagated-inputs 172 (propagated-inputs
167 (list go-github-com-beorn7-perks 173 (list go-github-com-beorn7-perks
168 go-github-com-cespare-xxhash-v2 174 go-github-com-cespare-xxhash-v2
169 go-github-com-davecgh-go-spew 175 go-github-com-google-go-cmp
170 go-github-com-json-iterator-go 176 go-github-com-json-iterator-go
177 go-github-com-klauspost-compress
178 go-github-com-kylelemons-godebug
171 go-github-com-prometheus-client-model 179 go-github-com-prometheus-client-model
172 go-github-com-prometheus-common 180 go-github-com-prometheus-common
173 go-github-com-prometheus-procfs 181 go-github-com-prometheus-procfs
@@ -213,7 +221,7 @@ Prometheus metrics.")
213(define-public go-github-com-prometheus-common 221(define-public go-github-com-prometheus-common
214 (package 222 (package
215 (name "go-github-com-prometheus-common") 223 (name "go-github-com-prometheus-common")
216 (version "0.55.0") 224 (version "0.61.0")
217 (source 225 (source
218 (origin 226 (origin
219 (method git-fetch) 227 (method git-fetch)
@@ -222,7 +230,7 @@ Prometheus metrics.")
222 (commit (string-append "v" version)))) 230 (commit (string-append "v" version))))
223 (file-name (git-file-name name version)) 231 (file-name (git-file-name name version))
224 (sha256 232 (sha256
225 (base32 "0bsbxil7qz8rhckhv0844nmn38g7i7347cjv5m6na47hbdpi0rqh")) 233 (base32 "0wng61rzvh27s2rlaadvjbffwgpn74p1wjrz6insl57k1pg3cmcn"))
226 (modules '((guix build utils))) 234 (modules '((guix build utils)))
227 (snippet 235 (snippet
228 #~(begin 236 #~(begin
@@ -289,16 +297,17 @@ metrics.")
289(define-public go-github-com-prometheus-common-assets 297(define-public go-github-com-prometheus-common-assets
290 (package 298 (package
291 (name "go-github-com-prometheus-common-assets") 299 (name "go-github-com-prometheus-common-assets")
292 (version "0.55.0") 300 (version "0.2.0")
293 (source 301 (source
294 (origin 302 (origin
295 (method git-fetch) 303 (method git-fetch)
296 (uri (git-reference 304 (uri (git-reference
297 (url "https://github.com/prometheus/common") 305 (url "https://github.com/prometheus/common")
298 (commit (string-append "v" version)))) 306 (commit (go-version->git-ref version
307 #:subdir "assets"))))
299 (file-name (git-file-name name version)) 308 (file-name (git-file-name name version))
300 (sha256 309 (sha256
301 (base32 "0bsbxil7qz8rhckhv0844nmn38g7i7347cjv5m6na47hbdpi0rqh")))) 310 (base32 "0r7sym4yaysbkc5anyypl57v9ay0a1flq00j85j7lcficl2scwrs"))))
302 (build-system go-build-system) 311 (build-system go-build-system)
303 (arguments 312 (arguments
304 (list 313 (list
@@ -369,7 +378,7 @@ from the default AWS credential chain.")
369(define-public go-github-com-prometheus-community-pro-bing 378(define-public go-github-com-prometheus-community-pro-bing
370 (package 379 (package
371 (name "go-github-com-prometheus-community-pro-bing") 380 (name "go-github-com-prometheus-community-pro-bing")
372 (version "0.4.1") 381 (version "0.5.0")
373 (source 382 (source
374 (origin 383 (origin
375 (method git-fetch) 384 (method git-fetch)
@@ -378,15 +387,19 @@ from the default AWS credential chain.")
378 (commit (string-append "v" version)))) 387 (commit (string-append "v" version))))
379 (file-name (git-file-name name version)) 388 (file-name (git-file-name name version))
380 (sha256 389 (sha256
381 (base32 "1yz4cf1qrm1jrzw2yd5p08663hynk4ihlf5mi2fn6irnzh343a7b")))) 390 (base32 "19757nqz0cpq7ir2w5xgjxpblhmkpk0j7spfw4j68agavbx6hxpm"))))
382 (build-system go-build-system) 391 (build-system go-build-system)
383 (arguments 392 (arguments
384 (list 393 (list
385 ;; Tests requiring network setup. 394 ;; Tests requiring network setup, and root access.
386 #:test-flags 395 #:test-flags
387 #~(list "-skip" (string-append "TestNewPingerValid" 396 #~(list "-skip"
388 "|TestSetIPAddr" 397 (string-join
389 "|TestSetResolveTimeout")) 398 (list "TestNewPingerValid"
399 "TestSetIPAddr"
400 "TestSetInterfaceName"
401 "TestSetResolveTimeout")
402 "|"))
390 #:import-path "github.com/prometheus-community/pro-bing")) 403 #:import-path "github.com/prometheus-community/pro-bing"))
391 (propagated-inputs 404 (propagated-inputs
392 (list go-github-com-google-uuid 405 (list go-github-com-google-uuid
@@ -402,7 +415,7 @@ Protocol,ICMP} echo (ping) functionality.")
402(define-public go-github-com-prometheus-exporter-toolkit 415(define-public go-github-com-prometheus-exporter-toolkit
403 (package 416 (package
404 (name "go-github-com-prometheus-exporter-toolkit") 417 (name "go-github-com-prometheus-exporter-toolkit")
405 (version "0.11.0") 418 (version "0.13.2")
406 (source 419 (source
407 (origin 420 (origin
408 (method git-fetch) 421 (method git-fetch)
@@ -411,7 +424,7 @@ Protocol,ICMP} echo (ping) functionality.")
411 (commit (string-append "v" version)))) 424 (commit (string-append "v" version))))
412 (file-name (git-file-name name version)) 425 (file-name (git-file-name name version))
413 (sha256 426 (sha256
414 (base32 "1n46jw3b13g355iv8phxxnnci7a877y5dscc1rlj3rpz4vy6yfzx")))) 427 (base32 "05k4sfrc1zs96iprgnap0gd42vwfq47j6vg2bv83nckcv731gmiv"))))
415 (build-system go-build-system) 428 (build-system go-build-system)
416 (arguments 429 (arguments
417 (list 430 (list
@@ -433,6 +446,7 @@ Protocol,ICMP} echo (ping) functionality.")
433 (list go-github-com-alecthomas-kingpin-v2 446 (list go-github-com-alecthomas-kingpin-v2
434 go-github-com-coreos-go-systemd-v22 447 go-github-com-coreos-go-systemd-v22
435 go-github-com-go-kit-log 448 go-github-com-go-kit-log
449 go-github-com-mdlayher-vsock
436 ; Imported for go-github-com-prometheus-common to break the cycle. 450 ; Imported for go-github-com-prometheus-common to break the cycle.
437 go-github-com-prometheus-client-golang 451 go-github-com-prometheus-client-golang
438 go-github-com-prometheus-common 452 go-github-com-prometheus-common
@@ -494,10 +508,30 @@ Protocol,ICMP} echo (ping) functionality.")
494kernel, and process metrics from the @file{/proc} pseudo file system.") 508kernel, and process metrics from the @file{/proc} pseudo file system.")
495 (license license:asl2.0))) 509 (license license:asl2.0)))
496 510
511;; To make it compatible with node_exporter, see
512;; <https://github.com/prometheus/node_exporter/issues/3143>.
513(define-public go-github-com-prometheus-procfs-next
514 (let ((commit "24ab3d8d880d820115eef19f7b0c2c38fffd6a25")
515 (revision "0"))
516 (hidden-package
517 (package
518 (inherit go-github-com-prometheus-procfs)
519 (name "go-github-com-prometheus-procfs")
520 (version (git-version "0.15.2" revision commit))
521 (source
522 (origin
523 (method git-fetch)
524 (uri (git-reference
525 (url "https://github.com/prometheus/procfs")
526 (commit commit)))
527 (file-name (git-file-name name version))
528 (sha256
529 (base32 "0fv3f83q5wigbpl6mdpk4k7bj8jabc81rap0ym95l7rpw93cdlim"))))))))
530
497(define-public go-github-com-prometheus-statsd-exporter 531(define-public go-github-com-prometheus-statsd-exporter
498 (package 532 (package
499 (name "go-github-com-prometheus-statsd-exporter") 533 (name "go-github-com-prometheus-statsd-exporter")
500 (version "0.27.1") 534 (version "0.28.0")
501 (source 535 (source
502 (origin 536 (origin
503 (method git-fetch) 537 (method git-fetch)
@@ -506,7 +540,7 @@ kernel, and process metrics from the @file{/proc} pseudo file system.")
506 (commit (string-append "v" version)))) 540 (commit (string-append "v" version))))
507 (file-name (git-file-name name version)) 541 (file-name (git-file-name name version))
508 (sha256 542 (sha256
509 (base32 "0y8n02h46q22wkcm2yy62bzsi9hxrarmvjamfpn2sygqhbb1pv38")))) 543 (base32 "0h7ypmsx1j6x1p5wdj03i3jzwms7ab03asn2capl1gg6x07k57w7"))))
510 (build-system go-build-system) 544 (build-system go-build-system)
511 (arguments 545 (arguments
512 (list 546 (list
diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index dd0d3985c0d..855ccf5da7e 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -491,6 +491,7 @@ The plug-in is made to work with 1 or 2 channels (LADSPA plugin),
491 (arguments 491 (arguments
492 `(#:import-path "github.com/noisetorch/NoiseTorch" 492 `(#:import-path "github.com/noisetorch/NoiseTorch"
493 #:install-source? #f 493 #:install-source? #f
494 #:test-subdirs '(".")
494 #:phases 495 #:phases
495 (modify-phases %standard-phases 496 (modify-phases %standard-phases
496 (add-after 'unpack 'copy-rnnoise-library 497 (add-after 'unpack 'copy-rnnoise-library
diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm
index a24ecffb903..af99c08a6a3 100644
--- a/gnu/packages/task-management.scm
+++ b/gnu/packages/task-management.scm
@@ -39,6 +39,10 @@
39 #:use-module (gnu packages gettext) 39 #:use-module (gnu packages gettext)
40 #:use-module (gnu packages glib) 40 #:use-module (gnu packages glib)
41 #:use-module (gnu packages gnome) 41 #:use-module (gnu packages gnome)
42 #:use-module (gnu packages golang-build)
43 #:use-module (gnu packages golang-check)
44 #:use-module (gnu packages golang-web)
45 #:use-module (gnu packages golang-xyz)
42 #:use-module (gnu packages gstreamer) 46 #:use-module (gnu packages gstreamer)
43 #:use-module (gnu packages gtk) 47 #:use-module (gnu packages gtk)
44 #:use-module (gnu packages hunspell) 48 #:use-module (gnu packages hunspell)
@@ -278,20 +282,21 @@ time to a logfile.")
278(define-public dstask 282(define-public dstask
279 (package 283 (package
280 (name "dstask") 284 (name "dstask")
281 (version "0.26") 285 (version "0.27")
282 (source 286 (source
283 (origin 287 (origin
284 (method git-fetch) 288 (method git-fetch)
285 (uri (git-reference 289 (uri (git-reference
286 (url "https://github.com/naggie/dstask") 290 (url "https://github.com/naggie/dstask")
287 (commit (string-append "v" version)))) 291 (commit version)))
288 (file-name (git-file-name name version)) 292 (file-name (git-file-name name version))
289 (sha256 293 (sha256
290 (base32 "10q0524gfc76k0v9cy0j60cbgmmwkpnkbvl6w0pn1j5y690514f5")))) 294 (base32 "01vdxm3y5fg4hqhq4k1lk0m7w70kkwlka5jhixv7a9lf1gqldskd"))))
291 (build-system go-build-system) 295 (build-system go-build-system)
292 (arguments 296 (arguments
293 `(#:import-path "github.com/naggie/dstask" 297 `(#:import-path "github.com/naggie/dstask"
294 #:install-source? #f 298 #:install-source? #f
299 #:test-subdirs '("pkg/..." ".")
295 #:phases 300 #:phases
296 (modify-phases %standard-phases 301 (modify-phases %standard-phases
297 (replace 'build 302 (replace 'build
@@ -314,6 +319,18 @@ time to a logfile.")
314 (install-file "dstask-import" bindir) 319 (install-file "dstask-import" bindir)
315 (install-file ".dstask-bash-completions.sh" bash-completion) 320 (install-file ".dstask-bash-completions.sh" bash-completion)
316 (install-file ".dstask-zsh-completions.sh" zsh-completion)))))))) 321 (install-file ".dstask-zsh-completions.sh" zsh-completion))))))))
322 (native-inputs
323 (list go-github-com-burntsushi-toml
324 go-github-com-gofrs-uuid
325 go-github-com-mattn-go-isatty
326 go-github-com-mattn-go-runewidth
327 go-github-com-shurcool-githubv4
328 go-github-com-sirupsen-logrus
329 go-github-com-stretchr-testify
330 go-golang-org-x-oauth2
331 go-golang-org-x-sys
332 go-gopkg-in-yaml-v2
333 go-mvdan-cc-xurls-v2))
317 (synopsis "CLI-based TODO manager with git-based sync + markdown notes per task") 334 (synopsis "CLI-based TODO manager with git-based sync + markdown notes per task")
318 (description "dstask is a personal task tracker that uses git for 335 (description "dstask is a personal task tracker that uses git for
319synchronization. It offers a note command to attach a Markdown based note to 336synchronization. It offers a note command to attach a Markdown based note to
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index 2760de48922..88e84ce647a 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -990,34 +990,6 @@ minimalistic.")
990 (home-page "https://www.uninformativ.de/git/xiate/file/README.html") 990 (home-page "https://www.uninformativ.de/git/xiate/file/README.html")
991 (license license:expat)))) 991 (license license:expat))))
992 992
993(define-public go-github.com-nsf-termbox-go
994 (let ((commit "288510b9734e30e7966ec2f22b87c5f8e67345e3")
995 (revision "1"))
996 (package
997 (name "go-github.com-nsf-termbox-go")
998 (version (git-version "0.0.0" revision commit))
999 (source (origin
1000 (method git-fetch)
1001 (uri (git-reference
1002 (url "https://github.com/nsf/termbox-go")
1003 (commit commit)))
1004 (file-name (git-file-name name version))
1005 (sha256
1006 (base32
1007 "0hdyisfaf8yb55h3p03p4sbq19546mp9fy28f2kn659mycmhxqk4"))))
1008 (build-system go-build-system)
1009 (arguments
1010 '(#:import-path "github.com/nsf/termbox-go"))
1011 (propagated-inputs
1012 (list go-github-com-mattn-go-runewidth))
1013 (synopsis "@code{termbox} provides a minimal API for text-based user
1014interfaces")
1015 (description
1016 "Termbox is a library that provides a minimalistic API which allows the
1017programmer to write text-based user interfaces.")
1018 (home-page "https://github.com/nsf/termbox-go")
1019 (license license:expat))))
1020
1021(define-public go-github-com-junegunn-fzf 993(define-public go-github-com-junegunn-fzf
1022 (package 994 (package
1023 (name "go-github-com-junegunn-fzf") 995 (name "go-github-com-junegunn-fzf")
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 6091d1ea6d4..229e69a2b31 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -1496,9 +1496,7 @@ of a Unix terminal to HTML code.")
1496(define-public vale 1496(define-public vale
1497 (package 1497 (package
1498 (name "vale") 1498 (name "vale")
1499 ;; Newer versions requires <github.com/smacker/go-tree-sitter> which is 1499 (version "3.9.4")
1500 ;; quite a large project to pack.
1501 (version "3.4.2")
1502 (source 1500 (source
1503 (origin 1501 (origin
1504 (method git-fetch) 1502 (method git-fetch)
@@ -1506,49 +1504,35 @@ of a Unix terminal to HTML code.")
1506 (url "https://github.com/errata-ai/vale") 1504 (url "https://github.com/errata-ai/vale")
1507 (commit (string-append "v" version)))) 1505 (commit (string-append "v" version))))
1508 (sha256 1506 (sha256
1509 (base32 "15f8ggh7hpfmfpszl9qkdfz19kds6gg6x5dgcqy0v6jrcsdbgpgp")) 1507 (base32 "009gyrn2mi7bg10v6mqrr6c6ii5l2vbhs7mvh7g4xxgqhaqzpbhp"))
1510 (file-name (git-file-name name version)) 1508 (file-name (git-file-name name version))))
1511 (modules '((guix build utils)))
1512 (snippet
1513 #~(begin
1514 ;; Module name has been changed upstream.
1515 (substitute* (find-files "." "\\.go$")
1516 (("github.com/antonmedv/expr") "github.com/expr-lang/expr"))))))
1517 (build-system go-build-system) 1509 (build-system go-build-system)
1518 (arguments 1510 (arguments
1519 (list 1511 (list
1512 #:go go-1.23
1520 #:install-source? #f 1513 #:install-source? #f
1521 #:embed-files #~(list ".*\\.gob") 1514 #:embed-files #~(list ".*\\.gob")
1522 #:import-path "github.com/errata-ai/vale/cmd/vale" 1515 #:import-path "github.com/errata-ai/vale/cmd/vale"
1523 #:unpack-path "github.com/errata-ai/vale" 1516 #:unpack-path "github.com/errata-ai/vale"
1517 ;; Disable tests requring network access: Get
1518 ;; "https://raw.githubusercontent.com/errata-ai/styles/master/library.json":
1519 ;; dial tcp: lookup raw.githubusercontent.com on [::1]:53: read udp
1520 ;; [::1]:52621->[::1]:53: read: connection refused.
1521 #:test-flags
1522 #~(list "-skip" (string-join
1523 (list "TestLibrary"
1524 "TestNoPkgFound"
1525 "TestSymlinkFixture")
1526 "|"))
1527 #:test-subdirs
1528 #~(list "../../...") ; test whole libary, starting from import-path
1524 #:phases 1529 #:phases
1525 #~(modify-phases %standard-phases 1530 #~(modify-phases %standard-phases
1526 ;; Disable tests requring network access: Get 1531 (add-before 'check 'pre-check
1527 ;; "https://raw.githubusercontent.com/errata-ai/styles/master/library.json": 1532 (lambda _
1528 ;; dial tcp: lookup raw.githubusercontent.com on [::1]:53: 1533 (setenv "HOME" "/tmp"))))))
1529 ;; read udp [::1]:52621->[::1]:53: read: connection refused.
1530 (add-after 'unpack 'disable-failing-tests
1531 (lambda* (#:key tests? unpack-path #:allow-other-keys)
1532 (with-directory-excursion (string-append "src/" unpack-path)
1533 (substitute* (find-files "." "\\_test.go$")
1534 (("TestLibrary") "OffTestLibrary")
1535 (("TestLocalComplete") "OffTestLocalComplete")
1536 (("TestLocalDir") "OffTestLocalDir")
1537 (("TestLocalOnlyStyles") "OffTestLocalOnlyStyles")
1538 (("TestLocalZip") "OffTestLocalZip")
1539 (("TestNoPkgFound") "OffTestNoPkgFound")
1540 (("TestV3Pkg") "OffTestV3Pkg")))))
1541 ;; XXX: Workaround for go-build-system's lack of Go modules
1542 ;; support.
1543 (replace 'check
1544 (lambda* (#:key tests? unpack-path #:allow-other-keys)
1545 (when tests?
1546 (with-directory-excursion (string-append "src/" unpack-path)
1547 (setenv "HOME" "/tmp")
1548 (invoke "go" "test" "-v" "./..."))))))))
1549 (native-inputs 1534 (native-inputs
1550 (list go-github-com-masterminds-sprig-v3 1535 (list go-github-com-adrg-strutil
1551 go-github-com-adrg-strutil
1552 go-github-com-adrg-xdg 1536 go-github-com-adrg-xdg
1553 go-github-com-bmatcuk-doublestar-v4 1537 go-github-com-bmatcuk-doublestar-v4
1554 go-github-com-d5-tengo-v2 1538 go-github-com-d5-tengo-v2
@@ -1556,16 +1540,20 @@ of a Unix terminal to HTML code.")
1556 go-github-com-errata-ai-regexp2 1540 go-github-com-errata-ai-regexp2
1557 go-github-com-expr-lang-expr 1541 go-github-com-expr-lang-expr
1558 go-github-com-gobwas-glob 1542 go-github-com-gobwas-glob
1543 go-github-com-jdkato-go-tree-sitter-julia
1559 go-github-com-jdkato-twine 1544 go-github-com-jdkato-twine
1560 go-github-com-karrick-godirwalk 1545 go-github-com-masterminds-sprig-v3
1561 go-github-com-mholt-archiver-v3
1562 go-github-com-mitchellh-mapstructure 1546 go-github-com-mitchellh-mapstructure
1563 go-github-com-niklasfasching-go-org 1547 go-github-com-niklasfasching-go-org
1564 go-github-com-olekukonko-tablewriter 1548 go-github-com-olekukonko-tablewriter
1565 go-github-com-otiai10-copy 1549 go-github-com-otiai10-copy
1550 go-github-com-pelletier-go-toml-v2
1566 go-github-com-pterm-pterm 1551 go-github-com-pterm-pterm
1567 go-github-com-remeh-sizedwaitgroup 1552 go-github-com-remeh-sizedwaitgroup
1553 go-github-com-smacker-go-tree-sitter
1568 go-github-com-spf13-pflag 1554 go-github-com-spf13-pflag
1555 go-github-com-stretchr-testify
1556 go-github-com-tomwright-dasel-v2
1569 go-github-com-yuin-goldmark 1557 go-github-com-yuin-goldmark
1570 go-golang-org-x-exp 1558 go-golang-org-x-exp
1571 go-golang-org-x-net 1559 go-golang-org-x-net
diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm
index 2a94f534746..376fbe1504b 100644
--- a/gnu/packages/time.scm
+++ b/gnu/packages/time.scm
@@ -49,7 +49,6 @@
49 #:use-module (gnu packages check) 49 #:use-module (gnu packages check)
50 #:use-module (gnu packages compression) 50 #:use-module (gnu packages compression)
51 #:use-module (gnu packages geo) 51 #:use-module (gnu packages geo)
52 #:use-module (gnu packages golang)
53 #:use-module (gnu packages golang-xyz) 52 #:use-module (gnu packages golang-xyz)
54 #:use-module (gnu packages libffi) 53 #:use-module (gnu packages libffi)
55 #:use-module (gnu packages perl) 54 #:use-module (gnu packages perl)
@@ -696,7 +695,7 @@ choosing.")
696 (list 695 (list
697 #:import-path "github.com/antonmedv/countdown")) 696 #:import-path "github.com/antonmedv/countdown"))
698 (native-inputs 697 (native-inputs
699 (list go-github.com-nsf-termbox-go)) 698 (list go-github-com-nsf-termbox-go))
700 (home-page "https://github.com/antonmedv/countdown") 699 (home-page "https://github.com/antonmedv/countdown")
701 (synopsis "Counts to zero with a text user interface") 700 (synopsis "Counts to zero with a text user interface")
702 (description 701 (description
diff --git a/gnu/packages/tor-browsers.scm b/gnu/packages/tor-browsers.scm
index 6d74a75f4b5..13a1b41f72d 100644
--- a/gnu/packages/tor-browsers.scm
+++ b/gnu/packages/tor-browsers.scm
@@ -216,7 +216,7 @@ Browser.")
216 "16zyixbddwaiw1bzsai5crdg58kmacshsr0rp37m85qk0a8vryg3")))) 216 "16zyixbddwaiw1bzsai5crdg58kmacshsr0rp37m85qk0a8vryg3"))))
217 (build-system mozilla-build-system) 217 (build-system mozilla-build-system)
218 (inputs 218 (inputs
219 (list go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird 219 (list lyrebird
220 firefox-locales 220 firefox-locales
221 tor-client 221 tor-client
222 alsa-lib 222 alsa-lib
@@ -956,7 +956,7 @@ Mullvad Browser.")
956 (delete 'autoconfig-tor))))) 956 (delete 'autoconfig-tor)))))
957 (inputs 957 (inputs
958 (modify-inputs (package-inputs torbrowser) 958 (modify-inputs (package-inputs torbrowser)
959 (delete go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird))) 959 (delete lyrebird)))
960 (propagated-inputs 960 (propagated-inputs
961 (modify-inputs (package-propagated-inputs torbrowser) 961 (modify-inputs (package-propagated-inputs torbrowser)
962 (append ublock-origin/icecat))) 962 (append ublock-origin/icecat)))
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 2a95bc79e16..0990689a929 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -59,6 +59,8 @@
59;;; Copyright © 2024 Javier Olaechea <pirata@gmail.com> 59;;; Copyright © 2024 Javier Olaechea <pirata@gmail.com>
60;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se> 60;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
61;;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu> 61;;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
62;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
63;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
62;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com> 64;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
63;;; 65;;;
64;;; This file is part of GNU Guix. 66;;; This file is part of GNU Guix.
@@ -126,6 +128,7 @@
126 #:use-module (gnu packages golang-build) 128 #:use-module (gnu packages golang-build)
127 #:use-module (gnu packages golang-check) 129 #:use-module (gnu packages golang-check)
128 #:use-module (gnu packages golang-crypto) 130 #:use-module (gnu packages golang-crypto)
131 #:use-module (gnu packages golang-vcs)
129 #:use-module (gnu packages golang-web) 132 #:use-module (gnu packages golang-web)
130 #:use-module (gnu packages golang-xyz) 133 #:use-module (gnu packages golang-xyz)
131 #:use-module (gnu packages groff) 134 #:use-module (gnu packages groff)
@@ -980,6 +983,125 @@ the date of the most recent commit that modified them
980@end itemize") 983@end itemize")
981 (license license:gpl3+))) 984 (license license:gpl3+)))
982 985
986(define-public git-spice
987 (package
988 (name "git-spice")
989 (version "0.9.0")
990 (source
991 (origin
992 (method git-fetch)
993 (uri (git-reference
994 (url "https://github.com/abhinav/git-spice")
995 (commit (string-append "v" version))))
996 (file-name (git-file-name name version))
997 (sha256
998 (base32 "1yvnd5a3ql905jrxh0sq9sdcfmyq38fsbqx0zbhxbd4rgs8hv5s3"))))
999 (build-system go-build-system)
1000 (arguments
1001 (list
1002 #:go go-1.23
1003 #:import-path "go.abhg.dev/gs"
1004 #:install-source? #f
1005 #:test-flags
1006 #~(list "-skip"
1007 (string-join
1008 ;; XXX: Tests failing with various reasons; requiring
1009 ;; networking config or write access, or outbound access, check
1010 ;; if some of them may be fixed.
1011 (list "TestDeviceFlowAuthenticator"
1012 "TestScript/auth_detect_forge"
1013 "TestScript/auth_explicit_forge"
1014 "TestScript/auth_insecure_storage"
1015 "TestScript/auth_prompt_forge"
1016 "TestScript/branch_split_reassign_submitted"
1017 "TestScript/branch_submit_ambiguous_branch"
1018 "TestScript/branch_submit_by_name"
1019 "TestScript/branch_submit_config_no_publish"
1020 "TestScript/branch_submit_create_update"
1021 "TestScript/branch_submit_detect_existing"
1022 "TestScript/branch_submit_detect_existing_conflict"
1023 "TestScript/branch_submit_detect_existing_upstream_name"
1024 "TestScript/branch_submit_force_push"
1025 "TestScript/branch_submit_long_body"
1026 "TestScript/branch_submit_many_upstream_names_taken"
1027 "TestScript/branch_submit_multiple_commits"
1028 "TestScript/branch_submit_multiple_pr_templates"
1029 "TestScript/branch_submit_navigation_.*_out_multiple"
1030 "TestScript/branch_submit_needs_restack"
1031 "TestScript/branch_submit_no_editor"
1032 "TestScript/branch_submit_no_publish"
1033 "TestScript/branch_submit_pr_template"
1034 "TestScript/branch_submit_pr_template_cache_invalidation"
1035 "TestScript/branch_submit_pr_template_no_body"
1036 "TestScript/branch_submit_pr_template_prompt"
1037 "TestScript/branch_submit_recover_prepared"
1038 "TestScript/branch_submit_remote_prompt"
1039 "TestScript/branch_submit_rename"
1040 "TestScript/branch_submit_rename_base"
1041 "TestScript/branch_submit_update_pr_is_closed"
1042 "TestScript/branch_submit_update_pr_is_merged"
1043 "TestScript/branch_submit_upstream_name"
1044 "TestScript/branch_submit_upstream_name_wrong_remote"
1045 "TestScript/branch_submit_use_git_editor"
1046 "TestScript/branch_submit_web"
1047 "TestScript/branch_submit_web_opt_out"
1048 "TestScript/downstack_submit"
1049 "TestScript/issue369_branch_.*_case_insensitive"
1050 "TestScript/issue369_branch_.*_remote_update"
1051 "TestScript/issue398_repo_sync_many_merged"
1052 "TestScript/repo_sync_after_merging_renamed_branch"
1053 "TestScript/repo_sync_detached_head"
1054 "TestScript/repo_sync_detect_externally_created_prs"
1055 "TestScript/repo_sync_external_pr_head_mismatch"
1056 "TestScript/repo_sync_manual_pull_merged_pr"
1057 "TestScript/repo_sync_merged_pr"
1058 "TestScript/repo_sync_remote_already_deleted"
1059 "TestScript/repo_sync_restack"
1060 "TestScript/repo_sync_trunk_dirty_tree"
1061 "TestScript/repo_sync_trunk_no_prs"
1062 "TestScript/repo_sync_unpushed_commits"
1063 "TestScript/stack_submit"
1064 "TestScript/stack_submit_update_leave_draft"
1065 "TestScript/stack_submit_web"
1066 "TestScript/upstack_submit_main")
1067 "|"))))
1068 (native-inputs
1069 (list git-minimal ; for tests in testdata/scripts
1070 go-github-com-alecthomas-kong
1071 go-github-com-buildkite-shellwords
1072 go-github-com-charmbracelet-bubbles
1073 go-github-com-charmbracelet-bubbletea
1074 go-github-com-charmbracelet-lipgloss
1075 go-github-com-charmbracelet-log
1076 go-github-com-cli-browser
1077 go-github-com-creack-pty
1078 go-github-com-dustin-go-humanize
1079 go-github-com-mattn-go-isatty
1080 go-github-com-rogpeppe-go-internal
1081 go-github-com-sahilm-fuzzy
1082 go-github-com-shurcool-githubv4
1083 go-github-com-stretchr-testify
1084 go-github-com-tidwall-gjson
1085 go-github-com-vito-midterm
1086 go-github-com-xanzy-go-gitlab
1087 go-github-com-zalando-go-keyring
1088 go-go-abhg-dev-komplete
1089 go-go-abhg-dev-requiredfield
1090 go-go-abhg-dev-testing-stub
1091 go-go-uber-org-mock
1092 go-golang-org-x-oauth2
1093 go-gopkg-in-dnaeon-go-vcr-v4
1094 go-gopkg-in-yaml-v3
1095 go-pgregory-net-rapid))
1096 (home-page "https://go.abhg.dev/gs")
1097 (synopsis "Manage stacks of Git branches")
1098 (description
1099 "git-spice (@code{gs}) is a command line tool for stacking Git branches,
1100a collection of branches expecting the trunk has a base branch. It manages
1101and navigates stacks of branches, conveniently modifies and rebases them also
1102provides an integration with GitHub and GitLab.")
1103 (license license:gpl3)))
1104
983(define-public got 1105(define-public got
984 (package 1106 (package
985 (name "got") 1107 (name "got")
@@ -3812,7 +3934,7 @@ will reconstruct the object along its delta-base chain and return it.")
3812(define-public git-lfs 3934(define-public git-lfs
3813 (package 3935 (package
3814 (name "git-lfs") 3936 (name "git-lfs")
3815 (version "3.4.0") 3937 (version "3.6.0")
3816 (source (origin 3938 (source (origin
3817 (method git-fetch) 3939 (method git-fetch)
3818 (uri (git-reference 3940 (uri (git-reference
@@ -3821,13 +3943,14 @@ will reconstruct the object along its delta-base chain and return it.")
3821 (file-name (git-file-name name version)) 3943 (file-name (git-file-name name version))
3822 (sha256 3944 (sha256
3823 (base32 3945 (base32
3824 "0ljjs8kyznp2ifkqdcd9q3550sknyx5qxx247icwkd9djjq7x74m")))) 3946 "09ry2nq5bpdxk446dyhc0d6d85wy5x2i5ckwwg9r00a3zdp5v4ry"))))
3825 (build-system go-build-system) 3947 (build-system go-build-system)
3826 (arguments 3948 (arguments
3827 (list 3949 (list
3828 #:embed-files #~(list "children" "nodes" "text") 3950 #:embed-files #~(list "children" "nodes" "text")
3829 #:import-path "github.com/git-lfs/git-lfs" 3951 #:import-path "github.com/git-lfs/git-lfs"
3830 #:install-source? #f 3952 #:install-source? #f
3953 #:test-flags #~(list "-skip" "TestHistoryRewriterUpdatesRefs")
3831 #:phases 3954 #:phases
3832 #~(modify-phases %standard-phases 3955 #~(modify-phases %standard-phases
3833 (add-after 'unpack 'patch-/bin/sh 3956 (add-after 'unpack 'patch-/bin/sh
@@ -3863,24 +3986,25 @@ will reconstruct the object along its delta-base chain and return it.")
3863 (list ronn-ng ruby-asciidoctor) 3986 (list ronn-ng ruby-asciidoctor)
3864 '()))) 3987 '())))
3865 (propagated-inputs 3988 (propagated-inputs
3866 (list go-github-com-xeipuuv-gojsonschema 3989 (list go-github-com-avast-retry-go
3867 go-github-com-xeipuuv-gojsonreference
3868 go-github-com-xeipuuv-gojsonpointer
3869 go-golang-org-x-net
3870 go-golang-org-x-sync
3871 go-github-com-ssgelm-cookiejarparser
3872 go-github-com-rubyist-tracerx
3873 go-github-com-olekukonko-ts
3874 go-github-com-leonelquinteros-gotext
3875 go-github-com-git-lfs-wildmatch-v2
3876 go-github-com-git-lfs-pktline
3877 go-github-com-git-lfs-go-netrc
3878 go-github-com-git-lfs-gitobj-v2
3879 go-github-com-dpotapov-go-spnego 3990 go-github-com-dpotapov-go-spnego
3880 go-github-com-avast-retry-go 3991 go-github-com-git-lfs-gitobj-v2
3992 go-github-com-git-lfs-go-netrc
3993 go-github-com-git-lfs-pktline
3994 go-github-com-git-lfs-wildmatch-v2
3995 go-github-com-jmhodges-clock
3996 go-github-com-leonelquinteros-gotext
3881 go-github-com-mattn-go-isatty 3997 go-github-com-mattn-go-isatty
3998 go-github-com-olekukonko-ts
3882 go-github-com-pkg-errors 3999 go-github-com-pkg-errors
3883 go-github-com-spf13-cobra)) 4000 go-github-com-rubyist-tracerx
4001 go-github-com-spf13-cobra
4002 go-github-com-ssgelm-cookiejarparser
4003 go-github-com-stretchr-testify
4004 go-github-com-xeipuuv-gojsonschema
4005 go-golang-org-x-net
4006 go-golang-org-x-sync
4007 go-golang-org-x-sys))
3884 (home-page "https://git-lfs.github.com/") 4008 (home-page "https://git-lfs.github.com/")
3885 (synopsis "Git extension for versioning large files") 4009 (synopsis "Git extension for versioning large files")
3886 (description 4010 (description
@@ -4055,59 +4179,6 @@ of machine readable. This helps improve code quality and helps you spot
4055defects faster.") 4179defects faster.")
4056 (license license:expat))) 4180 (license license:expat)))
4057 4181
4058(define-public go-github-com-go-git-go-git-v5
4059 (package
4060 (name "go-github-com-go-git-go-git-v5")
4061 (version "5.1.0")
4062 (source (origin
4063 (method git-fetch)
4064 (uri (git-reference
4065 (url "https://github.com/go-git/go-git")
4066 (commit (string-append "v" version))))
4067 (file-name (git-file-name name version))
4068 (sha256
4069 (base32
4070 "1vkcmhh2qq8c38sjbnzf0wvg2rzr19wssaq177bsvrjwj1xz1qbs"))))
4071 (build-system go-build-system)
4072 (arguments
4073 (list
4074 #:tests? #f ;requires network connection
4075 #:import-path "github.com/go-git/go-git/v5"
4076 #:phases
4077 #~(modify-phases %standard-phases
4078 (add-before 'build 'setup
4079 (lambda* (#:key inputs #:allow-other-keys)
4080 (let* ((git #$(this-package-native-input "git"))
4081 (git-bin (string-append git "/bin"))
4082 (git-exe (string-append git-bin "/git")))
4083 (setenv "GIT_DIST_PATH=" git)
4084 (setenv "GIT_EXEC_PATH=" git-bin)
4085 (setenv "HOME" (getcwd))
4086 (invoke git-exe "config" "--global" "user.email" "gha@example.com")
4087 (invoke git-exe "config" "--global" "user.name" "GitHub Actions")))))))
4088 (propagated-inputs
4089 (list go-github-com-alcortesm-tgz
4090 go-github-com-emirpasic-gods
4091 go-github-com-go-git-gcfg
4092 go-github-com-go-git-go-billy-v5
4093 go-github-com-go-git-go-git-fixtures-v4
4094 go-github-com-imdario-mergo
4095 go-github-com-jbenet-go-context
4096 go-github-com-kevinburke-ssh-config
4097 go-github-com-mitchellh-go-homedir
4098 go-github-com-sergi-go-diff
4099 go-github-com-xanzy-ssh-agent
4100 go-golang-org-x-crypto
4101 go-golang-org-x-net
4102 go-golang-org-x-text
4103 go-gopkg-in-check-v1
4104 go-gopkg-in-warnings))
4105 (native-inputs (list git))
4106 (home-page "https://github.com/go-git/")
4107 (synopsis "Git implementation library")
4108 (description "This package provides a Git implementation library.")
4109 (license license:asl2.0)))
4110
4111(define-public gita 4182(define-public gita
4112 (let ((commit "e41b504dca90a25e9be27f296da7ce22e5782893") 4183 (let ((commit "e41b504dca90a25e9be27f296da7ce22e5782893")
4113 (revision "1")) 4184 (revision "1"))
@@ -4171,7 +4242,7 @@ If several repos are related, it helps to see their status together.")
4171(define-public ghq 4242(define-public ghq
4172 (package 4243 (package
4173 (name "ghq") 4244 (name "ghq")
4174 (version "1.6.2") 4245 (version "1.7.1")
4175 (home-page "https://github.com/x-motemen/ghq") 4246 (home-page "https://github.com/x-motemen/ghq")
4176 (source (origin 4247 (source (origin
4177 (method git-fetch) 4248 (method git-fetch)
@@ -4181,7 +4252,7 @@ If several repos are related, it helps to see their status together.")
4181 (file-name (git-file-name name version)) 4252 (file-name (git-file-name name version))
4182 (sha256 4253 (sha256
4183 (base32 4254 (base32
4184 "00rrm0gykmj60i0lnr4js6d4193c92zm3cimimb03xva4n9frvxw")))) 4255 "0ai3klp3fm5r0idnml5pm55wcvkav3w0s11snlmr0ab1ki8m9sg5"))))
4185 (build-system go-build-system) 4256 (build-system go-build-system)
4186 (arguments 4257 (arguments
4187 (list 4258 (list
@@ -4204,13 +4275,14 @@ If several repos are related, it helps to see their status together.")
4204 (native-inputs 4275 (native-inputs
4205 (list git-minimal)) 4276 (list git-minimal))
4206 (inputs 4277 (inputs
4207 (list go-github-com-songmu-gitconfig 4278 (list go-github-com-mattn-go-isatty
4208 go-github-com-mattn-go-isatty
4209 go-github-com-motemen-go-colorine 4279 go-github-com-motemen-go-colorine
4210 go-github-com-saracen-walker 4280 go-github-com-saracen-walker
4281 go-github-com-songmu-gitconfig
4211 go-github-com-urfave-cli-v2 4282 go-github-com-urfave-cli-v2
4212 go-golang-org-x-net 4283 go-golang-org-x-net
4213 go-golang-org-x-sync)) 4284 go-golang-org-x-sync
4285 go-golang-org-x-text))
4214 (synopsis "Manage remote repository clones") 4286 (synopsis "Manage remote repository clones")
4215 (description 4287 (description
4216 "@code{ghq} provides a way to organize remote repository clones, like 4288 "@code{ghq} provides a way to organize remote repository clones, like
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 29f29e0b53f..b8819bb14d7 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -2290,6 +2290,7 @@ Open Container Initiative specification.")
2290 (package 2290 (package
2291 (name "umoci") 2291 (name "umoci")
2292 (version "0.4.7") 2292 (version "0.4.7")
2293 ;; XXX: Source contain vendor, consider to pack all missing dependencies.
2293 (source 2294 (source
2294 (origin 2295 (origin
2295 (method url-fetch) 2296 (method url-fetch)
@@ -2303,6 +2304,7 @@ Open Container Initiative specification.")
2303 (arguments 2304 (arguments
2304 '(#:import-path "github.com/opencontainers/umoci" 2305 '(#:import-path "github.com/opencontainers/umoci"
2305 #:install-source? #f 2306 #:install-source? #f
2307 #:test-subdirs '(".")
2306 #:phases 2308 #:phases
2307 (modify-phases %standard-phases 2309 (modify-phases %standard-phases
2308 (replace 'unpack 2310 (replace 'unpack
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index f8cb774a79c..3056083c94c 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -370,12 +370,6 @@ and its related documentation.")
370 #$version)) 370 #$version))
371 #:phases 371 #:phases
372 #~(modify-phases %standard-phases 372 #~(modify-phases %standard-phases
373 ;; XXX: Replace when go-build-system supports nested path.
374 (replace 'check
375 (lambda* (#:key import-path tests? #:allow-other-keys)
376 (when tests?
377 (with-directory-excursion (string-append "src/" import-path)
378 (invoke "go" "test" "-v" "./...")))))
379 (add-after 'install 'install-manpage 373 (add-after 'install 'install-manpage
380 (lambda* (#:key import-path #:allow-other-keys) 374 (lambda* (#:key import-path #:allow-other-keys)
381 (let ((man1 (string-append #$output "/share/man/man1/")) 375 (let ((man1 (string-append #$output "/share/man/man1/"))
@@ -402,8 +396,7 @@ and its related documentation.")
402 go-golang-org-x-net 396 go-golang-org-x-net
403 go-golang-org-x-oauth2 397 go-golang-org-x-oauth2
404 go-golang-org-x-term 398 go-golang-org-x-term
405 go-golang-org-x-text 399 go-golang-org-x-text))
406 go-mvdan-cc-xurls-v2))
407 (home-page "https://miniflux.app/") 400 (home-page "https://miniflux.app/")
408 (synopsis "Minimalist and opinionated feed reader") 401 (synopsis "Minimalist and opinionated feed reader")
409 (description 402 (description
@@ -1961,7 +1954,7 @@ UTS#46.")
1961(define-public esbuild 1954(define-public esbuild
1962 (package 1955 (package
1963 (name "esbuild") 1956 (name "esbuild")
1964 (version "0.14.0") 1957 (version "0.24.0")
1965 (source 1958 (source
1966 (origin 1959 (origin
1967 (method git-fetch) 1960 (method git-fetch)
@@ -1970,43 +1963,28 @@ UTS#46.")
1970 (commit (string-append "v" version)))) 1963 (commit (string-append "v" version))))
1971 (file-name (git-file-name name version)) 1964 (file-name (git-file-name name version))
1972 (sha256 1965 (sha256
1973 (base32 "09r1xy0kk6c9cpz6q0mxr4why373pwxbm439z2ihq3k1d5kk7x4w")) 1966 (base32 "1j99m7rdql6iq3llrr8bm85hq34ssc8bmb6vhwr1ibgspjl0jd3k"))
1974 (modules '((guix build utils))) 1967 (modules '((guix build utils)))
1975 (snippet 1968 (snippet
1976 '(begin 1969 #~(begin
1977 ;; Remove prebuilt binaries 1970 ;; Remove prebuilt binaries
1978 (delete-file-recursively "npm") 1971 (delete-file-recursively "npm")))))
1979 #t))))
1980 (build-system go-build-system) 1972 (build-system go-build-system)
1981 (arguments 1973 (arguments
1982 `(#:import-path "github.com/evanw/esbuild/cmd/esbuild" 1974 (list
1983 #:unpack-path "github.com/evanw/esbuild" 1975 #:import-path "github.com/evanw/esbuild/cmd/esbuild"
1984 #:phases 1976 #:unpack-path "github.com/evanw/esbuild"
1985 (modify-phases %standard-phases 1977 #:test-flags #~(list #$(if (target-64bit?) "-race" "-short"))
1986 (replace 'check 1978 ;; Test subdirectories are compiled from #:import-path.
1987 (lambda* (#:key tests? unpack-path #:allow-other-keys) 1979 #:test-subdirs #~(list "../../internal/..." "../../pkg/..." )))
1988 (when tests?
1989 ;; The "Go Race Detector" is only supported on 64-bit
1990 ;; platforms, this variable disables it.
1991 ;; TODO: Causes too many rebuilds, rewrite to limit to x86_64,
1992 ;; aarch64 and ppc64le.
1993 ,(if (target-riscv64?)
1994 `(setenv "ESBUILD_RACE" "")
1995 `(unless ,(target-64bit?)
1996 (setenv "ESBUILD_RACE" "")))
1997 (with-directory-excursion (string-append "src/" unpack-path)
1998 (invoke "make" "test-go")))
1999 #t)))))
2000 (inputs 1980 (inputs
2001 `(("golang.org/x/sys" ,go-golang-org-x-sys))) 1981 (list go-golang-org-x-sys-for-esbuild))
2002 (native-inputs
2003 `(("github.com/kylelemons/godebug" ,go-github-com-kylelemons-godebug)))
2004 (home-page "https://esbuild.github.io/") 1982 (home-page "https://esbuild.github.io/")
2005 (synopsis "Bundler and minifier tool for JavaScript and TypeScript") 1983 (synopsis "Bundler and minifier tool for JavaScript and TypeScript")
2006 (description 1984 (description
2007 "The esbuild tool provides a unified bundler, transpiler and 1985 "The esbuild tool provides a unified bundler, transpiler and minifier.
2008minifier. It packages up JavaScript and TypeScript code, along with JSON 1986It packages up JavaScript and TypeScript code, along with JSON and other data,
2009and other data, for distribution on the web.") 1987for distribution on the web.")
2010 (license license:expat))) 1988 (license license:expat)))
2011 1989
2012(define-public tinyproxy 1990(define-public tinyproxy
@@ -5550,13 +5528,17 @@ you'd expect.")
5550 "0s7c8r6y5jv6wda2v3k47hawfdr9j3rwk717l6byvh5qsbbml0vd")))) 5528 "0s7c8r6y5jv6wda2v3k47hawfdr9j3rwk717l6byvh5qsbbml0vd"))))
5551 (build-system go-build-system) 5529 (build-system go-build-system)
5552 (arguments 5530 (arguments
5553 (list #:import-path "github.com/mikefarah/yq/v4" 5531 (list
5554 #:phases 5532 #:skip-build? #t
5555 #~(modify-phases %standard-phases 5533 #:import-path "github.com/mikefarah/yq/v4"
5556 (add-after 'install 'remove-binary 5534 #:phases
5557 (lambda _ 5535 #~(modify-phases %standard-phases
5558 (delete-file-recursively 5536 ;; Tests need this.
5559 (string-append #$output "/bin"))))))) 5537 (add-after 'unpack 'fix-access-to-doc
5538 (lambda* (#:key import-path #:allow-other-keys)
5539 (with-directory-excursion (string-append "src/" import-path)
5540 (for-each make-file-writable
5541 (find-files "./pkg/yqlib/doc" "\\.md"))))))))
5560 (propagated-inputs 5542 (propagated-inputs
5561 (list go-github-com-a8m-envsubst 5543 (list go-github-com-a8m-envsubst
5562 go-github-com-alecthomas-participle-v2 5544 go-github-com-alecthomas-participle-v2
@@ -5591,14 +5573,12 @@ JSON, XML, properties, CSV and TSV.")
5591 (inherit go-github-com-mikefarah-yq-v4) 5573 (inherit go-github-com-mikefarah-yq-v4)
5592 (name "yq") 5574 (name "yq")
5593 (arguments 5575 (arguments
5594 (list #:install-source? #f 5576 (substitute-keyword-arguments
5595 #:import-path "github.com/mikefarah/yq/v4" 5577 (package-arguments go-github-com-mikefarah-yq-v4)
5596 #:phases 5578 ((#:install-source? _ #t) #f)
5597 #~(modify-phases %standard-phases 5579 ((#:skip-build? _ #t) #f)
5598 (add-after 'install 'rename-binary 5580 ((#:tests? _ #t) #f)
5599 (lambda _ 5581 ((#:import-path _) "github.com/mikefarah/yq")))
5600 (rename-file (string-append #$output "/bin/v4")
5601 (string-append #$output "/bin/yq")))))))
5602 (propagated-inputs '()) 5582 (propagated-inputs '())
5603 (inputs (package-propagated-inputs go-github-com-mikefarah-yq-v4)))) 5583 (inputs (package-propagated-inputs go-github-com-mikefarah-yq-v4))))
5604 5584
@@ -9011,7 +8991,7 @@ Anonip can also be uses as a Python module in your own Python application.")
9011 "0kckcwvqklavd855np9aq5js6mg84isrlwchr504yigwma0sm7hm")))) 8991 "0kckcwvqklavd855np9aq5js6mg84isrlwchr504yigwma0sm7hm"))))
9012 (build-system go-build-system) 8992 (build-system go-build-system)
9013 (propagated-inputs 8993 (propagated-inputs
9014 (list go-github-com-robfig-cron go-golang-org-x-time)) 8994 (list go-github-com-robfig-cron-v3 go-golang-org-x-time))
9015 (arguments 8995 (arguments
9016 `(#:import-path "github.com/tsileo/poussetaches")) 8996 `(#:import-path "github.com/tsileo/poussetaches"))
9017 (home-page "https://github.com/tsileo/poussetaches") 8997 (home-page "https://github.com/tsileo/poussetaches")