aboutsummaryrefslogtreecommitdiff
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
parent55859a28cc1deeddb2d7e46c3a4579290029501b (diff)
parent9e2de68cf8aa5ac590ae3fca4fe90ac1b91bfa8a (diff)
downloadguix-75437dbb7695bf336e349796f075df06662b130c.tar.gz
guix-75437dbb7695bf336e349796f075df06662b130c.zip
Merge remote-tracking branch 'origin/go-team'
Change-Id: I3672a7dc248a41b1a83e4c488523f62cf1806710
-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
-rw-r--r--guix/build-system/go.scm8
-rw-r--r--guix/build/go-build-system.scm66
45 files changed, 16331 insertions, 7293 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 9457fbf4cb..6961b8816c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -342,6 +342,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/golang-compression.scm \
%D%/packages/golang-crypto.scm \
%D%/packages/golang-maths.scm \
+ %D%/packages/golang-vcs.scm \
%D%/packages/golang-web.scm \
%D%/packages/golang-xyz.scm \
%D%/packages/gperf.scm \
@@ -1507,8 +1508,6 @@ dist_patch_DATA = \
%D%/packages/patches/go-fix-script-tests.patch \
%D%/packages/patches/go-gopkg-in-yaml-v3-32bit.patch \
%D%/packages/patches/go-github-com-golang-snappy-32bit-test.patch \
- %D%/packages/patches/go-github-com-urfave-cli-fix-tests.patch \
- %D%/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch \
%D%/packages/patches/go-github-com-warpfork-go-wish-fix-tests.patch \
%D%/packages/patches/go-github-com-wraparound-wrap-free-fonts.patch \
%D%/packages/patches/go-skip-gc-test.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 659f7bc3be..82de7c360f 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -70,6 +70,7 @@
;;; Copyright © 2024 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2024 nathan <nathan_mail@nborghese.com>
;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me>
+;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
;;; Copyright © 2025 Dariqq <dariqq@posteo.net>
@@ -148,7 +149,10 @@
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
+ #:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-compression)
+ #:use-module (gnu packages golang-crypto)
+ #:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages groff)
#:use-module (gnu packages gtk)
@@ -285,6 +289,53 @@ usual file attributes can be checked for inconsistencies.")
(home-page "https://aide.github.io/")
(license license:gpl2+)))
+(define-public hetznercloud-cli
+ (package
+ (name "hetznercloud-cli")
+ (version "1.49.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hetznercloud/cli")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0mgd1rv0i18h7jbzl034ffpfxvnjirp60qwxsjpfy42jh1d8xbjm"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f ; XXX: figure out hot to enable them
+ #:install-source? #f
+ #:import-path "github.com/hetznercloud/cli/cmd/hcloud"
+ #:unpack-path "github.com/hetznercloud/cli"))
+ (native-inputs
+ (list go-github-com-burntsushi-toml
+ go-github-com-cheggaaa-pb-v3
+ go-github-com-dustin-go-humanize
+ go-github-com-fatih-color
+ go-github-com-fatih-structs
+ go-github-com-goccy-go-yaml
+ go-github-com-guptarohit-asciigraph
+ go-github-com-hetznercloud-hcloud-go-v2
+ go-github-com-jedib0t-go-pretty-v6
+ go-github-com-spf13-cast
+ go-github-com-spf13-cobra
+ go-github-com-spf13-pflag
+ go-github-com-spf13-viper
+ go-github-com-stretchr-testify
+ go-github-com-swaggest-assertjson
+ go-go-uber-org-mock
+ go-golang-org-x-crypto
+ go-golang-org-x-term))
+ (home-page "https://github.com/hetznercloud/cli")
+ (synopsis "Command-line interface for the Hetzner Cloud service")
+ (description
+ "This package provides the @code{hcloud} binary, a command-line interface
+for interacting with the @url{https://www.hetzner.com/,Hetzner Cloud}
+service.")
+ (license license:expat)))
+
(define-public progress
(package
(name "progress")
@@ -5463,7 +5514,6 @@ disk utilization, priority, username, state, and exit code.")
(list
#:install-source? #f
#:import-path "github.com/linuxboot/fiano"
- #:unpack-path "github.com/linuxboot/fiano"
#:phases
#~(modify-phases %standard-phases
;; XXX: Replace this part when it's implemented in go-build-system.
@@ -5475,10 +5525,7 @@ disk utilization, priority, username, state, and exit code.")
(string-append import-path "/cmds/" cmd)))
(list "cbfs"
"create-ffs"
- ;; TODO: Not packed yet in guix, long jorney:
- ;; - github.com/tjfoc/gmsm
- ;;
- ;; "fittool"
+ "fittool"
"fmap"
"fspinfo"
"glzma"
@@ -5493,20 +5540,14 @@ disk utilization, priority, username, state, and exit code.")
(invoke "go" "test" "-v"
(string-append import-path dir "/...")))
(list "/pkg/bytes"
- ;; TODO: Not packed yet in Guix, long jorney:
- ;; - github.com/jedib0t
- ;;
- ;; "/pkg/amd"
+ "/pkg/amd"
"/pkg/cbfs"
"/pkg/compression"
"/pkg/fmap"
"/pkg/fsp"
"/pkg/guid"
"/pkg/guid2english"
- ;; TODO: Not packed yet in Guix, long jorney:
- ;; - github.com/tjfoc/gmsm
- ;;
- ;; "/pkg/intel"
+ "/pkg/intel"
"/pkg/knownguids"
"/pkg/log"
"/pkg/uefi"
@@ -5533,7 +5574,7 @@ disk utilization, priority, username, state, and exit code.")
(install-file cmd bindir))
(list "cbfs"
"create-ffs"
- ;; "fittool"
+ "fittool"
"fmap"
"fspinfo"
"glzma"
@@ -5542,11 +5583,18 @@ disk utilization, priority, username, state, and exit code.")
"utk"))))))))
(inputs
(list go-github-com-dustin-go-humanize
+ go-github-com-fatih-camelcase
go-github-com-hashicorp-go-multierror
+ go-github-com-jedib0t-go-pretty-v6
go-github-com-jessevdk-go-flags
+ go-github-com-klauspost-compress
go-github-com-pierrec-lz4
go-github-com-spf13-pflag
+ go-github-com-stretchr-testify
+ go-github-com-tjfoc-gmsm
go-github-com-ulikunitz-xz
+ go-github-com-xaionaro-go-bytesextra
+ go-github-com-xaionaro-gosrc
go-golang-org-x-text))
(home-page "https://github.com/linuxboot/fiano")
(synopsis "UEFI image editor")
@@ -5701,7 +5749,7 @@ FIFO and UNIX interprocess communication.")
(define-public runitor
(package
(name "runitor")
- (version "0.8.0")
+ (version "1.3.0-build.4")
(source
(origin
(method git-fetch)
@@ -5710,7 +5758,7 @@ FIFO and UNIX interprocess communication.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0vjfbyrbp5ywgzdz9j3x0qgjvnq7nw7193x8v9yy6k2cih1zsacn"))))
+ (base32 "00l83jcjmf5kcq8yzq575kk6ljkkr2xhm5cx27zzb1yhxn93xj7n"))))
(build-system go-build-system)
(arguments
`(#:unpack-path "bdd.fi/x/runitor"
@@ -6353,7 +6401,7 @@ file or files to several hosts.")
(define-public doctl
(package
(name "doctl")
- (version "1.94.0")
+ (version "1.120.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -6362,7 +6410,12 @@ file or files to several hosts.")
(file-name (git-file-name name version))
(sha256
(base32
- "0a221n0x7qrq0dbhhf1saya2g7jyy1798k3rhy9nzyvqzc4vnd0x"))))
+ "12fgymgiv6894ghar7ljg69hb7mi18pa2a74sp7fyymqvyhiv6z9"))
+ (snippet
+ ;; TODO: Unbundle more.
+ #~(begin (use-modules (guix build utils))
+ (for-each delete-file-recursively
+ (list "vendor/golang.org"))))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/digitalocean/doctl/cmd/doctl"
@@ -6392,6 +6445,17 @@ file or files to several hosts.")
"/etc/fish/completions/doctl.fish")
(install-completion "zsh"
"/etc/zsh/site-functions/_doctl"))))))
+ (native-inputs
+ (list go-golang-org-x-crypto
+ go-golang-org-x-mod
+ go-golang-org-x-net
+ go-golang-org-x-oauth2
+ go-golang-org-x-sync
+ go-golang-org-x-sys
+ go-golang-org-x-term
+ go-golang-org-x-text
+ go-golang-org-x-time
+ go-golang-org-x-tools))
(home-page "https://github.com/digitalocean/doctl")
(synopsis "Command line client for DigitalOcean")
(description
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 540dddeba7..bc449a9591 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -1058,7 +1058,7 @@ precious backup space.
(define-public restic-rest-server
(package
(name "restic-rest-server")
- (version "0.12.1")
+ (version "0.13.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1067,7 +1067,7 @@ precious backup space.
(file-name (git-file-name name version))
(sha256
(base32
- "18jk93j91dq4639nml4qnq1fq5j3s67ca3gvfka5aafln8ir8ffk"))))
+ "1ncsmwn4g1j555cgwkk5p8f093s42fip7dajhnh554jp1zx757m3"))))
(build-system go-build-system)
(arguments
(list
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 079a64ba36..fc1df4745d 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -24460,9 +24460,9 @@ for nanopore cDNA, native RNA, and PacBio sequencing reads.")
functions.")
(license license:bsd-3)))
-(define-public go-github-com-biogo-store-interval
+(define-public go-github-com-biogo-store
(package
- (name "go-github-com-biogo-store-interval")
+ (name "go-github-com-biogo-store")
(version "0.0.0-20201120204734-aad293a2328f")
(source (origin
(method git-fetch)
@@ -24475,8 +24475,9 @@ functions.")
"0skizrp1j6vgbl0g1kmh73picagqlvwckaqs0gkl6rai5lckxj8a"))))
(build-system go-build-system)
(arguments
- '(#:import-path "github.com/biogo/store/interval"
- #:unpack-path "github.com/biogo/store"))
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/biogo/store"))
(propagated-inputs
(list go-gopkg-in-check-v1
go-github-com-kr-pretty))
@@ -24487,45 +24488,9 @@ functions.")
useful for bioinformatic analysis.")
(license license:bsd-3)))
-(define-public go-github-com-biogo-store-kdtree
- (package
- (inherit go-github-com-biogo-store-interval)
- (name "go-github-com-biogo-store-kdtree")
- (arguments
- '(#:import-path "github.com/biogo/store/kdtree"
- #:unpack-path "github.com/biogo/store"))
- (propagated-inputs
- (list go-gopkg-in-check-v1
- go-github-com-kr-pretty))
- (synopsis "kdtree store type for biogo")))
-
-(define-public go-github-com-biogo-store-llrb
- (package
- (inherit go-github-com-biogo-store-interval)
- (name "go-github-com-biogo-store-llrb")
- (arguments
- '(#:import-path "github.com/biogo/store/llrb"
- #:unpack-path "github.com/biogo/store"))
- (propagated-inputs
- (list go-gopkg-in-check-v1
- go-github-com-kr-pretty))
- (synopsis "LLRB store for biogo")))
-
-(define-public go-github-com-biogo-store-step
- (package
- (inherit go-github-com-biogo-store-interval)
- (name "go-github-com-biogo-store-step")
- (arguments
- '(#:import-path "github.com/biogo/store/step"
- #:unpack-path "github.com/biogo/store"))
- (propagated-inputs
- (list go-gopkg-in-check-v1
- go-github-com-kr-pretty))
- (synopsis "Step store for biogo")))
-
-(define-public go-github-com-biogo-hts-bam
+(define-public go-github-com-biogo-hts
(package
- (name "go-github-com-biogo-hts-bam")
+ (name "go-github-com-biogo-hts")
(version "1.4.4")
(source (origin
(method git-fetch)
@@ -24538,91 +24503,22 @@ useful for bioinformatic analysis.")
"1vkcqxyajghx5p5j7g2i376nbsxh8q2smk0smlv8mi34yr7hlw5b"))))
(build-system go-build-system)
(arguments
- '(#:import-path "github.com/biogo/hts/bam"
- #:unpack-path "github.com/biogo/hts"))
- (propagated-inputs
- (list go-gopkg-in-check-v1))
- (home-page "https://github.com/biogo/hts")
- (synopsis "HTS BAM module for biogo")
- (description "This package provides tools for handling BAM files.")
- (license license:bsd-3)))
-
-(define-public go-github-com-biogo-hts-sam
- (package
- (inherit go-github-com-biogo-hts-bam)
- (name "go-github-com-biogo-hts-sam")
- (arguments
- '(#:import-path "github.com/biogo/hts/sam"
- #:unpack-path "github.com/biogo/hts"))
- (propagated-inputs
- (list go-gopkg-in-check-v1))
- (synopsis "HTS SAM module for biogo")
- (description "This package provides tools for handling SAM files.")))
-
-(define-public go-github-com-biogo-hts-tabix
- (package
- (inherit go-github-com-biogo-hts-bam)
- (name "go-github-com-biogo-hts-tabix")
- (arguments
- '(#:import-path "github.com/biogo/hts/tabix"
- #:unpack-path "github.com/biogo/hts"))
- (propagated-inputs
- (list go-gopkg-in-check-v1))
- (synopsis "HTS Tabix module for biogo")
- (description "This package provides tools for handling Tabix files.")))
-
-(define-public go-github-com-biogo-hts-bgzf
- (package
- (inherit go-github-com-biogo-hts-bam)
- (name "go-github-com-biogo-hts-bgzf")
- (arguments
- '(#:import-path "github.com/biogo/hts/bgzf"
- #:unpack-path "github.com/biogo/hts"))
- (propagated-inputs
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/biogo/hts"
+ ;; Tests try to get samples from <https://github.com/samtools/htslib>.
+ #:test-flags #~(list "-skip" "TestHasEOF|TestRead")))
+ (native-inputs
(list go-gopkg-in-check-v1))
- (synopsis "HTS bgzf module for biogo")
- (description "This package provides tools for handling bgzf files.")))
-
-(define-public go-github-com-biogo-hts-cram
- (package
- (inherit go-github-com-biogo-hts-bam)
- (name "go-github-com-biogo-hts-cram")
- (arguments
- '(#:import-path "github.com/biogo/hts/cram"
- #:unpack-path "github.com/biogo/hts"
- #:tests? #false)) ;require network access
(propagated-inputs
- (list go-gopkg-in-check-v1
- go-github-com-ulikunitz-xz
+ (list go-github-com-ulikunitz-xz
go-github-com-kortschak-utter))
- (synopsis "HTS CRAM module for biogo")
- (description "This package provides tools for handling CRAM files.")))
-
-(define-public go-github-com-biogo-hts-csi
- (package
- (inherit go-github-com-biogo-hts-bam)
- (name "go-github-com-biogo-hts-csi")
- (arguments
- '(#:import-path "github.com/biogo/hts/csi"
- #:unpack-path "github.com/biogo/hts"))
- (propagated-inputs
- (list go-gopkg-in-check-v1))
- (synopsis "Coordinate sorted indexing for biogo")
- (description "This package implements CSIv1 and CSIv2 coordinate sorted
-indexing.")))
-
-(define-public go-github-com-biogo-hts-fai
- (package
- (inherit go-github-com-biogo-hts-bam)
- (name "go-github-com-biogo-hts-fai")
- (arguments
- '(#:import-path "github.com/biogo/hts/fai"
- #:unpack-path "github.com/biogo/hts"))
- (propagated-inputs
- (list go-gopkg-in-check-v1))
- (synopsis "Fasta sequence file index handling for biogo")
- (description "This package implements FAI fasta sequence file index
-handling.")))
+ (home-page "https://github.com/biogo/hts")
+ (synopsis "HTS module for biogo")
+ (description
+ "This package provides tools for handling BAM, SAM, Tabix, bgzf, CRAM,
+CSIv1, CSIv2 and FAI files.")
+ (license license:bsd-3)))
(define-public go-github-com-biogo-biogo
(package
@@ -24642,11 +24538,8 @@ handling.")))
'(#:import-path "github.com/biogo/biogo"))
(propagated-inputs
(list go-gopkg-in-check-v1
- go-github-com-biogo-store-interval
- go-github-com-biogo-store-kdtree
- go-github-com-biogo-store-llrb
- go-github-com-biogo-store-step
- go-github-com-biogo-hts-bam
+ go-github-com-biogo-store
+ go-github-com-biogo-hts
go-github-com-biogo-graph))
(home-page "https://github.com/biogo/biogo")
(synopsis "Bioinformatics library for Go")
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index 6717db867f..ed7a13a2c9 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -49,7 +49,7 @@
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
- #:use-module (gnu packages golang)
+ #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages perl)
@@ -436,36 +436,44 @@ configured to show the current time in different timezones.")
(license license:bsd-3))))
(define-public hebcal
- (let ((commit "2384bb88dc1a41a4a5ae57a29fb58b2dd49a475d")
- (revision "0"))
- (package
- (name "hebcal")
- (version (git-version "5.3.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hebcal/hebcal")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "12rv3b51jb7wcjwmmizz9jkw7gh37yklys4xncvpzgxdkkfgmmjx"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "github.com/hebcal/hebcal"))
- (inputs
- (list go-github-com-hebcal-hebcal-go
- go-github-com-pborman-getopt))
- (synopsis "Perpetual Jewish Calendar program")
- (description
- "Hebcal is a program for converting between Hebrew and Gregorian
-dates, and generating lists of Jewish holidays for a given year.
-Shabbat, holiday candle lighting, and havdalah times are approximated
-using your location.
+ (package
+ (name "hebcal")
+ (version "5.8.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hebcal/hebcal")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1a1b9jip1ha6bzv6xg9fx47q167yzgbxjvrp5zngv175nzl9427j"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:install-source? #f
+ #:import-path "github.com/hebcal/hebcal"
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; taken from Makefile
+ (add-after 'unpack 'set-defautl-city
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (with-output-to-file "dcity.go"
+ (lambda ()
+ (format #t "package main~%var defaultCity = ~s~%"
+ "Paris")))))))))
+ (inputs
+ (list go-github-com-hebcal-hebcal-go
+ go-github-com-pborman-getopt-v2))
+ (home-page "https://github.com/hebcal/hebcal")
+ (synopsis "Perpetual Jewish Calendar program")
+ (description
+ "Hebcal is a program for converting between Hebrew and Gregorian dates,
+and generating lists of Jewish holidays for a given year. Shabbat, holiday
+candle lighting, and havdalah times are approximated using your location.
-It can also show daily prayer times, the weekly Torah reading, and
-the daily leaf of Talmud. The program can help with counting of the
-Omer or with calculation of Hebrew yahrzeits, birthdays, or
-anniversaries.")
- (home-page "https://github.com/hebcal/hebcal")
- (license license:gpl2+))))
+It can also show daily prayer times, the weekly Torah reading, and the daily
+leaf of Talmud. The program can help with counting of the Omer or with
+calculation of Hebrew yahrzeits, birthdays, or anniversaries.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 47047de59e..df858af4bd 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -32,6 +32,7 @@
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
@@ -1124,6 +1125,53 @@ generation.")
similar to unit tests.")
(license license:asl2.0)))
+(define-public gotestsum
+ (package
+ (name "gotestsum")
+ (version "1.12.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gotestyourself/gotestsum")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0fx92jh6ay4rk1ljbgp9b2m4fafqwy0a19q7lhdabgb1j8dvgxvs"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "gotest.tools/gotestsum"
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ (list "TestE2E_IgnoresWarnings"
+ "TestE2E_MaxFails_EndTestRun"
+ "TestScanTestOutput_TestTimeoutPanicRace/panic-race-2")
+ "|"))
+ ;; Run just unit test, integration tests from "testjson" require: run
+ ;; 'go test . -update' to automatically update
+ ;; testdata/summary/with-run-id to the new expected value.'
+ #:test-subdirs #~(list "cmd/..." "internal/...")))
+ (native-inputs
+ (list go-github-com-bitfield-gotestdox
+ go-github-com-dnephin-pflag
+ go-github-com-fatih-color
+ go-github-com-fsnotify-fsnotify
+ go-github-com-google-go-cmp
+ go-github-com-google-shlex
+ go-golang-org-x-sync
+ go-golang-org-x-sys
+ go-golang-org-x-term
+ go-golang-org-x-tools
+ go-gotest-tools-v3))
+ (synopsis "Go test runner with output optimized for humans")
+ (description "This package provides a @code{go test} runner with output
+optimized for humans, JUnit XML for CI integration, and a summary of the
+test results.")
+ (home-page "https://github.com/gotestyourself/gotestsum")
+ (license license:asl2.0)))
+
(define-public greatest
(package
(name "greatest")
@@ -1301,7 +1349,7 @@ but it works for any C/C++ project.")
(define-public actionlint
(package
(name "actionlint")
- (version "1.7.2")
+ (version "1.7.6")
(source
(origin
(method git-fetch)
@@ -1310,7 +1358,7 @@ but it works for any C/C++ project.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1rgsxv4clgfyl4gr8bjk81p4b87c6hr34flxzw6011h0vjc54n7x"))))
+ (base32 "1waq9v48pbys8b8qmmvl0wi77jzri033fh8194gcwfzipvxb6y9l"))))
(build-system go-build-system)
(arguments
(list
@@ -1322,13 +1370,16 @@ but it works for any C/C++ project.")
#:unpack-path "github.com/rhysd/actionlint"))
;; XXX: Install Man page, wrap with shellcheck and pyflakes.
(native-inputs
- (list go-github-com-fatih-color
+ (list go-github-com-bmatcuk-doublestar-v4
+ go-github-com-fatih-color
+ go-github-com-google-go-cmp
go-github-com-mattn-go-colorable
go-github-com-mattn-go-runewidth
- go-github-com-robfig-cron
+ go-github-com-mattn-go-shellwords
+ go-github-com-robfig-cron-v3
+ go-github-com-yuin-goldmark
go-golang-org-x-sync
- go-golang-org-x-sync
- go-github-com-google-go-cmp
+ go-golang-org-x-sys
go-gopkg-in-yaml-v3))
(home-page "https://rhysd.github.io/actionlint/")
(synopsis "Static checker for GitHub Actions workflow files")
diff --git a/gnu/packages/configuration-management.scm b/gnu/packages/configuration-management.scm
index b654975a42..36450ad70c 100644
--- a/gnu/packages/configuration-management.scm
+++ b/gnu/packages/configuration-management.scm
@@ -25,9 +25,9 @@
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
+ #:use-module (gnu packages golang-vcs)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
- #:use-module (gnu packages version-control)
#:use-module (gnu packages textutils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@@ -100,7 +100,7 @@
go-github-com-spf13-viper
go-github-com-stretchr-testify
go-github-com-twpayne-go-shell
- go-github-com-twpayne-go-vfs
+ go-github-com-twpayne-go-vfs-1.0.1
go-github-com-twpayne-go-vfsafero
go-github-com-twpayne-go-xdg-v3
go-github-com-zalando-go-keyring
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index e5e3342b6d..3e9cd517a2 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -49,8 +49,9 @@
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
- #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
+ #:use-module (gnu packages golang-web)
+ #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages guile)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages logging)
@@ -201,47 +202,50 @@ tunneling, and so on.")
(prepend libssh2)))
(properties `((hidden? . #t)))))
+;; XXX: It looks like unmaintained, last time updated in 2018.
(define-public kurly
(package
(name "kurly")
(version "1.2.2")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.com/davidjpeacock/kurly.git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "003jv2k45hg2svhjpy5253ccd250vi2r17x2zhm51iw54kgwxipm"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/davidjpeacock/kurly")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "003jv2k45hg2svhjpy5253ccd250vi2r17x2zhm51iw54kgwxipm"))))
(build-system go-build-system)
(arguments
- `(#:import-path "gitlab.com/davidjpeacock/kurly"
- #:install-source? #f
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'install-documentation
- (lambda* (#:key import-path outputs #:allow-other-keys)
- (let* ((source (string-append "src/" import-path))
- (out (assoc-ref outputs "out"))
- (doc (string-append out "/share/doc/" ,name "-" ,version))
- (man (string-append out "/share/man/man1")))
- (with-directory-excursion source
- (install-file "README.md" doc)
- (mkdir-p man)
- (copy-file "doc/kurly.man"
- (string-append man "/kurly.1")))
- #t))))))
+ (list
+ #:install-source? #f
+ #:import-path "gitlab.com/davidjpeacock/kurly"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'install-documentation
+ (lambda* (#:key import-path #:allow-other-keys)
+ (let* ((source (string-append "src/" import-path))
+ (doc (string-append #$output "/share/doc/"
+ #$name "-" #$version))
+ (man (string-append #$output "/share/man/man1")))
+ (with-directory-excursion source
+ (install-file "README.md" doc)
+ (mkdir-p man)
+ (copy-file "doc/kurly.man"
+ (string-append man "/kurly.1")))))))))
(inputs
- (list go-github-com-alsm-ioprogress go-github-com-aki237-nscjar
+ (list go-github-com-alsm-ioprogress
+ go-github-com-aki237-nscjar
go-github-com-urfave-cli))
- (synopsis "Command-line HTTP client")
- (description "kurly is an alternative to the @code{curl} program written in
-Go. kurly is designed to operate in a similar manner to curl, with select
-features. Notably, kurly is not aiming for feature parity, but common flags and
-mechanisms particularly within the HTTP(S) realm are to be expected. kurly does
-not offer a replacement for libcurl.")
(home-page "https://gitlab.com/davidjpeacock/kurly")
+ (synopsis "Command-line HTTP client")
+ (description
+ "kurly is an alternative to the @code{curl} program written in Go. kurly
+is designed to operate in a similar manner to curl, with select features.
+Notably, kurly is not aiming for feature parity, but common flags and
+mechanisms particularly within the HTTP(S) realm are to be expected. kurly
+does not offer a replacement for libcurl.")
(license license:asl2.0)))
(define-public guile-curl
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index edcf536f7d..95a9c1fa6c 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
replacement for the @code{python-memcached} library.")
(license license:bsd-3)))
-(define-public go-github-com-bradfitz-gomemcache
- (package
- (name "go-github-com-bradfitz-gomemcache")
- (version "0.0.0-20190913173617-a41fca850d0b")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/bradfitz/gomemcache")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "18qpds6xr73jy80pj7l3pc1l1ndcy3va2dl8fzk17bgwg49sxwfz"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Fixes the 'untyped-int -> string of one rune' issue.
- ;; https://github.com/golang/go/issues/32479
- (substitute* "memcache/memcache_test.go"
- (("string\\(0x7f") "string(rune(0x7f)"))))))
- (build-system go-build-system)
- (arguments
- '(#:unpack-path "github.com/bradfitz/gomemcache"
- #:import-path "github.com/bradfitz/gomemcache/memcache"))
- (home-page "https://github.com/bradfitz/gomemcache")
- (synopsis "Memcache client library in Go")
- (description
- "This is a memcache client library for the Go programming language.")
- (license license:asl2.0)))
-
-(define-public go-github-com-couchbase-gomemcached
- (package
- (name "go-github-com-couchbase-gomemcached")
- (version "0.1.4")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/couchbase/gomemcached")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "10w74gc05x5naspls39sv2r92krrg31mk266w3lyqqwc0s3fxysl"))))
- (build-system go-build-system)
- (arguments '(#:import-path "github.com/couchbase/gomemcached"))
- (native-inputs
- (list go-github-com-stretchr-testify))
- (home-page "https://github.com/couchbase/gomemcached")
- (synopsis "Memcached binary protocol toolkit for go")
- (description
- "This package provides memcache client and server functionality.")
- (license license:expat)))
-
(define-public litecli
(package
(name "litecli")
@@ -3030,32 +2977,6 @@ one-to-one, while still providing an idiomatic interface.")
"Package rdb implements parsing and encoding of the Redis RDB file format.")
(license license:expat)))
-(define-public go-github-com-gomodule-redigo
- (package
- (name "go-github-com-gomodule-redigo")
- (version "1.8.8")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gomodule/redigo")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0wplaaxg7f6c6c08gdp33l48hygn8gq1rhlnjzr1c9qcggsm07k1"))))
- (build-system go-build-system)
- (arguments
- '(#:unpack-path "github.com/gomodule/redigo"
- #:import-path "github.com/gomodule/redigo/redis"))
- (native-inputs
- (list go-github-com-stretchr-testify
- redis))
- (home-page "https://github.com/gomodule/redigo")
- (synopsis "Go client for Redis")
- (description
- "Redigo is a Go client for the Redis database.")
- (license license:asl2.0)))
-
(define-public kyotocabinet
(package
(name "kyotocabinet")
@@ -3676,34 +3597,6 @@ etc., and an SQL engine for performing simple SQL queries.")
(license (list license:lgpl2.0
license:gpl2+))))
-(define-public go-gopkg-in-mgo-v2
- (package
- (name "go-gopkg-in-mgo-v2")
- (version "2.0.0-20190816093944-a6b53ec6cb22")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gopkg.in/mgo.v2")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1lgvwxsbmdrf4938qkxl56wbwgbphk2qqnmpf73qdmlv4qsg14na"))))
- (build-system go-build-system)
- (arguments
- '(#:tests? #f ; Tests try to use a running mongodb server.
- #:import-path "gopkg.in/mgo.v2"))
- (propagated-inputs
- (list go-gopkg.in-tomb.v2))
- (inputs
- (list cyrus-sasl))
- (native-inputs
- (list go-gopkg-in-check-v1))
- (home-page "https://gopkg.in/mgo.v2")
- (synopsis "MongoDB driver for Go")
- (description "This package provides a MongoDB driver for Go.")
- (license license:bsd-2)))
-
(define-public python-lmdb
(package
(name "python-lmdb")
@@ -5803,7 +5696,17 @@ compatible with SQLite using a graphical user interface.")
(arguments
(list
#:install-source? #f
- #:import-path "github.com/lighttiger2505/sqls"))
+ #:import-path "github.com/lighttiger2505/sqls"
+ ;; XXX: Try to enable more or all tests.
+ #:test-subdirs #~(list "ast/..."
+ "dialect/..."
+ "parser/..."
+ "internal/completer"
+ "internal/config/..."
+ "internal/database"
+ "internal/debug"
+ "internal/formatter"
+ "internal/lsp")))
(native-inputs
(list go-github-com-google-go-cmp
go-github-com-go-sql-driver-mysql
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 800034624e..3616faf61c 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -71,7 +71,6 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
- #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages graphics)
@@ -1324,7 +1323,7 @@ on your file system and offers to remove it. @command{rmlint} can find:
(define-public lf
(package
(name "lf")
- (version "31")
+ (version "33")
(source
(origin
(method git-fetch)
@@ -1333,7 +1332,7 @@ on your file system and offers to remove it. @command{rmlint} can find:
(commit (string-append "r" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "03icsf4c3j7295s1d8s6srz5gf09a3lghgw3zfcd86p03zhkzsaf"))))
+ (base32 "1jmqf27ysi35n3hqahlzs5hym7i4w1mplklrvv0lc0baddzx7av8"))))
(build-system go-build-system)
(arguments
(list
@@ -1341,10 +1340,13 @@ on your file system and offers to remove it. @command{rmlint} can find:
#:import-path "github.com/gokcehan/lf"))
(native-inputs
(list go-github-com-djherbis-times
+ go-github-com-fsnotify-fsnotify
go-github-com-gdamore-tcell-v2
go-github-com-mattn-go-runewidth
+ go-github-com-xuanwo-go-locale
+ go-golang-org-x-sys
go-golang-org-x-term
- go-gopkg-in-djherbis-times-v1))
+ go-golang-org-x-text))
(home-page "https://github.com/gokcehan/lf")
(synopsis "Console file browser similar to Ranger")
(description
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index bfc1898220..aeed94e804 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -45,6 +45,8 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
+ #:use-module (gnu packages golang-web)
+ #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages linux)
#:use-module (gnu packages networking)
#:use-module (gnu packages pkg-config)
@@ -194,6 +196,9 @@ Python without keeping their credentials in a Docker configuration file.")
"REVISION=0")))
(list
#:import-path "github.com/containerd/containerd"
+ ;; XXX: This package contains full vendor, tests fail when run with
+ ;; "...", limit to the project's root. Try to unvendor.
+ #:test-subdirs #~(list ".")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 44c9c17eb8..f42a216972 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -47,7 +47,6 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
- #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-web)
@@ -320,7 +319,8 @@ Currently available boards include:
(with-directory-excursion bin
(rename-file "v1" "gotypist"))))))))
(native-inputs
- (list go-github-com-gizak-termui go-github-com-stretchr-testify))
+ (list go-github-com-gizak-termui-v3
+ go-github-com-stretchr-testify))
(home-page "https://github.com/KappaDistributive/gotypist")
(synopsis "Simple typing trainer for text terminals")
(description
@@ -1111,7 +1111,7 @@ machine, and more.")
(define-public exercism
(package
(name "exercism")
- (version "3.1.0")
+ (version "3.5.4")
(source
(origin
(method git-fetch)
@@ -1121,7 +1121,7 @@ machine, and more.")
(file-name (git-file-name name version))
(sha256
(base32
- "0ah5v4pqq31bvj7s4rg3jyjn7jwxa15w31cn4c317gsqmi0n8rzl"))
+ "0shh84g7j977kn9kcm09rj3lz6a3y5qq9yvklsldgb9zvass5szd"))
(patches (search-patches "exercism-disable-self-update.patch"))))
(build-system go-build-system)
(arguments
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index 06aab0801c..22dcb4d9b0 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!")
(build-system go-build-system)
(arguments
(list
+ #:install-source? #f
#:import-path "github.com/rfjakob/gocryptfs"
#:build-flags
#~(list
@@ -519,6 +520,15 @@ significantly increases the risk of irreversible data loss!")
" -X main.GitVersionFuse=" #$(package-version
go-github-com-hanwen-go-fuse-v2)
" -X main.BuildDate=" "[reproducible]"))
+ #:test-flags
+ #~(list "-skip" (string-join
+ (list "TestPrepareAtSyscall"
+ "TestPrepareAtSyscallPlaintextnames"
+ "TestGetdents")
+ "|"))
+ ;; XXX: Test suit requires a root access to mount, limit to some unit
+ ;; tests, figure out how to enable most of the them.
+ #:test-subdirs #~(list "internal/...")
#:phases
#~(modify-phases %standard-phases
;; after 'check phase, should maybe unmount leftover mounts as in
@@ -536,18 +546,14 @@ significantly increases the risk of irreversible data loss!")
"github.com/rfjakob/gocryptfs/contrib/findholes"
"github.com/rfjakob/gocryptfs/contrib/atomicrename")))))))
(native-inputs (list
- go-github-com-hanwen-go-fuse-v2
go-github-com-aperturerobotics-jacobsa-crypto
- go-github-com-jacobsa-oglematchers
- go-github-com-jacobsa-oglemock
- go-github-com-jacobsa-ogletest
- go-github-com-jacobsa-reqtrace
+ go-github-com-hanwen-go-fuse-v2
+ go-github-com-moby-sys-mountinfo
go-github-com-pkg-xattr
go-github-com-rfjakob-eme
go-github-com-sabhiram-go-gitignore
go-github-com-spf13-pflag
go-golang-org-x-crypto
- go-golang-org-x-net
go-golang-org-x-sys
go-golang-org-x-term
openssl
@@ -1960,31 +1966,6 @@ Dropbox API v2.")
local file system using FUSE.")
(license license:gpl3+)))
-(define-public go-github-com-hanwen-fuse
- (package
- (name "go-github-com-hanwen-fuse")
- (version "2.0.3")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hanwen/go-fuse")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1y44d08fxyis99s6jxdr6dbbw5kv3wb8lkhq3xmr886i4w41lz03"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/hanwen/go-fuse"))
- (propagated-inputs
- (list go-golang-org-x-sys))
- (home-page "https://github.com/hanwen/go-fuse")
- (synopsis "FUSE bindings for Go")
- (description
- "This package provides Go native bindings for the FUSE kernel module.")
- (license license:bsd-3)))
-
(define-public rewritefs
(let ((revision "1")
(commit "3a56de8b5a2d44968b8bc3885c7d661d46367306"))
@@ -2146,7 +2127,7 @@ memory-efficient.")
(setenv "DESTDIR" #$output)
(invoke "make" "install")))))))
(inputs
- (list go-github-com-mattn-go-sqlite3 go-github-com-hanwen-fuse))
+ (list go-github-com-mattn-go-sqlite3 go-github-com-hanwen-go-fuse))
(home-page "https://github.com/oniony/TMSU")
(synopsis "Tag files and access them through a virtual file system")
(description
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index e55a04b4c3..ae40e5786e 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -157,6 +157,7 @@
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
+ #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gperf)
#:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz)
@@ -10657,7 +10658,7 @@ terminal full-window applications.")
'(#:import-path "git.tuxfamily.org/harmonist/harmonist"))
(inputs
`(("go-github-com-gdamore-tcell-v2" ,go-github-com-gdamore-tcell-v2)
- ("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go)
+ ("go-github-com-nsf-termbox-go" ,go-github-com-nsf-termbox-go)
("go-github-com-anaseto-gruid" ,go-github-com-anaseto-gruid)
("go-github-com-anaseto-gruid-tcell" ,go-github-com-anaseto-gruid-tcell)))
(home-page "https://harmonist.tuxfamily.org/")
diff --git a/gnu/packages/golang-build.scm b/gnu/packages/golang-build.scm
index 7049acf8c2..b7e6d14e37 100644
--- a/gnu/packages/golang-build.scm
+++ b/gnu/packages/golang-build.scm
@@ -1,12 +1,12 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2018, 2019, 2020 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2017-2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
+;;; Copyright © 2019, 2020 Vagrant Cascadian <vagrant@debian.org>
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2020 HiPhish <hiphish@posteo.de>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
-;;; Copyright © 2020 Vagrant Cascadian <vagrant@debian.org>
-;;; Copyright © 2020, 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020, 2022, 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
@@ -59,10 +59,41 @@
;;;
;;; Code:
+(define-public go-github-com-goccmack-gocc
+ (package
+ (name "go-github-com-goccmack-gocc")
+ (version "0.0.0-20230228185258-2292f9e40198")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/goccmack/gocc")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ah1z1bmn9y9sbh2z1jxsjgsrv1rfrzzzi4c4nq646z2n25c2x8s"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/goccmack/gocc"
+ ;; Test requiring gocc in PATH.
+ #:test-flags #~(list "-skip" "TestEmptyKeyword")))
+ (propagated-inputs
+ (list go-golang-org-x-mod))
+ (home-page "https://github.com/goccmack/gocc")
+ (synopsis "Parser/Scanner Generator")
+ (description
+ "Gocc is a compiler kit for Go written in Go. Gocc generates lexers and
+parsers or stand-alone DFAs or parsers from a BNF. Lexers are DFAs, which
+recognise regular languages. Gocc lexers accept UTF-8 input. Gocc parsers are
+PDAs, which recognise LR-1 languages. Optional LR1 conflict handling
+automatically resolves shift / reduce and reduce / reduce conflicts.")
+ (license license:asl2.0)))
+
(define-public go-github-com-golang-glog
(package
(name "go-github-com-golang-glog")
- (version "1.2.2")
+ (version "1.2.3")
(source
(origin
(method git-fetch)
@@ -71,11 +102,13 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1a9ybpgp6grlpbhg2559sh54pxc9qfkhr4zvylw8qv1bny8c90q0"))))
+ (base32 "1sfgcf18wg4glcamgq9njmbny17xq0dd14g3094sj5c1cwjij982"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/golang/glog"))
+ (native-inputs
+ (list go-github-com-google-go-cmp))
(home-page "https://github.com/golang/glog")
(synopsis "Leveled execution logs for Golang")
(description
@@ -103,14 +136,7 @@ functions that have a name matched by regex:.")
#:import-path "github.com/golang/protobuf"
#:phases
#~(modify-phases %standard-phases
- ;; XXX: Workaround for go-build-system's lack of Go modules
- ;; support.
- (delete 'build)
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./..."))))))))
+ (delete 'build)))) ; no go files in project's root
(native-inputs
(list go-github-com-google-go-cmp))
(propagated-inputs
@@ -279,10 +305,93 @@ replace a file or symbolic link.")
1.1: Authentication and Security Services.")
(license license:bsd-3)))
+(define-public go-github-com-mmcloughlin-avo
+ (package
+ (name "go-github-com-mmcloughlin-avo")
+ (version "0.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mmcloughlin/avo")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0lv771lb9nxaxqiz7l83k35rc82588xihixxrik6yapg13v675mp"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mmcloughlin/avo"))
+ (propagated-inputs
+ (list go-golang-org-x-arch
+ go-golang-org-x-sys
+ go-golang-org-x-tools))
+ (home-page "https://github.com/mmcloughlin/avo")
+ (synopsis "Generate x86 Assembly with Go")
+ (description
+ "The avo package presents a familiar assembly-like interface that
+simplifies development without sacrificing performance.")
+ (license license:bsd-3)))
+
+;; XXX: This repository has been archived by the owner on Dec 1, 2021. It is
+;; now read-only.
+(define-public go-github-com-pkg-errors
+ (package
+ (name "go-github-com-pkg-errors")
+ (version "0.9.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pkg/errors")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1761pybhc2kqr6v5fm8faj08x9bql8427yqg6vnfv6nhrasx1mwq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; Tests fail with a newer version of Golang (1.21) due to some API
+ ;; changes in how the module path is calculated which is not reflected
+ ;; in tests.
+ #:tests? #f
+ #:import-path "github.com/pkg/errors"))
+ (home-page "https://github.com/pkg/errors")
+ (synopsis "Go error handling primitives")
+ (description
+ "This package provides @code{error}, which offers simple error handling
+primitives in Go.")
+ (license license:bsd-2)))
+
+(define-public go-github-com-twitchyliquid64-golang-asm
+ (package
+ (name "go-github-com-twitchyliquid64-golang-asm")
+ (version "0.15.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/twitchyliquid64/golang-asm")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1akw41i0snxqw9lqzmnn4gx6hd5js5dr1vmfkm49wxans4k14vw4"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/twitchyliquid64/golang-asm"))
+ (home-page "https://github.com/twitchyliquid64/golang-asm")
+ (synopsis "Assembler from the Go compiler, in library form")
+ (description
+ "This package provides a mirror of the assembler from the Go compiler, with
+import paths re-written for the assembler to be functional as a standalone
+library.")
+ (license license:bsd-3)))
+
(define-public go-github-com-yuin-goldmark
(package
(name "go-github-com-yuin-goldmark")
- (version "1.7.4")
+ (version "1.7.8")
(source
(origin
(method git-fetch)
@@ -291,24 +400,20 @@ replace a file or symbolic link.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "01807xs8501cyhkrrgg6k9ghl9jrw6dp0ry9knygck48canckxs2"))))
+ (base32 "1iz7x1hqdixx8dkcbaa8lr842i59n843mc553jv5grq057s76yjx"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/yuin/goldmark"
#:phases
#~(modify-phases %standard-phases
- ;; XXX: Workaround for go-build-system's lack of Go modules
- ;; support.
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
+ (add-before 'check 'pre-check
+ (lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; We need to extend the timeout on some architectures.
;; 64 is the default in extra_test.go.
(setenv "GOLDMARK_TEST_TIMEOUT_MULTIPLIER"
- (number->string (* 64 5)))
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./..."))))))))
+ (number->string (* 64 5)))))))))
(home-page "https://github.com/yuin/goldmark/")
(synopsis "Markdown parser")
(description
@@ -318,7 +423,7 @@ replace a file or symbolic link.")
(define-public go-github-com-yuin-goldmark-emoji
(package
(name "go-github-com-yuin-goldmark-emoji")
- (version "1.0.3")
+ (version "1.0.4")
(source
(origin
(method git-fetch)
@@ -327,7 +432,7 @@ replace a file or symbolic link.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1mx8rkxd3ksvgi41jvf365x9mf00sxiqq4wm75x4sasd2lgcbrl4"))))
+ (base32 "001dgjaa9crbl1yb803gyq1dbcnnfzvv205ycgd97qw9p4xjg21g"))))
(build-system go-build-system)
(arguments
(list
@@ -341,10 +446,44 @@ replace a file or symbolic link.")
@url{http://github.com/yuin/goldmark,goldmark}.")
(license license:expat)))
+(define-public go-golang-org-x-arch
+ (package
+ (name "go-golang-org-x-arch")
+ (version "0.12.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/arch")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "104mnfx3v6lwjndjd35ly8r6yb4bb74lq5sq1cqpxw38mqyzqmx2"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "golang.org/x/arch"
+ #:test-subdirs #~(list "arm/..."
+ "arm64/..."
+ "loong64/..."
+ "ppc64/..."
+ ;; "riscv64/..."; failed to build tests
+ "s390x/..."
+ "x86/...")))
+ (native-inputs
+ (list go-rsc-io-pdf))
+ (home-page "https://go.googlesource.com/arch")
+ (synopsis "Machine architecture information used by the Go toolchain")
+ (description
+ "This package provides a machine architecture information used by the Go
+toolchain. The parts needed in the main Go repository are copied in.")
+ (license license:bsd-3)))
+
(define-public go-golang-org-x-crypto
(package
(name "go-golang-org-x-crypto")
- (version "0.27.0")
+ (version "0.31.0")
(source
(origin
(method git-fetch)
@@ -353,74 +492,44 @@ replace a file or symbolic link.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1b5jgzz7fn1br2vw6m90z902i5r14sp0wj8s0lvlbm79xvi38x19"))))
+ (base32 "0pd3qipz2wb5wbbb44lgbfygxhf9lq5rknf82p2dmaicszn0rd53"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separatly:
+ ;;
+ ;; - olang.org/x/crypto/x509roots/fallback
+ (for-each delete-file-recursively (list "x509roots/fallback"))))))
(build-system go-build-system)
(arguments
(list
+ #:skip-build? #t
#:import-path "golang.org/x/crypto"
#:phases
#~(modify-phases %standard-phases
+ ;; Network access requried: go mod download -json
+ ;; github.com/google/wycheproof@v0.0.0-20191219022705-2196000605e4.
+ ;;
+ ;; internal/wycheproof/wycheproof_test.go
+ ;; Download the JSON test files from github.com/google/wycheproof
+ ;; using `go mod download -json` so the cached source of the testdata
+ ;; can be used in the following tests.
+ ;;
+ ;; <https://github.com/google/wycheproof> ->
+ ;; <https://github.com/C2SP/wycheproof>
+ ;;
+ ;; The structs for these tests are generated from the schemas
+ ;; provided in
+ ;; <https://github.com/google/wycheproof/tree/master/schemas> using
+ ;; <https://github.com/a-h/generate>.
(add-after 'unpack 'remove-test-files
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(for-each delete-file
- (list
- ;; Network access requried: go mod download -json
- ;; github.com/google/wycheproof@v0.0.0-20191219022705-2196000605e4.
- "internal/wycheproof/aead_test.go"
- "internal/wycheproof/aes_cbc_test.go"
- "internal/wycheproof/dsa_test.go"
- "internal/wycheproof/ecdh_stdlib_test.go"
- "internal/wycheproof/ecdh_test.go"
- "internal/wycheproof/ecdsa_test.go"
- "internal/wycheproof/eddsa_test.go"
- "internal/wycheproof/hkdf_test.go"
- "internal/wycheproof/hmac_test.go"
- "internal/wycheproof/rsa_oaep_decrypt_test.go"
- "internal/wycheproof/rsa_pss_test.go"
- "internal/wycheproof/rsa_signature_test.go"
- "internal/wycheproof/wycheproof_test.go")))))
- ;; XXX: Workaround for go-build-system's lack of Go modules
- ;; support.
- (delete 'build)
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v"
- ;; acme - cycle with go-golang-org-x-net
- "./argon2/..."
- "./bcrypt/..."
- "./blake2b/..."
- "./blake2s/..."
- "./blowfish/..."
- "./bn256/..."
- "./cast5/..."
- "./chacha20/..."
- "./chacha20poly1305/..."
- "./cryptobyte/..."
- "./curve25519/..."
- "./ed25519/..."
- "./hkdf/..."
- "./internal/..."
- "./md4/..."
- "./nacl/..."
- "./ocsp/..."
- "./openpgp/..."
- "./otr/..."
- "./pbkdf2/..."
- "./pkcs12/..."
- "./poly1305/..."
- "./ripemd160/..."
- "./salsa20/..."
- "./scrypt/..."
- "./sha3/..."
- "./ssh/..."
- "./tea/..."
- "./twofish/..."
- "./x509roots/..."
- "./xtea/..."
- "./xts/..."))))))))
+ (find-files "internal/wycheproof" ".*_test\\.go$"))))))))
+ (native-inputs
+ (list go-golang-org-x-net-bootstrap
+ go-golang-org-x-text-bootstrap))
(propagated-inputs
(list go-golang-org-x-sys go-golang-org-x-term))
(home-page "https://go.googlesource.com/crypto/")
@@ -430,10 +539,21 @@ replace a file or symbolic link.")
language.")
(license license:bsd-3)))
+(define-public go-golang-org-x-crypto-bootstrap
+ (hidden-package
+ (package
+ (inherit go-golang-org-x-crypto)
+ (arguments
+ (list #:skip-build? #t
+ #:tests? #f
+ #:import-path "golang.org/x/crypto"))
+ (native-inputs '())
+ (propagated-inputs '()))))
+
(define-public go-golang-org-x-exp
(package
(name "go-golang-org-x-exp")
- (version "0.0.0-20240808152545-0cdaa3abc0fa")
+ (version "0.0.0-20241217172543-b2144cdd0a67")
(source
(origin
(method git-fetch)
@@ -442,7 +562,7 @@ language.")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1sa03fm57326qnchvfza7am7jjlz32l1yyqbdvy6mknw5bmp8a71"))
+ (base32 "01dq7llbqqdybv5s372zwlfiyq2syqpfqs7h4lxvbpqjq0aayf60"))
(modules '((guix build utils)))
(snippet
#~(begin
@@ -459,29 +579,38 @@ language.")
(build-system go-build-system)
(arguments
(list
+ #:skip-build? #t
#:import-path "golang.org/x/exp"
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ (list
+ ;; Disable failing tests: error running `go mod init`:
+ ;; go: modules disabled by GO111MODULE=off.
+ "TestRelease_gitRepo_uncommittedChanges"
+ "TestFailure"
+ ;; Delete: want nil discarded elements, got
+ ;; 0xc000012858, 0xc000012860
+ "TestDeleteClearTail"
+ ;; DeleteFunc: want nil discarded elements, got
+ ;; 0xc000012910, 0xc000012918
+ "TestDeleteFuncClearTail"
+ ;; Compact: want nil discarded elements, got
+ ;; 0xc000012b30, 0xc000012b38
+ "TestCompactClearTail"
+ ;; CompactFunc: want nil discarded elements, got
+ ;; 0xc000012be8, 0xc000012bf0
+ "TestCompactFuncClearTail"
+ ;; Replace: want nil discarded element, got
+ ;; 0xc000013058
+ "TestReplaceClearTail")
+ "|"))
#:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'remove-failing-tests
+ (add-after 'unpack 'remove-benchmarks
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
- ;; Benchmark requires other modules to pass tests, delete them.
- (delete-file-recursively "slog/benchmarks")
- (substitute* (find-files "." "\\_test.go$")
- ;; Disable failing tests: error running `go mod init`: go:
- ;; modules disabled by GO111MODULE=off; see 'go help modules'
- ;; , exit status 1
- (("TestFailure") "OffTestFailure")
- (("TestRelease_gitRepo_uncommittedChanges")
- "OffTestRelease_gitRepo_uncommittedChanges")))))
- ;; XXX: Workaround for go-build-system's lack of Go modules
- ;; support.
- (delete 'build)
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./..."))))))))
+ (delete-file-recursively "slog/benchmarks")))))))
(propagated-inputs
(list go-github-com-google-go-cmp
go-golang-org-x-mod
@@ -493,10 +622,21 @@ language.")
directory) packages.")
(license license:bsd-3)))
+(define-public go-golang-org-x-exp-bootstrap
+ (hidden-package
+ (package
+ (inherit go-golang-org-x-exp)
+ (arguments
+ (list #:skip-build? #t
+ #:tests? #f
+ #:import-path "golang.org/x/exp"))
+ (native-inputs '())
+ (propagated-inputs '()))))
+
(define-public go-golang-org-x-exp-typeparams
(package
(name "go-golang-org-x-exp-typeparams")
- (version "0.0.0-20240707233637-46b078467d37")
+ (version "0.0.0-20241210194714-1829a127f884")
(source
(origin
(method git-fetch)
@@ -505,12 +645,14 @@ directory) packages.")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
- (base32 "17pwikql9x1bm5ci0kk4mlad7smkph0cgq1pi2b43gnhjz8m96l0"))))
+ (base32 "16lc0sgydpr4gbb5c9ygq86jdmq6f9qjf0vv1m5mhh3dggc1fzpp"))))
(build-system go-build-system)
(arguments
(list
#:import-path "golang.org/x/exp/typeparams"
- #:unpack-path "golang.org/x/exp"))
+ #:unpack-path "golang.org/x/exp"
+ ;; Could not import go/ast (can't find import: "go/ast").
+ #:test-flags #~(list "-skip" "TestAPIConsistency")))
(home-page "https://pkg.go.dev/golang.org/x/exp/typeparams")
(synopsis "Golang common utilities for writing tools")
(description
@@ -530,7 +672,7 @@ compile does not support generics.")
(define-public go-golang-org-x-image
(package
(name "go-golang-org-x-image")
- (version "0.20.0")
+ (version "0.23.0")
(source
(origin
(method git-fetch)
@@ -539,32 +681,18 @@ compile does not support generics.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0bn85bqpwkznny3lrnlfk05s2p917rbq0kplz36xyv490a74pi7l"))))
+ (base32 "0xm3cqzh0j6s8m8k6c3rd170qbmz2lwb628jb48cl4wr6ivq5fp9"))))
(build-system go-build-system)
(arguments
(list
#:import-path "golang.org/x/image"
#:phases
#~(modify-phases %standard-phases
- ;; XXX: go-build-system can't install/build submodules.
- (delete 'build)
+ (delete 'build) ; no go files in project's root
(add-after 'unpack 'remove-examples
(lambda* (#:key import-path #:allow-other-keys)
(delete-file-recursively
- (string-append "src/" import-path "/example"))))
- (add-before 'check 'remove-failing-tests
- (lambda* (#:key import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (for-each delete-file
- ;; tiff/reader_test.go:557:14: too many errors
- (list "tiff/reader_test.go"
- "tiff/writer_test.go")))))
- ;; XXX: Workaround for go-build-system's lack of Go modules support.
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./..."))))))))
+ (string-append "src/" import-path "/example")))))))
(propagated-inputs
(list go-golang-org-x-text))
(home-page "https://pkg.go.dev/golang.org/x/image")
@@ -573,9 +701,24 @@ compile does not support generics.")
"This package provides supplemental Go libraries for image processing.")
(license license:bsd-3)))
+(define-public go-golang-org-x-image-bootstrap
+ (hidden-package
+ (package
+ (inherit go-golang-org-x-image)
+ (arguments
+ (list #:skip-build? #t
+ #:tests? #f
+ #:import-path "golang.org/x/image"))
+ (native-inputs '())
+ (propagated-inputs '()))))
+
(define-public go-golang-org-x-mod
(package
(name "go-golang-org-x-mod")
+ ;; XXX: To update to 0.22.0+ go-1.23 is required, wich provides
+ ;; "go/version" module, see
+ ;; <https://cs.opensource.google/go/go/+/refs/tags/
+ ;; go1.23.0:src/go/version/version.go>.
(version "0.21.0")
(source
(origin
@@ -589,28 +732,14 @@ compile does not support generics.")
(build-system go-build-system)
(arguments
(list
+ #:skip-build? #t
#:import-path "golang.org/x/mod"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'remove-test-files
- (lambda* (#:key import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (for-each delete-file
- (list
- ;; Break cycle: go-golang-org-x-mod ->
- ;; go-golang-org-x-tools -> go-golang-org-x-mod.
- "zip/zip_test.go"
- ;; Trying to access
- ;; <http://ct.googleapis.com/logs/argon2020/ct/v1/get-sth>.
- "sumdb/tlog/ct_test.go")))))
- ;; XXX: Workaround for go-build-system's lack of Go modules
- ;; support.
- (delete 'build)
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./..."))))))))
+ ;; Test tries to acces:
+ ;; "http://ct.googleapis.com/logs/argon2020/ct/v1/get-sth": dial tcp:
+ ;; lookup ct.googleapis.com
+ #:test-flags #~(list "-skip" "TestCertificateTransparency")))
+ (native-inputs
+ (list go-golang-org-x-tools-bootstrap))
(home-page "https://golang.org/x/mod")
(synopsis "Tools to work directly with Go module mechanics")
(description
@@ -623,10 +752,21 @@ The specific case of loading packages should still be done by invoking the
loading algorithms.")
(license license:bsd-3)))
+(define-public go-golang-org-x-mod-bootstrap
+ (hidden-package
+ (package
+ (inherit go-golang-org-x-mod)
+ (arguments
+ (list #:skip-build? #t
+ #:tests? #f
+ #:import-path "golang.org/x/mod"))
+ (native-inputs '())
+ (propagated-inputs '()))))
+
(define-public go-golang-org-x-net
(package
(name "go-golang-org-x-net")
- (version "0.29.0")
+ (version "0.33.0")
(source
(origin
(method git-fetch)
@@ -635,21 +775,14 @@ loading algorithms.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0scksgrrxyyy4ah2anh3n0qj0snpc63bqmhyw24q5lskzrsm2zvl"))))
+ (base32 "0k3vbxj4dxyki7rflbnad95avz7hnapwr02aa7jqgs79vd9j9k7n"))))
(build-system go-build-system)
(arguments
(list
#:import-path "golang.org/x/net"
#:phases
#~(modify-phases %standard-phases
- ;; XXX: Workaround for go-build-system's lack of Go modules
- ;; support.
- (delete 'build)
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./..."))))))))
+ (delete 'build)))) ; no go files in project's root
(propagated-inputs
(list go-golang-org-x-crypto
go-golang-org-x-sys
@@ -661,10 +794,21 @@ loading algorithms.")
"This package provides supplemental Go networking libraries.")
(license license:bsd-3)))
+(define-public go-golang-org-x-net-bootstrap
+ (hidden-package
+ (package
+ (inherit go-golang-org-x-net)
+ (arguments
+ (list #:skip-build? #t
+ #:tests? #f
+ #:import-path "golang.org/x/net"))
+ (native-inputs '())
+ (propagated-inputs '()))))
+
(define-public go-golang-org-x-sync
(package
(name "go-golang-org-x-sync")
- (version "0.8.0")
+ (version "0.10.0")
(source
(origin
(method git-fetch)
@@ -673,21 +817,12 @@ loading algorithms.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1jssyq49g5z7dbhdb9bnzsb8gigvsy5f4aczbzn5paz07v9wbjxs"))))
+ (base32 "1yp7pcfvy4793mjbfq28hxbr05yg38m0njnwam580xkb54lfwshx"))))
(build-system go-build-system)
(arguments
(list
- #:import-path "golang.org/x/sync"
- #:phases
- #~(modify-phases %standard-phases
- ;; XXX: Workaround for go-build-system's lack of Go modules
- ;; support.
- (delete 'build)
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./..."))))))))
+ #:skip-build? #t
+ #:import-path "golang.org/x/sync"))
(home-page "https://go.googlesource.com/sync/")
(synopsis "Additional Go concurrency primitives")
(description
@@ -703,10 +838,21 @@ cancelation for groups of goroutines working on subtasks of a common task
@end itemize")
(license license:bsd-3)))
+(define-public go-golang-org-x-sync-bootstrap
+ (hidden-package
+ (package
+ (inherit go-golang-org-x-sync)
+ (arguments
+ (list #:skip-build? #t
+ #:tests? #f
+ #:import-path "golang.org/x/sync"))
+ (native-inputs '())
+ (propagated-inputs '()))))
+
(define-public go-golang-org-x-sys
(package
(name "go-golang-org-x-sys")
- (version "0.25.0")
+ (version "0.28.0")
(source
(origin
(method git-fetch)
@@ -715,27 +861,48 @@ cancelation for groups of goroutines working on subtasks of a common task
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0hdysrba8imiifb4ksjgbhkzhk1mksm1g3fj59i3bas1zdc5lbgp"))))
+ (base32 "1lgsisl36knlr41inqls3w51xcqfl6d3hkacxry0nqx39167b882"))))
(build-system go-build-system)
(arguments
(list
- #:import-path "golang.org/x/sys"
- #:phases
- #~(modify-phases %standard-phases
- ;; XXX: Workaround for go-build-system's lack of Go modules
- ;; support.
- (delete 'build)
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./..."))))))))
+ #:skip-build? #t
+ #:import-path "golang.org/x/sys"))
(home-page "https://go.googlesource.com/sys")
(synopsis "Go support for low-level system interaction")
- (description "This package provides supplemental libraries offering Go
-support for low-level interaction with the operating system.")
+ (description
+ "This package provides supplemental libraries offering Go support for
+low-level interaction with the operating system.")
(license license:bsd-3)))
+(define-public go-golang-org-x-sys-bootstrap
+ (hidden-package
+ (package
+ (inherit go-golang-org-x-sys)
+ (arguments
+ (list #:skip-build? #t
+ #:tests? #f
+ #:import-path "golang.org/x/sys"))
+ (native-inputs '())
+ (propagated-inputs '()))))
+
+;; This is the only one dependency for esbuild, which is the main tool to
+;; produce all Node packages, keep it away from other golang.
+(define-public go-golang-org-x-sys-for-esbuild
+ (hidden-package
+ (package
+ (inherit go-golang-org-x-sys)
+ (name "go-golang-org-x-sys")
+ (version "0.25.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/sys")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hdysrba8imiifb4ksjgbhkzhk1mksm1g3fj59i3bas1zdc5lbgp")))))))
+
(define-public go-golang-org-x-telemetry
(package
(name "go-golang-org-x-telemetry")
@@ -748,11 +915,34 @@ support for low-level interaction with the operating system.")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
- (base32 "05gvxiv0yqfclckm2ysavbfy1jpz8v71r2glrcvhjq8wzw90g9gz"))))
+ (base32 "05gvxiv0yqfclckm2ysavbfy1jpz8v71r2glrcvhjq8wzw90g9gz"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separatly:
+ ;;
+ ;; - golang.org/x/telemetry/config
+ ;; - golang.org/x/telemetry/godev
+ (for-each delete-file-recursively (list "config" "godev"))))))
(build-system go-build-system)
(arguments
(list
- #:test-flags #~(list "-skip" "TestStart|TestConcurrentStart")
+ #:test-flags
+ #~(list "-skip" (string-join
+ ;; Tests fail with error: failed to download config
+ ;; module.
+ (list "TestConcurrentStart"
+ "TestDownload"
+ "TestRun_Basic"
+ "TestRun_Concurrent"
+ "TestRun_DebugLog"
+ "TestRun_EmptyUpload"
+ "TestRun_MissingDate"
+ "TestRun_ModeHandling/on"
+ "TestRun_MultipleUploads"
+ "TestRun_Retries"
+ "TestStart") ; no upload occurred on 2786
+ "|"))
#:import-path "golang.org/x/telemetry"))
(propagated-inputs
(list go-golang-org-x-mod
@@ -769,7 +959,7 @@ Go toolchain programs with opt-in telemetry.")
(define-public go-golang-org-x-telemetry-config
(package
(name "go-golang-org-x-telemetry-config")
- (version "0.31.0")
+ (version "0.36.0")
(source
(origin
(method git-fetch)
@@ -779,7 +969,7 @@ Go toolchain programs with opt-in telemetry.")
#:subdir "config"))))
(file-name (git-file-name name version))
(sha256
- (base32 "0b5f3kf58wam741m7vfalv4n47djn6whxr4lf9w1jpjgaa6kq3an"))))
+ (base32 "1nib4d3p1zknd8m0grkylpd3qfknnw7cffv2v1l4sq0rf30gi04m"))))
(build-system go-build-system)
(arguments
(list
@@ -799,7 +989,7 @@ telemetry uploads: GOOS, GOARCH, Go version, and per-program counters.")
(define-public go-golang-org-x-term
(package
(name "go-golang-org-x-term")
- (version "0.24.0")
+ (version "0.27.0")
(source
(origin
(method git-fetch)
@@ -808,7 +998,7 @@ telemetry uploads: GOOS, GOARCH, Go version, and per-program counters.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1sclnlbchqqlspm5l914xgs70yyjswarrrahkf8n44gkr2kbkw1x"))))
+ (base32 "1gfykqmzgwgrb3adlbknjrb96i58bx2q2vjcdvfvwm554gznkgki"))))
(build-system go-build-system)
(arguments '(#:import-path "golang.org/x/term"))
(propagated-inputs
@@ -819,10 +1009,21 @@ telemetry uploads: GOOS, GOARCH, Go version, and per-program counters.")
terminals, as commonly found on Unix systems.")
(license license:bsd-3)))
+(define-public go-golang-org-x-term-bootstrap
+ (hidden-package
+ (package
+ (inherit go-golang-org-x-term)
+ (arguments
+ (list #:skip-build? #t
+ #:tests? #f
+ #:import-path "golang.org/x/term"))
+ (native-inputs '())
+ (propagated-inputs '()))))
+
(define-public go-golang-org-x-text
(package
(name "go-golang-org-x-text")
- (version "0.18.0")
+ (version "0.21.0")
(source
(origin
(method git-fetch)
@@ -831,49 +1032,38 @@ terminals, as commonly found on Unix systems.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1vxx2s1y1dmhiiv4cayrwf3ls4lbq22xkhl6xw3ls8jizribl5s9"))))
+ (base32 "02zh18l5rlr8hg8ipn9r5m4rir3hskp80pzr4ljyfmgy72gxbhlv"))))
(build-system go-build-system)
(arguments
(list
- #:import-path "golang.org/x/text"
- #:phases
- #~(modify-phases %standard-phases
- ;; XXX: Workaround for go-build-system's lack of Go modules
- ;; support.
- (delete 'build)
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v"
- "./cases/..."
- ;; cmd - cycle with go-golang-org-x-tools
- "./collate/..."
- "./currency/..."
- "./date/..."
- "./encoding/..."
- "./feature/..."
- "./internal/..."
- "./language/..."
- ;; message - cycle with go-golang-org-x-tools
- "./number/..."
- "./runes/..."
- "./search/..."
- "./secure/..."
- "./transform/..."
- "./unicode/..."
- "./width/..."))))))))
+ #:skip-build? #t
+ #:import-path "golang.org/x/text"))
(home-page "https://go.googlesource.com/text")
+ (native-inputs
+ (list go-golang-org-x-mod-bootstrap
+ go-golang-org-x-sync-bootstrap
+ go-golang-org-x-tools-bootstrap))
(synopsis "Supplemental Go text processing libraries")
(description
"This package provides supplemental Go libraries for text
processing.")
(license license:bsd-3)))
+(define-public go-golang-org-x-text-bootstrap
+ (hidden-package
+ (package
+ (inherit go-golang-org-x-text)
+ (arguments
+ (list #:skip-build? #t
+ #:tests? #f
+ #:import-path "golang.org/x/text"))
+ (native-inputs '())
+ (propagated-inputs '()))))
+
(define-public go-golang-org-x-time
(package
(name "go-golang-org-x-time")
- (version "0.6.0")
+ (version "0.8.0")
(source
(origin
(method git-fetch)
@@ -882,21 +1072,12 @@ processing.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "14z7f1yx3r393f94yjv09mrsfaydq6da7pswv8wvk327mxa56vw1"))))
+ (base32 "1m2xfgq3a6y1xckl0al9n03il927z3rp2a8fvb8369035d3al3qh"))))
(build-system go-build-system)
(arguments
(list
- #:import-path "golang.org/x/time"
- #:phases
- #~(modify-phases %standard-phases
- ;; XXX: Workaround for go-build-system's lack of Go modules
- ;; support.
- (delete 'build)
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./..."))))))))
+ #:skip-build? #t
+ #:import-path "golang.org/x/time"))
(home-page "https://godoc.org/golang.org/x/time/rate")
(synopsis "Supplemental Go time libraries")
(description
@@ -985,6 +1166,17 @@ time.")
Go programming language.")
(license license:bsd-3)))
+(define-public go-golang-org-x-tools-bootstrap
+ (hidden-package
+ (package
+ (inherit go-golang-org-x-tools)
+ (arguments
+ (list #:skip-build? #t
+ #:tests? #f
+ #:import-path "golang.org/x/tools"))
+ (native-inputs '())
+ (propagated-inputs '()))))
+
(define-public go-golang-org-x-vuln
(package
(name "go-golang-org-x-vuln")
@@ -1003,19 +1195,14 @@ Go programming language.")
(build-system go-build-system)
(arguments
(list
+ #:skip-build? #t
#:import-path "golang.org/x/vuln"
- #:phases
- #~(modify-phases %standard-phases
- ;; XXX: Workaround for go-build-system's lack of Go modules support.
- (delete 'build)
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v"
- "./doc/..."
- "./internal/..."
- "./scan/..."))))))))
+ ;; ts.RunParallel undefined (type *cmdtest.TestSuite has no field or
+ ;; method RunParallel)
+ ;;
+ ;; go: modules disabled by GO111MODULE=off
+ #:test-flags #~(list "-skip" "TestVet|TestGoModTidy|Test58509")
+ #:test-subdirs #~(list "internal/..." "scan/..." ".")))
(propagated-inputs
(list go-github-com-google-go-cmdtest
go-github-com-google-go-cmp
@@ -1033,7 +1220,7 @@ the @url{https://vuln.go.dev,Go Vulnerability Database}.")
(define-public go-golang-org-x-xerrors
(package
(name "go-golang-org-x-xerrors")
- (version "0.0.0-20200804184101-5ec99f83aff1")
+ (version "0.0.0-20240903120638-7835f813f4da")
(source
(origin
(method git-fetch)
@@ -1042,7 +1229,7 @@ the @url{https://vuln.go.dev,Go Vulnerability Database}.")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1dbzc3gmf2haazpv7cgmv97rq40g2xzwbglc17vas8dwhgwgwrzb"))))
+ (base32 "1amjwicv2k6mkafa27ghwavc19jy8vi8kfndpj6vrgn0p5rc4kkc"))))
(build-system go-build-system)
(arguments
(list
@@ -1057,7 +1244,7 @@ values.")
(define-public go-google-golang-org-protobuf
(package
(name "go-google-golang-org-protobuf")
- (version "1.34.2")
+ (version "1.36.0")
(source
(origin
(method git-fetch)
@@ -1066,21 +1253,14 @@ values.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0l18301prwy38wam9zsbhgwddwjaflvnvamghg0h1d1p201gxbp3"))))
+ (base32 "1a6l9zcm1za7w9f9n86wjszn9fm53cfacl0liyk3wpsqx4h4x6dl"))))
(build-system go-build-system)
(arguments
(list
#:import-path "google.golang.org/protobuf"
#:phases
#~(modify-phases %standard-phases
- ;; XXX: Workaround for go-build-system's lack of Go modules
- ;; support.
- (delete 'build)
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./..."))))))))
+ (delete 'build)))) ; no go files in project's root
(propagated-inputs (list go-github-com-google-go-cmp))
(home-page "https://google.golang.org/protobuf")
(synopsis "Go library for Protocol Buffers")
@@ -1091,6 +1271,29 @@ data. It is a successor to @code{go-github-com-golang-protobuf} with an
improved and cleaner API.")
(license license:bsd-3)))
+(define-public go-rsc-io-pdf
+ (package
+ (name "go-rsc-io-pdf")
+ (version "0.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rsc/pdf")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01qjjwa8nn5a2jzd360xqg5zc8s0i2fpwcn2w2g6y2jgn9wl8x84"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:import-path "rsc.io/pdf"))
+ (home-page "https://rsc.io/pdf")
+ (synopsis "PDF reader for Golang")
+ (description "Package pdf implements reading of PDF files.")
+ (license license:bsd-3)))
+
;;;
;;; Executables:
;;;
@@ -1106,6 +1309,18 @@ improved and cleaner API.")
#:import-path "golang.org/x/vuln/cmd/govulncheck"
#:unpack-path "golang.org/x/vuln"))))
+(define-public protoc-gen-go
+ (package
+ (inherit go-github-com-golang-protobuf)
+ (name "protoc-gen-go")
+ (arguments
+ (list
+ #:tests? #f
+ #:install-source? #f
+ #:import-path "github.com/golang/protobuf/protoc-gen-go"
+ #:unpack-path "github.com/golang/protobuf"))
+ (synopsis "Protoc plugin to generate a Go protocol buffer package")))
+
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; 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 4831bb02c7..d0371aa915 100644
--- a/gnu/packages/golang-check.scm
+++ b/gnu/packages/golang-check.scm
@@ -9,20 +9,22 @@
;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
+;;; Copyright © 2020, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2022 ( <paren@disroot.org>
-;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2023 Benjamin <benjamin@uvy.fr>
;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com>
;;; Copyright © 2023 Fries <fries1234@protonmail.com>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
+;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 Greg Hogan <code@greghogan.com>
+;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
-;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -45,6 +47,7 @@
#:use-module (guix build-system go)
#:use-module (guix gexp)
#:use-module (guix git-download)
+ #:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
@@ -120,6 +123,113 @@ value and call @code{t.Fatal()} if the assertion fails.")
@end itemize")
(license license:expat)))
+(define-public go-github-com-andreyvit-diff
+ (package
+ (name "go-github-com-andreyvit-diff")
+ (version "0.0.0-20170406064948-c7f18ee00883")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/andreyvit/diff")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1s4qjkxig5yqahpzfl4xqh4kzi9mymdpkzq6kj3f4dr5dl3hlynr"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/andreyvit/diff"))
+ (propagated-inputs
+ (list go-github-com-sergi-go-diff))
+ (home-page "https://github.com/andreyvit/diff")
+ (synopsis "Diffing strings in tests")
+ (description
+ "This package provides a quick and easy string diffing functions based on
+github.com/sergi/go-diff, mainly for diffing strings in tests.")
+ (license license:expat)))
+
+(define-public go-github-com-bitfield-gotestdox
+ (package
+ (name "go-github-com-bitfield-gotestdox")
+ (version "0.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bitfield/gotestdox")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kxj8igjm0wmq9nj3wns7nf95rx70xm327ra68d3ffh300rxg401"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/bitfield/gotestdox"))
+ (propagated-inputs
+ (list go-github-com-fatih-color
+ go-github-com-google-go-cmp
+ go-github-com-mattn-go-isatty
+ go-github-com-rogpeppe-go-internal
+ go-golang-org-x-text))
+ (home-page "https://github.com/bitfield/gotestdox")
+ (synopsis "Format Go test results as readable documentation")
+ (description
+ "This packages implements a functionality to run tests and report the
+results, converting test names WrittenInCamelCase into ordinary sentences.")
+ (license license:expat)))
+
+(define-public go-github-com-bool64-dev
+ (package
+ (name "go-github-com-bool64-dev")
+ (version "0.2.37")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bool64/dev")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "041ng9z0qbmbj0l7lpj55d681b7p35lrr8vcyv3iqc1m6jzqqg5q"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/bool64/dev"))
+ (home-page "https://github.com/bool64/dev")
+ (synopsis "Go development helpers")
+ (description
+ "This package provides scripts and workflows to automate common routines
+for Golang projects via modular Makefiles and GitHub Actions.")
+ (license license:expat)))
+
+(define-public go-github-com-bool64-shared
+ (package
+ (name "go-github-com-bool64-shared")
+ (version "0.1.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bool64/shared")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "157k7vw9cq84i5yy8bab8n1dk2lc9cmz8kjjy710ic9lwridmnf8"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/bool64/shared"))
+ (native-inputs
+ (list go-github-com-bool64-dev
+ go-github-com-stretchr-testify))
+ (home-page "https://github.com/bool64/shared")
+ (synopsis "Share variables between test helpers in Golang")
+ (description
+ "This package provides a contract to share variables between test helpers
+in Golang.")
+ (license license:expat)))
+
(define-public go-github-com-caarlos0-testfs
(package
(name "go-github-com-caarlos0-testfs")
@@ -206,6 +316,31 @@ test (using testing.TB's @code{TempDir}) and with a few helper methods.")
"A testing library for Go programs.")
(license license:expat)))
+(define-public go-github-com-corpix-uarand
+ (package
+ (name "go-github-com-corpix-uarand")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/corpix/uarand")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ad5k1h2qpam2cfalwkjigrwg1yc45dny10n08qmqix1gxyjillc"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/corpix/uarand"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/corpix/uarand")
+ (synopsis "Random user-agent generator for Golang")
+ (description
+ "This package implements a functionality to generate random user-agent
+strings which may be used in mock tests.")
+ (license license:unlicense)))
+
(define-public go-github-com-davecgh-go-spew
(package
(name "go-github-com-davecgh-go-spew")
@@ -334,6 +469,9 @@ fgprof is designed for analyzing applications with mixed I/O and CPU
workloads. This kind of profiling is also known as wall-clock profiling.")
(license license:expat)))
+;; XXX: The project looks like abandoned, see
+;; <https://github.com/frankban/quicktest/issues/172>, remove when nothing
+;; depends on it.
(define-public go-github-com-frankban-quicktest
(package
(name "go-github-com-frankban-quicktest")
@@ -350,9 +488,18 @@ workloads. This kind of profiling is also known as wall-clock profiling.")
(build-system go-build-system)
(arguments
(list
+ #:test-flags
+ #~(list "-skip" (string-join
+ (list "TestReportOutput"
+ "TestIndirectReportOutput"
+ "TestMultilineReportOutput"
+ "TestCmpReportOutput"
+ "TestTopLevelAssertReportOutput")
+ "|"))
#:import-path "github.com/frankban/quicktest"))
(propagated-inputs
- (list go-github-com-google-go-cmp go-github-com-kr-pretty))
+ (list go-github-com-google-go-cmp
+ go-github-com-kr-pretty))
(home-page "https://github.com/frankban/quicktest")
(synopsis "Quick helpers for testing Go applications")
(description
@@ -360,6 +507,64 @@ workloads. This kind of profiling is also known as wall-clock profiling.")
tests.")
(license license:expat)))
+(define-public go-github-com-go-playground-validator-v10
+ (package
+ (name "go-github-com-go-playground-validator-v10")
+ (version "10.23.0")
+ (home-page "https://github.com/go-playground/validator")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-playground/validator")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1frr06zq7fimmfjv9nac2cx9gclydbay0smn2h78znsbrylfhcmz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; Tests on non-x86_64 architectures are not well supported upstream.
+ ;;
+ ;; Most of them fail with error like: Error:Field validation for
+ ;; 'IsColor' failed on the 'iscolor' tag.
+ #:tests? (target-x86-64?)
+ #:import-path "github.com/go-playground/validator/v10"))
+ (native-inputs
+ (list go-github-com-go-playground-assert-v2))
+ (propagated-inputs
+ (list go-github-com-gabriel-vasile-mimetype
+ go-github-com-go-playground-locales
+ go-github-com-go-playground-universal-translator
+ go-github-com-leodido-go-urn
+ go-golang-org-x-crypto
+ go-golang-org-x-text))
+ (synopsis "Validator for structs and individual fields based on tags")
+ (description
+ "This package implements value validations for structs and individual
+fields based on tags. It has the following unique features:
+
+@itemize
+@item Cross Field and Cross Struct validations by using validation tags or
+custom validators
+@item Slice, Array and Map diving, which allows any or all levels of a
+multidimensional field to be validated
+@item Ability to dive into both map keys and values for validation
+@item Handles type interface by determining it's underlying type prior to
+validation
+@item Handles custom field types such as sql driver
+@uref{https://golang.org/src/database/sql/driver/types.go?s=1210:1293#L29,
+Valuer}
+@item Alias validation tags, which allows for mapping of several validations
+to a single tag for easier defining of validations on structs
+@item Extraction of custom defined Field Name e.g. can specify to extract the
+JSON name while validating and have it available in the resulting FieldError
+@item Customizable i18n aware error messages.
+@item Default validator for the @uref{https://github.com/gin-gonic/gin, gin}
+web framework
+@end itemize")
+ (license license:expat)))
+
(define-public go-github-com-go-quicktest-qt
(package
(name "go-github-com-go-quicktest-qt")
@@ -376,9 +581,20 @@ tests.")
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/go-quicktest/qt"))
+ #:import-path "github.com/go-quicktest/qt"
+ #:test-flags
+ #~(list "-skip" (string-join
+ ;; Tests failing with assertion error or could not find
+ ;; test files.
+ (list "TestReportOutput"
+ "TestIndirectReportOutput"
+ "TestMultilineReportOutput"
+ "TestCmpReportOutput"
+ "TestTopLevelAssertReportOutput")
+ "|"))))
(propagated-inputs
- (list go-github-com-google-go-cmp go-github-com-kr-pretty))
+ (list go-github-com-google-go-cmp
+ go-github-com-kr-pretty))
(home-page "https://github.com/go-quicktest/qt")
(synopsis "Qt: quicker Go tests")
(description
@@ -450,6 +666,30 @@ programming language}. It integrates well with Go's built-in @code{testing}
package, but can be used in other contexts too.")
(license license:asl2.0)))
+(define-public go-github-com-golangplus-fmt
+ (package
+ (name "go-github-com-golangplus-fmt")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/golangplus/fmt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "07d5kxz0f8ss3v46y0c8jg02sagi0wlaaijhjzzp0r462jyzqii7"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f ; failing with new Golang compiler.
+ #:import-path "github.com/golangplus/fmt"))
+ (home-page "https://github.com/golangplus/fmt")
+ (synopsis "Additions to Go's standard @code{fmt} package")
+ (description
+ "This package provides additions to Go's stdlib @code{fmt}.")
+ (license license:bsd-3)))
+
(define-public go-github-com-golangplus-testing
(package
(name "go-github-com-golangplus-testing")
@@ -467,36 +707,48 @@ package, but can be used in other contexts too.")
(build-system go-build-system)
(arguments
'(#:import-path "github.com/golangplus/testing"))
+ (native-inputs
+ (list go-github-com-golangplus-bytes-bootstrap))
(propagated-inputs
(list go-github-com-golangplus-fmt))
(synopsis "Additions to Go's standard testing package")
(description "This package provides additions to Go's stdlib testing.")
(license license:bsd-3)))
+(define-public go-github-com-golangplus-testing-bootstrap
+ (hidden-package
+ (package
+ (inherit go-github-com-golangplus-testing)
+ (arguments
+ (list #:skip-build? #t
+ #:tests? #f
+ #:import-path "github.com/golangplus/testing"))
+ (native-inputs '())
+ (propagated-inputs '()))))
+
(define-public go-github-com-google-gofuzz
- (let ((commit "fd52762d25a41827db7ef64c43756fd4b9f7e382")
- (revision "0"))
- (package
- (name "go-github-com-google-gofuzz")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/google/gofuzz")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1yxmmr73h0lq7ryf3q9a7pcm2x5xrg4d5bxkq8n5pxwxwyq26kw8"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/google/gofuzz"))
- (home-page "https://github.com/google/gofuzz")
- (synopsis "Fuzz testing library for Go")
- (description "Gofuzz is a library for populationg Go objects with random
-values for the purpose of fuzz testing.")
- (license license:asl2.0))))
+ (package
+ (name "go-github-com-google-gofuzz")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/gofuzz")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "19bykk6y9d1ivylxchkx1r1d02xrh3wfvvd02zvr5qv5ippv78ag"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/google/gofuzz"))
+ (home-page "https://github.com/google/gofuzz")
+ (synopsis "Fuzz testing library for Go")
+ (description
+ "Gofuzz is a library for populationg Go objects with random values for
+the purpose of fuzz testing.")
+ (license license:asl2.0)))
;; XXX: Placing to (gnu package profiling) creates some failing cycles.
(define-public go-github-com-google-pprof
@@ -515,6 +767,7 @@ values for the purpose of fuzz testing.")
(build-system go-build-system)
(arguments
(list
+ #:tests? #f ; source only package
#:import-path "github.com/google/pprof"
#:phases
#~(modify-phases %standard-phases
@@ -571,99 +824,239 @@ package).")
"This package provides a library to generate unified diffs.")
(license license:bsd-3)))
+(define-public go-github-com-icrowley-fake
+ (package
+ (name "go-github-com-icrowley-fake")
+ (version "0.0.0-20240710202011-f797eb4a99c0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/icrowley/fake")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1zb2rdck6fwjw1ib7k6gm9d9mnsig4cr2807k7v5z6nwqka1pcw1"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/icrowley/fake"))
+ (propagated-inputs
+ (list go-github-com-corpix-uarand))
+ (home-page "https://github.com/icrowley/fake")
+ (synopsis "Fake data generator for Golang")
+ (description
+ "Package fake is the fake data generatror for go (Golang), heavily
+inspired by forgery and @url{https://github.com/ffaker/ffaker,ffaker} Ruby
+gems.")
+ (license license:expat)))
+
+(define-public go-github-com-jackc-fake
+ (package
+ (inherit go-github-com-icrowley-fake)
+ (name "go-github-com-jackc-fake")
+ (version "0.0.0-20150926172116-812a484cc733")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackc/fake")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0f32qgzhx7pl3s0g4v916z21kfyh5v1dv28aakxisiw23936wf68"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Module name has not been changed after been forked upstream.
+ (substitute* (find-files "." "\\.go$")
+ (("github.com/icrowley/fake") "github.com/jackc/fake"))))))
+ (arguments
+ (list
+ #:import-path "github.com/jackc/fake"))
+ (home-page "https://github.com/jackc/fake")
+ (description
+ "This package is an alternative fork of @url{github.com/icrowley/fake}
+used in go-github-com-jackc-pgx.")
+ (license license:expat)))
+
+(define-public go-github-com-jackc-pgmock
+ (package
+ (name "go-github-com-jackc-pgmock")
+ (version "0.0.0-20210724152146-4ad1a8207f65")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackc/pgmock")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "189hp5fkvavwgg7z0z9b9xj88ypsphvb7s4dpwa5aj42jm39nqha"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jackc/pgmock"))
+ (native-inputs
+ (list go-github-com-jackc-pgconn-bootstrap
+ go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-jackc-pgproto3-v2))
+ (home-page "https://github.com/jackc/pgmock")
+ (synopsis "PostgreSQL server mocking library")
+ (description
+ "This package implements a functionality to mock a PostgreSQL server.")
+ (license license:expat)))
+
+(define-public go-github-com-jackc-pgmock-bootstrap
+ (hidden-package
+ (package
+ (inherit go-github-com-jackc-pgmock)
+ (arguments
+ (list #:tests? #f
+ #:import-path "github.com/jackc/pgmock"
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'build))))
+ (native-inputs '()))))
+
(define-public go-github-com-jacobsa-oglematchers
- (let ((commit "141901ea67cd4769c6800aa7bfdfc558fa22bda5")
- (revision "0"))
- (package
- (name "go-github-com-jacobsa-oglematchers")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jacobsa/oglematchers")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "09ff5x6vbhd9zl1z4yzyk573ifh16rry38q1rx986kbz4hqkmniq"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/jacobsa/oglematchers"
- ;; break loop with with go-github-com-jacobsa-ogletest
- #:tests? #f))
- (home-page "https://github.com/jacobsa/oglematchers")
- (synopsis "Matchers for Go testing framework")
- (description
- "Package oglematchers provides a set of matchers useful in a testing or mocking
-framework. These matchers are inspired by and mostly compatible with Google
-Test for C++ and Google JS Test.")
- (license license:asl2.0))))
+ (package
+ (name "go-github-com-jacobsa-oglematchers")
+ (version "0.0.0-20150720000706-141901ea67cd")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jacobsa/oglematchers")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "09ff5x6vbhd9zl1z4yzyk573ifh16rry38q1rx986kbz4hqkmniq"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/jacobsa/oglematchers"
+ ;; break loop with with go-github-com-jacobsa-ogletest
+ #:tests? #f))
+ (home-page "https://github.com/jacobsa/oglematchers")
+ (synopsis "Matchers for Go testing framework")
+ (description
+ "Package oglematchers provides a set of matchers useful in a testing or
+mocking framework. These matchers are inspired by and mostly compatible with
+Google Test for C++ and Google JS Test.")
+ (license license:asl2.0)))
(define-public go-github-com-jacobsa-oglemock
- (let ((commit "e94d794d06ffc6de42cb19d0dab3c219efdd6dcf")
- (revision "0"))
- (package
- (name "go-github-com-jacobsa-oglemock")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jacobsa/oglemock")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "14yxf8ykwdwkcccksl6741xgzcf8qykyi58kp4maxpgscqhdl8rq"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/jacobsa/oglemock"
- ;; break loop with with go-github-com-jacobsa-ogletest
- #:tests? #f))
- (native-inputs
- (list go-github-com-jacobsa-oglematchers))
- (home-page "https://github.com/jacobsa/oglemock")
- (synopsis "Mocking framework for unit tests")
- (description
- "Package oglemock provides a mocking framework for unit tests.")
- (license license:asl2.0))))
+ (package
+ (name "go-github-com-jacobsa-oglemock")
+ (version "0.0.0-20150831005832-e94d794d06ff")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jacobsa/oglemock")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "14yxf8ykwdwkcccksl6741xgzcf8qykyi58kp4maxpgscqhdl8rq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jacobsa/oglemock"
+ ;; break loop with with go-github-com-jacobsa-ogletest
+ #:tests? #f))
+ (native-inputs
+ (list go-github-com-jacobsa-oglematchers))
+ (home-page "https://github.com/jacobsa/oglemock")
+ (synopsis "Mocking framework for unit tests")
+ (description
+ "Package oglemock provides a mocking framework for unit tests.")
+ (license license:asl2.0)))
(define-public go-github-com-jacobsa-ogletest
- (let ((commit "80d50a735a1108a2aeb7abc4a988d183f20c5292")
- (revision "0"))
- (package
- (name "go-github-com-jacobsa-ogletest")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jacobsa/ogletest")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1lbwbxzr75g65q07ry5k4kglxqs3ym7xkvqznzm55rm3qk76v83r"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/jacobsa/ogletest"
- ;; These tests should be made working
- #:tests? #f))
- (native-inputs
- (list go-github-com-jacobsa-oglematchers
- go-github-com-jacobsa-oglemock
- go-github-com-jacobsa-reqtrace
- go-golang-org-x-net))
- (home-page "https://github.com/jacobsa/ogletest")
- (synopsis "Expressive unit tests")
- (description
- "Package ogletest provides a framework for writing expressive unit tests. It
-integrates with the builtin testing package, so it works with the gotest
+ (package
+ (name "go-github-com-jacobsa-ogletest")
+ (version "0.0.0-20170503003838-80d50a735a11")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jacobsa/ogletest")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1lbwbxzr75g65q07ry5k4kglxqs3ym7xkvqznzm55rm3qk76v83r"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jacobsa/ogletest"
+ #:test-flags #~(list "-skip" "TestGoldenFiles")))
+ (propagated-inputs
+ (list go-github-com-jacobsa-oglematchers
+ go-github-com-jacobsa-oglemock
+ go-github-com-jacobsa-reqtrace
+ go-golang-org-x-net))
+ (home-page "https://github.com/jacobsa/ogletest")
+ (synopsis "Expressive unit tests")
+ (description
+ "Package ogletest provides a framework for writing expressive unit tests.
+It integrates with the builtin testing package, so it works with the gotest
command. Unlike the testing package which offers only basic capabilities for
-signalling failures, it offers ways to express expectations and get nice failure
-messages automatically.")
- (license license:asl2.0))))
+signalling failures, it offers ways to express expectations and get nice
+failure messages automatically.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-jacobsa-reqtrace
+ (package
+ (name "go-github-com-jacobsa-reqtrace")
+ (version "0.0.0-20150505043853-245c9e0234cb")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jacobsa/reqtrace")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zfyijig10896v42rvxka1n4wn6lijqz40y2281187l7mq8vv5jn"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jacobsa/reqtrace"))
+ (propagated-inputs
+ (list go-golang-org-x-net))
+ (home-page "https://github.com/jacobsa/reqtrace")
+ (synopsis "Simple request tracing framework")
+ (description
+ "Package reqtrace contains a very simple request tracing framework.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-jarcoal-httpmock
+ (package
+ (name "go-github-com-jarcoal-httpmock")
+ (version "1.3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jarcoal/httpmock")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xw73d59nl1jj18h2hp9vlgqmfvqk9bknzpimg4mjn13d4jzhqrf"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jarcoal/httpmock"))
+ (native-inputs
+ (list go-github-com-maxatome-go-testdeep))
+ (home-page "https://github.com/jarcoal/httpmock")
+ (synopsis "HTTP mocking for Golang")
+ (description
+ "Package httpmock provides tools for mocking HTTP responses. It
+implements exact URL and regexp matches.")
+ (license license:expat)))
(define-public go-github-com-jbenet-go-cienv
(package
@@ -690,6 +1083,135 @@ Many times certain facilities are not available, or tests must run
differently.")
(license license:expat)))
+(define-public go-github-com-jmhodges-clock
+ (package
+ (name "go-github-com-jmhodges-clock")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jmhodges/clock")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ys85dlg3zzzwl7p46kf5gckjm1ddgr5dai42v4p3wn9nm6ln252"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jmhodges/clock"))
+ (home-page "https://github.com/jmhodges/clock")
+ (synopsis "System time abstraction Golang library")
+ (description
+ "Package clock provides an abstraction for system time that enables
+testing of time-sensitive code.")
+ (license license:expat)))
+
+(define-public go-github-com-jtolds-gls
+ (package
+ (name "go-github-com-jtolds-gls")
+ (version "4.20.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jtolds/gls")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jtolds/gls"
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs #:allow-other-keys #:rest args)
+ (unless
+ ;; The tests fail when run with gccgo.
+ (false-if-exception (search-input-file inputs "/bin/gccgo"))
+ (apply (assoc-ref %standard-phases 'check) args)))))))
+ (home-page "https://github.com/jtolds/gls")
+ (synopsis "@code{gls} provides Goroutine local storage")
+ (description
+ "The @code{gls} package provides a way to store a retrieve values
+per-goroutine.")
+ (license license:expat)))
+
+(define-public go-github-com-ldez-tagliatelle
+ (package
+ (name "go-github-com-ldez-tagliatelle")
+ (version "0.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ldez/tagliatelle")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0s891pqzwivmhw7xfw0m8n8fcg90xiykcg808rr869iflbkdik9n"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/ldez/tagliatelle"))
+ (propagated-inputs
+ (list go-github-com-ettle-strcase
+ go-github-com-hashicorp-go-immutable-radix-v2
+ go-golang-org-x-tools))
+ (home-page "https://github.com/ldez/tagliatelle")
+ (synopsis "Struct tags handling linter for Golang")
+ (description
+ "This package implement a functionality for validating tags according to
+rules you define and fixing them according to the defined rules.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-maruel-panicparse
+ (package
+ (name "go-github-com-maruel-panicparse")
+ (version "1.6.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/maruel/panicparse")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "07hj3z47v4mzppi8r7ja20arh2kd0dih913xgb9ylapf7w5q98bn"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/maruel/panicparse"
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ ;; Failed with panic.
+ (list "TestAugment"
+ "TestPanic"
+ "TestPanicweb"
+ "TestProcessTwoSnapshots"
+ "TestSnapshotHandler"
+ "TestSnapshotHandler_Err"
+ "TestSnapshotHandler_LargeMemory"
+ )
+ "|"))))
+ (native-inputs
+ (list go-github-com-google-go-cmp))
+ (propagated-inputs
+ (list go-github-com-mattn-go-colorable
+ go-github-com-mattn-go-isatty
+ go-github-com-mgutz-ansi
+ go-golang-org-x-sys))
+ (home-page "https://github.com/maruel/panicparse")
+ (synopsis "Toolkit for parsing Go stack traces")
+ (description
+ "This package provides a toolkit for parsing Go language panic stack
+traces. It simplifies the traces to make salient information more visible and
+aid debugging.")
+ (license license:asl2.0)))
+
(define-public go-github-com-marvinjwendt-testza
(package
(name "go-github-com-marvinjwendt-testza")
@@ -758,6 +1280,34 @@ output capturing, mocking, and much more.")
testing capabilities.")
(license license:expat)))
+(define-public go-github-com-maxatome-go-testdeep
+ (package
+ (name "go-github-com-maxatome-go-testdeep")
+ (version "1.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/maxatome/go-testdeep")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0r9w79qm6j080gbqhrd5gwjzsnkmrcihy4yniw77g0wkspxxdjww"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/maxatome/go-testdeep"
+ ;; Structure comparison not equal.
+ #:test-flags #~(list "-skip" "TestFatalTrace")))
+ (propagated-inputs
+ (list go-github-com-davecgh-go-spew))
+ (home-page "https://github.com/maxatome/go-testdeep")
+ (synopsis "Extended HTTP API testing framework")
+ (description
+ "Package testdeep allows flexible deep comparison, it is an adaptation of
+Perl's @url{https://metacpan.org/pod/Test::Deep, Test::Deep perl}.")
+ (license license:bsd-2)))
+
(define-public go-github-com-onsi-ginkgo
(package
(name "go-github-com-onsi-ginkgo")
@@ -774,7 +1324,8 @@ testing capabilities.")
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/onsi/ginkgo"))
+ #:import-path "github.com/onsi/ginkgo"
+ #:test-flags #~(list "-skip" "TestIntegration")))
(propagated-inputs
(list go-github-com-go-task-slim-sprig
go-github-com-nxadm-tail
@@ -793,7 +1344,7 @@ Gomega matcher library.")
(package
(inherit go-github-com-onsi-ginkgo)
(name "go-github-com-onsi-ginkgo-v2")
- (version "2.19.0")
+ (version "2.22.0")
(source
(origin
(method git-fetch)
@@ -802,10 +1353,14 @@ Gomega matcher library.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0dwnkcysb5d9dyg8p84hhx5a3sj85g3bwgki1pgay4i8glz7xa7q"))))
+ (base32 "1mla4hr73ykbhl2mr40vzr4fjl97whr17ip907cac78fzch1csn8"))))
(arguments
(list
- #:import-path "github.com/onsi/ginkgo/v2"))
+ #:import-path "github.com/onsi/ginkgo/v2"
+ #:test-subdirs
+ ;; XXX: Most of the tests hang, find out why, keeping bare minimal
+ ;; amount.
+ #~(list "dsl/..." "extensions/globals" ".")))
(propagated-inputs
(list go-github-com-go-logr-logr
go-github-com-go-task-slim-sprig-v3
@@ -815,6 +1370,19 @@ Gomega matcher library.")
go-golang-org-x-sys
go-golang-org-x-tools))))
+(define-public go-github-com-onsi-ginkgo-v2-bootstrap
+ (hidden-package (package (inherit go-github-com-onsi-ginkgo-v2)
+ (name "go-github-com-onsi-ginkgo-v2")
+ (arguments
+ (list
+ #:tests? #f
+ #:import-path "github.com/onsi/ginkgo/v2"
+ #:phases
+ #~(modify-phases %standard-phases (delete 'build))))
+ (native-inputs '())
+ (propagated-inputs
+ (list go-github-com-go-logr-logr)))))
+
(define-public go-github-com-onsi-gomega
(package
(name "go-github-com-onsi-gomega")
@@ -831,10 +1399,15 @@ Gomega matcher library.")
(build-system go-build-system)
(arguments
(list
- ;; Unless we disable the tests, we have a circular dependency on
- ;; ginkgo/v2.
- #:tests? #f
- #:import-path "github.com/onsi/gomega"))
+ #:import-path "github.com/onsi/gomega"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-failing-test-files
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file "gexec/build_test.go")))))))
+ (native-inputs
+ (list go-github-com-onsi-ginkgo-v2-bootstrap))
(propagated-inputs
(list go-github-com-golang-protobuf
go-golang-org-x-net
@@ -961,6 +1534,31 @@ original value once the test has been run.")
current goroutine's ID.")
(license license:asl2.0))))
+(define-public go-github-com-rubyist-tracerx
+ (package
+ (name "go-github-com-rubyist-tracerx")
+ (version "0.0.0-20170927163412-787959303086")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rubyist/tracerx")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1xj5213r00zjhb7d2l6wlwv62g6mss50jwjpf7g8fk8djv3l29zz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/rubyist/tracerx"))
+ (home-page "https://github.com/rubyist/tracerx/")
+ (synopsis "Output tracing information in your Go app")
+ (description
+ "This package is a simple tracing application that logs messages
+depending on environment variables. It is very much inspired by git's
+GIT_TRACE mechanism.")
+ (license license:expat)))
+
(define-public go-github-com-sasha-s-go-deadlock
(package
(name "go-github-com-sasha-s-go-deadlock")
@@ -989,7 +1587,7 @@ current goroutine's ID.")
(define-public go-github-com-stretchr-testify
(package
(name "go-github-com-stretchr-testify")
- (version "1.9.0")
+ (version "1.10.0")
(source
(origin
(method git-fetch)
@@ -998,11 +1596,14 @@ current goroutine's ID.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "12cnhk96h8b3ddlb7jfvwwavzc0j1c2iva92pszl9rv6r571ckzg"))))
+ (base32 "0g1bdpqih38a7dl1malahz5x4ag01adk61gx47jg2534cqzvid05"))))
(build-system go-build-system)
(arguments
- '(#:import-path "github.com/stretchr/testify"))
+ (list
+ ;; XXX: Tests are shaky on non x86_64 architectures, check if some may
+ ;; be enabled.
+ #:tests? (target-x86-64?)
+ #:import-path "github.com/stretchr/testify"))
(propagated-inputs
(list go-github-com-davecgh-go-spew
go-github-com-pmezard-go-difflib
@@ -1010,8 +1611,9 @@ current goroutine's ID.")
go-gopkg-in-yaml-v3))
(home-page "https://github.com/stretchr/testify")
(synopsis "Go helper library for tests and invariant checking")
- (description "This package provide many tools for testifying that your
-code will behave as you intend.
+ (description
+ "This package provide many tools for testifying that your code will
+behave as you intend.
Features include:
@itemize
@@ -1058,6 +1660,45 @@ Features include:
strings must or must not be sent to a given local UDP listener.")
(license license:expat)))
+(define-public go-github-com-swaggest-assertjson
+ (package
+ (name "go-github-com-swaggest-assertjson")
+ (version "1.9.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/swaggest/assertjson")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0smxcs548dnchqqk4bys167xaawzz125qsvlvpa267fkhqrxk7f9"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/swaggest/assertjson"
+ #:test-flags #~(list "-skip" "TestEquals_message")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (for-each delete-file
+ (list "example_test.go"))))))))
+ (native-inputs
+ (list go-github-com-bool64-dev
+ go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-bool64-shared
+ go-github-com-iancoleman-orderedmap
+ go-github-com-yosuke-furukawa-json5
+ go-github-com-yudai-gojsondiff))
+ (home-page "https://github.com/swaggest/assertjson")
+ (synopsis "JSON equality assertions for Golang")
+ (description
+ "This package provides JSON equality assertions for Golang.")
+ (license license:expat)))
+
(define-public go-github-com-tdewolff-test
(package
(name "go-github-com-tdewolff-test")
@@ -1112,28 +1753,38 @@ execution when a test fails.")
(define-public go-github-com-smartystreets-goconvey
(package
(name "go-github-com-smartystreets-goconvey")
- (version "v1.8.1")
+ (version "1.8.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/smartystreets/goconvey")
- (commit version)))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0s9s7yd4jfwgirnz46kw1sfhgcgsdzfxlca6q16i6ixaqczfaap9"))))
(build-system go-build-system)
(arguments
- '(#:import-path "github.com/smartystreets/goconvey"))
+ (list
+ #:import-path "github.com/smartystreets/goconvey"
+ #:test-flags
+ ;; XXX: Figure out why these test fail.
+ #~(list "-skip" (string-join
+ (list "TestShellIntegration"
+ "TestStackModeMultipleInvocationInheritance"
+ "TestStackModeMultipleInvocationInheritance2"
+ "TestStackModeMultipleInvocationInheritance3"
+ "TestWatcher")
+ "|"))))
(propagated-inputs
(list go-github-com-jtolds-gls
go-github-com-smarty-assertions
go-golang-org-x-tools))
(home-page "https://github.com/smartystreets/goconvey")
(synopsis "Go testing tool with both a web and terminal user interface")
- (description "GoConvey is a testing tool for Go. It integrates with go
-test, can show test coverage and has a web user interface that will refresh
-automatically.")
+ (description
+ "GoConvey is a testing tool for Go. It integrates with go test, can show
+test coverage and has a web user interface that will refresh automatically.")
(license license:expat)))
(define-public go-github-com-smarty-assertions
@@ -1180,7 +1831,13 @@ functions and even in applications.")
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/smarty/gunit"))
+ #:import-path "github.com/smarty/gunit"
+ ;; Expected: [&{ BowlingGameScoringTests [0xc000080020
+ ;; 0xc000080040 0xc000080060 0xc000080080 0xc0000800a0]}]
+ ;; Actual: [&{ BowlingGameScoringTests [0xc0000da920
+ ;; 0xc0000da940 0xc0000da960 0xc0000da9a0 0xc0000da9c0]}]
+ #:test-flags
+ #~(list "-skip" "TestParseFileWithValidFixturesAndConstructs")))
(home-page "https://github.com/smarty/gunit")
(synopsis "Golang xUnit-style test fixture test adapter")
(description
@@ -1188,6 +1845,114 @@ functions and even in applications.")
functions for writing tests in an @code{xUnit} style.")
(license license:expat)))
+(define-public go-github-com-viant-assertly
+ (package
+ (name "go-github-com-viant-assertly")
+ (version "0.9.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/viant/assertly")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0mli7kfkaz3k4izx76w14qhq5a8bp6x1zw9471idrhg5wxg1mr1r"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/viant/assertly"
+ #:test-flags #~(list "-skip" "TestAssertCoalesceWithZero")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; failed to expand macro 1<ds:env[\"USER\"]>3, path:[/]:,
+ ;; failed to lookup USER in env.
+ (setenv "USER" "guix"))))))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-viant-toolbox))
+ (home-page "https://github.com/viant/assertly")
+ (synopsis "Data structure testing library)")
+ (description
+ "This library enables complex data structure testing, specifically:
+@itemize
+@item realtime transformation or casting of incompatible data types with
+directives system
+@item consistent way of testing of unordered structures
+@item contains, Range, RegExp support on any data structure deeph level
+@item switch case directive to provide expected value alternatives based on
+actual switch/case input match
+@item macro system enabling complex predicate and expression evaluation, and
+customization
+@end itemize")
+ (license license:asl2.0)))
+
+(define-public go-github-com-viant-assertly-bootstrap
+ (hidden-package
+ (package
+ (inherit go-github-com-viant-assertly)
+ (arguments
+ (list #:tests? #f
+ #:import-path "github.com/viant/assertly"
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'build))))
+ (native-inputs '())
+ (propagated-inputs '()))))
+
+(define-public go-go-abhg-dev-requiredfield
+ (package
+ (name "go-go-abhg-dev-requiredfield")
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/abhinav/requiredfield")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "15dccs71is06wi8xi3y2nnwpcpqbsh4pas4iggdr514aix8ljknf"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "go.abhg.dev/requiredfield"))
+ (propagated-inputs
+ (list go-golang-org-x-tools))
+ (home-page "https://go.abhg.dev/requiredfield")
+ (synopsis "Linter for required struct fields")
+ (description
+ "This package implements a linter that checks for required fields during
+struct initialization.")
+ (license license:bsd-3)))
+
+(define-public go-go-abhg-dev-testing-stub
+ (package
+ (name "go-go-abhg-dev-testing-stub")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/abhinav/stub-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "04by4hq9lhmz3ij2rdl053nr76l65q5w8w41khxgr5xak8s63yq6"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "go.abhg.dev/testing/stub"))
+ (home-page "https://github.com/abhinav/stub-go/tree")
+ (synopsis "Trivial stubbing package for Go")
+ (description
+ "Package stub provides helper functions to replace global variables for testing,
+and restore them afterwards.")
+ (license license:bsd-3)))
+
(define-public go-go-etcd-io-gofail
(package
(name "go-go-etcd-io-gofail")
@@ -1219,6 +1984,33 @@ functions for writing tests in an @code{xUnit} style.")
@url{http://www.freebsd.org/cgi/man.cgi?query=fail,failpoints} for Golang.")
(license license:asl2.0)))
+(define-public go-go-simpler-org-sloglint
+ (package
+ (name "go-go-simpler-org-sloglint")
+ (version "0.7.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-simpler/sloglint")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0y5hw79hib5g4fwwr1qdr0k6424vhj0hfs0rj2kxlqfwr3sn99qk"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "go-simpler.org/sloglint"))
+ (propagated-inputs
+ (list go-github-com-ettle-strcase
+ go-golang-org-x-tools))
+ (home-page "https://pkg.go.dev/go-simpler.org/sloglint")
+ (synopsis "Ensure consistent code style when using @code{log/slog}")
+ (description
+ "Package sloglint implements the sloglint analyzer. The @code{log/slog}
+API allows two different types of arguments: key-value pairs and attributes.")
+ (license license:mpl2.0)))
+
(define-public go-golang-org-sql-mock
(package
(name "go-golang-org-sql-mock")
@@ -1250,33 +2042,33 @@ real database connection.")
(license license:expat)))
(define-public go-golang-org-x-lint
- (let ((commit "83fdc39ff7b56453e3793356bcff3070b9b96445")
- (revision "0"))
- (package
- (name "go-golang-org-x-lint")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://go.googlesource.com/lint")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0ms3rs5hvpnm9bxbr5f9743i7hn2bbmqdmvzxq6nmi0f24ypv1l3"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "golang.org/x/lint"
- #:tests? #f)) ;; TODO: Fix tests
- (propagated-inputs
- (list go-golang-org-x-tools))
- (home-page "https://golang.org/x/lint")
- (synopsis "Linter for Go source code")
- (description
- "This is a linter for Go source code. Unlike gofmt, it doesn't
-reformat the source code, it only prints out style mistakes.")
- (license license:bsd-3))))
+ (package
+ (name "go-golang-org-x-lint")
+ (version "0.0.0-20241112194109-818c5a804067")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/lint")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "06ni2jpd3s5bzg2qrry58svakkg9k43gkgkrbk8f8x886qnhnimp"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "golang.org/x/lint"))
+ (propagated-inputs
+ (list go-golang-org-x-tools))
+ (home-page "https://golang.org/x/lint")
+ (synopsis "Linter for Go source code")
+ (description
+ "This is a linter for Go source code. Unlike gofmt, it doesn't reformat
+the source code, it only prints out style mistakes.")
+ (license license:bsd-3)))
+;; XXX: Unmaintained since 2020, see
+;; <https://github.com/go-check/check/issues/111>.
(define-public go-gopkg-in-check-v1
(package
(name "go-gopkg-in-check-v1")
@@ -1294,15 +2086,9 @@ reformat the source code, it only prints out style mistakes.")
(build-system go-build-system)
(arguments
(list
- #:import-path "gopkg.in/check.v1"
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key inputs #:allow-other-keys #:rest args)
- (unless
- ;; The tests fail when run with gccgo.
- (false-if-exception (search-input-file inputs "/bin/gccgo"))
- (apply (assoc-ref %standard-phases 'check) args)))))))
+ ;; Most tests failed.
+ #:tests? #f
+ #:import-path "gopkg.in/check.v1"))
(propagated-inputs
(list go-github-com-kr-pretty))
(home-page "https://gopkg.in/check.v1")
@@ -1310,6 +2096,74 @@ reformat the source code, it only prints out style mistakes.")
(description "This package provides a test library for the Go language.")
(license license:bsd-2)))
+(define-public go-gopkg-in-dnaeon-go-vcr-v3
+ (package
+ (name "go-gopkg-in-dnaeon-go-vcr-v3")
+ (version "3.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gopkg.in/dnaeon/go-vcr.v3")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1nij7rjbnrbsgjlm7fwpg298qffrgi2ic3wb51vqzxl6s9qkbzrq"))
+ (snippet
+ #~(begin (use-modules (guix build utils))
+ (delete-file-recursively "vendor")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "gopkg.in/dnaeon/go-vcr.v3"
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; XXX: Workaround for go-build-system's lack of Go modules
+ ;; support.
+ (delete 'build)
+ (replace 'check
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion (string-append "src/" import-path)
+ (invoke "go" "test" "-v" "./..."))))))))
+ (propagated-inputs
+ (list go-gopkg-in-yaml-v3))
+ (home-page "https://gopkg.in/dnaeon/go-vcr.v3")
+ (synopsis "Record and replay your HTTP interactions")
+ (description
+ "@@code{go-vcr} simplifies testing by recording your HTTP interactions
+and replaying them in future runs in order to provide fast, deterministic and
+accurate testing of your code.")
+ (license license:bsd-2)))
+
+(define-public go-gopkg-in-dnaeon-go-vcr-v4
+ (package
+ (inherit go-gopkg-in-dnaeon-go-vcr-v3)
+ (name "go-gopkg-in-dnaeon-go-vcr-v4")
+ (version "4.0.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gopkg.in/dnaeon/go-vcr.v4")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1p1a4hbk303k2bv9dmaf770dml71zr3260g5z7yd84vzhj8i0rzb"))))
+ (arguments
+ (list
+ #:import-path "gopkg.in/dnaeon/go-vcr.v4"
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; XXX: Workaround for go-build-system's lack of Go modules
+ ;; support.
+ (delete 'build)
+ (replace 'check
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion (string-append "src/" import-path)
+ (invoke "go" "test" "-v" "./..."))))))))))
+
(define-public go-gopkg-in-go-playground-assert-v1
(package
(name "go-gopkg-in-go-playground-assert-v1")
@@ -1367,6 +2221,8 @@ custom assertions to be used alongside native Go testing.")
(arguments
(list
#:import-path "github.com/warpfork/go-testmark"))
+ (propagated-inputs
+ (list go-github-com-warpfork-go-fsx))
(home-page "https://github.com/warpfork/go-testmark")
(synopsis "Parser for @code{testmark} format")
(description
@@ -1394,7 +2250,15 @@ testmark} format, which itself is a subset of Markdown format.")
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/warpfork/go-wish"))
+ #:import-path "github.com/warpfork/go-wish"
+ #:test-subdirs #~(list "cmp/..." "wishfix" ".")
+ #:test-flags
+ #~(list "-skip" (string-join
+ (list "TestDiff"
+ "TestOptions"
+ "TestGoTestOutputTree/non-verbose"
+ "TestGoTestOutputFun/non-verbose")
+ "|"))))
(home-page "https://github.com/warpfork/go-wish")
(synopsis "Test assertions for Golang")
(description
@@ -1485,6 +2349,79 @@ the end of a test.")
built-in @code{testing} package, but can be used in other contexts too.")
(license license:asl2.0)))
+(define-public go-gotest-tools-v3
+ (package
+ (name "go-gotest-tools-v3")
+ (version "3.5.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gotestyourself/gotest.tools")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1r5mc6slab6fj2si9nripl7fdq097s694gsn1gsxg2wj7605m5v4"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separatly:
+ ;;
+ ;; - gotest.tools/x/generics
+ (for-each delete-file-recursively
+ (list "x/generics"))))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "gotest.tools/v3"
+ #:test-flags
+ #~(list "-skip" (string-join
+ ;; Most of these failing tests can't read test file
+ ;; maybe due to the symlink can't be resolved properly
+ ;; or have assertion not equal.
+ (list "TestAssert_WithBinaryExpression_Failures"
+ "TestAssertWithBool.*"
+ "TestCheckFailure"
+ "TestCheckEqualFailure"
+ "TestCheck_MultipleFunctionsOnTheSameLine"
+ "TestEqualFailure"
+ "TestEqualFailure.*"
+ "TestAssertFailureWithOfflineComparison"
+ "TestErrorTypeFailure"
+ "TestErrorIs"
+ "TestEqual_WithGoldenUpdate"
+ "TestMigrateFile.*"
+ "TestMigrate_AssertAlready.*"
+ "TestFormattedCallExprArg.*"
+ "TestWaitOnSocketWithTimeout/connection_to_"
+ "TestIfCondition"
+ "TestIfCondition.*")
+ "|"))))
+ (propagated-inputs
+ (list go-github-com-google-go-cmp
+ go-golang-org-x-tools))
+ (home-page "https://gotest.tools")
+ (synopsis "gotest.tools")
+ (description
+ "Package gotesttools is a collection of packages to augment
+@code{testing} and support common patterns.
+
+Packages:
+@itemize
+@item @code{assert} - compare values and fail the test when a comparison fails
+@item @code{env} - test code which uses environment variables
+@item @code{fs} - create temporary files and compare a filesystem tree to an
+expected value
+@item @code{golden} - compare large multi-line strings against values frozen
+in golden files
+@item @code{icmd} - execute binaries and test the output
+@item @code{poll} - test asynchronous code by polling until a desired state is
+reached
+@item @code{skip} - skip a test and print the source code of the condition
+used to skip the test
+@end itemize")
+ (license license:asl2.0)))
+
(define-public go-honnef-co-go-tools
(package
(name "go-honnef-co-go-tools")
@@ -1524,6 +2461,67 @@ built-in @code{testing} package, but can be used in other contexts too.")
advanced Go linter.")
(license license:expat)))
+(define-public go-modernc-org-ccorpus2
+ (package
+ (name "go-modernc-org-ccorpus2")
+ (version "1.5.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/ccorpus2")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1mwgi0jdj5a595wlllr5rn3gvl7cqz7fnjx28hn3ia9cs1nxkk0a"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "modernc.org/ccorpus2"))
+ (home-page "https://gitlab.com/cznic/ccorpus2")
+ (synopsis "Continuation of ccorpus using @code{embed.FS}")
+ (description
+ "This packge provides a test corpus of C code.")
+ (license license:bsd-3)))
+
+(define-public go-mvdan-cc-unparam
+ (package
+ (name "go-mvdan-cc-unparam")
+ (version "0.0.0-20240528143540-8a5130ca722f")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mvdan/unparam")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qrwszcmb5slbzkq3acw57b896z22zwkv6cf6ldxwlc6p179g009"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "mvdan.cc/unparam"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'remove-failing-test-scripts
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (for-each delete-file
+ (list "testdata/script/usedas.txtar"
+ "testdata/script/stubs.txtar"
+ "testdata/script/impl.txtar"
+ "testdata/script/paramuses.txtar"))))))))
+ (propagated-inputs
+ (list go-github-com-pkg-diff
+ go-github-com-rogpeppe-go-internal
+ go-golang-org-x-tools))
+ (home-page "https://mvdan.cc/unparam/")
+ (synopsis "Find unused parameters in Go")
+ (description
+ "Reports unused function parameters and results in Go code.")
+ (license license:bsd-3)))
+
(define-public go-pgregory-net-rapid
(package
(name "go-pgregory-net-rapid")
@@ -1600,12 +2598,29 @@ tool."))))
(description "This package turns unkeyed struct literals (@code{T{1, 2,
3}}) into keyed ones (@code{T{A: 1, B: 2, C: 3}}) in Go.")))
+(define-public go-pgmockproxy
+ (package
+ (inherit go-github-com-jackc-pgmock)
+ (name "go-pgmockproxy")
+ (arguments
+ (list
+ #:install-source? #f
+ #:import-path "github.com/jackc/pgmock/pgmockproxy"
+ #:unpack-path "github.com/jackc/pgmock"))
+ (description
+ "pgmockproxy is a PostgreSQL proxy that logs the messages back and forth
+between the PostgreSQL client and server. This can aid in building a mocking
+script by running commands against a real server to observe the results. It
+can also be used to debug applications that speak the PostgreSQL wire protocol
+without needing to use a tool like Wireshark.")))
+
(define-public go-pprof
(package
(inherit go-github-com-google-pprof)
(name "go-pprof")
(arguments
(list
+ #:tests? #f
#:install-source? #f
#:import-path "github.com/google/pprof"))
(description
@@ -1666,6 +2681,29 @@ into @code{go-structlayout-pretty}.")))
(description "This package takes @code{go-structlayout}-like JSON and
prints an ASCII fraphic representing the memory layout.")))
+(define-public go-testdox
+ (package
+ (inherit go-github-com-bitfield-gotestdox)
+ (name "go-testdox")
+ (arguments
+ (list
+ #:install-source? #f
+ #:import-path "github.com/bitfield/gotestdox/cmd/gotestdox"
+ #:unpack-path "github.com/bitfield/gotestdox"))
+ (description
+ (string-append (package-description go-github-com-bitfield-gotestdox)
+ " This package provides an command line interface (CLI)
+tool."))))
+
+(define-public unparam
+ (package
+ (inherit go-mvdan-cc-unparam)
+ (name "unparam")
+ (arguments
+ (list #:tests? #f
+ #:install-source? #f
+ #:import-path "mvdan.cc/unparam"))))
+
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; 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 d26d775a42..2628036c31 100644
--- a/gnu/packages/golang-compression.scm
+++ b/gnu/packages/golang-compression.scm
@@ -29,6 +29,8 @@
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages)
+ #:use-module (gnu packages golang-build)
+ #:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-xyz))
;;; Commentary:
@@ -80,6 +82,9 @@ the @code{c2go} tool at
(arguments
(list
#:import-path "github.com/dsnet/compress"
+ #:test-subdirs
+ #~(list "brotli/..." "bzip2/..." "flate" "internal" "internal/prefix"
+ "internal/testutil" "xflate/...")
#:phases
#~(modify-phases %standard-phases
;; Testdata directories contains some compressed files requiring
@@ -163,7 +168,7 @@ library included in the stdlib, and supports GIF, TIFF and PDF.")
(define-public go-github-com-klauspost-compress
(package
(name "go-github-com-klauspost-compress")
- (version "1.13.1")
+ (version "1.17.11")
(source
(origin
(method git-fetch)
@@ -172,20 +177,11 @@ library included in the stdlib, and supports GIF, TIFF and PDF.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0ydnf9rizlhm8rilh14674qqx272sbwbkjx06xn9pqvy6mmn2r3r"))))
+ (base32 "1i8r1xiba62nng651p4razxg1kw1910sl4grm7axm2g4q8s3i298"))))
(build-system go-build-system)
(arguments
- `(#:import-path "github.com/klauspost/compress"
- #:phases
- (modify-phases %standard-phases
- (add-before 'reset-gzip-timestamps 'fix-permissions
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Provide write permissions on gzip files so that
- ;; reset-gzip-timestamps has sufficient permissions.
- (for-each make-file-writable
- (find-files (assoc-ref outputs "out") ".gz$")))))))
- (propagated-inputs
- (list go-github-com-golang-snappy))
+ (list
+ #:import-path "github.com/klauspost/compress"))
(home-page "https://github.com/klauspost/compress")
(synopsis "Go compression library")
(description "@code{compress} provides various compression algorithms.")
@@ -351,11 +347,19 @@ Supported archive formats:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0vfn01gd3hcpbj6gb4ig3pw6bv0g4j5780awr0fv4kf9id8gjvyy"))))
+ (base32 "0vfn01gd3hcpbj6gb4ig3pw6bv0g4j5780awr0fv4kf9id8gjvyy"))
+ (snippet
+ ;; XXX: fiano uses this package as library only, cmd requires very
+ ;; additional not packed and dated inputs. Overwrite with
+ ;; go-github-com-pierrec-lz4-v4 when fiano is updated.
+ #~(begin (use-modules (guix build utils))
+ (delete-file-recursively "cmd")))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/pierrec/lz4"))
+ (native-inputs
+ (list go-github-com-frankban-quicktest))
(home-page "https://github.com/pierrec/lz4")
(synopsis "LZ4 compression in pure Go")
(description
@@ -383,7 +387,85 @@ LZ4 data blocks. The implementation is based on the reference C
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/pierrec/lz4/v4"))))
+ #:import-path "github.com/pierrec/lz4/v4"))
+ ;; For CLI.
+ (native-inputs
+ (list go-code-cloudfoundry-org-bytefmt
+ go-github-com-pierrec-cmdflag
+ go-github-com-schollz-progressbar-v3))))
+
+(define-public go-github-com-saracen-fastzip
+ (package
+ (name "go-github-com-saracen-fastzip")
+ (version "0.1.11")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/saracen/fastzip")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1h63lhbwkga920n6lrh1ccfps2k4c3dn2pqap0i6mvjk6dba95s0"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/saracen/fastzip"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-klauspost-compress
+ go-github-com-saracen-zipextra
+ go-golang-org-x-sync
+ go-golang-org-x-sys))
+ (home-page "https://github.com/saracen/fastzip")
+ (synopsis "Zip archiver and extractor with a focus on speed")
+ (description
+ "Fastzip is an opinionated Zip archiver and extractor with a focus on
+speed.
+Features:
+@itemize
+@item archiving and extraction of files and directories can only occur within
+a specified directory
+@item permissions, ownership (uid, gid on linux/unix) and modification times
+are preserved
+@item buffers used for copying files are recycled to reduce allocations
+@item files are archived and extracted concurrently
+@item by default, @code{github.com/klauspost/compress/flate} library is used
+for compression and decompression
+@end itemize")
+ (license license:expat)))
+
+(define-public go-github-com-saracen-zipextra
+ (package
+ (name "go-github-com-saracen-zipextra")
+ (version "0.0.0-20220303013732-0187cb0159ea")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/saracen/zipextra")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0j24jdi5495nfq08xm6yjr9s32z13x6y961ry1ihhhgi6s8zdddj"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/saracen/zipextra"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file "zipextra_example_test.go")))))))
+ (home-page "https://github.com/saracen/zipextra")
+ (synopsis "Encoding and decoding ZIP archive format's \"Extra Fields\"")
+ (description
+ "This package provides a library for encoding and decoding ZIP archive
+format's \"Extra Fields\". The intention is to eventually support and provide
+a low-level API for the majority of PKWARE's and Info-ZIP's extra fields.")
+ (license license:expat)))
(define-public go-github-com-ulikunitz-xz
(package
@@ -466,10 +548,6 @@ tool."))))
#:install-source? #f
#:import-path "github.com/pierrec/lz4/cmd/lz4c"
#:unpack-path "github.com/pierrec/lz4"))
- (native-inputs
- (list go-code-cloudfoundry-org-bytefmt
- go-github-com-pierrec-cmdflag
- go-github-com-schollz-progressbar-v3))
(description
(string-append (package-description go-github-com-pierrec-lz4-v4)
" This package provides an additional command line
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index b1940583d4..75c56684d4 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -161,7 +161,7 @@ composability.")
(define-public go-filippo-io-edwards25519
(package
(name "go-filippo-io-edwards25519")
- (version "1.0.0")
+ (version "1.1.0")
(source
(origin
(method git-fetch)
@@ -170,7 +170,7 @@ composability.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "01m8hpaj0cwp250f7b0din09cf8j6j5y631grx67qfhvfrmwr1zr"))))
+ (base32 "1b2c4iv13mfa0dydr8wawpnnrxgwl7mxzhryfrkjxrgwad8gas5k"))))
(build-system go-build-system)
(arguments
'(#:import-path "filippo.io/edwards25519"))
@@ -198,25 +198,15 @@ primitives.")
(arguments
(list
#:import-path "github.com/99designs/keyring"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'disable-failing-tests
- (lambda* (#:key tests? unpack-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" unpack-path)
- (substitute* (find-files "." "\\_test.go$")
- ;; Disable test requring running DBus.
- (("TestLibSecretKeysWhenEmpty")
- "OffTestLibSecretKeysWhenEmpty")
- (("TestLibSecretKeysWhenNotEmpty")
- "OffTestLibSecretKeysWhenNotEmpty")
- (("TestLibSecretGetWhenEmpty")
- "OffTestLibSecretGetWhenEmpty")
- (("TestLibSecretGetWhenNotEmpty")
- "OffTestLibSecretGetWhenNotEmpty")
- (("TestLibSecretRemoveWhenEmpty")
- "OffTestLibSecretRemoveWhenEmpty")
- (("TestLibSecretRemoveWhenNotEmpty")
- "OffTestLibSecretRemoveWhenNotEmpty"))))))))
+ #:test-flags
+ #~(list "-skip" (string-join
+ (list "TestLibSecretKeysWhenEmpty"
+ "TestLibSecretKeysWhenNotEmpty"
+ "TestLibSecretGetWhenEmpty"
+ "TestLibSecretGetWhenNotEmpty"
+ "TestLibSecretRemoveWhenEmpty"
+ "TestLibSecretRemoveWhenNotEmpty")
+ "|"))))
(native-inputs
(list gnupg go-github-com-stretchr-testify password-store))
(propagated-inputs
@@ -325,6 +315,31 @@ Go 1.20 @code{crypto/ecdh} standard package.")
cryptographic standards that are not included in the Go standard library.")
(license license:asl2.0))))
+(define-public go-github-com-bradenhilton-cityhash
+ (package
+ (name "go-github-com-bradenhilton-cityhash")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bradenhilton/cityhash")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rfmbis47m42w05inqmph7jk6kza79miq9ifqlsdiax38b684yky"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/bradenhilton/cityhash"))
+ (home-page "https://github.com/bradenhilton/cityhash")
+ (synopsis "Google CityHash version 1 in Golang")
+ (description
+ "This package provides a Go implementation of Google City Hash,
+originated from https://github.com/zhenjl/cityhash and
+https://github.com/zentures/cityhash projects.")
+ (license license:expat)))
+
(define-public go-github-com-btcsuite-btcd-btcec
(let ((commit "67e573d211ace594f1366b4ce9d39726c4b19bd0")
(revision "0"))
@@ -377,8 +392,8 @@ needing to use secp256k1 elliptic curve cryptography.")
(base32 "0h508v790wk6g8jq0gh18296xl87vmgc4fhwnac7mk6i5g3mz6v4"))))
(build-system go-build-system)
(arguments
- (list #:unpack-path "github.com/bwesterb/go-ristretto"
- #:import-path "github.com/bwesterb/go-ristretto/edwards25519"))
+ (list
+ #:import-path "github.com/bwesterb/go-ristretto"))
(home-page "https://github.com/bwesterb/go-ristretto")
(synopsis "Operations on the Ristretto prime-order group")
(description "This is a pure Go implementation of the group operations on
@@ -480,7 +495,7 @@ described at @url{https://xxhash.com/}.")
(define-public go-github-com-cloudflare-circl
(package
(name "go-github-com-cloudflare-circl")
- (version "1.3.6")
+ (version "1.5.0")
(source
(origin
(method git-fetch)
@@ -489,7 +504,20 @@ described at @url{https://xxhash.com/}.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "05hk5svprcjrj6k4mg4kd732pnb658llqv04z6xrcl5v77jda2kd"))))
+ (base32 "1pfxg0iqai760arvbkznwkb6w2w7gginqpzr49s419dp73kr99hj"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodule(s) with their own go.mod files and packed as
+ ;; separated packages:
+ ;;
+ ;; - github.com/cloudflare/circl/pke/kyber/internal/common/asm
+ ;; - github.com/cloudflare/circl/sign/internal/dilithium/asm
+ ;; - github.com/cloudflare/circl/simd/keccakf1600/internal/asm
+ (for-each delete-file-recursively
+ (list "pke/kyber/internal/common/asm"
+ "sign/internal/dilithium/asm"
+ "simd/keccakf1600/internal/asm"))))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/cloudflare/circl"))
@@ -506,6 +534,36 @@ cryptographic algorithms targeting Post-Quantum (PQ) and Elliptic Curve
Cryptography (ECC).")
(license license:bsd-3)))
+(define-public go-github-com-cloudwego-base64x
+ (package
+ (name "go-github-com-cloudwego-base64x")
+ (version "0.1.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cloudwego/base64x")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1lgs28mj5w350vp6pazz2265hx2kab3kbjw7vnk0w1skslxbj8kx"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/cloudwego/base64x"))
+ (native-inputs
+ (list go-github-com-davecgh-go-spew
+ go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-bytedance-sonic-loader
+ go-github-com-klauspost-cpuid-v2))
+ (home-page "https://github.com/cloudwego/base64x")
+ (synopsis "Drop-in replacement of the std @code{encoding/base64} library")
+ (description
+ "This package provides a drop-in replacement of the Golang standard
+@code{encoding/base64} library.")
+ (license (list license:asl2.0 license:asl2.0))))
+
(define-public go-github-com-davidlazar-go-crypto
(package
(name "go-github-com-davidlazar-go-crypto")
@@ -556,6 +614,29 @@ one-time authenticator as specified in
@end itemize")
(license license:expat)))
+(define-public go-github-com-dchest-siphash
+ (package
+ (name "go-github-com-dchest-siphash")
+ (version "1.2.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dchest/siphash")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1d6vbg5i5r6pgfk3vh93a20jdj67lgr17dk2iml7fffw67i25a2c"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/dchest/siphash"))
+ (home-page "https://github.com/dchest/siphash")
+ (synopsis "Go library for pseudorandom functions")
+ (description
+ "SipHash is a family of pseudorandom functions (PRFs) optimized
+for speed on short messages.")
+ (license license:cc0)))
+
(define-public go-github-com-decred-dcrd-crypto-blake256
(package
(name "go-github-com-decred-dcrd-crypto-blake256")
@@ -649,6 +730,31 @@ signature scheme specific to Decred) signatures. See the README.md files in
the relevant sub packages for more details about those aspects.")
(license license:isc)))
+(define-public go-github-com-dgryski-dgoogauth
+ (package
+ (name "go-github-com-dgryski-dgoogauth")
+ (version "0.0.0-20190221195224-5a805980a5f3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dgryski/dgoogauth")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ma09ghwwizxaby37jmd9xjp6560p8lp29qqi8g4xw1d35h9nhny"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/dgryski/dgoogauth"))
+ (home-page "https://github.com/dgryski/dgoogauth")
+ (synopsis "Google Authenticator for Golang")
+ (description
+ "This is a Go implementation of the Google Authenticator library as
+specified in @url{https://www.rfc-editor.org/rfc/rfc4226, RFC 4226} and
+@url{https://www.rfc-editor.org/rfc/rfc6238, RFC 6238}.")
+ (license license:asl2.0)))
+
(define-public go-github-com-dgryski-go-farm
(package
(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
functions from @url{https://github.com/google/farmhash,Google's FarmHash}.")
(license license:expat)))
+(define-public go-github-com-dgryski-go-metro
+ (package
+ (name "go-github-com-dgryski-go-metro")
+ (version "0.0.0-20250106013310-edb8663e5e33")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dgryski/go-metro")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0had4wbhhghr3rbm5v4dcj73nlq49k1mpklqn9gkmzkkxfs8hf6z"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/dgryski/go-metro"))
+ (home-page "https://github.com/dgryski/go-metro")
+ (synopsis "Go translation of MetroHash")
+ (description
+ "This package provides a Go translation of the
+@url{https://github.com/jandrewrogers/MetroHash, reference C++ code for
+MetroHash}, a high quality, high performance hash algorithm.")
+ (license license:expat)))
+
+(define-public go-github-com-dgryski-go-mph
+ (package
+ (name "go-github-com-dgryski-go-mph")
+ (version "0.0.0-20211217222804-81a8625fb7ed")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dgryski/go-mph")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10q8l4jdzqf54bnnxka2jk6qzayri3ijv51knn1n0iimfric8w9g"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/dgryski/go-mph"))
+ (propagated-inputs
+ (list go-github-com-dgryski-go-metro))
+ (home-page "https://github.com/dgryski/go-mph")
+ (synopsis "Go minimal perfect hash function")
+ (description
+ "This package implements a hash/displace minimal perfect hash function.")
+ (license license:expat)))
+
+(define-public go-github-com-dgryski-go-rendezvous
+ (package
+ (name "go-github-com-dgryski-go-rendezvous")
+ (version "0.0.0-20200823014737-9f7001d12a5f")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dgryski/go-rendezvous")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hhdbsm5k19kh1fyxs4aibza9jylils4p3555lr8xalhj2iz3zlz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/dgryski/go-rendezvous"))
+ (home-page "https://github.com/dgryski/go-rendezvous")
+ (synopsis "Hashing functions for Golang")
+ ;; Project provides no README.
+ (description
+ "This package provides a hashing function.")
+ (license license:expat)))
+
(define-public go-github-com-dvsekhvalnov-jose2go
(package
(name "go-github-com-dvsekhvalnov-jose2go")
@@ -802,6 +981,34 @@ providing bidirectional mapping values to their names, plus enum convenience
for values.")
(license license:bsd-3)))
+(define-public go-github-com-gliderlabs-ssh
+ (package
+ (name "go-github-com-gliderlabs-ssh")
+ (version "0.3.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gliderlabs/ssh")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01svn6n2i7gb3j4wvjh3d7xyh3n0kxm5cda2kg9vgpl1l3bbsvqm"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/gliderlabs/ssh"))
+ (propagated-inputs
+ (list go-github-com-anmitsu-go-shlex
+ go-golang-org-x-crypto))
+ (home-page "https://github.com/gliderlabs/ssh")
+ (synopsis "SSH servers in Golang")
+ (description
+ "Package ssh wraps the crypto/ssh package with a higher-level API for
+building SSH servers. The goal of the API was to make it as simple as using
+net/http, so the API is very similar.")
+ (license license:bsd-3)))
+
(define-public go-github-com-go-asn1-ber-asn1-ber
(package
(name "go-github-com-go-asn1-ber-asn1-ber")
@@ -1245,6 +1452,31 @@ implementations are described in \"Fast SHA-256 Implementations on Intel
Architecture Processors\" by J. Guilford et al.")
(license license:asl2.0)))
+(define-public go-github-com-mr-tron-base58
+ (package
+ (name "go-github-com-mr-tron-base58")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mr-tron/base58")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ngxfpaa26p53lciz9vf2gn21l77kz8pcm2asxbv0l87g6xwqp7h"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mr-tron/base58"))
+ (home-page "https://github.com/mr-tron/base58")
+ (synopsis "Fast implementation of base58 encoding on Golang")
+ (description
+ "Fast implementation of base58 encoding on Golang. A trivial
+@command{big.Int} encoding benchmark results in 6 times faster encoding and 8
+times faster decoding.")
+ (license license:expat)))
+
(define-public go-github-com-multiformats-go-multihash
(package
(name "go-github-com-multiformats-go-multihash")
@@ -1426,10 +1658,36 @@ algorithm.")
"This package provides primitives for generating random values.")
(license license:expat)))
+(define-public go-github-com-pjbgf-sha1cd
+ (package
+ (name "go-github-com-pjbgf-sha1cd")
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pjbgf/sha1cd")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1g07kp07kvbsmpdrrv0r805vw4rr1mp77vx06m31nxvnp1s42zwi"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/pjbgf/sha1cd"))
+ (home-page "https://github.com/pjbgf/sha1cd")
+ (synopsis "sha1cd")
+ (description
+ "Package sha1cd implements collision detection based on the whitepaper
+Counter-cryptanalysis from Marc Stevens. The original ubc implementation was
+done by Marc Stevens and Dan Shumow, and can be found at:
+@@url{https://github.com/cr-marcstevens/sha1collisiondetection,https://github.com/cr-marcstevens/sha1collisiondetection}.")
+ (license license:asl2.0)))
+
(define-public go-github-com-protonmail-go-crypto
(package
(name "go-github-com-protonmail-go-crypto")
- (version "1.0.0")
+ (version "1.1.3")
(source
(origin
(method git-fetch)
@@ -1438,21 +1696,14 @@ algorithm.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "11q94983r6zjrdvflpikms4773a9s5vb9gg4qw1rj5800yhhah0n"))))
+ (base32 "0kcan2bw548cn6pm282zyddysv400dankcsrdanha7qmxqki34c0"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/ProtonMail/go-crypto"
#:phases
#~(modify-phases %standard-phases
- ;; XXX: Workaround for go-build-system's lack of Go modules
- ;; support.
- (delete 'build)
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./..."))))))))
+ (delete 'build)))) ; no go files in project's root
(propagated-inputs
(list go-github-com-cloudflare-circl
go-golang-org-x-crypto))
@@ -1465,34 +1716,6 @@ completely backwards compatible with @code{golang.org/x/crypto}, the official
package.")
(license license:bsd-3)))
-(define-public go-github-com-quic-go-qtls-go1-20
- (package
- (name "go-github-com-quic-go-qtls-go1-20")
- (version "0.4.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/quic-go/qtls-go1-20")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "069rknxpg7d0dmxc4akq2mw7wm5bi0420nshykf2iclvmbcg9ajh"))))
- (build-system go-build-system)
- (arguments
- (list
- ;; XXX: panic: qtls.ClientSessionState doesn't match, with Golang 1.20+.
- #:go go-1.20
- #:import-path "github.com/quic-go/qtls-go1-20"))
- (propagated-inputs
- (list go-golang-org-x-crypto
- go-golang-org-x-sys))
- (home-page "https://github.com/quic-go/qtls-go1-20")
- (synopsis "TLS 1.3 for QUIC")
- (description "Go standard library TLS 1.3 implementation, modified for
-QUIC. For Go 1.20.")
- (license license:expat)))
-
(define-public go-github-com-refraction-networking-utls
(package
(name "go-github-com-refraction-networking-utls")
@@ -1572,6 +1795,30 @@ wide-block encryption mode developed by Halevi and Rogaway.")
(description "Go-Bloom implements bloom filter using double hashing.")
(license license:asl2.0))))
+(define-public go-github-com-sean--seed
+ (package
+ (name "go-github-com-sean--seed")
+ (version "0.0.0-20170313163322-e2103e2c3529")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sean-/seed")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0glir8jxi1w7aga2jwdb63pp1h8q4whknili7xixsqzwyy716125"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/sean-/seed"))
+ (home-page "https://github.com/sean-/seed")
+ (synopsis "Seed random number generator")
+ (description
+ "Boiler-plate to securely @url{https://en.wikipedia.org/wiki/Random_seed,
+seed} Go's random number generator (if possible).")
+ (license license:expat)))
+
(define-public go-github-com-shadowsocks-go-shadowsocks2
(package
(name "go-github-com-shadowsocks-go-shadowsocks2")
@@ -1588,16 +1835,7 @@ wide-block encryption mode developed by Halevi and Rogaway.")
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/shadowsocks/go-shadowsocks2"
- #:phases
- #~(modify-phases %standard-phases
- ;; XXX: Workaround for go-build-system's lack of Go modules
- ;; support.
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./..."))))))))
+ #:import-path "github.com/shadowsocks/go-shadowsocks2"))
(propagated-inputs
(list go-github-com-riobard-go-bloom
go-golang-org-x-crypto))
@@ -1607,6 +1845,210 @@ wide-block encryption mode developed by Halevi and Rogaway.")
tunnel proxy protocol.")
(license license:asl2.0)))
+(define-public go-github-com-shogo82148-go-shuffle
+ (package
+ (name "go-github-com-shogo82148-go-shuffle")
+ (version "1.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/shogo82148/go-shuffle")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0z5n5jp57b68pq70wkrmw9z3vibjnq7b7f6i62pjhh1a83kknfg1"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/shogo82148/go-shuffle"))
+ (home-page "https://github.com/shogo82148/go-shuffle")
+ (synopsis "Shuffling slices and user-defined collections")
+ (description
+ "Package shuffle provides primitives for shuffling slices and
+user-defined collections.")
+ (license license:expat)))
+
+(define-public go-github-com-skeema-knownhosts
+ (package
+ (name "go-github-com-skeema-knownhosts")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/skeema/knownhosts")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1i74wqingiflrrvpzhahwdly9f8c27i2far1qxkszi7aswhpj956"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/skeema/knownhosts"))
+ (propagated-inputs (list go-golang-org-x-crypto))
+ (home-page "https://github.com/skeema/knownhosts")
+ (synopsis "Go SSH known_hosts wrapper with host key lookup")
+ (description
+ "Package knownhosts is a thin wrapper around @code{golang.org/x/crypto/ssh/knownhosts},
+adding the ability to obtain the list of host key algorithms for a known
+host.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-spaolacci-murmur3
+ (package
+ (name "go-github-com-spaolacci-murmur3")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/spaolacci/murmur3")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/spaolacci/murmur3"))
+ (home-page "https://github.com/spaolacci/murmur3")
+ (synopsis "Native MurmurHash3 Go implementation")
+ (description
+ "Native Go implementation of Austin Appleby's third MurmurHash
+revision (aka MurmurHash3). Reference algorithm has been slightly hacked as
+to support the streaming mode required by Go's standard Hash interface.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-tjfoc-gmsm
+ (package
+ (name "go-github-com-tjfoc-gmsm")
+ (version "1.4.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tjfoc/gmsm")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "18x1g555a3i86rkjrlxa6h6j3j87vhx480dqnv9hdij6cy3zph7i"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/tjfoc/gmsm"
+ #:test-subdirs
+ #~(list ;; "gmtls/..." ; requires go-google-golang-org-grpc
+ "pkcs12/..."
+ "sm2/..."
+ "sm3/..."
+ "sm4/..."
+ "x509/...")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key import-path #:allow-other-keys)
+ ;; Tests need to write to that files.
+ (with-directory-excursion (string-append "src/" import-path)
+ (make-file-writable "sm3/ifile"))))
+ (add-after 'check 'post-check
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ ;; Remove modified testdata just in case.
+ (delete-file-recursively "sm3/ifile")))))))
+ (propagated-inputs
+ (list go-github-com-golang-protobuf
+ go-golang-org-x-crypto
+ go-golang-org-x-net
+ #;go-google-golang-org-grpc)) ; not packed yet
+ (home-page "https://github.com/tjfoc/gmsm")
+ ;; Project's README is in Chinese Mandarin, translated with
+ ;; auto translator and corrected manually.
+ (synopsis "ShangMi (SM) cipher suites for Golang")
+ (description
+ "This package provides @url{https://en.wikipedia.org/wiki/SM4_(cipher),
+ShāngMì 4} cipher suites implementation (GM SM2/3/4).
+
+Main functions:
+@itemize
+@item @code{SM2} national secret elliptic curve algorithm library
+@item @code{SM3} national secret hash algorithm library
+@item @code{SM4} national secret block cipher algorithm library
+@end itemize")
+ (license license:asl2.0)))
+
+(define-public go-github-com-twmb-murmur3
+ (package
+ (name "go-github-com-twmb-murmur3")
+ (version "1.1.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/twmb/murmur3")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "064bbgbgc45i3m9b3rqyw09g0nlrjs7dq1k716i5f06zjjpr56wg"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/twmb/murmur3"))
+ (home-page "https://github.com/twmb/murmur3")
+ (synopsis "Native MurmurHash3 Go implementation")
+ (description
+ "Native Go implementation of Austin Appleby's third MurmurHash
+revision (aka MurmurHash3). Reference algorithm has been slightly hacked as to
+support the streaming mode required by Go's standard Hash interface.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-twpayne-go-pinentry
+ (package
+ (name "go-github-com-twpayne-go-pinentry")
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/twpayne/go-pinentry")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ixvvfd7ywsgj0jk1plb4h2g5bpmw86qc89m02c184jh5ndawhip"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/twpayne/go-pinentry"))
+ (native-inputs
+ (list go-github-com-alecthomas-assert-v2
+ go-github-com-golang-mock))
+ (propagated-inputs
+ (list go-github-com-rs-zerolog))
+ (home-page "https://github.com/twpayne/go-pinentry")
+ (synopsis "Golang client to GnuPG's pinentry")
+ (description
+ "Package pinentry provides a client to @code{GnuPG's} pinentry.")
+ (license license:expat)))
+
+(define-public go-github-com-twpayne-go-pinentry-v4
+ (package
+ (inherit go-github-com-twpayne-go-pinentry)
+ (name "go-github-com-twpayne-go-pinentry-v4")
+ (version "4.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/twpayne/go-pinentry")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1z9h2lg5xd3g6dd9avcfx0nnwdybr2yibmsw7akl6pz0cls3sf63"))))
+ (arguments
+ (list
+ #:import-path "github.com/twpayne/go-pinentry/v4"))))
+
(define-public go-github-com-xanzy-ssh-agent
(package
(name "go-github-com-xanzy-ssh-agent")
@@ -1633,10 +2075,35 @@ ssh-agent that uses UNIX sockets, and one could implement an alternative
ssh-agent process using the sample server.")
(license license:asl2.0)))
+(define-public go-github-com-xdg-go-pbkdf2
+ (package
+ (name "go-github-com-xdg-go-pbkdf2")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xdg-go/pbkdf2")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1nipijy5xkdnfyhkp5ryrjzm14si1i2v2xyfmblf84binwkbr8jh"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/xdg-go/pbkdf2"))
+ (home-page "https://github.com/xdg-go/pbkdf2")
+ (synopsis "Go implementation of PBKDF2")
+ (description
+ "Package pbkdf2 implements password-based key derivation using the PBKDF2
+algorithm described in @url{https://rfc-editor.org/rfc/rfc2898.html,RFC 2898}
+and @url{https://rfc-editor.org/rfc/rfc8018.html,RFC 8018}.")
+ (license license:asl2.0)))
+
(define-public go-github-com-youmark-pkcs8
(package
(name "go-github-com-youmark-pkcs8")
- (version "1.2")
+ (version "1.3")
(source
(origin
(method git-fetch)
@@ -1645,7 +2112,7 @@ ssh-agent process using the sample server.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0ckdrwa5rmp2c85936qd9d0gzrnrvqfg0297ansz5frdhg6fc6nq"))))
+ (base32 "17pnl7b0ml4595cmxhramnc7ry6df6f4zisvaafxj4r7ravx8i7c"))))
(build-system go-build-system)
(arguments
(list
@@ -1673,7 +2140,14 @@ PKCS#5 (v2.0) algorithms.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "117p973ccgalaqg7byj0qcd1xapysplql9np1sr9jkca500khcgf"))))
+ (base32 "117p973ccgalaqg7byj0qcd1xapysplql9np1sr9jkca500khcgf"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separately:
+ ;;
+ ;; - github.com/zeebo/blake3/avo
+ (delete-file-recursively "avo")))))
(build-system go-build-system)
(arguments
(list
@@ -1690,6 +2164,33 @@ PKCS#5 (v2.0) algorithms.")
and SSE4.1 acceleration.")
(license license:cc0)))
+(define-public go-github-com-zeebo-blake3-avo
+ (package
+ (name "go-github-com-zeebo-blake3-avo")
+ (version "0.0.0-20240814144702-1a8215cf69be")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zeebo/blake3")
+ (commit (go-version->git-ref version
+ #:subdir "avo"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "117p973ccgalaqg7byj0qcd1xapysplql9np1sr9jkca500khcgf"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/zeebo/blake3/avo"
+ #:unpack-path "github.com/zeebo/blake3"))
+ (propagated-inputs (list go-github-com-mmcloughlin-avo))
+ (home-page "https://github.com/zeebo/blake3")
+ (synopsis "BLAKE3 Avo integration")
+ (description
+ "This package provides a @url{https://github.com/mmcloughlin/avo, avo}
+vectorized version of BLAKE3 implementation in Golang.")
+ (license license:cc0)))
+
(define-public go-github-com-zeebo-pcg
(package
(name "go-github-com-zeebo-pcg")
@@ -1716,6 +2217,58 @@ and SSE4.1 acceleration.")
Congruential Generator} (PCG) algorithm.")
(license license:cc0)))
+(define-public go-gitlab-com-nyarla-go-crypt
+ (package
+ (name "go-gitlab-com-nyarla-go-crypt")
+ (version "0.0.0-20160106005555-d9a5dc2b789b")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/nyarla/go-crypt.git")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0249hbwvhy0xywi9b5k8964km27pvfkr3jvliy3azri6vnyvkkx1"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "gitlab.com/nyarla/go-crypt"))
+ (home-page "https://gitlab.com/nyarla/go-crypt")
+ (synopsis "Implementation of @code{crypt(3)} in Golang")
+ (description
+ "Package crypt is a implementation of crypt(3) by golang, originated from
+https://code.google.com/p/go-crypt.")
+ (license license:bsd-3)))
+
+(define-public go-gitlab-com-yawning-bsaes-git
+ (package
+ (name "go-gitlab-com-yawning-bsaes-git")
+ (version "0.0.0-20190805113838-0a714cd429ec")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/yawning/bsaes.git")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1w4g9phpb2f02dpkyd0ixp8jw9v42lnjljj4ysfz8im15abskwdn"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "gitlab.com/yawning/bsaes.git"))
+ (propagated-inputs
+ (list go-golang-org-x-sys))
+ (home-page "https://gitlab.com/yawning/bsaes")
+ (synopsis "AES implementatin in Golang")
+ (description
+ "The @code{bsaes} is a portable pure-Go constant time AES implementation
+based on the code from @url{https://bearssl.org/,BearSSL}. On appropriate
+systems, with a sufficiently recent Go runtime, it will transparently call
+crypto/aes when NewCipher is invoked.")
+ (license license:expat)))
+
(define-public go-gitlab-com-yawning-edwards25519-extra
(let ((commit "2149dcafc266f66d2487f45b156f6397f9c4760b")
(revision "0"))
@@ -1781,6 +2334,96 @@ package is intended for interoperability with the standard library and the
possible.")
(license license:bsd-3))))
+(define-public go-gitlab-com-yawning-obfs4-git
+ (package
+ (name "go-gitlab-com-yawning-obfs4-git")
+ (version "0.0.0-20231012084234-c3e2d44b1033")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/yawning/obfs4.git")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kv62161jf28v1d31avlc0f5iyk5ar06zlk3zdw99hyyfqjiasdr"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "gitlab.com/yawning/obfs4.git"
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'build)))) ; no go files in project's root
+ (propagated-inputs
+ (list go-filippo-io-edwards25519
+ go-github-com-dchest-siphash
+ go-gitlab-com-yawning-edwards25519-extra
+ go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib
+ go-golang-org-x-crypto
+ go-golang-org-x-net))
+ (home-page "https://gitlab.com/yawning/obfs4")
+ (synopsis "Network traffic obfourscator library")
+ (description
+ "This package implements functionality based on ideas and concepts from
+Philipp Winter's
+@url{https://www.cs.kau.se/philwint/scramblesuit/,ScrambleSuit} protocol.
+The notable differences between ScrambleSuit and obfs4:
+@itemize
+@item the handshake always does a full key exchange (no such thing as a
+Session Ticket Handshake)
+@item the handshake uses the Tor Project's ntor handshake with public keys
+obfuscated via the Elligator 2 mapping
+@item the link layer encryption uses NaCl secret boxes (Poly1305/XSalsa20)
+@end itemize")
+ (license license:gpl3+)))
+
+(define-public go-gitlab-com-yawning-utls-git
+ (package
+ (name "go-gitlab-com-yawning-utls-git")
+ (version "0.0.12-1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/yawning/utls.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0f4m5g6yc0kn2s457gy98id4rr4m4z56y1nsxzx3xl04n408aimx"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "gitlab.com/yawning/utls.git"
+ #:test-flags
+ #~(list "-skip" (string-join
+ ;; Test requiring network setup.
+ (list "TestHandshakeClientCertECDSA"
+ "TestHandshakeServerECDHEECDSAAES"
+ "TestVerifyHostname"
+ ;; Fails with error: misamtch on read.
+ "TestCipherSuiteCertPreferenceECDSA/TLSv12"
+ "TestUTLSHandshakeClientParrotGolang"
+ ;; Fails with error: expected "key size too small
+ ;; for PSS signature".
+ "TestKeyTooSmallForRSAPSS"
+ ;; Time bomb tests, certs are not valid after
+ ;; certain date.
+ "TestResumption/TLSv12"
+ "TestResumption/TLSv13")
+ "|"))))
+ (propagated-inputs
+ (list go-github-com-dsnet-compress
+ go-gitlab-com-yawning-bsaes-git
+ go-golang-org-x-crypto
+ go-golang-org-x-net))
+ (home-page "https://gitlab.com/yawning/utls")
+ (synopsis "Alternative fork of @code{github.com/refraction-networking/utls}")
+ (description
+ "This provides a fork of
+@url{https://github.com/refraction-networking/utls,uTLS} for the specific
+purpose of improving obfs4proxy's meek_lite transport.")
+ (license license:bsd-3)))
+
(define-public go-lukechampine-com-blake3
(package
(name "go-lukechampine-com-blake3")
@@ -1807,6 +2450,35 @@ contains AVX-512 and AVX2 routines (generated by avo) that greatly increase
performance for large inputs and outputs.")
(license license:expat)))
+(define-public go-software-sslmate-com-src-go-pkcs12
+ (package
+ (name "go-software-sslmate-com-src-go-pkcs12")
+ (version "0.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SSLMate/go-pkcs12")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0bmkv9nxflgr5sbizpm737rbarmi8iyxny6pwdmqk0jzrg5ppd85"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "software.sslmate.com/src/go-pkcs12"))
+ (propagated-inputs
+ (list go-golang-org-x-crypto))
+ (home-page "https://github.com/SSLMate/go-pkcs12")
+ (synopsis "Encoding and decoding PKCS#12 files")
+ (description
+ "Package pkcs12 implements some of PKCS#12 (also known as P12 or PFX).
+It is intended for decoding DER-encoded P12/PFX files for use with the
+@code{crypto/tls} package, and for encoding P12/PFX files for use by legacy
+applications which do not support newer formats. Since PKCS#12 uses weak
+encryption primitives, it SHOULD NOT be used for new applications.")
+ (license license:bsd-3)))
+
(define-public go-torproject-org-pluggable-transports-goptlib
(package
(name "go-torproject-org-pluggable-transports-goptlib")
diff --git a/gnu/packages/golang-maths.scm b/gnu/packages/golang-maths.scm
index cf783226ea..b14533c169 100644
--- a/gnu/packages/golang-maths.scm
+++ b/gnu/packages/golang-maths.scm
@@ -23,7 +23,8 @@
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
- #:use-module (gnu packages))
+ #:use-module (gnu packages)
+ #:use-module (gnu packages golang-build))
;;; Commentary:
;;;
@@ -35,6 +36,126 @@
;;; Libraries:
;;;
+(define-public go-github-com-aclements-go-moremath
+ (package
+ (name "go-github-com-aclements-go-moremath")
+ (version "0.0.0-20241023150245-c8bbc672ef66")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aclements/go-moremath")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01c9fkjs6gx7z6qkzy9qld7q3jhi9vgqhk8ymqck3ccmhg9bh1nq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/aclements/go-moremath"
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; No Go files in project root.
+ (delete 'build))))
+ (propagated-inputs
+ (list go-gonum-org-v1-gonum))
+ (home-page "https://github.com/aclements/go-moremath")
+ (synopsis "Assortment of more specialized math routines for Golang")
+ (description
+ "These packages provide more specialized math routines than are available
+in the standard Go @code{math} package. go-moremath currently focuses on
+statistical routines, with particular focus on high-quality implementations
+and APIs for non-parametric methods.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-cockroachdb-apd
+ (package
+ (name "go-github-com-cockroachdb-apd")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cockroachdb/apd")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14jnnqpdsa3vxh2zpznd2dpnychcrlkljppfplrigrs245slyh72"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/cockroachdb/apd"))
+ (propagated-inputs
+ (list go-github-com-pkg-errors))
+ (home-page "https://github.com/cockroachdb/apd")
+ (synopsis "Arbitrary-precision decimals for Golang")
+ (description
+ "This package implements much of the decimal specification from the
+@url{http://speleotrove.com/decimal/,General Decimal Arithmetic} description.
+This is the same specification implemented by
+@url{https://docs.python.org/2/library/decimal.html,Python’s decimal module}
+and GCC’s decimal extension.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-cockroachdb-apd-v3
+ (package
+ (inherit go-github-com-cockroachdb-apd)
+ (name "go-github-com-cockroachdb-apd-v3")
+ (version "3.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cockroachdb/apd")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jrb43l80mr8q1hx8q4p54rld6kya886ackv5yzqyhhhl271rnm6"))))
+ (arguments
+ (list
+ #:import-path "github.com/cockroachdb/apd/v3"))))
+
+(define-public go-github-com-johncgriffin-overflow
+ (package
+ (name "go-github-com-johncgriffin-overflow")
+ (version "0.0.0-20211019200055-46fa312c352c")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JohnCGriffin/overflow")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1g4sfhdmzjl5vr16lfv7nv042w8dbz608bwzyvf7xlw4i7ypjjpq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/JohnCGriffin/overflow"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'generate-impl
+ ;; Note that because Go has no template types, the majority of
+ ;; repetitive code is generated by overflow_template.sh. If you
+ ;; have to change an algorithm, change it there and regenerate the
+ ;; Go code.
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (substitute* "overflow_template.sh"
+ (("/bin/sh") (which "sh")))
+ (make-file-writable "overflow_impl.go")
+ (invoke "./overflow_template.sh")
+ (invoke "go" "generate")))))))
+ (home-page "https://github.com/JohnCGriffin/overflow")
+ (synopsis "Check for int/int64/int32 arithmetic overflow in Golang")
+ (description
+ "This package offers overflow-checked integer arithmetic operations for
+@code{int},@code{int32}, and @code{int64}. Each of the operations returns a
+@code{result,bool} combination. This was prompted by the need to know when to
+flow into higher precision types from the @code{math.big} library.")
+ ;; It's in README, see <https://github.com/JohnCGriffin/overflow/pull/5>.
+ (license license:expat)))
+
(define-public go-github-com-montanaflynn-stats
(package
(name "go-github-com-montanaflynn-stats")
@@ -51,13 +172,43 @@
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/montanaflynn/stats"))
+ #:import-path "github.com/montanaflynn/stats"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file-recursively "examples")))))))
(home-page "https://github.com/montanaflynn/stats")
(synopsis "Statistics library for Golang")
(description
"This package provides a statistical library for Golang.")
(license license:expat)))
+(define-public go-github-com-remyoudompheng-bigfft
+ (package
+ (name "go-github-com-remyoudompheng-bigfft")
+ (version "0.0.0-20230129092748-24d4a6f8daec")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/remyoudompheng/bigfft")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qxfda0jq70ank99zlgfz7iig2jpicbbxnpr7xcf1v9p474ak2dx"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/remyoudompheng/bigfft"))
+ (home-page "https://github.com/remyoudompheng/bigfft")
+ (synopsis "Big integer multiplication library for using Fast Fourier transform")
+ (description
+ "Package bigfft implements multiplication of @code{big.Int} using
+FFT (Schonhage-Strassen method for multiplying integers).")
+ (license license:bsd-3)))
+
(define-public go-github-com-shopspring-decimal
(package
(name "go-github-com-shopspring-decimal")
@@ -116,6 +267,111 @@ rounding for conversions. IEEE 754-2008 refers to this 16-bit floating-point
format as binary16.")
(license license:expat)))
+(define-public go-gonum-org-v1-gonum
+ (package
+ (name "go-gonum-org-v1-gonum")
+ (version "0.15.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gonum/gonum")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "002qsavnylj8l4ki56narpn3zm0r9p7p8ccgd20q1xp751wg2kvp"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "gonum.org/v1/gonum"
+ #:test-subdirs
+ #~(list "."
+ "blas/..."
+ "cmplxs/..."
+ "diff/..."
+ "dsp/fourier/..."
+ "floats/..."
+ "integrate/..."
+ "internal/..."
+ "interp/..."
+ "lapack/..."
+ "mat/..."
+ "mathext/..."
+ "num/..."
+ "optimize/..."
+ "spatial/..."
+ "stat/..."
+ "uniti/...")))
+ (propagated-inputs
+ (list go-github-com-goccmack-gocc
+ go-github-com-google-go-cmp
+ go-golang-org-x-exp
+ go-golang-org-x-tools
+ #;go-gonum-org-v1-plot ; not packed yet
+ ))
+ (home-page "https://www.gonum.org/")
+ (synopsis "Set of numeric libraries for Golang")
+ (description
+ "Gonum is a set of packages designed to make writing numerical and
+scientific algorithms productive, performant, and scalable. It provides
+libraries for matrices and linear algebra; statistics, probability
+distributions, and sampling; tools for function differentiation,integration,
+and optimization; network creation and analysis")
+ (license license:expat)))
+
+(define-public go-lukechampine-com-uint128
+ (package
+ (name "go-lukechampine-com-uint128")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lukechampine/uint128")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1yy6lbprrsl9gscxn4194kr5sfvgi9cgvjdxn2141k36ab3nz8ip"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "lukechampine.com/uint128"))
+ (home-page "https://github.com/lukechampine/uint128")
+ (synopsis "Uint128 for Golang")
+ (description
+ "This package provides a high-performance @code{Uint128} type that
+supports standard arithmetic operations. Unlike @code{math/big}, operations
+on @code{Uint128} values always produce new values instead of modifying a
+pointer receiver. A @@code{Uint128} value is therefore immutable, just like
+@code{uint64} and friends.")
+ (license license:expat)))
+
+(define-public go-modernc-org-mathutil
+ (package
+ (name "go-modernc-org-mathutil")
+ (version "1.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/mathutil")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0wafxarpfvys5p2wsamadkv8j54ahrv9dwmlba9xsxb85n4q9ywm"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "modernc.org/mathutil"))
+ (propagated-inputs (list go-github-com-remyoudompheng-bigfft))
+ (home-page "https://modernc.org/mathutil")
+ (synopsis
+ "Utilities supplemental to the Go standard @code{rand} and @code{math} packages")
+ (description
+ "Package mathutil provides utilities supplementing the standard
+@code{math} and @code{math/rand} packages.")
+ (license license:bsd-3)))
+
;;;
;;; Executables:
;;;
diff --git a/gnu/packages/golang-vcs.scm b/gnu/packages/golang-vcs.scm
new file mode 100644
index 0000000000..2c2dcc2d11
--- /dev/null
+++ b/gnu/packages/golang-vcs.scm
@@ -0,0 +1,172 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages golang-vcs)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system go)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module (guix packages)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages golang-build)
+ #:use-module (gnu packages golang-check)
+ #:use-module (gnu packages golang-crypto)
+ #:use-module (gnu packages golang-web)
+ #:use-module (gnu packages golang-xyz)
+ #:use-module (gnu packages version-control))
+
+;;; Commentary:
+;;;
+;;; Please: Try to add new module packages in alphabetic order.
+;;;
+;;; Code:
+
+;;;
+;;; Libraries:
+;;;
+
+(define-public go-github-com-go-git-gcfg
+ (package
+ (name "go-github-com-go-git-gcfg")
+ (version "1.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-git/gcfg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1lb14z4j35pwz2b2rbykkpsq515spwbndb00gwn2xlrzn949xb83"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/go-git/gcfg"
+ ;; pass; got 10, error <nil>
+ ;; failed to parse "a" as int: expected integer; *ptr==0
+ #:test-flags #~(list "-skip" "TestParseInt|TestScanFully")))
+ (propagated-inputs
+ (list go-github-com-pkg-errors
+ go-gopkg-in-warnings-v0))
+ (home-page "https://github.com/go-git/gcfg")
+ (synopsis "Gcfg reads INI-style configuration files into Go structs")
+ (description "Gcfg reads INI-style configuration files into Go structs.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-go-git-go-git-v5
+ (package
+ (name "go-github-com-go-git-go-git-v5")
+ (version "5.13.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-git/go-git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1mgzwwmq1awai9n8vkjp8xpq26hvivl53g57f1k2cgg6bkj13r2a"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f ;requires network connection
+ #:import-path "github.com/go-git/go-git/v5"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'setup
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((git #$(this-package-native-input "git-minimal"))
+ (git-bin (string-append git "/bin"))
+ (git-exe (string-append git-bin "/git")))
+ (setenv "GIT_DIST_PATH=" git)
+ (setenv "GIT_EXEC_PATH=" git-bin)
+ (setenv "HOME" (getcwd))
+ (invoke git-exe "config" "--global" "user.email" "gha@example.com")
+ (invoke git-exe "config" "--global" "user.name" "GitHub Actions")))))))
+ (native-inputs
+ (list git-minimal/pinned
+ go-github-com-stretchr-testify
+ go-gopkg-in-check-v1))
+ (propagated-inputs
+ (list go-dario-cat-mergo
+ go-github-com-armon-go-socks5
+ go-github-com-elazarl-goproxy
+ go-github-com-emirpasic-gods
+ go-github-com-gliderlabs-ssh
+ go-github-com-go-git-gcfg
+ go-github-com-go-git-go-billy-v5
+ go-github-com-go-git-go-git-fixtures-v4
+ go-github-com-golang-groupcache
+ go-github-com-google-go-cmp
+ go-github-com-jbenet-go-context
+ go-github-com-kevinburke-ssh-config
+ go-github-com-pjbgf-sha1cd
+ go-github-com-protonmail-go-crypto
+ go-github-com-sergi-go-diff
+ go-github-com-skeema-knownhosts
+ go-github-com-xanzy-ssh-agent
+ go-golang-org-x-crypto
+ go-golang-org-x-net
+ go-golang-org-x-sys
+ go-golang-org-x-text))
+ (home-page "https://github.com/go-git/")
+ (synopsis "Git implementation library")
+ (description "This package provides a Git implementation library.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-xanzy-go-gitlab
+ (package
+ (name "go-github-com-xanzy-go-gitlab")
+ (version "0.114.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xanzy/go-gitlab")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "136iik1pqggdk2z3yz4wh5z05wp9sb6j1rpbf33bjn5djqxcxbbf"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/xanzy/go-gitlab"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-google-go-querystring
+ go-github-com-hashicorp-go-cleanhttp
+ go-github-com-hashicorp-go-retryablehttp
+ go-golang-org-x-oauth2
+ go-golang-org-x-time))
+ (home-page "https://github.com/xanzy/go-gitlab")
+ (synopsis "GitLab Go SDK")
+ (description
+ "This package provides a GitLab API client enabling Go programs to
+interact with GitLab in a simple and uniform way.")
+ (license license:asl2.0)))
+
+;;;
+;;; Executables:
+;;;
+
+;;;
+;;; Avoid adding new packages to the end of this file. To reduce the chances
+;;; of a merge conflict, place them above in alphabetic order.
+;;;
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 6d1a0c1eae..4ac18ed019 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2017, 2019, 2020, 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
+;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Vagrant Cascadian <vagrant@debian.org>
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
@@ -34,6 +35,8 @@
;;; Copyright © 2024 Dominic Martinez <dom@dominicm.dev>
;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
+;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -65,6 +68,7 @@
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages ipfs)
+ #:use-module (gnu packages prometheus)
#:use-module (gnu packages tls)
#:use-module (gnu packages web))
@@ -85,6 +89,52 @@
;;; Libraries:
;;;
+(define-public go-0xacab-org-leap-obfsvpn
+ (package
+ (name "go-0xacab-org-leap-obfsvpn")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://0xacab.org/leap/obfsvpn.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1iq3m2j6m9n1h9rkysaj97nnqx65fn7vz9jskl4qa4rwh002pv3d"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; It's the same project.
+ (substitute* (find-files "." "\\.go$")
+ (("git.torproject.org/pluggable-transports/goptlib.git")
+ (string-append "gitlab.torproject.org/tpo/anti-censorship"
+ "/pluggable-transports/goptlib")))))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "0xacab.org/leap/obfsvpn"))
+ (native-inputs
+ (list go-github-com-spf13-pflag
+ go-github-com-spf13-viper))
+ (propagated-inputs
+ (list go-github-com-labstack-echo-v4
+ go-github-com-quic-go-quic-go
+ go-github-com-sirupsen-logrus
+ go-github-com-xtaci-kcp-go-v5
+ go-gitlab-com-yawning-obfs4-git
+ go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib))
+ (home-page "https://0xacab.org/leap/obfsvpn")
+ (synopsis "OBFS4 client and server proxies")
+ (description
+ "The @@code{obfsvpn} module contains a Go package that provides server
+and client components to use variants of the obfs4 obfuscation protocol. It
+is intended to be used as a drop-in Pluggable Transport for @code{OpenVPN}
+connections
+(although it can be used for other, more generic purposes).")
+ (license license:bsd-2)))
+
(define-public go-cloud-google-com-go-compute-metadata
(package
(name "go-cloud-google-com-go-compute-metadata")
@@ -111,6 +161,33 @@
API service accounts for Go.")
(license license:asl2.0)))
+(define-public go-git-sr-ht-adnano-go-gemini
+ (package
+ (name "go-git-sr-ht-adnano-go-gemini")
+ (version "0.2.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~adnano/go-gemini")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xxcljhk9abjjdcl1dnxaq7qwvl13rq51bwps5nxlkib7fxgbyyl"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "git.sr.ht/~adnano/go-gemini"))
+ (propagated-inputs
+ (list go-golang-org-x-net))
+ (home-page "https://git.sr.ht/~adnano/go-gemini")
+ (synopsis "Gemini protocol in Go")
+ (description
+ "The @code{gemini} package implements the Gemini protocol in Go. It
+provides an API similar to that of NET/HTTP to facilitate the development of
+Gemini clients and servers.")
+ (license license:expat)))
+
(define-public go-git-sr-ht-emersion-gqlclient
(package
(name "go-git-sr-ht-emersion-gqlclient")
@@ -126,7 +203,13 @@ API service accounts for Go.")
(base32 "0x64kcryawdr0daq1w6fada60zqrddw75yi397835b9ij7wb5gmh"))))
(build-system go-build-system)
(arguments
- (list #:import-path "git.sr.ht/~emersion/gqlclient"))
+ (list
+ #:embed-files #~(list "prelude.graphql")
+ #:import-path "git.sr.ht/~emersion/gqlclient"))
+ ;; For the CLI.
+ (native-inputs
+ (list go-github-com-dave-jennifer
+ go-github-com-vektah-gqlparser-v2))
(home-page "https://git.sr.ht/~emersion/gqlclient")
(synopsis "GraphQL client and code generator")
(description
@@ -171,6 +254,31 @@ API service accounts for Go.")
2019.")
(license license:expat)))
+(define-public go-github-com-aki237-nscjar
+ (package
+ (name "go-github-com-aki237-nscjar")
+ (version "0.0.0-20210417074043-bbb606196143")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aki237/nscjar")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0vbagy9g795b17lnnkkm2f3pcrkxrzc4qbzc656g2cdkdprdyb4m"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/aki237/nscjar"))
+ (home-page "https://github.com/aki237/nscjar")
+ (synopsis "Handle Netscape / Mozilla cookies")
+ (description
+ "@code{nscjar} is a Go library used to parse and output
+Netscape/Mozilla's old-style cookie files. It also implements a simple cookie
+jar struct to manage the cookies added to the cookie jar.")
+ (license license:expat)))
+
(define-public go-github-com-alexliesenfeld-health
(package
(name "go-github-com-alexliesenfeld-health")
@@ -310,6 +418,34 @@ that of BeautifulSoup.")
the parse trees produced by the html package.")
(license license:bsd-2)))
+(define-public go-github-com-armon-go-socks5
+ (package
+ (name "go-github-com-armon-go-socks5")
+ (version "0.0.0-20160902184237-e75332964ef5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/armon/go-socks5")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "104w10jf0wlxyxi35hf6frndgf0ybz21h54xjmnkivpb6slycpyq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/armon/go-socks5"))
+ (native-inputs
+ (list go-golang-org-x-net))
+ (home-page "https://github.com/armon/go-socks5")
+ (synopsis "SOCKS5 server in Golang")
+ (description
+ "This package provides the @code{socks5} package that implements a
+@url{http://en.wikipedia.org/wiki/SOCKS,SOCKS5 server}. SOCKS (Secure
+Sockets) is used to route traffic between a client and server through an
+intermediate proxy layer. This can be used to bypass firewalls or NATs.")
+ (license license:expat)))
+
(define-public go-github-com-audriusbutkevicius-pfilter
(package
(name "go-github-com-audriusbutkevicius-pfilter")
@@ -425,7 +561,7 @@ functions.")
(define-public go-github-com-aws-aws-sdk-go-v2
(package
(name "go-github-com-aws-aws-sdk-go-v2")
- (version "1.30.5")
+ (version "1.32.0")
(source
(origin
(method git-fetch)
@@ -434,11 +570,22 @@ functions.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1mxm3j8xwlzjqhdw515kwzzhnfr325s08ry73chjbdw6qb940lb1"))))
+ (base32 "1iflf2ski7vm2z78wdmbrqpchc3qr50macnf965wmdyfinvx58wn"))
+ ;; XXX: It contains a lot of sub packages defined with go.mod, consider
+ ;; to pack them separately.
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separately:
+ ;;
+ ;; - github.com/aws/aws-sdk-go-v2/service/sqs
+ (for-each delete-file-recursively
+ (list "service/sqs"))))))
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/aws/aws-sdk-go-v2"))
+ #:import-path "github.com/aws/aws-sdk-go-v2"
+ #:test-subdirs #~(list ".")))
(propagated-inputs
(list go-github-com-jmespath-go-jmespath
go-github-com-aws-smithy-go))
@@ -463,21 +610,29 @@ functions.")
(define-public go-github-com-aws-aws-sdk-go-v2-credentials
(package
(name "go-github-com-aws-aws-sdk-go-v2-credentials")
- (version "1.17.27")
+ (version "1.17.48")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aws/aws-sdk-go-v2")
- (commit (string-append "credentials/v" version))))
+ (commit (go-version->git-ref version
+ #:subdir "credentials"))))
(file-name (git-file-name name version))
(sha256
- (base32 "0jdj7wim98g80hjbw3av7ffrr3dqxzbygprmhjs0cxc16cw62wj7"))))
+ (base32 "1n3spqncpw6w11pwkqaiq7jyv6dv0229jsbshibg24l2g3accdqi"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/aws/aws-sdk-go-v2/credentials"
- #:unpack-path "github.com/aws/aws-sdk-go-v2"))
+ #:unpack-path "github.com/aws/aws-sdk-go-v2"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (substitute* (find-files "." "test\\.go")
+ (("/bin/sleep") (which "sleep")))))))))
(propagated-inputs
(list go-github-com-google-go-cmp
go-github-com-aws-smithy-go))
@@ -520,6 +675,86 @@ credentials sources.")
(propagated-inputs
(list go-github-com-aws-smithy-go))))
+(define-public go-github-com-aws-aws-sdk-go-v2-service-secretsmanager
+ (package
+ (name "go-github-com-aws-aws-sdk-go-v2-service-secretsmanager")
+ (version "1.34.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aws/aws-sdk-go-v2")
+ (commit (go-version->git-ref version
+ #:subdir "service/secretsmanager"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1n3spqncpw6w11pwkqaiq7jyv6dv0229jsbshibg24l2g3accdqi"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/aws/aws-sdk-go-v2/service/secretsmanager"
+ #:unpack-path "github.com/aws/aws-sdk-go-v2"))
+ (propagated-inputs
+ (list go-github-com-aws-smithy-go))
+ (home-page "https://github.com/aws/aws-sdk-go-v2")
+ (synopsis "AWS Secrets Manager service")
+ (description
+ "Package secretsmanager provides the API client, operations, and
+parameter types for AWS Secrets Manager.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-aws-aws-sdk-go-v2-service-sqs
+ (package
+ (name "go-github-com-aws-aws-sdk-go-v2-service-sqs")
+ (version "1.37.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aws/aws-sdk-go-v2")
+ (commit (go-version->git-ref version
+ #:subdir "service/sqs"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "158mgp8czzkhjdwli2wciwqihs56jp879ahjdjyy8c6fn0g3xdvb"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-26)))
+ (snippet
+ #~(begin
+ ;; XXX: 'delete-all-but' is copied from the turbovnc package.
+ ;; Consider to implement it as re-usable procedure in
+ ;; guix/build/utils or guix/build-system/go.
+ (define (delete-all-but directory . preserve)
+ (define (directory? x)
+ (and=> (stat x #f)
+ (compose (cut eq? 'directory <>) stat:type)))
+ (with-directory-excursion directory
+ (let* ((pred
+ (negate (cut member <> (append '("." "..") preserve))))
+ (items (scandir "." pred)))
+ (for-each (lambda (item)
+ (if (directory? item)
+ (delete-file-recursively item)
+ (delete-file item)))
+ items))))
+ (delete-all-but "service" "sqs")
+ (delete-all-but "." "service")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/aws/aws-sdk-go-v2/service/sqs"
+ #:unpack-path "github.com/aws/aws-sdk-go-v2"))
+ (propagated-inputs
+ (list go-github-com-aws-smithy-go
+ go-github-com-aws-aws-sdk-go-v2))
+ (home-page "https://github.com/aws/aws-sdk-go-v2")
+ (synopsis "AWS Golang SDK for Simple Queue Service")
+ (description
+ "Package sqs provides the API client, operations, and parameter types for
+Amazon Simple Queue Service.")
+ (license license:asl2.0)))
+
(define-public go-github-com-aws-aws-sdk-go-v2-service-sso
(package
(inherit go-github-com-aws-aws-sdk-go-v2)
@@ -556,27 +791,150 @@ credentials sources.")
(define-public go-github-com-aws-smithy-go
(package
(name "go-github-com-aws-smithy-go")
- (version "1.21.0")
+ (version "1.22.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aws/smithy-go")
- (commit "v1.21.0")))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1pcq9d154l41c4k23q6ri51ba5i2kc8ihrv4sgkv4q59cw70rspi"))))
+ (base32 "16jbv7cyj85048f4kcrib8k2yif165sc099h0aklal5dwlf85xcg"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separately:
+ ;;
+ ;; - github.com/aws/smithy-go/aws-http-auth
+ ;; - github.com/aws/smithy-go/codegen
+ ;; - github.com/aws/smithy-go/metrics/smithyotelmetrics
+ ;; - github.com/aws/smithy-go/tracing/smithyoteltracing
+ (for-each delete-file-recursively
+ (list "aws-http-auth"
+ "codegen"
+ "metrics/smithyotelmetrics"
+ "tracing/smithyoteltracing"))))))
(build-system go-build-system)
(arguments
- '(#:import-path "github.com/aws/smithy-go"))
- (propagated-inputs
- (list go-github-com-jmespath-go-jmespath go-github-com-google-go-cmp))
+ (list
+ #:import-path "github.com/aws/smithy-go"))
(home-page "https://github.com/aws/smithy-go")
(synopsis "Smithy code generators for Go")
(description
"Package smithy provides the core components for a Smithy SDK.")
(license license:asl2.0)))
+(define-public go-github-com-aws-smithy-go-aws-http-auth
+ (package
+ (name "go-github-com-aws-smithy-go-aws-http-auth")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aws/smithy-go")
+ (commit (go-version->git-ref version
+ #:subdir "aws-http-auth"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1iy9rlcj6qwy58rrddbvqy38lzw9d7y1i2d3mvf3f3z4i6rkwvd4"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/aws/smithy-go/aws-http-auth"
+ #:unpack-path "github.com/aws/smithy-go"))
+ (home-page "https://github.com/aws/smithy-go")
+ (synopsis "Consumable SigV4 and SigV4a request signing")
+ (description
+ "This package implements generically consumable SigV4 and SigV4a request
+signing.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-aws-smithy-go-codegen
+ (package
+ (name "go-github-com-aws-smithy-go-codegen")
+ (version "0.0.0-20241226171254-10fbeed6f845")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aws/smithy-go")
+ (commit (go-version->git-ref version
+ #:subdir "codegen"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16jbv7cyj85048f4kcrib8k2yif165sc099h0aklal5dwlf85xcg"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/aws/smithy-go/codegen"
+ #:unpack-path "github.com/aws/smithy-go"))
+ (home-page "https://github.com/aws/smithy-go")
+ (synopsis "Smithy code generators for Golang")
+ (description
+ "This package provides Gradle templates for Smithy code generators.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-aws-smithy-go-metrics-smithyotelmetrics
+ (package
+ (name "go-github-com-aws-smithy-go-metrics-smithyotelmetrics")
+ (version "1.0.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aws/smithy-go")
+ (commit (go-version->git-ref version
+ #:subdir "metrics/smithyotelmetrics"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16jbv7cyj85048f4kcrib8k2yif165sc099h0aklal5dwlf85xcg"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/aws/smithy-go/metrics/smithyotelmetrics"
+ #:unpack-path "github.com/aws/smithy-go"))
+ (propagated-inputs
+ (list go-go-opentelemetry-io-otel
+ go-go-opentelemetry-io-otel)) ; for go.opentelemetry.io/otel/metric
+ (home-page "https://github.com/aws/smithy-go")
+ (synopsis "AWS Smithy OTEL metrics adapter")
+ (description
+ "Package smithyotelmetrics implements a Smithy client metrics adapter for
+the OTEL Go SDK.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-aws-smithy-go-tracing-smithyoteltracing
+ (package
+ (name "go-github-com-aws-smithy-go-tracing-smithyoteltracing")
+ (version "1.0.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aws/smithy-go")
+ (commit (go-version->git-ref version
+ #:subdir "tracing/smithyoteltracing"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16jbv7cyj85048f4kcrib8k2yif165sc099h0aklal5dwlf85xcg"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/aws/smithy-go/tracing/smithyoteltracing"
+ #:unpack-path "github.com/aws/smithy-go"))
+ (propagated-inputs
+ (list go-go-opentelemetry-io-otel))
+ (home-page "https://github.com/aws/smithy-go")
+ (synopsis "AWS Smithy OTEL tracing adapter")
+ (description
+ "Package smithyoteltracing implements a Smithy client tracing adapter for
+the OTEL Go SDK.")
+ (license license:asl2.0)))
+
(define-public go-github-com-aymerick-douceur
(package
(name "go-github-com-aymerick-douceur")
@@ -631,6 +989,72 @@ credentials sources.")
Manager,NTLM}/Negotiate authentication over HTTP.")
(license license:expat)))
+(define-public go-github-com-babolivier-go-doh-client
+ (package
+ (name "go-github-com-babolivier-go-doh-client")
+ (version "0.0.0-20201028162107-a76cff4cb8b6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/babolivier/go-doh-client")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ca72jz5d5wf5hkcjiwrjvh4fp9p0nqhgwyx9p3vq9sdrx524d21"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/babolivier/go-doh-client"))
+ (home-page "https://github.com/babolivier/go-doh-client")
+ (synopsis "DNS over HTTPS client implementation written in Golang")
+ (description
+ "Package doh implements client operations for @code{DoH} (DNS over HTTPS)
+lookups. It implements looking up the following records:
+@itemize
+@item A
+@item AAAA
+@item CNAME
+@item MX
+@item NS
+@item TXT
+@item SRV
+@item SOA
+@item PTR
+@end itemize")
+ (license license:gpl3)))
+
+(define-public go-github-com-beevik-ntp
+ (package
+ (name "go-github-com-beevik-ntp")
+ (version "1.4.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/beevik/ntp")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0n2mr4nnbsv5f0w3hkk3kmyn3wd2xqi5zxgcm8s50fdizk0nqmi9"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/beevik/ntp"
+ ;; Tests requir access to <0.beevik-ntp.pool.ntp.org:53>.
+ #:test-flags #~(list "-skip" "TestOnlineQuery|TestOnlineTime")))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-golang-org-x-net))
+ (home-page "https://github.com/beevik/ntp")
+ (synopsis "NTP client package for Golang")
+ (description
+ "Package ntp provides an implementation of a Simple NTP (SNTP) client
+capable of querying the current time from a remote NTP server as specified in
+@url{https://rfc-editor.org/rfc/rfc5905.html, RFC 5905}.")
+ (license license:bsd-2)))
+
(define-public go-github-com-bep-golibsass
(package
(name "go-github-com-bep-golibsass")
@@ -688,6 +1112,34 @@ Manager,NTLM}/Negotiate authentication over HTTP.")
"This package provides SCSS compiler support for Go applications.")
(license license:expat)))
+(define-public go-github-com-bradenhilton-mozillainstallhash
+ (package
+ (name "go-github-com-bradenhilton-mozillainstallhash")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bradenhilton/mozillainstallhash")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0j54ssnvk2vy77g23zrhi9acwblnamj63i7wmmdnb89fjg0xc9km"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/bradenhilton/mozillainstallhash"))
+ (propagated-inputs
+ (list go-github-com-bradenhilton-cityhash
+ go-golang-org-x-text))
+ (home-page "https://github.com/bradenhilton/mozillainstallhash")
+ (synopsis "Generates the hash used in installs of Mozilla software")
+ (description
+ "This package provides a functionality to get the hash used to
+differentiate between installs of Mozilla software in @code{installs.ini} and
+@code{profiles.ini}.")
+ (license license:expat)))
+
(define-public go-github-com-caddyserver-certmagic
(package
(name "go-github-com-caddyserver-certmagic")
@@ -968,6 +1420,32 @@ API. See the full Circonus API Documentation at
@url{https://login.circonus.com/resources/api} for more information.")
(license license:bsd-3)))
+(define-public go-github-com-cli-browser
+ (package
+ (name "go-github-com-cli-browser")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cli/browser")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1f54ap2a4df32bwrwqsasfsikkxngkk4wr2wfbsns4lf0yymra6k"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/cli/browser"))
+ (propagated-inputs
+ (list go-golang-org-x-sys))
+ (home-page "https://github.com/cli/browser")
+ (synopsis "Helpers to open URLs, files, or readers in a web browser")
+ (description
+ "Package browser provides helpers to open files, readers, and URLs in a
+browser window.")
+ (license license:bsd-2)))
+
(define-public go-github-com-coder-websocket
(package
(name "go-github-com-coder-websocket")
@@ -980,10 +1458,19 @@ API. See the full Circonus API Documentation at
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "172v9mqghswf50ga512qghb6ii0ivz5fi2iyjzdnbm42g0cr4fjj"))))
+ (base32 "172v9mqghswf50ga512qghb6ii0ivz5fi2iyjzdnbm42g0cr4fjj"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separately:
+ ;;
+ ;; - github.com/coder/websocket/internal/thirdparty
+ (delete-file-recursively "internal/thirdparty")))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/coder/websocket"))
+ (native-inputs
+ (list go-golang-org-x-time)) ; for examples
(home-page "https://github.com/coder/websocket")
(synopsis "WebSocket library for Go")
(description
@@ -1071,7 +1558,7 @@ Any}.")
(define-public go-github-com-coreos-go-oidc
(package
(name "go-github-com-coreos-go-oidc")
- (version "2.2.1")
+ (version "2.3.0")
(source
(origin
(method git-fetch)
@@ -1080,14 +1567,16 @@ Any}.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "11m6slbpi33ynffml7812piq4anhjlf1qszjlsf26f5y7x3qh8n5"))))
+ (base32 "180wnxiim622v17xcnrjrg9g07mg4xizmlxxyrl9p42is0abi9c8"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/coreos/go-oidc"))
+ (native-inputs
+ (list go-golang-org-x-net))
(propagated-inputs
(list go-github-com-pquerna-cachecontrol
go-golang-org-x-oauth2
- go-gopkg-in-square-go-jose-v2))
+ go-gopkg-in-go-jose-go-jose-v2))
(home-page "https://github.com/coreos/go-oidc")
(synopsis "OpenID Connect support for Go")
(description
@@ -1150,6 +1639,7 @@ Any}.")
(arguments
(list
#:import-path "github.com/cretz/bine"
+ #:test-subdirs #~(list "tests/..." "torutil/...")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-examples
@@ -1234,6 +1724,167 @@ client in Golang.")
(modify-inputs (package-native-inputs go-github-com-datadog-datadog-go)
(append go-github-com-golang-mock)))))
+(define-public go-github-com-davecgh-go-xdr
+ (package
+ (name "go-github-com-davecgh-go-xdr")
+ (version "0.0.0-20161123171359-e6a2ba005892")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/davecgh/go-xdr")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0vifrz4iil4r7k8sz5iqlfbh80ysgs5abp2simgyhsbrkxrrsrrd"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/davecgh/go-xdr/xdr2"
+ #:unpack-path "github.com/davecgh/go-xdr"))
+ (home-page "https://github.com/davecgh/go-xdr")
+ (synopsis "Pure Go implementation of the XDR standard")
+ (description
+ "@code{go-xdr} implements the data representation portion of the External
+Data Representation (XDR) standard protocol as specified in RFC
+4506 (obsoletes RFC 1832 and RFC 1014) in pure Go.")
+ (license license:isc)))
+
+(define-public go-github-com-docker-go-connections
+ (package
+ (name "go-github-com-docker-go-connections")
+ (version "0.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/docker/go-connections")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0svfa9g4xvbn87l5kiww1jkijmci9g5821wjp81xz1rfp13cqrk8"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/docker/go-connections"
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ ;; Unable to verify certificate 1: x509: certificate signed by
+ ;; unknown authority.
+ (list "TestConfigClientExclusiveRootPools"
+ "TestConfigServerExclusiveRootPools")
+ "|"))))
+ (home-page "https://github.com/docker/go-connections")
+ (synopsis "Networking library for Go")
+ (description
+ "This package provides a library to work with network connections in the
+Go language. In particular it provides tools to deal with network address
+translation (NAT), proxies, sockets, and transport layer security (TLS).")
+ (license license:asl2.0)))
+
+(define-public go-github-com-dpotapov-go-spnego
+ (package
+ (name "go-github-com-dpotapov-go-spnego")
+ (version "0.0.0-20220426193508-b7f82e4507db")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dpotapov/go-spnego")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1rpcgzkqhdwfsi8a9f9qar16i663pdx3gvwd6c0vfppy7qjmpjfr"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/dpotapov/go-spnego"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-jcmturner-gokrb5-v8
+ go-golang-org-x-net))
+ (home-page "https://github.com/dpotapov/go-spnego")
+ (synopsis "HTTP calls with Kerberos authentication")
+ (description
+ "The package extends Go's HTTP Transport allowing Kerberos
+authentication through Negotiate mechanism (see
+@url{https://tools.ietf.org/html/rfc4559, RFC4559}).")
+ (license license:expat)))
+
+(define-public go-github-com-elazarl-goproxy
+ (package
+ (name "go-github-com-elazarl-goproxy")
+ (version "0.0.0-20241221210044-9faedc2f9e9f")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/elazarl/goproxy")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0j3v0y18igr3wy9vbwyg19fzy12jc41kmpfcz2jh1dnk6kxn2n67"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/elazarl/goproxy"
+ #:test-flags
+ #~(list "-skip" (string-join
+ ;; Networking or curl are required.
+ (list "TestCurlMinusP"
+ "TestSimpleHttpRequest"
+ "TestBasicConnectAuthWithCurl"
+ "TestBasicAuthWithCurl"
+ "TestConstantImageHandler"
+ "TestImageHandler"
+ "TestReplaceImage")
+ "|"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file-recursively "examples")))))))
+ (propagated-inputs
+ (list go-golang-org-x-net))
+ (home-page "https://github.com/elazarl/goproxy")
+ (synopsis "HTTP proxy library for Go")
+ (description
+ "GoProxy is a library to create a customized HTTP/HTTPS proxy server
+using Go (aka Golang), with several configurable settings available. The
+target of this project is to offer an optimized proxy server, usable with
+reasonable amount of traffic, yet customizable and programmable.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-ema-qdisc
+ (package
+ (name "go-github-com-ema-qdisc")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ema/qdisc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1v2k2z1xjxfa0qrrnafvb51dxwxm0s3nbsi6n64cm2rylxjskfmy"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/ema/qdisc"))
+ (propagated-inputs
+ (list go-github-com-mdlayher-netlink))
+ (home-page "https://github.com/ema/qdisc")
+ (synopsis "Queuing discipline information via netlink")
+ (description
+ "Package @code{qdisc} allows getting queuing discipline information via
+netlink,similarly to what @code{tc -s qdisc show} does.")
+ (license license:expat)))
+
(define-public go-github-com-emersion-go-imap
(package
(name "go-github-com-emersion-go-imap")
@@ -1504,9 +2155,9 @@ for Go.")
RFC 5321.")
(license license:expat)))
-(define-public go-github-com-emicklei-go-restful
+(define-public go-github-com-emicklei-go-restful-v3
(package
- (name "go-github-com-emicklei-go-restful")
+ (name "go-github-com-emicklei-go-restful-v3")
(version "3.4.0")
(source
(origin
@@ -1519,12 +2170,20 @@ RFC 5321.")
(base32 "0m1y5a6xr6hmdj77afrvyh2llkbhn1166lcrgis654shl8zs9qhz"))))
(build-system go-build-system)
(arguments
- '(#:import-path "github.com/emicklei/go-restful"))
+ (list
+ #:import-path "github.com/emicklei/go-restful"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file-recursively "examples")))))))
(home-page "https://github.com/emicklei/go-restful")
(synopsis "Build REST-style web services using Go")
- (description "This package provides @code{go-restful}, which helps
-developers to use @code{http} methods explicitly and in a way that's
-consistent with the HTTP protocol definition.")
+ (description
+ "This package provides @code{go-restful}, which helps developers to use
+@code{http} methods explicitly and in a way that's consistent with the HTTP
+protocol definition.")
(license license:expat)))
(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
application's http.Handlers.")
(license license:expat)))
-;; This project looks like domain or abandoned, see
+;; This project looks like dormant or abandoned, see
;; <https://github.com/francoispqt/gojay/issues/150>.
(define-public go-github-com-francoispqt-gojay
(package
@@ -1601,9 +2260,25 @@ application's http.Handlers.")
;; <https://github.com/francoispqt/gojay/issues/173>.
#:tests? (and (not (%current-target-system))
(target-x86-64?))
- #:import-path "github.com/francoispqt/gojay"))
+ #:import-path "github.com/francoispqt/gojay"
+ #:test-flags
+ #~(list "-skip" (string-join
+ (list "TestMessage_Unmarshal"
+ "TestMessage_Marshal"
+ "TestGenerator_Generate")
+ "|"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples-and-benchmarks
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (for-each delete-file-recursively
+ (list "benchmarks" "examples"))))))))
(native-inputs
- (list go-github-com-stretchr-testify))
+ (list go-github-com-go-errors-errors ; for CLI build
+ go-github-com-stretchr-testify
+ go-github-com-viant-assertly ; for CLI build
+ go-github-com-viant-toolbox)) ; for CLI build
(home-page "https://github.com/francoispqt/gojay")
(synopsis "JSON encoder/decoder with powerful stream API for Golang")
(description
@@ -1612,6 +2287,30 @@ API and doesn't use reflection. It relies on small interfaces to
decode/encode structures and slices.")
(license license:expat)))
+(define-public go-github-com-gaissmai-bart
+ (package
+ (name "go-github-com-gaissmai-bart")
+ (version "0.11.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gaissmai/bart")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1rnbmykmkl0c1fzz4vkv7q72l7hl2xpmalbm41f4lifdjscx5nk7"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/gaissmai/bart"))
+ (propagated-inputs
+ (list go-github-com-bits-and-blooms-bitset))
+ (home-page "https://github.com/gaissmai/bart")
+ (synopsis "Balanced Routing Table in Golang")
+ (description "This package provides a Balanced-Routing-Table (BART).")
+ (license license:expat)))
+
(define-public go-github-com-gatherstars-com-jwz
(package
(name "go-github-com-gatherstars-com-jwz")
@@ -1641,6 +2340,51 @@ algorithm originally designed for use in
Golang.")
(license license:asl2.0)))
+(define-public go-github-com-getkin-kin-openapi
+ (package
+ (name "go-github-com-getkin-kin-openapi")
+ (version "0.128.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/getkin/kin-openapi")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "162hxwqywpbmfybyj1m0s4a0nxx0qldx90k49d2mf52xps1jp5p2"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/getkin/kin-openapi"
+ #:test-flags
+ ;; They try to access network.
+ #~(list "-skip" "TestIssue495WithDraft04|TestExtraSiblingsInRemoteRef")
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'build)))) ; no go files in project's root
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-go-openapi-jsonpointer
+ go-github-com-gorilla-mux
+ go-github-com-invopop-yaml
+ go-github-com-mohae-deepcopy
+ go-github-com-perimeterx-marshmallow
+ go-gopkg-in-yaml-v3))
+ (home-page "https://github.com/getkin/kin-openapi")
+ (synopsis "OpenAPI 3.0 and Swagger v2 implementation for Golang")
+ (description
+ "This package implements a functionality for parsing, converting and
+validating
+@url{https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md,
+OpenAPI v2.0},
+@url{https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md,
+OpenAPI v3.0} and
+@url{https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md,
+OpenAPI v3.1}.")
+ (license license:expat)))
+
;; TODO: This repository has been archived by the owner on Aug 30, 2023. It is
;; now read-only. The raven-go SDK is no longer maintained and was superseded
;; by the sentry-go
@@ -1670,6 +2414,83 @@ Golang.")
logging system.")
(license license:bsd-3))))
+(define-public go-github-com-gin-contrib-sse
+ (package
+ (name "go-github-com-gin-contrib-sse")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gin-contrib/sse")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "072nq91a65n5xvwslqjyvydfd0mfpnvb3vwjyfvmzm1ym96wr1nd"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/gin-contrib/sse"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/gin-contrib/sse")
+ (synopsis "Server-Sent Events implementation in Golang")
+ (description
+ "@acronym{Server-sent events, SSE} is a technology where a browser
+receives automatic updates from a server via HTTP connection. The SSE
+@code{EventSource} API is
+@url{http://www.w3.org/TR/2009/WD-eventsource-20091029/,standardized as part
+of HTML5[1] by the W3C}.")
+ (license license:expat)))
+
+(define-public go-github-com-gin-gonic-gin
+ (package
+ (name "go-github-com-gin-gonic-gin")
+ (version "1.10.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gin-gonic/gin")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01xjvw2d46b77jnszgbwqbdzh9jx7y3h5ik3q30y9dn9gaq5mhks"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/gin-gonic/gin"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-bytedance-sonic
+ go-github-com-gin-contrib-sse
+ go-github-com-go-playground-validator-v10
+ go-github-com-goccy-go-json
+ go-github-com-json-iterator-go
+ go-github-com-mattn-go-isatty
+ go-github-com-pelletier-go-toml-v2
+ go-github-com-ugorji-go-codec
+ go-golang-org-x-net
+ go-google-golang-org-protobuf
+ go-gopkg-in-yaml-v3))
+ (home-page "https://github.com/gin-gonic/gin")
+ (synopsis "HTTP web framework")
+ (description
+ "This package provides a Golang web framework wit martini-like API.
+
+Features:
+@itemize
+@item zero allocation router
+@item middleware support
+@item crash-free
+@item JSON validation
+@item routes grouping
+@item error management
+@item rendering built-in
+@item extendable
+@end itemize")
+ (license license:expat)))
+
(define-public go-github-com-go-chi-chi-v5
(package
(name "go-github-com-go-chi-chi-v5")
@@ -1693,6 +2514,31 @@ logging system.")
decompose request handling into many smaller layers.")
(license license:expat)))
+(define-public go-github-com-go-http-utils-headers
+ (package
+ (name "go-github-com-go-http-utils-headers")
+ (version "0.0.0-20181008091004-fed159eddc2a")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-http-utils/headers")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "19h2sffi04hr56qxkag2baa17v91x4vp1a1zkm9rqr846xqwspvm"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/go-http-utils/headers"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/go-http-utils/headers")
+ (synopsis "HTTP header constants for Golang")
+ (description
+ "This package provides HTTP header constants.")
+ (license license:expat)))
+
(define-public go-github-com-go-jose-go-jose-v3
(package
(name "go-github-com-go-jose-go-jose-v3")
@@ -1705,15 +2551,23 @@ decompose request handling into many smaller layers.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0kbkplhzqv9ai28r4smhdsxxwh20d96srr3am37pwwnh48ivwch8"))))
+ (base32 "0kbkplhzqv9ai28r4smhdsxxwh20d96srr3am37pwwnh48ivwch8"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separatly:
+ ;;
+ ;; - github.com/go-jose/go-jose/jose-util
+ (delete-file-recursively "jose-util")))))
(build-system go-build-system)
(arguments
- '( #:import-path "github.com/go-jose/go-jose/v3"))
- (propagated-inputs
- (list go-golang-org-x-crypto))
+ (list
+ #:import-path "github.com/go-jose/go-jose/v3"))
(native-inputs
(list go-github-com-google-go-cmp
go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-golang-org-x-crypto))
(home-page "https://github.com/go-jose/go-jose")
(synopsis "Implementation of JOSE standards (JWE, JWS, JWT) in Go")
(description
@@ -1740,10 +2594,10 @@ Encryption, JSON Web Signature, and JSON Web Token standards.")
(list
#:import-path "github.com/go-jose/go-jose/v4"))))
-(define-public go-github-com-go-ldap-ldap
+(define-public go-github-com-go-ldap-ldap-v3
(package
- (name "go-github-com-go-ldap-ldap")
- (version "3.4.8")
+ (name "go-github-com-go-ldap-ldap-v3")
+ (version "3.4.9")
(source
(origin
(method git-fetch)
@@ -1752,26 +2606,35 @@ Encryption, JSON Web Signature, and JSON Web Token standards.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0fbmhlc8ss5vn6zz0iiifvy4pm0mwaf13qpz70k83mmnv9vrv16x"))))
+ (base32 "0qcm4piyk7l5n3kplcism0y7zp40xcfmjl04hw1s276qqf7vi6hg"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/go-ldap/ldap/v3"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'remove-failing-tests
- (lambda* (#:key import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (for-each delete-file
- ;; FAIL <...> LDAP Result Code 200 "Network Error":
- ;; dial tcp: lookup ldap.itd.umich.edu on <...>
- (list "ldap_test.go"))))))))
+ #:test-flags
+ #~(list "-skip" (string-join
+ (list "TestCompare"
+ "TestExtendedRequest_WhoAmI"
+ "TestExtendedRequest_FastBind"
+ "TestMatchDNError"
+ "TestMultiGoroutineSearch"
+ "TestSearch"
+ "TestSearchAsync"
+ "TestSearchAsyncAndCancel"
+ "TestSearchStartTLS"
+ "TestSearchWithPaging"
+ "TestSecureDialURL"
+ "TestStartTLS"
+ "TestTLSConnectionState"
+ "TestUnsecureDialURL")
+ "|"))))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-azure-go-ntlmssp
go-github-com-go-asn1-ber-asn1-ber
- go-github-com-google-uuid))
+ go-github-com-google-uuid
+ go-github-com-jcmturner-gokrb5-v8))
(home-page "https://github.com/go-ldap/ldap")
(synopsis "LDAP v3 functionality for Go")
(description "This package provides basic LDAP v3 functionality in the Go
@@ -2236,6 +3099,58 @@ from CloudFlare's github.com/cloudflare/cfssl/revoke.")
;; For the WebAuthn's fork: LICENSE.
license:bsd-3))))
+(define-public go-github-com-gobwas-httphead
+ (package
+ (name "go-github-com-gobwas-httphead")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gobwas/httphead")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "106l8ml5yihld3rrf45q5fhlsx64hrpj2dsvnnm62av4ya5nf0gb"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/gobwas/httphead"))
+ (home-page "https://github.com/gobwas/httphead")
+ (synopsis "Tiny HTTP header value parsing library in Golang")
+ (description
+ "Package httphead contains utils for parsing HTTP and HTTP-grammar
+compatible text protocols headers.")
+ (license license:expat)))
+
+(define-public go-github-com-gobwas-ws
+ (package
+ (name "go-github-com-gobwas-ws")
+ (version "1.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gobwas/ws")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1nqgb75cizx11igwjqx6b6mlzl7yxy6x683m9aaalgcx9n1qxan7"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/gobwas/ws"))
+ (propagated-inputs
+ (list go-github-com-gobwas-httphead
+ go-github-com-gobwas-pool))
+ (home-page "https://github.com/gobwas/ws")
+ (synopsis "Tiny WebSocket library for Golang")
+ (description
+ "Package ws implements a client and server for the @code{WebSocket}
+protocol as specified in @url{https://rfc-editor.org/rfc/rfc6455.html, RFC
+6455}.")
+ (license license:expat)))
+
(define-public go-github-com-goccy-go-json
(package
(name "go-github-com-goccy-go-json")
@@ -2260,6 +3175,95 @@ from CloudFlare's github.com/cloudflare/cfssl/revoke.")
"Fast JSON encoder/decoder compatible with encoding/json for Go.")
(license license:expat)))
+(define-public go-github-com-gofiber-fiber-v2
+ (package
+ (name "go-github-com-gofiber-fiber-v2")
+ (version "2.52.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gofiber/fiber")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "12gr7a38dd02p7b9fimrk16ybxfp93krh7wah0jzc0v6syjmzfi0"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/gofiber/fiber/v2"
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ (list "Test_Proxy_DoRedirects_TooManyRedirects"
+ "Test_Proxy_Do_WithRealURL"
+ "Test_Proxy_DoRedirects_RestoreOriginalURL"
+ "Test_Proxy_Do_WithRedirect")
+ "|"))))
+ (propagated-inputs
+ (list go-github-com-google-uuid
+ go-github-com-mattn-go-colorable
+ go-github-com-mattn-go-isatty
+ go-github-com-mattn-go-runewidth
+ go-github-com-tinylib-msgp
+ go-github-com-valyala-bytebufferpool
+ go-github-com-valyala-fasthttp
+ go-golang-org-x-sys))
+ (home-page "https://github.com/gofiber/fiber")
+ (synopsis "Express inspired web framework written in Golang")
+ (description
+ "Package fiber is an @code{https://github.com/expressjs/express, Express}
+inspired web framework built on top of Fasthttp, the fastest HTTP engine for
+Go. Designed to ease things up for fast development with zero memory
+allocation and performance in mind.")
+ (license license:expat)))
+
+(define-public go-github-com-gogo-protobuf
+ (package
+ (name "go-github-com-gogo-protobuf")
+ (version "1.3.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gogo/protobuf")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0dfv1bhx5zhb5bsj5sj757nkacf2swp1ajpcyj9d0b37n602m18a"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/gogo/protobuf"
+ ;; protoc: exec: "protoc-min-version": executable file not found in $PATH
+ ;; err = exec: "protoc": executable file not found in $PATH:
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ (list "TestDashFilename"
+ "TestEmbedMarshaler"
+ "TestGolden"
+ "TestParameters"
+ "TestPopulateWarning"
+ "TestRepeatedEmbed"
+ "TestStdTypesGoString"
+ "TestTakesTooLongToDebug")
+ "|"))))
+ (home-page "https://github.com/gogo/protobuf")
+ (synopsis "Protocol Buffers for Go with Gadgets")
+ (description "Gogoprotobuf is a fork of golang/protobuf with extra code
+generation features. This code generation is used to achieve:
+@itemize
+@item fast marshalling and unmarshalling
+@item more canonical Go structures
+@item goprotobuf compatibility
+@item less typing by optionally generating extra helper code
+@item peace of mind by optionally generating test and benchmark code
+@item other serialization formats
+@end itemize")
+ (license license:bsd-3)))
+
(define-public go-github-com-golang-groupcache
(package
(name "go-github-com-golang-groupcache")
@@ -2287,10 +3291,10 @@ replacement for memcached in many cases. It provides a data loading mechanism
with caching and de-duplication that works across a set of peer processes.")
(license license:asl2.0)))
-(define-public go-github-com-google-go-github
+(define-public go-github-com-google-go-github-v31
(package
- (name "go-github-com-google-go-github")
- (version "26.1.3")
+ (name "go-github-com-google-go-github-v31")
+ (version "31.0.0")
(source
(origin
(method git-fetch)
@@ -2299,12 +3303,30 @@ with caching and de-duplication that works across a set of peer processes.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0x0zz1vcmllp6r6l2qin9b2llm5cxbf6n84rf99h8wrmhvzs2ipi"))))
+ (base32 "0bcybmr341hnp8k630pi4dcgia7561yzqc874l4c3nl4bc9rkh5j"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separately:
+ ;;
+ ;; - github.com/google/go-github/scrape
+ ;; - github.com/google/go-github/update-urls
+ (delete-file-recursively "scrape")
+ (delete-file-recursively "update-urls")))))
(build-system go-build-system)
(arguments
- `(#:tests? #f ;application/octet-stream instead of text/plain
- #:import-path "github.com/google/go-github/v26/github"
- #:unpack-path "github.com/google/go-github/v26"))
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/google/go-github/v31"
+ ;; repos_releases_test.go:449: Header.Get("Content-Type") returned
+ ;; "application/octet-stream", want "text/plain; charset=utf-8"
+ #:test-flags #~(list "-skip" "TestRepositoriesService_UploadReleaseAsset")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file-recursively "example")))))))
(propagated-inputs
(list go-github-com-google-go-querystring
go-golang-org-x-crypto
@@ -2319,7 +3341,7 @@ GitHub API v3.")
;; For chezmoi-1.8.10
(define-public go-github-com-google-go-github-v33
(package
- (inherit go-github-com-google-go-github)
+ (inherit go-github-com-google-go-github-v31)
(name "go-github-com-google-go-github-v33")
(version "33.0.0")
(source
@@ -2330,14 +3352,52 @@ GitHub API v3.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1nzwgvaa9k1ky3sfynib6nhalam9dx66h5lxff334m9kk3rf5nn0"))))
+ (base32 "1nzwgvaa9k1ky3sfynib6nhalam9dx66h5lxff334m9kk3rf5nn0"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separately:
+ ;;
+ ;; - github.com/google/go-github/scrape
+ (delete-file-recursively "scrape")
+ (delete-file-recursively "update-urls")))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-google-go-github-v31)
+ ((#:import-path _) "github.com/google/go-github/v33")))))
+
+(define-public go-github-com-google-go-github-v50
+ (package
+ (inherit go-github-com-google-go-github-v31)
+ (name "go-github-com-google-go-github-v50")
+ (version "50.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/go-github")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11qzikm988zfzs6g70lbdjfhw7kdndagahg0q2bkn2ibq2c47xxp"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separately:
+ ;;
+ ;; - github.com/google/go-github/scrape
+ (delete-file-recursively "scrape")
+ (delete-file-recursively "update-urls")))))
(arguments
(substitute-keyword-arguments
- (package-arguments go-github-com-google-go-github)
- ((#:unpack-path _ "github.com/google/go-github/v26")
- "github.com/google/go-github/v33")
- ((#:import-path _ "github.com/google/go-github/v26/github")
- "github.com/google/go-github/v33/github")))))
+ (package-arguments go-github-com-google-go-github-v31)
+ ((#:import-path _) "github.com/google/go-github/v50")))
+ (native-inputs
+ (list go-github-com-google-go-cmp))
+ (propagated-inputs
+ (list go-github-com-google-go-querystring
+ go-github-com-protonmail-go-crypto
+ go-golang-org-x-oauth2))))
(define-public go-github-com-google-go-querystring
(package
@@ -2381,7 +3441,15 @@ parameters.")
(base32 "048qwm2n0wrpql4qqgd7jyynn3gk069yvqbxnshlayzmbhf87ls4"))))
(build-system go-build-system)
(arguments
- (list #:import-path "github.com/google/gopacket"))
+ (list
+ #:import-path "github.com/google/gopacket"
+ ;; XXX: pfring/pfring.go:14:10: fatal error: pfring.h: No such file or
+ ;; directory. Check how to fix all tests.
+ #:test-subdirs #~(list ".")))
+ (propagated-inputs
+ (list go-github-com-vishvananda-netlink
+ go-golang-org-x-net
+ go-golang-org-x-sys))
(home-page "https://github.com/google/gopacket")
(synopsis "Packet processing capabilities library")
(description
@@ -2537,6 +3605,30 @@ web applications.")
incoming requests with their respective handler.")
(license license:bsd-3)))
+(define-public go-github-com-gorilla-schema
+ (package
+ (name "go-github-com-gorilla-schema")
+ (version "1.4.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gorilla/schema")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16gk174mybvz0gg2w1wmpc96jhhi94i1vvclyzr3qkv7s6gadifn"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/gorilla/schema"))
+ (home-page "https://github.com/gorilla/schema")
+ (synopsis "Fills a struct with form values")
+ (description
+ "This package implements a functionality to fills a struct with form
+values.")
+ (license license:bsd-3)))
+
(define-public go-github-com-gorilla-securecookie
(package
(name "go-github-com-gorilla-securecookie")
@@ -2590,7 +3682,7 @@ sessions, flash messages, custom backends, and more.")
(define-public go-github-com-gorilla-websocket
(package
(name "go-github-com-gorilla-websocket")
- (version "1.5.0")
+ (version "1.5.3")
(home-page "https://github.com/gorilla/websocket")
(source
(origin
@@ -2600,7 +3692,7 @@ sessions, flash messages, custom backends, and more.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1xrr6snvs9g1nzxxg05w4i4pq6k1xjljl5mvavd838qc468n118i"))))
+ (base32 "1k84plbz6bxarbdrdcsrm9vhiy971prpvfnkcpsfv2q4ac80ccmx"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/gorilla/websocket"))
@@ -2610,32 +3702,35 @@ protocol.")
(license license:bsd-2)))
(define-public go-github-com-gregjones-httpcache
- (let ((commit "901d90724c7919163f472a9812253fb26761123d")
- (revision "0"))
- (package
- (name "go-github-com-gregjones-httpcache")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gregjones/httpcache")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "05r0xq51vfb55di11m7iv19341d73f7in33vq1ihcqs1nffdwiq0"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/gregjones/httpcache"))
- (home-page "https://github.com/gregjones/httpcache")
- (synopsis "Transport for @code{http.Client} that will cache responses")
- (description
- "Package @code{httpcache} provides a @code{http.RoundTripper}
-implementation that works as a mostly @url{https://tools.ietf.org/html/rfc7234, RFC 7234}
-compliant cache for HTTP responses. It is only suitable for use as a
-\"private\" cache (i.e. for a web-browser or an API-client and not for a
-shared proxy).")
- (license license:expat))))
+ (package
+ (name "go-github-com-gregjones-httpcache")
+ (version "0.0.0-20190611155906-901d90724c79")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gregjones/httpcache")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05r0xq51vfb55di11m7iv19341d73f7in33vq1ihcqs1nffdwiq0"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/gregjones/httpcache"))
+ (propagated-inputs
+ (list go-github-com-peterbourgon-diskv
+ go-github-com-syndtr-goleveldb
+ go-github-com-bradfitz-gomemcache
+ go-github-com-gomodule-redigo))
+ (home-page "https://github.com/gregjones/httpcache")
+ (synopsis "Transport for @code{http.Client} that will cache responses")
+ (description
+ "Package @code{httpcache} provides a @code{http.RoundTripper}
+implementation that works as a mostly
+@url{https://tools.ietf.org/html/rfc7234, RFC 7234} compliant cache for HTTP
+responses. It is only suitable for use as a \"private\" cache (i.e. for a
+web-browser or an API-client and not for a shared proxy).")
+ (license license:expat)))
(define-public go-github-com-hashicorp-go-cleanhttp
(package
@@ -2695,6 +3790,122 @@ standard @code{net/http} client library and exposes nearly the same public
API.")
(license license:mpl2.0)))
+(define-public go-github-com-hashicorp-go-sockaddr
+ (package
+ (name "go-github-com-hashicorp-go-sockaddr")
+ (version "1.0.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/go-sockaddr")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ajcffaqxrbqyg00b04a1ia7np0180x7z5q3bcxqxm0smqqag54z"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (delete-file-recursively "cmd/sockaddr/vendor")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/go-sockaddr"
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ ;; Tests require network set-up or fail randomly.
+ (list "TestGetDefaultInterface"
+ "TestGetDefaultInterfaces"
+ "TestGetIfAddrs"
+ "TestGetPrivateIP"
+ "TestGetPrivateIPs"
+ "TestGetPrivateInterfaces"
+ "TestSockAddr_IPAddrs_IPAddrsByNetworkSize/0"
+ "TestSockAddr_Parse")
+ "|"))))
+ (propagated-inputs
+ (list go-github-com-hashicorp-errwrap
+ go-github-com-mitchellh-cli
+ go-github-com-mitchellh-go-wordwrap
+ go-github-com-ryanuber-columnize))
+ (home-page "https://github.com/hashicorp/go-sockaddr")
+ (synopsis "IP Address/UNIX Socket convenience functions for Golang")
+ (description
+ "This package provides an implementation of the UNIX socket family data
+types and related helper functions.")
+ (license license:mpl2.0)))
+
+(define-public go-github-com-hashicorp-yamux
+ (package
+ (name "go-github-com-hashicorp-yamux")
+ (version "0.1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/yamux")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1c46zdj94lv28sb9rmhinzcckl72vs3gwm197nsa80ca3b161yi6"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/yamux"))
+ (home-page "https://github.com/hashicorp/yamux")
+ (synopsis "Golang connection multiplexing library")
+ (description
+ "Yamux (Yet another Multiplexer) relies on an underlying connection to
+provide reliability and ordering, such as TCP or Unix domain sockets, and
+provides stream-oriented multiplexing. It is inspired by SPDY but is not
+interoperable with it.
+
+Features:
+@itemize
+@item streams can be opened by either client or server
+@item useful for nat traversal
+@item server-side push support
+@item avoid starvation
+@item back-pressure to prevent overwhelming a receiver
+@item enables persistent connections over a load balancer
+@item enables thousands of logical streams with low overhead
+@end itemize")
+ (license license:mpl2.0)))
+
+(define-public go-github-com-hetznercloud-hcloud-go-v2
+ (package
+ (name "go-github-com-hetznercloud-hcloud-go-v2")
+ (version "2.17.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hetznercloud/hcloud-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rmrp100clcymz6j741dpvx217d6ljnfqn9qfndlmy9rwi64ih8h"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/hetznercloud/hcloud-go/v2"))
+ (native-inputs
+ (list go-github-com-google-go-cmp
+ go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-jmattheis-goverter
+ go-github-com-prometheus-client-golang
+ go-github-com-vburenin-ifacemaker
+ go-golang-org-x-crypto
+ go-golang-org-x-net))
+ (home-page "https://github.com/hetznercloud/hcloud-go")
+ (synopsis "Golang library for the Hetzner Cloud API")
+ (description
+ "This package provides a library for the Hetzner Cloud API.")
+ (license license:expat)))
+
(define-public go-github-com-hjson-hjson-go-v4
(package
(name "go-github-com-hjson-hjson-go-v4")
@@ -2917,7 +4128,7 @@ authenticated identities and their attributes.")
(define-public go-github-com-jcmturner-gokrb5-v8
(package
(name "go-github-com-jcmturner-gokrb5-v8")
- (version "8.4.2")
+ (version "8.4.4")
(source
(origin
(method git-fetch)
@@ -2926,7 +4137,7 @@ authenticated identities and their attributes.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0w9d1pa3r6qmdblk25bghf78ncs03l15l1sxnh4n536c356rzq4b"))))
+ (base32 "1rv495j8j2x6avw5hqpf7rpiakr5gdsx6pv8rfn0ff7vi35zfa62"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/jcmturner/gokrb5/v8"
@@ -2940,10 +4151,8 @@ authenticated identities and their attributes.")
go-github-com-jcmturner-dnsutils-v2
go-github-com-jcmturner-gofork
go-github-com-jcmturner-goidentity-v6
- go-github-com-jcmturner-rpc-v2-mstypes
- go-github-com-jcmturner-rpc-v2-ndr
- go-golang-org-x-crypto
- go-golang-org-x-net))
+ go-github-com-jcmturner-rpc-v2
+ go-golang-org-x-crypto))
(home-page "https://github.com/jcmturner/gokrb5")
(synopsis "Pure Go Kerberos library for clients and services")
(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
Microsoft AD PAC authorization data.")
(license license:asl2.0)))
+(define-public go-github-com-jcmturner-rpc
+ (package
+ (name "go-github-com-jcmturner-rpc")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jcmturner/rpc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hkmvf8qdcifnzym8kv1xhq7lq0wpr0i6gzff159lh9xn0wfg175"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "gopkg.in/jcmturner/rpc.v1"
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'build)))) ; no go files in project's root
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/jcmturner/rpc")
+ (synopsis "Remote Procedure Call libraries")
+ (description
+ "This package provides a partial Go implementation of the Remote Call
+Procedure libraries, presented in
+@@url{http://pubs.opengroup.org/onlinepubs/9629399/,CDE 1.1: Remote Procedure
+Call}.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-jcmturner-rpc-v2
+ (package
+ (inherit go-github-com-jcmturner-rpc)
+ (name "go-github-com-jcmturner-rpc-v2")
+ (version "2.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jcmturner/rpc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1nm4j2nwcszghldw39rwdx2hr56i1lybfpv33y4gd67w6qcqbpsi"))))
+ (arguments
+ (list
+ #:import-path "github.com/jcmturner/rpc/v2"
+ #:unpack-path "github.com/jcmturner/rpc"
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'build)))) ; no go files in project's root
+ (propagated-inputs
+ (list go-golang-org-x-net))))
+
(define-public go-github-com-jhillyerd-enmime
(package
(name "go-github-com-jhillyerd-enmime")
@@ -3115,7 +4379,11 @@ controlled. It is based on netlink messages.")
(base32 "1c8f0hxm18wivx31bs615x3vxs2j3ba0v6vxchsjhldc8kl311bz"))))
(build-system go-build-system)
(arguments
- (list #:import-path "github.com/json-iterator/go"))
+ (list
+ #:import-path "github.com/json-iterator/go"
+ #:test-flags
+ ;; XXX: Try to skip just "Test_symmetric/map[test.stringKeyType]string".
+ #~(list "-skip" "Test_symmetric")))
(native-inputs
(list go-github-com-davecgh-go-spew
go-github-com-google-gofuzz
@@ -3157,6 +4425,32 @@ jsoniter and variable type declarations (if any). jsoniter interfaces gives
router.")
(license license:bsd-3)))
+(define-public go-github-com-kolo-xmlrpc
+ (package
+ (name "go-github-com-kolo-xmlrpc")
+ (version "0.0.0-20220921171641-a4b6fa1dd06b")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kolo/xmlrpc")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0nhcnqycdc52k4ymdd4g2chcimsnvr86m0yx13ws91qxs5pgs9d2"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/kolo/xmlrpc"))
+ (propagated-inputs
+ (list go-golang-org-x-text))
+ (home-page "https://github.com/kolo/xmlrpc")
+ (synopsis "Implementation of XMLRPC protocol in Golang")
+ (description
+ "This package provides an implementation of client side part of XMLRPC
+protocol in Go language.")
+ (license license:expat)))
+
(define-public go-github-com-koron-go-ssdp
(package
(name "go-github-com-koron-go-ssdp")
@@ -3174,28 +4468,19 @@ router.")
(arguments
(list
#:import-path "github.com/koron/go-ssdp"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'disable-failing-tests
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (substitute* (find-files "." "\\_test.go$")
- ;; Test requiring network setup.
- (("TestAdvertise_Alive") "OffTestAdvertise_Alive")
- (("TestAdvertise_Bye") "OffTestAdvertise_Bye")
- (("TestAnnounceAlive") "OffTestAnnounceAlive")
- (("TestAnnounceBye") "OffTestAnnounceBye")
- (("TestInterfaces") "OffTestInterfaces")
- (("TestSearch_Request") "OffTestSearch_Request")
- (("TestSearch_Response") "OffTestSearch_Response")
- (("TestSearch_ServiceRawHeader") "OffTestSearch_ServiceRawHeader")))))
- ;; XXX: Run all tests, workaround for go-build-system's lack of Go
- ;; modules support.
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./..."))))))))
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ ;; Tests requiring network setup.
+ (list "TestAdvertise_Alive"
+ "TestAdvertise_Bye"
+ "TestAnnounceAlive"
+ "TestAnnounceBye"
+ "TestInterfaces"
+ "TestSearch_Request"
+ "TestSearch_Response"
+ "TestSearch_ServiceRawHeader")
+ "|"))))
(propagated-inputs
(list go-golang-org-x-net))
(home-page "https://github.com/koron/go-ssdp")
@@ -3205,6 +4490,134 @@ router.")
@acronym{Simple Service Discovery Protocol, SSDP}} library for Golang.")
(license license:expat)))
+(define-public go-github-com-kortschak-wol
+ (package
+ (name "go-github-com-kortschak-wol")
+ (version "0.0.0-20200729010619-da482cc4850a")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kortschak/wol")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16qyy1c1q5cxcnwdzl69v49pjmyxha4i88fsg0g83gwdyapzsyln"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/kortschak/wol"))
+ (home-page "https://github.com/kortschak/wol")
+ (synopsis "Wake On LAN client")
+ (description
+ "Package wol provides a Wake On LAN function.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-labbsr0x-goh
+ (package
+ (name "go-github-com-labbsr0x-goh")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/labbsr0x/goh")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "06yrd6ih6r0rkxyn88b66gfarjxsqmi3wzi8cgsxskq7mbah0iyp"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/labbsr0x/goh"))
+ (propagated-inputs
+ (list go-github-com-go-cmd-cmd
+ go-github-com-go-errors-errors
+ go-github-com-sirupsen-logrus))
+ (home-page "https://github.com/labbsr0x/goh")
+ (synopsis "Utility library for writing web hooks")
+ (description
+ "This package provides an utility library for writing extremely simple
+webhooks in Golang.")
+ (license license:expat)))
+
+(define-public go-github-com-labstack-echo-v4
+ (package
+ (name "go-github-com-labstack-echo-v4")
+ (version "4.13.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/labstack/echo")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1i4w36f1k17bykc24dzr2ng5zpsyysfg5bzfvlbrphxxzhsngxdy"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/labstack/echo/v4"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-labstack-gommon
+ go-github-com-valyala-fasttemplate
+ go-golang-org-x-crypto
+ go-golang-org-x-net
+ go-golang-org-x-time))
+ (home-page "https://echo.labstack.com/")
+ (synopsis "High performance, minimalist Go web framework")
+ (description
+ "Package echo implements a high performance, minimalist Go web framework.
+Features:
+@itemize
+@item optimized HTTP router which smartly prioritize routes
+@item build robust and scalable RESTful APIs
+@item group APIs
+@item extensible middleware framework
+@item define middleware at root, group or route level
+@item data binding for JSON, XML and form payload
+@item handy functions to send variety of HTTP responses
+@item centralized HTTP error handling
+@item template rendering with any template engine
+@item define your format for the logger
+@item highly customizable
+@item automatic TLS via Let’s Encrypt
+@item HTTP/2 support
+@end itemize")
+ (license license:expat)))
+
+(define-public go-github-com-levigross-grequests
+ (package
+ (name "go-github-com-levigross-grequests")
+ (version "0.0.0-20231203190023-9c307ef1f48d")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/levigross/grequests")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "13r24vrcgfkps8r09crjlhsywpxs8bnnmlgn5qhbhqiqag754xdc"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f ; most of them need network access
+ #:embed-files #~(list "children" "nodes" "text")
+ #:import-path "github.com/levigross/grequests"))
+ (propagated-inputs
+ (list go-github-com-google-go-querystring
+ go-golang-org-x-net))
+ (home-page "https://github.com/levigross/grequests")
+ (synopsis "Requests library for Golang")
+ (description
+ "Package grequests implements a friendly API over Go's existing
+@code{net/http} library.")
+ (license license:asl2.0)))
+
(define-public go-github-com-libdns-libdns
(package
(name "go-github-com-libdns-libdns")
@@ -3557,10 +4970,36 @@ It is inspired by SPDY but is not interoperable with it.")
intends to be compatible with Avahi.")
(license license:expat)))
+(define-public go-github-com-macronut-go-tproxy
+ (package
+ (name "go-github-com-macronut-go-tproxy")
+ (version "0.0.0-20190726054950-ef7efd7f24ed")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/FutureProtocolLab/go-tproxy")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0jibsg0xhsn0h1jq4g9qd4nr58w43y8majlwfri9ffk2cbfrwqdr"))
+ (modules '((guix build utils)))
+ (snippet '(delete-file-recursively "example"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/macronut/go-tproxy"))
+ (home-page "https://github.com/FutureProtocolLab/go-tproxy")
+ (synopsis "Linux Transparent Proxy library")
+ (description
+ "Golang TProxy provides an easy to use wrapper for the Linux Transparent
+Proxy functionality.")
+ (license license:expat)))
+
(define-public go-github-com-mailru-easyjson
(package
(name "go-github-com-mailru-easyjson")
- (version "0.7.7")
+ (version "0.9.0")
(source
(origin
(method git-fetch)
@@ -3569,11 +5008,19 @@ intends to be compatible with Avahi.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0clifkvvy8f45rv3cdyv58dglzagyvfcqb63wl6rij30c5j2pzc1"))))
+ (base32 "00if9lpfy7bz853snqp7zgg76pn4mgpkk42h0riahcwk5v19jrcv"))))
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/mailru/easyjson"))
+ #:import-path "github.com/mailru/easyjson"
+ ;; XXX: All tests in "tests" directory fail, figure out why.
+ #:test-subdirs #~(list ".")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-benchmarks
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file-recursively "benchmark")))))))
(propagated-inputs
(list go-github-com-josharian-intern))
(home-page "https://github.com/mailru/easyjson")
@@ -3712,6 +5159,93 @@ supported by HTTP PATCH method, allowing for standards based partial updates
via REST APIs.")
(license license:asl2.0)))
+(define-public go-github-com-mattn-go-xmlrpc
+ (package
+ (name "go-github-com-mattn-go-xmlrpc")
+ (version "0.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mattn/go-xmlrpc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hv843qf8lzyn01mgk4lwwhirzpzpz33a1cz2ws998shhvq75dvg"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mattn/go-xmlrpc"))
+ (home-page "https://github.com/mattn/go-xmlrpc")
+ (synopsis "XML RPC interface for Golang")
+ (description
+ "This package implements XML RPC interface for Go programming
+language.")
+ (license license:expat)))
+
+(define-public go-github-com-mdlayher-ethtool
+ (package
+ (name "go-github-com-mdlayher-ethtool")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mdlayher/ethtool")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pwm4cg1yf364k0c4i0jrrvgn82k14b163xcvnm3bvpglfbcy2ks"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mdlayher/ethtool"))
+ (native-inputs
+ (list go-github-com-google-go-cmp))
+ (propagated-inputs
+ (list go-github-com-josharian-native
+ go-github-com-mdlayher-genetlink
+ go-github-com-mdlayher-netlink
+ go-golang-org-x-sys))
+ (home-page "https://github.com/mdlayher/ethtool")
+ (synopsis "Control of the Linux ethtool generic netlink interface")
+ (description
+ "Package ethtool allows control of the Linux ethtool generic netlink
+interface. as it's described in
+@url{https://www.kernel.org/doc/html/latest/networking/ethtool-netlink.html,
+ethtool-netlink}.")
+ (license license:expat)))
+
+(define-public go-github-com-mdlayher-genetlink
+ (package
+ (name "go-github-com-mdlayher-genetlink")
+ (version "1.3.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mdlayher/genetlink")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0vppn8071nh8pnbyq9769j1zcgq76iadd5fry90xkmfq429if356"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mdlayher/genetlink"))
+ (native-inputs
+ (list go-github-com-google-go-cmp))
+ (propagated-inputs
+ (list go-github-com-mdlayher-netlink
+ go-golang-org-x-net
+ go-golang-org-x-sys))
+ (home-page "https://github.com/mdlayher/genetlink")
+ (synopsis "Generic netlink interactions and data types")
+ (description
+ "Package genetlink implements generic netlink interactions and data
+types.")
+ (license license:expat)))
+
(define-public go-github-com-mdlayher-netlink
(package
(name "go-github-com-mdlayher-netlink")
@@ -3724,21 +5258,20 @@ via REST APIs.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1pxd0qn73jr9n64gkp2kd8q8x7xgssm3v8a68vkh88al55g8jkma"))))
+ (base32 "1pxd0qn73jr9n64gkp2kd8q8x7xgssm3v8a68vkh88al55g8jkma"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Cycles with go-github-com-jsimonetti-rtnetlink.
+ (delete-file-recursively "internal/integration")))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/mdlayher/netlink"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'disable-failing-tests
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (substitute* (find-files "." "_test\\.go$")
- ;; failed to start command "ip": exec: "ip": executable file
- ;; not found in $PATH
- (("TestIntegrationConnSetBuffersSyscallConn")
- "OffTestIntegrationConnSetBuffersSyscallConn"))))))))
+ #:test-flags
+ ;; Test fails to start command "ip": exec: "ip": executable file not
+ ;; found in $PATH
+ #~(list "-skip" "TestIntegrationConnSetBuffersSyscallConn")))
(propagated-inputs
(list go-github-com-google-go-cmp
go-github-com-josharian-native
@@ -3781,6 +5314,68 @@ integrates with Go's runtime network poller to provide asynchronous I/O and
deadline support.")
(license license:expat)))
+(define-public go-github-com-mdlayher-vsock
+ (package
+ (name "go-github-com-mdlayher-vsock")
+ (version "1.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mdlayher/vsock")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pnhxz9jz25469gnd5p9a8jl10w3affcjxlvzhlni2c434s3l6kx"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mdlayher/vsock"))
+ (native-inputs
+ (list go-github-com-google-go-cmp))
+ (propagated-inputs
+ (list go-github-com-mdlayher-socket
+ go-golang-org-x-net
+ go-golang-org-x-sync
+ go-golang-org-x-sys))
+ (home-page "https://github.com/mdlayher/vsock")
+ (synopsis "Access to Linux VM sockets for Golang")
+ (description
+ "Package vsock provides access to Linux VM sockets (AF_VSOCK) for
+communication between a hypervisor and its virtual machines.")
+ (license license:expat)))
+
+(define-public go-github-com-mdlayher-wifi
+ (package
+ (name "go-github-com-mdlayher-wifi")
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mdlayher/wifi")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "18h5n58gr3i4jbf7c4hfvx3w87bjjiaavcnpcl0j310bgrc6dnzi"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mdlayher/wifi"))
+ (native-inputs
+ (list go-github-com-google-go-cmp))
+ (propagated-inputs
+ (list go-github-com-mdlayher-genetlink
+ go-github-com-mdlayher-netlink
+ go-golang-org-x-crypto
+ go-golang-org-x-sys))
+ (home-page "https://github.com/mdlayher/wifi")
+ (synopsis "Access to IEEE 802.11 WiFi device actions")
+ (description
+ "Package wifi provides access to IEEE 802.11 @code{WiFi} device
+operations on Linux using nl80211.")
+ (license license:expat)))
+
(define-public go-github-com-mholt-acmez
(package
(name "go-github-com-mholt-acmez")
@@ -4154,6 +5749,35 @@ multistream-select protocol. The protocol is defined at
2616} HTTP/1.1 standard.")
(license license:bsd-3)))
+(define-public go-github-com-nrdcg-goinwx
+ (package
+ (name "go-github-com-nrdcg-goinwx")
+ (version "0.10.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nrdcg/goinwx")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ld3spdi7q8cf4hf0wnbl7gyw2k8n4wp03fqncjx2gw2nsjng684"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/nrdcg/goinwx"))
+ (propagated-inputs
+ (list
+ go-github-com-fatih-structs
+ go-github-com-kolo-xmlrpc
+ go-github-com-mitchellh-mapstructure))
+ (home-page "https://github.com/nrdcg/goinwx")
+ (synopsis "INWX Go API client")
+ (description
+ "This go library implements some parts of the official
+@url{https://www.inwx.com/en/help/apidoc, INWX XML-RPC API}.")
+ (license license:expat)))
+
(define-public go-github-com-nwidger-jsoncolor
(package
(name "go-github-com-nwidger-jsoncolor")
@@ -4180,6 +5804,32 @@ multistream-select protocol. The protocol is defined at
which produce colorized output using github.com/fatih/color.")
(license license:expat)))
+(define-public go-github-com-nytimes-gziphandler
+ (package
+ (name "go-github-com-nytimes-gziphandler")
+ (version "1.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nytimes/gziphandler")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rhrjlw220hnymzfccm0yir3pc9dpj7h3gwzhzq2cbsb3hhsqvyy"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/NYTimes/gziphandler"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/NYTimes/gziphandler")
+ (synopsis "Middleware to gzip HTTP responses")
+ (description
+ "This is a tiny Go package which wraps HTTP handlers to transparently
+gzip the response body, for clients which support it.")
+ (license license:asl2.0)))
+
(define-public go-github-com-opentracing-contrib-go-stdlib
(package
(name "go-github-com-opentracing-contrib-go-stdlib")
@@ -4343,6 +5993,37 @@ higher-level API for doing so.")
"Common enterprise features for the Go programming language.")
(license license:cc0)))
+(define-public go-github-com-perimeterx-marshmallow
+ (package
+ (name "go-github-com-perimeterx-marshmallow")
+ (version "1.1.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/PerimeterX/marshmallow")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0jxpjfyshcbrmj9qmj3sr21va6kw7hs55w2gaz9118jd861s6mbw"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/perimeterx/marshmallow"))
+ (native-inputs
+ (list go-github-com-go-test-deep))
+ (propagated-inputs
+ (list go-github-com-mailru-easyjson
+ go-github-com-ugorji-go-codec))
+ (home-page "https://github.com/perimeterx/marshmallow")
+ (synopsis "JSON unmarshalling in Golang")
+ (description
+ "This package provides a simple API to perform JSON unmarshalling.
+It supports unmarshalling of some known and some unknown fields with zero
+performance overhead. While unmarshalling, it allows fully retaining the
+original data and access it via a typed struct and a dynamic map.")
+ (license license:expat)))
+
(define-public go-github-com-pion-datachannel
(package
(name "go-github-com-pion-datachannel")
@@ -4849,6 +6530,28 @@ Protocol,SCTP} as specified in
go-golang-org-x-crypto
go-golang-org-x-net))))
+(define-public go-github-com-pion-stun-v3
+ (package
+ (inherit go-github-com-pion-stun-v2)
+ (name "go-github-com-pion-stun-v3")
+ (version "3.0.0")
+ (source
+ (origin
+ (inherit (package-source go-github-com-pion-stun))
+ (uri (git-reference
+ (url "https://github.com/pion/stun")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0yavl76y0fida9f1jfdmzdg7rm5jhp6kvdgn3smsf93jad1vbr2x"))))
+ (arguments
+ (list
+ #:import-path "github.com/pion/stun/v3"))
+ (propagated-inputs
+ (list go-github-com-pion-dtls-v3
+ go-github-com-pion-logging
+ go-github-com-pion-transport-v3))))
+
(define-public go-github-com-pion-transport
(package
(name "go-github-com-pion-transport")
@@ -4900,7 +6603,14 @@ throughout the @url{https://github.com/pion, Pion} modules.")
(base32 "0g5pg6mz61blprccxzysbwldkil84qgwp6404lsp4m9wh44312hf"))))
(arguments
(list
- #:import-path "github.com/pion/transport/v2"))
+ #:import-path "github.com/pion/transport/v2"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-module-paths
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (substitute* (find-files "." "\\.go$")
+ (("github.com/pion/transport/v3") import-path))))))))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
@@ -5144,7 +6854,7 @@ dependant.")
(define-public go-github-com-pkg-sftp
(package
(name "go-github-com-pkg-sftp")
- (version "1.13.6")
+ (version "1.13.7")
(source
(origin
(method git-fetch)
@@ -5153,7 +6863,7 @@ dependant.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0n35lzfrnrffjqy34ny6gxs27kq81s67ply6q8s1g19mhfzm6my7"))))
+ (base32 "0hhnsl327acwlmvp8wk4x1ml2mi6gdrdwm1dh9666n2cj9d8yj24"))))
(build-system go-build-system)
(arguments
(list
@@ -5210,7 +6920,11 @@ Caching.")
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/pquerna/ffjson"))
+ #:import-path "github.com/pquerna/ffjson"
+ #:test-subdirs #~(list "fflib/v1/...")))
+ (native-inputs
+ (list go-github-com-google-gofuzz
+ go-github-com-stretchr-testify))
(home-page "https://github.com/pquerna/ffjson")
(synopsis "Faster JSON for Golang")
(description
@@ -5351,26 +7065,24 @@ the Go standard library}.")
#:import-path "github.com/quic-go/quic-go"
#:phases
#~(modify-phases %standard-phases
- ;; TODO: Figure out why some tests fail.
- (add-after 'unpack 'remove-failing-tests
- (lambda* (#:key import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (for-each delete-file
- (list "integrationtests/self/timeout_test.go"
- "server_test.go")))))
;; Test steps are taken from GitHub Actions -
- ;; <https://github.com/quic-go/quic-go/blob/v0.42.0/.github/workflows/unit.yml>.
+ ;; <https://github.com/quic-go/quic-go/blob/v0.42.0/
+ ;; .github/workflows/unit.yml>.
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
- (invoke "ginkgo" "-r" "-v"
- (string-append "--procs="
- (number->string (parallel-job-count)))
- "--randomize-all"
- "--randomize-suites"
- "--skip-package"
- "integrationtests"))))))))
+ (setenv "TIMESCALE_FACTOR" "10")
+ (invoke "ginkgo" "-r" "-v" "--no-color"
+ (string-append
+ "--procs=" (number->string
+ ;; All tests passed on 16 threads
+ ;; mathine, but fail on
+ ;; ci.guix.gnu.org.
+ (if (> (parallel-job-count) 17)
+ 16
+ (parallel-job-count))))
+ "--skip-package=integrationtests"))))))))
(native-inputs
(list go-ginkgo
go-github-com-onsi-ginkgo-v2
@@ -5407,7 +7119,9 @@ protocol.")
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/quic-go/webtransport-go"))
+ #:import-path "github.com/quic-go/webtransport-go"
+ ;; Error: "68" is not greater than "80"
+ #:test-flags #~(list "-skip" "TestDatagrams")))
(native-inputs
(list go-go-uber-org-mock
go-github-com-stretchr-testify))
@@ -5423,6 +7137,59 @@ on @@url{https://github.com/quic-go/quic-go,quic-go}. It currently implements
of the specification.")
(license license:expat)))
+(define-public go-github-com-rcrowley-go-metrics
+ (package
+ (name "go-github-com-rcrowley-go-metrics")
+ (version "0.0.0-20201227073835-cf1acfcdf475")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rcrowley/go-metrics")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0s7zab04slz07c7l4h2cqz62qnqah69r6p157vvbd7725a7wzkr0"))))
+ (build-system go-build-system)
+ (arguments
+ ;; Arbitrary precision tests are known to be broken on aarch64, ppc64le
+ ;; and s390x. See: https://github.com/rcrowley/go-metrics/issues/249
+ `(#:tests? ,(not (string-prefix? "aarch64" (or (%current-target-system)
+ (%current-system))))
+ #:import-path "github.com/rcrowley/go-metrics"))
+ (propagated-inputs
+ (list go-github-com-stathat-go))
+ (home-page "https://github.com/rcrowley/go-metrics")
+ (synopsis "Go port of Coda Hale's Metrics library")
+ (description
+ "This package provides a Go implementation of Coda Hale's Metrics
+library.")
+ (license license:bsd-2)))
+
+(define-public go-github-com-realclientip-realclientip-go
+ (package
+ (name "go-github-com-realclientip-realclientip-go")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/realclientip/realclientip-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1mg3nrb4b1q38q9j1diz4pl2nqpa3ay45gi81i6ma3bvss8v7ri3"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/realclientip/realclientip-go"))
+ (home-page "https://github.com/realclientip/realclientip-go")
+ (synopsis "Go reference implementation of \"real\" client IP algorithms")
+ (description
+ "Package realclientip provides strategies for obtaining the \"real\"
+client IP from HTTP requests.")
+ (license license:bsd-0)))
+
(define-public go-github-com-rs-cors
(package
(name "go-github-com-rs-cors")
@@ -5501,6 +7268,45 @@ per host/process
@end itemize")
(license license:expat)))
+(define-public go-github-com-safchain-ethtool
+ (package
+ (name "go-github-com-safchain-ethtool")
+ (version "0.5.9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/safchain/ethtool")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01q0qfyksnhd4a2w2824yzdmyb4g4xr0y2z4ffnpbzz1wp60rydg"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/safchain/ethtool"
+ #:test-flags
+ ;; Unable to retrieve driver from any interface of this system.
+ #~(list "-skip"
+ (string-join
+ (list "TestCmdGet"
+ "TestCmdGetMapped"
+ "TestMsglvlGet"
+ "TestStats"
+ "TestDriverName"
+ "TestBusInfo")
+ "|"))))
+ (propagated-inputs
+ (list go-golang-org-x-sys))
+ (home-page "https://github.com/safchain/ethtool")
+ (synopsis "Ethtool library for Golang")
+ (description
+ "The ethtool package aims to provide a library that implements easy
+access to the Linux SIOCETHTOOL ioctl operations. It can be used to retrieve
+information from a network device such as statistics, driver related
+information or even the peer of a VETH interface.")
+ (license license:asl2.0)))
+
(define-public go-github-com-sherclockholmes-webpush-go
(package
(name "go-github-com-sherclockholmes-webpush-go")
@@ -5528,6 +7334,56 @@ per host/process
support.")
(license license:expat)))
+(define-public go-github-com-shurcool-githubv4
+ (package
+ (name "go-github-com-shurcool-githubv4")
+ (version "0.0.0-20240429030203-be2daab69064")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/shurcooL/githubv4")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0kkvqwv0waa8hj1jr9b4nvz8rmslqpchidl7gs9bplrkl3fvsxn6"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/shurcooL/githubv4"))
+ (propagated-inputs
+ (list go-github-com-shurcool-graphql
+ go-golang-org-x-oauth2))
+ (home-page "https://github.com/shurcooL/githubv4")
+ (synopsis "Client library for GitHub GraphQL API v4")
+ (description
+ "Package githubv4 is a client library for accessing GitHub @code{GraphQL}
+API v4.")
+ (license license:expat)))
+
+(define-public go-github-com-shurcool-graphql
+ (package
+ (name "go-github-com-shurcool-graphql")
+ (version "0.0.0-20230722043721-ed46e5a46466")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/shurcooL/graphql")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "12cq16qak217bkpklqsmqhl42gz8cpadpzqw6fsivc3ambjpqdry"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/shurcooL/graphql"))
+ (home-page "https://github.com/shurcooL/graphql")
+ (synopsis "GraphQL client")
+ (description
+ "Package graphql provides a @code{GraphQL} client implementation.")
+ (license license:expat)))
+
(define-public go-github-com-shurcool-httpfs
(package
(name "go-github-com-shurcool-httpfs")
@@ -5646,10 +7502,60 @@ provided @code{http.FileSystem}.")
"Package jsonrpc2 provides a Go implementation of JSON-RPC 2.0.")
(license license:expat)))
+(define-public go-github-com-ssgelm-cookiejarparser
+ (package
+ (name "go-github-com-ssgelm-cookiejarparser")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ssgelm/cookiejarparser")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0fnm53br0cg3iwzniil0lh9w4xd6xpzfypwfpdiammfqavlqgcw4"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:embed-files #~(list "children" "nodes" "text")
+ #:import-path "github.com/ssgelm/cookiejarparser"))
+ (propagated-inputs (list go-golang-org-x-net))
+ (home-page "https://github.com/ssgelm/cookiejarparser")
+ (synopsis "Parse a curl cookiejar with Go")
+ (description
+ "This package is a Go library that parses a curl (netscape) cookiejar
+file into a Go http.CookieJar.")
+ (license license:expat)))
+
+(define-public go-github-com-stathat-go
+ (package
+ (name "go-github-com-stathat-go")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stathat/go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1zzlsl24dyr202qkr2pay22m6d0gb7ssms77wgdx0r0clgm7dihw"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/stathat/go"))
+ (home-page "https://github.com/stathat/go")
+ (synopsis "Post statistics to StatHat")
+ (description
+ "This is a Go package for posting to a @url{https://www.stathat.com/,
+StatHat} account.")
+ (license license:expat)))
+
(define-public go-github-com-tdewolff-minify-v2
(package
(name "go-github-com-tdewolff-minify-v2")
- (version "2.12.7")
+ (version "2.21.2")
(source
(origin
(method git-fetch)
@@ -5658,7 +7564,7 @@ provided @code{http.FileSystem}.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0qhslaq885zbqs83nvbi29yh09b89kkb6ycami8lz28wkwrlayap"))))
+ (base32 "0vhblx1xim14i4npglzdp9hpjz92q2k29wbf9kp9m7id9cm7c7l9"))))
(build-system go-build-system)
(arguments
(list
@@ -5673,13 +7579,18 @@ provided @code{http.FileSystem}.")
(format #f "src/~a/~a" import-path dir)
(make-file-writable "hash.go")
(format #t "Generating `hash.go' for ~a...~%" dir)
- (invoke "go" "generate")))
+ (invoke "go" "generate" "-v" "-n")))
'("css" "html" "svg")))))))
- (propagated-inputs
- (list go-github-com-tdewolff-parse-v2))
+ ;; For tests and the CLI.
(native-inputs
- (list go-github-com-tdewolff-hasher
+ (list go-github-com-djherbis-atime
+ go-github-com-fsnotify-fsnotify
+ go-github-com-matryer-try
+ go-github-com-tdewolff-argp
+ go-github-com-tdewolff-hasher ; to generate go files
go-github-com-tdewolff-test))
+ (propagated-inputs
+ (list go-github-com-tdewolff-parse-v2))
(home-page "https://go.tacodewolff.nl/minify")
(synopsis "Go minifiers for web formats")
(description
@@ -5690,7 +7601,7 @@ an interface to implement any other minifier.")
(define-public go-github-com-tdewolff-parse-v2
(package
(name "go-github-com-tdewolff-parse-v2")
- (version "2.6.6")
+ (version "2.7.19")
(source
(origin
(method git-fetch)
@@ -5699,7 +7610,7 @@ an interface to implement any other minifier.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1dqki9ima079k9a3l72igmx5dml8qsl9z8rzw8a433f4gjhlv320"))))
+ (base32 "17yswndnxgdj425h5q25wfvchjxnjf6nxyx76k9yn12r16arbl44"))))
(build-system go-build-system)
(arguments
(list
@@ -5725,6 +7636,95 @@ an interface to implement any other minifier.")
"This package contains several lexers and parsers written in Go.")
(license license:expat)))
+(define-public go-github-com-tetratelabs-wabin
+ (package
+ (name "go-github-com-tetratelabs-wabin")
+ (version "0.0.0-20230304001439-f6f874872834")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tetratelabs/wabin")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "195bh4n2ba3rbgzcb1h7zi93dr0k38qxhg8m0laa0z41vl9i0igm"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/tetratelabs/wabin"
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; XXX: Replace when go-build-system supports nested path.
+ (delete 'build)
+ (replace 'check
+ (lambda* (#:key import-path tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion (string-append "src/" import-path)
+ (invoke "go" "test" "-v" "./..."))))))))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/tetratelabs/wabin")
+ (synopsis "WebAssembly Binary Format in Go")
+ (description
+ "This package provides @code{WebAssembly} a @code{WebAssembly} data model
+and binary encoder.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-tetratelabs-wazero
+ (package
+ (name "go-github-com-tetratelabs-wazero")
+ (version "1.8.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tetratelabs/wazero")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1xchvrkp6m729x3jknj3qwms4w2b2q8kcwyxhkmagms43yg4ykm5"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (for-each delete-file-recursively
+ (list
+ ;; This directory holds the wazero site's source code.
+ "site"
+ ;; Windows related MSI packaging files.
+ "packaging"))))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/tetratelabs/wazero"
+ #:test-flags
+ #~(list "-skip" (string-join
+ (list "TestHugePageConfigs"
+ "TestRun"
+ "TestRun/3_1"
+ "Test_cli"
+ "Test_cli/cargo-wasi"
+ "Test_cli/cargo-wasi/test.txt"
+ "Test_cli/cargo-wasi/testcases/test.txt"
+ "Test_cli/tinygo"
+ "Test_cli/tinygo/test.txt"
+ "Test_cli/tinygo/testcases/test.txt"
+ "Test_cli/zig"
+ "Test_cli/zig-cc"
+ "Test_cli/zig-cc/test.txt"
+ "Test_cli/zig-cc/testcases/test.txt"
+ "Test_cli/zig/test.txt")
+ "|"))))
+ (home-page "https://github.com/tetratelabs/wazero")
+ (synopsis "Zero dependency WebAssembly runtime for Go")
+ (description
+ "wazero is a WebAssembly Core Specification
+@url{https://www.w3.org/TR/2019/REC-wasm-core-1-20191205/,1.0} and
+@code{https://www.w3.org/TR/2022/WD-wasm-core-2-20220419/,2.0} compliant
+runtime. It has zero dependencies, and doesn't rely on CGO. This means you
+can run applications in other languages and still keep cross compilation.")
+ (license license:asl2.0)))
+
(define-public go-github-com-tv42-httpunix
(let ((commit "2ba4b9c3382c77e7b9ea89d00746e6111d142a22")
(revision "0"))
@@ -5749,6 +7749,34 @@ an interface to implement any other minifier.")
sockets.")
(license license:expat))))
+(define-public go-github-com-txthinking-socks5
+ (package
+ (name "go-github-com-txthinking-socks5")
+ (version "0.0.0-20230325130024-4230056ae301")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/txthinking/socks5")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1zbwczxwmx8ngs6s0bnb0v73jvx96m9ll753zfgcns8fvvgdi2lb"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/txthinking/socks5"))
+ (propagated-inputs
+ (list go-github-com-miekg-dns
+ go-github-com-patrickmn-go-cache
+ go-github-com-txthinking-runnergroup))
+ (home-page "https://github.com/txthinking/socks5")
+ (synopsis "SOCKSv5 protocol Golang library")
+ (description
+ "This package provides a SOCKS protocol version 5 library with full
+TCP/UDP and IPv4/IPv6 support.")
+ (license license:expat)))
+
(define-public go-github-com-ucarion-urlpath
(package
(name "go-github-com-ucarion-urlpath")
@@ -5809,7 +7837,7 @@ encoding library for the MessagePack, CBOR, JSON and the Binc formats.")
(define-public go-github-com-valyala-fasthttp
(package
(name "go-github-com-valyala-fasthttp")
- (version "1.39.0")
+ (version "1.58.0")
(source
(origin
(method git-fetch)
@@ -5818,11 +7846,17 @@ encoding library for the MessagePack, CBOR, JSON and the Binc formats.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "12qwx0yk7wjj25v4fswgmj28r69gk94kqdmzavca8k9f0yznniz1"))))
+ (base32 "0r823fikgyhnmcn322anhs3ivkbzhdgbywvwi81v9kvfhi35plli"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/valyala/fasthttp"
+ #:test-flags
+ #~(list "-skip" (string-join
+ ;; Network set up is required.
+ (list "TestClientConfigureClientFailed"
+ "TestDialer_GetDialFunc")
+ "|"))
#:phases
#~(modify-phases %standard-phases
(replace 'check
@@ -5847,6 +7881,132 @@ encoding library for the MessagePack, CBOR, JSON and the Binc formats.")
replacement for native @code{net/http} module.")
(license license:expat)))
+(define-public go-github-com-valyala-tcplisten
+ (package
+ (name "go-github-com-valyala-tcplisten")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/valyala/tcplisten")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1fv5hxmq1jwrjn1rdjvbmjrrkb601zcdh01qhx6d8l7ss6n05zb8"))))
+ (build-system go-build-system)
+ (arguments
+ ;; NOTE: (Sharlatan-20211218T165504+0000): Tests failing:
+ ;;
+ ;; tcplisten_test.go:56: cannot create listener 0 using Config
+ ;; &tcplisten.Config{ReusePort:false, DeferAccept:false, FastOpen:false,
+ ;; Backlog:32}: lookup ip6-localhost on [::1]:53: read udp
+ ;; [::1]:33932->[::1]:53: read: connection refused
+ ;;
+ '(#:tests? #f
+ #:import-path "github.com/valyala/tcplisten"))
+ (home-page "https://github.com/valyala/tcplisten")
+ (synopsis "Customizable TCP net.Listener for Go")
+ (description
+ "@code{tcplisten} provides customizable TCP net.Listener with various
+performance-related options.")
+ (license license:expat)))
+
+(define-public go-github-com-vektah-gqlparser-v2
+ (package
+ (name "go-github-com-vektah-gqlparser-v2")
+ (version "2.5.21")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vektah/gqlparser")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hrzm9f3kvcblff4hypf1p95kxsv5pww7vcghhw2jb7r8r4kmdf0"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/vektah/gqlparser/v2"))
+ (native-inputs
+ (list go-github-com-andreyvit-diff
+ go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-agnivade-levenshtein
+ go-gopkg-in-yaml-v3))
+ (home-page "https://github.com/vektah/gqlparser")
+ (synopsis "Port of the parser from @code{graphql-js} into golang")
+ (description
+ "This is a parser for GraphQL, written to mirror the
+@url{https://github.com/graphql/graphql-js, graphql-js} reference
+implementation as closely while remaining idiomatic and easy to use.")
+ (license license:expat)))
+
+(define-public go-github-com-vishvananda-netlink
+ (package
+ (name "go-github-com-vishvananda-netlink")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vishvananda/netlink")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ckwb1ml7i2ccdd7kzc04s839naf4arlxav2ip5kf4rm4xhba9g7"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; The tests are unsupported on all architectures except x86_64-linux:
+ ;; cannot use 0xabcdef99 (untyped int constant 2882400153) as int value
+ ;; in struct literal (overflows)
+ #:tests? (and (not (%current-target-system)) (target-x86-64?))
+ #:test-flags
+ ;; One test fails with error: operation not permitted.
+ #~(list "-skip" "TestSocketXDPGetInfo")
+ #:import-path "github.com/vishvananda/netlink"))
+ (propagated-inputs
+ (list go-github-com-vishvananda-netns
+ go-golang-org-x-sys))
+ (home-page "https://github.com/vishvananda/netlink")
+ (synopsis "Simple netlink library for Go")
+ (description
+ "The netlink package provides a simple netlink library for Go. Netlink
+is the interface a user-space program in Linux uses to communicate with the
+kernel. It can be used to add and remove interfaces, set IP addresses and
+routes, and configure IPsec.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-vishvananda-netns
+ (package
+ (name "go-github-com-vishvananda-netns")
+ (version "0.0.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vishvananda/netns")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1f96fbmjq93msdfxmicnypnn2lzvi7jrxy82fiyd9gwxdapfd061"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; Tests fail with error: operation not permitted.
+ #:test-flags #~(list "-skip" "TestGetNewSetDelete|TestThreaded")
+ #:import-path "github.com/vishvananda/netns"))
+ (propagated-inputs
+ (list go-golang-org-x-sys))
+ (home-page "https://github.com/vishvananda/netns")
+ (synopsis "Simple network namespace handling for Go")
+ (description
+ "The netns package provides a simple interface for handling network
+namespaces in Go.")
+ (license license:asl2.0)))
+
(define-public go-github-com-whyrusleeping-cbor
(package
(name "go-github-com-whyrusleeping-cbor")
@@ -5988,6 +8148,34 @@ missing it. It address the issues
@url{https://github.com/golang/go/issues/68082, #68082}.")
(license license:bsd-3)))
+(define-public go-github-com-xdg-go-scram
+ (package
+ (name "go-github-com-xdg-go-scram")
+ (version "1.1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xdg-go/scram")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1bkznny84fdn4sy3wq5680v424glsq9nh2169qy51213bah6by84"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/xdg-go/scram"))
+ (propagated-inputs
+ (list go-github-com-xdg-go-stringprep
+ go-github-com-xdg-go-pbkdf2))
+ (home-page "https://github.com/xdg-go/scram")
+ (synopsis "Go implementation of RFC-5802")
+ (description
+ "Package scram provides client and server implementations of the
+@acronym{Salted Challenge Response Authentication Mechanism, SCRAM} described
+in RFC-5802 and RFC-7677.")
+ (license license:asl2.0)))
+
(define-public go-github-com-xeipuuv-gojsonpointer
(let ((commit "4e3ac2762d5f479393488629ee9370b50873b3a6")
(revision "0"))
@@ -6073,6 +8261,87 @@ programming language.")
programming language, which supports draft-04, draft-06 and draft-07.")
(license license:asl2.0)))
+(define-public go-github-com-xo-dburl
+ (package
+ (name "go-github-com-xo-dburl")
+ (version "0.23.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xo/dburl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0yxyfrm45dqd26513r2cvgkqfsclijsfzqrckbw45wydk45mq442"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/xo/dburl"))
+ (home-page "https://github.com/xo/dburl")
+ (synopsis
+ "URL style mechanism for parsing and opening SQL database connection strings")
+ (description
+ "Package dburl provides a standard, @code{net/url.URL} style mechanism
+for parsing and opening SQL database connection strings for Go. Provides
+standardized way to parse and open @@url{#URL,URL}'s for popular databases
+@code{PostgreSQL}, @code{MySQL}, SQLite3, Oracle Database, Microsoft SQL
+Server, in addition to most other SQL databases with a publicly available Go
+driver.")
+ (license license:expat)))
+
+(define-public go-github-com-xtaci-kcp-go-v5
+ (package
+ (name "go-github-com-xtaci-kcp-go-v5")
+ (version "5.6.18")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xtaci/kcp-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "17jqgl2zdra9rz8ap3zlrk7ljnm316gd4dy4cimlk2641n8r5bjx"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/xtaci/kcp-go/v5"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-klauspost-reedsolomon
+ go-github-com-pkg-errors
+ go-github-com-templexxx-xorsimd
+ go-github-com-tjfoc-gmsm
+ go-github-com-xtaci-lossyconn
+ go-golang-org-x-crypto
+ go-golang-org-x-net))
+ (home-page "https://github.com/xtaci/kcp-go")
+ (synopsis "Crypto-Secure Reliable-UDP Library with FEC")
+ (description
+ "This package provides smooth, resilient, ordered, error-checked and
+anonymous delivery of streams over UDP packets.
+Features:
+@itemize
+@item designed for latency-sensitive scenarios
+@item cache-friendly and memory-optimized design
+@item handles >5K concurrent connections on a single commodity server
+@item compatible with @code{net.Conn} and @code{net.Listener}, serving as a
+drop-in replacement for @code{net.TCPConn}
+@item @acronym{Forward Error Correction, FEC} support with
+@url{https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction,
+Reed-Solomon Codes}
+@item packet-level encryption support with @code{3DES}, @code{AES},
+@code{Blowfish}, @code{Cast5}, @code{PBKDF2}, @code{SM4}, @code{Salsa20},
+@code{TEA}, @code{Twofish}, and @code{XTEA}
+@item only a fixed number of goroutines are created for the entire server
+application
+@item compatible with @url{https://github.com/skywind3000, skywind3000}'s C
+version with various improvements
+@end itemize")
+ (license license:expat)))
+
(define-public go-github-com-xtaci-lossyconn
(package
(name "go-github-com-xtaci-lossyconn")
@@ -6124,6 +8393,192 @@ multiplexing. The original intention of this library is to power the
connection management for @url{https://github.com/xtaci/kcp-go,kcp-go}.")
(license license:expat)))
+(define-public go-gitlab-torproject-org-tpo-anti-censorship-geoip
+ (package
+ (name "go-gitlab-torproject-org-tpo-anti-censorship-geoip")
+ (version "0.0.0-20210928150955-7ce4b3d98d01")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://gitlab.torproject.org/tpo/anti-censorship/geoip.git")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0i7dc717w1g7hk7488vscqxj0a10af6fz9jczxxsfyxagynfzqcq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "gitlab.torproject.org/tpo/anti-censorship/geoip"))
+ (propagated-inputs
+ (list go-github-com-smartystreets-goconvey))
+ (home-page "https://gitlab.torproject.org/tpo/anti-censorship/geoip")
+ (synopsis "GeoIP go library that uses the tor geoipdb")
+ (description
+ "This code is for loading database data that maps IP addresses to
+countries for collecting and presenting statistics on snowflake use that might
+alert us to censorship events.")
+ (license license:bsd-3)))
+
+(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib
+ (package
+ (name "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib")
+ (version "1.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0jw9vlvlx7rrl366kwz47414aciw3r37lwg6h4jq8cj5hb4bqnd9"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib"))
+ (home-page "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib")
+ (synopsis "Go pluggable transports library")
+ (description "GoPtLib is a library for writing Tor pluggable transports in
+Go.")
+ (license license:cc0)))
+
+(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-ptutil
+ (package
+ (name
+ "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-ptutil")
+ (version "0.0.0-20240710081135-6c4d8ed41027")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append
+ "https://gitlab.torproject.org/tpo/anti-censorship"
+ "/pluggable-transports/ptutil.git"))
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1h7ssgsny6abhpycgks1kvqzvd20s081n39j5yxjjr7zn495ysdc"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path
+ "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/ptutil"))
+ (propagated-inputs
+ (list go-github-com-prometheus-client-golang
+ go-github-com-prometheus-client-model
+ go-google-golang-org-protobuf))
+ (home-page
+ "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/ptutil")
+ (synopsis "Collection of utilities for Pluggable Transports")
+ (description
+ "This package provides a collection of utilities for Pluggable Transports.")
+ (license license:bsd-3)))
+
+(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2
+ (package
+ (name
+ "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2")
+ (version "2.10.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append
+ "https://gitlab.torproject.org/tpo/anti-censorship"
+ "/pluggable-transports/snowflake"))
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14ypgzj6c6vjw9s85wf2vdfa9l06iandx7gz90i3w6r65q2cp6vj"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; Project provides a Go library and also CLI builds.
+ #:skip-build? #t
+ #:import-path
+ "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2"
+ ;; panic: empty transcript [recovered]
+ #:test-flags #~(list "-skip" "TestQueuePacketConnWriteToKCP")))
+ (native-inputs
+ (list go-github-com-golang-mock
+ go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-aws-aws-sdk-go-v2
+ go-github-com-aws-aws-sdk-go-v2-config
+ go-github-com-aws-aws-sdk-go-v2-credentials
+ go-github-com-aws-aws-sdk-go-v2-service-sqs
+ go-github-com-golang-mock
+ go-github-com-gorilla-websocket
+ go-github-com-miekg-dns
+ go-github-com-pion-ice-v2
+ go-github-com-pion-sdp-v3
+ go-github-com-pion-stun-v3
+ go-github-com-pion-transport-v2
+ go-github-com-pion-webrtc-v3
+ go-github-com-prometheus-client-golang
+ go-github-com-realclientip-realclientip-go
+ go-github-com-refraction-networking-utls
+ go-github-com-smartystreets-goconvey
+ go-github-com-stretchr-testify
+ go-github-com-txthinking-socks5
+ go-github-com-xtaci-kcp-go-v5
+ go-github-com-xtaci-smux
+ go-gitlab-torproject-org-tpo-anti-censorship-geoip
+ go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib
+ go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-ptutil
+ go-golang-org-x-crypto
+ go-golang-org-x-net
+ go-golang-org-x-sys))
+ (home-page
+ "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake")
+ (synopsis "Pluggable Transport using WebRTC, inspired by Flashproxy")
+ (description
+ "Pluggable Transport using @code{WebRTC}, inspired by Flashproxy and
+adheres to the pluggable transports v2.1 Go AP.
+This package provides:
+@itemize
+@item @code{broker} contains code for the Snowflake broker
+@item @code{doc} contains Snowflake documentation and manpages
+@item @code{client} contains the Tor pluggable transport client and client
+library code
+@item @code{common} contains generic libraries used by multiple pieces of
+Snowflake
+@item @code{proxy} contains code for the Go standalone Snowflake proxy
+@item @code{probetest} contains code for a NAT probetesting service
+@item @code{server} contains the Tor pluggable transport server and server
+library code
+@end itemize")
+ (license license:bsd-3)))
+
+(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-webtunnel
+ (package
+ (name "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-webtunnel")
+ (version "0.0.0-20240711104640-e64b1b3562f3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0nvd0qp1mdy7w32arnkhghxm5k2g6gy33cxlarxc6vdm4yh6v5nv"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel"))
+ (propagated-inputs
+ (list go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib))
+ (home-page "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel")
+ (synopsis "Go WebTunnel Pluggable Transport")
+ (description
+ "WebTunnel is a Go Pluggable Transport that attempts to imitate web
+browsing activities based on HTTP Upgrade (HTTPT).")
+ (license license:bsd-2)))
+
(define-public go-go-opentelemetry-io-otel
(package
(name "go-go-opentelemetry-io-otel")
@@ -6180,7 +8635,9 @@ connection management for @url{https://github.com/xtaci/kcp-go,kcp-go}.")
(build-system go-build-system)
(arguments
(list
- #:import-path "go.opentelemetry.io/otel"))
+ #:import-path "go.opentelemetry.io/otel"
+ ;; Error: Both arguments must be pointers.
+ #:test-flags #~(list "-skip" "TestTraceProviderDelegatesSameInstance")))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
@@ -6197,10 +8654,65 @@ go.opentelemetry.io/otel, go.opentelemetry.io/otel/metric and
go.opentelemetry.io/otel/trace.")
(license license:asl2.0)))
+(define-public go-go-opentelemetry-io-otel-log
+ (package
+ (name "go-go-opentelemetry-io-otel-log")
+ (version "0.9.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/open-telemetry/opentelemetry-go")
+ (commit (go-version->git-ref version
+ #:subdir "log"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-26)))
+ (snippet
+ #~(begin
+ ;; XXX: 'delete-all-but' is copied from the turbovnc package.
+ ;; Consider to implement it as re-usable procedure in
+ ;; guix/build/utils or guix/build-system/go.
+ (define (delete-all-but directory . preserve)
+ (define (directory? x)
+ (and=> (stat x #f)
+ (compose (cut eq? 'directory <>) stat:type)))
+ (with-directory-excursion directory
+ (let* ((pred
+ (negate (cut member <> (append '("." "..") preserve))))
+ (items (scandir "." pred)))
+ (for-each (lambda (item)
+ (if (directory? item)
+ (delete-file-recursively item)
+ (delete-file item)))
+ items))))
+ (delete-all-but "." "log")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "go.opentelemetry.io/otel/log"
+ #:unpack-path "go.opentelemetry.io/otel"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-go-logr-logr
+ go-go-opentelemetry-io-otel))
+ (home-page "https://go.opentelemetry.io/otel")
+ (synopsis "OpenTelemetry Logs API")
+ (description
+ "This package is intended to be used by bridges between existing logging
+libraries and OpenTelemetry. Users should not directly use this package as a
+logging library. Instead, install one of the bridges listed in the
+[registry], and use the associated logging library.")
+ (license license:asl2.0)))
+
(define-public go-go-opentelemetry-io-otel-sdk
(package
(name "go-go-opentelemetry-io-otel-sdk")
- (version "1.30.0")
+ (version "1.33.0")
(source
(origin
(method git-fetch)
@@ -6209,7 +8721,7 @@ go.opentelemetry.io/otel/trace.")
(commit (go-version->git-ref version #:subdir "sdk"))))
(file-name (git-file-name name version))
(sha256
- (base32 "0mpkwz2ryah5j2fb835pdw9084nwhr6fj3jig2mnvwwnsymp2bvy"))
+ (base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
@@ -6231,7 +8743,9 @@ go.opentelemetry.io/otel/trace.")
(delete-file-recursively item)
(delete-file item)))
items))))
- (delete-all-but "." "sdk")))))
+ (delete-all-but "." "sdk")
+ (delete-file-recursively "sdk/log")
+ (delete-file-recursively "sdk/metric")))))
(build-system go-build-system)
(arguments
(list
@@ -6251,6 +8765,123 @@ go.opentelemetry.io/otel/trace.")
"This package provides OpenTelemetry Otel SDK.")
(license license:asl2.0)))
+(define-public go-go-opentelemetry-io-otel-sdk-log
+ (package
+ (name "go-go-opentelemetry-io-otel-sdk-log")
+ (version "0.9.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/open-telemetry/opentelemetry-go")
+ (commit (go-version->git-ref version
+ #:subdir "sdk/log"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-26)))
+ (snippet
+ #~(begin
+ ;; XXX: 'delete-all-but' is copied from the turbovnc package.
+ ;; Consider to implement it as re-usable procedure in
+ ;; guix/build/utils or guix/build-system/go.
+ (define (delete-all-but directory . preserve)
+ (define (directory? x)
+ (and=> (stat x #f)
+ (compose (cut eq? 'directory <>) stat:type)))
+ (with-directory-excursion directory
+ (let* ((pred
+ (negate (cut member <> (append '("." "..") preserve))))
+ (items (scandir "." pred)))
+ (for-each (lambda (item)
+ (if (directory? item)
+ (delete-file-recursively item)
+ (delete-file item)))
+ items))))
+ (delete-all-but "sdk" "log")
+ (delete-all-but "." "sdk")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "go.opentelemetry.io/otel/sdk/log"
+ #:unpack-path "go.opentelemetry.io/otel"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-go-logr-logr
+ go-github-com-go-logr-stdr
+ go-github-com-google-go-cmp
+ go-go-opentelemetry-io-otel-log
+ go-go-opentelemetry-io-otel-sdk))
+ (home-page "https://go.opentelemetry.io/otel")
+ (synopsis "OpenTelemetry Log SDK library")
+ (description "Package log provides the @code{OpenTelemetry} Logs SDK.")
+ (license license:asl2.0)))
+
+(define-public go-go-opentelemetry-io-otel-sdk-metric
+ (package
+ (name "go-go-opentelemetry-io-otel-sdk-metric")
+ (version "1.33.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/open-telemetry/opentelemetry-go")
+ (commit (go-version->git-ref version
+ #:subdir "sdk/metric"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-26)))
+ (snippet
+ #~(begin
+ ;; XXX: 'delete-all-but' is copied from the turbovnc package.
+ ;; Consider to implement it as re-usable procedure in
+ ;; guix/build/utils or guix/build-system/go.
+ (define (delete-all-but directory . preserve)
+ (define (directory? x)
+ (and=> (stat x #f)
+ (compose (cut eq? 'directory <>) stat:type)))
+ (with-directory-excursion directory
+ (let* ((pred
+ (negate (cut member <> (append '("." "..") preserve))))
+ (items (scandir "." pred)))
+ (for-each (lambda (item)
+ (if (directory? item)
+ (delete-file-recursively item)
+ (delete-file item)))
+ items))))
+ (delete-all-but "sdk" "metric")
+ (delete-all-but "." "sdk")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "go.opentelemetry.io/otel/sdk/metric"
+ #:unpack-path "go.opentelemetry.io/otel"
+ #:test-flags
+ #~(list "-skip" (string-join
+ (list "TestGlobalInstRegisterCallback"
+ "TestMeterProviderDelegation")
+ "|"))))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-go-logr-logr
+ go-github-com-go-logr-stdr
+ go-github-com-google-go-cmp
+ go-go-opentelemetry-io-otel
+ go-go-opentelemetry-io-otel-sdk))
+ (home-page "https://go.opentelemetry.io/otel")
+ (synopsis "OpenTelemetry Metric SDK library")
+ (description
+ "Package metric provides an implementation of the @code{OpenTelemetry}
+metrics SDK.")
+ (license license:asl2.0)))
+
(define-public go-golang-org-x-oauth2
(package
(name "go-golang-org-x-oauth2")
@@ -6325,42 +8956,166 @@ go.opentelemetry.io/otel/trace.")
(description "This package is a Go Implementation of WireGuard.")
(license license:expat)))
-;; XXX: This repository has been archived by the owner on Feb 27, 2023. It is
-;; now read-only and it is DEPRECATED.
-(define-public go-gopkg-in-square-go-jose-v2
+(define-public go-gopkg-in-go-jose-go-jose-v2
(package
- (name "go-gopkg-in-square-go-jose-v2")
- (version "2.6.0")
+ (inherit go-github-com-go-jose-go-jose-v3)
+ (name "go-gopkg-in-go-jose-go-jose-v2")
+ (version "2.6.3")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/square/go-jose")
+ (url "https://github.com/go-jose/go-jose")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1b1nhqxfmhzwrfk7pkvp2w3z3d0pf5ir00vizmy2d4xdbnldn70r"))))
+ (base32 "0frg4g9gyqdgf7h0xai9771a47ndb0zqbw0rp5yk0dswsq1vk4kq"))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-go-jose-go-jose-v3)
+ ((#:import-path _) "gopkg.in/go-jose/go-jose.v2")))
+ (propagated-inputs
+ (list go-golang-org-x-crypto
+ go-gopkg-in-alecthomas-kingpin-v2))))
+
+;; This to satisfy alternative import path.
+(define-public go-gopkg-in-jcmturner-rpc-v1
+ (package
+ (inherit go-github-com-jcmturner-rpc)
+ (name "go-gopkg-in-jcmturner-rpc-v1")
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-jcmturner-rpc)
+ ((#:import-path _) "gopkg.in/jcmturner/rpc.v1")))))
+
+;; This to satisfy alternative import path.
+(define-public go-gopkg-in-jcmturner-rpc-v2
+ (package
+ (inherit go-github-com-jcmturner-rpc-v2)
+ (name "go-gopkg-in-jcmturner-rpc-v2")
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-jcmturner-rpc-v2)
+ ((#:tests? _ #t) #f)
+ ((#:import-path _) "gopkg.in/jcmturner/rpc.v2")))))
+
+(define-public go-k8s-io-kube-openapi
+ (package
+ (name "go-k8s-io-kube-openapi")
+ (version "0.0.0-20241212222426-2c72e554b1e7")
+ ;; XXX: Unbundle third_party in pkg.
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kubernetes/kube-openapi")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0crd349jd210bh68ic70pqmdkfns7cix2qhsa6pfya6kbvschyf9"))
+ ;; XXX: test/integration contains submodule with it's own go.mod.
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Keeping just testdata.
+ (for-each delete-file-recursively
+ (list "test/integration/builder"
+ "test/integration/builder3"
+ "test/integration/openapiconv"
+ "test/integration/pkg/generated"
+ "test/integration/testutil"
+ "test/integration/import.go"
+ "test/integration/integration_suite_test.go"))))))
(build-system go-build-system)
(arguments
(list
- ;; XXX: We strongly encourage users of square/go-jose to migrate to v3
- ;; of go-jose/go-jose. No support, security fixes or updates will be
- ;; delivered to the v1/v2 branches in the Square repository.
- #:tests? #f
- #:import-path "gopkg.in/square/go-jose.v2"))
- (propagated-inputs
- (list go-golang-org-x-crypto))
+ #:go go-1.23
+ #:import-path "k8s.io/kube-openapi"
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'build)))) ; no go files in project's root
(native-inputs
- (list go-github-com-google-go-cmp
+ (list go-github-com-getkin-kin-openapi
+ go-github-com-google-gofuzz
+ go-github-com-onsi-ginkgo-v2
+ go-github-com-onsi-gomega
go-github-com-stretchr-testify))
- (home-page "https://gopkg.in/square/go-jose.v2")
- (synopsis "Implementation of JOSE standards (JWE, JWS, JWT) in Go")
- (description
- "This package aims to provide an implementation of the Javascript Object
-Signing and Encryption set of standards. This includes support for JSON Web
-Encryption, JSON Web Signature, and JSON Web Token standards.")
+ (propagated-inputs
+ (list go-github-com-emicklei-go-restful-v3
+ go-github-com-go-openapi-jsonreference
+ go-github-com-go-openapi-swag
+ go-github-com-google-gnostic-models
+ go-github-com-google-go-cmp
+ go-github-com-google-uuid
+ go-github-com-munnerz-goautoneg
+ go-github-com-nytimes-gziphandler
+ go-github-com-spf13-pflag
+ go-golang-org-x-tools
+ go-google-golang-org-protobuf
+ go-gopkg-in-yaml-v3
+ go-k8s-io-gengo-v2
+ go-k8s-io-klog-v2
+ go-k8s-io-utils
+ go-sigs-k8s-io-json
+ go-sigs-k8s-io-structured-merge-diff-v4
+ go-sigs-k8s-io-yaml))
+ (home-page "https://github.com/kubernetes/kube-openapi")
+ (synopsis "Kubernetes OpenAPI spec generation & serving")
+ (description
+ "This package implements a Kubernetes OpenAPI discovery spec generation,
+providing support a subset of OpenAPI features to satisfy kubernetes use-cases
+but implement that subset with little to no assumption about the structure of
+the code or routes.")
(license license:asl2.0)))
+(define-public go-modernc-org-httpfs
+ (package
+ (name "go-modernc-org-httpfs")
+ (version "1.0.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/httpfs")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01q5rvhxmrd45h0ljh4185wlly7rxv6vvh28d2shsyan4nj67zf1"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "modernc.org/httpfs"))
+ (home-page "https://gitlab.com/cznic/httpfs")
+ (synopsis "HTTP file system implementation in Golang")
+ (description
+ "Package httpfs implements @code{http.FileSystem} on top of a
+@code{map[string]string}.")
+ (license license:bsd-3)))
+
+(define-public go-modernc-org-token
+ (package
+ (name "go-modernc-org-token")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/token")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vvnnfppmgq7hxmw18dx90fg6khwnxpwn9kwwf0hwxsckxfb5icv"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "modernc.org/token"))
+ (home-page "https://modernc.org/token")
+ (synopsis "Variant of the Golang stdlib package @code{token}")
+ (description
+ "Package token is variant of the stdlib package token with types
+@code{FileSet} and Token removed.")
+ (license license:bsd-3)))
+
(define-public go-mvdan-cc-xurls-v2
(package
(name "go-mvdan-cc-xurls-v2")
@@ -6377,7 +9132,8 @@ Encryption, JSON Web Signature, and JSON Web Token standards.")
(build-system go-build-system)
(arguments
(list
- #:import-path "mvdan.cc/xurls/v2"))
+ #:import-path "mvdan.cc/xurls/v2"
+ #:test-flags #~(list "-skip" "TestScript/version")))
(propagated-inputs
(list go-github-com-rogpeppe-go-internal
go-golang-org-x-mod
@@ -6420,6 +9176,85 @@ protocol.")
;;; Executables:
;;;
+(define-public go-jose-util
+ (package
+ (name "go-jose-util")
+ (version "0.0.0-20240226165647-31202557b449")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-jose/go-jose")
+ (commit (go-version->git-ref version
+ #:subdir "jose-util"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "19kr2r9nnrnixpmpp37p5adnxc92bc3gzqz7rpybgaly2wfssz0q"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:install-source? #f
+ #:import-path "github.com/go-jose/go-jose/jose-util"
+ #:unpack-path "github.com/go-jose/go-jose"))
+ (native-inputs
+ (list go-github-com-go-jose-go-jose-v3
+ go-gopkg-in-alecthomas-kingpin-v2))
+ (home-page "https://github.com/go-jose/go-jose")
+ (synopsis "JOSE CLI")
+ (description
+ "The @code{jose-util} command line utility allows for encryption,
+decryption,signing and verification of JOSE messages. Its main purpose is to
+facilitate dealing with JOSE messages when testing or debugging.")
+ (license license:asl2.0)))
+
+(define-public go-gojay
+ (package
+ (inherit go-github-com-francoispqt-gojay)
+ (name "go-gojay")
+ (arguments
+ (list
+ #:tests? #f ; already tested in the library
+ #:install-source? #f
+ #:import-path "github.com/francoispqt/gojay/gojay"
+ #:unpack-path "github.com/francoispqt/gojay"))
+ (description
+ "This package provides a command line tool to generate gojay's marshaling
+and unmarshaling interface implementation for custom struct type(s).")))
+
+(define-public go-gqlclient
+ (package
+ (inherit go-git-sr-ht-emersion-gqlclient)
+ (name "go-gqlclient")
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-git-sr-ht-emersion-gqlclient)
+ ((#:tests? _ #t) #f)
+ ((#:install-source? _ #t) #f)
+ ((#:phases _ '%standard-phases)
+ #~(modify-phases %standard-phases
+ (replace 'build
+ (lambda arguments
+ (for-each
+ (lambda (cmd)
+ (apply (assoc-ref %standard-phases 'build)
+ `(,@arguments #:import-path ,cmd)))
+ (list "git.sr.ht/~emersion/gqlclient/cmd/gqlclient"
+ "git.sr.ht/~emersion/gqlclient/cmd/gqlclientgen"
+ "git.sr.ht/~emersion/gqlclient/cmd/gqlintrospect"))))
+ (replace 'install
+ (lambda arguments
+ (for-each
+ (lambda (cmd)
+ (apply (assoc-ref %standard-phases 'install)
+ `(,@arguments #:import-path ,cmd)))
+ (list "git.sr.ht/~emersion/gqlclient/cmd/gqlclient"
+ "git.sr.ht/~emersion/gqlclient/cmd/gqlclientgen"
+ "git.sr.ht/~emersion/gqlclient/cmd/gqlintrospect"))))))))
+ (description
+ "This package provides command line tools: @code{gqlclient},
+@code{gqlclientgen}, and @code{gqlintrospect}. For the Golang libriray, see
+go-git-sr-ht-emersion-gqlclient package.")))
+
(define-public go-html2text
(package
(inherit go-github-com-jaytaylor-html2text)
@@ -6455,20 +9290,45 @@ go-github-com-multiformats-go-multiaddr-dns.")))
(inherit go-github-com-tdewolff-minify-v2)
(name "go-minify")
(arguments
- (substitute-keyword-arguments
- (package-arguments go-github-com-tdewolff-minify-v2)
- ((#:install-source? _ #t) #f)
- ((#:import-path _ "github.com/tdewolff/minify/v2")
- "github.com/tdewolff/minify/cmd/minify")))
- (inputs
- (list go-github-com-djherbis-atime
- go-github-com-dustin-go-humanize
- go-github-com-fsnotify-fsnotify
- go-github-com-matryer-try
- go-github-com-spf13-pflag))
+ (list
+ #:install-source? #f
+ #:tests? #f ; tested in the library
+ #:import-path "github.com/tdewolff/minify/cmd/minify"
+ #:unpack-path "github.com/tdewolff/minify"))
(description "This package provides a CLI binary executible built from
go-github-com-tdewolff-minify-v2 source.")))
+(define-public gron
+ (package
+ (name "gron")
+ (version "0.7.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tomnomnom/gron")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1sj34b6yv0qigy3aq7qmwf8bqxp1a8qh9p10lzkpw58s1c0iyh36"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:install-source? #f
+ #:import-path "github.com/tomnomnom/gron"))
+ (native-inputs
+ (list go-github-com-fatih-color
+ go-github-com-mattn-go-colorable
+ go-github-com-nwidger-jsoncolor
+ go-github-com-pkg-errors))
+ (home-page "https://github.com/tomnomnom/gron")
+ (synopsis "Transform JSON to make it easier to grep")
+ (description
+ "This package transforms JSON into discrete assignments to make it easier
+to use line-based tools such as grep to search for what you want and see the
+absolute \"path\" to it.")
+ (license license:expat)))
+
(define-public xurls
(package
(inherit go-mvdan-cc-xurls-v2)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 72216ae2a4..60321ace58 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -1,36 +1,41 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017-2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
+;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018, 2020 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
+;;; Copyright © 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2021 Vagrant Cascadian <vagrant@debian.org>
;;; Copyright © 2019-2021 Martin Becze <mjbecze@riseup.net>
-;;; Copyright © 2019-2022, 2024 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
;;; Copyright © 2020, 2021 raingloom <raingloom@riseup.net>
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2021 Collin J. Doering <collin@rekahsoft.ca>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Guix Together <jgart@dismail.de>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
-;;; Copyright © 2021 raingloom <raingloom@riseup.net>
-;;; Copyright © 2021, 2023, 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2021, 2023-2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2022 (unmatched-parenthesis <paren@disroot.org>
;;; Copyright © 2022 Dhruvin Gandhi <contact@dhruvin.dev>
;;; Copyright © 2022 Dominic Martinez <dom@dominicm.dev>
+;;; Copyright © 2022 JOULAUD François <Francois.JOULAUD@radiofrance.com>
;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la>
;;; Copyright © 2022 kiasoc5 <kiasoc5@disroot.org>
;;; Copyright © 2023 Benjamin <benjamin@uvy.fr>
+;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com>
;;; Copyright © 2023 Fries <fries1234@protonmail.com>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
@@ -46,10 +51,11 @@
;;; Copyright © 2024 Jean Simard <woshilapin@tuziwo.info>
;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
;;; Copyright © 2024 Luis Higino <luishenriquegh2701@gmail.com>
+;;; Copyright © 2024 Simen Endsjø <contact@simendsjo.me>
;;; Copyright © 2024 Spencer Peters <spencerpeters@protonmail.com>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
-;;; Copyright © 2024 Simen Endsjø <contact@simendsjo.me>
+;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -78,6 +84,7 @@
#:use-module (gnu packages cmake)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
@@ -85,6 +92,7 @@
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-maths)
#:use-module (gnu packages golang-web)
+ #:use-module (gnu packages libedit)
#:use-module (gnu packages linux)
#:use-module (gnu packages specifications)
#:use-module (gnu packages xdisorg)
@@ -242,6 +250,37 @@ use the C library from the project called FUSE.")
a human-readable byte format.")
(license license:asl2.0)))
+(define-public go-dario-cat-mergo
+ (package
+ (name "go-dario-cat-mergo")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/darccio/mergo")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0v12vc9bmqq89k4y60a8ykmv85hpa7nh73sn9b7ars143pxvmhf1"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "dario.cat/mergo"))
+ (native-inputs
+ (list go-gopkg-in-yaml-v3))
+ (home-page "https://github.com/darccio/mergo")
+ (synopsis "Helper to merge structs and maps in Golang")
+ (description
+ "Helper to merge structs and maps in Golang. Useful for configuration
+default values, avoiding messy if-statements.
+
+Mergo merges same-type structs and maps by setting default values in
+zero-value fields. Mergo won't merge unexported (private) fields. It will do
+recursively any exported one. It also won't merge structs inside
+maps (because they are not addressable using Go reflection).")
+ (license license:bsd-3)))
+
(define-public go-git-sr-ht-emersion-go-scfg
(package
(name "go-git-sr-ht-emersion-go-scfg")
@@ -335,6 +374,35 @@ annotations on struct fields. It came as a spin-off from
commands.")
(license license:expat)))
+(define-public go-git-sr-ht-rockorager-tcell-term
+ (package
+ (name "go-git-sr-ht-rockorager-tcell-term")
+ (version "0.10.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~rockorager/tcell-term")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1z64yzr2l5j5r5rqi89jk4madn3ak8hw95lva5ra7gnlyhh2vs05"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "git.sr.ht/~rockorager/tcell-term"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-creack-pty
+ go-github-com-gdamore-tcell-v2
+ go-github-com-mattn-go-runewidth))
+ (home-page "https://git.sr.ht/~rockorager/tcell-term")
+ (synopsis "Terminal widget for @code{tcell}")
+ (description
+ "This package provides a virtual terminal widget for the @code{tcell}
+Go library.")
+ (license license:expat)))
+
(define-public go-git-sr-ht-rockorager-vaxis
(package
(name "go-git-sr-ht-rockorager-vaxis")
@@ -539,6 +607,82 @@ XDG defined locations instead of hardcoding paths. The package also includes
the locations of well known user directories.")
(license license:expat)))
+(define-public go-github-com-agext-levenshtein
+ (package
+ (name "go-github-com-agext-levenshtein")
+ (version "1.2.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/agext/levenshtein")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0a26c8pp9h5w66bhd9vb6lpvmhp30mz46pnh3a8vrjx50givb2lw"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/agext/levenshtein"))
+ (home-page "https://github.com/agext/levenshtein")
+ (synopsis "Calculating the Levenshtein distance between two strings in Go")
+ (description
+ "Package levenshtein implements distance and similarity metrics for
+strings, based on the Levenshtein measure.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-agnivade-levenshtein
+ (package
+ (name "go-github-com-agnivade-levenshtein")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/agnivade/levenshtein")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0vg9aj9k4qv96nqqp261qrm9g7kj0axqhv3mm9qvw932l72943hn"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/agnivade/levenshtein"))
+ (native-inputs ; for tests only
+ (list go-github-com-arbovm-levenshtein
+ go-github-com-dgryski-trifles))
+ (home-page "https://github.com/agnivade/levenshtein")
+ (synopsis "Golang implementation to calculate Levenshtein Distance")
+ (description
+ "This package implements a functionality to calculate
+@url{https://en.wikipedia.org/wiki/Levenshtein_distance, Levenshtein
+Distance}.")
+ (license license:expat)))
+
+(define-public go-github-com-agonopol-go-stem
+ (package
+ (name "go-github-com-agonopol-go-stem")
+ (version "0.0.0-20150630113328-985885018250")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/agonopol/go-stem")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "128qv5s2g13akbsclyi6kyvx52gx20wz81yxkd3qnlfh0f5fqjd0"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/agonopol/go-stem"))
+ (home-page "https://github.com/agonopol/go-stem")
+ (synopsis "Word Stemming in Golang")
+ (description
+ "This package provides a implementation of the porter stemming algorithm:
+http://tartarus.org/~martin/PorterStemmer/index.html.")
+ (license license:expat)))
+
(define-public go-github-com-alecthomas-chroma
(package
(name "go-github-com-alecthomas-chroma")
@@ -560,7 +704,14 @@ the locations of well known user directories.")
(arguments
`(#:import-path "github.com/alecthomas/chroma"))
(native-inputs
- (list go-github-com-dlclark-regexp2
+ (list go-github-com-alecthomas-kong
+ go-github-com-alecthomas-kong-hcl
+ go-github-com-dlclark-regexp2
+ go-github-com-gorilla-csrf
+ go-github-com-gorilla-handlers
+ go-github-com-gorilla-mux
+ go-github-com-mattn-go-colorable
+ go-github-com-mattn-go-isatty
go-github-com-stretchr-testify))
(home-page "https://github.com/alecthomas/chroma/")
(synopsis "General purpose syntax highlighter in pure Go")
@@ -689,7 +840,7 @@ be stripped.")
(define-public go-github-com-alecthomas-kong
(package
(name "go-github-com-alecthomas-kong")
- (version "0.9.0")
+ (version "1.5.1")
(source
(origin
(method git-fetch)
@@ -698,7 +849,7 @@ be stripped.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0a9arf30h84ll8k612jh50c3vjmvdfj6i7dbvfnw3dalm6dn2aan"))))
+ (base32 "1b9yns6rgmxjb40rlm6v2pybi25my0760vvp6666vx5da7yg4dg9"))))
(build-system go-build-system)
(arguments
(list
@@ -716,6 +867,44 @@ be stripped.")
with as little developer effort as possible.")
(license license:expat)))
+(define-public go-github-com-alecthomas-kong-hcl
+ (package
+ (name "go-github-com-alecthomas-kong-hcl")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alecthomas/kong-hcl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0q383705kavn23ay4vzr662x9lsl2xc1mv5irhcy0cazjjc7jzp2"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separately:
+ ;;
+ ;; - github.com/alecthomas/kong-hcl/v2
+ (delete-file-recursively "v2")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:test-flags #~(list "-skip" "TestHCL/FromResolver")
+ #:import-path "github.com/alecthomas/kong-hcl"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-alecthomas-kong
+ go-github-com-hashicorp-hcl
+ go-github-com-pkg-errors))
+ (home-page "https://github.com/alecthomas/kong-hcl")
+ (synopsis "Kong configuration loader for HCL")
+ (description
+ "This package implements functionality to map HCL or JSON fragment into
+Golang structs.")
+ (license license:expat)))
+
(define-public go-github-com-alecthomas-participle-v2
(package
(name "go-github-com-alecthomas-participle-v2")
@@ -734,7 +923,8 @@ with as little developer effort as possible.")
(list
#:import-path "github.com/alecthomas/participle/v2"))
(native-inputs
- (list go-github-com-alecthomas-assert-v2))
+ (list go-github-com-alecthomas-assert-v2
+ go-github-com-alecthomas-kong)) ; for CLI
(home-page "https://github.com/alecthomas/participle")
(synopsis "Parser library for Go")
(description
@@ -830,6 +1020,32 @@ newlines until a non-newline.")
"This library provides unit multipliers and functions for Go.")
(license license:expat))))
+(define-public go-github-com-alsm-ioprogress
+ (package
+ (name "go-github-com-alsm-ioprogress")
+ (version "0.0.0-20170412085706-063c3725f436")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alsm/ioprogress")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10ym5qlq77nynmkxbk767f2hfwyxg2k7hrzph05hvgzv833dhivh"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/alsm/ioprogress"))
+ (home-page "https://github.com/alsm/ioprogress")
+ (synopsis "Textual progress bars in Go")
+ (description
+ "@code{ioprogress} is a Go library with implementations of
+@code{io.Reader} and @code{io.Writer} that draws progress bars. The primary
+use case for these are for command-line applications but alternate progress
+bar writers can be supplied for alternate environments.")
+ (license license:expat)))
+
(define-public go-github-com-andreasbriese-bbloom
(package
(name "go-github-com-andreasbriese-bbloom")
@@ -879,6 +1095,264 @@ JSONMarshal/JSONUnmarshal to store/reload the Bloom filter.")
commands.")
(license license:expat)))
+(define-public go-github-com-antihax-optional
+ (package
+ (name "go-github-com-antihax-optional")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/antihax/optional")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ix08vl49qxr58rc6201cl97g1yznhhkwvqldslawind99js4rj0"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/antihax/optional"))
+ (home-page "https://github.com/antihax/optional")
+ (synopsis "Optional parameters for Golang")
+ (description
+ "This package implements optimal parameters for data-types.")
+ (license license:expat)))
+
+(define-public go-github-com-apparentlymart-go-dump
+ (package
+ (name "go-github-com-apparentlymart-go-dump")
+ (version "0.0.0-20190214190832-042adf3cf4a0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/apparentlymart/go-dump")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1yqc50v82za54j2yy3ln7jzx983scb5gbh195wb6vmvqj18q696q"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/apparentlymart/go-dump"))
+ (home-page "https://github.com/apparentlymart/go-dump")
+ (synopsis "Utility for formatting Go values in a pretty-printed way")
+ (description
+ "This package implements a functionality for generating pretty-printed
+dumps of Go values.")
+ (license license:mpl2.0)))
+
+(define-public go-github-com-apparentlymart-go-textseg-v9
+ (package
+ (name "go-github-com-apparentlymart-go-textseg-v9")
+ (version "9.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/apparentlymart/go-textseg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pmnl674ksbizkdilqz1j44djws9dj23pc6bpbjma8jfjq6b2zax"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/apparentlymart/go-textseg/v9"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-submodule
+ (lambda* (#:key import-path #:allow-other-keys #:rest args)
+ (when (false-if-exception
+ (stat (string-append "src/" import-path "/autoversion")))
+ (delete-file-recursively
+ (string-append "src/" import-path "/autoversion"))))))))
+ (home-page "https://github.com/apparentlymart/go-textseg")
+ (synopsis "Go implementation of Unicode Text Segmentation")
+ (description
+ "This package provides an implementation of the Unicode Text Segmentation
+specification for Go. Specifically, it currently includes only the grapheme
+cluster segmentation algorithm.")
+ ;; Project is released under Expat terms. Some parts use Unicode and
+ ;; ASL2.0 licenses.
+ (license (list license:expat license:unicode license:asl2.0))))
+
+(define-public go-github-com-apparentlymart-go-textseg-v10
+ (package
+ (inherit go-github-com-apparentlymart-go-textseg-v9)
+ (name "go-github-com-apparentlymart-go-textseg-v10")
+ (version "10.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/apparentlymart/go-textseg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jj3w8m2vz574s9lq0468f56kq348wm7xhvrac5yrqw1axg6hjxd"))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-apparentlymart-go-textseg-v9)
+ ((#:import-path _) "github.com/apparentlymart/go-textseg/v10")))))
+
+(define-public go-github-com-apparentlymart-go-textseg-v11
+ (package
+ (inherit go-github-com-apparentlymart-go-textseg-v10)
+ (name "go-github-com-apparentlymart-go-textseg-v11")
+ (version "11.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/apparentlymart/go-textseg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1gyhj8vqpmxcd7zjq3myj6872fqf1si09dwbv03msp7hf4g976cx"))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-apparentlymart-go-textseg-v10)
+ ((#:import-path _) "github.com/apparentlymart/go-textseg/v11")))))
+
+(define-public go-github-com-apparentlymart-go-textseg-v12
+ (package
+ (inherit go-github-com-apparentlymart-go-textseg-v11)
+ (name "go-github-com-apparentlymart-go-textseg-v12")
+ (version "12.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/apparentlymart/go-textseg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1i8p4kkgx8yhxwzqmnpx8f87s0h27n7jrdhv78ydh6618512x5v9"))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-apparentlymart-go-textseg-v11)
+ ((#:import-path _) "github.com/apparentlymart/go-textseg/v12")))))
+
+(define-public go-github-com-apparentlymart-go-textseg-v13
+ (package
+ (inherit go-github-com-apparentlymart-go-textseg-v12)
+ (name "go-github-com-apparentlymart-go-textseg-v13")
+ (version "13.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/apparentlymart/go-textseg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0gdgi0d52rq1xsdn9icc8lghn0f2q927cifmrlfxflf7bf21vism"))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-apparentlymart-go-textseg-v12)
+ ((#:import-path _) "github.com/apparentlymart/go-textseg/v13")))))
+
+(define-public go-github-com-apparentlymart-go-textseg-v15
+ (package
+ (inherit go-github-com-apparentlymart-go-textseg-v13)
+ (name "go-github-com-apparentlymart-go-textseg-v15")
+ (version "15.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/apparentlymart/go-textseg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1bb7mxkxjhsp8kfwm26n0ds1mpwxxdpy4gndvyz26bqfm6v8vsa4"))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-apparentlymart-go-textseg-v13)
+ ((#:import-path _) "github.com/apparentlymart/go-textseg/v15")))))
+
+(define-public go-github-com-apparentlymart-go-textseg-v16
+ (package
+ (inherit go-github-com-apparentlymart-go-textseg-v15)
+ (name "go-github-com-apparentlymart-go-textseg-v16")
+ (version "16.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/apparentlymart/go-textseg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1j7vm09cd36wm4z986qz5am3rk242v52amcapwbdbkbgzx2kqfkm"))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-apparentlymart-go-textseg-v15)
+ ((#:import-path _) "github.com/apparentlymart/go-textseg/v16")))))
+
+(define-public go-github-com-apparentlymart-go-textseg-autoversion
+ (package
+ (name "go-github-com-apparentlymart-go-textseg-autoversion")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/apparentlymart/go-textseg")
+ (commit (go-version->git-ref version #:subdir "autoversion"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1j7vm09cd36wm4z986qz5am3rk242v52amcapwbdbkbgzx2kqfkm"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/apparentlymart/go-textseg/autoversion"
+ #:unpack-path "github.com/apparentlymart/go-textseg"))
+ (propagated-inputs
+ (list go-github-com-apparentlymart-go-textseg-v9
+ go-github-com-apparentlymart-go-textseg-v10
+ go-github-com-apparentlymart-go-textseg-v11
+ go-github-com-apparentlymart-go-textseg-v12
+ go-github-com-apparentlymart-go-textseg-v13
+ go-github-com-apparentlymart-go-textseg-v15))
+ (home-page "https://github.com/apparentlymart/go-textseg")
+ (synopsis "Wrap go-textesg based on the Unicode Golang version")
+ (description
+ "This package is a wrapper around each of the the
+Unicode-version-specific textseg implementations that selects an
+implementation automatically based on the Unicode version of the Go standard
+library that it's being built against.")
+ (license (list license:expat license:unicode license:asl2.0))))
+
+(define-public go-github-com-arbovm-levenshtein
+ (package
+ (name "go-github-com-arbovm-levenshtein")
+ (version "0.0.0-20160628152529-48b4e1c0c4d0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/arbovm/levenshtein")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0nmx2iip8xpnbmy6gvqpc9ikizr33dr40xgv746h0b0by8n7rv7y"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/arbovm/levenshtein"))
+ (home-page "https://github.com/arbovm/levenshtein")
+ (synopsis "Levenshtein Distance in Golang")
+ (description
+ "This package implements a functionality to calculate the
+@url{http://en.wikipedia.org/wiki/Levenshtein_distance, Levenshtein
+Distance}.")
+ (license license:bsd-3)))
+
(define-public go-github-com-arceliar-phony
(package
(name "go-github-com-arceliar-phony")
@@ -1228,16 +1702,8 @@ can use the realtime clock while tests can use the mock clock.")
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/beorn7/perks"
- #:phases
- #~(modify-phases %standard-phases
- ;; XXX: Workaround for go-build-system's lack of Go modules support.
- (delete 'build)
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./..."))))))))
+ #:skip-build? #t
+ #:import-path "github.com/beorn7/perks"))
(home-page "https://github.com/beorn7/perks")
(synopsis "Compute approximate quantiles over an unbounded data stream")
(description
@@ -1246,6 +1712,32 @@ approximate quantiles over an unbounded data stream within low memory and CPU
bounds.")
(license license:expat)))
+(define-public go-github-com-bgentry-speakeasy
+ (package
+ (name "go-github-com-bgentry-speakeasy")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bgentry/speakeasy")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pasgmb9gcchprc06fbn7yjgp6caz03j6pgj14mmr8bcx0zfq7ag"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/bgentry/speakeasy"))
+ (home-page "https://github.com/bgentry/speakeasy")
+ (synopsis "Reading password input without cgo")
+ (description
+ "This package provides cross-platform Golang helpers for taking user
+input from the terminal while not echoing the input back (similar to
+@code{getpasswd}). The package uses syscalls to avoid any dependence on cgo,
+and is therefore compatible with cross-compiling.")
+ (license license:expat)))
+
(define-public go-github-com-bitly-go-hostpool
(package
(name "go-github-com-bitly-go-hostpool")
@@ -1293,6 +1785,58 @@ robin or epsilon greedy mode, and unresponsive hosts are avoided.")
information and periodically output metrics")
(license license:expat)))
+(define-public go-github-com-bits-and-blooms-bitset
+ (package
+ (name "go-github-com-bits-and-blooms-bitset")
+ (version "1.20.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bits-and-blooms/bitset")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1m1rk1bf6i1jnhjxm774i3rhg8n8s88a3n5pnhg5a9gf34y7r8az"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/bits-and-blooms/bitset"))
+ (home-page "https://github.com/bits-and-blooms/bitset")
+ (synopsis "Bitsets in Go")
+ (description
+ "This package provides a Go implementation of bitsets, which are a
+mapping between non-negative integers and boolean values focused on efficient
+space usage.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-bits-and-blooms-bloom-v3
+ (package
+ (name "go-github-com-bits-and-blooms-bloom-v3")
+ (version "3.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bits-and-blooms/bloom")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "022pyzjp862ysl30aj105i2xmapn400ambjh8h1dcyjy9c0f8agn"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/bits-and-blooms/bloom/v3"))
+ (propagated-inputs
+ (list go-github-com-bits-and-blooms-bitset
+ go-github-com-twmb-murmur3))
+ (home-page "https://github.com/bits-and-blooms/bitset")
+ (synopsis "Bloom filters in Go")
+ (description
+ "This package provides a Go implementation of bloom filters,
+based on murmurhash.")
+ (license license:bsd-2)))
+
(define-public go-github-com-blang-semver
(package
(name "go-github-com-blang-semver")
@@ -1340,6 +1884,89 @@ information and periodically output metrics")
(delete-file-recursively
(string-append "src/" import-path "/examples")))))))))
+(define-public go-github-com-bmatcuk-doublestar
+ (package
+ (name "go-github-com-bmatcuk-doublestar")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bmatcuk/doublestar")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0bk5bixl6rqa8znxghyp6zndbccx9kdyrymjahgyp6qsrp7rk144"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; This test fails with Go 1.16.
+ #:test-flags #~(list "-skip" "TestMatch")
+ #:import-path "github.com/bmatcuk/doublestar"))
+ (home-page "https://github.com/bmatcuk/doublestar/")
+ (synopsis "Path pattern matching and globbing supporting doublestar")
+ (description
+ "@code{doublestar} is a Go implementation of path pattern
+matching and globbing with support for \"doublestar\" patterns.")
+ (license license:expat)))
+
+;; For chezmoi-1.8.11
+(define-public go-github-com-bmatcuk-doublestar-v2
+ (package
+ (inherit go-github-com-bmatcuk-doublestar)
+ (name "go-github-com-bmatcuk-doublestar-v2")
+ (version "2.0.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bmatcuk/doublestar")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "09ma8a9rhs8dg527vjhdf3lsb6lajaq193m6ksssm2k3qajhpi94"))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-bmatcuk-doublestar)
+ ((#:import-path _) "github.com/bmatcuk/doublestar/v2")))))
+
+(define-public go-github-com-bmatcuk-doublestar-v3
+ (package
+ (inherit go-github-com-bmatcuk-doublestar)
+ (name "go-github-com-bmatcuk-doublestar-v3")
+ (version "3.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bmatcuk/doublestar")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "011h07mlmscbxxjr3h30fjjb4dw3gb245nzczaq520r112xlidhj"))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-bmatcuk-doublestar)
+ ((#:import-path _) "github.com/bmatcuk/doublestar/v3")))))
+
+(define-public go-github-com-bmatcuk-doublestar-v4
+ (package
+ (inherit go-github-com-bmatcuk-doublestar)
+ (name "go-github-com-bmatcuk-doublestar-v4")
+ (version "4.7.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bmatcuk/doublestar")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1bvfxqkpl8bkfqxjxjgmz0gd4b4v6dxwrzxq2qzly0r9zrj1lfic"))))
+ (arguments
+ (list
+ #:import-path "github.com/bmatcuk/doublestar/v4"))))
+
(define-public go-github-com-bmizerany-perks-quantile
(package
(name "go-github-com-bmizerany-perks-quantile")
@@ -1393,6 +2020,30 @@ project is to provide a simple, fast, and reliable database for projects that
don't require a full database server such as Postgres or MySQL.")
(license license:expat)))
+(define-public go-github-com-bradfitz-gomemcache
+ (package
+ (name "go-github-com-bradfitz-gomemcache")
+ (version "0.0.0-20230905024940-24af94b03874")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bradfitz/gomemcache")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xhf5zphhilv1jiwsdf5f4b4g2jj8q3yhn2r83f52mpi9s8jp5db"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/bradfitz/gomemcache"))
+ (home-page "https://github.com/bradfitz/gomemcache")
+ (synopsis "Memcache client library in Go")
+ (description
+ "This is a memcache client library for the Go programming language.")
+ (license license:asl2.0)))
+
(define-public go-github-com-briandowns-spinner
(package
(name "go-github-com-briandowns-spinner")
@@ -1425,6 +2076,100 @@ don't require a full database server such as Postgres or MySQL.")
indicator to any terminal application.")
(license license:asl2.0)))
+(define-public go-github-com-btcsuite-btclog
+ (package
+ (name "go-github-com-btcsuite-btclog")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/btcsuite/btclog")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1aqpgb3bw1g5am2az4f1g1a54xii0axvxp0zymhyl8jdk6hhyyd8"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/btcsuite/btclog"))
+ (home-page "https://github.com/btcsuite/btclog")
+ (synopsis "Subsystem aware logger for Go")
+ (description
+ "Package @command{btclog} defines a logger interface and provides a
+default implementation of a subsystem-aware leveled logger implementing the
+same interface.")
+ (license license:isc)))
+
+(define-public go-github-com-btcsuite-btclog-v2
+ (package
+ (inherit go-github-com-btcsuite-btclog)
+ (name "go-github-com-btcsuite-btclog-v2")
+ (version "2.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/btcsuite/btclog")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0v9zh39d35647g6m9b74l5z1ifbnk4chbglnbmj5ndzj9alzsc38"))))
+ (arguments
+ (list
+ #:import-path "github.com/btcsuite/btclog/v2"
+ #:unpack-path "github.com/btcsuite/btclog"))))
+
+(define-public go-github-com-buildkite-shellwords
+ (package
+ (name "go-github-com-buildkite-shellwords")
+ (version "0.0.0-20180315110454-59467a9b8e10")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/buildkite/shellwords")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kx6wxbdznarmnifwzmxxcd86bgn27rwpfnw2y2gd0j8zg9g1682"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/buildkite/shellwords"))
+ (home-page "https://github.com/buildkite/shellwords")
+ (synopsis "Split command-line strings into words")
+ (description
+ "This package provides a golang library for splitting command-line
+strings into words like a POSIX or Windows shell would.")
+ (license license:expat)))
+
+(define-public go-github-com-burntsushi-graphics-go
+ (package
+ (name "go-github-com-burntsushi-graphics-go")
+ (version "0.0.0-20160129215708-b43f31a4a966")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/BurntSushi/graphics-go")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1084wkrj5l6j48s9lkh28h2zgmw8kp63ra1yw1nfpkf0f6hil3hn"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/BurntSushi/graphics-go"
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'build)))) ; no go files in project's root
+ (home-page "https://github.com/BurntSushi/graphics-go")
+ (synopsis "Graphics library for the Golang")
+ (description
+ "This package provides a library to works with graphics.")
+ (license license:bsd-3)))
+
(define-public go-github-com-burntsushi-toml
(package
(name "go-github-com-burntsushi-toml")
@@ -1441,15 +2186,7 @@ indicator to any terminal application.")
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/BurntSushi/toml"
- #:phases
- #~(modify-phases %standard-phases
- ;; XXX: Replace when go-build-system supports nested path.
- (replace 'check
- (lambda* (#:key import-path tests? #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./..."))))))))
+ #:import-path "github.com/BurntSushi/toml"))
(home-page "https://github.com/BurntSushi/toml")
(synopsis "Toml parser and encoder for Go")
(description
@@ -1457,31 +2194,116 @@ indicator to any terminal application.")
similar to Go's standard library @code{json} and @code{xml} package.")
(license license:expat)))
-;; XXX: This repository has been archived by the owner on Feb 21, 2018. It is
-;; now read-only.
-(define-public go-github-com-calmh-xdr
+(define-public go-github-com-bytedance-sonic
(package
- (name "go-github-com-calmh-xdr")
- (version "1.1.0")
+ (name "go-github-com-bytedance-sonic")
+ (version "1.12.6")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/calmh/xdr")
+ (url "https://github.com/bytedance/sonic")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "072wqdncz3nd4a3zkhvzzx1y3in1lm29wfvl0d8wrnqs5pyqh0mh"))))
+ (base32 "011hp6lvqvx4facxsmy6vya02g9q3rlnmxcii827sbf6bssy7wxp"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separately:
+ ;;
+ ;; - github.com/bytedance/sonic/external_jsonlib_test
+ ;; - github.com/bytedance/sonic/fuzz
+ ;; - github.com/bytedance/sonic/generic_test
+ ;; - github.com/bytedance/sonic/loader
+ (for-each delete-file-recursively
+ (list "external_jsonlib_test"
+ "fuzz"
+ "generic_test"
+ "loader"))))))
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/calmh/xdr"))
- (home-page "https://github.com/calmh/xdr")
- (synopsis "XDR marshalling and unmarshalling")
+ #:import-path "github.com/bytedance/sonic"))
+ (native-inputs
+ (list go-github-com-davecgh-go-spew
+ go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-bytedance-sonic-loader
+ go-github-com-cloudwego-base64x
+ go-github-com-klauspost-cpuid-v2
+ go-github-com-twitchyliquid64-golang-asm
+ go-golang-org-x-arch))
+ (home-page "https://github.com/bytedance/sonic")
+ (synopsis "JSON serializing and deserializing library")
(description
- "XDR is an External Data Representation (XDR)
-marshalling and unmarshalling library in Go. It uses code generation and not
-reflection.")
+ "This package implements a functionality to serialize/deserialize JSON by
+using JIT and SIMD approaches.")
+ ;; There some other licenses in "licenses" but all of them look like ASL
+ ;; compatible.
+ (license license:asl2.0)))
+
+(define-public go-github-com-bytedance-sonic-loader
+ (package
+ (name "go-github-com-bytedance-sonic-loader")
+ (version "0.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bytedance/sonic")
+ (commit (go-version->git-ref version
+ #:subdir "loader"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0fyjq3hr4cmai2r06ppzil314bcqz416gd1zpw7lfp9h7mcwxwa4"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/bytedance/sonic/loader"
+ #:unpack-path "github.com/bytedance/sonic"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-cloudwego-iasm))
+ (home-page "https://github.com/bytedance/sonic")
+ (synopsis "Function loader for Sonic Golang library")
+ (description
+ "This package provides functionality to load functions used in Sonic JSON
+library.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-c-bata-go-prompt
+ (package
+ (name "go-github-com-c-bata-go-prompt")
+ (version "0.2.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/c-bata/go-prompt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16hfb5xvgixn1anbsvazs8ihcrzyww0n8fddx10yiygqhsp07avz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/c-bata/go-prompt"))
+ (propagated-inputs
+ (list go-github-com-mattn-go-colorable
+ go-github-com-mattn-go-runewidth
+ go-github-com-mattn-go-tty
+ go-github-com-pkg-term
+ go-golang-org-x-sys))
+ (home-page "https://github.com/c-bata/go-prompt")
+ (synopsis "Interactive CLI prompts toolit")
+ (description
+ "This package provides a library for building powerful interactive
+prompts inspired by
+@url{https://github.com/jonathanslenders/python-prompt-toolkit,
+python-prompt-toolkit}, making it easier to build cross-platform command line
+tools using Go.")
(license license:expat)))
(define-public go-github-com-caarlos0-env
@@ -1508,6 +2330,54 @@ reflection.")
variables into structs.")
(license license:expat)))
+(define-public go-github-com-cention-sany-utf7
+ (package
+ (name "go-github-com-cention-sany-utf7")
+ (version "0.0.0-20170124080048-26cad61bd60a")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cention-sany/utf7")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jy15ryfcln1iwchrksqyrnyfy41gisymm4f9sr1d73ja029bznm"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/cention-sany/utf7"))
+ (propagated-inputs (list go-golang-org-x-text))
+ (home-page "https://github.com/cention-sany/utf7")
+ (synopsis "UTF-7 for Go")
+ (description
+ "The utf7 package provides support for the obsolete UTF-7 text
+encoding in Go.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-cespare-mph
+ (package
+ (name "go-github-com-cespare-mph")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cespare/mph")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0mvd6bkvf3i3555kqkkr3k9jd4c25scjq4xad35sxpny8f72nbg1"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/cespare/mph"))
+ (home-page "https://github.com/cespare/mph")
+ (synopsis "Minimal perfect hashing in Go")
+ (description
+ "@code{mph} is a Go package that implements a minimal perfect hash table
+over strings.")
+ (license license:expat)))
+
(define-public go-github-com-charlievieth-fastwalk
(package
(name "go-github-com-charlievieth-fastwalk")
@@ -1570,6 +2440,126 @@ tools.")
@@url{https://github.com/charmbracelet/bubbletea, Bubble Tea} applications.")
(license license:expat)))
+(define-public go-github-com-charmbracelet-bubbletea
+ (package
+ (name "go-github-com-charmbracelet-bubbletea")
+ (version "1.2.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/charmbracelet/bubbletea")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0g5pj40lsdkh2gwixlpg53ji7fajncj512xj0v1x3mk5grgbc2zr"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/charmbracelet/bubbletea"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (for-each delete-file-recursively
+ '("examples" "tutorials")))))
+ (add-before 'check 'fix-tests
+ (lambda _
+ ;; XXX: The package requires
+ ;; "go-github-com-charmbracelet-x-ansi" version 0.4.5; with the
+ ;; newer version of "ansi", some "bubbletea" screen tests fail
+ ;; as "ansi" 0.5.2 handles escape sequences a little bit
+ ;; differently.
+ (substitute* "src/github.com/charmbracelet/bubbletea/screen_test.go"
+ (("x1b\\[0K")
+ "x1b[K")
+ (("x1b\\[2;0H")
+ "x1b[2;H")))))))
+ (propagated-inputs
+ (list go-github-com-charmbracelet-lipgloss
+ go-github-com-charmbracelet-x-ansi
+ go-github-com-charmbracelet-x-term
+ go-github-com-erikgeiser-coninput
+ go-github-com-muesli-ansi
+ go-github-com-muesli-cancelreader
+ go-golang-org-x-sync
+ go-golang-org-x-sys))
+ (home-page "https://github.com/charmbracelet/bubbletea")
+ (synopsis "Powerful little TUI framework")
+ (description
+ "Bubble Tea is a Go framework based on The Elm Architecture. It is
+well-suited for simple and complex terminal applications, either inline,
+full-window, or a mix of both.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-charmbracelet-glamour
+ (package
+ (name "go-github-com-charmbracelet-glamour")
+ (version "0.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/charmbracelet/glamour")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "112clivb9nsxlaqvypwcidmk4dkszg7vglb4apia43rdqqj82s6k"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:embed-files #~(list ".*\\.xml")
+ #:import-path "github.com/charmbracelet/glamour"))
+ (propagated-inputs
+ (list go-github-com-alecthomas-chroma-v2
+ go-github-com-charmbracelet-lipgloss
+ go-github-com-charmbracelet-x-ansi
+ go-github-com-charmbracelet-x-exp-golden
+ go-github-com-microcosm-cc-bluemonday
+ go-github-com-muesli-reflow
+ go-github-com-muesli-termenv
+ go-github-com-yuin-goldmark
+ go-github-com-yuin-goldmark-emoji
+ go-golang-org-x-term))
+ (home-page "https://github.com/charmbracelet/glamour/")
+ (synopsis "Write handsome command-line tools with glamour")
+ (description
+ "@code{glamour} lets you render markdown documents and templates on ANSI
+compatible terminals. You can create your own stylesheet or use one of our
+glamorous default themes.")
+ (license license:expat)))
+
+(define-public go-github-com-charmbracelet-harmonica
+ (package
+ (name "go-github-com-charmbracelet-harmonica")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/charmbracelet/harmonica")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1aasg0c0xxhwav4ivm1mqmsqab6lk407xky8c19pb85r1hdbq0n7"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/charmbracelet/harmonica"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key import-path #:allow-other-keys)
+ (delete-file-recursively
+ (string-append "src/" import-path "/examples")))))))
+ (home-page "https://github.com/charmbracelet/harmonica")
+ (synopsis "Simple, physics-based animation library")
+ (description
+ "A simple, efficient spring animation library for smooth, natural motion.")
+ (license license:expat)))
+
(define-public go-github-com-charmbracelet-lipgloss
(package
(name "go-github-com-charmbracelet-lipgloss")
@@ -1586,7 +2576,13 @@ tools.")
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/charmbracelet/lipgloss"))
+ #:import-path "github.com/charmbracelet/lipgloss"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key import-path #:allow-other-keys)
+ (delete-file-recursively
+ (string-append "src/" import-path "/examples")))))))
(propagated-inputs
(list go-github-com-aymanbagabas-go-udiff
go-github-com-charmbracelet-x-ansi
@@ -1599,10 +2595,40 @@ tools.")
"Style definitions for nice terminal layouts. Built with TUIs in mind.")
(license license:expat)))
+(define-public go-github-com-charmbracelet-log
+ (package
+ (name "go-github-com-charmbracelet-log")
+ (version "0.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/charmbracelet/log")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1dljsz5h6pw9w396sy9na99c2pvi542b3r138lka7l0ifmzpxjw9"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/charmbracelet/log"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-charmbracelet-lipgloss
+ go-github-com-go-logfmt-logfmt
+ go-github-com-muesli-termenv
+ go-golang-org-x-exp))
+ (home-page "https://github.com/charmbracelet/log")
+ (synopsis "Colorful Go logging library")
+ (description
+ "This package provides a minimal and colorful Go logging library.")
+ (license license:expat)))
+
(define-public go-github-com-charmbracelet-x-ansi
(package
(name "go-github-com-charmbracelet-x-ansi")
- (version "0.5.2")
+ (version "0.6.0")
(source
(origin
(method git-fetch)
@@ -1612,7 +2638,7 @@ tools.")
#:subdir "ansi"))))
(file-name (git-file-name name version))
(sha256
- (base32 "016s67690dr3w3an6m24q6f4vrmwpk0qd4akvvh1dzpfyf4khxd4"))))
+ (base32 "0y76a1zqj2ccyqibh4xk47hyw8grwrf5j3qm2j0pzd2yn592dny5"))))
(build-system go-build-system)
(arguments
(list
@@ -1629,6 +2655,82 @@ tools.")
ECMA-48} specs.")
(license license:expat)))
+(define-public go-github-com-charmbracelet-x-exp-golden
+ (package
+ (name "go-github-com-charmbracelet-x-exp-golden")
+ (version "0.0.0-20241121171228-5bc00623ea2f")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/charmbracelet/x")
+ (commit (go-version->git-ref version
+ #:subdir "exp/golden"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "016s67690dr3w3an6m24q6f4vrmwpk0qd4akvvh1dzpfyf4khxd4"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/charmbracelet/x/exp/golden"
+ #:unpack-path "github.com/charmbracelet/x/"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key import-path #:allow-other-keys)
+ ;; Tests need to write to that files.
+ (with-directory-excursion (string-append "src/" import-path)
+ (make-file-writable "testdata/TestRequireEqualUpdate.golden")
+ (make-file-writable "testdata/TestRequireEqualNoUpdate.golden"))))
+ (add-after 'check 'post-check
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ ;; Remove modified testdata just in case.
+ (delete-file-recursively "testdata")))))))
+ (propagated-inputs
+ (list go-github-com-aymanbagabas-go-udiff))
+ (home-page "https://github.com/charmbracelet/x")
+ (synopsis "Verify @code{.golden} file equality")
+ (description
+ "Golden files (@code{.golden}) contain the raw expected output of
+tests,which can contain control codes and escape sequences. @code{golden}
+package provides an API for comparing Golden files.")
+ (license license:expat)))
+
+(define-public go-github-com-charmbracelet-x-input
+ (package
+ (name "go-github-com-charmbracelet-x-input")
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/charmbracelet/x")
+ (commit (go-version->git-ref version
+ #:subdir "input"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0v7yrpq6ffa2qdqlrdgl7wm5jvm9wlh2iwyhd4x6hqkq90gwllyr"))
+ (snippet
+ #~(begin (use-modules (guix build utils))
+ (delete-file-recursively "ansi")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/charmbracelet/x/input"
+ #:unpack-path "github.com/charmbracelet/x"))
+ (propagated-inputs
+ (list go-github-com-charmbracelet-x-ansi
+ go-github-com-erikgeiser-coninput
+ go-github-com-muesli-cancelreader
+ go-github-com-xo-terminfo
+ go-golang-org-x-sys))
+ (home-page "https://github.com/charmbracelet/x")
+ (synopsis "Terminal event input handler and driver")
+ (description
+ "This package provides a terminal event input handler and driver.")
+ (license license:expat)))
+
(define-public go-github-com-charmbracelet-x-term
(package
(name "go-github-com-charmbracelet-x-term")
@@ -1662,46 +2764,30 @@ ECMA-48} specs.")
@end itemize")
(license license:expat)))
-(define-public go-github-com-charmbracelet-x-exp-golden
+(define-public go-github-com-charmbracelet-x-windows
(package
- (name "go-github-com-charmbracelet-x-exp-golden")
- (version "0.0.0-20241121171228-5bc00623ea2f")
+ (name "go-github-com-charmbracelet-x-windows")
+ (version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/charmbracelet/x")
(commit (go-version->git-ref version
- #:subdir "exp/golden"))))
+ #:subdir "windows"))))
(file-name (git-file-name name version))
(sha256
- (base32 "016s67690dr3w3an6m24q6f4vrmwpk0qd4akvvh1dzpfyf4khxd4"))))
+ (base32 "011kkz7l7fqr3a4sslfipiyl6bq51md1rc7ayj73xm5ayscpm0r2"))))
(build-system go-build-system)
(arguments
- (list
- #:import-path "github.com/charmbracelet/x/exp/golden"
- #:unpack-path "github.com/charmbracelet/x/"
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda* (#:key import-path #:allow-other-keys)
- ;; Tests need to write to that files.
- (with-directory-excursion (string-append "src/" import-path)
- (make-file-writable "testdata/TestRequireEqualUpdate.golden")
- (make-file-writable "testdata/TestRequireEqualNoUpdate.golden"))))
- (add-after 'check 'post-check
- (lambda* (#:key import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- ;; Remove modified testdata just in case.
- (delete-file-recursively "testdata")))))))
+ (list #:import-path "github.com/charmbracelet/x/windows"
+ #:unpack-path "github.com/charmbracelet/x"))
(propagated-inputs
- (list go-github-com-aymanbagabas-go-udiff))
+ (list go-golang-org-x-sys))
(home-page "https://github.com/charmbracelet/x")
- (synopsis "Verify @code{.golden} file equality")
+ (synopsis "Windows API used at Charmbracelet")
(description
- "Golden files (@code{.golden}) contain the raw expected output of
-tests,which can contain control codes and escape sequences. @code{golden}
-package provides an API for comparing Golden files.")
+ "This package provides the Windows API used at Charmbracelet.")
(license license:expat)))
(define-public go-github-com-cheggaaa-pb
@@ -1725,7 +2811,8 @@ package provides an API for comparing Golden files.")
(list go-github-com-fatih-color
go-github-com-mattn-go-colorable
go-github-com-mattn-go-isatty
- go-github-com-mattn-go-runewidth))
+ go-github-com-mattn-go-runewidth
+ go-github-com-vividcortex-ewma))
(home-page "https://github.com/cheggaaa/pb/")
(synopsis "Console progress bar for Go")
(description
@@ -1750,9 +2837,10 @@ package provides an API for comparing Golden files.")
(list
#:import-path "github.com/cheggaaa/pb/v3"
#:unpack-path "github.com/cheggaaa/pb"))
- (propagated-inputs
- (modify-inputs (package-propagated-inputs go-github-com-cheggaaa-pb)
- (append go-github-com-vividcortex-ewma)))))
+ (arguments
+ (list
+ #:import-path "github.com/cheggaaa/pb/v3"
+ #:unpack-path "github.com/cheggaaa/pb"))))
(define-public go-github-com-chzyer-logex
(package
@@ -1809,6 +2897,213 @@ levels that works by wrapping the standard @code{log} library.")
"Readline is a pure Go implementation of a GNU-Readline like library.")
(license license:expat)))
+(define-public go-github-com-cilium-ebpf
+ (package
+ (name "go-github-com-cilium-ebpf")
+ (version "0.16.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cilium/ebpf")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1p3wssg00d0h5dn1fadl0g8iwcak0d6myyjlqwgf6rnfnlajcrgi"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/cilium/ebpf"
+ #:test-flags
+ ;; Tests fail with errors:
+ ;; - neither debugfs nor tracefs are mounted
+ ;; - no such file or directory
+ #~(list "-skip" (string-join
+ (list
+ "TestNewEvent"
+ "TestFSType"
+ "TestEventID"
+ "TestSanitizePath"
+ "TestGetTracefsPath")
+ "|"))
+ ;; XXX: 337 tests failed and 664 passed when "..." is preserved, run
+ ;; some of available tests, figure out how to fix the rests.
+ #:test-subdirs
+ #~(list
+ ;; Tests fail with error: detect support for
+ ;; FnSkbSetTstamp for program type SchedCLS:
+ ;; detect support for SchedCLS: load program:
+ ;; operation not permitted
+ ;; "features"
+
+ ;; Failed to adjust rlimit, tests may fail
+ ;; "link"
+ ;; "perf"
+ ;; "ringbuf"
+ "asm"
+ "internal/...")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (for-each delete-file-recursively
+ (list "example_sock_elf_test.go"
+ "example_sock_extract_dist_test.go"
+ "examples"))))))))
+ (propagated-inputs
+ (list go-github-com-go-quicktest-qt
+ go-github-com-google-go-cmp
+ go-github-com-jsimonetti-rtnetlink-v2
+ go-golang-org-x-exp
+ go-golang-org-x-sys))
+ (home-page "https://ebpf-go.dev/")
+ (synopsis "Read, modify and load extended Berkeley Packet Filter programs in Golang")
+ (description
+ "This package provides utilities for loading, compiling, and debugging
+@url{https://www.ebpf.io/,eBPF} programs. It has minimal external
+dependencies and is intended to be used in long running processes.")
+ (license license:expat)))
+
+(define-public go-github-com-clbanning-mxj-v2
+ (package
+ (name "go-github-com-clbanning-mxj-v2")
+ (version "2.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/clbanning/mxj")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kdh9cdq0x9jk5vzn2k489w7k88rdwf1b87yzhr7jbkchh2nh608"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f ; XXX: find out why
+ #:import-path "github.com/clbanning/mxj/v2"
+ #:test-subdirs #~(list ".")))
+ (native-inputs
+ (list go-github-com-google-go-cmp))
+ (home-page "https://github.com/clbanning/mxj")
+ (synopsis "Decode / encode XML in Golang")
+ (description
+ "This package implements a functionality to marshal/unmarshal XML to/from
+@code{map[string]interface{}} values (and JSON); extract/modify values from
+maps by key or key-path, including wildcards.")
+ (license license:expat)))
+
+(define-public go-github-com-cli-safeexec
+ (package
+ (name "go-github-com-cli-safeexec")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cli/safeexec")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0j6hspjx9kyxn98nbisawx6wvbi1d6rpzr6p2rzhllm673wibwr3"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/cli/safeexec"))
+ (home-page "https://github.com/cli/safeexec")
+ (synopsis "Safe implementation of Go's exec.Command")
+ (description
+ "This package provides a Go module that provides a stabler alternative to
+@code{exec.LookPath()}.")
+ (license license:bsd-2)))
+
+(define-public go-github-com-client9-misspell
+ (package
+ (name "go-github-com-client9-misspell")
+ (version "0.3.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/client9/misspell")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/client9/misspell"
+ #:test-subdirs #~(list "ignore" ".")))
+ (propagated-inputs (list go-github-com-gobwas-glob))
+ (home-page "https://github.com/client9/misspell")
+ (synopsis "Correct commonly misspelled English words in source files")
+ (description
+ "misspell assists with correcting commonly misspelled English words in
+source files. A neutral variety of English is used by default, but a US or UK
+locale can be selected.")
+ (license license:expat)))
+
+(define-public go-github-com-cloudwego-iasm
+ (package
+ (name "go-github-com-cloudwego-iasm")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cloudwego/iasm")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0j9jvx6ijlr2xz3am4qrz5py68xpl8np7m7yfq9m2ilkli3ksq9x"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/cloudwego/iasm"))
+ (native-inputs
+ (list go-github-com-davecgh-go-spew
+ go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-klauspost-cpuid-v2
+ go-github-com-knz-go-libedit
+ go-nullprogram-com-x-optparse))
+ (home-page "https://github.com/cloudwego/iasm")
+ (synopsis "Interactive Assembler for Golang")
+ (description
+ "This package provides x86_64 variant of ported from a Python module
+@url{https://github.com/Maratyszcza/PeachPy,PeachPy}, with some adaption to
+the Go language features.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-containerd-btrfs-v2
+ (package
+ (name "go-github-com-containerd-btrfs-v2")
+ (version "2.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/containerd/btrfs")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05xwni5gvg5nka1n6lbx7mah0iykz2jw7ca010r33djcn4i8r5bs"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/containerd/btrfs/v2"))
+ (propagated-inputs
+ (list go-golang-org-x-sys))
+ (home-page "https://github.com/containerd/btrfs")
+ (synopsis "Btrfs bindings for Go")
+ (description
+ "Package btrfs provides bindings for working with btrfs partitions from
+Go. The Linux kernel headers are only required on compilation time, not on
+run time.")
+ (license license:asl2.0)))
+
(define-public go-github-com-containerd-cgroups
(package
(name "go-github-com-containerd-cgroups")
@@ -1834,20 +3129,36 @@ levels that works by wrapping the standard @code{log} library.")
(arguments
(list
#:import-path "github.com/containerd/cgroups"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'disable-failing-tests
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (substitute* (find-files "." "_test\\.go$")
- ;; expected error "controller is not supported" but received
- ;; "cgroups: cannot find cgroup mount destination"
- (("TestSystemd240") "OffTestSystemd240"))))))))
+ #:test-flags
+ #~(list "-skip" (string-join
+ ;; cannot find cgroup mount destination"
+ (list "TestSystemd240"
+ ;; cannot statfs cgroup root
+ "TestCgroupType"
+ "TestCgroupv2CpuStats"
+ "TestCgroupv2MemoryStats"
+ "TestCgroupv2PSIStats"
+ "TestCgroupv2PidsStats"
+ "TestErrorsWhenUnitAlreadyExists"
+ "TestEventChanCleanupOnCgroupRemoval"
+ "TestIgnoreUnitExistsWhenPidNegativeOne"
+ "TestKill"
+ "TestMoveTo"
+ "TestSystemdCgroupCpuController"
+ "TestSystemdCgroupMemoryController"
+ "TestSystemdCgroupPSIController"
+ "TestSystemdCgroupPidsController"
+ ;; Assertion failed
+ "TestDeviceFilter_Nil"
+ "TestDeviceFilter_Privileged"
+ "TestDeviceFilter_Weird")
+ "|"))))
(native-inputs
(list go-github-com-stretchr-testify
go-go-uber-org-goleak))
(propagated-inputs
- (list go-github-com-coreos-go-systemd-v22
+ (list go-github-com-cilium-ebpf
+ go-github-com-coreos-go-systemd-v22
go-github-com-docker-go-units
go-github-com-godbus-dbus-v5
go-github-com-gogo-protobuf
@@ -1863,6 +3174,69 @@ cgroup uses the OCI runtime-spec found
@url{https://github.com/opencontainers/runtime-spec,here}.")
(license license:asl2.0)))
+(define-public go-github-com-containerd-cgroups-v3
+ (package
+ (inherit go-github-com-containerd-cgroups)
+ (name "go-github-com-containerd-cgroups-v3")
+ (version "3.0.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/containerd/cgroups")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "09fkbhkx0hmcfcym3zl0dshbhj3p692xg7d6y8pj732g64zk6v4k"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodule(s) with their own go.mod files and packed as
+ ;; separated packages:
+ ;;
+ ;; - github.com/containerd/cgroups/cmd cgctl
+ (delete-file-recursively "cmd")))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-containerd-cgroups)
+ ((#:import-path _) "github.com/containerd/cgroups/v3")))
+ (propagated-inputs
+ (list go-github-com-cilium-ebpf
+ go-github-com-containerd-log
+ go-github-com-coreos-go-systemd-v22
+ go-github-com-docker-go-units
+ go-github-com-godbus-dbus-v5
+ go-github-com-moby-sys-userns
+ go-github-com-opencontainers-runtime-spec
+ go-golang-org-x-sys
+ go-google-golang-org-protobuf))))
+
+(define-public go-github-com-containerd-console
+ (package
+ (name "go-github-com-containerd-console")
+ (version "1.0.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/containerd/console")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1p10k6lwfxgij5a9i47dark8apffc6wn254dwj43ks8jr134854v"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/containerd/console"))
+ (propagated-inputs
+ (list go-golang-org-x-sys))
+ (home-page "https://github.com/containerd/console")
+ (synopsis "Console package for Go")
+ (description
+ "This is Golang package for dealing with consoles. It has few
+dependencies and a simple API.")
+ (license license:asl2.0)))
+
(define-public go-github-com-containerd-fifo
(package
(name "go-github-com-containerd-fifo")
@@ -1890,6 +3264,87 @@ cgroup uses the OCI runtime-spec found
way.")
(license license:asl2.0)))
+(define-public go-github-com-containerd-log
+ (package
+ (name "go-github-com-containerd-log")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/containerd/log")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1nzviiqpn0djdwql2q3m2xs1ndxyd0v2klvq6xi2r0dn4wr3mqdy"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/containerd/log"))
+ (propagated-inputs (list go-github-com-sirupsen-logrus))
+ (home-page "https://github.com/containerd/log")
+ (synopsis "Common log interface for containerd repositories and clients")
+ (description
+ "Package log provides types and functions related to logging, passing
+loggers through a context, and attaching context to the logger.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-containerd-platforms
+ (package
+ (name "go-github-com-containerd-platforms")
+ (version "0.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/containerd/platforms")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "03clc3b2fvlym5d2rvgima0p0br1m34p8gs7rn6y5rp7v7z601sx"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/containerd/platforms"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-containerd-log
+ go-github-com-opencontainers-image-spec
+ go-golang-org-x-sys))
+ (home-page "https://github.com/containerd/platforms")
+ (synopsis "Handling container platform type")
+ (description
+ "Package platforms provides a toolkit for normalizing, matching and
+specifying container platforms.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-containerd-plugin
+ (package
+ (name "go-github-com-containerd-plugin")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/containerd/plugin")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1gzm8h4yaparji0llqqfxl68gv56hwlybz4rgwnr54fhr029mpzp"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/containerd/plugin"))
+ (propagated-inputs
+ (list go-github-com-opencontainers-image-spec))
+ (home-page "https://github.com/containerd/plugin")
+ (synopsis "Registering and managing typed plugins with dependencies")
+ (description
+ "This package provides a common plugin interface across containerd
+repositories.")
+ (license license:asl2.0)))
+
(define-public go-github-com-coocood-freecache
(package
(name "go-github-com-coocood-freecache")
@@ -1917,6 +3372,32 @@ objects can be cached in memory without increased latency or degraded
throughput.")
(license license:expat)))
+(define-public go-github-com-coreos-go-semver
+ (package
+ (name "go-github-com-coreos-go-semver")
+ (version "0.3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/coreos/go-semver")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0vs04yykv1bwgvbyvi1m7ps83w06wzplw4giw8jac2iidx0x74v5"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/coreos/go-semver"))
+ (propagated-inputs
+ (list go-gopkg-in-yaml-v3))
+ (home-page "https://github.com/coreos/go-semver/")
+ (synopsis "Semantic versioning library")
+ (description
+ "@code{go-semver} is a semantic versioning library for Go. It lets you
+parse and compare two semantic version strings.")
+ (license license:asl2.0)))
+
(define-public go-github-com-coreos-go-systemd-v22
(package
(name "go-github-com-coreos-go-systemd-v22")
@@ -1997,10 +3478,39 @@ submodules:
@end itemize")
(license license:asl2.0)))
+(define-public go-github-com-couchbase-gomemcached
+ (package
+ (name "go-github-com-couchbase-gomemcached")
+ (version "0.3.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/couchbase/gomemcached")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "132zjbr7d586gb1wqlnhg3vgyshq629z1wsskrpbmyypjfkq620c"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/couchbase/gomemcached"
+ #:test-flags #~(list "-skip" "TestEncodingResponse")
+ #:test-subdirs #~(list ".")))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-pkg-errors))
+ (home-page "https://github.com/couchbase/gomemcached")
+ (synopsis "Memcached binary protocol toolkit for go")
+ (description
+ "This package provides memcache client and server functionality.")
+ (license license:expat)))
+
(define-public go-github-com-creack-pty
(package
(name "go-github-com-creack-pty")
- (version "1.1.23")
+ (version "1.1.24")
(source
(origin
(method git-fetch)
@@ -2009,7 +3519,7 @@ submodules:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1chx7ml9wlpk8pzgnnxb97gblmxz1j1v37m5i1asb94l5c24r1fg"))))
+ (base32 "0yy4zhfb7vrrbwd13rcw0zzcq0ami3zv3hp0x7g7il6mrbadcf25"))))
(build-system go-build-system)
(arguments
(list
@@ -2045,6 +3555,34 @@ submodules:
"The pty package provides functions for working with Unix pseudoterminals.")
(license license:expat)))
+(define-public go-github-com-creasty-defaults
+ (package
+ (name "go-github-com-creasty-defaults")
+ (version "1.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/creasty/defaults")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1avbm47ghqc6hiafv0c61mzrw9rajgszjyqh4yww916fqzaw8li3"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/creasty/defaults"))
+ (home-page "https://github.com/creasty/defaults")
+ (synopsis "Initialize structs with default values")
+ (description
+ "This package implements functionlity to initialize structs with default
+values. It supports almost all kind of types: @code{int/8/16/32/64},
+@code{uint/8/16/32/64}, @code{float32/64}, @code{uintptr}, @code{bool},
+@code{string}, @code{map}, @code{slice}, @code{struct},
+@code{f,map[K1]map[K2]Struct}, @code{}[]map[K1]Struct[]},
+@code{time.Duration}, @code{*SampleStruct}, and @code{*int}")
+ (license license:expat)))
+
(define-public go-github-com-cskr-pubsub
(package
(name "go-github-com-cskr-pubsub")
@@ -2100,7 +3638,7 @@ metrics to Graphite.")
(define-public go-github-com-cyphar-filepath-securejoin
(package
(name "go-github-com-cyphar-filepath-securejoin")
- (version "0.3.2")
+ (version "0.3.4")
(source
(origin
(method git-fetch)
@@ -2109,7 +3647,7 @@ metrics to Graphite.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "10clm1hfzndwhi7lwz5ph72apxwbxr3vg4nln5xsrrx26j6qv6v2"))))
+ (base32 "1iflclxcm5a4g2qp980q5qr1g4dwdxn02nnvvx3pi4sa1gk5bmr3"))))
(build-system go-build-system)
(arguments
(list
@@ -2147,6 +3685,8 @@ more tangible.")
(arguments
(list
#:import-path "github.com/d4l3k/messagediff"))
+ (propagated-inputs
+ (list go-golang-org-x-net))
(home-page "https://github.com/d4l3k/messagediff")
(synopsis "Diff arbitrary Go structs")
(description
@@ -2246,6 +3786,34 @@ gist (https://gist.github.com/kballard/272720).")
(description "This package provides functionality to generate Go code.")
(license license:expat)))
+(define-public go-github-com-daviddengcn-go-colortext
+ (package
+ (name "go-github-com-daviddengcn-go-colortext")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/daviddengcn/go-colortext")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0j5ldwg3a768d3nniiglghr9axj4p87k7f7asqxa1a688xvcms48"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/daviddengcn/go-colortext"))
+ (native-inputs
+ (list go-github-com-golangplus-testing))
+ (home-page "https://github.com/daviddengcn/go-colortext")
+ (synopsis "Change the color of console text and background")
+ (description
+ "This is a package to change the color of the text and background in the
+console, working both under Windows and other systems. Under Windows, the
+console APIs are used. Otherwise, ANSI texts are output.")
+ ;; dual-licensed
+ (license (list license:bsd-3 license:expat))))
+
(define-public go-github-com-dbaggerman-cuba
(package
(name "go-github-com-dbaggerman-cuba")
@@ -2274,6 +3842,30 @@ gist (https://gist.github.com/kballard/272720).")
more complicated parallel cases.")
(license license:expat)))
+(define-public go-github-com-dchest-stemmer
+ (package
+ (name "go-github-com-dchest-stemmer")
+ (version "0.0.0-20161207102402-66719a20c4b5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dchest/stemmer")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1r2rz8ynmcrkwjk8sq10n6jgxmkfqf2wqy8nvgriyww41pfq5fgn"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/dchest/stemmer"))
+ (home-page "https://github.com/dchest/stemmer")
+ (synopsis "Stemmer package for Golang")
+ (description
+ "Stemmer package provides an interface for stemmers and includes English,
+German and Dutch stemmers as sub-packages.")
+ (license license:bsd-2)))
+
(define-public go-github-com-deckarep-golang-set
(package
(name "go-github-com-deckarep-golang-set")
@@ -2319,6 +3911,93 @@ more complicated parallel cases.")
(propagated-inputs
(list go-github-com-elliotchance-orderedmap-v2))))
+(define-public go-github-com-delthas-go-localeinfo
+ (package
+ (name "go-github-com-delthas-go-localeinfo")
+ (version "0.0.0-20240813094314-e5413e186769")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/delthas/go-localeinfo")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0nw21gv3j7cc9x4gq4avlg4s7xzgc7gxrkmq4v451zrvx0mnv0bn"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/delthas/go-localeinfo"))
+ (home-page "https://github.com/delthas/go-localeinfo")
+ (synopsis "Library for extracting locale information")
+ (description
+ "@code{go-localeinfo} extracts monetary/numeric/time
+formatting information, rather than the current locale name.")
+ (license license:expat)))
+
+(define-public go-github-com-dennwc-btrfs
+ (package
+ (name "go-github-com-dennwc-btrfs")
+ (version "0.0.0-20241002142654-12ae127e0bf6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dennwc/btrfs")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0afc1clhzzhvshxp6xqs4d1hq681pzm85fqwjdgs9yh0j5bxjnhg"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/dennwc/btrfs"
+ #:test-flags
+ ;; Tests require "mount" and "mkfs.btrfs" in the PATH.
+ #~(list "-skip"
+ (string-join
+ (list "TestCloneFile"
+ "TestCompression"
+ "TestIsSubvolume"
+ "TestOpen"
+ "TestResize"
+ "TestSubvolumes")
+ "|"))))
+ (native-inputs
+ (list go-github-com-spf13-cobra)) ; for CLI
+ (propagated-inputs (list go-github-com-dennwc-ioctl))
+ (home-page "https://github.com/dennwc/btrfs")
+ (synopsis "Btrfs library in a pure Golang")
+ ;; XXX: Projects lacks README or any other documentation describing the
+ ;; functionality.
+ (description
+ "This package implements Btrfs functionality in a pure Go.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-dennwc-ioctl
+ (package
+ (name "go-github-com-dennwc-ioctl")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dennwc/ioctl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01b5d6fywrzs0q4q1j2c3qb15hwslb405w7bbc54w4qav0f61l55"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/dennwc/ioctl"))
+ (home-page "https://github.com/dennwc/ioctl")
+ (synopsis "Golang implementation of ioctl")
+ (description
+ "This package provides @code{ioctl} wrapper to std @code{syscall} and
+@code{os}.")
+ (license license:expat)))
+
(define-public go-github-com-dennwc-varint
(package
(name "go-github-com-dennwc-varint")
@@ -2336,14 +4015,9 @@ more complicated parallel cases.")
(arguments
(list
#:import-path "github.com/dennwc/varint"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'disable-failing-tests
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (substitute* (find-files "." "\\_test.go$")
- ;; XXX: varint_test.go:94: unexpected error: -11.
- (("TestUvarint") "OffTestUvarint"))))))))
+ ;; XXX: varint_test.go:94: unexpected error: -11.
+ #:test-flags
+ #~(list "-skip" "TestUvarint/overflow|TestUvarint/overflow_short")))
(home-page "https://github.com/dennwc/varint")
(synopsis "Fast varint library for Golang")
(description
@@ -2351,6 +4025,30 @@ more complicated parallel cases.")
encoding/decoding. It has no dependencies.")
(license license:expat)))
+(define-public go-github-com-detailyang-go-fallocate
+ (package
+ (name "go-github-com-detailyang-go-fallocate")
+ (version "0.0.0-20180908115635-432fa640bd2e")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/detailyang/go-fallocate")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1yvgkj5i43ihagdwg70vjgrhwf2mjsbyv2xwd6znsdwav6qpcdnw"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/detailyang/go-fallocate"))
+ (home-page "https://github.com/detailyang/go-fallocate")
+ (synopsis "Syscal @code{fallocate} implementation in Golang")
+ (description
+ "This package implements syscal @code{fallocate} by wrapping standard Go
+@code{os.SEEK_SET}.")
+ (license license:expat)))
+
(define-public go-github-com-dgraph-io-badger
(package
(name "go-github-com-dgraph-io-badger")
@@ -2368,6 +4066,10 @@ encoding/decoding. It has no dependencies.")
(arguments
(list
#:import-path "github.com/dgraph-io/badger"
+ #:test-flags
+ #~(list "-skip"
+ ;; Test fails with error: assertion is not equal.
+ "TestBuildKeyValueSizeHistogram/All_same_size_key-values")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-failing-tests
@@ -2379,15 +4081,7 @@ encoding/decoding. It has no dependencies.")
;; fmt.Sprint(x)?).
;; See: <https://github.com/dgraph-io/badger/issues/2103>.
(("\"testing\"") (string-append "\"testing\"\n\"fmt\""))
- (("string") "fmt.Sprint")))))
- ;; XXX: Replace when go-build-system supports nested path.
- (replace 'check
- (lambda* (#:key import-path tests? #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v"
- "-skip" "TestBuildKeyValueSizeHistogram"
- "./..." ))))))))
+ (("string") "fmt.Sprint"))))))))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
@@ -2463,6 +4157,119 @@ supports concurrent serializable transactions.")
on throughput and hit ratio performance.")
(license (list license:asl2.0 license:expat))))
+(define-public go-github-com-dgryski-go-linebreak
+ (package
+ (name "go-github-com-dgryski-go-linebreak")
+ (version "0.0.0-20180812204043-d8f37254e7d3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dgryski/go-linebreak")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0jv8ldb9vh5mgh66g61fh418x16s8jszrykhkbc901y1llf2mi22"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/dgryski/go-linebreak"))
+ (home-page "https://github.com/dgryski/go-linebreak")
+ (synopsis "Wraps text at a given width")
+ (description
+ "Package linebreak wraps text at a given width, it's a translation of
+@url{http://xxyxyz.org/line-breaking/, linear}, an implementation of
+@url{https://en.wikipedia.org/wiki/SMAWK_algorithm, SMAWK algorithm}.")
+ (license license:expat)))
+
+;; The project provides no go.mod files and contains a veracity of commands
+;; and libraries which might need missing dependencies, update them on demand.
+(define-public go-github-com-dgryski-trifles
+ (package
+ (name "go-github-com-dgryski-trifles")
+ (version "0.0.0-20240922021506-5ecb8eeff266")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dgryski/trifles")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "071pnsyax99ikc58b110hdvqk1v46mqk6zdd0sshrf9lmwixwpnj"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:tests? #f
+ #:import-path "github.com/dgryski/trifles"))
+ (home-page "https://github.com/dgryski/trifles")
+ (synopsis "Collection of Golang utitity libraries and commands")
+ (description
+ "This package provides a collection veriaty of utility libraries:
+
+@itemize
+@item intset - compress a stream of integers
+@item lz - lempel-ziv compression
+@item threadtree - a threaded binary-tree
+@item numerical - numerical integration and root finding
+@item maze - maze generation stuff
+@item hist - simple command-line histogramming tool
+@item simhash - trivial simhash implementation
+@item wscat - trivial websocket netcat
+@item servedir - trivial http fileserver
+@item rndtxt - generate random text strings
+@item mpush - push to multiple notification services (pushbullet, nma, pushover)
+@item superbat - batmanjs and go-restful playground
+@item msgrpc - msgpack rpc python/go interop samples
+@item quantile - testing different streaming quantile estimators
+@item wtflog - logging package with some renamed log levels
+@item qrshow - display QR codes in a terminal
+@item nlz - asm code to find number of leading zeros
+@item httpecho - server to dump information about an http request
+@item lzpack - trivial packed format for lz4 compression
+@item grinderplot - generate a flot chart from grinder logs
+@item worker - framework for spawning concurrent workers
+@item gddo - search godoc.org from the command line
+@item uuid - generate random UUIDs
+@item entropy - reducer to compute entropy per epoch for a set of values in a category
+@item inthash - integer hashing functions
+@item udprelay - simple udp-to-tcp multiplexing relay
+@item shufsecs - shuffle sorted epoch-data within epochs
+@item strtable - dumb string->uint32 hash table for profiling vs native maps
+@item cachetest - playing with different caching algorithms (clock, lru, lfu, random)
+@item glj - passing data from go to lua with msgpack
+@item toms - text filter for time.Duration to milliseconds
+@item bluniq - bloom-filter based unique filter
+@item skvdist - check distribution of shardedkv choosers
+@item gcwatch - print out garbage collection stats from /debug/vars
+@item toepoch - convert time fields to epochs
+@item repl - framework for making dumb repls for testing
+@item skvchk - tool for checking shardedkv distributions
+@item interp - interpolation search
+@item oma - simulation of the Dutch children's board game \"Met de bus naar Oma\"
+@item rndsample - uniform random sample from stdin
+@item pphrase - simple passphrase generator
+@item fastrand - fast xorshift rng with bias-free [0..n)
+@item range2cird - turn IP ranges into CIDR
+@item gfmt - trivial filter wrapping go-linebreak
+@item mtest - port of libtommath test program
+@item leven - fastest levenshtein distance algorithm I could find
+@item matcher - test different methods of testing string set membership
+@item cstbucket - crunch carbonserver logs for time-ranges of queries
+@item stablepart - stable partition a sort.Interface on a boolean predicate
+@item jumpreplica - tool for playing with replica choices for jump-hash
+@item sshdregex - demo using ragel for optimized regexp matching
+@item hllbench - benchmark different hyperloglog implementations
+@item shlines, sipsum - tools for siphashing things
+@item urlq - extract query parameters from a list of URLs
+@item median - compute the median of 5 numbers with a sorting network
+@item hashbench - benchmark different hashing functions
+@item fastpprof - how to use pprof with fasthttp
+@item ewmaest - progress logging with ewma-based ETA estimation
+@end itemize")
+ (license license:expat)))
+
(define-public go-github-com-dimchansky-utfbom
(package
(name "go-github-com-dimchansky-utfbom")
@@ -2486,6 +4293,32 @@ on throughput and hit ratio performance.")
Mark} detection.")
(license license:asl2.0)))
+(define-public go-github-com-disintegration-imaging
+ (package
+ (name "go-github-com-disintegration-imaging")
+ (version "1.6.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/disintegration/imaging")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1sl201nmk601h0aii4234sycn4v2b0rjxf8yhrnik4yjzd68q9x5"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/disintegration/imaging"))
+ (inputs
+ (list go-golang-org-x-image))
+ (home-page "https://github.com/disintegration/imaging")
+ (synopsis "Simple image processing for Go")
+ (description
+ "This package provides basic image processing functions
+(resize, rotate, crop, brightness/contrast adjustments, etc.).")
+ (license license:expat)))
+
(define-public go-github-com-djherbis-atime
(package
(name "go-github-com-djherbis-atime")
@@ -2557,6 +4390,101 @@ mtime,ctime and btime for files.")
"Regexp2 is a feature-rich RegExp engine for Go.")
(license license:expat)))
+(define-public go-github-com-dnephin-pflag
+ (package
+ (name "go-github-com-dnephin-pflag")
+ (version "1.0.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dnephin/pflag")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1d3aakwpwdbq3lqpk5kdqlr0h7maqxnpsbrd2022xwd93fxyxcq0"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f ; FIXME
+ #:import-path "github.com/dnephin/pflag"))
+ (home-page "https://github.com/dnephin/pflag")
+ (synopsis "Drop-in replacement for Go's flag package")
+ (description
+ "Package pflag is a drop-in replacement for Go's flag package,
+implementing POSIX/GNU-style --flags. It is compatible with the
+@url{http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html,
+GNU extensions to the POSIX recommendations for command-line options}. This
+is an activly maintained fork of @url{https://github.com/ogier/pflag}.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-docker-distribution
+ (package
+ (name "go-github-com-docker-distribution")
+ (version "2.8.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/docker/distribution")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0dbaxmkhg53anhkzngyzlxm2bd4dwv0sv75zip1rkm0874wjbxzb"))
+ (snippet
+ ;; TODO: Unbundle more.
+ #~(begin (use-modules (guix build utils))
+ (for-each delete-file-recursively
+ (list "vendor/golang.org"))))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/docker/distribution"
+ #:test-flags #~(list "-test.short")
+ #:test-subdirs
+ #~(list "configuration"
+ "context"
+ "health"
+ "manifest/..."
+ "notifications/..."
+ "uuid")))
+ (native-inputs
+ (list go-github-com-sirupsen-logrus
+ go-golang-org-x-crypto
+ go-golang-org-x-sys))
+ (home-page "https://github.com/docker/distribution")
+ (synopsis
+ "This package is a Docker toolset to pack, ship, store, and deliver content")
+ (description
+ "Docker Distribution is a Docker toolset to pack, ship,
+store, and deliver content. It contains Docker Registry 2.0 and libraries to
+interact with distribution components.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-docker-go-units
+ (package
+ (name "go-github-com-docker-go-units")
+ (version "0.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/docker/go-units")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0q92l7pyfg9rn4ljr1warnv1ri6z7svah7m3rqmvmyaw6bzdbbw8"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/docker/go-units"))
+ (home-page "https://github.com/docker/go-units")
+ (synopsis "Parse and print size and time units in human-readable format")
+ (description
+ "@code{go-units} is a library to transform human friendly measurements
+into machine friendly values.")
+ (license license:asl2.0)))
+
(define-public go-github-com-docopt-docopt-go
(let ((commit "ee0de3bc6815ee19d4a46c7eb90f829db0e014b1")
(revision "0"))
@@ -2601,6 +4529,8 @@ implementation of http://docopt.org/.")
(arguments
(list
#:import-path "github.com/dsnet/golib"))
+ (propagated-inputs
+ (list go-github-com-google-go-cmp))
(home-page "https://github.com/dsnet/golib")
(synopsis "Collection of helper libraries for Golang")
(description
@@ -2624,41 +4554,6 @@ Implements string conversion functionality for unit prefixes.
@end table")
(license license:bsd-3)))
-(define-public go-github-com-dustin-gojson
- (package
- (name "go-github-com-dustin-gojson")
- (version "v0.0.0-20160307161227-2e71ec9dd5ad")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/dustin/gojson")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1vrmmyn7l568l1k71mxd54iqf3d54pn86cf278i374j86jn0bdxf"))
- (modules '((guix build utils)))
- (snippet '(begin
- ;; Fix the library to work with go-1.21.
- (substitute* "decode.go"
- (("trying to unmarshal unquoted value into")
- "trying to unmarshal unquoted value %v into"))
- (substitute* "decode_test.go"
- (("t.Fatalf\\(\"Unmarshal: %v\"\\)")
- "t.Fatalf(\"Unmarshal: %v\", data)")) ;))))
- (substitute* "scanner.go"
- (("s := strconv.Quote\\(string\\(c\\)\\)")
- "s := strconv.QuoteRune(rune(c))"))))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/dustin/gojson"))
- (home-page "https://github.com/dustin/gojson")
- (synopsis "Extended Golang's @code{encoding/json} module with the public scanner API")
- (description
- "This package provides a fork of Golang's @code{encoding/json} with the
-scanner API made public.")
- (license license:bsd-3)))
-
(define-public go-github-com-dustin-go-humanize
(package
(name "go-github-com-dustin-go-humanize")
@@ -2928,6 +4823,62 @@ specified in @url{https://datatracker.ietf.org/doc/html/rfc6350, RFC 6350}.")
@url{https://tools.ietf.org/html/rfc6352, RFC 6352} specifications.")
(license license:expat)))
+(define-public go-github-com-emirpasic-gods
+ (package
+ (name "go-github-com-emirpasic-gods")
+ (version "1.18.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/emirpasic/gods")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0vnnmv813m8yhykwlxpizpvpimsirbaiwa3ckxfyx3ybv1swlq44"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/emirpasic/gods"))
+ (home-page "https://github.com/emirpasic/gods/")
+ (synopsis "Implementation of various data structures and algorithms in Go")
+ (description
+ "This package provides implementation of various data structures and
+algorithms in Go.")
+ (license license:bsd-2)))
+
+(define-public go-github-com-erikgeiser-coninput
+ (package
+ (name "go-github-com-erikgeiser-coninput")
+ (version "0.0.0-20211004153227-1c3628e74d0f")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/erikgeiser/coninput")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1x8yw15ngyg4vlcdv5wsgpr6w5kavjv7bmk5mpvvx848bwvslr1r"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/erikgeiser/coninput"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key import-path #:allow-other-keys)
+ (delete-file-recursively
+ (string-append "src/" import-path "/example")))))))
+ (propagated-inputs
+ (list go-golang-org-x-sys))
+ (home-page "https://github.com/erikgeiser/coninput")
+ (synopsis "Input handling with Windows Console API")
+ (description
+ "Go library for input handling using Windows Console API.")
+ (license license:expat)))
+
(define-public go-github-com-errata-ai-ini
(package
(name "go-github-com-errata-ai-ini")
@@ -2989,6 +4940,36 @@ and @code{io.ReadCloser}) with overwrites
" This package is a fork of dlclark/regexp2 providing a
more similar API to regexp."))))
+(define-public go-github-com-ettle-strcase
+ (package
+ (name "go-github-com-ettle-strcase")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ettle/strcase")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1gg3zxbbp3vfskzg2dl1s1agjn34dw14282fj28g9nrwqbbq854x"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/ettle/strcase"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-benchmark
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file-recursively "benchmark")))))))
+ (home-page "https://github.com/ettle/strcase")
+ (synopsis "String naming convention style library")
+ (description
+ "Package strcase is a package for converting strings into various word
+cases (e.g. snake_case, camelCase, kebab-case, etc).")
+ (license license:expat)))
+
(define-public go-github-com-expr-lang-expr
(package
(name "go-github-com-expr-lang-expr")
@@ -3001,7 +4982,16 @@ more similar API to regexp."))))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "08p7gcxm7psgn1rzhhy2s2va59ssy77x8wd706gdp2pif7wln883"))))
+ (base32 "08p7gcxm7psgn1rzhhy2s2va59ssy77x8wd706gdp2pif7wln883"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separately:
+ ;;
+ ;; - github.com/expr-lang/expr/repl
+ ;; - github.com/expr-lang/expr/debug
+ (for-each delete-file-recursively
+ (list "repl" "debug"))))))
(build-system go-build-system)
(arguments
(list
@@ -3074,6 +5064,30 @@ in a consistent state and never represent an in-progress write.")
Alphanum Algorithm} developed by Dave Koelle in Go.")
(license license:bsd-3)))
+(define-public go-github-com-fatih-camelcase
+ (package
+ (name "go-github-com-fatih-camelcase")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fatih/camelcase")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0z7rw6f5j97dkzqya257dqlxf3cm8zl508081gmnr4bsjhkwpz2l"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/fatih/camelcase"))
+ (home-page "https://github.com/fatih/camelcase")
+ (synopsis "Split a camelcase word into a slice of words in Go")
+ (description
+ "Package camelcase is a micro package to split the words of a camelcase type
+string into a slice of words.")
+ (license license:expat)))
+
(define-public go-github-com-fatih-color
(package
(name "go-github-com-fatih-color")
@@ -3101,6 +5115,53 @@ Alphanum Algorithm} developed by Dave Koelle in Go.")
defined output to the standard output.")
(license license:expat)))
+(define-public go-github-com-fatih-structs
+ (package
+ (name "go-github-com-fatih-structs")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fatih/structs")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1wrhb8wp8zpzggl61lapb627lw8yv281abvr6vqakmf569nswa9q"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/fatih/structs"))
+ (home-page "https://github.com/fatih/structs")
+ (synopsis "Utilities for Go structs")
+ (description "This package provides various utilitiy functions to work
+with Go structs.")
+ (license license:expat)))
+
+(define-public go-github-com-fatih-structtag
+ (package
+ (name "go-github-com-fatih-structtag")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fatih/structtag")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "09a9pycvkf384v5f47ff4q33bjbzpx6kbkn23za1gcwc96466sk3"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/fatih/structtag"))
+ (home-page "https://github.com/fatih/structtag")
+ (synopsis "Parse and modify Go struct field tags")
+ (description
+ "This package provides an easy way of parsing and manipulating struct tag fields.
+Please vendor the library as it might change in future versions.")
+ (license license:bsd-3)))
+
;; XXX: This repository has been archived by the owner on Nov 9, 2017. It is
;; now read-only.
(define-public go-github-com-flynn-archive-go-shlex
@@ -3132,7 +5193,7 @@ quoting, commenting, and escaping.")
(define-public go-github-com-fsnotify-fsnotify
(package
(name "go-github-com-fsnotify-fsnotify")
- (version "1.7.0")
+ (version "1.8.0")
(source
(origin
(method git-fetch)
@@ -3141,11 +5202,12 @@ quoting, commenting, and escaping.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1h7vs21lkj4bqbw5a6mqykaf56y181r0nja7c8pzajkvbsc39y8m"))))
+ (base32 "1wr3695yb7hl405h6pzkbdkkxpdbmc5kwjjwaf9almbvmpk6077r"))))
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/fsnotify/fsnotify"))
+ #:import-path "github.com/fsnotify/fsnotify"
+ #:test-flags #~(list "-skip" "TestDiffMatch/3")))
(propagated-inputs
(list go-golang-org-x-sys))
(home-page "https://github.com/fsnotify/fsnotify")
@@ -3239,10 +5301,252 @@ Differentiation between text and binary files}.
@end itemize")
(license license:expat)))
+(define-public go-github-com-gdamore-encoding
+ (package
+ (name "go-github-com-gdamore-encoding")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gdamore/encoding")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0506b4pnn3yk80sjrsh38z29qj41spxjl80fjw7vg3mz5kfkdxhi"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/gdamore/encoding"))
+ (inputs
+ (list go-golang-org-x-text))
+ (home-page "https://github.com/gdamore/encoding")
+ (synopsis "Provide encodings missing from Go")
+ (description
+ "This package provides useful encodings not included in the standard
+@code{Text} package, including some for dealing with I/O streams from
+non-UTF-friendly sources.")
+ (license license:expat)))
+
+(define-public go-github-com-gdamore-tcell
+ (package
+ (name "go-github-com-gdamore-tcell")
+ (version "1.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gdamore/tcell")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "178h7kj4zb8lcw84nbqanapnxrgvhq4111xw4fj6m56y46anlzwg"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/gdamore/tcell"))
+ (inputs
+ (list go-github-com-gdamore-encoding
+ go-github-com-mattn-go-runewidth
+ go-github-com-lucasb-eyer-go-colorful
+ go-golang-org-x-sys
+ go-golang-org-x-text))
+ (home-page "https://github.com/gdamore/tcell")
+ (synopsis "Provide a cell-based view for text terminals")
+ (description
+ "This package includes a full parser and expander for terminfo
+capability strings to avoid hard-coding escape strings for formatting. It
+also favors portability, and includes support for all POSIX systems.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-gdamore-tcell-v2
+ (package
+ (inherit go-github-com-gdamore-tcell)
+ (name "go-github-com-gdamore-tcell-v2")
+ (version "2.7.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gdamore/tcell")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05b22sgyf8lnwjddxlfvlj7i8b67gnidhbnz86vvx8fddggpa5nd"))))
+ (arguments
+ (list
+ #:import-path "github.com/gdamore/tcell/v2"))
+ (propagated-inputs
+ (modify-inputs (package-inputs go-github-com-gdamore-tcell)
+ (prepend go-golang-org-x-term go-golang-org-x-sys)))))
+
+(define-public go-github-com-delthas-tcell-v2
+ ;; TODO This variant allows upgrading senpai, and looks to be unnecessary in
+ ;; the next release of senpai
+ (hidden-package
+ (package
+ (inherit go-github-com-gdamore-tcell)
+ (name "go-github-com-delthas-tcell")
+ (version "2.4.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/delthas/tcell")
+ (commit "837a7d7")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05zr73q38dawl7hr6g7v4pkyv6mqr0zp2l9qsgn7xmf1p9q4bn7j"))))
+ (propagated-inputs
+ (modify-inputs (package-inputs go-github-com-gdamore-tcell)
+ (prepend go-golang-org-x-term go-golang-org-x-sys))))))
+
+(define-public go-github-com-gedex-inflector
+ (package
+ (name "go-github-com-gedex-inflector")
+ (version "0.0.0-20170307190818-16278e9db813")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gedex/inflector")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05hjqw1m71vww4914d9h6nqa9jw3lgjzwsy7qaffl02s2lh1amks"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/gedex/inflector"))
+ (home-page "https://github.com/gedex/inflector")
+ (synopsis "Go library that pluralizes and singularizes English nouns")
+ (description
+ "Go library that pluralizes and singularizes English nouns.")
+ (license license:bsd-2)))
+
+(define-public go-github-com-git-lfs-go-netrc
+ (package
+ (name "go-github-com-git-lfs-go-netrc")
+ (version "0.0.0-20230601124202-e96144b9a966")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/git-lfs/go-netrc")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1rb8xk0gp7yvw10zs122p48qhj3xc9csaykbflr7wdfx5xqpbr2f"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/git-lfs/go-netrc"))
+ (home-page "https://github.com/git-lfs/go-netrc")
+ (synopsis "Netrc file parser for Go")
+ (description
+ "This package is for reading and writing netrc files. This package can
+parse netrc files, make changes to them, and then serialize them back to netrc
+format, while preserving any whitespace that was present in the source file.")
+ (license license:expat)))
+
+(define-public go-github-com-gizak-termui-v3
+ (package
+ (name "go-github-com-gizak-termui-v3")
+ (version "3.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gizak/termui")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1v3k8l5p95kb1v297ra5mw9sxdd59y82y6ibjzya5ma2pry6k5cn"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/gizak/termui/v3"
+ #:unpack-path "github.com/gizak/termui"))
+ (propagated-inputs
+ (list go-github-com-mattn-go-runewidth
+ go-github-com-mitchellh-go-wordwrap
+ go-github-com-nsf-termbox-go))
+ (home-page "https://github.com/gizak/termui")
+ (synopsis "Terminal dashboard widget Go library")
+ (description
+ "The termui Go library draws customizable dashboard widgets in a text
+terminal. It includes several common widgets: lists, trees, tables and tabs,
+but also more complex items such as (stacked) bar and pie charts, scatter
+plots, gauges, and even images and a canvas for drawing `high resolution'
+braille dots.
+
+You can also easily create new custom widgets. Widgets can be coloured and
+styled and positioned absolutely or relatively. They respond to keyboard,
+mouse, and terminal resizing events.")
+ (license license:expat)))
+
+(define-public go-github-com-go-cmd-cmd
+ (package
+ (name "go-github-com-go-cmd-cmd")
+ (version "1.4.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-cmd/cmd")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1n465pnvphvs4jp3mn1krbxb0wcjclfcrif1c5zcir8idj18vsax"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/go-cmd/cmd"))
+ (native-inputs
+ (list go-github-com-go-test-deep))
+ (home-page "https://github.com/go-cmd/cmd")
+ (synopsis "Non-blocking external commands in Go with streaming output")
+ (description
+ "Package cmd runs external commands with concurrent access to output and
+status. It wraps the Go standard library @code{os/exec.Command} to correctly
+handle reading output (STDOUT and STDERR) while a command is running and
+killing a command. All operations are safe to call from multiple
+goroutines.")
+ (license license:expat)))
+
+(define-public go-github-com-go-errors-errors
+ (package
+ (name "go-github-com-go-errors-errors")
+ (version "1.5.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-errors/errors")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ydwx20al9x99xnki0srb9iy96y638inw05xx5jb16dn8rz09wib"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/go-errors/errors"
+ ;; Stack trace does not contain source line: 'a: b(5)'.
+ #:test-flags #~(list "-skip" "TestStackFormat")))
+ (home-page "https://github.com/go-errors/errors")
+ (synopsis "Errors with stacktraces for Golang")
+ (description
+ "Package errors provides errors that have stack-traces. It provides the
+type @code{*Error} which implements the standard golang error interface, so
+you can use this library interchangeably with code that is expecting a normal
+error return.")
+ (license license:expat)))
+
(define-public go-github-com-go-git-go-billy-v5
(package
(name "go-github-com-go-git-go-billy-v5")
- (version "5.5.0")
+ (version "5.6.0")
(source
(origin
(method git-fetch)
@@ -3251,13 +5555,14 @@ Differentiation between text and binary files}.
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1r7hfwc6lqnb7jhbbmicdlb3yipjyazq3pndpffw026fcq7jhxg1"))))
+ (base32 "061yczvpxq5xcnjbi8ywx0qvrispi8pwk3nqky5cv1dsi6xzkchc"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/go-git/go-billy/v5"))
(native-inputs
(list go-github-com-onsi-gomega
+ go-github-com-stretchr-testify
go-gopkg-in-check-v1))
(propagated-inputs
(list go-github-com-cyphar-filepath-securejoin
@@ -3287,8 +5592,9 @@ operations.")
(build-system go-build-system)
(arguments
(list
- ;; XXX: panic: runtime error: makeslice: cap out of range
+ ;; XXX: The onpanic: runtime error: makeslice: cap out of range
#:tests? (target-64bit?)
+ #:test-subdirs #~(list ".")
#:import-path "github.com/go-git/go-git-fixtures/v4"))
(native-inputs
(list go-github-com-stretchr-testify))
@@ -3301,6 +5607,48 @@ operations.")
"This package provides fixtures used by @code{go-git}.")
(license license:asl2.0)))
+(define-public go-github-com-go-git-go-git-fixtures-v5
+ (package
+ (inherit go-github-com-go-git-go-git-fixtures-v4)
+ (name "go-github-com-go-git-go-git-fixtures-v5")
+ (version "5.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-git/go-git-fixtures")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0mdwqdmqbqmrh21n25nqrv48zkamgw89parcbyp7k2skqk1jkjpf"))))
+ (arguments
+ (list
+ #:import-path "github.com/go-git/go-git-fixtures/v5"))))
+
+(define-public go-github-com-go-ini-ini
+ (package
+ (name "go-github-com-go-ini-ini")
+ (version "1.67.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-ini/ini")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vpzkjmrwp7bqqsijp61293kk2vn6lcck56j8m5y6ks6cf21lpap"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/go-ini/ini"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (home-page "https://gopkg.in/ini.v1")
+ (synopsis "INI file read and write functionality in Go")
+ (description
+ "This package provides INI file read and write functionality in Go.")
+ (license license:asl2.0)))
+
(define-public go-github-com-go-kit-log
(package
(name "go-github-com-go-kit-log")
@@ -3454,6 +5802,78 @@ implemented features include
@end itemize")
(license license:expat)))
+(define-public go-github-com-go-playground-universal-translator
+ (package
+ (name "go-github-com-go-playground-universal-translator")
+ (version "0.18.1")
+ (home-page "https://github.com/go-playground/universal-translator")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1lgz9wrkcfx6q3x6i9fprr8rfwnk0c6x61jgzacgikbmzsl7dw6v"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/go-playground/universal-translator"))
+ (propagated-inputs
+ (list go-github-com-go-playground-locales))
+ (synopsis "Translator using Unicode CLDR data and pluralization rules")
+ (description
+ "This package offers an Internalization Translator for Go using
+@uref{http://cldr.unicode.org/, Unicode CLDR Project} data and pluralization
+rules. Its currently implemented features include
+
+@itemize
+@item Rules generated from the CLDR data, v30.0.3
+@item Contains Cardinal, Ordinal and Range Plural Rules
+@item Contains Month, Weekday and Timezone translations built in
+@item Contains Date & Time formatting functions
+@item Contains Number, Currency, Accounting and Percent formatting functions
+@item Supports the \"Gregorian\" calendar only
+@item Support loading translations from files
+@item Exporting translations to file(s), mainly for getting them
+professionally translated
+@end itemize")
+ (license license:expat)))
+
+(define-public go-github-com-go-sql-driver-mysql
+ (package
+ (name "go-github-com-go-sql-driver-mysql")
+ (version "1.8.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-sql-driver/mysql")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ihdqg411gkv454fwx8w5nbndgkm5dz5phfliksxgmhggyxxm7sn"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/go-sql-driver/mysql"
+ #:test-flags
+ #~(list "-skip" (string-join
+ (list "TestConnectorReturnsTimeout"
+ "TestErrorInMultiResult"
+ "TestDSNReformat/user:p"
+ "FuzzFormatDSN/seed#8")
+ "|"))))
+ (propagated-inputs
+ (list go-filippo-io-edwards25519))
+ (home-page "https://github.com/go-sql-driver/mysql")
+ (synopsis "MySQL driver for golang")
+ (description
+ "This is a pure Go implementation of the MySQL API, compatible with
+golang's database/sql package.")
+ (license license:mpl2.0)))
+
(define-public go-github-com-go-stack-stack
(package
(name "go-github-com-go-stack-stack")
@@ -3470,7 +5890,13 @@ implemented features include
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/go-stack/stack"))
+ #:import-path "github.com/go-stack/stack"
+ #:test-flags
+ #~(list "-skip" (string-join
+ (list "TestCallStackString"
+ "TestCallStackMarshalText"
+ "TestTrimRuntime")
+ "|"))))
(home-page "https://github.com/go-stack/stack")
(synopsis "Utilities to capture, manipulate, and format call stacks")
(description
@@ -3536,6 +5962,30 @@ the library more lightweight.")
(package-arguments go-github-com-go-task-slim-sprig)
((#:import-path _) "github.com/go-task/slim-sprig/v3")))))
+(define-public go-github-com-go-yaml-yaml
+ (package
+ (name "go-github-com-go-yaml-yaml")
+ (version "0.0.0-20220527083530-f6f7691b1fde")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-yaml/yaml")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01b0wjb7yzv8wzzz2iim8mjpkwjnykcanrwiq06pkl89lr6gv8hn"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/go-yaml/yaml"))
+ (native-inputs (list go-gopkg-in-check-v1))
+ (propagated-inputs (list go-gopkg-in-yaml-v3))
+ (home-page "https://github.com/go-yaml/yaml")
+ (synopsis "YAML support for the Go language")
+ (description "Package yaml implements YAML support for the Go language.")
+ (license license:asl2.0)))
+
(define-public go-github-com-gobwas-glob
(package
(name "go-github-com-gobwas-glob")
@@ -3560,6 +6010,30 @@ the library more lightweight.")
"This package provides a Go implementation of globs.")
(license license:expat)))
+(define-public go-github-com-gobwas-pool
+ (package
+ (name "go-github-com-gobwas-pool")
+ (version "0.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gobwas/pool")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0imipsf8nslc78in78wcri2ir2zzajp2h543dp2cshrrdbwkybx7"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/gobwas/pool"))
+ (home-page "https://github.com/gobwas/pool")
+ (synopsis "Go Pooling Helpers")
+ (description
+ "Package pool contains helpers for pooling structures distinguishable by
+size.")
+ (license license:expat)))
+
(define-public go-github-com-goccy-go-yaml
(package
(name "go-github-com-goccy-go-yaml")
@@ -3610,6 +6084,64 @@ the library more lightweight.")
@end itemize")
(license license:expat)))
+(define-public go-github-com-godbus-dbus
+ (package
+ (name "go-github-com-godbus-dbus")
+ (version "0.0.0-20190726142602-4481cbc300e2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/godbus/dbus")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0h0cl1r136g0kxbw3i7ggb9mhavpi1yr7d7312iwhkxm93dxkphg"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/godbus/dbus"
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion (string-append "src/" import-path)
+ (invoke "dbus-run-session" "--"
+ "go" "test" "./..."
+ ;; Disable tests which require a system D-Bus
+ ;; instance.
+ "-skip" "TestSystemBus|TestConnectSystemBus"))))))))
+ (native-inputs
+ (list dbus)) ;dbus-launch
+ (home-page "https://github.com/godbus/dbus/")
+ (synopsis "Native Go client bindings for the D-Bus")
+ (description
+ "@code{dbus} is a library that implements native Go client bindings for
+the D-Bus message bus system.")
+ (license license:bsd-2)))
+
+(define-public go-github-com-godbus-dbus-v5
+ (package
+ (inherit go-github-com-godbus-dbus)
+ (name "go-github-com-godbus-dbus-v5")
+ (version "5.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/godbus/dbus")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kayd4x7idrhi06ahh5kqkgwzgh9icvv71mjar2d0jl486dfs8r5"))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-godbus-dbus)
+ ((#:import-path _ "github.com/godbus/dbus")
+ "github.com/godbus/dbus/v5")))))
+
+
(define-public go-github-com-gofrs-flock
(package
(name "go-github-com-gofrs-flock")
@@ -3705,6 +6237,183 @@ execution.")
"The chardet package ports character set detection from ICU to Go.")
(license license:expat)))
+(define-public go-github-com-golang-freetype
+ (package
+ (name "go-github-com-golang-freetype")
+ (version "0.0.0-20170609003504-e2365dfdc4a0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/golang/freetype")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "194w3djc6fv1rgcjqds085b9fq074panc5vw582bcb8dbfzsrqxc"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/golang/freetype"))
+ (propagated-inputs
+ (list go-golang-org-x-image))
+ (home-page "https://github.com/golang/freetype")
+ (synopsis "Freetype font rasterizer in the Go programming language")
+ (description
+ "The Freetype font rasterizer in the Go programming language.")
+ (license (list license:freetype
+ license:gpl2+))))
+
+(define-public go-github-com-golangplus-bytes
+ (package
+ (name "go-github-com-golangplus-bytes")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/golangplus/bytes")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0r8f9m7hm6idnbapfb01nw5h09a20b09r7sky2gkniympn98ra75"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/golangplus/bytes"))
+ (native-inputs
+ (list go-github-com-golangplus-testing-bootstrap))
+ (home-page "https://github.com/golangplus/bytes")
+ (synopsis "Extention to Golang standard @code{bytes} library.")
+ (description
+ "Package bytesp is a plus to the standard @code{bytes} package.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-golangplus-bytes-bootstrap
+ (hidden-package
+ (package
+ (inherit go-github-com-golangplus-bytes)
+ (arguments
+ (list #:skip-build? #t
+ #:tests? #f
+ #:import-path "github.com/golangplus/bytes"))
+ (native-inputs '())
+ (propagated-inputs '()))))
+
+(define-public go-github-com-gologme-log
+ (package
+ (name "go-github-com-gologme-log")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gologme/log")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0m7dszaisviq7fgwyxg9lwhxyzdab0w7d1zbilrnarzvyx9wh3ax"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/gologme/log"))
+ (home-page "https://github.com/gologme/log/")
+ (synopsis "Fork of the golang built in log package to add support for levels")
+ (description
+ "This package is a drop in replacement for the built-in Go log package.
+All the functionality of the built-in package still exists and is unchanged.
+This package contains a series of small enhancements and additions.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-gomodule-redigo
+ (package
+ (name "go-github-com-gomodule-redigo")
+ (version "1.9.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gomodule/redigo")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "03z02zmkl8cj73c6xrvlpj144d9ysikc25ay64dhpbzwkn16h5yv"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/gomodule/redigo"
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ ;; Run just unit tests which do not require Redis reducing
+ ;; closure size.
+ (list "TestDoCommands"
+ "TestPipelineCommands"
+ "TestBlankCommand"
+ "TestRecvBeforeSend"
+ "TestError"
+ "TestDialContext_CanceledContext"
+ "TestDialClientName"
+ "TestExecError"
+ "Test.*Pool.*"
+ "TestPushed"
+ "TestPubSubReceiveContext"
+ "TestSlowLog"
+ "TestLatency"
+ "TestLatencyHistories"
+ "TestScript"
+ "Example.*"
+ "TestConnMux"
+ "TestConnMuxClose")
+ "|"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (for-each delete-file
+ (list "redis/zpop_example_test.go"
+ "redis/scan_test.go"
+ "redis/pubsub_example_test.go"
+ "redis/reply_test.go"))))))))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/gomodule/redigo")
+ (synopsis "Go client for Redis")
+ (description
+ "Redigo is a Go client for the Redis database.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-google-gnostic-models
+ (package
+ (name "go-github-com-google-gnostic-models")
+ (version "0.6.9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/gnostic-models")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0z170sw1dlspxwbgpzffry5xm8mmcq7kpkrn0zkjzwdnmjhmmdqx"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/google/gnostic-models"
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'build)))) ; no go files in project's root
+ (propagated-inputs
+ (list go-google-golang-org-protobuf
+ go-gopkg-in-yaml-v3))
+ (home-page "https://github.com/google/gnostic-models")
+ (synopsis "Protocol Buffer models for Gnostic")
+ (description
+ "This package provides Protocol Buffer models and associated libraries
+for working with API description formats supported by
+@url{https://github.com/google/gnostic,gnostic}. It exists to provide a
+lightweight distribution of these models with minimal dependencies.")
+ (license license:asl2.0)))
+
(define-public go-github-com-google-goterm
(package
(name "go-github-com-google-goterm")
@@ -3731,6 +6440,31 @@ It also contains some convenience functions for colors, SSH to and from
termios translations, readCh, reading passwords, etc.")
(license license:bsd-3)))
+;; XXX: This repository has been archived by the owner on Dec 29, 2022. It is
+;; now read-only. It's only used by kiln, consider to remove it when it does
+;; no longer require it.
+(define-public go-github-com-google-shlex
+ (package
+ (name "go-github-com-google-shlex")
+ (version "0.0.0-20191202100458-e7afc7fbc510")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/shlex")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14z8hqyik910wk2qwnzgz8mjsmiamxa0pj55ahbv0jx6j3dgvzfm"))))
+ (build-system go-build-system)
+ (arguments (list #:import-path "github.com/google/shlex"))
+ (home-page "https://github.com/google/shlex")
+ (synopsis "Simple lexer for Go")
+ (description
+ "@code{shlex} implements a simple lexer which splits input into tokens
+using shell-style rules for quoting and commenting.")
+ (license license:asl2.0)))
+
(define-public go-github-com-google-subcommands
(package
(name "go-github-com-google-subcommands")
@@ -3845,6 +6579,169 @@ underneath and returns only matching files or direcories, depending on the
configuration.")
(license license:expat)))
+(define-public go-github-com-gorhill-cronexpr
+ (package
+ (name "go-github-com-gorhill-cronexpr")
+ (version "0.0.0-20180427100037-88b0669f7d75")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gorhill/cronexpr")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hc7xdfclp2qgkr1581jb3ckjvl34nxmqrnraci5jzmqx5av9j1r"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/gorhill/cronexpr"))
+ (home-page "https://github.com/gorhill/cronexpr")
+ (synopsis "Cron expression parser in the Go language")
+ (description
+ "This package provides a cron expression parser in the Go language.
+Given a cron expression and a time stamp, you can get the next time stamp
+which satisfies the cron expression.")
+ (license (list license:gpl3+
+ license:asl2.0))))
+
+(define-public go-github-com-gosuri-uilive
+ (package
+ (name "go-github-com-gosuri-uilive")
+ (version "0.0.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gosuri/uilive")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0pwxx0w4mv908dascnxkdjq865ks01niqy71imv4kllz0a84zkag"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/gosuri/uilive"))
+ (home-page "https://github.com/gosuri/uilive")
+ (synopsis "Updating terminal output in realtime")
+ (description
+ "Package uilive provides a writer that live updates the terminal. It
+provides a buffered io.Writer that is flushed at a timed interval.")
+ (license license:expat)))
+
+(define-public go-github-com-goverter-patherr
+ (package
+ (name "go-github-com-goverter-patherr")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/goverter/patherr")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1zjcyva959ir23rgk2rvc7ivlyan9dh2rqw7hl03h6xq935zznjq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/goverter/patherr"))
+ (home-page "https://github.com/goverter/patherr")
+ (synopsis "Implementation for Goverter's wrapErrorsUsing")
+ (description
+ "This package provides an implementation for the goverter feature
+@code{wrapErrorsUsing}.")
+ (license license:expat)))
+
+(define-public go-github-com-guptarohit-asciigraph
+ (package
+ (name "go-github-com-guptarohit-asciigraph")
+ (version "0.7.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/guptarohit/asciigraph")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1j708hj80hk1b39zbdfx6kqy75i70jhz55bml0jngqwfx698d1pv"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/guptarohit/asciigraph"))
+ (home-page "https://github.com/guptarohit/asciigraph")
+ (synopsis "ASCII line graphs for Golang")
+ (description
+ "This package can generate ASCII line graphs in Golang.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-hanwen-go-fuse
+ (package
+ (name "go-github-com-hanwen-go-fuse")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hanwen/go-fuse")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "04xa8mh34639lv1b2p8dx13x742j5i493i3sk89hd3jfskzvval1"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/hanwen/go-fuse"
+ ;; Most of the tests require "/bin/fusermount" to be available which
+ ;; is missed during packaging, limit to some unit tests only.
+ #:test-subdirs #~(list "internal/..." "splice")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-example
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file-recursively "example")))))))
+ (propagated-inputs
+ (list go-golang-org-x-sys))
+ (home-page "https://github.com/hanwen/go-fuse")
+ (synopsis "Go bindings for FUSE filesystems")
+ (description
+ "This is a repository containing Go bindings for writing FUSE file systems.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-hanwen-go-fuse-v2
+ (package
+ (inherit go-github-com-hanwen-go-fuse)
+ (name "go-github-com-hanwen-go-fuse-v2")
+ (version "2.7.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hanwen/go-fuse")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1fcf94chf9ffgjk0wcpnlz0kfb69m2fwzfn4k348kal75x178aar"))))
+ (build-system go-build-system)
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-hanwen-go-fuse)
+ ((#:import-path _) "github.com/hanwen/go-fuse/v2")
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (add-after 'unpack 'remove-benchmark
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file-recursively "benchmark"))))))))
+ (propagated-inputs
+ (list go-github-com-kylelemons-godebug
+ go-github-com-moby-sys-mountinfo
+ go-golang-org-x-sync
+ go-golang-org-x-sys))))
+
(define-public go-github-com-hashicorp-errwrap
(package
(name "go-github-com-hashicorp-errwrap")
@@ -3869,6 +6766,31 @@ configuration.")
wrapping errors and checking if an error contains another error.")
(license license:mpl2.0)))
+(define-public go-github-com-hashicorp-go-envparse
+ (package
+ (name "go-github-com-hashicorp-go-envparse")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/go-envparse")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0wqb96gbfrj5986a1cg1sa0412dk7qpnh9l2w3y5q7a38v2dlh9j"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/go-envparse"))
+ (home-page "https://github.com/hashicorp/go-envparse")
+ (synopsis "Environment variable parser for Golang")
+ (description
+ "Package envparse is a minimal environment variable parser. It handles
+empty lines, comments, single quotes, double quotes, and JSON escape
+sequences.")
+ (license license:mpl2.0)))
+
(define-public go-github-com-hashicorp-go-hclog
(package
(name "go-github-com-hashicorp-go-hclog")
@@ -4169,7 +7091,10 @@ overhead is linear with the size of the cache.")
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/hashicorp/hcl"))
+ #:import-path "github.com/hashicorp/hcl"
+ #:test-subdirs
+ #~(list "json/..." "hcl/ast" "hcl/fmtcmd" "hcl/printer" "hcl/scanner"
+ "hcl/strconv" "hcl/token" ".")))
(native-inputs
(list go-github-com-davecgh-go-spew))
(synopsis "Go implementation of HashiCorp Configuration Language V1")
@@ -4196,9 +7121,24 @@ expressing configuration which is easy for both humans and machines to read.")
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/hashicorp/hcl/v2"))
+ #:import-path "github.com/hashicorp/hcl/v2"
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ (list "TestExpressionParseAndValue/.*unk.*"
+ "TestFunctionCallExprValue/valid_call_with_unknown_arg.*"
+ "TestFunctionCallExprValue/valid_call_with_dynamic_arg")
+ "|"))))
(native-inputs
- (list go-github-com-davecgh-go-spew))
+ (list go-github-com-apparentlymart-go-dump
+ go-github-com-davecgh-go-spew
+ go-github-com-go-test-deep
+ go-github-com-kr-pretty
+ go-github-com-kylelemons-godebug
+ go-github-com-sergi-go-diff
+ go-github-com-spf13-pflag
+ go-github-com-zclconf-go-cty-debug
+ go-golang-org-x-crypto))
(inputs
(list go-github-com-agext-levenshtein
go-github-com-apparentlymart-go-textseg-v13
@@ -4212,6 +7152,119 @@ expressing configuration which is easy for both humans and machines to read.")
(home-page "https://github.com/hashicorp/hcl")
(license license:mpl2.0)))
+(define-public go-github-com-hebcal-gematriya
+ (package
+ (name "go-github-com-hebcal-gematriya")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hebcal/gematriya")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xmnb2i80dy380yv8c4pd04bbyqgbc7c40p8hz1vqj2lhbm6jabf"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hebcal/gematriya"))
+ (home-page "https://github.com/hebcal/gematriya")
+ (synopsis "Print numbers as Hebrew letters in Go")
+ (description
+ "This package provides a Go library for printing numbers as Hebrew
+letters.")
+ (license license:bsd-2)))
+
+(define-public go-github-com-hebcal-greg
+ (package
+ (name "go-github-com-hebcal-greg")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hebcal/greg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1cf53ay6sj0m635k9p3f64iw03asx81aqmyrk102lzmhg838mq1a"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hebcal/greg"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/hebcal/greg")
+ (synopsis "Converts between Gregorian dates and Rata Die day numbers")
+ (description
+ "Hebcal's greg package converts between Gregorian dates and R.D. (Rata
+Die) day numbers.")
+ (license license:gpl2)))
+
+(define-public go-github-com-hebcal-hdate
+ (package
+ (name "go-github-com-hebcal-hdate")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hebcal/hdate")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0i3r3ng9ygd7ly59znw948im4z4sbp23jqj3hhgxabwhh6b8mdmf"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hebcal/hdate"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (propagated-inputs (list go-github-com-hebcal-greg))
+ (home-page "https://github.com/hebcal/hdate")
+ (synopsis "Converts between Hebrew and Gregorian dates")
+ (description
+ "Hebcal's hdate package converts between Hebrew and Gregorian dates.")
+ (license license:gpl2)))
+
+(define-public go-github-com-hebcal-hebcal-go
+ (package
+ (name "go-github-com-hebcal-hebcal-go")
+ (version "0.9.31")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hebcal/hebcal-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vccmjb4g8g8x733a45g78lz25k2a0avsq4zvlp94varssk8wj1q"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/hebcal/hebcal-go"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-dustin-go-humanize
+ go-github-com-hebcal-gematriya
+ go-github-com-hebcal-greg
+ go-github-com-hebcal-hdate
+ go-github-com-nathan-osman-go-sunrise))
+ (home-page "https://github.com/hebcal/hebcal-go")
+ (synopsis "Go library for the Hebcal perpetual Jewish calendar")
+ (description
+ "This package provides a library for conversion between Hebrew and
+Gregorian dates, and generation of lists of Jewish holidays for a given year.
+Shabbat and holiday candle lighting and havdalah times are approximated based
+on location.
+
+Torah readings, Daf Yomi, and counting of the Omer can also be specified.
+Algorithms are included to calculate yahrzeits, birthdays, and
+anniversaries.")
+ (license license:gpl2+)))
+
(define-public go-github-com-hhrutter-tiff
(package
(name "go-github-com-hhrutter-tiff")
@@ -4242,6 +7295,78 @@ expressing configuration which is easy for both humans and machines to read.")
@end itemize")
(license license:bsd-3)))
+(define-public go-github-com-hodgesds-perf-utils
+ (package
+ (name "go-github-com-hodgesds-perf-utils")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hodgesds/perf-utils")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1wrma5rn0pybav8lwmv5xjwjl6slgnr8ya64f1npijam59r7afzj"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hodgesds/perf-utils"
+ #:test-flags
+ ;; XXX: Tests requiring root access to mount file system or shaky, check
+ ;; if they may be fixed.
+ #~(list "-skip"
+ (string-join
+ (list "TestAvailableEvents"
+ "TestAvailablePMUs"
+ "TestBusCycles"
+ "TestCPURefCycles"
+ "TestDebugFSMount"
+ "TestGroupProfiler"
+ "TestLLCache"
+ "TestMSR"
+ "TestMSRPaths"
+ "TestNodeCache"
+ "TestProfiler"
+ "TestSoftwareProfiler"
+ "TestTraceFSMount")
+ "|"))))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-golang-org-x-sys
+ go-go-uber-org-multierr))
+ (home-page "https://github.com/hodgesds/perf-utils")
+ (synopsis "Perf Utilities for Golang")
+ (description
+ "This package is a Go library for interacting with the @code{perf}
+subsystem in Linux.")
+ (license license:expat)))
+
+(define-public go-github-com-huandu-xstrings
+ (package
+ (name "go-github-com-huandu-xstrings")
+ (version "1.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/huandu/xstrings")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "04z4xb22mi03a772f1si2fqwi5vn5584afzxas73jc6n6sppz0db"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/huandu/xstrings"))
+ (home-page "https://github.com/huandu/xstrings/")
+ (synopsis "Collection of string functions")
+ (description
+ "Go package xstrings is a collection of string functions,which are widely
+used in other languages but absent in Go package strings.")
+ (license license:expat)))
+
(define-public go-github-com-ianlancetaylor-demangle
;; No release, see <https://github.com/ianlancetaylor/demangle/issues/21>.
(package
@@ -4270,6 +7395,79 @@ the C++ ABI defined at https://codesourcery.com/cxx-abi/ and the
ABI}.")
(license license:bsd-3)))
+(define-public go-github-com-iancoleman-orderedmap
+ (package
+ (name "go-github-com-iancoleman-orderedmap")
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/iancoleman/orderedmap")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1rkahhb86ngvzjmdlrpw9rx24a0b1yshq2add1ry2ii6nkx0xbfs"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/iancoleman/orderedmap"))
+ (home-page "https://github.com/iancoleman/orderedmap")
+ (synopsis "Ordered map in Golang")
+ (description
+ "This package provides a Golang data type for ordered maps where the keys
+keep the order that they're added. It can be de/serialized from/to JSON.")
+ (license license:expat)))
+
+(define-public go-github-com-iancoleman-strcase
+ (package
+ (name "go-github-com-iancoleman-strcase")
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/iancoleman/strcase")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "169fb56kiif2gq92b7hvh9xgl2n8kjmdg4gqaa1492kb97ia8lwm"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/iancoleman/strcase"))
+ (home-page "https://github.com/iancoleman/strcase")
+ (synopsis "Converting to snake_case or CamelCase")
+ (description
+ "Package strcase converts strings to various cases.")
+ (license license:expat)))
+
+(define-public go-github-com-invopop-yaml
+ (package
+ (name "go-github-com-invopop-yaml")
+ (version "0.3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/invopop/yaml")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0isvalfivw39hjj20y28g4yws0plzqaym8asz3sr5lfwv5gnq7zg"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/invopop/yaml"))
+ (propagated-inputs
+ (list go-gopkg-in-yaml-v3))
+ (home-page "https://github.com/invopop/yaml")
+ (synopsis "YAML marshaling and unmarshaling support for Golang")
+ (description
+ "This package provides a wrapper around go-yaml designed to enable a
+better way of handling YAML when marshaling to and from structs.")
+ (license license:expat)))
+
(define-public go-github-com-itchyny-timefmt-go
(package
(name "go-github-com-itchyny-timefmt-go")
@@ -4293,6 +7491,679 @@ ABI}.")
time strings.")
(license license:expat)))
+(define-public go-github-com-jackc-chunkreader
+ (package
+ (name "go-github-com-jackc-chunkreader")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackc/chunkreader")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zsxsd6alk51lssq1xq194sf88awj083fjiy7pk3098v2nj9m65l"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jackc/chunkreader"))
+ (home-page "https://github.com/jackc/chunkreader")
+ (synopsis "Wrapper for @code{io.Reader}")
+ (description
+ "ChunkReader is a @code{io.Reader} wrapper that minimizes IO reads and
+memory allocations. It allocates memory in chunks and will read as much as
+will fit in the current buffer in a single call regardless of how large a read
+is actually requested. The memory returned via Next is owned by the caller.
+This avoids the need for an additional copy. It extracted from original
+implementation in https://github.com/jackc/pgx.")
+ (license license:expat)))
+
+(define-public go-github-com-jackc-chunkreader-v2
+ (package
+ (inherit go-github-com-jackc-chunkreader)
+ (name "go-github-com-jackc-chunkreader-v2")
+ (version "2.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackc/chunkreader")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0fj585hp3s4cjfzncr5gmim96p0b956pqdf4nm7yan1ipfch9l1c"))))
+ (arguments
+ (list
+ #:import-path "github.com/jackc/chunkreader/v2"))))
+
+(define-public go-github-com-jackc-pgconn
+ (package
+ (name "go-github-com-jackc-pgconn")
+ (version "1.14.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackc/pgconn")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rqx0y9k6g8ydcpciv3k246hfd5am4yw4jg3cbq4wlfny01ksh3y"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jackc/pgconn"
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ (list "TestConfigCopyCanBeUsedToConnect"
+ "TestConnStress"
+ "TestFrontendFatalErrExec"
+ "TestLRUModePrepare"
+ "TestLRUContext"
+ "TestLRUStmtInvalidationIntegration"
+ "TestLRUModeDescribe"
+ "TestLRUModePrepareStress"
+ "TestLRUStmtInvalidation")
+ "|"))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; All tests in this file rquire PostgreSQL service running.
+ (add-before 'check 'remove-failing-test-files
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file "pgconn_test.go")))))))
+ (native-inputs
+ (list go-github-com-jackc-pgmock-bootstrap
+ go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-jackc-chunkreader-v2
+ go-github-com-jackc-pgio
+ go-github-com-jackc-pgpassfile
+ go-github-com-jackc-pgproto3-v2
+ go-github-com-jackc-pgservicefile
+ go-golang-org-x-crypto
+ go-golang-org-x-text))
+ (home-page "https://github.com/jackc/pgconn")
+ (synopsis "Low-level PostgreSQL database driver")
+ (description
+ "Package pgconn is a low-level PostgreSQL database driver. It operates
+at nearly the same level as the C library libpq.
+
+It is primarily intended to serve as the foundation for higher level libraries
+such as @url{https://github.com/jackc/pgx}. Applications should handle normal
+queries with a higher level library and only use pgconn directly when required
+for low-level access to PostgreSQL functionality.")
+ (license license:expat)))
+
+(define-public go-github-com-jackc-pgconn-bootstrap
+ (hidden-package
+ (package
+ (inherit go-github-com-jackc-pgconn)
+ (arguments
+ (list #:tests? #f
+ #:import-path "github.com/jackc/pgconn"
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'build))))
+ (native-inputs '()))))
+
+(define-public go-github-com-jackc-pgerrcode
+ (package
+ (name "go-github-com-jackc-pgerrcode")
+ (version "0.0.0-20240316143900-6e2875d9b438")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackc/pgerrcode")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00csrjkg8fg97q5wy4r2wqi88w7g1cj0f5xkp5442nz3agmkxgrj"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jackc/pgerrcode"))
+ (home-page "https://github.com/jackc/pgerrcode")
+ (synopsis "Constants for PostgreSQL error codes")
+ (description
+ "Package pgerrcode contains constants for @code{PostgreSQL} error
+codes.")
+ (license license:expat)))
+
+(define-public go-github-com-jackc-pgio
+ (package
+ (name "go-github-com-jackc-pgio")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackc/pgio")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0l17gpn11wf6jm5kbfmxh8j00n5zpmwck3wr91f1cv34k4chyvg1"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jackc/pgio"))
+ (home-page "https://github.com/jackc/pgio")
+ (synopsis "Low-level toolkit building messages in the PostgreSQL wire protocol")
+ (description
+ "Package pgio is a low-level toolkit building messages in the
+@code{PostgreSQL} wire protocol.")
+ (license license:expat)))
+
+(define-public go-github-com-jackc-pgpassfile
+ (package
+ (name "go-github-com-jackc-pgpassfile")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackc/pgpassfile")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1crw06lzksgimbmr1a3sr00azg2v7l4qkvjra1cpmzzq5mncaj8z"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jackc/pgpassfile"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/jackc/pgpassfile")
+ (synopsis "PostgreSQL .pgpass files parser")
+ (description
+ "Package pgpassfile is a parser @code{PostgreSQL} .pgpass files.")
+ (license license:expat)))
+
+(define-public go-github-com-jackc-pgproto3
+ (package
+ (name "go-github-com-jackc-pgproto3")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackc/pgproto3")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "03vpkqa6j4sanmsj7q13fb6yamspszfv38sr28d40g887bcwf0j8"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jackc/pgproto3"))
+ (propagated-inputs
+ (list go-github-com-jackc-chunkreader
+ go-github-com-jackc-pgio
+ go-github-com-pkg-errors))
+ (home-page "https://github.com/jackc/pgproto3")
+ (synopsis "Encoder and decoder of the PostgreSQL wire protocol version 3")
+ (description
+ "This package provides a encoder and decoder of the @code{PostgreSQL}
+wire protocol version 3.")
+ (license license:expat)))
+
+(define-public go-github-com-jackc-pgproto3-v2
+ (package
+ (inherit go-github-com-jackc-pgproto3)
+ (name "go-github-com-jackc-pgproto3-v2")
+ (version "2.3.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackc/pgproto3")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1bmj1bqnn5863178a0k8m3f9xv48zs10z96dm2rl28ybx33d2l77"))))
+ (arguments
+ (list
+ #:import-path "github.com/jackc/pgproto3/v2"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-jackc-chunkreader-v2
+ go-github-com-jackc-pgio))))
+
+(define-public go-github-com-jackc-pgservicefile
+ (package
+ (name "go-github-com-jackc-pgservicefile")
+ (version "0.0.0-20240606120523-5a60cdf6a761")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackc/pgservicefile")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0z8ndfdxx5r4dpjbjn9caq9w56lrzwm6nh8jwwk0gnq0n2q4cfhi"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jackc/pgservicefile"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/jackc/pgservicefile")
+ (synopsis "Parser PostgreSQL for service files")
+ (description
+ "Package pgservicefile is a parser for @code{PostgreSQL} service
+files (e.g. .pg_service.conf).")
+ (license license:expat)))
+
+(define-public go-github-com-jackc-pgtype
+ (package
+ (name "go-github-com-jackc-pgtype")
+ (version "1.14.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackc/pgtype")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "04yd3b1c1qph6g1giskmm49c9hk0scagfqd08bhj1pprvp9jmn2f"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f ; test require running PostgreSQL
+ #:import-path "github.com/jackc/pgtype"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-gofrs-uuid
+ go-github-com-jackc-pgconn
+ go-github-com-jackc-pgio
+ go-github-com-jackc-pgx-v4-bootstrap
+ go-github-com-lib-pq
+ go-github-com-shopspring-decimal))
+ (home-page "https://github.com/jackc/pgtype")
+ (synopsis "PostgreSQL types implementations in Golang")
+ (description
+ "This package implements Go types for over 70 PostgreSQL types. It is
+the type system underlying the https://github.com/jackc/pgx PostgreSQL driver.
+These types support the binary format for enhanced performance with pgx. They
+also support the database/sql @code{Scan} and @code{Value} interfaces and can
+be used with https://github.com/lib/pq.")
+ (license license:expat)))
+
+(define-public go-github-com-jackc-pgtype-bootstrap
+ (hidden-package
+ (package
+ (inherit go-github-com-jackc-pgtype)
+ (arguments
+ (list #:tests? #f
+ #:import-path "github.com/jackc/pgtype"
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'build))))
+ (native-inputs '())
+ (propagated-inputs '()))))
+
+(define-public go-github-com-jackc-pgx
+ (package
+ (name "go-github-com-jackc-pgx")
+ (version "3.6.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackc/pgx")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hbnh69ss0pq83n18b62znj3qi54y9kr31a3xi9h35p27nsk3izf"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jackc/pgx"
+ #:test-subdirs
+ #~(list ;; "pgtype/..." ; most tests require networking setup
+ ;; "stdlib"
+ ;; "." ; github.com/jackc/pgx [build failed]
+ "chunkreader"
+ "internal/sanitize"
+ "log/..."
+ "pgio"
+ "pgproto3")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples-and-benchmarks
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file-recursively "examples")))))))
+ (native-inputs
+ (list go-github-com-cockroachdb-apd
+ go-github-com-jackc-fake))
+ (propagated-inputs
+ (list go-github-com-gofrs-uuid
+ go-github-com-lib-pq
+ go-github-com-rs-zerolog
+ go-github-com-satori-go-uuid
+ go-github-com-shopspring-decimal
+ go-github-com-sirupsen-logrus
+ go-go-uber-org-zap))
+ (home-page "https://github.com/jackc/pgx")
+ (synopsis "PostgreSQL driver and toolkit for Golang")
+ (description
+ "This package implements a pure Go driver and toolkit for PostgreSQL. It
+is different from other drivers such as
+@url{http://godoc.org/github.com/lib/pq,pq} because, while it can operate as a
+database/sql compatible driver, pgx is also usable directly. It offers a
+native interface similar to database/sql that offers better performance and
+more features.")
+ (license license:expat)))
+
+(define-public go-github-com-jackc-pgx-v4
+ (package
+ (inherit go-github-com-jackc-pgx)
+ (name "go-github-com-jackc-pgx-v4")
+ (version "4.18.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackc/pgx")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xxvkgngl8c73zg06xdm5sqvck6yvrvjpzidpmsaah1az0lh1lay"))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-jackc-pgx)
+ ((#:import-path _) "github.com/jackc/pgx/v4")
+ ((#:test-subdirs _) #~(list "internal/sanitize" "log/..."))))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-cockroachdb-apd
+ go-github-com-go-kit-log
+ go-github-com-gofrs-uuid
+ go-github-com-jackc-pgconn
+ go-github-com-jackc-pgio
+ go-github-com-jackc-pgproto3-v2
+ go-github-com-jackc-pgtype-bootstrap
+ go-github-com-jackc-puddle
+ go-github-com-masterminds-semver-v3
+ go-github-com-rs-zerolog
+ go-github-com-shopspring-decimal
+ go-github-com-sirupsen-logrus
+ go-go-uber-org-zap
+ go-gopkg-in-inconshreveable-log15-v2))))
+
+(define-public go-github-com-jackc-pgx-v4-bootstrap
+ (hidden-package
+ (package
+ (inherit go-github-com-jackc-pgx-v4)
+ (arguments
+ (list #:tests? #f
+ #:import-path "github.com/jackc/pgx/v4"
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'build))))
+ (native-inputs '())
+ (propagated-inputs '()))))
+
+(define-public go-github-com-jackc-pgx-v5
+ (package
+ (inherit go-github-com-jackc-pgx-v4)
+ (name "go-github-com-jackc-pgx-v5")
+ (version "5.7.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackc/pgx")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0b8wgqax34q77m4pmaaqlp9dr1x9mam76jx7ah1sxdldl737rv27"))))
+ (build-system go-build-system)
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-jackc-pgx-v4)
+ ((#:import-path _) "github.com/jackc/pgx/v5")
+ ((#:test-subdirs _)
+ #~(list "internal/..."
+ "log/..."
+ "multitracer"))))
+ (propagated-inputs
+ (list go-github-com-jackc-pgpassfile
+ go-github-com-jackc-pgservicefile
+ go-github-com-jackc-puddle-v2
+ go-golang-org-x-crypto
+ go-golang-org-x-sync
+ go-golang-org-x-text))))
+
+(define-public go-github-com-jackc-puddle
+ (package
+ (name "go-github-com-jackc-puddle")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackc/puddle")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0382q7xjdw5wx6174i2sf4gnc5ppgj9snvrvh3rcnwg02yd0np38"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jackc/puddle"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/jackc/puddle")
+ (synopsis "Generic resource pool for Golang")
+ (description
+ "Puddle is a tiny generic resource pool library hat uses the standard
+context library to signal cancellation of acquires. It is designed to contain
+the minimum functionality required for a resource pool. It can be used
+directly or it can be used as the base for a domain specific resource pool.
+For example, a database connection pool may use puddle internally and
+implement health checks and keep-alive behavior without needing to implement
+any concurrent code of its own.")
+ (license license:expat)))
+
+(define-public go-github-com-jackc-puddle-v2
+ (package
+ (inherit go-github-com-jackc-puddle)
+ (name "go-github-com-jackc-puddle-v2")
+ (version "2.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackc/puddle")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0agbk4nnja0fahi8mjp1y5ac9vjsjhldjwx9zshw0zjqhaxmsk11"))))
+ (arguments
+ (list
+ #:import-path "github.com/jackc/puddle/v2"))
+ (propagated-inputs
+ (list go-golang-org-x-sync))))
+
+(define-public go-github-com-jacobsa-fuse
+ (package
+ (name "go-github-com-jacobsa-fuse")
+ (version "0.0.0-20241025064006-8ccd61173b05")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jacobsa/fuse")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zf9fhv5j0pffmp4c0zba58627lb6cwr2qxjsa3dwba9b8fiz7sf"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f ; requires fusermount
+ #:import-path "github.com/jacobsa/fuse"))
+ (native-inputs
+ (list go-github-com-detailyang-go-fallocate
+ go-github-com-jacobsa-ogletest
+ go-github-com-kylelemons-godebug))
+ (propagated-inputs
+ (list go-github-com-jacobsa-oglematchers
+ go-github-com-jacobsa-syncutil
+ go-github-com-jacobsa-timeutil
+ go-golang-org-x-net
+ go-golang-org-x-sys))
+ (home-page "https://github.com/jacobsa/fuse")
+ (synopsis "FUSE file system in Golang")
+ (description
+ "Package fuse enables writing and mounting user-space file systems.
+Subpackages:
+@itemize
+@item @code{fuse} provides support for mounting a new file system and reading
+requests from the kernel
+
+@item @code{fuseops} enumerates the supported requests from the kernel, and
+provides documentation on their semantics
+
+@item @code{fuseutil}, in particular the @code{FileSystem} interface, provides
+a convenient way to create a file system type and export it to the kernel via
+@code{fuse.Mount}.
+@end itemize")
+ (license license:asl2.0)))
+
+(define-public go-github-com-jacobsa-syncutil
+ (package
+ (name "go-github-com-jacobsa-syncutil")
+ (version "0.0.0-20180201203307-228ac8e5a6c3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jacobsa/syncutil")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0dylp0qaabm8djqmn0qjki3gy9wnq23cbr4k4g63zk4axqgm2ns2"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jacobsa/syncutil"))
+ (native-inputs
+ (list go-github-com-jacobsa-oglematchers
+ go-github-com-jacobsa-ogletest))
+ (propagated-inputs
+ (list go-golang-org-x-net))
+ (home-page "https://github.com/jacobsa/syncutil")
+ (synopsis "Code supplementing Go's sync package")
+ (description
+ "This package contains code that supplements the
+@url{http://godoc.org/sync,sync} package from the Go standard library.
+
+In particular:
+@itemize
+@item Bundle, which makes it easy to write code that spawns multiple
+cancellation-aware workers that may fail
+@item invariantMutex, which makes it possible to automatically check your
+invariants at lock and unlock time
+@end itemize")
+ (license license:asl2.0)))
+
+(define-public go-github-com-jacobsa-timeutil
+ (package
+ (name "go-github-com-jacobsa-timeutil")
+ (version "0.0.0-20170205232429-577e5acbbcf6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jacobsa/timeutil")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0vp6ngfyw3z3n7fzqpijqh26mnwnhapy5x4kzly1qb8gmv15a8xb"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jacobsa/timeutil"))
+ (native-inputs
+ (list go-github-com-jacobsa-oglematchers
+ go-github-com-jacobsa-ogletest))
+ (home-page "https://github.com/jacobsa/timeutil")
+ (synopsis "Code supplementing Go's time package")
+ (description
+ "This package contains code that supplements the
+@url{http://godoc.org/time, time} package from the Go standard library.
+
+In particular:
+@itemize
+@item a Clock interface, with a fake implementation that can be used in tests
+@item implementations of
+@url{https://godoc.org/github.com/jacobsa/oglematchers#Matcher,
+oglematchers.Matcher} for time values
+@end itemize")
+ (license license:asl2.0)))
+
+(define-public go-github-com-jba-templatecheck
+ (package
+ (name "go-github-com-jba-templatecheck")
+ (version "0.7.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jba/templatecheck")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "03nlpfgjiiqqhf0df6vgvxi7kn58ykh0jhnrffpa32wv2w67ndxz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.22
+ #:import-path "github.com/jba/templatecheck"))
+ (propagated-inputs
+ (list go-github-com-google-safehtml))
+ (home-page "https://github.com/jba/templatecheck")
+ (synopsis "Checks Go templates for problems")
+ (description
+ "Package templatecheck checks Go templates for problems. It can detect
+many errors that are normally caught only during execution. Use templatecheck
+in tests to find template errors early, and along template execution paths
+that might only rarely be reached.")
+ (license license:expat)))
+
+(define-public go-github-com-jbenet-go-context
+ (package
+ (name "go-github-com-jbenet-go-context")
+ (version "0.0.0-20150711004518-d14ea06fba99")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jbenet/go-context")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0q91f5549n81w3z5927n4a1mdh220bdmgl42zi3h992dcc4ls0sl"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jbenet/go-context"))
+ (propagated-inputs
+ (list go-golang-org-x-net))
+ (home-page "https://github.com/jbenet/go-context/")
+ (synopsis "@code{jbenet's} context extensions")
+ (description
+ "This package provides @code{jbenet's} context extensions.")
+ (license license:expat)))
+
(define-public go-github-com-jbenet-go-random
(package
(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
and stop units of work, which may receive @code{Close} signals from many clients.")
(license license:expat)))
+(define-public go-github-com-jcmturner-gofork
+ (package
+ (name "go-github-com-jcmturner-gofork")
+ (version "1.7.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jcmturner/gofork")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0w1j6b671121r6md5w7hnh2d0sa332pw5q49yihw23wdfinknyin"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jcmturner/gofork"))
+ (home-page "https://github.com/jcmturner/gofork")
+ (synopsis "Modified Go standard library packages")
+ (description
+ "This repository contains modified Go standard library packages for use
+as work arounds until issues are addressed in the official distribution.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-jdkato-go-tree-sitter-julia
+ (package
+ (name "go-github-com-jdkato-go-tree-sitter-julia")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jdkato/go-tree-sitter-julia")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "17xr33vvrqsl0v1xzb3ya99anhg5zf04kp6wfk1m3iqi904ff0am"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/jdkato/go-tree-sitter-julia"))
+ (propagated-inputs
+ (list go-github-com-smacker-go-tree-sitter))
+ (home-page "https://github.com/jdkato/go-tree-sitter-julia")
+ (synopsis "Julia grammar for tree sitter")
+ (description
+ "This package provides a Julia grammar for
+@url{https://github.com/tree-sitter/tree-sitter, tree-sitter} bindings in
+Golang.")
+ ;; It's a component of Vale, written by the same author and does not
+ ;; provide license.
+ (license license:unlicense)))
+
(define-public go-github-com-jdkato-twine
(package
(name "go-github-com-jdkato-twine")
@@ -4419,6 +8344,68 @@ and stop units of work, which may receive @code{Close} signals from many clients
"NLP-related string utility functions for Golang.")
(license license:expat)))
+(define-public go-github-com-jedib0t-go-pretty-v6
+ (package
+ (name "go-github-com-jedib0t-go-pretty-v6")
+ (version "6.6.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jedib0t/go-pretty")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0sy8fia04lxi07yga7z3h3fp19y4bla5p16v1n7ldip0ymdmvjnx"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/jedib0t/go-pretty/v6"))
+ (native-inputs
+ (list go-github-com-pkg-profile ; for the CLI
+ go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-mattn-go-runewidth
+ go-golang-org-x-sys
+ go-golang-org-x-term
+ go-golang-org-x-text))
+ (home-page "https://github.com/jedib0t/go-pretty")
+ (synopsis "Table-writer and more in Golang")
+ (description
+ "Utilities to prettify console output of tables, lists, progress-bars,
+text, etc. with a heavy emphasis on customization.")
+ (license license:expat)))
+
+(define-public go-github-com-jessevdk-go-flags
+ (package
+ (name "go-github-com-jessevdk-go-flags")
+ (version "1.6.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jessevdk/go-flags")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1dxk8n06sh15rm7777v5jgwxz9ca1c090ni6lyjhj1d2lxfysb45"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jessevdk/go-flags"
+ #:test-flags #~(list "-skip" "TestCompletion|TestParserCompletion")))
+ (propagated-inputs
+ (list go-golang-org-x-sys))
+ (home-page "https://github.com/jessevdk/go-flags")
+ (synopsis "Go library for parsing command line arguments")
+ (description
+ "The @code{flags} package provides a command line option parser. The
+functionality is similar to the go builtin @code{flag} package, but
+@code{flags} provides more options and uses reflection to provide a succinct
+way of specifying command line options.")
+ (license license:bsd-3)))
+
(define-public go-github-com-jinzhu-copier
(package
(name "go-github-com-jinzhu-copier")
@@ -4442,6 +8429,83 @@ and stop units of work, which may receive @code{Close} signals from many clients
struct to another.")
(license license:expat)))
+(define-public go-github-com-jmattheis-goverter
+ (package
+ (name "go-github-com-jmattheis-goverter")
+ (version "1.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jmattheis/goverter")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ph8470wxpf8p2cdr5w3hkchlgpiyzljlsdna9jvhgw53sf2c32n"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jmattheis/goverter"
+ ;; Test requiring compplex set-up, fails during build but passed outside
+ ;; build-system.
+ #:test-flags #~(list "-skip" "TestScenario")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-broken-examples
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (for-each delete-file-recursively
+ (list "example/enum/transform-custom"
+ "example/wrap-errors-using"
+ "example/protobuf"))))))))
+ (native-inputs
+ (list go-github-com-stretchr-testify
+ go-github-com-goverter-patherr))
+ (propagated-inputs
+ (list go-github-com-dave-jennifer
+ go-golang-org-x-tools
+ go-gopkg-in-yaml-v3))
+ (home-page "https://github.com/jmattheis/goverter")
+ (synopsis "Type-safe Go converters by defining function signatures")
+ (description
+ "This package provides a functionality to generate type-safe converters
+for Go. The project is meant as alternative to
+@url{https://github.com/jinzhu/copier, jinzhu/copier} that doesn't use
+reflection.")
+ (license license:expat)))
+
+(define-public go-github-com-jmoiron-sqlx
+ (package
+ (name "go-github-com-jmoiron-sqlx")
+ (version "1.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jmoiron/sqlx")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10rg9b6cl1j7jjr6z95xa1k45016mhicii3cmz0pkwrxw3dpfzfh"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jmoiron/sqlx"))
+ (propagated-inputs
+ (list go-github-com-go-sql-driver-mysql
+ go-github-com-lib-pq
+ go-github-com-mattn-go-sqlite3))
+ (home-page "https://github.com/jmoiron/sqlx")
+ (synopsis "General purpose extensions to golang's @code{database/sql}")
+ (description
+ "sqlx is a library which provides a set of extensions on go's standard
+@code{database/sql} library. The sqlx versions of @code{sql.DB},
+@code{sql.TX}, @code{sql.Stmt}, et al. all leave the underlying interfaces
+untouched, so that their interfaces are a superset on the standard ones. This
+makes it relatively painless to integrate existing codebases using
+database/sql with sqlx.")
+ (license license:expat)))
+
(define-public go-github-com-johnkerl-lumin
(package
(name "go-github-com-johnkerl-lumin")
@@ -4469,6 +8533,30 @@ just matching lines. This package proviedes a CLI tool and @code{colors}
library.")
(license license:bsd-2)))
+(define-public go-github-com-joho-godotenv
+ (package
+ (name "go-github-com-joho-godotenv")
+ (version "1.5.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/joho/godotenv")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "03vijs05k31jdf24pzj3vlk6b5jxf894v1kvzals4wzclyq2h3ch"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/joho/godotenv"))
+ (home-page "https://github.com/joho/godotenv")
+ (synopsis "Golang libary to load environment variables from @code{.env}")
+ (description
+ "This package provides a Go port of the Ruby's dotenv library
+https://github.com/bkeepers/dotenv.")
+ (license license:expat)))
+
(define-public go-github-com-jonboulle-clockwork
(package
(name "go-github-com-jonboulle-clockwork")
@@ -4566,6 +8654,35 @@ called concurrently with themselves and each other.")
"This package is a simple exponential backoff counter in Go.")
(license license:expat))))
+(define-public go-github-com-juju-ansiterm
+ (package
+ (name "go-github-com-juju-ansiterm")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/juju/ansiterm")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05mk7mlvg11dd6b0j0wlq547ghbmx2ywwrlbcb4kddpg7qaqp1va"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/juju/ansiterm"))
+ (propagated-inputs
+ (list go-gopkg-in-check-v1
+ go-github-com-mattn-go-isatty
+ go-github-com-mattn-go-colorable
+ go-github-com-lunixbochs-vtclean))
+ (home-page "https://github.com/juju/ansiterm")
+ (synopsis "Writer to output ANSI escape codes for color and styles")
+ (description
+ "The ansiterm package provides a writer to output the ANSI escape codes
+for color and styles.")
+ (license license:lgpl3)))
+
(define-public go-github-com-k0kubun-go-ansi
(package
(name "go-github-com-k0kubun-go-ansi")
@@ -4618,6 +8735,83 @@ ansi.")
customized globally.")
(license license:expat)))
+;; Some packages (Yggdrasil) need it to compile it's a tiny package and it's
+;; easier to bundle it than to patch it out.
+(define-public go-github-com-kardianos-minwinsvc
+ (package
+ (name "go-github-com-kardianos-minwinsvc")
+ (version "1.0.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kardianos/minwinsvc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "02k2vibmm65bzkdjpmllphvq88wwyz3m02lbz8bffcpxjad2453v"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/kardianos/minwinsvc"))
+ (home-page "https://github.com/kardianos/minwinsvc/")
+ (synopsis "Minimal windows only service stub for Go")
+ (description
+ "Go programs designed to run from most *nix style operating systems can
+import this package to enable running programs as services without modifying
+them.")
+ (license license:zlib)))
+
+(define-public go-github-com-kardianos-osext
+ (package
+ (name "go-github-com-kardianos-osext")
+ (version "0.0.0-20190222173326-2bc1f35cddc0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kardianos/osext")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pvrbrvmrf4mx0fxbfaphbzgqgwn8v6lkfk2vyrs0znxrs1xyc5r"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/kardianos/osext"))
+ (home-page "https://github.com/kardianos/osext")
+ (synopsis "Find the running executable")
+ (description
+ "Osext provides a method for finding the current executable file that is
+running. This can be used for upgrading the current executable or finding
+resources located relative to the executable file.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-kardianos-service
+ (package
+ (name "go-github-com-kardianos-service")
+ (version "1.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kardianos/service")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1wcrc632nf2l5gzwgjfpx7bh6v4la0qjmaykj58fysabb9fkk9dy"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/kardianos/service"
+ #:test-flags #~(list "-skip" "TestPlatformName")))
+ (propagated-inputs (list go-golang-org-x-sys))
+ (home-page "https://github.com/kardianos/service")
+ (synopsis "Run go programs as a service")
+ (description
+ "This package provides a simple way to create a system service.")
+ (license license:zlib)))
+
(define-public go-github-com-karrick-godirwalk
(package
(name "go-github-com-karrick-godirwalk")
@@ -4635,12 +8829,95 @@ customized globally.")
(arguments
(list
#:import-path "github.com/karrick/godirwalk"))
+ ;; To build all examples as a test scenario.
+ (native-inputs
+ (list go-github-com-karrick-golf
+ go-github-com-mattn-go-isatty))
(home-page "https://github.com/karrick/godirwalk")
(synopsis "Fast directory traversal library for Go")
(description
"This package provides functions to read and traverse directory trees.")
(license license:bsd-2)))
+(define-public go-github-com-karrick-golf
+ (package
+ (name "go-github-com-karrick-golf")
+ (version "1.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/karrick/golf")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0iskalk32zqiwwrfmi9lcd1s69xgn3yl056xcm5q4y5znbs96fac"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/karrick/golf"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file-recursively "example")))))))
+ (home-page "https://github.com/karrick/golf")
+ (synopsis "Light-weight long and short command line option parser")
+ (description
+ "Go long flag: a light-weight long and short command line option parser.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-kataras-golog
+ (package
+ (name "go-github-com-kataras-golog")
+ (version "0.1.12")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kataras/golog")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1szibhgxmkd52gz6i77p3fwlxqyidj7l5vf59pjl5bjy8ggv0kpv"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/kataras/golog"))
+ (propagated-inputs
+ (list go-github-com-kataras-pio))
+ (home-page "https://github.com/kataras/golog")
+ (synopsis "Logging foundation for Go applications")
+ (description
+ "GoLog is a level-based logger written in Go.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-kataras-pio
+ (package
+ (name "go-github-com-kataras-pio")
+ (version "0.0.13")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kataras/pio")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1z0fkhs6amnkvb02519pfxy2x2r5sfmvdzxfi31ipa17m98pk3bq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/kataras/pio"))
+ (home-page "https://github.com/kataras/pio")
+ (synopsis "Pill for Input/Output")
+ (description
+ "PIO is a low-level package that provides a way to centralize different
+output targets. Supports colors and text decoration to all popular
+terminals.")
+ (license license:bsd-3)))
+
(define-public go-github-com-kballard-go-shellquote
;; No release, see <https://github.com/kballard/go-shellquote/issues/13>.
(let ((commit "95032a82bc518f77982ea72343cc1ade730072f0")
@@ -4668,6 +8945,122 @@ word-splitting rules.")
(home-page "https://github.com/kballard/go-shellquote")
(license license:expat))))
+(define-public go-github-com-kevinburke-ssh-config
+ (package
+ (name "go-github-com-kevinburke-ssh-config")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kevinburke/ssh_config")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0jvv3i0g8ll210xlbxy8ywj09gab0im676rmnywh3wlpdhxdkbjd"))))
+ (arguments
+ (list
+ #:import-path "github.com/kevinburke/ssh_config"))
+ (build-system go-build-system)
+ (home-page "https://github.com/kevinburke/ssh_config/")
+ (synopsis "Parser for @file{ssh_config} files")
+ (description
+ "This is a Go parser for @file{ssh_config} files. Importantly, this
+parser attempts to preserve comments in a given file, so you can manipulate a
+@file{ssh_config} file from a program.")
+ (license license:expat)))
+
+(define-public go-github-com-keybase-dbus
+ (package
+ (name "go-github-com-keybase-dbus")
+ (version "0.0.0-20220506165403-5aa21ea2c23a")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/keybase/dbus")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ihicxqq685jy47dw522b5c7b8vcikay0xph6y55jcas3m3zj1lj"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f; tests require running D-bus
+ #:import-path "github.com/keybase/dbus"))
+ (home-page "https://github.com/keybase/dbus")
+ (synopsis "Native Go bindings for D-Bus")
+ (description
+ "Package dbus implements bindings to the D-Bus message bus system.
+Features:
+@itemize
+@item complete native implementation of the D-Bus message protocol
+@item go-like API (channels for signals / asynchronous method calls,
+Goroutine-safe connections)
+@item subpackages that help with the introspection / property interfaces
+@end itemize")
+ (license license:bsd-2)))
+
+(define-public go-github-com-keybase-go-ps
+ (package
+ (name "go-github-com-keybase-go-ps")
+ (version "0.0.0-20190827175125-91aafc93ba19")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/keybase/go-ps")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1la7m9pd1rrij727g34k9d2iapqwrkwdkqwpkbsbcq8ig0fg634h"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/keybase/go-ps"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (substitute* (find-files "." "test\\.go")
+ (("/bin/sleep") (which "sleep")))
+ (substitute* "process_openbsd.go"
+ (("^// \\+build ignore") ""))))))))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/keybase/go-ps")
+ (synopsis "Process list library for Go")
+ (description
+ "Go-Ps is a library for Go that implements OS-specific APIs to list and
+manipulate processes in a safe way.")
+ (license license:expat)))
+
+(define-public go-github-com-klauspost-asmfmt
+ (package
+ (name "go-github-com-klauspost-asmfmt")
+ (version "1.3.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/klauspost/asmfmt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01qas9x9qb0s1aiq0235p8hvvqqn76ff0cs4cg71paxcy6l1a4k3"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/klauspost/asmfmt"))
+ (home-page "https://github.com/klauspost/asmfmt")
+ (synopsis "Go Assembler Formatter")
+ (description
+ "This package implements functionality to format Assembler code the same
+way that @code{gofmt} formats Go code.")
+ (license license:expat)))
+
(define-public go-github-com-klauspost-cpuid
(package
(name "go-github-com-klauspost-cpuid")
@@ -4713,6 +9106,165 @@ very eas to use.")
(list
#:import-path "github.com/klauspost/cpuid/v2"))))
+(define-public go-github-com-klauspost-reedsolomon
+ (package
+ (name "go-github-com-klauspost-reedsolomon")
+ (version "1.12.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/klauspost/reedsolomon")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "04j6arqk9pisn3yjr9k90nmfs51fh5i7firl7lzs3x98d84qq5lv"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/klauspost/reedsolomon"
+ #:test-flags #~(list "-short")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples-and-benchmarks
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file-recursively "benchmark")
+ (delete-file-recursively "examples"))))
+ (add-before 'build 'go-generate
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (invoke "go" "generate" "-v" "-n" "_gen")))))))
+ (propagated-inputs (list go-github-com-klauspost-cpuid-v2))
+ (home-page "https://github.com/klauspost/reedsolomon")
+ (synopsis "Reed-Solomon algorithm implementation in Golang")
+ (description
+ "Package reedsolomon enables
+@url{https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction,
+Erasure Coding}. It's a Go port of the
+@url{https://github.com/Backblaze/JavaReedSolomon, JavaReedSolomon}.
+
+For encoding high shard counts (>256) a Leopard implementation is used. For
+most platforms this performs close to the original Leopard implementation in
+terms of speed.")
+ (license license:expat)))
+
+(define-public go-github-com-kljensen-snowball
+ (package
+ (name "go-github-com-kljensen-snowball")
+ (version "0.10.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kljensen/snowball")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ldc8hw13jwffhfac3w19033rxg8042jpwnw16l5mnwc0rg8b23l"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/kljensen/snowball"))
+ (home-page "https://github.com/kljensen/snowball")
+ (synopsis "Go implementation of the Snowball stemmers")
+ (description
+ "This package provides a implementation of the
+@url{http://snowball.tartarus.org/, Snowball stemmer} for natural language
+processing.")
+ (license license:expat)))
+
+(define-public go-github-com-knz-go-libedit
+ (package
+ (name "go-github-com-knz-go-libedit")
+ (version "1.10.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/knz/go-libedit")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "04a5ryzldsk7agybcz4rpd7g1v5vh7smawlky58bwj0341083p44"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/knz/go-libedit"
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; These steps are taken from the project's README.
+ (add-after 'unpack 'use-system-wide-libedit
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (substitute* "unix/editline_unix.go"
+ ((".*#cgo linux CFLAGS.*") "")
+ (("#cgo linux CPPFLAGS.*")
+ (string-append "#cgo linux CPPFLAGS: -I"
+ #$(this-package-input "libedit")
+ "/include -Ishim\n"))
+ (("#cgo linux LDFLAGS.*") "#cgo linux LDFLAGS: -ledit\n"))))))))
+ (inputs
+ (list libedit))
+ (home-page "https://github.com/knz/go-libedit")
+ (synopsis "Go wrapper around @code{libedit}")
+ (description
+ "This packae provides a wrapper around @code{libedit} for Golang.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-knz-lipgloss-convert
+ (package
+ (name "go-github-com-knz-lipgloss-convert")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/knz/lipgloss-convert")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1x9p89jfafkvsz3rrk856bniwcxlj8b1bhi0ixyngh620mx4h0cq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/knz/lipgloss-convert"
+ #:test-flags #~(list "-skip" "TestExport/full")))
+ (propagated-inputs
+ (list go-github-com-charmbracelet-lipgloss
+ go-github-com-kr-pretty
+ go-github-com-pmezard-go-difflib))
+ (home-page "https://github.com/knz/lipgloss-convert")
+ (synopsis "String conversion functions for lipgloss Styles")
+ (description
+ "String conversion functions for
+@url{https://github.com/charmbracelet/lipgloss, lipgloss} Styles.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-kortschak-utter
+ (package
+ (name "go-github-com-kortschak-utter")
+ (version "1.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kortschak/utter")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pycm9kkfwpxz10v6f3w0478qy66bzaginr94rnmnnz7kp40fa00"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/kortschak/utter"))
+ (home-page "https://github.com/kortschak/utter")
+ (synopsis "Deep pretty printer")
+ (description
+ "This package implements a deep pretty printer for Go data structures to
+aid data snapshotting.")
+ (license license:isc)))
+
(define-public go-github-com-kpango-glg
(package
(name "go-github-com-kpango-glg")
@@ -4765,6 +9317,33 @@ very eas to use.")
allocation. @code{fastime} is returning the approximate time.")
(license license:expat)))
+(define-public go-github-com-kr-fs
+ (let ((commit "1455def202f6e05b95cc7bfc7e8ae67ae5141eba")
+ (revision "0"))
+ (package
+ (name "go-github-com-kr-fs")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kr/fs")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "11zg176x9hr9q7fsk95r6q0wf214gg4czy02slax4x56n79g6a7q"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/kr/fs"
+ #:test-flags #~(list "-skip" "TestBug3486")))
+ (home-page "https://github.com/kr/fs")
+ (synopsis "File-system-related functions for Go")
+ (description
+ "The fs package provides file-system-related Go functions.")
+ (license license:bsd-3))))
+
(define-public go-github-com-kr-pretty
(package
(name "go-github-com-kr-pretty")
@@ -4790,6 +9369,211 @@ allocation. @code{fastime} is returning the approximate time.")
"This package provides a pretty printer for Go values.")
(license license:expat)))
+(define-public go-github-com-kr-text
+ (package
+ (name "go-github-com-kr-text")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kr/text")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hf58ypz6rxsw6nx3i856whir9lvy4sdx946wbw1nfaf2rdmr9vx"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/kr/text"))
+ (propagated-inputs
+ (list go-github-com-creack-pty))
+ (home-page "https://github.com/kr/text")
+ (synopsis "Text formatting in Go")
+ (description "This package provides a text formatting functions in Go.")
+ (license license:expat)))
+
+(define-public go-github-com-kylelemons-godebug
+ (package
+ (name "go-github-com-kylelemons-godebug")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kylelemons/godebug")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0dkk3friykg8p6wgqryx6745ahhb9z1j740k7px9dac6v5xjp78c"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/kylelemons/godebug"))
+ (home-page "https://github.com/kylelemons/godebug")
+ (synopsis "Pretty printer for Go values")
+ (description
+ "This package will pretty print a compact representation of a Go data
+structure. It can also produce a much more verbose, one-item-per-line
+representation suitable for computing diffs.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-labstack-gommon
+ (package
+ (name "go-github-com-labstack-gommon")
+ (version "0.4.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/labstack/gommon")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05mafzmx050hc3js3i0h05ga81kk3hhhlv395xwzv9n38h27xpnz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/labstack/gommon"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-mattn-go-colorable
+ go-github-com-mattn-go-isatty
+ go-github-com-valyala-fasttemplate))
+ (home-page "https://github.com/labstack/gommon")
+ (synopsis "Common libraries for Go")
+ (description
+ "This package provides functionlaity for common tasks:
+@itemize
+@item @code{Bytes} - format/parse bytes
+@item @code{Color} - style terminal text
+@item @code{Log} - simple logging
+@end itemize")
+ (license license:expat)))
+
+(define-public go-github-com-lann-builder
+ (package
+ (name "go-github-com-lann-builder")
+ (version "0.0.0-20180802200727-47ae307949d0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lann/builder")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kg9jy1rciznj627hafpq2mi7hr5d3ssgqcpwrm3bnlk9sqnydil"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/lann/builder"))
+ (propagated-inputs
+ (list go-github-com-lann-ps))
+ (home-page "https://github.com/lann/builder")
+ (synopsis "Fluent immutable builders for Golang")
+ (description
+ "Package builder provides a method for writing fluent immutable DSL
+builders. It uses immutable persistent data structures so that each step in
+the method chain can be reused.")
+ (license license:expat)))
+
+(define-public go-github-com-lann-ps
+ (package
+ (name "go-github-com-lann-ps")
+ (version "0.0.0-20150810152359-62de8c46ede0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lann/ps")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10yhcyymypvdiiipchsp80jbglk8c4r7lq7h54v9f4mxmvz6xgf7"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/lann/ps"))
+ (home-page "https://github.com/lann/ps")
+ (synopsis "Persistent data structures for Golang")
+ (description
+ "This package implements a fully persistent data structures - a data
+structure that always preserves the previous version of itself when it is
+modified. Such data structures are effectively immutable, as their operations
+do not update the structure in-place, but instead always yield a new
+structure. It's a stable fork of https://github.com/mndrix/ps.")
+ (license license:expat)))
+
+(define-public go-github-com-leodido-go-urn
+ (package
+ (name "go-github-com-leodido-go-urn")
+ (version "1.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/leodido/go-urn")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0bn9dj6y299jdh8szfim32yxj9zip38cqgv965dj23cixgr7baxb"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/leodido/go-urn"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/leodido/go-urn")
+ (synopsis "Parser for uniform resource names as seen on RFC 2141")
+ (description
+ "This package implements a parser for uniform resource names (URN) as
+specified by @uref{https://tools.ietf.org/html/rfc2141, IETF RFC 2141}.")
+ (license license:expat)))
+
+(define-public go-github-com-leonelquinteros-gotext
+ (package
+ (name "go-github-com-leonelquinteros-gotext")
+ (version "1.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/leonelquinteros/gotext")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ccls9xzbbrbrplbikz18lcky5p5rmifif6w69l5rl34dv11948m"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/leonelquinteros/gotext"))
+ (propagated-inputs
+ (list go-golang-org-x-text
+ go-golang-org-x-tools))
+ (home-page "https://github.com/leonelquinteros/gotext")
+ (synopsis "GNU gettext utilities in Go")
+ (description
+ "This package implements GNU gettext utilities in Go. It features:
+
+@itemize
+@item Implements GNU gettext support in native Go.
+@item Complete support for PO files including:
+@item Support for MO files.
+@item Thread-safe: This package is safe for concurrent use across multiple
+goroutines.
+@item It works with UTF-8 encoding as it's the default for Go language.
+@item Unit tests available.
+@item Language codes are automatically simplified from the form en_UK to en if
+the first isn't available.
+@item Ready to use inside Go templates.
+@item Objects are serializable to []byte to store them in cache.
+@item Support for Go Modules.
+@end itemize")
+ (license license:expat)))
+
(define-public go-github-com-lestrrat-go-envload
(package
(name "go-github-com-lestrrat-go-envload")
@@ -4956,6 +9740,32 @@ allocator. This is primarily useful for long lived buffers that usually sit emp
length-delimited slices. It's helpful for building wire protocols.")
(license license:expat)))
+(define-public go-github-com-lithammer-dedent
+ (package
+ (name "go-github-com-lithammer-dedent")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lithammer/dedent")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1zqdlz3csraphk12q91vmv5zhap3abscjn9v725d8r55qblwrvs0"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/lithammer/dedent"))
+ (home-page "https://github.com/lithammer/dedent")
+ (synopsis "Remove any common leading whitespace from multiline strings")
+ (description
+ "This package provides a functionality to remove common leading
+whitespace from multiline strings. Inspired by
+@url{https://docs.python.org/3/library/textwrap.html#textwrap.dedent,(code
+textwrap.dedent)} in Python.")
+ (license license:expat)))
+
(define-public go-github-com-lithammer-fuzzysearch
(package
(name "go-github-com-lithammer-fuzzysearch")
@@ -5088,6 +9898,128 @@ Printf/Sprintf etc.")
(native-inputs
(list go-github-com-stretchr-testify))))
+(define-public go-github-com-lucasb-eyer-go-colorful
+ (package
+ (name "go-github-com-lucasb-eyer-go-colorful")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lucasb-eyer/go-colorful")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "08c3fkf27r16izjjd4w94xd1z7w1r4mdalbl53ms2ka2j465s3qs"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/lucasb-eyer/go-colorful"))
+ (propagated-inputs
+ (list go-golang-org-x-image))
+ (home-page "https://github.com/lucasb-eyer/go-colorful")
+ (synopsis "Library for playing with colors in Go")
+ (description
+ "The colorful package provides a library for using colors in Go.
+It stores colors in RGB and provides methods for converting these to various
+color spaces.")
+ (license license:expat)))
+
+(define-public go-github-com-lunixbochs-vtclean
+ (package
+ (name "go-github-com-lunixbochs-vtclean")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lunixbochs/vtclean")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0jqn33l1kzy4dk66zbvxz7rlgkgg34s9mhc8z0lrz0i88466zhd8"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/lunixbochs/vtclean"))
+ (home-page "https://github.com/lunixbochs/vtclean")
+ (synopsis "Filter out terminal escape sequences")
+ (description
+ "The @code{vtclean} provides the @command{vtclean} command and a library
+designed to clean up raw terminal output by stripping escape sequences,
+optionally preserving color.")
+ (license license:expat)))
+
+(define-public go-github-com-lyft-protoc-gen-star-v2
+ (package
+ (name "go-github-com-lyft-protoc-gen-star-v2")
+ (version "2.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lyft/protoc-gen-star")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0c0w7xlarzkmbfsxdknakmnm562q3whxgs3ck3icwrva3dim94qc"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/lyft/protoc-gen-star/v2"
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ (list "TestGraph_Bidirectional"
+ "TestGraph_Bidirectional_Messages_Enums"
+ "TestGraph_Bidirectional_Recursive"
+ "TestGraph_Extensions"
+ "TestGraph_FDSet"
+ "TestGraph_Messages"
+ "TestGraph_Packageless"
+ "TestGraph_Services"
+ "TestGraph_SourceCodeInfo")
+ "|"))
+ ;; XXX: To enable all tests require more complex set up, check how to
+ ;; enable most of them.
+ #:test-subdirs #~(list ".")))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-spf13-afero
+ go-golang-org-x-tools
+ go-google-golang-org-protobuf))
+ (home-page "https://github.com/lyft/protoc-gen-star")
+ (synopsis "Protoc plugin library for efficient proto-based code generation")
+ ;; The Project lacks a good README, suggesting to read source code
+ ;; "... the true documentation source is the code itself ...".
+ (description
+ "PG* is a protoc plugin library for efficient proto-based code
+generation.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-magiconair-properties
+ (package
+ (name "go-github-com-magiconair-properties")
+ (version "1.8.9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/magiconair/properties")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05nkgdzl393505arq6hf1wxjxs2iaqkc88v5cy1s068abpl65xy0"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/magiconair/properties"))
+ (home-page "https://github.com/magiconair/properties")
+ (synopsis "Java properties scanner for Go")
+ (description "Java properties scanner for Go")
+ (license license:bsd-2)))
+
(define-public go-github-com-makenowjust-heredoc
(package
(name "go-github-com-makenowjust-heredoc")
@@ -5147,6 +10079,31 @@ implementing features like:
@end itemize")
(license license:expat))))
+(define-public go-github-com-masterminds-goutils
+ (package
+ (name "go-github-com-masterminds-goutils")
+ (version "1.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Masterminds/goutils")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "09m4mbcdlv9ng3xcrmjlxi0niavby52y9nl2jhjnbx1xxpjw0jrh"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/Masterminds/goutils"))
+ (home-page "https://github.com/Masterminds/goutils/")
+ (synopsis "Utility functions to manipulate strings")
+ (description
+ "GoUtils provides utility functions to manipulate strings in various
+ways. It is a Go implementation of some string manipulation libraries of Java
+Apache Commons.")
+ (license license:asl2.0)))
+
(define-public go-github-com-masterminds-semver-v3
(package
(name "go-github-com-masterminds-semver-v3")
@@ -5182,7 +10139,7 @@ semantic versions. Specifically it provides the ability to:
(define-public go-github-com-masterminds-sprig-v3
(package
(name "go-github-com-masterminds-sprig-v3")
- (version "3.2.3")
+ (version "3.3.0")
(source
(origin
(method git-fetch)
@@ -5191,29 +10148,21 @@ semantic versions. Specifically it provides the ability to:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1gkwalx8j8h1jdhk6dz8bq8zp7vivxvcivr83dcq0h6nrn4xjqnl"))))
+ (base32 "1ljpizbfjh29xb4f40ipkrqriyixhdsfnd72y3pdzrjf2kbmgw9n"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/Masterminds/sprig/v3"
- #:phases
- #~(modify-phases %standard-phases
- ;; Tests tries to reach Google:
- ;; tpl := `{{"www.google.com" | getHostByName}}`
- (add-after 'unpack 'remove-network-tests
- (lambda* (#:key import-path #:allow-other-keys)
- (delete-file
- (string-append "src/" import-path "/network_test.go")))))))
+ #:test-flags #~(list "-skip" "TestGetHostByName")))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
- (list go-github-com-google-uuid
+ (list go-dario-cat-mergo
+ go-github-com-google-uuid
go-github-com-huandu-xstrings
- go-github-com-imdario-mergo
go-github-com-masterminds-goutils
go-github-com-masterminds-semver-v3
go-github-com-mitchellh-copystructure
- go-github-com-mitchellh-reflectwalk
go-github-com-shopspring-decimal
go-github-com-spf13-cast
go-golang-org-x-crypto))
@@ -5224,19 +10173,49 @@ semantic versions. Specifically it provides the ability to:
functions.")
(license license:expat)))
+(define-public go-github-com-masterminds-squirrel
+ (package
+ (name "go-github-com-masterminds-squirrel")
+ (version "1.5.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Masterminds/squirrel")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ws7p3gchw6n81sfdhpk1pbh7gsj1fm7fbjah702d7q1gbn00vja"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/Masterminds/squirrel"))
+ (native-inputs
+ (list go-github-com-go-sql-driver-mysql
+ go-github-com-lib-pq
+ go-github-com-mattn-go-sqlite3
+ go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-lann-builder))
+ (home-page "https://github.com/Masterminds/squirrel")
+ (synopsis "Fluent SQL generation for golang")
+ (description
+ "Package squirrel provides a fluent SQL generator.")
+ (license license:expat)))
+
(define-public go-github-com-matryer-try
(package
(name "go-github-com-matryer-try")
- (version "1")
+ (version "0.0.0-20161228173917-9ac251b645a2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/matryer/try")
- (commit (string-append "v" version))))
+ (commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
- (base32 "15f0m5ywihivnvwzcw0mh0sg27aky9rkywvxqszxka9q051qvsmy"))))
+ (base32 "19fnqmpl3p54vmxgm1hmqvdc87brqx754wf3cdhq1bj04fcbb5h9"))))
(build-system go-build-system)
(arguments
(list
@@ -5406,6 +10385,8 @@ the @code{cpan} module @code{Parse::CommandLine}.")
(arguments
(list
#:import-path "github.com/mattn/go-sixel"))
+ (native-inputs
+ (list go-github-com-burntsushi-graphics-go)) ; for the CLI command
(propagated-inputs
(list go-github-com-soniakeys-quant))
(home-page "https://github.com/mattn/go-sixel")
@@ -5556,6 +10537,130 @@ language, namely support for record length-delimited message streaming.")
colored strings.")
(license license:expat)))
+(define-public go-github-com-michiwend-golang-pretty
+ (package
+ (name "go-github-com-michiwend-golang-pretty")
+ (version "0.0.0-20141116172505-8ac61812ea3f")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/michiwend/golang-pretty")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rjfms0csjqi91xnddzx3rcrcaikc7xc027617px3kdwdap80ir4"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:tests? #f ; Upstream tests seem to be broken.
+ #:import-path "github.com/michiwend/golang-pretty"))
+ (propagated-inputs
+ (list go-github-com-kr-text))
+ (home-page "https://github.com/michiwend/golang-pretty")
+ (synopsis "Pretty printing for Go values")
+ (description
+ "Package @code{pretty} provides pretty-printing for Go values. This is
+useful during debugging, to avoid wrapping long output lines in the terminal.
+
+It provides a function, @code{Formatter}, that can be used with any function
+that accepts a format string. It also provides convenience wrappers for
+functions in packages @code{fmt} and @code{log}.")
+ (license license:expat)))
+
+(define-public go-github-com-michiwend-gomusicbrainz
+ (package
+ (name "go-github-com-michiwend-gomusicbrainz")
+ (version "0.0.0-20181012083520-6c07e13dd396")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/michiwend/gomusicbrainz")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1c13hyv34l5hm7hrwrm62s2414ivx6dbbyhb7rw90bni78q441b1"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/michiwend/gomusicbrainz"))
+ (propagated-inputs
+ (list go-github-com-michiwend-golang-pretty))
+ (home-page "https://github.com/michiwend/gomusicbrainz")
+ (synopsis "MusicBrainz WS2 client library for Golang")
+ (description
+ "Currently GoMusicBrainz provides methods to perform search and lookup
+requests. Browse requests are not supported yet.")
+ (license license:expat)))
+
+(define-public go-github-com-miolini-datacounter
+ (package
+ (name "go-github-com-miolini-datacounter")
+ (version "1.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/miolini/datacounter")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0s1hxqy6666qd524rdp1dr3778davc8gx9brg9lkcjvr5l05s9wa"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/miolini/datacounter"))
+ (home-page "https://github.com/miolini/datacounter")
+ (synopsis "Counters for Go readers and writers")
+ (description
+ "The datacounter package provides counters for Go readers and writers.")
+ (license license:expat)))
+
+(define-public go-github-com-mitchellh-cli
+ (package
+ (name "go-github-com-mitchellh-cli")
+ (version "1.1.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mitchellh/cli")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1gp1p7pqc27ps8njv49hmzsfnbxq4wg5azmqpqdw91qxw3prs3kr"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mitchellh/cli"))
+ (propagated-inputs
+ (list go-github-com-armon-go-radix
+ go-github-com-bgentry-speakeasy
+ go-github-com-fatih-color
+ go-github-com-masterminds-sprig-v3
+ go-github-com-mattn-go-isatty
+ go-github-com-posener-complete))
+ (home-page "https://github.com/mitchellh/cli")
+ (synopsis "Go library for implementing command-line interfaces")
+ (description
+ "cli is a library for implementing command-line interfaces.
+Features:
+@itemize
+@item easy sub-command based CLIs: @code{cli foo}, @code{cli bar}, etc.
+@item support for nested subcommands such as @code{cli foo bar}
+@item optional support for default subcommands so @code{cli} does something
+other than error
+@item support for shell autocompletion of subcommands, flags, and arguments
+with callbacks in Go
+@item automatic help generation for listing subcommands
+@item automatic help flag recognition of @code{-h}, @code{--help}, etc.
+@item automatic version flag recognition of @code{-v}, @code{--version}
+@item helpers for interacting with the terminal, such as outputting
+information, asking for input, etc.
+@item use of Go interfaces/types makes augmenting various parts of the library
+a piece of cake
+@end itemize")
+ (license license:mpl2.0)))
+
(define-public go-github-com-mitchellh-colorstring
(package
(name "go-github-com-mitchellh-colorstring")
@@ -5579,6 +10684,235 @@ colored strings.")
"Colorstring provides functions for colorizing strings for terminal output.")
(license license:expat)))
+(define-public go-github-com-mitchellh-copystructure
+ (package
+ (name "go-github-com-mitchellh-copystructure")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mitchellh/copystructure")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1izw243b3r03nvgnnxvk706l3s3v3q7k69kq3n4asnzjkcymq7sm"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mitchellh/copystructure"))
+ (propagated-inputs
+ (list go-github-com-mitchellh-reflectwalk))
+ (home-page "https://github.com/mitchellh/copystructure")
+ (synopsis "Go library for decoding deep copying values")
+ (description "@code{copystructure} is a Go library for deep copying values
+in Go.
+
+This allows you to copy Go values that may contain reference values such as
+maps, slices, or pointers, and copy their data as well instead of just their
+references.")
+ (license license:expat)))
+
+(define-public go-github-com-mitchellh-go-homedir
+ (package
+ (name "go-github-com-mitchellh-go-homedir")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mitchellh/go-homedir")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1"))))
+ (build-system go-build-system)
+ (arguments
+ (quote (#:import-path "github.com/mitchellh/go-homedir"
+ ;; TODO: Tests fail because it tries to access home.
+ #:tests? #f)))
+ (home-page "https://github.com/mitchellh/go-homedir")
+ (synopsis "Go library for detecting and expanding the user's home directory without cgo")
+ (description
+ "This is a Go library for detecting the user's home directory without the
+use of @command{cgo}, so the library can be used in cross-compilation
+environments.
+
+Usage is simple, just call homedir.Dir() to get the home directory for a user,
+and homedir.Expand() to expand the @command{~} in a path to the home
+directory.
+
+Why not just use @command{os/user}? The built-in @command{os/user} package
+requires cgo on Darwin systems. This means that any Go code that uses that
+package cannot cross compile. But 99% of the time the use for
+@command{os/user} is just to retrieve the home directory, which we can do for
+the current user without cgo. This library does that, enabling
+cross-compilation.")
+ (license license:expat)))
+
+(define-public go-github-com-mitchellh-go-wordwrap
+ (package
+ (name "go-github-com-mitchellh-go-wordwrap")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mitchellh/go-wordwrap")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "12imq66hgj8q9ii2xqdy8apc0icphh6yimjb0div1pvl3s9gn83y"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mitchellh/go-wordwrap"))
+ (propagated-inputs
+ (list go-gopkg-in-yaml-v2))
+ (home-page "https://github.com/mitchellh/go-wordwrap")
+ (synopsis "Go library for word-wrapping strings")
+ (description
+ "This Go library automatically wraps words onto multiple lines. It's
+primary goal is to format command-line output, but of course word wrapping is
+a generally useful thing to do.")
+ (license license:expat)))
+
+;; XXX: This package is in maintenance mode: "This repository has been
+;; archived by the owner on Jul 22, 2024. It is now read-only."
+(define-public go-github-com-mitchellh-mapstructure
+ (package
+ (name "go-github-com-mitchellh-mapstructure")
+ (version "1.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mitchellh/mapstructure")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "10f2v143lkip8h46shd99k5yavfqpgqmd7a6y42v7szc0lcn3mff"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/mitchellh/mapstructure"))
+ (home-page "https://github.com/mitchellh/mapstructure")
+ (synopsis "Go library for decoding generic map values")
+ (description "Go library for decoding generic map values")
+ (license license:expat)))
+
+(define-public go-github-com-mitchellh-reflectwalk
+ (package
+ (name "go-github-com-mitchellh-reflectwalk")
+ (version "1.0.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mitchellh/reflectwalk")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1nxgb4gskzv045539vb312n0a443308dvh1akz7vi6x1l0z46zsm"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/mitchellh/reflectwalk"))
+ (home-page "https://github.com/mitchellh/reflectwalk/")
+ (synopsis "Walk a value in Go using reflection")
+ (description
+ "reflectwalk is a Go library for \"walking\" a value in Go using
+reflection, in the same way a directory tree can be \"walked\" on the file
+system. Walking a complex structure can allow you to do manipulations on
+unknown structures such as those decoded from JSON.")
+ (license license:expat)))
+
+(define-public go-github-com-mmcdole-goxpp
+ (package
+ (name "go-github-com-mmcdole-goxpp")
+ (version "1.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mmcdole/goxpp")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0g9va3vhc5s60s00kyp4agfhb6kjp8j8i41vkj3lwbz5sx947mif"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mmcdole/goxpp"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/mmcdole/goxpp")
+ (synopsis "XML pull prser for Golang")
+ (description
+ "The @code{goxpp} library, inspired by
+@url{http://www.xmlpull.org/v1/download/unpacked/doc/quick_intro.html, Java's
+XML@code{PullParser}}, is a lightweight wrapper for Go's standard XML
+Decoder,tailored for developers who need fine-grained control over XML
+parsing.")
+ (license license:expat)))
+
+(define-public go-github-com-moby-sys-mountinfo
+ (package
+ (name "go-github-com-moby-sys-mountinfo")
+ (version "0.7.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/moby/sys")
+ (commit (go-version->git-ref version
+ #:subdir "mountinfo"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1i1phx1kk9qa4jf1i1nl23d3f6k9fn2w46274cl76cqw9hjqg868"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/moby/sys/mountinfo"
+ #:unpack-path "github.com/moby/sys"
+ #:test-flags
+ #~(list "-skip" (string-join
+ (list "TestMountedBy/not_mounted_socket"
+ "TestMountedBy/socket_bind-mounted_to_itself")
+ "|"))))
+ (propagated-inputs (list go-golang-org-x-sys))
+ (home-page "https://github.com/moby/sys")
+ (synopsis "Retrieve information about OS mounts")
+ (description
+ "Package mountinfo provides a set of functions to retrieve information
+about OS mounts as seen by the current process is available from
+@code{/proc/self/mountinfo}.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-moby-sys-userns
+ (package
+ (name "go-github-com-moby-sys-userns")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/moby/sys")
+ (commit (go-version->git-ref version
+ #:subdir "userns"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1clr9x412gr1cq3jxf9lxblh9pkf8c42gz57wr14miy0nqsimx7j"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/moby/sys/userns"
+ #:unpack-path "github.com/moby/sys"))
+ (home-page "https://github.com/moby/sys")
+ (synopsis "Probe Linux user namespace")
+ (description
+ "Package userns provides utilities to detect whether we are currently
+running in a Linux user namespace.")
+ (license license:asl2.0)))
+
(define-public go-github-com-modern-go-concurrent
(package
(name "go-github-com-modern-go-concurrent")
@@ -5651,6 +10985,31 @@ standard @code{copy} will copy the pointers where @code{deepcopy} copies the
values pointed to. Unexported field values are not copied.")
(license license:expat)))
+(define-public go-github-com-motemen-go-colorine
+ (package
+ (name "go-github-com-motemen-go-colorine")
+ (version "0.0.0-20180816141035-45d19169413a")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/motemen/go-colorine")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1mdy6q0926s1frj027nlzlvm2qssmkpjis7ic3l2smajkzh07118"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/motemen/go-colorine"))
+ (propagated-inputs
+ (list go-github-com-daviddengcn-go-colortext))
+ (home-page "https://github.com/motemen/go-colorine")
+ (synopsis "Simple colorized console logger for golang")
+ (description
+ "This package provides simple colorized console logger for golang.")
+ (license license:expat)))
+
(define-public go-github-com-mreiferson-go-options
(package
(name "go-github-com-mreiferson-go-options")
@@ -5755,6 +11114,28 @@ Authentication Modules, PAM} application API.")
((#:import-path _ "github.com/msteinert/pam")
"github.com/msteinert/pam/v2")))))
+(define-public go-github-com-mtibben-percent
+ (package
+ (name "go-github-com-mtibben-percent")
+ (version "0.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mtibben/percent")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1iqivw8pigj259rj5yifibbvic70f9hb7k24a4sa967s4fj6agb6"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/mtibben/percent"))
+ (home-page "https://github.com/mtibben/percent")
+ (synopsis "Package percent escapes strings using percent-encoding")
+ (description
+ "Package percent escapes strings using percent-encoding.")
+ (license license:expat)))
+
(define-public go-github-com-muesli-ansi
(package
(name "go-github-com-muesli-ansi")
@@ -5882,7 +11263,13 @@ helping you to transform blocks of text.")
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/muesli/termenv"))
+ #:import-path "github.com/muesli/termenv"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key import-path #:allow-other-keys)
+ (delete-file-recursively
+ (string-append "src/" import-path "/examples")))))))
(propagated-inputs
(list go-github-com-aymanbagabas-go-osc52-v2
go-github-com-lucasb-eyer-go-colorful
@@ -6042,10 +11429,68 @@ multibase} (self identifying base encodings) in Go.")
varints.")
(license license:expat)))
+(define-public go-github-com-nakagami-firebirdsql
+ (package
+ (name "go-github-com-nakagami-firebirdsql")
+ (version "0.9.12")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nakagami/firebirdsql")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "043wc8pigv0cpnzljry1vfdnwlmbfy14b5yhbkyhnndk81c4pl7s"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f ; tests require running database service
+ #:import-path "github.com/nakagami/firebirdsql"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-kardianos-osext
+ go-github-com-shopspring-decimal
+ go-gitlab-com-nyarla-go-crypt
+ go-golang-org-x-crypto
+ go-golang-org-x-text
+ go-modernc-org-mathutil))
+ (home-page "https://github.com/nakagami/firebirdsql")
+ (synopsis "Firebird RDBMS sql driver for Golang")
+ (description
+ "Package firebird provides database/sql driver for
+@url{https://firebirdsql.org/, Firebird} RDBMS.")
+ (license license:expat)))
+
+(define-public go-github-com-nathan-osman-go-sunrise
+ (package
+ (name "go-github-com-nathan-osman-go-sunrise")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nathan-osman/go-sunrise")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "017zwzx05r5spxcs07dp6bnh7waknzsd819k7aqd8kr819v3x9in"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/nathan-osman/go-sunrise"))
+ (home-page "https://github.com/nathan-osman/go-sunrise")
+ (synopsis "Calculate sunrise and sunset times in Go")
+ (description
+ "This package provides a Go library for calculating sunrise and
+sunset times from geographical coordinates and a date.")
+ (license license:expat)))
+
(define-public go-github-com-nats-io-nats-go
(package
(name "go-github-com-nats-io-nats-go")
- (version "1.32.0")
+ (version "1.38.0")
(source
(origin
(method git-fetch)
@@ -6054,15 +11499,22 @@ varints.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "08b3n5mdpxvn9hipz0j001bp5r67i43cqji9x9dyzikypqdfg38k"))))
+ (base32 "1b21sxzds2x5a8b13hmf5n1pf1bf770ky7q12147gqq7vsw39fa1"))))
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/nats-io/nats.go"))
- (propagated-inputs (list go-golang-org-x-text
- go-github-com-nats-io-nuid
- go-github-com-nats-io-nkeys
- go-github-com-klauspost-compress))
+ #:import-path "github.com/nats-io/nats.go"
+ ;; Most tests in "test" directory fail to set up, limit to project's
+ ;; root tests.
+ #:test-subdirs #~(list ".")))
+ (native-inputs
+ (list go-github-com-nats-io-jwt-v2))
+ (propagated-inputs
+ (list go-github-com-klauspost-compress
+ go-github-com-nats-io-nkeys
+ go-github-com-nats-io-nuid
+ go-golang-org-x-text
+ go-google-golang-org-protobuf)) ; for encoders
(home-page "https://github.com/nats-io/nats.go")
(synopsis "Go Client for NATS server")
(description
@@ -6092,6 +11544,30 @@ varints.")
very fast, and tries to be entropy pool friendly.")
(license license:asl2.0)))
+(define-public go-github-com-ncruces-go-strftime
+ (package
+ (name "go-github-com-ncruces-go-strftime")
+ (version "0.1.9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ncruces/go-strftime")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rmr44m8mj5w9j1sy4c24b3n55lx2gwz1z3lb2g3p4qw87wv0j2g"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/ncruces/go-strftime"))
+ (home-page "https://github.com/ncruces/go-strftime")
+ (synopsis "Implementation of strftime/strptime for Golang")
+ (description
+ "Package strftime provides strftime/strptime compatible time formatting
+and parsing.")
+ (license license:expat)))
+
(define-public go-github-com-neurosnap-sentences
(package
(name "go-github-com-neurosnap-sentences")
@@ -6146,6 +11622,32 @@ list of sentences.")
pretty printed rendering in Golang.")
(license license:expat)))
+(define-public go-github-com-nsf-termbox-go
+ (package
+ (name "go-github-com-nsf-termbox-go")
+ (version "1.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nsf/termbox-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0n5jwnx53nkjvq8rcqzv2scs532iq9w06pd83w6cipniccqp4m2i"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/nsf/termbox-go"))
+ (propagated-inputs
+ (list go-github-com-mattn-go-runewidth))
+ (home-page "https://github.com/nsf/termbox-go")
+ (synopsis "@code{termbox} provides a minimal API for text-based user interfaces")
+ (description
+ "Termbox is a library that provides a minimalistic API which allows the
+programmer to write text-based user interfaces.")
+ (license license:expat)))
+
(define-public go-github-com-nsqio-go-diskqueue
(package
(name "go-github-com-nsqio-go-diskqueue")
@@ -6195,6 +11697,36 @@ queue.")
NSQ protocol @url{https://nsq.io/}.")
(license license:expat)))
+(define-public go-github-com-nxadm-tail
+ (package
+ (name "go-github-com-nxadm-tail")
+ (version "1.4.11")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nxadm/tail")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0s8lawq661g8qqf7c1cip5l60cm2138b125jgmv9h548ji9g5yqx"))
+ (snippet
+ #~(begin (use-modules (guix build utils))
+ (delete-file-recursively "vendor")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/nxadm/tail"))
+ (propagated-inputs
+ (list go-github-com-fsnotify-fsnotify
+ go-gopkg-in-tomb-v1))
+ (home-page "https://github.com/nxadm/tail")
+ (synopsis "Go implementation of the functionality of @command{tail -f}")
+ (description
+ "This package provides a Go library for reading from continuously
+updating files, like @command{tail -f}.")
+ (license license:expat)))
+
(define-public go-github-com-oklog-run
(package
(name "go-github-com-oklog-run")
@@ -6241,6 +11773,8 @@ goroutines as a unit whole.")
(arguments
(list
#:import-path "github.com/oklog/ulid"))
+ (native-inputs
+ (list go-github-com-pborman-getopt-v2)) ; for CLI
(home-page "https://github.com/oklog/ulid")
(synopsis "Universally Unique Lexicographically Sortable Identifier in Golang")
(description
@@ -6282,6 +11816,72 @@ millisecond)
(list
#:import-path "github.com/oklog/ulid/v2"))))
+(define-public go-github-com-olekukonko-tablewriter
+ (package
+ (name "go-github-com-olekukonko-tablewriter")
+ (version "0.0.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/olekukonko/tablewriter")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zhnrih2px6jm8nxzkz8s7va3lj03bzwxim8wjba9zh7i78bp67z"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/olekukonko/tablewriter"))
+ (propagated-inputs
+ (list go-github-com-mattn-go-runewidth))
+ (home-page "https://github.com/olekukonko/tablewriter/")
+ (synopsis "Generate ASCII table")
+ (description "This package generates ASCII tables. Features:
+@itemize
+@item automatic Padding
+@item support Multiple Lines
+@item supports Alignment
+@item support Custom Separators
+@item automatic Alignment of numbers and percentage
+@item write directly to http , file etc via @code{io.Writer}
+@item read directly from CSV file
+@item optional row line via @code{SetRowLine}
+@item normalise table header
+@item make CSV Headers optional
+@item enable or disable table border
+@item set custom footer support
+@item optional identical cells merging
+@item set custom caption
+@item optional reflowing of paragrpahs in multi-line cells
+@end itemize")
+ (license license:expat)))
+
+(define-public go-github-com-olekukonko-ts
+ (package
+ (name "go-github-com-olekukonko-ts")
+ (version "0.0.0-20171002115256-78ecb04241c0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/olekukonko/ts")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0k88n5rvs5k5zalbfa7c71jkjb8dhpk83s425z728qn6aq49c978"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f ; inappropriate ioctl for device.
+ #:import-path "github.com/olekukonko/ts"))
+ (home-page "https://github.com/olekukonko/ts/")
+ (synopsis "Simple Go application to get the size of the terminal")
+ (description
+ "This package provides a simple Go application to get the size of the
+terminal.")
+ (license license:expat)))
+
(define-public go-github-com-op-go-logging
(package
(name "go-github-com-op-go-logging")
@@ -6309,6 +11909,63 @@ syslog, file and memory. Multiple backends can be utilized with different log
levels per backend and logger.")
(license license:bsd-3)))
+(define-public go-github-com-opencontainers-go-digest
+ (package
+ (name "go-github-com-opencontainers-go-digest")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/opencontainers/go-digest")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0i5acjajvr6hi9zb7gxwifd8w28y884cv7cx36adj8lngj647xbi"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/opencontainers/go-digest"))
+ (home-page "https://github.com/opencontainers/go-digest")
+ (synopsis "Common digest package used across the container ecosystem")
+ (description
+ "Package digest provides a generalized type to opaquely represent message
+digests and their operations within the registry. The Digest type is designed
+to serve as a flexible identifier in a content-addressable system. More
+importantly, it provides tools and wrappers to work with hash.Hash-based
+digests with little effort.")
+ (license (list license:asl2.0 license:cc-by-sa4.0))))
+
+(define-public go-github-com-opencontainers-image-spec
+ (package
+ (name "go-github-com-opencontainers-image-spec")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/opencontainers/image-spec")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "108jws0i4kbawcihprj3wxp3yqv7nrynkwzwmbz42sx8dmbfq0kc"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/opencontainers/image-spec"))
+ (propagated-inputs
+ (list go-github-com-opencontainers-go-digest
+ go-github-com-russross-blackfriday
+ go-github-com-xeipuuv-gojsonreference
+ go-github-com-xeipuuv-gojsonschema))
+ (home-page "https://github.com/opencontainers/image-spec")
+ (synopsis "OCI Image Format Specification")
+ (description
+ "The OCI Image Format project creates and maintains the software shipping
+container image format spec (OCI Image Format).")
+ (license license:asl2.0)))
+
;; XXX: Find a way to source from specification-runtime-spec.
(define-public go-github-com-opencontainers-runtime-spec
(package
@@ -6338,6 +11995,31 @@ levels per backend and logger.")
specification-runtime-spec.")
(license license:asl2.0)))
+(define-public go-github-com-opencontainers-selinux
+ (package
+ (name "go-github-com-opencontainers-selinux")
+ (version "1.11.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/opencontainers/selinux")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "19j92lj9037d94lsls97b9d6cr0y8qavi8rampyawlykcp7gknqz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/opencontainers/selinux"))
+ (propagated-inputs (list go-golang-org-x-sys))
+ (home-page "https://github.com/opencontainers/selinux")
+ (synopsis "Common SELinux implementation")
+ (description
+ "Common SELinux package used across the container ecosystem.")
+ (license license:asl2.0)))
+
(define-public go-github-com-openhistogram-circonusllhist
(package
(name "go-github-com-openhistogram-circonusllhist")
@@ -6449,6 +12131,67 @@ included in this package.")
"This package implments recursive copy functinoality for directory.")
(license license:expat)))
+(define-public go-github-com-outcaste-io-ristretto
+ (package
+ (name "go-github-com-outcaste-io-ristretto")
+ (version "0.2.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/outcaste-io/ristretto")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "07ndjrblmj9b3ghn10h040zvzf2i3mlzvfziklcqdkhxbr1hf1rq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/outcaste-io/ristretto"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-cespare-xxhash-v2
+ go-github-com-dgryski-go-farm
+ go-github-com-dustin-go-humanize
+ go-github-com-pkg-errors
+ go-go-uber-org-atomic
+ go-golang-org-x-sys))
+ (home-page "https://github.com/outcaste-io/ristretto")
+ (synopsis "Memory-bound Go cache")
+ (description
+ "Ristretto is a fast, fixed size, in-memory cache with a dual focus on
+throughput and hit ratio performance. It's a fork of
+@code{dgraph-io/ristretto} project.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-patrickmn-go-cache
+ (package
+ (name "go-github-com-patrickmn-go-cache")
+ (version "2.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/patrickmn/go-cache")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10020inkzrm931r4bixf8wqr9n39wcrb78vfyxmbvjavvw4zybgs"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/patrickmn/go-cache"))
+ (home-page "https://github.com/patrickmn/go-cache")
+ (synopsis "In-memory key:value store/cache Golang library")
+ (description
+ "go-cache is an in-memory key:value store/cache similar to Memcached that
+is suitable for applications running on a single machine. Its major advantage
+is that, being essentially a thread-safe @code{map[string]interface{}} with
+expiration times, it doesn't need to serialize or transmit its contents over
+the network.")
+ (license license:expat)))
+
(define-public go-github-com-pbnjay-memory
(let ((commit "7b4eea64cf580186c0eceb10dc94ba3a098af46c")
(revision "2"))
@@ -6476,6 +12219,57 @@ memory accessible to the kernel. It does not account for memory used by other
processes.")
(license license:bsd-3))))
+(define-public go-github-com-pborman-getopt
+ (package
+ (name "go-github-com-pborman-getopt")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pborman/getopt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1sa66n392hzqbahn47grbjyaasvpklnn4s1wkzs1kdwrfdd62kfa"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separately:
+ ;;
+ ;; - github.com/pborman/getopt/v2
+ (delete-file-recursively "v2")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/pborman/getopt"))
+ (home-page "https://github.com/pborman/getopt")
+ (synopsis "Getopt style option parsing for Go")
+ (description
+ "This package provides traditional getopt processing for implementing
+programs that use traditional command lines.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-pborman-getopt-v2
+ (package
+ (inherit go-github-com-pborman-getopt)
+ (name "go-github-com-pborman-getopt-v2")
+ (version "2.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pborman/getopt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0sacv6g8cxfibxd3gnfjnzp7fynrnc4s2aaz5wbxivqqhvflc22l"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/pborman/getopt/v2"
+ #:unpack-path "github.com/pborman/getopt"))))
+
(define-public go-github-com-pelletier-go-toml
(package
(name "go-github-com-pelletier-go-toml")
@@ -6506,7 +12300,7 @@ processes.")
(package
(inherit go-github-com-pelletier-go-toml)
(name "go-github-com-pelletier-go-toml-v2")
- (version "2.2.2")
+ (version "2.2.3")
(source
(origin
(method git-fetch)
@@ -6515,14 +12309,54 @@ processes.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0gimgz33yxmvj0nmy56yy7zq4ay8j55ir8pfzmgwga7npgpzspk7"))))
+ (base32 "0hqxj34d49snvc2m6lxfjxks3z9sic9xbb6w49ajrqbzy953spzs"))))
(build-system go-build-system)
(arguments
- (list #:import-path "github.com/pelletier/go-toml/v2"))
+ (list
+ #:import-path "github.com/pelletier/go-toml/v2"
+ #:parallel-tests? #f
+ #:test-flags
+ #~(list "-short"
+ "-count" "1"
+ "-skip" "FuzzUnmarshal") ; for benchmark
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-benchmarks
+ (lambda* (#:key import-path #:allow-other-keys)
+ (delete-file-recursively
+ (string-append "src/" import-path "/benchmark")))))))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs '())))
+(define-public go-github-com-peterbourgon-diskv
+ (package
+ (name "go-github-com-peterbourgon-diskv")
+ (version "3.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/peterbourgon/diskv")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0pdy8f7bkm65gx4vknwcvfa619hknflqxkdlvmf427k2mzm91gmh"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/peterbourgon/diskv"))
+ (propagated-inputs (list go-github-com-google-btree))
+ (home-page "https://github.com/peterbourgon/diskv")
+ (synopsis "Disk-backed key-value store")
+ (description
+ "Diskv (disk-vee) is a simple, persistent key-value store written in the
+Go language. It starts with a simple API for storing arbitrary data on a
+filesystem by key, and builds several layers of performance-enhancing
+abstraction on top. The end result is a conceptually simple, but highly
+performant, disk-backed storage system.")
+ (license license:expat)))
+
(define-public go-github-com-philhofer-fwd
(package
(name "go-github-com-philhofer-fwd")
@@ -6548,6 +12382,30 @@ that help improve the encoding/decoding performance of some binary
protocols.")
(license license:expat)))
+(define-public go-github-com-phpdave11-gofpdi
+ (package
+ (name "go-github-com-phpdave11-gofpdi")
+ (version "1.0.14")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/phpdave11/gofpdi")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zan4wmwd1rzrq57ynz4z5kf00b6xj0dnki123zai0j53xdngwhw"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/phpdave11/gofpdi"))
+ (propagated-inputs (list go-github-com-pkg-errors))
+ (home-page "https://github.com/phpdave11/gofpdi")
+ (synopsis "PDF document importer")
+ (description
+ "gofpdi allows you to import an existing PDF into a new PDF.")
+ (license license:expat)))
+
(define-public go-github-com-pierrec-cmdflag
(package
(name "go-github-com-pierrec-cmdflag")
@@ -6564,7 +12422,13 @@ protocols.")
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/pierrec/cmdflag"))
+ #:import-path "github.com/pierrec/cmdflag"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file-recursively "examples")))))))
(home-page "https://github.com/pierrec/cmdflag")
(synopsis "Augment the flag package with commands")
(description
@@ -6596,34 +12460,199 @@ on top of the standard library @code{flag} package.")
Pion}.")
(license license:expat)))
+(define-public go-github-com-pkg-diff
+ (package
+ (name "go-github-com-pkg-diff")
+ (version "0.0.0-20241224192749-4e6772a4315c")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pkg/diff")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1iwaa6g3mbbi1k6rw7fn85sg6lm6rlnjz07yb91hq1kll6494s18"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/pkg/diff"))
+ (home-page "https://github.com/pkg/diff/")
+ (synopsis "Create and print diffs")
+ (description
+ "This package provides a Go library to create and print diffs.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-pkg-term
+ (package
+ (name "go-github-com-pkg-term")
+ (version "1.2.0-beta.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pkg/term")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1fflh4lglbvdz8949h8spbw3vwdldgnl6zgps4ylzzr40hhyvgf5"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/pkg/term"
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ ;; Tests fail with error: inappropriate ioctl for device.
+ (list "TestTiocmbic"
+ "TestTiocmbis"
+ "TestTiocmget"
+ "TestTiocmset")
+ "|"))))
+ (propagated-inputs (list go-golang-org-x-sys))
+ (home-page "https://github.com/pkg/term")
+ (synopsis "Manages POSIX terminals from Golang")
+ (description
+ "Package term manages POSIX terminals. As POSIX terminals are connected
+to, or emulate, a UART, this package also provides control over the various
+UART and serial line parameters.")
+ (license license:bsd-2)))
+
+(define-public go-github-com-pkg-xattr
+ (package
+ (name "go-github-com-pkg-xattr")
+ (version "0.4.10")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pkg/xattr")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rxvfiwgd0z9alj4n8jympmyi68zh1swf3siim8r2h01nm4i0vqh"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/pkg/xattr"))
+ (propagated-inputs
+ (list go-golang-org-x-sys))
+ (home-page "https://github.com/pkg/xattr")
+ (synopsis "Support for extended file system attributes")
+ (description
+ "Package xattr provides support for extended attributes on Linux, Darwin
+and FreeBSD. Extended attributes are name:value pairs permanently associated
+with files or directories. They are similar to the environment strings
+associated with a process. An attribute may be defined or undefined. If
+defined, its value may be empty or non-empty. You can find more details here:
+@@url{https://en.wikipedia.org/wiki/Extended_file_attributes,
+https://en.wikipedia.org/wiki/Extended_file_attributes}.")
+ (license license:bsd-2)))
+
+(define-public go-github-com-pmezard-go-difflib
+ (package
+ (name "go-github-com-pmezard-go-difflib")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pmezard/go-difflib")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/pmezard/go-difflib/difflib"
+ #:unpack-path "github.com/pmezard/go-difflib/"))
+ (home-page "https://github.com/pmezard/go-difflib")
+ (synopsis "Go diff implementation")
+ (description
+ "This package provides unified and context-aware diffs in Go.")
+ (license license:bsd-3)))
+
(define-public go-github-com-polydawn-refmt
(package
(name "go-github-com-polydawn-refmt")
- (version "0.89.1-0.20231129105047-37766d95467a")
+ (version "0.89.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/polydawn/refmt/")
- (commit (go-version->git-ref version))))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0grgzacc7igfndk1v3n1g6k4wdz6bjsiqfq3n5br2zpr7n40ha9n"))))
+ (base32 "1v4av75nlgvps5q2h3q6w3cmry0gg316l82zmj6sph9bp2c87621"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/polydawn/refmt"))
(propagated-inputs
- (list go-github-com-urfave-cli
- go-github-com-warpfork-go-wish
+ (list go-github-com-go-yaml-yaml
go-github-com-smartystreets-goconvey
- go-gopkg-in-yaml-v2))
+ go-github-com-urfave-cli
+ go-github-com-warpfork-go-wish))
(home-page "https://github.com/polydawn/refmt/")
(synopsis "Object mapping for Go language")
(description
"@code{refmt} is a serialization and object-mapping library.")
(license license:expat)))
+(define-public go-github-com-posener-complete
+ (package
+ (name "go-github-com-posener-complete")
+ (version "1.2.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/posener/complete")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0nri6hkfb0z3dkxf2fsfidr4bxbn91rjsqhg5s0c2jplf0aclppz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/posener/complete"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-hashicorp-go-multierror))
+ (home-page "https://github.com/posener/complete")
+ (synopsis "Bash completion implemented in Golang")
+ (description
+ "Package complete provides a tool for bash writing bash completion in go,
+and bash completion for the go command line.")
+ (license license:expat)))
+
+(define-public go-github-com-prometheus-community-go-runit
+ (package
+ (name "go-github-com-prometheus-community-go-runit")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/prometheus-community/go-runit")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1f5z10ynf67xx566ahnp5ndwxqz0i8rd8xnjiw7za6pz0wgj6wmk"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/prometheus-community/go-runit"))
+ (home-page "https://github.com/prometheus-community/go-runit")
+ (synopsis "Wrapping runit service status")
+ (description
+ "This package provides a wrapper round runit service status.")
+ (license license:expat)))
+
(define-public go-github-com-pterm-pterm
(package
(name "go-github-com-pterm-pterm")
@@ -6693,35 +12722,44 @@ watches memory utilization and forces Go GC in accordance with a user-defined
policy.")
(license (list license:asl2.0 license:expat))))
-(define-public go-github-com-rcrowley-go-metrics
- (let ((commit "cac0b30c2563378d434b5af411844adff8e32960")
- (revision "2"))
+(define-public go-github-com-reiver-go-porterstemmer
+ ;; The latest commit contain test fixtures.
+ (let ((commit "ab0f922907ea0321367a5776bd7a6c35d505d53b")
+ (revision "0"))
(package
- (name "go-github-com-rcrowley-go-metrics")
- (version (git-version "0.0.0" revision commit))
+ (name "go-github-com-reiver-go-porterstemmer")
+ (version (git-version "1.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/rcrowley/go-metrics")
+ (url "https://github.com/reiver/go-porterstemmer")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "1hfxffnpaw49pr3wrkbzq3pnv3nyzsvk5dxndv0yz70xlrbg8a04"))))
+ (base32 "10inyn0hdwdp619fk9lamq7cffalq4b201s3m75dfsqrb46az1ph"))))
(build-system go-build-system)
(arguments
- ;; Arbitrary precision tests are known to be broken on aarch64, ppc64le
- ;; and s390x. See: https://github.com/rcrowley/go-metrics/issues/249
- `(#:tests? ,(not (string-prefix? "aarch64" (or (%current-target-system)
- (%current-system))))
- #:import-path "github.com/rcrowley/go-metrics"))
- (propagated-inputs
- (list go-github-com-stathat-go))
- (synopsis "Go port of Coda Hale's Metrics library")
- (description "This package provides a Go implementation of Coda Hale's
-Metrics library.")
- (home-page "https://github.com/rcrowley/go-metrics")
- (license license:bsd-2))))
+ (list
+ #:import-path "github.com/reiver/go-porterstemmer"
+ ;; Could not download test file (from web) from URL:
+ ;; [http://tartarus.org/martin/PorterStemmer/voc.txt]
+ #:test-flags #~(list "-skip" "TestHasSuffix|TestStemString")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (substitute* "porterstemmer_has_suffix_test.go"
+ ;; (*testing.common).Errorf format %d has arg
+ ;; datum.Expected of wrong type bool
+ (("%d") "%t"))))))))
+ (home-page "https://github.com/reiver/go-porterstemmer")
+ (synopsis "Clean room implementation of the Porter Stemming algorithm")
+ (description
+ "This package provides a native Go clean room implementation of the
+Porter Stemming Algorithm.")
+ (license license:expat))))
(define-public go-github-com-remeh-sizedwaitgroup
(package
@@ -6750,6 +12788,135 @@ routines querying a database but without sending too much queries in order to
not overload the given database.")
(license license:expat)))
+(define-public go-github-com-rifflock-lfshook
+ (package
+ (name "go-github-com-rifflock-lfshook")
+ (version "2.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rifflock/lfshook")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0wxqjcjfg8c0klmdgmbw3ckagby3wg9rkga9ihd4fsf05x5scxrc"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/rifflock/lfshook"))
+ (propagated-inputs
+ (list go-github-com-sirupsen-logrus))
+ (home-page "https://github.com/rifflock/lfshook")
+ (synopsis "Local File System hook for Logrus logger")
+ (description
+ "This package provides a hook for Logrus to write directly to a file on
+the file system. The log levels are dynamic at instantiation of the hook, so
+it is capable of logging at some or all levels.")
+ (license license:expat)))
+
+(define-public go-github-com-rivo-tview
+ (package
+ (name "go-github-com-rivo-tview")
+ (version "0.0.0-20241227133733-17b7edb88c57")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rivo/tview")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1w59vyvs8k5mzl7k39zpwcwwdgam2pbz0rnrfnnjgvkld1rh81dc"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/rivo/tview"))
+ (propagated-inputs
+ (list go-github-com-gdamore-tcell-v2
+ go-github-com-lucasb-eyer-go-colorful
+ go-github-com-rivo-uniseg))
+ (home-page "https://github.com/rivo/tview")
+ (synopsis "Rich Interactive Widgets for Terminal UIs")
+ (description
+ "The tview package implements rich widgets for terminal based user
+interfaces. The widgets provided with this package are useful for data
+exploration and data entry.")
+ (license license:expat)))
+
+(define-public go-github-com-rivo-uniseg
+ (package
+ (name "go-github-com-rivo-uniseg")
+ (version "0.4.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rivo/uniseg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0nlcqyvq4vhq3hqhk84h6fp0jbqkjj88kcpcl853yr7sh4sisdxc"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/rivo/uniseg"))
+ (home-page "https://github.com/rivo/uniseg")
+ (synopsis "Unicode Text Segmentation for Go")
+ (description
+ "This package implements Unicode Text Segmentation according to
+@url{https://unicode.org/reports/tr29/, Unicode Standard Annex #29}.")
+ (license license:expat)))
+
+(define-public go-github-com-riywo-loginshell
+ (package
+ (name "go-github-com-riywo-loginshell")
+ (version "0.0.0-20200815045211-7d26008be1ab")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/riywo/loginshell")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "138yvis6lipw9x02jyiz7472bxi20206bcfikcar54i3xsww9q4i"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/riywo/loginshell"
+ ;; Tests try to get the current user's login shell; the build
+ ;; user doesn't have one.
+ #:tests? #f))
+ (home-page "https://github.com/riywo/loginshell")
+ (synopsis "Get the user's login shell in Go")
+ (description
+ "The loginshell package provides a Go library to get the login shell of
+the current user.")
+ (license license:expat)))
+
+(define-public go-github-com-robfig-cron-v3
+ (package
+ (name "go-github-com-robfig-cron-v3")
+ (version "3.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/robfig/cron")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1agzbw2dfk2d1mpmddr85s5vh6ygm8kqrvfg87i9d2wqnlsnliqm"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/robfig/cron/v3"))
+ (home-page "https://godoc.org/github.com/robfig/cron")
+ (synopsis "Cron library for Go")
+ (description
+ "This package provides a cron library for Go. It implements a cron spec
+parser and job runner.")
+ (license license:expat)))
+
(define-public go-github-com-rogpeppe-fastuuid
(package
(name "go-github-com-rogpeppe-fastuuid")
@@ -6791,21 +12958,9 @@ strings.")
(build-system go-build-system)
(arguments
(list
+ #:skip-build? #t
#:import-path "github.com/rogpeppe/go-internal"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'disable-failing-tests
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (substitute* (find-files "." "\\_test.go$")
- (("TestSimple") "OffTestSimple")))))
- ;; XXX: Replace when go-build-system supports nested path.
- (delete 'build)
- (replace 'check
- (lambda* (#:key import-path tests? #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./..."))))))))
+ #:test-flags #~(list "-skip" "TestSimple/cover")))
(propagated-inputs
(list go-golang-org-x-mod
go-golang-org-x-sys
@@ -6850,12 +13005,16 @@ Included are the following:
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/rs/zerolog"))
+ #:import-path "github.com/rs/zerolog"
+ ;; Unexpected error write unixgram @234fb->/run/systemd/journal/socket:
+ ;; sendmsg: no such file or directory
+ #:test-flags #~(list "-skip" "TestWriteReturnsNoOfWrittenBytes")))
(propagated-inputs
(list go-github-com-coreos-go-systemd-v22
go-github-com-mattn-go-colorable
go-github-com-pkg-errors
- go-github-com-rs-xid))
+ go-github-com-rs-xid
+ go-golang-org-x-tools))
(home-page "https://github.com/rs/zerolog")
(synopsis "Zero Allocation JSON Logger")
(description
@@ -6863,6 +13022,50 @@ Included are the following:
logging.")
(license license:expat)))
+(define-public go-github-com-russross-blackfriday
+ (package
+ (name "go-github-com-russross-blackfriday")
+ (version "1.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/russross/blackfriday")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "036028ynpq52z9snmd2b1kjzyvv6n9sg71k651ndznggnw19aamp"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/russross/blackfriday"))
+ (native-inputs
+ (list go-github-com-pmezard-go-difflib))
+ (propagated-inputs
+ (list go-github-com-shurcool-sanitized-anchor-name))
+ (home-page "https://github.com/russross/blackfriday")
+ (synopsis "Markdown processor in Go")
+ (description
+ "Blackfriday is a Markdown processor in Go.")
+ (license license:bsd-2)))
+
+(define-public go-github-com-russross-blackfriday-v2
+ (package
+ (inherit go-github-com-russross-blackfriday)
+ (name "go-github-com-russross-blackfriday-v2")
+ (version "2.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/russross/blackfriday")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0d1rg1drrfmabilqjjayklsz5d0n3hkf979sr3wsrw92bfbkivs7"))))
+ (arguments
+ (list #:import-path "github.com/russross/blackfriday/v2"))))
+
+
(define-public go-github-com-ryanuber-columnize
(package
(name "go-github-com-ryanuber-columnize")
@@ -6886,6 +13089,30 @@ logging.")
"This package implements column-formatted output for Golang.")
(license license:expat)))
+(define-public go-github-com-sabhiram-go-gitignore
+ (package
+ (name "go-github-com-sabhiram-go-gitignore")
+ (version "0.0.0-20210923224102-525f6e181f06")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sabhiram/go-gitignore")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "197giv3snczvbihzvkja5pq53yw5fc516rnjm71hni8gawb8jmh3"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/sabhiram/go-gitignore"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/sabhiram/go-gitignore")
+ (synopsis "Gitignore parser for Go")
+ (description "A @command{.gitignore} parser for Go.")
+ (license license:expat)))
+
(define-public go-github-com-sahilm-fuzzy
(package
(name "go-github-com-sahilm-fuzzy")
@@ -6901,8 +13128,7 @@ logging.")
(base32 "15j95gm7hcmg09x1b39vc4il8bryv4v0yljvvyq5vyc6iq66qrbz"))))
(build-system go-build-system)
(native-inputs
- (list go-github-com-kylelemons-godebug
- go-github-com-kylelemons-godebug-pretty))
+ (list go-github-com-kylelemons-godebug))
(arguments
(list #:import-path "github.com/sahilm/fuzzy"))
(home-page "https://github.com/sahilm/fuzzy")
@@ -6912,6 +13138,111 @@ logging.")
symbols in the style of Sublime Text, VSCode, @code{IntelliJ} IDEA et al.")
(license license:expat)))
+(define-public go-github-com-saracen-walker
+ (package
+ (name "go-github-com-saracen-walker")
+ (version "0.1.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/saracen/walker")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "17i2zrbcp0zgwfgap555pk358wpqfa8qj8pmgwhjkzwd77nyl77g"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/saracen/walker"))
+ (inputs
+ (list go-golang-org-x-sync))
+ (home-page "https://github.com/saracen/walker")
+ (synopsis "Faster, parallel version of Go's filepath.Walk")
+ (description
+ "The @code{walker} function is a faster, parallel version, of
+@code{filepath.Walk}")
+ (license license:expat)))
+
+(define-public go-github-com-satori-go-uuid
+ (package
+ (name "go-github-com-satori-go-uuid")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/satori/go.uuid")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1j4s5pfg2ldm35y8ls8jah4dya2grfnx2drb4jcbjsyrp4cm5yfb"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/satori/go.uuid"))
+ (native-inputs
+ (list go-gopkg-in-check-v1))
+ (home-page "https://github.com/satori/go.uuid")
+ (synopsis "UUID package for Go language")
+ (description
+ "Package uuid provides implementation of @acronym{Universally Unique
+Identifier, UUID}. Supported versions are 1, 3, 4 and 5 (as specified in
+@url{https://rfc-editor.org/rfc/rfc4122.html,RFC 4122}) and version 2 (as
+specified in DCE 1.1).")
+ (license license:expat)))
+
+(define-public go-github-com-savsgio-gotils
+ (package
+ (name "go-github-com-savsgio-gotils")
+ (version "0.0.0-20240704082632-aef3928b8a38")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/savsgio/gotils")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0s3xsq4wy2xi17wq0kzw2zszj9vwndzvvmkx7pp7crx8k43x16ll"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/savsgio/gotils"))
+ (propagated-inputs
+ (list go-github-com-google-uuid
+ go-github-com-valyala-bytebufferpool))
+ (home-page "https://github.com/savsgio/gotils")
+ (synopsis "Golang utilities")
+ (description
+ "Golang utilities to make your life easier with zero allocations.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-schachmat-ingo
+ (package
+ (name "go-github-com-schachmat-ingo")
+ (version "0.0.0-20170403011506-a4bdc0729a3f")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/schachmat/ingo")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1gw0kddy7jh3467imsqni86cf9yq7k6vpfc0ywkbwj0zsjsdgd49"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/schachmat/ingo"))
+ (home-page "https://github.com/schachmat/ingo")
+ (synopsis "Go library to persist flags in a INI-like configuration file")
+ (description
+ "Ingo is a Go library helping you to persist flags in a INI-like
+configuration file.")
+ (license license:isc)))
+
(define-public go-github-com-schollz-progressbar-v3
(package
(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
is undetermined, a customizable spinner is shown.")
(license license:expat)))
+(define-public go-github-com-sebdah-goldie-v2
+ (package
+ (name "go-github-com-sebdah-goldie-v2")
+ (version "2.5.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sebdah/goldie")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "06hyzl7cl09dfsmd0lb88icklv5g59hgs5wqgngl39fbawkbc411"))
+ (snippet
+ #~(begin (use-modules (guix build utils))
+ (delete-file-recursively "vendor")
+ (delete-file-recursively "v2/vendor")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/sebdah/goldie/v2"
+ #:unpack-path "github.com/sebdah/goldie"
+ ;; Test requires to refresh test data: "The first time running go test,
+ ;; with -update, without -clean".
+ #:test-flags #~(list "-skip" "TestCleanFunction")))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-pmezard-go-difflib
+ go-github-com-sergi-go-diff))
+ (home-page "https://github.com/sebdah/goldie")
+ (synopsis "Golden test utility")
+ (description
+ "Package goldie provides test assertions based on golden files.
+It's typically used for testing responses with larger data bodies.")
+ (license license:expat)))
+
(define-public go-github-com-sergi-go-diff
(package
(name "go-github-com-sergi-go-diff")
@@ -7082,6 +13450,67 @@ sensors).")
;; environment.
(string-append "src/" import-path "/host/host_test.go")))))))))
+(define-public go-github-com-shurcool-sanitized-anchor-name
+ (package
+ (name "go-github-com-shurcool-sanitized-anchor-name")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/shurcooL/sanitized_anchor_name")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1gv9p2nr46z80dnfjsklc6zxbgk96349sdsxjz05f3z6wb6m5l8f"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/shurcooL/sanitized_anchor_name"))
+ (home-page "https://github.com/shurcooL/sanitized_anchor_name")
+ (synopsis "Create sanitized anchor names")
+ (description
+ "This package provides a Go program for creating sanitized anchor
+names.")
+ (license license:expat)))
+
+(define-public go-github-com-sirupsen-logrus
+ (package
+ (name "go-github-com-sirupsen-logrus")
+ (version "1.9.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sirupsen/logrus")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jz7nyq88i9fwfpp7krl046q62kjn6lb9j4r932bxnpypl1hwc49"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/sirupsen/logrus"
+ #:test-flags #~(list "-skip" "TestNestedLoggingReportsCorrectCaller")
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs #:allow-other-keys #:rest args)
+ (unless
+ ;; The tests fail when run with gccgo.
+ (false-if-exception (search-input-file inputs "/bin/gccgo"))
+ (apply (assoc-ref %standard-phases 'check) args)))))))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-golang-org-x-sys))
+ (home-page "https://github.com/sirupsen/logrus")
+ (synopsis "Structured, pluggable logging for Go")
+ (description "Logrus is a structured logger for Go, completely API
+compatible with the standard library logger.")
+ (license license:expat)))
+
(define-public go-github-com-skip2-go-qrcode
(package
(name "go-github-com-skip2-go-qrcode")
@@ -7103,6 +13532,58 @@ sensors).")
(description "This package provides a QR code encoder for the Goloang.")
(license license:expat)))
+(define-public go-github-com-skratchdot-open-golang
+ (package
+ (name "go-github-com-skratchdot-open-golang")
+ (version "0.0.0-20200116055534-eef842397966")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/skratchdot/open-golang")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0n6387csjn024db8wldadsiy8ljz7lk7szl6ls28fcbkax7rw86y"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:tests? #f ; requires xdg-open and firefox in the PATH
+ #:import-path "github.com/skratchdot/open-golang"))
+ (home-page "https://github.com/skratchdot/open-golang")
+ (synopsis "Open a file, directory, or URI using the default application")
+ (description
+ "Open a file, directory, or URI using the OS's default application for
+that object type. Optionally, you can specify an application to use. On
+GNU/Linux, this is a proxy for the @command{xdg-open} command.")
+ (license license:expat)))
+
+(define-public go-github-com-smacker-go-tree-sitter
+ (package
+ (name "go-github-com-smacker-go-tree-sitter")
+ (version "0.0.0-20240827094217-dd81d9e9be82")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/smacker/go-tree-sitter")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "15c7w5dv7zvhvgrf71fp5l74mjkiniqgz2cbv024pmkcwsvv48yj"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/smacker/go-tree-sitter"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/smacker/go-tree-sitter")
+ (synopsis "Golang bindings for tree-sitter")
+ (description
+ "This package provides a bindings for
+@url{https://github.com/tree-sitter/tree-sitter, tree-sitter} in Golang.")
+ (license license:expat)))
+
(define-public go-github-com-songgao-water
(package
(name "go-github-com-songgao-water")
@@ -7178,6 +13659,82 @@ Use waterutil with it to work with TUN/TAP packets/frames.")
"Quant provides an interface for image color quantizers.")
(license license:expat)))
+(define-public go-github-com-spf13-afero
+ (package
+ (name "go-github-com-spf13-afero")
+ ;; TODO: It's the latest version which does not require
+ ;; google.golang.org/api, pulling 400+ missing dependencies.
+ (version "1.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/spf13/afero")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0yi8p0yxiidpcg4cagxg2iyqcaapsng89rak4qyxmgails2fqg37"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/spf13/afero"
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; XXX: Replace when go-build-system supports nested path.
+ (replace 'check
+ (lambda* (#:key import-path tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion (string-append "src/" import-path)
+ (invoke "go" "test" "-v" "./..."))))))))
+ (propagated-inputs
+ (list go-github-com-pkg-sftp
+ go-golang-org-x-text))
+ (home-page "https://github.com/spf13/afero")
+ (synopsis "File system abstraction for Go")
+ (description
+ "This package provides a file system abstraction for Go.")
+ (license license:asl2.0)))
+
+;; XXX: For chezmoi 1.8.10, remove it when updated.
+(define-public go-github-com-spf13-afero-1.1.2
+ (hidden-package (package (inherit go-github-com-spf13-afero)
+ (name "go-github-com-spf13-afero")
+ (version "1.1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/spf13/afero")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0miv4faf5ihjfifb1zv6aia6f6ik7h1s4954kcb8n6ixzhx9ck6k")))))))
+
+(define-public go-github-com-spf13-cast
+ (package
+ (name "go-github-com-spf13-cast")
+ (version "1.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/spf13/cast")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1l39v7zd8i8vvwls2frfxc583im5nj5x5lrdss4pcc36cd5a9vf4"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/spf13/cast"))
+ (native-inputs
+ (list go-github-com-frankban-quicktest))
+ (home-page "https://github.com/spf13/cast")
+ (synopsis "Safe and easy casting from one type to another in Go")
+ (description
+ "Safe and easy casting from one type to another in Go.")
+ (license license:expat)))
+
(define-public go-github-com-spf13-cobra
(package
(name "go-github-com-spf13-cobra")
@@ -7194,9 +13751,13 @@ Use waterutil with it to work with TUN/TAP packets/frames.")
(build-system go-build-system)
(arguments
(list
+ #:test-flags #~(list "-skip" "TestGenManSeeAlso")
#:import-path "github.com/spf13/cobra"))
+ (native-inputs
+ (list go-gopkg-in-yaml-v3))
(propagated-inputs
- (list go-github-com-spf13-pflag))
+ (list go-github-com-go-md2man
+ go-github-com-spf13-pflag))
(home-page "https://github.com/spf13/cobra")
(synopsis "Go library for creating CLI applications")
(description
@@ -7204,28 +13765,170 @@ Use waterutil with it to work with TUN/TAP packets/frames.")
well as a program to generate applications and command files.")
(license license:asl2.0)))
-(define-public go-github-com-stathat-go
- (let ((commit "74669b9f388d9d788c97399a0824adbfee78400e")
- (revision "0"))
- (package
- (name "go-github-com-stathat-go")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/stathat/go")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1zzlsl24dyr202qkr2pay22m6d0gb7ssms77wgdx0r0clgm7dihw"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/stathat/go"))
- (synopsis "Post statistics to StatHat")
- (description "This is a Go package for posting to a StatHat account.")
- (home-page "https://github.com/stathat/go")
- (license license:expat))))
+(define-public go-github-com-spf13-jwalterweatherman
+ (package
+ (name "go-github-com-spf13-jwalterweatherman")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/spf13/jwalterweatherman")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ywmkwci5zyd88ijym6f30fj5c0k2yayxarkmnazf5ybljv50q7b"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/spf13/jwalterweatherman"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/spf13/jwalterweatherman")
+ (synopsis "Go logging library")
+ (description
+ "JWW is primarily a wrapper around the standard log library. It provides
+a few advantages over using the standard log library alone.
+
+@itemize
+@item ready to go out of the box
+@item one library for both printing to the terminal and logging (to files)
+@item really easy to log to either a temp file or a file you specify
+@end itemize")
+ (license license:expat)))
+
+;; XXX: Not maintained for 3y, see
+;; <https://github.com/spf13/pflag/issues/385>.
+(define-public go-github-com-spf13-pflag
+ (package
+ (name "go-github-com-spf13-pflag")
+ (version "1.0.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/spf13/pflag")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0gpmacngd0gpslnbkzi263f5ishigzgh6pbdv9hp092rnjl4nd31"))
+ (snippet
+ #~(begin
+ (use-modules (guix build utils))
+ ;; Fix compatibility with go-1.19+
+ ;; https://github.com/spf13/pflag/issues/368
+ (substitute* "flag_test.go"
+ (("fmt\\.Println") "fmt.Print")
+ (("\\+ got\\)") "+ got + \"\\n\")")
+ (("\\+ defaultOutput\\)") "+ defaultOutput + \"\\n\")"))))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/spf13/pflag"))
+ (home-page "https://github.com/spf13/pflag")
+ (synopsis "Replacement for Go's @code{flag} package")
+ (description
+ "Pflag is library to replace Go's @code{flag} package. It implements
+POSIX/GNU-style command-line options with double hyphens. It is is compatible
+with the
+@uref{https://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html,
+GNU extensions} to the POSIX recommendations for command-line options.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-spf13-viper
+ (package
+ (name "go-github-com-spf13-viper")
+ ;; Refreshing to a newer version requires long chain of missing packages.
+ (version "1.8.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/spf13/viper")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0jcsvd9l05pv10rma6zicp44q2mlvxj0qlhnf4zcg2pymb5i0hq6"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/spf13/viper"
+ ;; Optional modules are not packed.
+ #:test-subdirs #~(list ".")))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-fsnotify-fsnotify
+ go-github-com-hashicorp-hcl
+ go-github-com-magiconair-properties
+ go-github-com-mitchellh-mapstructure
+ go-github-com-pelletier-go-toml
+ go-github-com-spf13-afero
+ go-github-com-spf13-cast
+ go-github-com-spf13-jwalterweatherman
+ go-github-com-spf13-pflag
+ go-github-com-subosito-gotenv
+ go-gopkg-in-ini-v1
+ go-gopkg-in-yaml-v2))
+ (home-page "https://github.com/spf13/viper")
+ (synopsis "Go configuration with fangs")
+ (description
+ "Viper is a complete configuration solution for Go applications including
+12-Factor apps. It is designed to work within an application, and can handle
+all types of configuration needs and formats.")
+ (license license:expat)))
+
+(define-public go-github-com-ssor-bom
+ (package
+ (name "go-github-com-ssor-bom")
+ (version "0.0.0-20170718123548-6386211fdfcf")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ssor/bom")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "09g5496ifwqxqclh2iw58plcwcz0sczlnxwqxzwmnl4shdl371ld"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/ssor/bom"))
+ (home-page "https://github.com/ssor/bom")
+ (synopsis "Cleaning BOMs in Go")
+ (description
+ "The bom package provides small tools for cleaning BOMs from a byte array
+or reader.")
+ (license license:expat)))
+
+(define-public go-github-com-stoewer-go-strcase
+ (package
+ (name "go-github-com-stoewer-go-strcase")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stoewer/go-strcase")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1gqswiyj71h676lmqb78rs125iq8msklymhzw0w59afywxqsaj2z"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/stoewer/go-strcase"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/stoewer/go-strcase")
+ (synopsis "Convert snake case, camel case and kebap case strings")
+ (description
+ "Package strcase converts between different kinds of naming formats such
+as camel case (@code{CamelCase}), snake case (@code{snake_case}) or kebab
+case (@code{kebab-case}). The package is designed to work only with strings
+consisting of standard ASCII letters.")
+ (license license:expat)))
(define-public go-github-com-stretchr-objx
(package
@@ -7292,6 +13995,70 @@ slices, JSON and other data.")
"Go library for loading environment variables from files")
(license license:expat)))
+(define-public go-github-com-surge-glog
+ (package
+ (name "go-github-com-surge-glog")
+ (version "0.0.0-20141108051140-2578deb2b95c")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/surge/glog")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1bxcwxvsvr2hfpjz9hrrn0wrgykwmrbyk567102k3vafw9xdcwk4"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/surge/glog"))
+ (home-page "https://github.com/surge/glog")
+ (synopsis "Leveled execution logs for Go")
+ (description
+ "Leveled execution logs for Go.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-surgebase-porter2
+ (package
+ (name "go-github-com-surgebase-porter2")
+ (version "0.0.0-20150829210152-56e4718818e8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/surgebase/porter2")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ivcf83jlj9s7q5y9dfbpyl0br35cz8fcp0dm8sxxvqh54py06v2"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/surgebase/porter2"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-build
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (substitute* "cmd/suffixfsm/suffixfsm.go"
+ ;; fmt.Println arg list ends with redundant newline
+ (("fmt.Println") "fmt.Printf"))))))))
+ (native-inputs
+ (list go-github-com-agonopol-go-stem
+ go-github-com-dchest-stemmer
+ go-github-com-kljensen-snowball
+ go-github-com-reiver-go-porterstemmer
+ go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-surge-glog))
+ (home-page "https://github.com/surgebase/porter2")
+ (synopsis "Go library implementing english Porter2 stemmer")
+ (description
+ "Porter2 implements the
+@url{http://snowball.tartarus.org/algorithms/english/stemmer.html, english
+Porter2 stemmer}. It is written completely using finite state machines to do
+suffix comparison, rather than the string-based or tree-based approaches.")
+ (license license:asl2.0)))
+
(define-public go-github-com-syndtr-goleveldb
(package
(name "go-github-com-syndtr-goleveldb")
@@ -7360,6 +14127,60 @@ storage system.")
@url{https://en.wikipedia.org/wiki/Bloom_filter, bloom filter}.")
(license license:bsd-2)))
+(define-public go-github-com-tdewolff-argp
+ (package
+ (name "go-github-com-tdewolff-argp")
+ (version "0.0.0-20240625173203-87b04d5d3e52")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tdewolff/argp")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0d2xqir997qrxkwmbb6pn5hgl9ii0nz19f19lrgc4ixjhxxjwyy5"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/tdewolff/argp"))
+ (native-inputs
+ (list go-github-com-tdewolff-test))
+ (propagated-inputs
+ (list go-github-com-go-sql-driver-mysql
+ go-github-com-jmoiron-sqlx
+ go-github-com-pelletier-go-toml))
+ (home-page "https://github.com/tdewolff/argp")
+ (synopsis "GNU command line argument parser")
+ (description "Command line argument parser following the GNU standard.")
+ (license license:expat)))
+
+(define-public go-github-com-tdewolff-hasher
+ (package
+ (name "go-github-com-tdewolff-hasher")
+ (version "0.0.0-20210521220142-bc97f602bca2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tdewolff/hasher")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "12dmxpmdy2z7c2z7qv2mv2aq4hyvjncb6fzr0ymg3y5bfjvl4dcw"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/tdewolff/hasher"))
+ (native-inputs
+ (list go-github-com-cespare-mph
+ go-github-com-dgryski-go-mph))
+ (home-page "https://github.com/tdewolff/hasher")
+ (synopsis "Go known-keys fast-lookup map generator")
+ (description
+ "Hasher is a tool to automate the creation of methods and tables for a
+@code{string} to @code{uint32} mapper.")
+ (license license:bsd-3)))
+
(define-public go-github-com-teambition-rrule-go
(package
(name "go-github-com-teambition-rrule-go")
@@ -7418,6 +14239,54 @@ Included modules are:
@end itemize")
(license license:expat)))
+(define-public go-github-com-templexxx-cpu
+ (package
+ (name "go-github-com-templexxx-cpu")
+ (version "0.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/templexxx/cpu")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1bfygzjz2n8fbc9n9k7hfdnaz5mw6g4n4n1q3a0hyv33j9bvl5hh"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/templexxx/cpu"))
+ (home-page "https://github.com/templexxx/cpu")
+ (synopsis "@code{internal/cpu} in Go (add AVX512)")
+ (description
+ "Package cpu implements processor feature detection used by the Go
+standard library.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-templexxx-xorsimd
+ (package
+ (name "go-github-com-templexxx-xorsimd")
+ (version "0.4.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/templexxx/xorsimd")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01227dcf5mjc2v9f3shvqvbx3vxz89la7imjnjfmas61fcjwdlj5"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/templexxx/xorsimd"))
+ (propagated-inputs (list go-github-com-templexxx-cpu))
+ (home-page "https://github.com/templexxx/xorsimd")
+ (synopsis "XOR in pure Golang")
+ (description
+ "This package provides XOR bitwise code engine.")
+ (license license:expat)))
+
(define-public go-github-com-thejerf-suture
(package
(name "go-github-com-thejerf-suture")
@@ -7701,6 +14570,506 @@ supported by the time package
@end itemize")
(license license:expat)))
+(define-public go-github-com-tomwright-dasel-v2
+ (package
+ (name "go-github-com-tomwright-dasel-v2")
+ (version "2.8.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/TomWright/dasel")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1qh32gq0x0lc4j4w326skxw4nblf2v71ychd8dk6h3ra5d22bbmy"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.22
+ #:embed-files #~(list ".*\\.xml")
+ #:import-path "github.com/tomwright/dasel/v2"))
+ (propagated-inputs
+ (list go-github-com-alecthomas-chroma-v2
+ go-github-com-clbanning-mxj-v2
+ go-github-com-pelletier-go-toml-v2
+ go-github-com-spf13-cobra
+ go-golang-org-x-net
+ go-golang-org-x-text
+ go-gopkg-in-yaml-v3))
+ (home-page "https://github.com/tomwright/dasel")
+ (synopsis "Tool to work with JSON, TOML, YAML, XML and CSV files")
+ (description
+ "Dasel (short for data-selector) allows you to query and modify data
+structures using selector strings. It's similar to @code{jq}/@code{yq}, but
+supports JSON, YAML, TOML, XML and CSV with zero runtime dependencies.")
+ (license license:expat)))
+
+(define-public go-github-com-twpayne-go-shell
+ (package
+ (name "go-github-com-twpayne-go-shell")
+ (version "0.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/twpayne/go-shell")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rnwdlhiakcigmz55fhn0wib6vi064cqxfq512mi880j9yqx4114"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/twpayne/go-shell"))
+ (native-inputs
+ (list go-github-com-alecthomas-assert-v2))
+ (home-page "https://github.com/twpayne/go-shell")
+ (synopsis "Shell across multiple platforms")
+ (description
+ "Package @code{shell} returns a user's shell across multiple platforms.")
+ (license license:expat)))
+
+(define-public go-github-com-twpayne-go-vfs-v5
+ (package
+ (name "go-github-com-twpayne-go-vfs-v5")
+ (version "5.0.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/twpayne/go-vfs")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "152hbb6ww2f2ac2bf1d446vw8z8m22n1rsa7gvlzfa060vj9hjgx"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/twpayne/go-vfs/v5"))
+ (native-inputs
+ (list go-github-com-alecthomas-assert-v2))
+ (home-page "https://github.com/twpayne/go-vfs/")
+ (synopsis "Abstraction of the @code{os} and @code{ioutil} Go packages")
+ (description
+ "Package @code{vfs} provides an abstraction of the @code{os} and
+@code{ioutil} packages that is easy to test.")
+ (license license:expat)))
+
+;; XXX: For chezmoi 2.30.1, remove it when updated.
+(define-public go-github-com-twpayne-go-vfs-v4
+ (hidden-package (package (inherit go-github-com-twpayne-go-vfs-v5)
+ (name "go-github-com-twpayne-go-vfs-v4")
+ (version "4.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/twpayne/go-vfs")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1hbrm6b0ca116h8mc8nkq04nba685wmp52pz5980ivvi86ji9b1y"))))
+ (arguments
+ (list
+ #:import-path "github.com/twpayne/go-vfs/v4")))))
+
+;; XXX: For chezmoi 1.8.10, remove it when updated.
+(define-public go-github-com-twpayne-go-vfs-1.0.1
+ (hidden-package (package (inherit go-github-com-twpayne-go-vfs-v5)
+ (name "go-github-com-twpayne-go-vfs")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/twpayne/go-vfs")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1if2wfdwl3h8v8kgrgywkwcjafcz7hynq8ikr52s11qf2n0w3gny"))))
+ (arguments
+ (list
+ #:import-path "github.com/twpayne/go-vfs")))))
+
+(define-public go-github-com-twpayne-go-xdg-v3
+ (package
+ (name "go-github-com-twpayne-go-xdg-v3")
+ (version "3.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/twpayne/go-xdg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0j8q7yzixs6jlaad0lpa8hs6b240gm2cmy0yxgnprrbpa0y2r7ln"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/twpayne/go-xdg/v3"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-twpayne-go-vfs-1.0.1))
+ (home-page "https://github.com/twpayne/go-xdg/")
+ (synopsis "Functions related to freedesktop.org")
+ (description
+ "Package @code{xdg} provides functions related to
+@uref{freedesktop.org}.")
+ (license license:expat)))
+
+(define-public go-github-com-twpayne-go-xdg-v6
+ (package
+ (inherit go-github-com-twpayne-go-xdg-v3)
+ (name "go-github-com-twpayne-go-xdg-v6")
+ (version "6.1.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/twpayne/go-xdg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ihpljay4waw3qss40bwd230wwpq3vm25qiy3y5yfhmybk8wr6jx"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/twpayne/go-xdg/v6"))
+ (native-inputs
+ (list go-github-com-alecthomas-assert-v2))
+ (propagated-inputs
+ (list go-github-com-twpayne-go-vfs-v5))))
+
+(define-public go-github-com-txthinking-runnergroup
+ (package
+ (name "go-github-com-txthinking-runnergroup")
+ (version "0.0.0-20241229123329-7b873ad00768")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/txthinking/runnergroup")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0l0accx6c880smkcma0qca3c67kx8p1bc4q2zq54iv8yjy1b2h4w"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/txthinking/runnergroup"))
+ (home-page "https://github.com/txthinking/runnergroup")
+ (synopsis "Golang standard @code{sync.WaitGroup} alternative")
+ (description
+ "This package implements a similar functionality like standard
+@code{sync.WaitGroup}}, the difference is if one task stops, all will be
+stopped.")
+ (license license:expat)))
+
+(define-public go-github-com-urfave-cli
+ (package
+ (name "go-github-com-urfave-cli")
+ (version "1.22.16")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/urfave/cli")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "022abbjwr3g2vbyfbdc1hg09d753hfba21b69n2nkrx168ag5ahd"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/urfave/cli"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-burntsushi-toml
+ go-github-com-go-md2man
+ go-gopkg-in-yaml-v2))
+ (home-page "https://github.com/urfave/cli")
+ (synopsis "Simple, fast, and fun package for building command line apps in Go")
+ (description
+ "@command{cli} is a simple, fast, and fun package for building command
+line apps in Go. The goal is to enable developers to write fast and
+distributable command line applications in an expressive way.")
+ (license license:expat)))
+
+(define-public go-github-com-urfave-cli-v2
+ (package
+ (inherit go-github-com-urfave-cli)
+ (name "go-github-com-urfave-cli-v2")
+ (version "2.27.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/urfave/cli")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "03237hi2jqvms9cif4varyap3j1dhzcf1mr809dm7ncvzk7gxg83"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separately:
+ ;;
+ ;; - github.com/urfave/cli/v2/cmd/urfave-cli-genflags
+ (delete-file-recursively "cmd")))))
+ (arguments
+ (list #:import-path "github.com/urfave/cli/v2"))
+ (propagated-inputs
+ (list go-github-com-burntsushi-toml
+ go-github-com-go-md2man
+ go-github-com-xrash-smetrics
+ go-gopkg-in-yaml-v3))))
+
+(define-public go-github-com-valyala-bytebufferpool
+ (package
+ (name "go-github-com-valyala-bytebufferpool")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/valyala/bytebufferpool")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01lqzjddq6kz9v41nkky7wbgk7f1cw036sa7ldz10d82g5klzl93"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/valyala/bytebufferpool"))
+ (home-page "https://github.com/valyala/bytebufferpool")
+ (synopsis "Anti-memory-waste byte buffer pool for Golang")
+ (description
+ "@code{bytebufferpool} implements a pool of byte buffers with
+anti-fragmentation protection.")
+ (license license:expat)))
+
+(define-public go-github-com-valyala-fasttemplate
+ (package
+ (name "go-github-com-valyala-fasttemplate")
+ (version "1.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/valyala/fasttemplate")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "12hywkz2mfvxzfpgabc53bm4jkxxmcssrr0k4wxzzrnv0v7mj6bj"))
+ (snippet
+ #~(begin (use-modules (guix build utils))
+ (delete-file-recursively "vendor")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/valyala/fasttemplate"))
+ (propagated-inputs
+ (list go-github-com-valyala-bytebufferpool))
+ (home-page "https://github.com/valyala/fasttemplate")
+ (synopsis "Template engine for Golang")
+ (description
+ "Package fasttemplate implements simple and fast template library.")
+ (license license:expat)))
+
+(define-public go-github-com-vburenin-ifacemaker
+ (package
+ (name "go-github-com-vburenin-ifacemaker")
+ (version "1.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vburenin/ifacemaker")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00031373i4xqrsaf7yv93czfmcf5qzn94mmqwamyjd6gpq37p1hl"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/vburenin/ifacemaker"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-jessevdk-go-flags
+ go-golang-org-x-tools))
+ (home-page "https://github.com/vburenin/ifacemaker")
+ (synopsis "Generate interfaces from structure methods in Golang")
+ (description
+ "This is a development helper program that generates a Golang interface
+by inspecting the structure methods of an existing @code{.go} file. The
+primary use case is to generate interfaces for gomock, so that gomock can
+generate mocks from those interfaces.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-viant-toolbox
+ (package
+ (name "go-github-com-viant-toolbox")
+ (version "0.37.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/viant/toolbox")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1m49nar5cwx3wqym20awh7yw4fw2bdw21m4h71bx4g688gv1kri4"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/viant/toolbox"
+ #:test-flags #~(list "-skip" "TestCase_To|Test_NewReplayService")
+ #:test-subdirs #~(list "bridge/..."
+ "cred/..."
+ "data/..."
+ "format/..."
+ "sampler/..."
+ "secret/..."
+ "ssh/..."
+ "test/..."
+ "unsafe/..."
+ "url/...")))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ ;; XXX: No go.mod to list dependencies, see
+ ;; <https://github.com/viant/toolbox/pull/51>.
+ (propagated-inputs
+ (list ;go-cloud-google-com-go-storage
+ ;go-github-com-aws-aws-sdk-go-aws
+ ;go-github-com-aws-aws-sdk-go-aws-credentials
+ ;go-github-com-aws-aws-sdk-go-aws-session
+ ;go-github-com-aws-aws-sdk-go-service-kms
+ ;go-github-com-aws-aws-sdk-go-service-s3
+ ;go-github-com-aws-aws-sdk-go-service-s3-s3manager
+ ;go-github-com-aws-aws-sdk-go-service-ssm
+ go-github-com-go-errors-errors
+ go-github-com-lunixbochs-vtclean
+ go-github-com-pkg-errors
+ go-github-com-viant-xunsafe
+ go-golang-org-x-crypto
+ go-golang-org-x-oauth2
+ ;go-google-golang-org-api-cloudkms-v1
+ ;go-google-golang-org-api-option
+ go-gopkg-in-yaml-v2))
+ (home-page "https://github.com/viant/toolbox")
+ (synopsis "Utility library for Golang")
+ (description
+ "This package provides set of utilities/abstractions developed as part of
+datastore connectivity and testing (viant/dsc, viant/dsunit).")
+ (license license:asl2.0)))
+
+(define-public go-github-com-viant-toolbox-bootstrap
+ (hidden-package
+ (package
+ (inherit go-github-com-viant-toolbox)
+ (arguments
+ (list #:tests? #f
+ #:import-path "github.com/viant/toolbox"
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'build))))
+ (propagated-inputs
+ (list go-github-com-go-errors-errors
+ go-github-com-pkg-errors
+ go-gopkg-in-yaml-v2)))))
+
+(define-public go-github-com-viant-xreflect
+ (package
+ (name "go-github-com-viant-xreflect")
+ (version "0.7.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/viant/xreflect")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1r5y3cbs8z9frgfqrq2yv77z43fv36s7jrk49prpbfsskgpk8rh2"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f ; to break import cycle
+ #:import-path "github.com/viant/xreflect"))
+ (propagated-inputs
+ (list go-golang-org-x-mod))
+ (home-page "https://github.com/viant/xreflect")
+ (synopsis "Golang reflection extension")
+ (description
+ "This package provides a reflection extension.")
+ (license license:unlicense)))
+
+(define-public go-github-com-viant-xunsafe
+ (package
+ (name "go-github-com-viant-xunsafe")
+ (version "0.9.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/viant/xunsafe")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ddf9grf7rczik9rzwmz10xagn65sn1n7mhkp7app0d3nc3xdlgs"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/viant/xunsafe"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-viant-xreflect))
+ (home-page "https://github.com/viant/xunsafe")
+ (synopsis "Faster Golang reflection")
+ (description
+ "This package provides a implementation reflection that greatly improved
+performance, that is between 25 to 50x time faster than native one.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-vito-midterm
+ (package
+ (name "go-github-com-vito-midterm")
+ (version "0.1.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vito/midterm")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0bvgw84750xfpm89hrab7pzfv1d5dy94igiqwzk5ivy4yca90ipw"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/vito/midterm"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-charmbracelet-bubbletea
+ go-github-com-creack-pty
+ go-github-com-muesli-termenv
+ go-github-com-sebdah-goldie-v2
+ go-golang-org-x-term))
+ (home-page "https://github.com/vito/midterm")
+ (synopsis "In-memory terminal emulator")
+ (description
+ "This package implements an in-memory terminal emulator, designed to be
+used as a component within a larger application for displaying logs, running
+interactive shells, or rendering terminal output.")
+ (license license:expat)))
+
(define-public go-github-com-vitrun-qart
(let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
(revision "0"))
@@ -7752,6 +15121,113 @@ encoded values to create the picture in a code with no inherent errors.")
weighted moving averages}.")
(license license:expat)))
+(define-public go-github-com-vmihailenco-msgpack-v4
+ (package
+ (name "go-github-com-vmihailenco-msgpack-v4")
+ (version "4.3.13")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vmihailenco/msgpack")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "08jdq8wh6i1f2avl46l5ndfrvhfl4l276hz4y1xq6agwbwrvycdy"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/vmihailenco/msgpack/v4"))
+ (native-inputs
+ (list go-gopkg-in-check-v1))
+ (propagated-inputs
+ (list go-github-com-vmihailenco-tagparser))
+ (home-page "https://github.com/vmihailenco/msgpack")
+ (synopsis "MessagePack encoding for Golang")
+ (description
+ "This package provides implementation of MessagePack encoding for Go
+programming language.")
+ (license license:bsd-2)))
+
+(define-public go-github-com-vmihailenco-msgpack-v5
+ (package
+ (inherit go-github-com-vmihailenco-msgpack-v4)
+ (name "go-github-com-vmihailenco-msgpack-v5")
+ (version "5.4.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vmihailenco/msgpack")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0vkyyywvip0vwjmnmnmkl9hz345k54nigj2mq8fbbjx96xpgghvz"))))
+ (arguments
+ (list
+ #:import-path "github.com/vmihailenco/msgpack/v5"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-vmihailenco-tagparser
+ go-google-golang-org-appengine))))
+
+(define-public go-github-com-vmihailenco-tagparser
+ (package
+ (name "go-github-com-vmihailenco-tagparser")
+ (version "2.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vmihailenco/tagparser")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "13arliaz3b4bja9jj7cr5ax4zvxaxm484fwrn0q6d6jjm1l35m1k"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/vmihailenco/tagparser"))
+ (home-page "https://github.com/vmihailenco/tagparser")
+ (synopsis "Tag parser for Golang")
+ (description
+ "This package is a simple Golang implementation of tag parser.")
+ (license license:bsd-2)))
+
+(define-public go-github-com-warpfork-go-fsx
+ (package
+ (name "go-github-com-warpfork-go-fsx")
+ (version "0.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/warpfork/go-fsx")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1yhh42vp12hnkhlfimcab4a2df2apprnlg3ll75yr2pd0b001p5b"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/warpfork/go-fsx"))
+ (home-page "https://github.com/warpfork/go-fsx")
+ (synopsis "Extended filesystem interface for Golang")
+ (description
+ "This package, @code{fsx}, takes the style of the io/fs package, and
+extends it with more features:
+@itemize
+@item fsx provides the ability to write files (using OpenFile, which is much
+like the os package feature you're already familiar with)
+@item fsx provides the ability to create directories
+@item fsx provides the ability to delete files and directories
+@item fsx provides features for reading symlinks, and creating them
+@end itemize")
+ ;; This library is multiply-licensed under either of Apache 2.0 or MIT or
+ ;; BSD-3-Clause terms.
+ (license (list license:expat license:asl2.0 license:bsd-3))))
+
(define-public go-github-com-whyrusleeping-base32
(package
(name "go-github-com-whyrusleeping-base32")
@@ -7937,6 +15413,116 @@ edges and self-loops are not permitted.
@end itemize")
(license license:asl2.0)))
+(define-public go-github-com-xaionaro-go-unsafetools
+ (package
+ (name "go-github-com-xaionaro-go-unsafetools")
+ (version "0.0.0-20241024014258-a46e1ce3763e")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xaionaro-go/unsafetools")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "153qlgq5sjg3gsw5v6an0mck8v5pmxf5mnys41ykp97yqp53mgcp"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/xaionaro-go/unsafetools"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/xaionaro-go/unsafetools")
+ (synopsis "Access to private/unexported fields of a structure")
+ (description
+ "This package provides function @code{FieldByName} to access to any field
+(including private/unexported) of a structure.")
+ (license license:cc0)))
+
+(define-public go-github-com-xaionaro-go-bytesextra
+ (package
+ (name "go-github-com-xaionaro-go-bytesextra")
+ (version "0.0.0-20220103144954-846e454ddea9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xaionaro-go/bytesextra")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1zggis1mdrfnashngg5hc6a6r6glcxzgj87ali7qdi02bnrl8s9i"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/xaionaro-go/bytesextra"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/xaionaro-go/bytesextra")
+ (synopsis "Golang library for bytes I/O")
+ (description
+ "This packae provides @code{io.ReadWriteSeeker} implementation for
+@code{[]byte}.")
+ (license license:cc0)))
+
+(define-public go-github-com-xaionaro-gosrc
+ (let ((commit "3fdf8476a735bd7ddd90579862e2e548787b17b6")
+ (revision "0"))
+ (package
+ (name "go-github-com-xaionaro-gosrc")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xaionaro-go/gosrc")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0j0y0r0nj39537x7yk9yfc3k6dqbw14b65ykjnbmsxkhpjjpxf3v"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/xaionaro-go/gosrc"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-xaionaro-go-unsafetools
+ go-github-com-fatih-structtag))
+ (home-page "https://github.com/xaionaro-go/gosrc")
+ (synopsis "Parse Go packages to handy structures")
+ (description
+ "This package just simplifies working with @code{go/*} packages to parse
+a source code. Initially the package was written to simplify code
+generation.")
+ (license license:cc0))))
+
+(define-public go-github-com-xdg-go-stringprep
+ (package
+ (name "go-github-com-xdg-go-stringprep")
+ (version "1.0.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xdg-go/stringprep")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xvaf2xiy34ra4xz75d6kylr29jv00dnyk14mh8kmq5692n8lqvb"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/xdg-go/stringprep"))
+ (propagated-inputs
+ (list go-golang-org-x-text))
+ (home-page "https://github.com/xdg-go/stringprep")
+ (synopsis "Go implementation of RFC-3454 stringprep and RFC-4013 SASLprep")
+ (description
+ "Package stringprep provides data tables and algorithms for RFC-3454,
+including errata. It also provides a profile for SASLprep as defined in
+RFC-4013.")
+ (license license:asl2.0)))
+
(define-public go-github-com-xhit-go-str2duration-v2
(package
(name "go-github-com-xhit-go-str2duration-v2")
@@ -7987,6 +15573,193 @@ similar string with weeks or days too.")
"This package provides a simple ASCII tree composing tool.")
(license license:expat)))
+(define-public go-github-com-xo-terminfo
+ (package
+ (name "go-github-com-xo-terminfo")
+ (version "0.0.0-20220910002029-abceb7e1c41e")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xo/terminfo")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0n3b37z76rz3l74mhrvviz66xa8dqwpvc2gb6cyzql5smbcs9y3a"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/xo/terminfo"))
+ (native-inputs
+ (list go-golang-org-x-exp))
+ (home-page "https://github.com/xo/terminfo")
+ (synopsis "Read the terminfo database in Go")
+ (description
+ "The terminfo package implements terminfo database reading for Go.")
+ (license license:expat)))
+
+(define-public go-github-com-xrash-smetrics
+ (package
+ (name "go-github-com-xrash-smetrics")
+ (version "0.0.0-20240521201337-686a1a2994c1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xrash/smetrics")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "057wgbz16n416zp23j5iv2lsd0nidbd92r4f1h8s3c1svkkqvk0a"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/xrash/smetrics"))
+ (home-page "https://github.com/xrash/smetrics")
+ (synopsis "String metrics library")
+ (description
+ "Package smetrics provides a bunch of algorithms for calculating the
+distance between strings. There are implementations for calculating the
+popular Levenshtein distance (aka Edit Distance or Wagner-Fischer), as well as
+the Jaro distance, the Jaro-Winkler distance, and more.")
+ (license license:expat)))
+
+(define-public go-github-com-xtgo-uuid
+ (package
+ (name "go-github-com-xtgo-uuid")
+ (version "0.0.0-20140804021211-a0b114877d4c")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xtgo/uuid")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10pmay90is5x8cv5ckcajw3s7g2rpk4ix6kl4qhq8qx05x2ivlrw"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/xtgo/uuid"))
+ (home-page "https://github.com/xtgo/uuid")
+ (synopsis "Go UUID parsing and generation")
+ (description
+ "Package uuid can be used to generate and parse universally unique
+identifiers, a standardized format in the form of a 128 bit number.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-xuanwo-go-locale
+ (package
+ (name "go-github-com-xuanwo-go-locale")
+ (version "1.1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Xuanwo/go-locale")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "09d68ay4kcic82xjdl9b3zi5nq0srxanprk5p32n5yxqirb0pbxd"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/Xuanwo/go-locale"))
+ (propagated-inputs
+ (list go-golang-org-x-sys
+ go-golang-org-x-text))
+ (home-page "https://github.com/Xuanwo/go-locale")
+ (synopsis "Locale detection in Golang")
+ (description
+ "This package provides a functionality for cross-platform locale
+detection.")
+ (license license:asl2.0)))
+
+;; XXX: The latest release v0.1.1 was in 2014, master branch has more changes
+;; since that time, use the latest commit.
+(define-public go-github-com-yosuke-furukawa-json5
+ (let ((commit "cf7bb3f354ffe5d5ad4c9b714895eab7e0498b5f")
+ (revision "0"))
+ (package
+ (name "go-github-com-yosuke-furukawa-json5")
+ (version (git-version "0.1.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/yosuke-furukawa/json5")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05h9ipfjr2ww8b89zq1sm1q9wfasjnmzwlxa241wppqajn3rvr7s"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/yosuke-furukawa/json5"))
+ (home-page "https://github.com/yosuke-furukawa/json5")
+ (synopsis "JSON5 implemented in Golang")
+ (description
+ "This package provides an implementation of
+@url{https://github.com/yosuke-furukawa/json5, JSON5}.")
+ (license license:bsd-3))))
+
+(define-public go-github-com-yudai-gojsondiff
+ (package
+ (name "go-github-com-yudai-gojsondiff")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/yudai/gojsondiff")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qnymi0027mb8kxm24mmd22bvjrdkc56c7f4q3lbdf93x1vxbbc2"))
+ (snippet
+ #~(begin (use-modules (guix build utils))
+ (delete-file-recursively "vendor")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/yudai/gojsondiff"
+ #:test-subdirs #~(list "formatter/...")))
+ (native-inputs
+ (list go-github-com-onsi-ginkgo))
+ (propagated-inputs
+ (list go-github-com-sergi-go-diff
+ go-github-com-yudai-golcs))
+ (home-page "https://github.com/yudai/gojsondiff")
+ (synopsis "JSON Diff and Patch for Golang")
+ (description
+ "This package implements a \"diff\" algorithm that compares two JSON
+objects and generates deltas that describe the differences between them. The
+deltas can be applied to a JSON object to \"patch\" them.")
+ (license license:expat)))
+
+(define-public go-github-com-yudai-golcs
+ (package
+ (name "go-github-com-yudai-golcs")
+ (version "0.0.0-20170316035057-ecda9a501e82")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/yudai/golcs")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0mx6wc5fz05yhvg03vvps93bc5mw4vnng98fhmixd47385qb29pq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/yudai/golcs"))
+ (home-page "https://github.com/yudai/golcs")
+ (synopsis "Calculate @acronym{LCS, longest common sequence} in Golang")
+ (description
+ "This package provides functions to calculate @acronym{LCS, longest
+common sequence} values from two arbitrary arrays.")
+ (license license:expat)))
+
(define-public go-github-com-yuin-gopher-lua
(package
(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
Go host programs.")
(license license:expat)))
+(define-public go-github-com-zclconf-go-cty
+ (package
+ (name "go-github-com-zclconf-go-cty")
+ (version "1.16.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zclconf/go-cty")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rvvs9rplvh9gv90lsvwgw203ysz47qksw1xz3whhdvhn7ns8s8f"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/zclconf/go-cty"))
+ (native-inputs
+ (list go-github-com-google-go-cmp))
+ (propagated-inputs
+ (list go-github-com-apparentlymart-go-textseg-v15
+ go-github-com-vmihailenco-msgpack-v5
+ go-golang-org-x-text))
+ (home-page "https://github.com/zclconf/go-cty")
+ (synopsis "Type system for dynamic values in Go applications")
+ (description
+ "@code{cty} (pronounced \"see-tie\") is a dynamic type system for
+applications written in Go that need to represent user-supplied values without
+losing type information. The primary intended use is for implementing
+configuration languages, but other uses may be possible too.")
+ (license license:expat)))
+
+(define-public go-github-com-zclconf-go-cty-debug
+ (package
+ (name "go-github-com-zclconf-go-cty-debug")
+ (version "0.0.0-20240509010212-0d6042c53940")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zclconf/go-cty-debug")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0izkqnciir10zamr1ca32bmyir1d5hfyxh84dj2q39bw1sj3fs7j"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/zclconf/go-cty-debug"))
+ (propagated-inputs
+ (list go-github-com-google-go-cmp
+ go-github-com-zclconf-go-cty))
+ (home-page "https://github.com/zclconf/go-cty-debug")
+ (synopsis "Debugging and inspection utilities for cty")
+ (description
+ "This package implements a functionality for debugging and inspection
+utilities for cty Golang module.")
+ (license license:expat)))
+
+(define-public go-go-abhg-dev-komplete
+ (package
+ (name "go-go-abhg-dev-komplete")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/abhinav/komplete")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "060ns34mcf3a39vqairv52lkxiknrv6ghpyy0prliswfhw0hwy67"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.22
+ #:import-path "go.abhg.dev/komplete"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-alecthomas-kong
+ go-github-com-buildkite-shellwords))
+ (home-page "https://go.abhg.dev/komplete")
+ (synopsis "Shell completion support for Kong CLI parser")
+ (description
+ "This package provides a command-line completion engine for the
+@url{https://github.com/alecthomas/kong, Kong CLI parser}.")
+ (license license:bsd-3)))
+
(define-public go-go-etcd-io-bbolt
(package
(name "go-go-etcd-io-bbolt")
@@ -8063,6 +15927,73 @@ for projects that don't require a full database server such as Postgres or
MySQL.")
(license license:expat)))
+(define-public go-go-mongodb-org-mongo-driver
+ (package
+ (name "go-go-mongodb-org-mongo-driver")
+ (version "1.16.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mongodb/mongo-go-driver")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "160hwrk8y8h3nl9sh5v6pxnlyw1ywbssjgzb72lj0x68akgl8gff"))
+ (snippet
+ #~(begin (use-modules (guix build utils))
+ (delete-file-recursively "vendor")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "go.mongodb.org/mongo-driver"
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ ;; Some tests require running database and available network
+ ;; connection.
+ (list "TestAggregate"
+ "TestPollSRVRecords"
+ "TestPollSRVRecordsServiceName"
+ "TestPollingSRVRecordsLoadBalanced"
+ "TestPollingSRVRecordsSpec"
+ "TestServerHeartbeatOffTimeout"
+ "TestServerHeartbeatTimeout"
+ "TestTimeCodec"
+ "TestTopologyConstructionLogging"
+ "TestURIOptionsSpec")
+ "|"))
+ #:test-subdirs
+ #~(list "bson/..." "event/..." "internal/..." "tag/..." "x/...")
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'build) ; no go files in project's root
+ (add-after 'unpack 'remove-examples-and-benchmarks
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (for-each delete-file-recursively
+ (list "benchmark"
+ "examples"
+ "cmd/godriver-benchmark"))))))))
+ (native-inputs
+ (list go-github-com-aws-aws-lambda-go))
+ (propagated-inputs
+ (list go-github-com-davecgh-go-spew
+ go-github-com-golang-snappy
+ go-github-com-google-go-cmp
+ go-github-com-klauspost-compress
+ go-github-com-montanaflynn-stats
+ go-github-com-xdg-go-scram
+ go-github-com-xdg-go-stringprep
+ go-github-com-youmark-pkcs8
+ go-golang-org-x-crypto
+ go-golang-org-x-sync))
+ (home-page "https://go.mongodb.org/mongo-driver")
+ (synopsis "MongoDB Go Driver")
+ (description
+ "This package provides a driver for @code{Mongo} data base.")
+ (license license:asl2.0)))
+
(define-public go-go-senan-xyz-flagconf
(package
(name "go-go-senan-xyz-flagconf")
@@ -8143,7 +16074,7 @@ CPU quota.")
(define-public go-go-uber-org-dig
(package
(name "go-go-uber-org-dig")
- (version "1.17.1")
+ (version "1.18.0")
(source
(origin
(method git-fetch)
@@ -8152,7 +16083,7 @@ CPU quota.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "020dak2r0yykk6fkfwad2wbz73pjbbdkdamn0ir7xf2irxsmjakm"))))
+ (base32 "1hc56szkalhsxfnpw5iphhm1vhlq2za5049vcwi4zlcy64mjx8v9"))))
(build-system go-build-system)
(arguments
(list
@@ -8169,7 +16100,7 @@ object dependencies graph during the process startup.")
(define-public go-go-uber-org-fx
(package
(name "go-go-uber-org-fx")
- (version "1.21.0")
+ (version "1.23.0")
(source
(origin
(method git-fetch)
@@ -8178,11 +16109,25 @@ object dependencies graph during the process startup.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "16pbqmkij02zw6xa4660k905y0r0rc50vyqhg41i2411r68jrdnn"))))
+ (base32 "03m26d2k9gwcdjjmwajz1fnihdjvb46l6c5ws07r8l8skcz1jx16"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separately:
+ ;;
+ ;; - go.uber.org/fx/tools
+ (delete-file-recursively "tools")))))
(build-system go-build-system)
(arguments
(list
- #:import-path "go.uber.org/fx"))
+ #:import-path "go.uber.org/fx"
+ #:test-flags
+ #~(list "-skip" (string-join
+ ;; Tests require networking set up.
+ (list "TestNopLoggerOptionString"
+ "TestRun"
+ "TestDeepStack")
+ "|"))))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
@@ -8198,10 +16143,40 @@ object dependencies graph during the process startup.")
applications out of reusable, composable modules.")
(license license:expat)))
+(define-public go-go-uber-org-fx-tools
+ (package
+ (name "go-go-uber-org-fx-tools")
+ (version "0.0.0-20241011173146-861011200d8a")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/uber-go/fx")
+ (commit (go-version->git-ref version
+ #:subdir "tools"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1y9zavn5dmb5v2g2krc1apznp1fwc2zb70hlgxw4xcz2ifdwx7wz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "go.uber.org/fx/tools"
+ #:unpack-path "go.uber.org/fx"))
+ (propagated-inputs (list go-golang-org-x-tools))
+ (home-page "https://go.uber.org/fx")
+ (synopsis "Verify FX events")
+ (description
+ "This Package implements a Go analysis pass that verifies that an
+@code{fxevent.Logger} implementation handles all known fxevent types. As a
+special case for no-op or fake fxevent.Loggers, it ignores implementations
+that handle none of the event types.")
+ (license license:expat)))
+
(define-public go-go-uber-org-multierr
(package
(name "go-go-uber-org-multierr")
- (version "1.6.0")
+ (version "1.11.0")
(source
(origin
(method git-fetch)
@@ -8210,7 +16185,7 @@ applications out of reusable, composable modules.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "162941s8f6a9x2w04qm4qa3zz0zylwag9149hywrj9ibp2nzcsqz"))))
+ (base32 "1s6skad93nbsq4b0sy5dsgacrdh2kzg0p8wjlhvff49vasqsi3qx"))))
(build-system go-build-system)
(arguments
'(#:import-path "go.uber.org/multierr"))
@@ -8227,7 +16202,7 @@ applications out of reusable, composable modules.")
(define-public go-go-uber-org-zap
(package
(name "go-go-uber-org-zap")
- (version "1.24.0")
+ (version "1.27.0")
(source
(origin
(method git-fetch)
@@ -8236,32 +16211,40 @@ applications out of reusable, composable modules.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0lzbbs87fvixzbyv4wpl3s70vm2m0jz2jgdvrviiksc2al451qgs"))))
+ (base32 "1h3ml2wqmdxwqv0xdfqvf7l4wma5yd0hdfsa6189mmbhkhzn8v3m"))))
(build-system go-build-system)
(arguments
(list
#:import-path "go.uber.org/zap"
+ #:test-flags
+ #~(list "-skip" (string-join
+ ;; Unexpected stack trace annotation.
+ (list "TestAddStackSkip"
+ ;; Expected to find package name and file name in
+ ;; output.
+ "TestLoggerAddCaller"
+ "TestSugarAddCaller")
+ "|"))
#:phases
#~(modify-phases %standard-phases
- ;; Remove test files requiring to download all dependencies for the
- ;; current Go module and reports their module paths and locations on
- ;; disk.
- (add-after 'unpack 'remove-test-files
- (lambda* (#:key import-path #:allow-other-keys)
- (delete-file
- (string-append "src/" import-path
- "/stacktrace_ext_test.go")))))))
+ (add-after 'unpack 'remove-examples-and-benchmarks
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (for-each delete-file-recursively
+ (list "benchmarks"
+ ;; Remove test files requiring to download all
+ ;; dependencies for the current Go module and
+ ;; reports their module paths and locations on
+ ;; disk.
+ "stacktrace_ext_test.go"
+ ;; Not packed yet google.golang.org/grpc.
+ "zapgrpc/internal/test/grpc_test.go"))))))))
(native-inputs
(list go-github-com-stretchr-testify
- go-go-uber-org-goleak
- go-golang-org-x-lint
- go-honnef-co-go-tools))
+ go-go-uber-org-goleak))
(propagated-inputs
- (list go-github-com-benbjohnson-clock
- go-github-com-pkg-errors
- go-go-uber-org-atomic
- go-go-uber-org-multierr
- go-gopkg-in-yaml-v2))
+ (list go-go-uber-org-multierr
+ go-gopkg-in-yaml-v3))
(home-page "https://pkg.go.dev/go.uber.org/zap")
(synopsis "Logging library for Go")
(description
@@ -8269,6 +16252,40 @@ applications out of reusable, composable modules.")
Go.")
(license license:expat)))
+(define-public go-google-golang-org-appengine
+ (package
+ (name "go-google-golang-org-appengine")
+ (version "1.6.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/golang/appengine")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "17pbiximrd340wdx3pm1jkpsgvss80pax7hif906xglh7mj9zqx2"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separately:
+ ;;
+ ;; - google.golang.org/appengine/v2
+ (delete-file-recursively "v2")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "google.golang.org/appengine"))
+ (propagated-inputs
+ (list go-github-com-golang-protobuf
+ go-golang-org-x-text
+ go-google-golang-org-protobuf))
+ (home-page "https://google.golang.org/appengine")
+ (synopsis "Go App Engine packages")
+ (description
+ "Package appengine provides basic functionality for Google App Engine.")
+ (license license:asl2.0)))
+
(define-public go-gopkg-in-alecthomas-kingpin-v2
(package
(inherit go-github-com-alecthomas-kingpin)
@@ -8277,6 +16294,88 @@ Go.")
(list
#:import-path "gopkg.in/alecthomas/kingpin.v2"))))
+(define-public go-gopkg-in-inconshreveable-log15-v1
+ (package
+ (name "go-gopkg-in-inconshreveable-log15-v1")
+ (version "1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/inconshreveable/log15")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1hz7vnzn4cbiqra443mhmp63ifzq15xsfnyc9jmxh2p1ngwxp2n2"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:test-flags #~(list "-skip" "TestFailoverHandler")
+ #:import-path "gopkg.in/inconshreveable/log15.v1"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (home-page "https://pkg.go.dev/github.com/inconshreveable/log15")
+ (synopsis "Structured, composable logging for Golang")
+ (description
+ "This package provides a toolkit for logging that is both human and
+machine readable. It is modeled after the Go standard library's @code{io} and
+@code{net/http} packages and is an alternative to the standard library's
+@code{log} package.")
+ (license license:asl2.0)))
+
+(define-public go-gopkg-in-inconshreveable-log15-v2
+ (package
+ (inherit go-gopkg-in-inconshreveable-log15-v1)
+ (name "go-gopkg-in-inconshreveable-log15-v2")
+ (version "2.16.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/inconshreveable/log15")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "117ivm1asxw2hlwb3zf72q553ywjk00bsn21bpwi99q784ghr4wd"))))
+ (arguments
+ (list
+ #:import-path "gopkg.in/inconshreveable/log15.v2"
+ #:test-flags #~(list "-skip" "TestCallerStackHandler")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-import-path
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (substitute* (find-files "." "\\.go$")
+ (("github.com/inconshreveable/log15") import-path))))))))
+ (propagated-inputs
+ (list go-github-com-go-stack-stack
+ go-github-com-mattn-go-colorable
+ go-golang-org-x-term))))
+
+(define-public go-gopkg-in-inconshreveable-log15-v3
+ (package
+ (inherit go-gopkg-in-inconshreveable-log15-v2)
+ (name "go-gopkg-in-inconshreveable-log15-v3")
+ (version "3.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/inconshreveable/log15")
+ (commit (string-append "v" version "-testing.5"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14b03w7mlsac0n5ig5qc0iggii6ig9mvbiv6656r1h19vh4kmx8x"))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-gopkg-in-inconshreveable-log15-v2)
+ ((#:import-path _) "gopkg.in/inconshreveable/log15.v3")))
+ (propagated-inputs
+ (list go-github-com-go-stack-stack
+ go-github-com-mattn-go-colorable
+ go-golang-org-x-term))))
+
(define-public go-gopkg-in-ini-v1
(package
(name "go-gopkg-in-ini-v1")
@@ -8337,6 +16436,57 @@ Go.")
(package-arguments go-github-com-op-go-logging)
((#:import-path _) "gopkg.in/op/go-logging.v1")))))
+(define-public go-gopkg-in-vmihailenco-msgpack-v2
+ (package
+ (name "go-gopkg-in-vmihailenco-msgpack-v2")
+ (version "2.9.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vmihailenco/msgpack")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "08rcdnshc252nmlxkswx8xgiwr2ry7cq806gcw1836b00hwlwmmz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "gopkg.in/vmihailenco/msgpack.v2"
+ #:test-flags #~(list "-skip" "TestTypes")))
+ (native-inputs
+ (list go-gopkg-in-check-v1))
+ (home-page "https://msgpack.uptrace.dev/")
+ (synopsis "MessagePack encoding for Golang")
+ (description
+ "This package provides implementation of MessagePack encoding for Go
+programming language.")
+ (license license:bsd-2)))
+
+(define-public go-gopkg-in-warnings-v0
+ (package
+ (name "go-gopkg-in-warnings-v0")
+ (version "0.1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-warnings/warnings")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kzj50jn708cingn7a13c2wdlzs6qv89dr2h4zj8d09647vlnd81"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "gopkg.in/warnings.v0"))
+ (home-page "https://gopkg.in/warnings.v0")
+ (synopsis "Error handling with non-fatal errors")
+ (description
+ "Package warnings implements error handling with non-fatal
+errors (warnings).")
+ (license license:bsd-2)))
+
(define-public go-gopkg-in-yaml-v2
(package
(name "go-gopkg-in-yaml-v2")
@@ -8374,10 +16524,113 @@ Go.")
values.")
(license license:asl2.0)))
-(define-public go-k8s-io-klog
+(define-public go-gopkg-in-yaml-v3
(package
- (name "go-k8s-io-klog")
- (version "1.0.0")
+ (name "go-gopkg-in-yaml-v3")
+ (version "3.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gopkg.in/yaml.v3")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01b0wjb7yzv8wzzz2iim8mjpkwjnykcanrwiq06pkl89lr6gv8hn"))
+ (patches (search-patches "go-gopkg-in-yaml-v3-32bit.patch"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? (not (target-ppc32?)) ; Test killed with quit: ran too long (11m0s).
+ #:import-path "gopkg.in/yaml.v3"))
+ (native-inputs
+ (list go-gopkg-in-check-v1))
+ (home-page "https://gopkg.in/yaml.v3")
+ (synopsis "YAML reader and writer for the Go language")
+ (description
+ "This package provides a Go library for encode and decode YAML values.
+The yaml package supports most of YAML 1.2, but preserves some behavior from
+1.1 for backwards compatibility.")
+ (license license:asl2.0)))
+
+(define-public go-howett-net-plist
+ (package
+ (name "go-howett-net-plist")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/DHowett/go-plist")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1gcrxkmdj87xq01458asgxvvijrkih74ydbzfmir1p16xr9z0x39"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "howett.net/plist"
+ ;; cmd requires gopkg.in/yaml.v1
+ #:test-subdirs #~(list "internal/..." ".")))
+ (propagated-inputs
+ (list go-github-com-jessevdk-go-flags
+ go-gopkg-in-check-v1))
+ (home-page "https://github.com/DHowett/go-plist")
+ (synopsis "Apple property list transcoder")
+ (description
+ "This list transcoder supports encoding/decoding property lists (Apple
+XML, Apple Binary, OpenStep, and GNUStep) from/to arbitrary Go types.")
+ (license license:giftware)))
+
+(define-public go-k8s-io-gengo-v2
+ (package
+ (name "go-k8s-io-gengo-v2")
+ (version "2.0.0-20240911193312-2b36238f13e9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kubernetes/gengo")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ffwigrg92ivyb5r6g0alb4z8iydp9lkdviz3vm62gr89yw28yc7"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "k8s.io/gengo/v2"
+ #:unpack-path "k8s.io/gengo"
+ #:test-flags
+ ;; XXX: Figure out why these tests fail.
+ #~(list "-skip" (string-join
+ (list "TestSnippetWriter"
+ "TestFindPackages"
+ "TestAlreadyLoaded"
+ "TestLoadPackagesInternal"
+ "TestLoadPackagesTo"
+ "TestUserRequestedPackages"
+ "TestAddOnePkgToUniverse"
+ "TestStructParse/generic"
+ "TestJSON")
+ "|"))))
+ (native-inputs
+ (list go-github-com-google-go-cmp))
+ (propagated-inputs
+ (list go-github-com-spf13-pflag
+ go-golang-org-x-tools
+ go-k8s-io-klog-v2))
+ (home-page "https://github.com/kubernetes/gengo")
+ (synopsis "Framework for building simple code generators")
+ (description
+ "This package implements a functionality for generating things based on
+go files. This mechanism was first used in Kubernetes code-generator and is
+split out here for ease of reuse and maintainability.")
+ (license license:asl2.0)))
+
+(define-public go-k8s-io-klog-v2
+ (package
+ (name "go-k8s-io-klog-v2")
+ (version "2.130.1")
(source
(origin
(method git-fetch)
@@ -8386,19 +16639,26 @@ values.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1cgannfmldcrcksb2wqdn2b5qabqyxl9r25w9y4qbljw24hhnlvn"))))
+ (base32 "12q9jhxfpq75sgmdxgcz85znbgdi04ic9zy3rm0c47n24clz6z73"))))
(build-system go-build-system)
(arguments
(list
- #:import-path "k8s.io/klog"
+ #:import-path "k8s.io/klog/v2"
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ (list "TestDestinationsWithDifferentFlags/with_log_file_only"
+ "TestDestinationsWithDifferentFlags/everything_disabled"
+ "TestDestinationsWithDifferentFlags/with_log_dir_only"
+ "TestDestinationsWithDifferentFlags/with_log_dir_only_and_one_output"
+ "TestDestinationsWithDifferentFlags/with_log_file_and_log_dir")
+ "|"))
#:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'disable-failing-tests
+ (add-after 'unpack 'remove-examples
(lambda* (#:key tests? import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
- (substitute* (find-files "." "\\_test.go$")
- ;; Disable test requiring write access to creat test files.
- (("TestRollover") "OffTestRollover"))))))))
+ (delete-file-recursively "examples")))))))
(propagated-inputs
(list go-github-com-go-logr-logr))
(home-page "https://github.com/kubernetes/klog")
@@ -8412,103 +16672,188 @@ also provides V-style logging controlled by the @code{-v} and
@code{https://github.com/golang/glog}.")
(license license:asl2.0)))
-(define-public go-k8s-io-klog-v2
+(define-public go-k8s-io-utils
(package
- (inherit go-k8s-io-klog)
- (name "go-k8s-io-klog-v2")
- (version "2.130.1")
+ (name "go-k8s-io-utils")
+ (version "0.0.0-20241210054802-24370beab758")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/kubernetes/klog")
+ (url "https://github.com/kubernetes/utils")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "158rsq780hrzv6zb7lycjg8b2lfd00nvmx3mn4pi9byjam2y7nds"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f ; XXX: all of them fail with various reasons
+ #:import-path "k8s.io/utils"
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'build)))) ; no go files in project's root
+ (propagated-inputs
+ (list go-github-com-davecgh-go-spew
+ go-k8s-io-klog-v2))
+ (home-page "https://github.com/kubernetes/utils")
+ (synopsis "Utility libraries for Golang")
+ (description
+ "This package provides a set of libraries that implementing low-level,
+kubernetes-independent packages supplementing the
+@url{https://pkg.go.dev/std#stdlib,Go standard libs}.")
+ (license license:asl2.0)))
+
+(define-public go-modernc-org-fileutil
+ (package
+ (name "go-modernc-org-fileutil")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/fileutil")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "12q9jhxfpq75sgmdxgcz85znbgdi04ic9zy3rm0c47n24clz6z73"))))
+ (base32 "10q5xbik9yk9jw2ziq1fw0hpjfbv5h3qm7rlxlkwj0qxyyb7b9bi"))))
(build-system go-build-system)
(arguments
(list
- #:import-path "k8s.io/klog/v2"))))
+ #:import-path "modernc.org/fileutil"))
+ (propagated-inputs
+ (list go-modernc-org-mathutil))
+ (home-page "https://gitlab.com/cznic/fileutil")
+ (synopsis "File utility functions")
+ (description "Package fileutil collects some file utility functions.")
+ (license license:bsd-3)))
-(define-public go-go-mongodb-org-mongo-driver
+(define-public go-modernc-org-lexer
(package
- (name "go-go-mongodb-org-mongo-driver")
- (version "1.16.1")
+ (name "go-modernc-org-lexer")
+ (version "1.0.5")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/mongodb/mongo-go-driver")
+ (url "https://gitlab.com/cznic/lexer")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "160hwrk8y8h3nl9sh5v6pxnlyw1ywbssjgzb72lj0x68akgl8gff"))
- (snippet
- #~(begin (use-modules (guix build utils))
- (delete-file-recursively "vendor")))))
+ (base32 "00ahagg81vbm8k9an5l8gn8plr7d53955v54mv0g811hfqxacja2"))))
(build-system go-build-system)
(arguments
(list
- #:import-path "go.mongodb.org/mongo-driver"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'remove-examples-and-benchmarks
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (for-each delete-file-recursively
- (list "benchmark"
- "examples"
- "cmd/godriver-benchmark")))))
- (add-before 'check 'disable-failing-tests
- (lambda* (#:key tests? unpack-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" unpack-path)
- (substitute* (find-files "." "\\_test.go$")
- ;; Some tests require running database and available network connection.
- (("TestAggregate") "OffTestAggregate")
- (("TestPollSRVRecords") "OffTestPollSRVRecords")
- (("TestPollSRVRecordsServiceName")
- "OffTestPollSRVRecordsServiceName")
- (("TestPollingSRVRecordsLoadBalanced")
- "OffTestPollingSRVRecordsLoadBalanced")
- (("TestPollingSRVRecordsSpec")
- "OffTestPollingSRVRecordsSpec")
- (("TestServerHeartbeatOffTimeout")
- "OffTestServerHeartbeatTimeout")
- (("TestServerHeartbeatTimeout")
- "OffTestServerHeartbeatTimeout")
- (("TestTimeCodec") "OffTestTimeCodec")
- (("TestTopologyConstructionLogging")
- "OffTestTopologyConstructionLogging")
- (("TestURIOptionsSpec") "OffTestURIOptionsSpec")))))
- ;; XXX: Workaround for go-build-system's lack of Go modules support.
- (delete 'build)
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (for-each
- (lambda (package)
- (invoke "go" "test" (string-append "./" package "/...")))
- (list "bson" "event" "internal" "tag" "x")))))))))
- (native-inputs
- (list go-github-com-aws-aws-lambda-go))
+ #:import-path "modernc.org/lexer"))
(propagated-inputs
- (list go-github-com-davecgh-go-spew
- go-github-com-golang-snappy
- go-github-com-google-go-cmp
- go-github-com-klauspost-compress
- go-github-com-montanaflynn-stats
- go-github-com-xdg-go-scram
- go-github-com-xdg-go-stringprep
- go-github-com-youmark-pkcs8
- go-golang-org-x-crypto
- go-golang-org-x-sync))
- (home-page "https://go.mongodb.org/mongo-driver")
- (synopsis "MongoDB Go Driver")
+ (list go-golang-org-x-exp
+ go-modernc-org-fileutil))
+ (home-page "https://gitlab.com/cznic/lexer")
+ (synopsis "Run time generator of action less scanners")
(description
- "This package provides a driver for @code{Mongo} data base.")
- (license license:asl2.0)))
+ "Package lexer provides generating actionless scanners (lexeme
+recognizers) at run time.")
+ (license license:bsd-3)))
+
+(define-public go-modernc-org-memory
+ (package
+ (name "go-modernc-org-memory")
+ (version "1.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/memory")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "066pzk0i1jxahialzp97ra0k0f191y1756sgppiw50zkpnpwzjxr"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "modernc.org/memory"))
+ (propagated-inputs
+ (list go-modernc-org-mathutil))
+ (home-page "https://gitlab.com/cznic/memory")
+ (synopsis "Memory allocator implementation")
+ (description "Package memory implements a memory allocator.")
+ (license license:bsd-3)))
+
+(define-public go-modernc-org-opt
+ (package
+ (name "go-modernc-org-opt")
+ (version "0.1.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/opt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "02jih8lgcyrm2v0vagdmq298rvhqkwi4pswg4nwlksdiayw356p5"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "modernc.org/opt"))
+ (home-page "https://gitlab.com/cznic/opt")
+ (synopsis "Command-line flag parsing")
+ (description "Package opt implements command-line flag parsing.")
+ (license license:bsd-3)))
+
+(define-public go-modernc-org-sortutil
+ (package
+ (name "go-modernc-org-sortutil")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/sortutil")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01s9vil8lvaz526x6q9f12h6vpc3jc8zvpag7knz1bdx9b15yljc"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "modernc.org/sortutil"))
+ (native-inputs
+ (list go-modernc-org-mathutil))
+ (home-page "https://gitlab.com/cznic/sortutil")
+ (synopsis "Sort utility library")
+ (description
+ "Package sortutil provides utilities supplementing the standard
+@code{sort} package.")
+ (license license:bsd-3)))
+
+(define-public go-modernc-org-strutil
+ (package
+ (name "go-modernc-org-strutil")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/cznic/strutil")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rk76c1n189hzg3kfab8pfvssa1h9v0vxk5jxy8pk32rqic0hdim"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "modernc.org/strutil"
+ ;; Cannot determine import path using GOPATH.
+ #:test-flags #~(list "-skip" "TestImportPath")))
+ (native-inputs
+ (list go-modernc-org-mathutil))
+ (home-page "https://gitlab.com/cznic/strutil")
+ (synopsis "Strings utility library for Golang")
+ (description
+ "Package strutil collects utils supplemental to the standard
+@code{strings} package.")
+ (license license:bsd-3)))
(define-public go-mvdan-cc-editorconfig
(package
@@ -8536,6 +16881,141 @@ also provides V-style logging controlled by the @code{-v} and
defined in @url{https://editorconfig.org/,https://editorconfig.org/}.")
(license license:bsd-3)))
+(define-public go-mvdan-cc-gofumpt
+ (package
+ (name "go-mvdan-cc-gofumpt")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mvdan/gofumpt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0sz58av4jg0q26y1s4pznnvrzp1gi8brz9zw8aa46pzdmjw394wq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.22
+ #:build-flags
+ ;; Gofumpt formats Go files, and therefore modifies them. To help the
+ ;; developers diagnose issues, it replaces any occurrence of a
+ ;; `//gofumpt:diagnose` comment with some debugging information which
+ ;; includes the module version.
+ #~(list (format #f "-ldflags=-X ~s"
+ (string-append "main.version=" #$version " (GNU Guix)")))
+ #:import-path "mvdan.cc/gofumpt"
+ #:skip-build? #t
+ #:test-flags #~(list "-skip" "TestScript/diagnose")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-fallback-version
+ ;; In the event gofumpt was built without module support, it falls
+ ;; back to a string "(devel)". Since our build system does not yet
+ ;; support modules, we'll inject our version string instead, since
+ ;; this is more helpful.
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (substitute* "internal/version/version.go"
+ (("^const fallbackVersion.+")
+ (format #f "const fallbackVersion = ~s~%"
+ (string-append #$version " (GNU Guix)"))))))))))
+ (native-inputs
+ (list go-github-com-go-quicktest-qt))
+ (propagated-inputs
+ (list go-github-com-google-go-cmp
+ go-github-com-rogpeppe-go-internal
+ go-golang-org-x-mod
+ go-golang-org-x-sync
+ go-golang-org-x-sys
+ go-golang-org-x-tools))
+ (home-page "https://mvdan.cc/gofumpt/")
+ (synopsis "Formats Go files with a stricter ruleset than gofmt")
+ (description
+ "Enforce a stricter format than @code{gofmt}, while being backwards
+compatible. That is, @code{gofumpt} is happy with a subset of the formats
+that @code{gofmt} is happy with.")
+ (license license:bsd-3)))
+
+(define-public go-mvdan-cc-sh-v3
+ (package
+ (name "go-mvdan-cc-sh-v3")
+ (version "3.10.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mvdan/sh")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ryqrhdjvj0ll88fk6dh63a5hjl0rpww3x8kmzqfnf5r83jdz3sh"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.22
+ #:skip-build? #t ; we need just lib here
+ #:import-path "mvdan.cc/sh/v3"
+ #:test-flags
+ #~(list "-skip" (string-join
+ ;; XXX: Check why these tests fail.
+ (list "TestRunnerRun/#279"
+ "TestRunnerRun/#281"
+ "TestRunnerRun/#282"
+ "TestRunnerRun/#289"
+ "TestRunnerRun/#960"
+ "TestRunnerRun/#989"
+ "TestRunnerRun/#990"
+ "TestRunnerRun/#991"
+ "TestScript/flags")
+ "|"))))
+ (native-inputs
+ (list go-github-com-go-quicktest-qt
+ go-github-com-google-go-cmp))
+ (propagated-inputs
+ (list go-github-com-creack-pty
+ go-github-com-google-renameio-v2
+ go-github-com-muesli-cancelreader
+ go-github-com-rogpeppe-go-internal
+ go-golang-org-x-sync
+ go-golang-org-x-sys
+ go-golang-org-x-term
+ go-mvdan-cc-editorconfig))
+ (home-page "https://mvdan.cc/sh")
+ (synopsis "Shell formatter with bash support")
+ (description
+ "This package provides a Golang library implementing a shell parser,
+formatter, and interpreter with bash support.")
+ (license license:bsd-3)))
+
+(define-public go-nullprogram-com-x-optparse
+ (package
+ (name "go-nullprogram-com-x-optparse")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/skeeto/optparse-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1yzpzlhmxdm8gd8ikh9c91qmshjp1jg49l0qsslmm432wk19zym9"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "nullprogram.com/x/optparse"))
+ (home-page "https://nullprogram.com/x/optparse/")
+ (synopsis "Traditional long option parser for Go")
+ (description
+ "Package optparse parses command line arguments very similarly to GNU
+@code{getopt_long()}. It supports long options and optional arguments, but
+does not permute arguments. It is intended as a replacement for Go's flag
+package.")
+ ;; License type does latterly says it' "UNLICENSE".
+ (license license:unlicense)))
+
(define-public go-rsc-io-binaryregexp
(package
(name "go-rsc-io-binaryregexp")
@@ -8562,6 +17042,96 @@ and other languages. More precisely, it is the syntax accepted by RE2 and
described at https://golang.org/s/re2syntax, except for @code{\\C.}")
(license license:bsd-3)))
+(define-public go-sigs-k8s-io-json
+ (package
+ (name "go-sigs-k8s-io-json")
+ (version "0.0.0-20241014173422-cfa47c3a1cc8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kubernetes-sigs/json")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zdb3sq333ns8m5azv4fqqy62r0vrhssxl0przicm4v1nmrxj4jh"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.23
+ #:import-path "sigs.k8s.io/json"))
+ (home-page "https://github.com/kubernetes-sigs/json")
+ (synopsis "JSON decoder with enchansed features")
+ (description
+ "This package provides case-sensitive, integer-preserving JSON
+unmarshaling functions based on @code{encoding/json} @code{Unmarshal()}.")
+ (license license:asl2.0)))
+
+(define-public go-sigs-k8s-io-structured-merge-diff-v4
+ (package
+ (name "go-sigs-k8s-io-structured-merge-diff-v4")
+ (version "4.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kubernetes-sigs/structured-merge-diff")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xgi3r2xvwvxy6jc6rd5rrnib4y9b4kgpqphm4lkhgaayy3njwv3"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "sigs.k8s.io/structured-merge-diff/v4"
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'build)))) ; no go files in project's root
+ (propagated-inputs
+ (list go-github-com-google-go-cmp
+ go-github-com-google-gofuzz
+ go-github-com-json-iterator-go
+ go-sigs-k8s-io-yaml))
+ (home-page "https://github.com/kubernetes-sigs/structured-merge-diff")
+ (synopsis "Structured Merge and Diff")
+ (description
+ "This package provides a code which implements the Kubernetes \"apply\"
+operation.")
+ (license license:asl2.0)))
+
+(define-public go-sigs-k8s-io-yaml
+ (package
+ (name "go-sigs-k8s-io-yaml")
+ (version "1.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kubernetes-sigs/yaml")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0yjnmpwmvlb6md3djn6qx1ag4ld7gjz7jfyz1ldml88zyb9crpqx"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "sigs.k8s.io/yaml"))
+ (native-inputs
+ (list go-github-com-google-go-cmp
+ go-gopkg-in-check-v1))
+ (home-page "https://sigs.k8s.io/yaml")
+ (synopsis "YAML marshaling and unmarshaling support for Go")
+ (description
+ "This package provides a Go library that first converts YAML to JSON
+using @code{go-yaml} and then uses @code{json.Marshal} and
+@code{json.Unmarshal} to convert to or from the struct. This means that it
+effectively reuses the JSON struct tags as well as the custom JSON methods
+@code{MarshalJSON} and @code{UnmarshalJSON} unlike @code{go-yaml}.
+
+kubernetes-sigs/yaml is a permanent fork of
+@url{https://github.com/ghodss/yaml,ghodss/yaml}.")
+ (license (list license:expat license:bsd-3))))
+
(define-public go-suah-dev-protect
(package
(name "go-suah-dev-protect")
@@ -8710,7 +17280,7 @@ helpful utility functions, and makes testing fairly easy.")
(define-public go-zgo-at-zstd
(package
(name "go-zgo-at-zstd")
- (version "0.0.0-20240922235538-9a93b98b4725")
+ (version "0.0.0-20241125224656-49fafbb06ca9")
(source
(origin
(method git-fetch)
@@ -8719,21 +17289,12 @@ helpful utility functions, and makes testing fairly easy.")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
- (base32 "06nqiv1pkqnnqa3v6rlf0qfxgfd63vi4vv36acq54dxswxhcasaz"))))
+ (base32 "1hwvv685vv003j4ry6b791fmz5fz0ff57pq64s9s57zqxaxn8jrv"))))
(build-system go-build-system)
(arguments
(list
#:import-path "zgo.at/zstd"
- #:phases
- #~(modify-phases %standard-phases
- ;; XXX: Replace when go-build-system supports nested path.
- (replace 'check
- (lambda* (#:key import-path tests? #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v"
- "-skip" "TestExists"
- "./..."))))))))
+ #:test-flags #~(list "-skip" "TestExists/4|TestDiffMatch/3")))
(home-page "https://github.com/arp242/zstd")
(synopsis "Extensions to Go's standard library")
(description
@@ -8756,6 +17317,17 @@ library.")
#:import-path "github.com/yuin/gopher-lua/cmd/glua"
#:unpack-path "github.com/yuin/gopher-lua"))))
+(define-public go-asmfmt
+ (package
+ (inherit go-github-com-klauspost-asmfmt)
+ (name "go-asmfmp")
+ (arguments
+ (list
+ #:tests? #f
+ #:install-source? #f
+ #:import-path "github.com/klauspost/asmfmt/cmd/asmfmt"
+ #:unpack-path "github.com/klauspost/asmfmt"))))
+
(define-public go-chroma
(package
(inherit go-github-com-alecthomas-chroma-v2)
@@ -8775,6 +17347,32 @@ library.")
" This package provides an command line interface (CLI)
tool."))))
+(define-public go-csv2table
+ (package/inherit go-github-com-olekukonko-tablewriter
+ (name "go-csv2table")
+ (arguments
+ (list #:install-source? #f
+ #:import-path "github.com/olekukonko/tablewriter/csv2table"
+ #:unpack-path "github.com/olekukonko/tablewriter"))
+ (description
+ (string-append (package-description go-github-com-olekukonko-tablewriter)
+ "\nThis package provides a command line interface (CLI) tool."))))
+
+(define-public go-fxlint
+ (package
+ (inherit go-go-uber-org-fx-tools)
+ (name "go-fxlint")
+ (arguments
+ (list
+ #:tests? #f
+ #:install-source? #f
+ #:import-path "go.uber.org/fx/tools/cmd/fxlint"
+ #:unpack-path "go.uber.org/fx"))
+ (description
+ (string-append (package-description go-go-uber-org-fx-tools)
+ " This package provides a command line interface (CLI)
+linter that verifies correct usage of Fx."))))
+
(define-public go-hclogvet
(package
(inherit go-github-com-hashicorp-go-hclog)
@@ -8784,8 +17382,6 @@ tool."))))
#:import-path "github.com/hashicorp/go-hclog/hclogvet"
#:unpack-path "github.com/hashicorp/go-hclog"
#:install-source? #f))
- (propagated-inputs
- (list go-golang-org-x-tools))
(description
"@code{hclogvet} is a @code{go vet} tool for checking that the
Trace/Debug/Info/Warn/Error methods on @code{hclog.Logger} are used
@@ -8801,6 +17397,50 @@ correctly.")))
(string-append (package-description go-zgo-at-jfmt)
" This package provides a command line interface (CLI) tool."))))
+(define-public go-jsonnet
+ (package
+ (name "go-jsonnet")
+ (version "0.20.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/go-jsonnet")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1qfr6yvhj33rhx1icxh99bbpngh5kwq1x7r39315y53bw216vbrz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:install-source? #f
+ #:import-path "github.com/google/go-jsonnet/cmd/jsonnet"
+ #:unpack-path "github.com/google/go-jsonnet"))
+ (native-inputs
+ (list go-github-com-fatih-color
+ go-github-com-sergi-go-diff
+ go-gopkg-in-yaml-v2
+ go-sigs-k8s-io-yaml))
+ (home-page "https://github.com/google/go-jsonnet")
+ (synopsis "Go implementation of Jsonnet")
+ (description
+ "This package provides an implementation of the @url{http://jsonnet.org/,
+Jsonnet} data templating language in Go. It is a
+feature-complete,production-ready implementation, compatible with the original
+Jsonnet C++implementation.")
+ (license license:asl2.0)))
+
+(define-public go-ifacemaker
+ (package/inherit go-github-com-vburenin-ifacemaker
+ (name "go-ifacemaker")
+ (arguments
+ (list #:install-source? #f
+ #:tests? #f
+ #:import-path "github.com/vburenin/ifacemaker"))
+ (description
+ (string-append (package-description go-github-com-vburenin-ifacemaker)
+ " This package provides a command line interface (CLI) tool."))))
+
(define-public go-msgio
(package
(inherit go-github-com-libp2p-go-msgio)
@@ -8854,6 +17494,46 @@ go-github-com-tklauser-numcpus source.")))
"This package provides a CLI build from the
go-github-com-orisano-pixelmatch source.")))
+(define-public go-porter2
+ (package
+ (inherit go-github-com-surgebase-porter2)
+ (name "go-porter2")
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-surgebase-porter2)
+ ((#:tests? _ #t) #f)
+ ((#:install-source? _ #t) #f)
+ ((#:unpack-path _) "github.com/surgebase/porter2")
+ ((#:phases phases '%standard-phases)
+ #~(modify-phases #$phases
+ (replace 'build
+ (lambda arguments
+ (for-each
+ (lambda (cmd)
+ (apply (assoc-ref %standard-phases 'build)
+ `(,@arguments #:import-path ,cmd)))
+ (list "github.com/surgebase/porter2/cmd/compare"
+ "github.com/surgebase/porter2/cmd/suffixfsm"
+ "github.com/surgebase/porter2/cmd/switchvsmap"))))
+ (replace 'install
+ (lambda arguments
+ (for-each
+ (lambda (cmd)
+ (apply (assoc-ref %standard-phases 'install)
+ `(,@arguments #:import-path ,cmd)))
+ (list "github.com/surgebase/porter2/cmd/compare"
+ "github.com/surgebase/porter2/cmd/suffixfsm"
+ "github.com/surgebase/porter2/cmd/switchvsmap"))))))))
+ (description
+ (string-append (package-description go-github-com-mattn-go-sixel)
+ " This package provides an command line interface (CLI)
+tools:
+@itemize
+@item @code{compare}
+@item @code{suffixfsm} is a finite state machine generator for the porter2
+@item @code{switchvsmap}
+@end itemize"))))
+
(define-public go-sentences
(package
(inherit go-github-com-neurosnap-sentences)
@@ -8868,6 +17548,44 @@ go-github-com-orisano-pixelmatch source.")))
" This package provides an command line interface (CLI)
tool."))))
+(define-public go-sixel
+ (package
+ (inherit go-github-com-mattn-go-sixel)
+ (name "go-sixel")
+ (arguments
+ (list
+ #:tests? #f ; tested in the library
+ #:install-source? #f
+ #:unpack-path "github.com/mattn/go-sixel"
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'build
+ (lambda arguments
+ (for-each
+ (lambda (cmd)
+ (apply (assoc-ref %standard-phases 'build)
+ `(,@arguments #:import-path ,cmd)))
+ (list "github.com/mattn/go-sixel/cmd/goscat"
+ "github.com/mattn/go-sixel/cmd/gosd"
+ "github.com/mattn/go-sixel/cmd/gosgif"
+ "github.com/mattn/go-sixel/cmd/gosl"
+ "github.com/mattn/go-sixel/cmd/gosr"))))
+ (replace 'install
+ (lambda arguments
+ (for-each
+ (lambda (cmd)
+ (apply (assoc-ref %standard-phases 'install)
+ `(,@arguments #:import-path ,cmd)))
+ (list "github.com/mattn/go-sixel/cmd/goscat"
+ "github.com/mattn/go-sixel/cmd/gosd"
+ "github.com/mattn/go-sixel/cmd/gosgif"
+ "github.com/mattn/go-sixel/cmd/gosl"
+ "github.com/mattn/go-sixel/cmd/gosr")))))))
+ (description
+ (string-append (package-description go-github-com-mattn-go-sixel)
+ " This package provides an command line interface (CLI)
+tools."))))
+
(define-public go-tengo
(package
(inherit go-github-com-d5-tengo-v2)
@@ -8882,6 +17600,38 @@ tool."))))
"\nThis package provides an command line interface (CLI)
tool."))))
+(define-public go-toml
+ (package
+ (inherit go-github-com-pelletier-go-toml-v2)
+ (name "go-toml")
+ (arguments
+ (list
+ #:tests? #f ; tested in the library
+ #:install-source? #f
+ #:unpack-path "github.com/pelletier/go-toml"
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'build
+ (lambda arguments
+ (for-each
+ (lambda (cmd)
+ (apply (assoc-ref %standard-phases 'build)
+ `(,@arguments #:import-path ,cmd)))
+ (list "github.com/pelletier/go-toml/cmd/tomljson"
+ "github.com/pelletier/go-toml/cmd/tomll"))))
+ (replace 'install
+ (lambda arguments
+ (for-each
+ (lambda (cmd)
+ (apply (assoc-ref %standard-phases 'install)
+ `(,@arguments #:import-path ,cmd)))
+ (list "github.com/pelletier/go-toml/cmd/tomljson"
+ "github.com/pelletier/go-toml/cmd/tomll")))))))
+ (description
+ (string-append (package-description go-github-com-pelletier-go-toml-v2)
+ "\nThis package provides command line interface (CLI)
+tools."))))
+
(define-public go-tomlv
(package
(inherit go-github-com-burntsushi-toml)
@@ -8907,12 +17657,92 @@ tool."))))
#:import-path "github.com/oklog/ulid/v2/cmd/ulid"
#:unpack-path "github.com/oklog/ulid/v2"))
(native-inputs
- (list go-github-com-pborman-getopt))
+ (list go-github-com-pborman-getopt-v2))
(description
(string-append (package-description go-github-com-oklog-ulid)
" This package provides an command line interface (CLI)
tool."))))
+(define-public gofumpt
+ (package
+ (inherit go-mvdan-cc-gofumpt)
+ (name "gofumpt")
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-mvdan-cc-gofumpt)
+ ((#:tests? _ #t) #f)
+ ((#:install-source? _ #t) #f)
+ ((#:skip-build? _ #t) #f)))
+ (native-inputs (package-propagated-inputs go-mvdan-cc-gofumpt))
+ (propagated-inputs '())
+ (inputs '())))
+
+(define-public gopls
+ (package
+ (name "gopls")
+ ;; XXX: Starting from 0.14.0 gppls needs golang.org/x/telemetry, which
+ ;; needs to be discussed if it may be included in Guix.
+ (version "0.17.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/tools")
+ (commit (go-version->git-ref version #:subdir "gopls"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1qksn79nc94fig5bia0l8h7fzm1zbn9rvya25hwf0f18v8a0id9l"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.23
+ #:install-source? #f
+ #:import-path "golang.org/x/tools/gopls"
+ #:unpack-path "golang.org/x/tools"
+ ;; XXX: No tests in project's root, limit to some of subdris, try to
+ ;; enable more.
+ #:test-subdirs
+ #~(list "internal/protocol/..."
+ "internal/util/..."
+ "internal/vulncheck/...")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'unpack 'override-tools
+ (lambda _
+ ;; XXX: Write a procedure deleting all but current module source
+ ;; to cover case with monorepo.
+ (delete-file-recursively "src/golang.org/x/tools"))))))
+ (native-inputs
+ (list go-github-com-google-go-cmp
+ go-github-com-jba-templatecheck
+ go-golang-org-x-mod
+ go-golang-org-x-sync
+ go-golang-org-x-telemetry
+ go-golang-org-x-text
+ go-golang-org-x-vuln
+ go-gopkg-in-yaml-v3
+ go-honnef-co-go-tools
+ go-mvdan-cc-gofumpt
+ go-mvdan-cc-xurls-v2))
+ (home-page "https://golang.org/x/tools/gopls")
+ (synopsis "Official language server for the Go language")
+ (description
+ "Pronounced ``Go please'', this is the official Go language server
+developed by the Go team. It provides IDE features to any LSP-compatible
+editor.")
+ (license license:bsd-3)))
+
+(define-public misspell
+ (package
+ (inherit go-github-com-client9-misspell)
+ (name "misspell")
+ (arguments
+ (list
+ #:install-source? #t
+ #:tests? #f
+ #:import-path "github.com/client9/misspell/cmd/misspell"
+ #:unpack-path "github.com/client9/misspell"))))
+
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; 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 b1ea9e5a28..6a8a288314 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -288,6 +288,23 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(strip-keyword-arguments '(#:tests? #:system) (package-arguments go-1.4))
((#:phases phases)
`(modify-phases ,phases
+ ;; Time bomb in TLS tests: "Most of the test certificates
+ ;; (e.g. testRSACertificate, testRSACertificateIssuer,
+ ;; testRSA2048CertificateIssuer) have a not after of Jan 1
+ ;; 00:00:00 2025 GMT."
+ ;; https://github.com/golang/go/issues/71077
+ ;; https://github.com/golang/go/issues/71103
+ ;; https://github.com/golang/go/issues/71104
+ (add-after 'unpack 'skip-crypto-tls-tests
+ (lambda _
+ (substitute* (list "src/crypto/tls/handshake_client_test.go"
+ "src/crypto/tls/handshake_server_test.go")
+ (("TestVerifyConnection.*" all)
+ (string-append all "\n t.Skip(\"golang.org/issue/71077\")\n"))
+ (("TestResumptionKeepsOCSPAndSCT.*" all)
+ (string-append all "\n t.Skip(\"golang.org/issue/71077\")\n"))
+ (("TestCrossVersionResume.*" all)
+ (string-append all "\n t.Skip(\"golang.org/issue/71077\")\n")))))
(add-after 'unpack 'remove-unused-sourcecode-generators
(lambda _
;; Prevent perl from inclusion in closure through unused files
@@ -518,6 +535,25 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(setenv "GOROOT_FINAL" (string-append output "/lib/go"))
(setenv "GOGC" "400")
(setenv "GOCACHE" "/tmp/go-cache"))))
+
+ ;; Time bomb in TLS tests: "Most of the test certificates
+ ;; (e.g. testRSACertificate, testRSACertificateIssuer,
+ ;; testRSA2048CertificateIssuer) have a not after of Jan 1
+ ;; 00:00:00 2025 GMT."
+ ;; https://github.com/golang/go/issues/71077
+ ;; https://github.com/golang/go/issues/71103
+ ;; https://github.com/golang/go/issues/71104
+ (add-after 'unpack 'skip-crypto-tls-tests
+ (lambda _
+ (substitute* (list "src/crypto/tls/handshake_client_test.go"
+ "src/crypto/tls/handshake_server_test.go")
+ (("TestVerifyConnection.*" all)
+ (string-append all "\n t.Skip(\"golang.org/issue/71077\")\n"))
+ (("TestResumptionKeepsOCSPAndSCT.*" all)
+ (string-append all "\n t.Skip(\"golang.org/issue/71077\")\n"))
+ (("TestCrossVersionResume.*" all)
+ (string-append all "\n t.Skip(\"golang.org/issue/71077\")\n")))))
+
(add-after 'unpack 'patch-source
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((net-base (assoc-ref inputs "net-base"))
@@ -822,7 +858,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.20)
(name "go")
- (version "1.21.5")
+ (version "1.21.13")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -831,7 +867,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(file-name (git-file-name name version))
(sha256
(base32
- "0f11kya6rpqfldpw82g0yiknz657i655d3c0yh3qy6f8xa8x7zn2"))))
+ "0x4qdib1d3gzgz620aysi1rrg682g93710dar4ga32b0j0w5kbhj"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.20)
;; Source patching phases are broken up into discrete steps to allow
@@ -956,7 +992,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.21)
(name "go")
- (version "1.22.7")
+ (version "1.22.11")
(source
(origin
(method git-fetch)
@@ -965,7 +1001,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(commit (string-append "go" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0m1idhhifhpjf6n56pca4wg6cyripdzmyl0jswdiy0kiqvs3whqb"))))
+ (base32 "1gdiyifsp65wlnfqfmnbv6n1rh23jbr13l79xwla3gavm67scx02"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.21)
((#:phases phases)
@@ -992,7 +1028,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.22)
(name "go")
- (version "1.23.2")
+ (version "1.23.5")
(source
(origin
(method git-fetch)
@@ -1001,7 +1037,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(commit (string-append "go" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0v8j43yqkhp5i5649nbxsq7lc9bjjn39gqqvlnz0d9c47qz9h7y7"))))))
+ (base32 "0iffjgsmh4ilc1r30zbidqvxz2dd8k0sml5rzzk1k4wkab0cjw0i"))))))
;;
;; 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
filtering devices.")
(license license:bsd-2))))
-(define-public go-github-com-agext-levenshtein
- (package
- (name "go-github-com-agext-levenshtein")
- (version "1.2.3")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/agext/levenshtein")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0a26c8pp9h5w66bhd9vb6lpvmhp30mz46pnh3a8vrjx50givb2lw"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/agext/levenshtein"))
- (home-page "https://github.com/agext/levenshtein")
- (synopsis "Calculating the Levenshtein distance between two strings in Go")
- (description
- "Package levenshtein implements distance and similarity metrics for
-strings, based on the Levenshtein measure.")
- (license license:asl2.0)))
-
-(define-public go-github-com-apparentlymart-go-textseg-v13
- (package
- (name "go-github-com-apparentlymart-go-textseg-v13")
- (version "13.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/apparentlymart/go-textseg")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0gdgi0d52rq1xsdn9icc8lghn0f2q927cifmrlfxflf7bf21vism"))))
- (build-system go-build-system)
- (arguments
- '(#:unpack-path "github.com/apparentlymart/go-textseg/v13"
- #:import-path "github.com/apparentlymart/go-textseg/v13/textseg"))
- (native-inputs
- (list ruby))
- (home-page "https://github.com/apparentlymart/go-textseg")
- (synopsis "Go implementation of Unicode Text Segmentation")
- (description
- "This package provides an implementation of the Unicode Text Segmentation
-specification for Go. Specifically, it currently includes only the grapheme
-cluster segmentation algorithm.")
- ;; Project is released under Expat terms. Some parts use Unicode and
- ;; ASL2.0 licenses.
- (license (list license:expat license:unicode license:asl2.0))))
-
-(define-public go-github-com-apparentlymart-go-textseg-autoversion
- (package
- (inherit go-github-com-apparentlymart-go-textseg-v13)
- (name "go-github-com-apparentlymart-go-textseg-autoversion")
- (arguments
- '(#:unpack-path "github.com/apparentlymart/go-textseg/autoversion"
- #:import-path "github.com/apparentlymart/go-textseg/autoversion/textseg"))))
-
(define-public go-github-com-operatorfoundation-shapeshifter-transports
(package
(name "go-github-com-operatorfoundation-shapeshifter-transports")
@@ -1260,368 +1236,6 @@ form that bypasses network filtering, allowing the application to work on
networks where it would otherwise be blocked or heavily throttled.")
(license license:expat)))
-(define-public go-github-com-hanwen-go-fuse-v2
- (let ((commit "915cf5413cdef5370ae3f953f8eb4cd9ac176d5c")
- (revision "0"))
- (package
- (name "go-github-com-hanwen-go-fuse-v2")
- (version (git-version "2.2.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hanwen/go-fuse")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1ik0yvs9m40vxccpb0rpxc22fyqmcgyysc7w0yl9kn3jyr6qa1d5"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/hanwen/go-fuse/v2"))
- (native-inputs (list
- go-golang-org-x-sys
- go-golang-org-x-sync
- go-github-com-kylelemons-godebug))
- (home-page "https://github.com/hanwen/go-fuse")
- (synopsis "Go bindings for FUSE filesystems")
- (description
- "This is a repository containing Go bindings for writing FUSE file systems.")
- (license license:bsd-3))))
-
-(define-public go-github-com-jacobsa-reqtrace
- (let ((commit "245c9e0234cb2ad542483a336324e982f1a22934")
- (revision "0"))
- (package
- (name "go-github-com-jacobsa-reqtrace")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jacobsa/reqtrace")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0zfyijig10896v42rvxka1n4wn6lijqz40y2281187l7mq8vv5jn"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/jacobsa/reqtrace"))
- (inputs (list
- go-golang-org-x-net))
- (home-page "https://github.com/jacobsa/reqtrace")
- (synopsis "Simple request tracing framework")
- (description
- "Package reqtrace contains a very simple request tracing framework.")
- (license license:asl2.0))))
-
-(define-public go-github-com-jcmturner-gofork
- (package
- (name "go-github-com-jcmturner-gofork")
- (version "1.7.6")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jcmturner/gofork")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0w1j6b671121r6md5w7hnh2d0sa332pw5q49yihw23wdfinknyin"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/jcmturner/gofork"))
- (home-page "https://github.com/jcmturner/gofork")
- (synopsis "Modified Go standard library packages")
- (description
- "This repository contains modified Go standard library packages for use as work
-arounds until issues are addressed in the official distribution.")
- (license license:bsd-3)))
-
-(define-public go-github-com-jcmturner-rpc
- (package
- (name "go-github-com-jcmturner-rpc")
- (version "2.0.3")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jcmturner/rpc")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1nm4j2nwcszghldw39rwdx2hr56i1lybfpv33y4gd67w6qcqbpsi"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/jcmturner/rpc"
- ;; Source-only package.
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- ;; Source-only package.
- (delete 'build))))
- (propagated-inputs
- (list go-golang-org-x-net go-github-com-stretchr-testify))
- (home-page "https://github.com/jcmturner/rpc")
- (synopsis "Remote Procedure Call libraries")
- (description
- "This package provides a partial Go implementation of the Remote Call
-Procedure libraries, presented in
-@@url{http://pubs.opengroup.org/onlinepubs/9629399/,CDE 1.1: Remote Procedure
-Call}.")
- (license license:asl2.0)))
-
-(define-public go-github-com-jcmturner-rpc-v2-ndr
- (package
- (inherit go-github-com-jcmturner-rpc)
- (name "go-github-com-jcmturner-rpc-v2-ndr")
- (arguments
- `(#:import-path "github.com/jcmturner/rpc/v2/ndr"
- #:unpack-path "github.com/jcmturner/rpc"))))
-
-(define-public go-github-com-jcmturner-rpc-v2-mstypes
- (package
- (inherit go-github-com-jcmturner-rpc)
- (name "go-github-com-jcmturner-rpc-v2-mstypes")
- (arguments
- `(#:import-path "github.com/jcmturner/rpc/v2/mstypes"
- #:unpack-path "github.com/jcmturner/rpc"))))
-
-(define-public go-github-com-kataras-golog
- (package
- (name "go-github-com-kataras-golog")
- (version "0.1.7")
- (source
- (origin
- (method git-fetch)
- (uri
- (git-reference
- (url "https://github.com/kataras/golog")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1ll24g50j48wqikzf67cyaq0m0f57v1ap24nbz3cmv3yzqi6wdl9"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/kataras/golog"))
- (propagated-inputs
- (list go-github-com-kataras-pio))
- (home-page "https://github.com/kataras/golog")
- (synopsis "Logging foundation for Go applications")
- (description "GoLog is a level-based logger written in Go.")
- (license license:bsd-3)))
-
-(define-public go-github-com-kataras-pio
- (package
- (name "go-github-com-kataras-pio")
- (version "0.0.10")
- (source
- (origin
- (method git-fetch)
- (uri
- (git-reference
- (url "https://github.com/kataras/pio")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "11d2jy9xz4airicgmjcy4nb80kwv22jp140wzn2l5412jdr4jmkp"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/kataras/pio"))
- (home-page "https://github.com/kataras/pio")
- (synopsis "Pill for Input/Output")
- (description "PIO is a low-level package that provides a way to centralize
-different output targets. Supports colors and text decoration to all popular
-terminals.")
- (license license:bsd-3)))
-
-(define-public go-github-com-kortschak-utter
- (package
- (name "go-github-com-kortschak-utter")
- (version "1.5.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/kortschak/utter")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "13lg8gzvgjnljf1lz8qsfz3qcmbvrsxp3ip7mp2kscfz07r69dyw"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/kortschak/utter"))
- (home-page "https://github.com/kortschak/utter")
- (synopsis "Deep pretty printer")
- (description
- "This package implements a deep pretty printer for Go data structures to
-aid data snapshotting.")
- (license license:isc)))
-
-(define-public go-github-com-leonelquinteros-gotext
- (package
- (name "go-github-com-leonelquinteros-gotext")
- (version "1.5.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/leonelquinteros/gotext")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "15zjc7s1p29izagc84andzhnxw17763rax31jqvf9r5fzvlm0ccn"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/leonelquinteros/gotext"))
- (propagated-inputs (list go-golang-org-x-tools go-golang-org-x-text))
- (home-page "https://github.com/leonelquinteros/gotext")
- (synopsis "GNU gettext utilities in Go")
- (description "This package implements GNU gettext utilities in Go. It features:
-@itemize
-@item Implements GNU gettext support in native Go.
-@item Complete support for PO files including:
-@item Support for MO files.
-@item Thread-safe: This package is safe for concurrent use across multiple
-goroutines.
-@item It works with UTF-8 encoding as it's the default for Go language.
-@item Unit tests available.
-@item Language codes are automatically simplified from the form en_UK to en if
-the first isn't available.
-@item Ready to use inside Go templates.
-@item Objects are serializable to []byte to store them in cache.
-@item Support for Go Modules.
-@end itemize")
- (license license:expat)))
-
-(define-public go-github-com-pkg-xattr
- (package
- (name "go-github-com-pkg-xattr")
- (version "0.4.9")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/pkg/xattr")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0qg4zh0d8m4adaiicsd0cpw0w6g8sk01f4jz7jyxgirh1wfcsqyz"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/pkg/xattr"))
- (native-inputs (list go-golang-org-x-sys))
- (home-page "https://github.com/pkg/xattr")
- (synopsis "Support for extended file system attributes")
- (description
- "Package xattr provides support for extended attributes on Linux, Darwin and
-FreeBSD. Extended attributes are name:value pairs permanently associated with
-files or directories. They are similar to the environment strings associated with
-a process. An attribute may be defined or undefined. If defined, its value may
-be empty or non-empty. You can find more details here:
-@@url{https://en.wikipedia.org/wiki/Extended_file_attributes,
-https://en.wikipedia.org/wiki/Extended_file_attributes}
-.")
- (license license:bsd-2)))
-
-(define-public go-github-com-schachmat-ingo
- (package
- (name "go-github-com-schachmat-ingo")
- (version "0.0.0-20170403011506-a4bdc0729a3f")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/schachmat/ingo")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1gw0kddy7jh3467imsqni86cf9yq7k6vpfc0ywkbwj0zsjsdgd49"))))
- (build-system go-build-system)
- (arguments '(#:import-path "github.com/schachmat/ingo"))
- (home-page "https://github.com/schachmat/ingo")
- (synopsis "Go library to persist flags in a INI-like configuration file")
- (description
- "Ingo is a Go library helping you to persist flags in a INI-like
-configuration file.")
- (license license:isc)))
-
-(define-public go-github-com-savsgio-gotils
- (let ((commit "52f3993e8d6d2629f18e7b7383b7f54a3d3f1d1f")
- (revision "0"))
- (package
- (name "go-github-com-savsgio-gotils")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/savsgio/gotils")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0qr7i62h53frcig26vj027r2hn9zxsjzd7113wvbxy7qpprjjbjb"))))
- (build-system go-build-system)
- (native-inputs
- (list go-github-com-google-uuid
- go-github-com-valyala-bytebufferpool))
- (arguments
- '(#:import-path "github.com/savsgio/gotils"
- #:phases
- (modify-phases %standard-phases
- (replace 'build
- (lambda arguments
- (for-each
- (lambda (directory)
- (apply (assoc-ref %standard-phases 'build)
- `(,@arguments #:import-path ,directory)))
- (list
- "github.com/savsgio/gotils/bytes"
- "github.com/savsgio/gotils/encoding/base64"
- "github.com/savsgio/gotils/math"
- "github.com/savsgio/gotils/nocopy"
- "github.com/savsgio/gotils/strconv"
- "github.com/savsgio/gotils/strings"
- "github.com/savsgio/gotils/sync"
- "github.com/savsgio/gotils/time"
- "github.com/savsgio/gotils/uuid"))))
- (replace 'check
- (lambda arguments
- (for-each
- (lambda (directory)
- (apply (assoc-ref %standard-phases 'check)
- `(,@arguments #:import-path ,directory)))
- (list
- "github.com/savsgio/gotils/bytes"
- "github.com/savsgio/gotils/encoding/base64"
- "github.com/savsgio/gotils/math"
- "github.com/savsgio/gotils/nocopy"
- "github.com/savsgio/gotils/strconv"
- "github.com/savsgio/gotils/strings"
- "github.com/savsgio/gotils/sync"
- "github.com/savsgio/gotils/time"
- "github.com/savsgio/gotils/uuid"))))
- (replace 'install
- (lambda arguments
- (for-each
- (lambda (directory)
- (apply (assoc-ref %standard-phases 'install)
- `(,@arguments #:import-path ,directory)))
- (list
- "github.com/savsgio/gotils/bytes"
- "github.com/savsgio/gotils/encoding/base64"
- "github.com/savsgio/gotils/math"
- "github.com/savsgio/gotils/nocopy"
- "github.com/savsgio/gotils/strconv"
- "github.com/savsgio/gotils/strings"
- "github.com/savsgio/gotils/sync"
- "github.com/savsgio/gotils/time"
- "github.com/savsgio/gotils/uuid")))))))
- (home-page "https://github.com/savsgio/gotils")
- (synopsis "Golang utilities")
- (description
- "Golang utilities to make your life easier with zero allocations.")
- (license license:asl2.0))))
-
(define-public go-github-com-mufti1-interconv
(let ((commit "d7c72925c6568d60d361757bb9f2d252dcca745c")
(revision "0"))
@@ -1690,61 +1304,6 @@ configuration file.")
(sha256
(base32 "066bqlgw5h7a3kxswqlv734asb7nw2y6snsn09yqk0ixj23qw22s"))))))
-(define-public go-github-com-dpotapov-go-spnego
- (let ((commit "298b63a544303a239753d04314aada5bdbad7e4a")
- (revision "0"))
- (package
- (name "go-github-com-dpotapov-go-spnego")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri
- (git-reference
- (url "https://github.com/dpotapov/go-spnego")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0d3b0kazm0jskfml0pkhjn2v49m8dvqj4zymm49ldgvkhl9hcf6w"))))
- (build-system go-build-system)
- (arguments `(#:import-path "github.com/dpotapov/go-spnego"))
- (propagated-inputs (list go-github-com-stretchr-testify
- go-github-com-jcmturner-gokrb5-v8
- go-golang-org-x-net))
- (home-page "https://github.com/dpotapov/go-spnego")
- (synopsis "Simple golang library for retry mechanism")
- (description "This package is a simple Go library that provides retry
-functionality for functions that may fail. It includes various customizable
-retry strategies, such as fixed delay, backoff delay, and random delay.")
- (license license:expat))))
-
-(define-public go-howett-net-plist
- (package
- (name "go-howett-net-plist")
- (version "1.0.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/DHowett/go-plist")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1gcrxkmdj87xq01458asgxvvijrkih74ydbzfmir1p16xr9z0x39"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "howett.net/plist"))
- (propagated-inputs
- (list go-github-com-jessevdk-go-flags
- go-gopkg-in-check-v1))
- (home-page "https://github.com/DHowett/go-plist")
- (synopsis "Apple property list transcoder")
- (description
- "This list transcoder supports encoding/decoding property lists (Apple
-XML, Apple Binary, OpenStep, and GNUStep) from/to arbitrary Go types.")
- (license license:giftware)))
-
(define-public go-github-com-blanu-dust
(package
(name "go-github-com-blanu-dust")
@@ -1910,88 +1469,12 @@ protocol from the Pluggable Transports 2.0 specification.")
(base32 "0s730xagdxs66wfh65hb5v9a5h01q5ncic3pyij0a043scagizgr"))))
(build-system go-build-system)
(arguments
- `(#:unpack-path "github.com/OperatorFoundation/obfs4"
- #:phases
- (modify-phases %standard-phases
- (replace 'build
- (lambda arguments
- (for-each
- (lambda (directory)
- (apply (assoc-ref %standard-phases 'build)
- `(,@arguments #:import-path ,directory)))
- (list
- "github.com/OperatorFoundation/obfs4/common/csrand"
- "github.com/OperatorFoundation/obfs4/common/drbg"
- "github.com/OperatorFoundation/obfs4/common/log"
- "github.com/OperatorFoundation/obfs4/common/ntor"
- "github.com/OperatorFoundation/obfs4/common/probdist"
- "github.com/OperatorFoundation/obfs4/common/pt_extras"
- "github.com/OperatorFoundation/obfs4/common/replayfilter"
- "github.com/OperatorFoundation/obfs4/common/socks5"
- "github.com/OperatorFoundation/obfs4/common/termmon"
- "github.com/OperatorFoundation/obfs4/common/uniformdh"
- "github.com/OperatorFoundation/obfs4/modes/pt_socks5"
- "github.com/OperatorFoundation/obfs4/modes/stun_udp"
- "github.com/OperatorFoundation/obfs4/modes/transparent_tcp"
- "github.com/OperatorFoundation/obfs4/modes/transparent_udp"
- "github.com/OperatorFoundation/obfs4/obfs4proxy"
- "github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_http"
- "github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_socks4"
- "github.com/OperatorFoundation/obfs4/transports"))))
- (replace 'check
- (lambda arguments
- (for-each
- (lambda (directory)
- (apply (assoc-ref %standard-phases 'check)
- `(,@arguments #:import-path ,directory)))
- (list
- "github.com/OperatorFoundation/obfs4/common/csrand"
- "github.com/OperatorFoundation/obfs4/common/drbg"
- "github.com/OperatorFoundation/obfs4/common/log"
- "github.com/OperatorFoundation/obfs4/common/ntor"
- "github.com/OperatorFoundation/obfs4/common/probdist"
- "github.com/OperatorFoundation/obfs4/common/pt_extras"
- "github.com/OperatorFoundation/obfs4/common/replayfilter"
- "github.com/OperatorFoundation/obfs4/common/socks5"
- "github.com/OperatorFoundation/obfs4/common/termmon"
- "github.com/OperatorFoundation/obfs4/common/uniformdh"
- ;; ERROR: Println arg dialFn is a func value, not called.
- ;;"github.com/OperatorFoundation/obfs4/modes/pt_socks5"
- ;; ERROR: Infof format %s has arg ln of wrong type *net.UDPConn.
- ;;"github.com/OperatorFoundation/obfs4/modes/stun_udp"
- "github.com/OperatorFoundation/obfs4/modes/transparent_tcp"
- ;; ERROR: Infof format %s has arg ln of wrong type *net.UDPConn
- ;;"github.com/OperatorFoundation/obfs4/modes/transparent_udp"
- ;; ERROR: Println call has possible formatting directive %s.
- ;;"github.com/OperatorFoundation/obfs4/obfs4proxy"
- "github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_http"
- "github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_socks4"
- "github.com/OperatorFoundation/obfs4/transports"))))
- (replace 'install
- (lambda arguments
- (for-each
- (lambda (directory)
- (apply (assoc-ref %standard-phases 'install)
- `(,@arguments #:import-path ,directory)))
- (list
- "github.com/OperatorFoundation/obfs4/common/csrand"
- "github.com/OperatorFoundation/obfs4/common/drbg"
- "github.com/OperatorFoundation/obfs4/common/log"
- "github.com/OperatorFoundation/obfs4/common/ntor"
- "github.com/OperatorFoundation/obfs4/common/probdist"
- "github.com/OperatorFoundation/obfs4/common/pt_extras"
- "github.com/OperatorFoundation/obfs4/common/replayfilter"
- "github.com/OperatorFoundation/obfs4/common/socks5"
- "github.com/OperatorFoundation/obfs4/common/termmon"
- "github.com/OperatorFoundation/obfs4/common/uniformdh"
- "github.com/OperatorFoundation/obfs4/modes/pt_socks5"
- "github.com/OperatorFoundation/obfs4/modes/stun_udp"
- "github.com/OperatorFoundation/obfs4/modes/transparent_tcp"
- "github.com/OperatorFoundation/obfs4/modes/transparent_udp"
- "github.com/OperatorFoundation/obfs4/obfs4proxy"
- "github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_http"
- "github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_socks4"
- "github.com/OperatorFoundation/obfs4/transports")))))))
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/OperatorFoundation/obfs4"
+ #:test-subdirs #~(list "common/..."
+ "proxy_dialers/..."
+ "transports/obfs4/...")))
(propagated-inputs
(list go-github-com-dchest-siphash
go-github-com-operatorfoundation-ed25519
@@ -2014,30 +1497,29 @@ obfuscated via the Elligator 2 mapping.
(license license:bsd-2)))
(define-public go-github-com-willscott-goturn
- (let ((commit "19f41278d0c9251d64e0ee29f37d51e87a24a97b")
- (revision "0"))
(package
(name "go-github-com-willscott-goturn")
- (version (git-version "0.0.0" revision commit))
+ (version "0.0.0-20170802220503-19f41278d0c9")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/willscott/goturn")
- (commit commit)))
+ (commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "0zwvhfznr84ayzknn9flh65nvqjsixisgy9fkhz2jlahl1ldqcq7"))))
(build-system go-build-system)
(arguments
- `(#:import-path "github.com/willscott/goturn"))
+ `(#:tests? #f ; tests are broken on a newer go, starting from 1.17.
+ #:import-path "github.com/willscott/goturn"))
(home-page "https://github.com/willscott/goturn")
(synopsis "Go TURN dialer")
(description "GoTURN is a library providing a Go interface compatible with
the golang proxy package which connects through a TURN relay. It provides
parsing and encoding support for STUN and TURN protocols.")
- (license license:bsd-3))))
+ (license license:bsd-3)))
(define-public go-github-com-flopp-go-findfont
(package
@@ -2062,35 +1544,6 @@ parsing and encoding support for STUN and TURN protocols.")
TrueType font files in your system's user and system font directories.")
(license license:expat)))
-(define-public go-github-com-phpdave11-gofpdi
- (package
- (name "go-github-com-phpdave11-gofpdi")
- (version "1.0.13")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/phpdave11/gofpdi")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "01r8a3k2d48fxmhyvix0ry2dc1z5xankd14yxlm496a26vfnc9nq"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/phpdave11/gofpdi"
- #:phases #~(modify-phases %standard-phases
- (add-after 'unpack 'fix-source
- (lambda _
- (substitute* (find-files "." "writer\\.go$")
- (("%s-%s") "%d-%s")))))))
- (propagated-inputs (list go-github-com-pkg-errors))
- (home-page "https://github.com/phpdave11/gofpdi")
- (synopsis "PDF document importer")
- (description
- "gofpdi allows you to import an existing PDF into a new PDF.")
- (license license:expat)))
-
(define-public go-github-com-signintech-gopdf
(package
(name "go-github-com-signintech-gopdf")
@@ -2124,29 +1577,25 @@ TrueType font files in your system's user and system font directories.")
(package
(name "go-github-com-wraparound-wrap")
(version "0.3.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/Wraparound/wrap")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0scf7v83p40r9k7k5v41rwiy9yyanfv3jm6jxs9bspxpywgjrk77"))
- (patches (search-patches
- "go-github-com-wraparound-wrap-free-fonts.patch"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Wraparound/wrap")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0scf7v83p40r9k7k5v41rwiy9yyanfv3jm6jxs9bspxpywgjrk77"))
+ (patches (search-patches
+ "go-github-com-wraparound-wrap-free-fonts.patch"))))
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/Wraparound/wrap/"
- #:tests? #f ; no tests
+ #:install-source? #f
+ #:import-path "github.com/Wraparound/wrap/cmd/wrap"
+ #:unpack-path "github.com/Wraparound/wrap"
#:phases
#~(modify-phases %standard-phases
- (replace 'build
- (lambda* (#:key import-path #:allow-other-keys)
- (invoke "go" "install" "-v" "-x"
- "-ldflags=-s -w"
- (string-append import-path "cmd/wrap"))))
(add-after 'install 'wrap-fonts
(lambda* (#:key inputs outputs #:allow-other-keys)
(for-each
@@ -2158,46 +1607,26 @@ TrueType font files in your system's user and system font directories.")
(map cdr inputs))))))
(find-files (string-append (assoc-ref outputs "out")
"/bin"))))))))
- (propagated-inputs (list go-github-com-spf13-cobra
- go-github-com-signintech-gopdf
- go-github-com-flopp-go-findfont))
- (inputs (list font-liberation font-gnu-freefont))
+ (native-inputs
+ (list go-github-com-spf13-cobra
+ go-github-com-signintech-gopdf
+ go-github-com-flopp-go-findfont))
+ (inputs
+ (list font-liberation
+ font-gnu-freefont))
(home-page "https://github.com/Wraparound/wrap")
(synopsis "Format Fountain screenplays")
(description
- "Wrap is a command line tool that is able to convert Fountain files into a
-correctly formatted screen- or stageplay as an HTML or a PDF. It supports
+ "Wrap is a command line tool that is able to convert Fountain files into
+a correctly formatted screen- or stageplay as an HTML or a PDF. It supports
standard Fountain, but also has some custom syntax extensions such as
translated keywords and acts.")
(license license:gpl3)))
-(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib
- (package
- (name "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib")
- (version "1.5.0")
- (source
- (origin
- (method git-fetch)
- (uri
- (git-reference
- (url "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1kmdpxrbnxnpsi7dkgk85z005vjyj74b3wxxqrf68wg3svy69620"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib"))
- (home-page "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib")
- (synopsis "Go pluggable transports library")
- (description "GoPtLib is a library for writing Tor pluggable transports in
-Go.")
- (license license:cc0)))
-
-(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird
+(define-public lyrebird
(package
- (name "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird")
- (version "0.3.0")
+ (name "lyrebird")
+ (version "0.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2206,104 +1635,35 @@ Go.")
(file-name (git-file-name name version))
(sha256
(base32
- "1bmljd81vc8b4kzmpgmx1n1vvjn5y1s2w01hjxwplmnchv9dndkl"))))
+ "1qk7npkj0a3a28rp38whl1jwjr0z0hdcsq5bgm8bl1fk9g6cqbnp"))))
(build-system go-build-system)
(arguments
- `(#:unpack-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird"
- #:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird/cmd/lyrebird"
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'substitutions
- (lambda _
- (with-directory-excursion
- "src/gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird"
- (for-each
- (lambda (file)
- (substitute* file
- (("edwards25519-extra.git") "edwards25519-extra")))
- (list "common/ntor/ntor_test.go"
- "internal/x25519ell2/x25519ell2.go"))
- (substitute* "internal/x25519ell2/x25519ell2.go"
- (("gitlab.com/yawning/obfs4.git")
- "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird"))))))))
+ (list
+ #:install-source? #f
+ #:unpack-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird"
+ #:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird/cmd/lyrebird"))
(propagated-inputs
(list go-filippo-io-edwards25519
go-github-com-dchest-siphash
go-github-com-refraction-networking-utls
go-gitlab-com-yawning-edwards25519-extra
go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib
+ go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-snowflake-v2
go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-webtunnel
go-golang-org-x-crypto
- go-golang-org-x-net
- go-golang-org-x-text))
+ go-golang-org-x-net))
(home-page "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird")
(synopsis "Look-like nothing obfuscation protocol")
(description "This is a look-like nothing obfuscation protocol that
incorporates ideas and concepts from Philipp Winter's ScrambleSuit protocol.")
(license (list license:bsd-2 license:bsd-3))))
-(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-webtunnel
- (let ((commit "e64b1b3562f3ab50d06141ecd513a21ec74fe8c6")
- (revision "0"))
- (package
- (name "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-webtunnel")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri
- (git-reference
- (url "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0nvd0qp1mdy7w32arnkhghxm5k2g6gy33cxlarxc6vdm4yh6v5nv"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel"))
- (home-page "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel")
- (synopsis "Go WebTunnel Pluggable Transport")
- (description "WebTunnel is a Go Pluggable Transport that attempts to imitate
-web browsing activities based on HTTP Upgrade (HTTPT).")
- (license license:bsd-2))))
-
-(define-public go-github-com-keybase-go-ps
- (let ((commit "91aafc93ba19d1988cff338c1929d35b6c6f5b50")
- (revision "0"))
- (package
- (name "go-github-com-keybase-go-ps")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri
- (git-reference
- (url "https://github.com/keybase/go-ps")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1la7m9pd1rrij727g34k9d2iapqwrkwdkqwpkbsbcq8ig0fg634h"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/keybase/go-ps"
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-tests
- (lambda* (#:key native-inputs inputs #:allow-other-keys)
- (substitute* (find-files "." "test\\.go")
- (("/bin/sleep" command)
- (string-append
- (assoc-ref (or native-inputs inputs) "coreutils")
- command)))
- (substitute* "src/github.com/keybase/go-ps/process_openbsd.go"
- (("^// \\+build ignore") "")))))))
- (native-inputs
- (list coreutils go-github-com-stretchr-testify))
- (home-page "https://github.com/keybase/go-ps")
- (synopsis "Process list library for Go")
- (description "Go-Ps is a library for Go that implements OS-specific APIs
-to list and manipulate processes in a safe way.")
- (license license:expat))))
+(define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird
+ ;; This is a final command, no need for a full name of the go.mod module path
+ ;; style. The same is suggested in project's README and Makefile.
+ (deprecated-package
+ "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird"
+ lyrebird))
(define-public go-github-com-apparentlymart-go-openvpn-mgmt
(let ((commit "4d2ce95ae600ee04eeb020ee0997aabb82752210")
@@ -2360,29 +1720,6 @@ management interface. It can be used to monitor and control an OpenVPN process
running with its management port enabled.")
(license license:expat))))
-(define-public go-github-com-dchest-siphash
- (package
- (name "go-github-com-dchest-siphash")
- (version "1.2.1")
- (source
- (origin
- (method git-fetch)
- (uri
- (git-reference
- (url "https://github.com/dchest/siphash")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "08s076y7vmjqnq7jz0762hkm896r6r31v8b31a3gy0n8rfa01k8k"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/dchest/siphash"))
- (home-page "https://github.com/dchest/siphash")
- (synopsis "Go library for pseudorandom functions")
- (description "SipHash is a family of pseudorandom functions (PRFs) optimized
-for speed on short messages.")
- (license license:cc0)))
-
(define-public go-github-com-rakyll-statik
(package
(name "go-github-com-rakyll-statik")
@@ -2406,482 +1743,24 @@ for speed on short messages.")
"fmt.Print(helpText + \"\\n\")"))))))
(build-system go-build-system)
(arguments
- `(#:import-path "github.com/rakyll/statik"))
+ (list
+ #:import-path "github.com/rakyll/statik"
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ (list
+ "TestOpen/Files_should_retain_their_original_file*"
+ "TestOpen/Images_should_successfully_unpack"
+ "TestOpen/'index.html'_files_should_be_returned*"
+ "TestOpen/listed_all_sub_directories_in_deep_directory"
+ "TestOpen/Paths_containing_dots_should_be_properly_sanitized")
+ "|"))))
(home-page "https://github.com/rakyll/statik/")
(synopsis "Embed files into a Go executable")
(description "Statik allows you to embed a directory of static files into
your Go binary to be later served from an http.FileSystem.")
(license license:asl2.0)))
-(define-public go-github-com-alsm-ioprogress
- (let ((commit "063c3725f436e7fba0c8f588547bee21ffec7ac5")
- (revision "0"))
- (package
- (name "go-github-com-alsm-ioprogress")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/alsm/ioprogress")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "10ym5qlq77nynmkxbk767f2hfwyxg2k7hrzph05hvgzv833dhivh"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/alsm/ioprogress"))
- (synopsis "Textual progress bars in Go")
- (description "@code{ioprogress} is a Go library with implementations of
-@code{io.Reader} and @code{io.Writer} that draws progress bars. The primary use
-case for these are for command-line applications but alternate progress bar
-writers can be supplied for alternate environments.")
- (home-page "https://github.com/alsm/ioprogress")
- (license license:expat))))
-
-(define-public go-github-com-miolini-datacounter
- (package
- (name "go-github-com-miolini-datacounter")
- (version "1.0.3")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/miolini/datacounter")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0s1hxqy6666qd524rdp1dr3778davc8gx9brg9lkcjvr5l05s9wa"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "github.com/miolini/datacounter"))
- (home-page "https://github.com/miolini/datacounter")
- (synopsis "Counters for Go readers and writers")
- (description
- "The datacounter package provides counters for Go readers and writers.")
- (license license:expat)))
-
-(define-public go-github-com-aki237-nscjar
- (let ((commit "e2df936ddd6050d30dd90c7214c02b5019c42f06")
- (revision "0"))
- (package
- (name "go-github-com-aki237-nscjar")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/aki237/nscjar")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "03y7zzq12qvhsq86lb06sgns8xrkblbn7i7wd886wk3zr5574b96"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/aki237/nscjar"))
- (synopsis "Handle Netscape / Mozilla cookies")
- (description "@code{nscjar} is a Go library used to parse and output
-Netscape/Mozilla's old-style cookie files. It also implements a simple cookie
-jar struct to manage the cookies added to the cookie jar.")
- (home-page "https://github.com/aki237/nscjar")
- (license license:expat))))
-
-(define-public go-github-com-gizak-termui
- (package
- (name "go-github-com-gizak-termui")
- (version "3.1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gizak/termui")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1v3k8l5p95kb1v297ra5mw9sxdd59y82y6ibjzya5ma2pry6k5cn"))))
- (build-system go-build-system)
- (arguments
- '(#:unpack-path "github.com/gizak/termui"
- #:import-path "github.com/gizak/termui/v3"))
- (propagated-inputs
- (list go-github-com-mattn-go-runewidth
- go-github-com-mitchellh-go-wordwrap go-github.com-nsf-termbox-go))
- (home-page "https://github.com/gizak/termui")
- (synopsis "Terminal dashboard widget Go library")
- (description
- "The termui Go library draws customizable dashboard widgets in a text
-terminal. It includes several common widgets: lists, trees, tables and tabs,
-but also more complex items such as (stacked) bar and pie charts, scatter plots,
-gauges, and even images and a canvas for drawing `high resolution' braille dots.
-
-You can also easily create new custom widgets. Widgets can be coloured and
-styled and positioned absolutely or relatively. They respond to keyboard,
-mouse, and terminal resizing events.")
- (license license:expat)))
-
-(define-public go-github-com-golangplus-fmt
- (package
- (name "go-github-com-golangplus-fmt")
- (version "1.0.0")
- (home-page "https://github.com/golangplus/fmt")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url home-page)
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "07d5kxz0f8ss3v46y0c8jg02sagi0wlaaijhjzzp0r462jyzqii7"))))
- (build-system go-build-system)
- (arguments
- '(#:tests? #f ; failing with new Golang compiler.
- #:import-path "github.com/golangplus/fmt"))
- (synopsis "Additions to Go's standard @code{fmt} package")
- (description "This package provides additions to Go's stdlib @code{fmt}.")
- (license license:bsd-3)))
-
-(define-public go-github-com-mitchellh-go-wordwrap
- (package
- (name "go-github-com-mitchellh-go-wordwrap")
- (version "1.0.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/mitchellh/go-wordwrap")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "12imq66hgj8q9ii2xqdy8apc0icphh6yimjb0div1pvl3s9gn83y"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/mitchellh/go-wordwrap"))
- (propagated-inputs
- (list go-gopkg-in-yaml-v2))
- (home-page "https://github.com/mitchellh/go-wordwrap")
- (synopsis "Go library for word-wrapping strings")
- (description
- "This Go library automatically wraps words onto multiple lines. It's
-primary goal is to format command-line output, but of course word wrapping is a
-generally useful thing to do.")
- (license license:expat)))
-
-(define-public go-github-com-motemen-go-colorine
- (let ((commit "45d19169413a019e4e2be69629dde5c7d92f8706")
- (revision "0"))
- (package
- (name "go-github-com-motemen-go-colorine")
- (version (git-version "0.0.0" revision commit))
- (home-page "https://github.com/motemen/go-colorine")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url home-page)
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1mdy6q0926s1frj027nlzlvm2qssmkpjis7ic3l2smajkzh07118"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/motemen/go-colorine"))
- (propagated-inputs
- `(("github.com/daviddengcn/go-colortext" ,go-github-com-daviddengcn-go-colortext)))
- (synopsis "Simple colorized console logger for golang")
- (description
- "This package provides simple colorized console logger for golang.")
- (license license:expat))))
-
-(define-public go-github-com-daviddengcn-go-colortext
- (package
- (name "go-github-com-daviddengcn-go-colortext")
- (version "1.0.0")
- (home-page "https://github.com/daviddengcn/go-colortext")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url home-page)
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0j5ldwg3a768d3nniiglghr9axj4p87k7f7asqxa1a688xvcms48"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/daviddengcn/go-colortext"))
- (native-inputs
- (list go-github-com-golangplus-testing))
- (synopsis "Change the color of console text and background")
- (description
- "This is a package to change the color of the text and background in the
-console, working both under Windows and other systems.
-
-Under Windows, the console APIs are used. Otherwise, ANSI texts are output.")
- ;; dual-licensed
- (license (list license:bsd-3 license:expat))))
-
-(define-public go-github-com-leodido-go-urn
- (package
- (name "go-github-com-leodido-go-urn")
- (version "1.4.0")
- (home-page "https://github.com/leodido/go-urn")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url home-page)
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0bn9dj6y299jdh8szfim32yxj9zip38cqgv965dj23cixgr7baxb"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/leodido/go-urn"))
- (native-inputs
- (list go-github-com-stretchr-testify))
- (synopsis "Parser for uniform resource names as seen on RFC 2141")
- (description
- "This package implements a parser for uniform resource names (URN) as
-specified by @uref{https://tools.ietf.org/html/rfc2141, IETF RFC 2141}.")
- (license license:expat)))
-
-(define-public go-github-com-jessevdk-go-flags
- (package
- (name "go-github-com-jessevdk-go-flags")
- (version "1.5.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jessevdk/go-flags")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "13ixw1yx4bvcj66lkc8zgwf9j7gkvj686g991gycdsafvdvca0lj"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/jessevdk/go-flags"
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-tests
- (lambda _
- ;; SOURCE_DATE_EPOCH messes with the date on the man page test.
- (substitute* "src/github.com/jessevdk/go-flags/help_test.go"
- (("TestMan") "DisabledTestMan")))))))
- (propagated-inputs
- (list go-golang-org-x-sys))
- (synopsis "Go library for parsing command line arguments")
- (description
- "The @code{flags} package provides a command line option parser. The
-functionality is similar to the go builtin @code{flag} package, but
-@code{flags} provides more options and uses reflection to provide a succinct
-way of specifying command line options.")
- (home-page "https://github.com/jessevdk/go-flags")
- (license license:bsd-3)))
-
-(define-public go-github-com-go-playground-universal-translator
- (package
- (name "go-github-com-go-playground-universal-translator")
- (version "0.18.1")
- (home-page "https://github.com/go-playground/universal-translator")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url home-page)
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1lgz9wrkcfx6q3x6i9fprr8rfwnk0c6x61jgzacgikbmzsl7dw6v"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/go-playground/universal-translator"))
- (propagated-inputs
- (list go-github-com-go-playground-locales))
- (synopsis "Translator using Unicode CLDR data and pluralization rules")
- (description
- "This package offers an Internalization Translator for Go using
-@uref{http://cldr.unicode.org/, Unicode CLDR Project} data and pluralization
-rules. Its currently implemented features include
-
-@itemize
-@item Rules generated from the CLDR data, v30.0.3
-@item Contains Cardinal, Ordinal and Range Plural Rules
-@item Contains Month, Weekday and Timezone translations built in
-@item Contains Date & Time formatting functions
-@item Contains Number, Currency, Accounting and Percent formatting functions
-@item Supports the \"Gregorian\" calendar only
-@item Support loading translations from files
-@item Exporting translations to file(s), mainly for getting them
-professionally translated
-@end itemize")
- (license license:expat)))
-
-(define-public go-gopkg-in-go-playground-validator-v9
- (package
- (name "go-gopkg-in-go-playground-validator-v9")
- (version "9.31.0")
- (home-page "https://gopkg.in/go-playground/validator.v9")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/go-playground/validator")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1f8c77s8kx9rip2jarv27x5s4xkcmanh4ndyhbcwvrhncs5rq061"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "gopkg.in/go-playground/validator.v9"))
- (native-inputs
- (list go-gopkg-in-go-playground-assert-v1))
- (propagated-inputs
- (list go-github-com-go-playground-universal-translator
- go-github-com-leodido-go-urn))
- (synopsis "Validator for structs and individual fields based on tags")
- (description
- "This package implements value validations for structs and individual
-fields based on tags. It has the following unique features:
-
-@itemize
-@item Cross Field and Cross Struct validations by using validation tags or
-custom validators
-@item Slice, Array and Map diving, which allows any or all levels of a
-multidimensional field to be validated
-@item Ability to dive into both map keys and values for validation
-@item Handles type interface by determining it's underlying type prior to validation
-@item Handles custom field types such as sql driver
-@uref{https://golang.org/src/database/sql/driver/types.go?s=1210:1293#L29,
-Valuer}
-@item Alias validation tags, which allows for mapping of several validations
-to a single tag for easier defining of validations on structs
-@item Extraction of custom defined Field Name e.g. can specify to extract the
-JSON name while validating and have it available in the resulting FieldError
-@item Customizable i18n aware error messages.
-@item Default validator for the @uref{https://github.com/gin-gonic/gin, gin}
-web framework
-@end itemize")
- (license license:expat)))
-
-(define-public go-github-com-go-playground-validator-v10
- (package
- (inherit go-gopkg-in-go-playground-validator-v9)
- (name "go-github-com-go-playground-validator-v10")
- (version "10.22.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/go-playground/validator")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0zff0qpqfzwa4xazppiq7jvpncnmx52m23qi4ih754b7rzhbk0iz"))))
- (arguments
- (list
- #:import-path "github.com/go-playground/validator/v10"))
- (propagated-inputs
- (modify-inputs (package-propagated-inputs
- go-gopkg-in-go-playground-validator-v9)
- (append go-github-com-gabriel-vasile-mimetype
- go-golang-org-x-crypto
- go-golang-org-x-text)))
- (native-inputs
- (list go-github-com-go-playground-assert-v2))))
-
-(define-public go-github-com-nathan-osman-go-sunrise
- (let ((commit "c8f9f1eb869135f07378e7e3c5ec7a005f806c73")
- (revision "0"))
- (package
- (name "go-github-com-nathan-osman-go-sunrise")
- (version (git-version "1.1.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/nathan-osman/go-sunrise")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "017zwzx05r5spxcs07dp6bnh7waknzsd819k7aqd8kr819v3x9in"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "github.com/nathan-osman/go-sunrise"))
- (home-page "https://github.com/nathan-osman/go-sunrise")
- (synopsis "Calculate sunrise and sunset times in Go")
- (description
- "This package provides a Go library for calculating sunrise and
-sunset times from geographical coordinates and a date.")
- (license license:expat))))
-
-(define-public go-github-com-hebcal-gematriya
- (let ((commit "fe3043f73e415eb82727701d10f2fb40f87675e9")
- (revision "0"))
- (package
- (name "go-github-com-hebcal-gematriya")
- (version (git-version "1.0.1" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hebcal/gematriya")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0xmnb2i80dy380yv8c4pd04bbyqgbc7c40p8hz1vqj2lhbm6jabf"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "github.com/hebcal/gematriya"))
- (home-page "https://github.com/hebcal/gematriya")
- (synopsis "Print numbers as Hebrew letters in Go")
- (description
- "This package provides a Go library for printing numbers as
-Hebrew letters.")
- (license license:bsd-2))))
-
-(define-public go-github-com-hebcal-hebcal-go
- (let ((commit "d42e881860cfc9e8249fc79f268091c3c4d36b0d")
- (revision "0"))
- (package
- (name "go-github-com-hebcal-hebcal-go")
- (version (git-version "0.9.11" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hebcal/hebcal-go")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1m9akb8pwxchpaci05gambshrzw626gsrfhl25f36vjl7mq5292n"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "github.com/hebcal/hebcal-go"
- ;; Source-only package
- #:tests? #f
- #:phases
- #~(modify-phases %standard-phases
- ;; Source-only package
- (delete 'build))))
- (native-inputs
- (list go-github-com-stretchr-testify))
- (propagated-inputs
- (list go-github-com-hebcal-gematriya
- go-github-com-nathan-osman-go-sunrise))
- (home-page "https://github.com/hebcal/hebcal-go")
- (synopsis "Go library for the Hebcal perpetual Jewish calendar")
- (description
- "This package provides a library for conversion between Hebrew
-and Gregorian dates, and generation of lists of Jewish holidays for
-a given year. Shabbat and holiday candle lighting and havdalah times
-are approximated based on location.
-
-Torah readings, Daf Yomi, and counting of the Omer can also be
-specified. Algorithms are included to calculate yahrzeits, birthdays,
-and anniversaries.")
- (license license:gpl2+))))
-
(define-public go-gopkg.in-tomb.v2
(let ((commit "d5d1b5820637886def9eef33e03a27a9f166942c")
(revision "0"))
@@ -2942,217 +1821,6 @@ termination.")
"t.Fatalf(`Killf(\"BO%%s")))))))
(home-page "https://gopkg.in/tomb.v1")))
-(define-public go-github-com-jtolds-gls
- (package
- (name "go-github-com-jtolds-gls")
- (version "4.20")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jtolds/gls")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/jtolds/gls"
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key inputs #:allow-other-keys #:rest args)
- (unless
- ;; The tests fail when run with gccgo.
- (false-if-exception (search-input-file inputs "/bin/gccgo"))
- (apply (assoc-ref %standard-phases 'check) args)))))))
- (synopsis "@code{gls} provides Goroutine local storage")
- (description
- "The @code{gls} package provides a way to store a retrieve values
-per-goroutine.")
- (home-page "https://github.com/jtolds/gls")
- (license license:expat)))
-
-(define-public go-github-com-saracen-walker
- (package
- (name "go-github-com-saracen-walker")
- (version "0.1.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/saracen/walker")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1rq1lrp99lx7k1ysbfznn4c1iagnxdhb4lnnklsadnnzi3gvygqz"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/saracen/walker"))
- (inputs
- (list go-golang-org-x-sync))
- (home-page "https://github.com/saracen/walker")
- (synopsis "Faster, parallel version of Go's filepath.Walk")
- (license license:expat)
- (description "The @code{walker} function is a faster, parallel version, of
-@code{filepath.Walk}")))
-
-(define-public go-github-com-tdewolff-hasher
- (package
- (name "go-github-com-tdewolff-hasher")
- (version "0.0.0-20210521220142-bc97f602bca2")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/tdewolff/hasher")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "12dmxpmdy2z7c2z7qv2mv2aq4hyvjncb6fzr0ymg3y5bfjvl4dcw"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "github.com/tdewolff/hasher"))
- (native-inputs
- (list go-github-com-cespare-mph
- go-github-com-dgryski-go-mph))
- (home-page "https://github.com/tdewolff/hasher")
- (synopsis "Go known-keys fast-lookup map generator")
- (description
- "Hasher is a tool to automate the creation of methods and tables for a
-@code{string} to @code{uint32} mapper.")
- (license license:bsd-3)))
-
-(define-public go-github-com-tj-docopt
- (package
- (name "go-github-com-tj-docopt")
- (version "1.0.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/tj/docopt")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "06h8hdg1mh3s78zqlr01g4si7k0f0g6pr7fj7lnvfg446hgc7080"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/tj/docopt"))
- (synopsis "Go implementation of docopt")
- (description
- "This library allows the user to define a command-line interface from a
-program's help message rather than specifying it programmatically with
-command-line parsers.")
- (home-page "https://github.com/tj/docopt")
- (license license:expat)))
-
-(define-public gopls
- (package
- (name "gopls")
- ;; XXX: Starting from 0.14.0 gppls needs golang.org/x/telemetry, which
- ;; needs to be discussed if it may be included in Guix.
- (version "0.16.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://go.googlesource.com/tools")
- (commit (go-version->git-ref version #:subdir "gopls"))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1l6mkh4v0f602spw3zdmkxqizk32zvgpfy461sinqwhlag8v8v3a"))))
- (build-system go-build-system)
- (arguments
- (list
- #:install-source? #f
- #:import-path "golang.org/x/tools/gopls"
- #:unpack-path "golang.org/x/tools"
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'unpack 'override-tools
- (lambda _
- ;; XXX: Write a procedure deleting all but current module source
- ;; to cover case with monorepo.
- (delete-file-recursively "src/golang.org/x/tools"))))))
- (native-inputs
- (list go-github-com-google-go-cmp
- go-github-com-jba-templatecheck
- go-golang-org-x-mod
- go-golang-org-x-sync
- go-golang-org-x-telemetry
- go-golang-org-x-text
- go-golang-org-x-vuln
- go-gopkg-in-yaml-v3
- go-honnef-co-go-tools
- go-mvdan-cc-gofumpt
- go-mvdan-cc-xurls-v2))
- (home-page "https://golang.org/x/tools/gopls")
- (synopsis "Official language server for the Go language")
- (description
- "Pronounced ``Go please'', this is the official Go language server
-developed by the Go team. It provides IDE features to any LSP-compatible
-editor.")
- (license license:bsd-3)))
-
-(define-public go-github-com-tevino-abool
- (let ((commit
- "3c25f2fe7cd0ef3eabefce1d90efd69a65d35b12")
- (revision "0"))
- (package
- (name "go-github-com-tevino-abool")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/tevino/abool")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1wxqrclxk93q0aj15z596dx2y57x9nkhi64nbrr5cxnhxn8vwixm"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/tevino/abool"))
- (home-page "https://github.com/tevino/abool")
- (synopsis "Atomic boolean library for Go code")
- (description "This package is atomic boolean library for Go code,
-optimized for performance yet simple to use.")
- (license license:expat))))
-
-(define-public gron
- (package
- (name "gron")
- (version "0.7.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/tomnomnom/gron")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1sj34b6yv0qigy3aq7qmwf8bqxp1a8qh9p10lzkpw58s1c0iyh36"))))
- (build-system go-build-system)
- (arguments
- (list
- #:install-source? #f
- #:import-path "github.com/tomnomnom/gron"))
- (native-inputs
- (list go-github-com-fatih-color
- go-github-com-mattn-go-colorable
- go-github-com-nwidger-jsoncolor
- go-github-com-pkg-errors))
- (home-page "https://github.com/tomnomnom/gron")
- (synopsis "Transform JSON to make it easier to grep")
- (description
- "This package transforms JSON into discrete assignments to make it easier
-to use line-based tools such as grep to search for what you want and see the
-absolute \"path\" to it.")
- (license license:expat)))
-
(define-public go-github-com-google-cadvisor
(let ((commit "2ed7198f77395ee9a172878a0a7ab92ab59a2cfd")
(revision "0"))
@@ -3171,7 +1839,8 @@ absolute \"path\" to it.")
"1w8p345z5j0gk3yiq5ah0znd5lfh348p2s624k5r10drz04p3f55"))))
(build-system go-build-system)
(arguments
- '(#:import-path "github.com/google/cadvisor"))
+ '(#:import-path "github.com/google/cadvisor"
+ #:test-subdirs '(".")))
(home-page "https://github.com/google/cadvisor")
(synopsis "Analyze resource usage of running containers")
(description "The package provides @code{cadvisor}, which provides
@@ -3179,553 +1848,6 @@ information about the resource usage and performance characteristics of running
containers.")
(license license:asl2.0))))
-(define-public go-github-com-spf13-afero
- (package
- (name "go-github-com-spf13-afero")
- (version "1.2.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/spf13/afero")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0j9r65qgd58324m85lkl49vk9dgwd62g7dwvkfcm3k6i9dc555a9"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/spf13/afero"))
- (propagated-inputs (list go-github-com-pkg-sftp go-golang-org-x-text))
- (home-page "https://github.com/spf13/afero")
- (synopsis "File system abstraction for Go")
- (description
- "This package provides a file system abstraction for Go.")
- (license license:asl2.0)))
-
-(define-public go-github-com-spf13-cast
- (package
- (name "go-github-com-spf13-cast")
- (version "1.3.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/spf13/cast")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0lb84788glr0qzrq2ifi36rgvp96qrgywvxrr3ggq5hrbr38hgn1"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/spf13/cast"))
- (native-inputs
- (list go-github-com-stretchr-testify))
- (home-page "https://github.com/spf13/cast")
- (synopsis "Safe and easy casting from one type to another in Go")
- (description "Safe and easy casting from one type to another in Go")
- (license license:expat)))
-
-(define-public go-github-com-spf13-jwalterweatherman
- (package
- (name "go-github-com-spf13-jwalterweatherman")
- (version "1.1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/spf13/jwalterweatherman")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1ywmkwci5zyd88ijym6f30fj5c0k2yayxarkmnazf5ybljv50q7b"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/spf13/jwalterweatherman"))
- (native-inputs
- (list go-github-com-stretchr-testify))
- (home-page "https://github.com/spf13/jwalterweatherman")
- (synopsis "Go logging library")
- (description "Go logging library")
- (license license:expat)))
-
-(define-public go-github-com-spf13-pflag
- (package
- (name "go-github-com-spf13-pflag")
- (version "1.0.5")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/spf13/pflag")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0gpmacngd0gpslnbkzi263f5ishigzgh6pbdv9hp092rnjl4nd31"))
- (snippet
- #~(begin
- (use-modules (guix build utils))
- ;; Fix compatibility with go-1.19+
- ;; https://github.com/spf13/pflag/issues/368
- (substitute* "flag_test.go"
- (("fmt\\.Println") "fmt.Print")
- (("\\+ got\\)") "+ got + \"\\n\")")
- (("\\+ defaultOutput\\)") "+ defaultOutput + \"\\n\")"))))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/spf13/pflag"))
- (home-page "https://github.com/spf13/pflag")
- (synopsis "Replacement for Go's @code{flag} package")
- (description
- "Pflag is library to replace Go's @code{flag} package. It implements
-POSIX/GNU-style command-line options with double hyphens. It is is compatible
-with the
-@uref{https://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html,
-GNU extensions} to the POSIX recommendations for command-line options.")
- (license license:bsd-3)))
-
-(define-public go-github-com-spf13-viper
- (package
- (name "go-github-com-spf13-viper")
- ;; Refreshing to a newer version requires long chain of missing packages.
- (version "1.7.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/spf13/viper")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "099n2g7fg6r8hqyszqw2axr775qyhyvwhsykvgw0f0s16ql48h5c"))))
- (build-system go-build-system)
- (arguments
- (list
- #:tests? #f
- #:import-path "github.com/spf13/viper"))
- (propagated-inputs
- (list go-github-com-fsnotify-fsnotify
- go-github-com-hashicorp-hcl
- go-github-com-magiconair-properties
- go-github-com-mitchellh-mapstructure
- go-github-com-pelletier-go-toml
- go-github-com-spf13-afero
- go-github-com-spf13-cast
- go-github-com-spf13-jwalterweatherman
- go-github-com-spf13-pflag
- go-github-com-subosito-gotenv
- go-gopkg-in-ini-v1
- go-gopkg-in-yaml-v2))
- (native-inputs
- (list go-github-com-stretchr-testify))
- (home-page "https://github.com/spf13/viper")
- (synopsis "Go configuration with fangs")
- (description
- "Viper is a complete configuration solution for Go applications including
-12-Factor apps. It is designed to work within an application, and can handle
-all types of configuration needs and formats.")
- (license license:expat)))
-
-(define-public go-github-com-nxadm-tail
- (package
- (name "go-github-com-nxadm-tail")
- (version "1.4.8")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/nxadm/tail")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1j2gi485fhwdpmyzn42wk62103fclwbfywg42p275z1qv2bsz1rc"))))
- (build-system go-build-system)
- (arguments (list #:import-path "github.com/nxadm/tail"))
- (propagated-inputs (list go-gopkg-in-tomb-v1
- go-github-com-fsnotify-fsnotify))
- (home-page "https://github.com/nxadm/tail")
- (synopsis "Go implementation of the functionality of @command{tail -f}")
- (description
- "This package provides a Go library for reading from continuously
-updating files, like @command{tail -f}.")
- (license license:expat)))
-
-(define-public go-github-com-magiconair-properties
- (package
- (name "go-github-com-magiconair-properties")
- (version "1.8.7")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/magiconair/properties")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0xy5nq7mwhrdcwjlgh4arjn6w5mjla0kni3cvl3z5vxcrnfrn3ax"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/magiconair/properties"))
- (home-page "https://github.com/magiconair/properties")
- (synopsis "Java properties scanner for Go")
- (description "Java properties scanner for Go")
- (license license:bsd-2)))
-
-(define-public go-github-com-sirupsen-logrus
- (package
- (name "go-github-com-sirupsen-logrus")
- (version "1.9.3")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/sirupsen/logrus")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1jz7nyq88i9fwfpp7krl046q62kjn6lb9j4r932bxnpypl1hwc49"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/sirupsen/logrus"
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key inputs #:allow-other-keys #:rest args)
- (unless
- ;; The tests fail when run with gccgo.
- (false-if-exception (search-input-file inputs "/bin/gccgo"))
- (apply (assoc-ref %standard-phases 'check) args)))))))
- (propagated-inputs
- (list go-github-com-davecgh-go-spew go-github-com-pmezard-go-difflib
- go-github-com-stretchr-testify go-golang-org-x-crypto
- go-golang-org-x-sys))
- (home-page "https://github.com/sirupsen/logrus")
- (synopsis "Structured, pluggable logging for Go")
- (description "Logrus is a structured logger for Go, completely API
-compatible with the standard library logger.")
- (license license:expat)))
-
-(define-public go-github-com-rifflock-lfshook
- (package
- (name "go-github-com-rifflock-lfshook")
- (version "2.4")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/rifflock/lfshook")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0wxqjcjfg8c0klmdgmbw3ckagby3wg9rkga9ihd4fsf05x5scxrc"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/rifflock/lfshook"))
- (propagated-inputs
- (list go-github-com-sirupsen-logrus))
- (home-page "https://github.com/rifflock/lfshook")
- (synopsis "Local File System hook for Logrus logger")
- (description "This package provides a hook for Logrus to write directly to
-a file on the file system. The log levels are dynamic at instantiation of the
-hook, so it is capable of logging at some or all levels.")
- (license license:expat)))
-
-(define-public go-github-com-kardianos-osext
- (let ((commit "ae77be60afb1dcacde03767a8c37337fad28ac14")
- (revision "1"))
- (package
- (name "go-github-com-kardianos-osext")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/kardianos/osext")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "056dkgxrqjj5r18bnc3knlpgdz5p3yvp12y4y978hnsfhwaqvbjz"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/kardianos/osext"
- ;; The tests are flaky:
- ;; <https://github.com/kardianos/osext/issues/21>
- #:tests? #f))
- (synopsis "Find the running executable")
- (description "Osext provides a method for finding the current executable
-file that is running. This can be used for upgrading the current executable or
-finding resources located relative to the executable file.")
- (home-page "https://github.com/kardianos/osext")
- (license license:bsd-3))))
-
-(define-public go-github-com-ayufan-golang-kardianos-service
- (let ((commit "0c8eb6d8fff2e2fb884a7bfd23e183fb63c0eff3")
- (revision "0"))
- (package
- (name "go-github-com-ayufan-golang-kardianos-service")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url
- "https://github.com/ayufan/golang-kardianos-service")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0x0cn7l5gda2khsfypix7adxd5yqighzn04mxjw6hc4ayrh7his5"))))
- (build-system go-build-system)
- (native-inputs
- (list go-github-com-kardianos-osext))
- (arguments
- '(#:tests? #f ;FIXME tests fail: Service is not running.
- #:import-path "github.com/ayufan/golang-kardianos-service"))
- (home-page "https://github.com/ayufan/golang-kardianos-service")
- (synopsis "Go interface to a variety of service supervisors")
- (description "This package provides @code{service}, a Go module that can
-run programs as a service using a variety of supervisors, including systemd,
-SysVinit, and more.")
- (license license:zlib))))
-
-(define-public go-github-com-dgryski-go-metro
- (package
- (name "go-github-com-dgryski-go-metro")
- (version "0.0.0-20211217172704-adc40b04c140")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/dgryski/go-metro")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "16y5vc5qf7aipi8basqza8l939hlmp7wqsv4y6gsqac3sp9ziqyj"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "github.com/dgryski/go-metro"))
- (home-page "https://github.com/dgryski/go-metro")
- (synopsis "Go translation of MetroHash")
- (description
- "This package provides a Go translation of the
-@url{https://github.com/jandrewrogers/MetroHash, reference C++ code for
-MetroHash}, a high quality, high performance hash algorithm.")
- (license license:expat)))
-
-(define-public go-github-com-dgryski-go-mph
- (package
- (name "go-github-com-dgryski-go-mph")
- (version "0.0.0-20211217222804-81a8625fb7ed")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/dgryski/go-mph")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "10q8l4jdzqf54bnnxka2jk6qzayri3ijv51knn1n0iimfric8w9g"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "github.com/dgryski/go-mph"))
- (propagated-inputs
- (list go-github-com-dgryski-go-metro))
- (home-page "https://github.com/dgryski/go-mph")
- (synopsis "Go minimal perfect hash function")
- (description
- "This package implements a hash/displace minimal perfect hash function.")
- (license license:expat)))
-
-(define-public go-github-com-docker-distribution
- (let ((commit "325b0804fef3a66309d962357aac3c2ce3f4d329")
- (revision "0"))
- (package
- (name "go-github-com-docker-distribution")
- (version (git-version "0.0.0" revision commit))
- (source
- ;; FIXME: This bundles many things, see
- ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31881#41>.
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/docker/distribution")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1yg2zrikn3vkvkx5mn51p6bfjk840qdkn7ahhhvvcsc8mpigrjc6"))))
- (build-system go-build-system)
- (native-inputs
- (list go-golang-org-x-sys go-github-com-sirupsen-logrus
- go-golang-org-x-crypto))
- (arguments
- '(#:import-path "github.com/docker/distribution"))
- (home-page
- "https://github.com/docker/distribution")
- (synopsis "This package is a Docker toolset to pack, ship, store, and
-deliver content")
- (description "Docker Distribution is a Docker toolset to pack, ship,
-store, and deliver content. It contains Docker Registry 2.0 and libraries
-to interact with distribution components.")
- (license license:asl2.0))))
-
-(define-public go-github-com-docker-go-connections
- (package
- (name "go-github-com-docker-go-connections")
- (version "0.5.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/docker/go-connections")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0svfa9g4xvbn87l5kiww1jkijmci9g5821wjp81xz1rfp13cqrk8"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/docker/go-connections"))
- (home-page "https://github.com/docker/go-connections")
- (synopsis "Networking library for Go")
- (description
- "This package provides a library to work with network connections in the
-Go language. In particular it provides tools to deal with network address
-translation (NAT), proxies, sockets, and transport layer security (TLS).")
- (license license:asl2.0)))
-
-(define-public go-github-com-docker-go-units
- (package
- (name "go-github-com-docker-go-units")
- (version "0.4.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/docker/go-units")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0k8gja8ql4pqg5rzmqvka42vjfs6rzablak87whcnqba6qxpimvz"))))
- (build-system go-build-system)
- (arguments '(#:import-path "github.com/docker/go-units"))
- (home-page "https://github.com/docker/go-units")
- (synopsis "Parse and print size and time units in human-readable format")
- (description
- "@code{go-units} is a library to transform human friendly measurements into
-machine friendly values.")
- (license license:asl2.0)))
-
-(define-public go-github-com-docker-machine
- (let ((commit "7b7a141da84480342357c51838be142bf183b095")
- (revision "0"))
- (package
- (name "go-github-com-docker-machine")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/docker/machine")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0bavk0lvs462yh0lnmnxi9psi5qv1x3nvzmd2b0drsahlp1gxi8s"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/docker/machine"))
- (home-page "https://github.com/docker/machine")
- (synopsis "Machine management for a container-centric world")
- (description
- "@dfn{Machine} lets you create Docker hosts on your computer, on
-hosting providers, and inside your data center. It creates servers, installs
-Docker on them, then configures the Docker client to talk to them.")
- (license license:asl2.0))))
-
-(define-public go-github-com-gorhill-cronexpr
- (let ((commit "f0984319b44273e83de132089ae42b1810f4933b")
- (revision "0"))
- (package
- (name "go-github-com-gorhill-cronexpr")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gorhill/cronexpr")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0dphhhqy3i7265znv3m8n57l80dmaq6z4hsj5kgd87qd19z8x0l2"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/gorhill/cronexpr"))
- (home-page "https://github.com/gorhill/cronexpr")
- (synopsis "Cron expression parser in the Go language")
- (description
- "This package provides a cron expression parser in the Go language.
-Given a cron expression and a time stamp, you can get the next time stamp
-which satisfies the cron expression.")
- (license (list license:gpl3+
- license:asl2.0)))))
-
-(define-public go-gopkg-in-yaml-v3
- (package
- (name "go-gopkg-in-yaml-v3")
- (version "3.0.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gopkg.in/yaml.v3")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "01b0wjb7yzv8wzzz2iim8mjpkwjnykcanrwiq06pkl89lr6gv8hn"))
- (patches (search-patches "go-gopkg-in-yaml-v3-32bit.patch"))))
- (build-system go-build-system)
- (arguments
- `(#:tests? ,(not (target-ppc32?)) ; Test killed with quit: ran too long (11m0s).
- #:import-path "gopkg.in/yaml.v3"))
- (native-inputs
- (list go-gopkg-in-check-v1))
- (home-page "https://gopkg.in/yaml.v3")
- (synopsis "YAML reader and writer for the Go language")
- (description
- "This package provides a Go library for encode and decode YAML values.
-The yaml package supports most of YAML 1.2, but preserves some behavior from
-1.1 for backwards compatibility.")
- (license license:asl2.0)))
-
-(define-public go-github-com-matrix-org-gomatrix
- (package
- (name "go-github-com-matrix-org-gomatrix")
- (version "0.0.0-20220926102614-ceba4d9f7530")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/matrix-org/gomatrix")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0vq29bdswvffxsmwvi20wnk73xk92dva0fdr2k3zshr4z10ypm2x"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "github.com/matrix-org/gomatrix"))
- (home-page "https://github.com/matrix-org/gomatrix")
- (synopsis "Golang Matrix client")
- (description "This package provides a Golang Matrix client.")
- (license license:asl2.0)))
-
(define-public go-github-com-aarzilli-golua
(let ((commit "03fc4642d792b1f2bc5e7343b403cf490f8c501d")
(revision "0"))
@@ -3864,74 +1986,6 @@ Looks for an identical word on a list of words, if none is found, look for a
similar word.")
(license license:expat))))
-(define-public misspell
- (package
- (name "misspell")
- (version "0.3.4")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/client9/misspell")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/client9/misspell"
- #:phases (modify-phases %standard-phases
- (replace 'build
- (lambda arguments
- (apply (assoc-ref %standard-phases
- 'build)
- `(,@arguments #:import-path
- "github.com/client9/misspell/cmd/misspell")))))))
- (propagated-inputs (list go-github-com-gobwas-glob))
- (home-page "https://github.com/client9/misspell")
- (synopsis "Correct commonly misspelled English words in source files")
- (description
- "misspell assists with correcting commonly misspelled English words in
-source files. A neutral variety of English is used by default, but a US or UK
-locale can be selected.")
- (license license:expat)))
-
-(define-public go-github-com-cli-safeexec
- (package
- (name "go-github-com-cli-safeexec")
- (version "1.0.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/cli/safeexec")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0j6hspjx9kyxn98nbisawx6wvbi1d6rpzr6p2rzhllm673wibwr3"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/cli/safeexec"))
- (home-page "https://github.com/cli/safeexec")
- (synopsis "Safe implementation of Go's exec.Command")
- (description "This package provides a Go module that provides a stabler
-alternative to @@code{exec.LookPath()}.")
- (license license:bsd-2)))
-
-(define-public go-github-com-client9-misspell
- (package
- (inherit misspell)
- (name "go-github-com-client9-misspell")
- (arguments
- `(#:import-path "github.com/client9/misspell"
- #:tests? #f
- #:install-source? #t
- #:phases (modify-phases %standard-phases
- (delete 'build))))
- (propagated-inputs (package-inputs misspell))
- (native-inputs '())
- (inputs '())))
-
(define-public go-github-com-stevedonovan-luar
(let ((commit "22d247e5366095f491cd83edf779ee99a78f5ead")
(revision "0"))
@@ -3973,68 +2027,6 @@ methods can be called and usual operations such as indexing or arithmetic can
be performed.")
(license license:expat))))
-(define-public go-github-com-michiwend-golang-pretty
- (let ((commit "8ac61812ea3fa540f3f141a444fcb0dd713cdca4")
- (revision "0"))
- (package
- (name "go-github-com-michiwend-golang-pretty")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url
- "https://github.com/michiwend/golang-pretty")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0rjfms0csjqi91xnddzx3rcrcaikc7xc027617px3kdwdap80ir4"))))
- (build-system go-build-system)
- (native-inputs
- (list go-github-com-kr-text))
- (arguments
- `(#:tests? #f ; Upstream tests seem to be broken.
- #:import-path "github.com/michiwend/golang-pretty"))
- (home-page "https://github.com/michiwend/golang-pretty")
- (synopsis "Pretty printing for Go values")
- (description "Package @code{pretty} provides pretty-printing for Go
-values. This is useful during debugging, to avoid wrapping long output lines
-in the terminal.
-
-It provides a function, @code{Formatter}, that can be used with any function
-that accepts a format string. It also provides convenience wrappers for
-functions in packages @code{fmt} and @code{log}.")
- (license license:expat))))
-
-(define-public go-github-com-michiwend-gomusicbrainz
- (let ((commit "0cdeb13f9b24d2c714feb7e3c63d595cf7121d7d")
- (revision "0"))
- (package
- (name "go-github-com-michiwend-gomusicbrainz")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url
- "https://github.com/michiwend/gomusicbrainz")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1li9daw0kghb80rdmxbh7g72qhxcvx3rvhwq5gs0jrr9hb8pjvcn"))))
- (build-system go-build-system)
- (native-inputs
- (list go-github-com-michiwend-golang-pretty go-github-com-kr-text))
- (arguments
- `(#:import-path "github.com/michiwend/gomusicbrainz"))
- (home-page "https://github.com/michiwend/gomusicbrainz")
- (synopsis "MusicBrainz WS2 client library for Golang")
- (description "Currently GoMusicBrainz provides methods to perform search
-and lookup requests. Browse requests are not supported yet.")
- (license license:expat))))
-
(define-public go-github-com-wtolson-go-taglib
(let ((commit "6e68349ff94ecea412de7e748cb5eaa26f472777")
(revision "0"))
@@ -4075,388 +2067,10 @@ and lookup requests. Browse requests are not supported yet.")
(description "Go wrapper for taglib")
(license license:unlicense))))
-(define-public go-github-com-gogo-protobuf
- (package
- (name "go-github-com-gogo-protobuf")
- (version "1.3.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gogo/protobuf")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0x77x64sxjgfhmbijqfzmj8h4ar25l2w97h01q3cqs1wk7zfnkhp"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/gogo/protobuf"
- ; Source-only package
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (delete 'build))))
- (synopsis "Protocol Buffers for Go with Gadgets")
- (description "Gogoprotobuf is a fork of golang/protobuf with extra code
-generation features. This code generation is used to achieve:
-@itemize
-@item fast marshalling and unmarshalling
-@item more canonical Go structures
-@item goprotobuf compatibility
-@item less typing by optionally generating extra helper code
-@item peace of mind by optionally generating test and benchmark code
-@item other serialization formats
-@end itemize")
- (home-page "https://github.com/gogo/protobuf")
- (license license:bsd-3)))
-
-(define-public go-github-com-btcsuite-btclog
- (let ((commit "84c8d2346e9fc8c7b947e243b9c24e6df9fd206a")
- (revision "0"))
- (package
- (name "go-github-com-btcsuite-btclog")
- (version (git-version "0.0.3" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/btcsuite/btclog")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "02dl46wcnfpg9sqvg0ipipkpnd7lrf4fnvb9zy56jqa7mfcwc7wk"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/btcsuite/btclog"))
- (home-page "https://github.com/btcsuite/btclog")
- (synopsis "Subsystem aware logger for Go")
- (description "Package @command{btclog} defines a logger interface and
-provides a default implementation of a subsystem-aware leveled logger
-implementing the same interface.")
- (license license:isc))))
-
-(define-public go-github-com-mr-tron-base58
- (let ((commit "d724c80ecac7b49e4e562d58b2b4f4ee4ed8c312")
- (revision "0"))
- (package
- (name "go-github-com-mr-tron-base58")
- (version (git-version "1.1.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/mr-tron/base58")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "12qhgnn9wf3c1ang16r4i778whk4wsrj7d90h2xgmz4fi1469rqa"))))
- (build-system go-build-system)
- (arguments
- `(#:unpack-path "github.com/mr-tron/base58"
- #:import-path "github.com/mr-tron/base58/base58"))
- (home-page "https://github.com/mr-tron/base58")
- (synopsis "Fast implementation of base58 encoding on Golang")
- (description "Fast implementation of base58 encoding on Golang. A
-trivial @command{big.Int} encoding benchmark results in 6 times faster
-encoding and 8 times faster decoding.")
- (license license:expat))))
-
-(define-public go-github-com-spaolacci-murmur3
- (package
- (name "go-github-com-spaolacci-murmur3")
- (version "1.1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/spaolacci/murmur3")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/spaolacci/murmur3"))
- (home-page "https://github.com/spaolacci/murmur3")
- (synopsis "Native MurmurHash3 Go implementation")
- (description "Native Go implementation of Austin Appleby's third MurmurHash
-revision (aka MurmurHash3).
-
-Reference algorithm has been slightly hacked as to support the streaming mode
-required by Go's standard Hash interface.")
- (license license:bsd-3)))
-
-(define-public go-github-com-twmb-murmur3
- (package
- (name "go-github-com-twmb-murmur3")
- (version "1.1.3")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/twmb/murmur3")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "00riapwkyf23l5wyis47mbr8rwr4yrjw491jfc30wpzs111c1gyy"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/twmb/murmur3"))
- (home-page "https://github.com/twmb/murmur3")
- (synopsis "Native MurmurHash3 Go implementation")
- (description "Native Go implementation of Austin Appleby's third
-MurmurHash revision (aka MurmurHash3).
-
-Reference algorithm has been slightly hacked as to support the streaming mode
-required by Go's standard Hash interface.")
- (license license:bsd-3)))
-
-(define-public go-github-com-libp2p-go-libp2p-protocol
- (let ((commit "b29f3d97e3a2fb8b29c5d04290e6cb5c5018004b")
- (revision "0"))
- (package
- (name "go-github-com-libp2p-go-libp2p-protocol")
- (version (git-version "1.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/libp2p/go-libp2p-protocol")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1xgjfnx9zcqglg9li29wdqywsp8hz22wx6phns9zscni2jsfidld"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path
- "github.com/libp2p/go-libp2p-protocol"))
- (home-page "https://github.com/libp2p/go-libp2p-protocol")
- (synopsis "Type for protocol strings in Golang")
- (description "Just a type for protocol strings. Nothing more.")
- (license license:expat))))
-
-(define-public go-github-com-mitchellh-go-homedir
- (let ((commit "ae18d6b8b3205b561c79e8e5f69bff09736185f4")
- (revision "0"))
- (package
- (name "go-github-com-mitchellh-go-homedir")
- (version (git-version "1.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/mitchellh/go-homedir")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0f0z0aa4wivk4z1y503dmnw0k0g0g403dly8i4q263gfshs82sbq"))))
- (build-system go-build-system)
- (arguments
- (quote (#:import-path "github.com/mitchellh/go-homedir"
- ;; TODO: Tests fail because it tries to access home.
- #:tests? #f)))
- (home-page "https://github.com/mitchellh/go-homedir")
- (synopsis "Go library for detecting and expanding the user's home directory without cgo")
- (description "This is a Go library for detecting the user's home
-directory without the use of @command{cgo}, so the library can be used in
-cross-compilation environments.
-
-Usage is simple, just call homedir.Dir() to get the home directory for a user,
-and homedir.Expand() to expand the @command{~} in a path to the home
-directory.
-
-Why not just use @command{os/user}? The built-in @command{os/user} package
-requires cgo on Darwin systems. This means that any Go code that uses that
-package cannot cross compile. But 99% of the time the use for
-@command{os/user} is just to retrieve the home directory, which we can do for
-the current user without cgo. This library does that, enabling
-cross-compilation.")
- (license license:expat))))
-
-(define-public go-github-com-mitchellh-mapstructure
- (package
- (name "go-github-com-mitchellh-mapstructure")
- (version "1.5.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/mitchellh/mapstructure")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "10f2v143lkip8h46shd99k5yavfqpgqmd7a6y42v7szc0lcn3mff"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/mitchellh/mapstructure"))
- (home-page "https://github.com/mitchellh/mapstructure")
- (synopsis "Go library for decoding generic map values")
- (description "Go library for decoding generic map values")
- (license license:expat)))
-
-(define-public go-github-com-mitchellh-reflectwalk
- (package
- (name "go-github-com-mitchellh-reflectwalk")
- (version "1.0.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/mitchellh/reflectwalk")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0pa6a3nhzwv5s5yqcmsmsfhdp5ggxsg2wa86f3akawxrhrkjarnx"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/mitchellh/reflectwalk"))
- (home-page "https://github.com/mitchellh/reflectwalk/")
- (synopsis "Walk a value in Go using reflection")
- (description "reflectwalk is a Go library for \"walking\" a value in Go
-using reflection, in the same way a directory tree can be \"walked\" on the
-file system. Walking a complex structure can allow you to do manipulations on
-unknown structures such as those decoded from JSON.")
- (license license:expat)))
-
-(define-public go-github-com-mitchellh-copystructure
- (package
- (name "go-github-com-mitchellh-copystructure")
- (version "1.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/mitchellh/copystructure")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "05njg92w1088v4yl0js0zdrpfq6k37i9j14mxkr3p90p5yd9rrrr"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/mitchellh/copystructure"))
- (native-inputs
- (list go-github-com-mitchellh-reflectwalk))
- (home-page "https://github.com/mitchellh/copystructure")
- (synopsis "Go library for decoding deep copying values")
- (description "@code{copystructure} is a Go library for deep copying values
-in Go.
-
-This allows you to copy Go values that may contain reference values such as
-maps, slices, or pointers, and copy their data as well instead of just their
-references.")
- (license license:expat)))
-
-(define-public go-github-com-whyrusleeping-tar-utils
- (let ((commit "8c6c8ba81d5c71fd69c0f48dbde4b2fb422b6dfc")
- (revision "0"))
- (package
- (name "go-github-com-whyrusleeping-tar-utils")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/whyrusleeping/tar-utils")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "14jjdw3yics0k467xsyk388684wdpi0bbx8nqj0y4pqxa0s0in6s"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path
- "github.com/whyrusleeping/tar-utils"))
- (home-page "https://github.com/whyrusleeping/tar-utils")
- (synopsis "Tar utilities extracted from go-ipfs codebase")
- (description "Tar utilities extracted from @command{go-ipfs} codebase.")
- (license license:expat))))
-
-(define-public go-github-com-sabhiram-go-gitignore
- (let ((commit "525f6e181f062064d83887ed2530e3b1ba0bc95a")
- (revision "1"))
- (package
- (name "go-github-com-sabhiram-go-gitignore")
- (version (git-version "1.0.2" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/sabhiram/go-gitignore")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "197giv3snczvbihzvkja5pq53yw5fc516rnjm71hni8gawb8jmh3"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path
- "github.com/sabhiram/go-gitignore"))
- (native-inputs
- (list go-github-com-stretchr-testify))
- (home-page "https://github.com/sabhiram/go-gitignore")
- (synopsis "Gitignore parser for Go")
- (description "A @command{.gitignore} parser for Go.")
- (license license:expat))))
-
-(define-public go-github-com-urfave-cli
- (package
- (name "go-github-com-urfave-cli")
- (version "1.22.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/urfave/cli")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "10mcnvi5qmn00vpyk6si8gjka7p654wr9hac4zc9w5h3ickhvbdc"))
- (patches (search-patches "go-github-com-urfave-cli-fix-tests.patch"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/urfave/cli"))
- (propagated-inputs
- (list go-github-com-go-md2man))
- (home-page "https://github.com/urfave/cli")
- (synopsis "Simple, fast, and fun package for building command line apps in Go")
- (description "@command{cli} is a simple, fast, and fun package for
-building command line apps in Go. The goal is to enable developers to write
-fast and distributable command line applications in an expressive way.")
- (license license:expat)))
-
-(define-public go-github-com-urfave-cli-v2
- (package
- (inherit go-github-com-urfave-cli)
- (name "go-github-com-urfave-cli-v2")
- (version "2.3.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/urfave/cli")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "08pvn7gyfznni72xrxfh2x6xxa8ykr7l1ka278js8g8qkh71bj8l"))
- ;; XXX: Remove patch when updating.
- (patches
- (search-patches "go-github-com-urfave-cli-v2-fix-tests.patch"))))
- (arguments
- '(#:import-path "github.com/urfave/cli/v2"))))
-
(define-public go-github-com-go-md2man
(package
(name "go-github-com-go-md2man")
- (version "2.0.0")
+ (version "2.0.5")
(source
(origin
(method git-fetch)
@@ -4465,964 +2079,20 @@ fast and distributable command line applications in an expressive way.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0r1f7v475dxxgzqci1mxfliwadcrk86ippflx9n411325l4g3ghv"))
- (modules '((guix build utils)))
- (snippet '(begin
- (delete-file-recursively "vendor")
- #t))))
+ (base32 "0gqlkv1pv8cpvcj8g77d1hzy5bnp5a3k3xs02iahlr3a65m4azsi"))))
(build-system go-build-system)
(arguments
- '(#:import-path "github.com/cpuguy83/go-md2man"))
+ (list
+ #:import-path "github.com/cpuguy83/go-md2man"))
(propagated-inputs
(list go-github-com-russross-blackfriday-v2))
(home-page "https://github.com/cpuguy83/go-md2man")
(synopsis "Convert markdown into roff")
- (description "Go-md2man is a Go program that converts markdown to roff for
-the purpose of building man pages.")
- (license license:expat)))
-
-(define-public go-github-com-git-lfs-go-netrc
- (let ((commit "f0c862dd687a9d9a7e15b3cd7cb3fd3e81cdd5ef")
- (revision "0"))
- (package
- (name "go-github-com-git-lfs-go-netrc")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri
- (git-reference
- (url "https://github.com/git-lfs/go-netrc")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0xvnjyg54gm3m3qszkfp12id0jmpg3583nqvv2llza1nr18w1sqi"))))
- (build-system go-build-system)
- (arguments `(#:import-path "github.com/git-lfs/go-netrc/netrc"
- #:unpack-path "github.com/git-lfs/go-netrc"))
- (home-page "https://github.com/git-lfs/go-netrc")
- (synopsis "Netrc file parser for Go")
- (description "This package is for reading and writing netrc files. This
-package can parse netrc files, make changes to them, and then serialize them
-back to netrc format, while preserving any whitespace that was present in the
-source file.")
- (license license:expat))))
-
-(define-public go-github-com-russross-blackfriday
- (package
- (name "go-github-com-russross-blackfriday")
- (version "1.6.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/russross/blackfriday")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "036028ynpq52z9snmd2b1kjzyvv6n9sg71k651ndznggnw19aamp"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/russross/blackfriday"))
- (propagated-inputs
- (list go-github-com-shurcool-sanitized-anchor-name))
- (native-inputs
- (list go-github-com-pmezard-go-difflib))
- (home-page "https://github.com/russross/blackfriday")
- (synopsis "Markdown processor in Go")
- (description "Blackfriday is a Markdown processor in Go.")
- (license license:bsd-2)))
-
-(define-public go-github-com-russross-blackfriday-v2
- (package
- (inherit go-github-com-russross-blackfriday)
- (name "go-github-com-russross-blackfriday-v2")
- (version "2.1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/russross/blackfriday")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0d1rg1drrfmabilqjjayklsz5d0n3hkf979sr3wsrw92bfbkivs7"))))
- (arguments
- (list #:import-path "github.com/russross/blackfriday/v2"))))
-
-(define-public go-github-com-rubyist-tracerx
- (let ((commit "787959303086f44a8c361240dfac53d3e9d53ed2")
- (revision "0"))
- (package
- (name "go-github-com-rubyist-tracerx")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/rubyist/tracerx")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1xj5213r00zjhb7d2l6wlwv62g6mss50jwjpf7g8fk8djv3l29zz"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/rubyist/tracerx"))
- (home-page "https://github.com/rubyist/tracerx/")
- (synopsis "Output tracing information in your Go app")
- (description "This package is a simple tracing application that logs
-messages depending on environment variables. It is very much inspired by git's
-GIT_TRACE mechanism.")
- (license license:expat))))
-
-(define-public go-github-com-shurcool-sanitized-anchor-name
- (package
- (name "go-github-com-shurcool-sanitized-anchor-name")
- (version "1.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/shurcooL/sanitized_anchor_name")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1gv9p2nr46z80dnfjsklc6zxbgk96349sdsxjz05f3z6wb6m5l8f"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/shurcooL/sanitized_anchor_name"))
- (home-page "https://github.com/shurcooL/sanitized_anchor_name")
- (synopsis "Create sanitized anchor names")
- (description "This package provides a Go program for creating sanitized
-anchor names.")
- (license license:expat)))
-
-(define-public go-github-com-pmezard-go-difflib
- (package
- (name "go-github-com-pmezard-go-difflib")
- (version "1.0.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/pmezard/go-difflib")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/pmezard/go-difflib/difflib"
- #:unpack-path "github.com/pmezard/go-difflib/"))
- (home-page "https://github.com/pmezard/go-difflib")
- (synopsis "Go diff implementation")
- (description "This package provides unified and context-aware diffs in Go.")
- (license license:bsd-3)))
-
-(define-public go-github-com-whyrusleeping-progmeter
- (let ((commit "f3e57218a75b913eff88d49a52c1debf9684ea04")
- (revision "0"))
- (package
- (name "go-github-com-whyrusleeping-progmeter")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/whyrusleeping/progmeter")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0xs8rz6yhpvj9512c5v3b8dwr2kivywnyyfxzdfbr6fy1xc8zskb"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path
- "github.com/whyrusleeping/progmeter"))
- (home-page "https://github.com/whyrusleeping/progmeter")
- (synopsis "Progress meter for Go")
- (description "Progress meter for Go.")
- (license license:expat))))
-
-(define-public go-github-com-whyrusleeping-stump
- (let ((commit "206f8f13aae1697a6fc1f4a55799faf955971fc5")
- (revision "0"))
- (package
- (name "go-github-com-whyrusleeping-stump")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/whyrusleeping/stump")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1s40qdppjnk8gijk7x6kbviiqz62nz3h6gic2q9cwcmq8r5isw7n"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/whyrusleeping/stump"))
- (home-page "https://github.com/whyrusleeping/stump")
- (synopsis "Very basic logging package for Go")
- (description "A simple log library, for when you don't really care to
-have super fancy logs.")
- (license license:expat))))
-
-(define-public go-github-com-kr-fs
- (let ((commit "1455def202f6e05b95cc7bfc7e8ae67ae5141eba")
- (revision "0"))
- (package
- (name "go-github-com-kr-fs")
- (version (git-version "0.1.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/kr/fs")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "11zg176x9hr9q7fsk95r6q0wf214gg4czy02slax4x56n79g6a7q"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/kr/fs"))
- (home-page "https://github.com/kr/fs")
- (synopsis "File-system-related functions for Go")
- (description
- "The fs package provides file-system-related Go functions.")
- (license license:bsd-3))))
-
-(define-public go-github-com-kylelemons-godebug
- (package
- (name "go-github-com-kylelemons-godebug")
- (version "1.1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/kylelemons/godebug")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0dkk3friykg8p6wgqryx6745ahhb9z1j740k7px9dac6v5xjp78c"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/kylelemons/godebug/diff"
- #:unpack-path "github.com/kylelemons/godebug"))
- (home-page "https://github.com/kylelemons/godebug")
- (synopsis "Pretty printer for Go values")
- (description
- "This package will pretty print a compact representation of a Go data
-structure. It can also produce a much more verbose, one-item-per-line
-representation suitable for computing diffs.")
- (license license:asl2.0)))
-
-;; TODO: Merge with go-github-com-kylelemons-godebug and provide both module;
-;; for go-team.
-(define-public go-github-com-kylelemons-godebug-pretty
- (package
- (inherit go-github-com-kylelemons-godebug)
- (name "go-github-com-kylelemons-godebug-pretty")
- (arguments
- '(#:import-path "github.com/kylelemons/godebug/pretty"
- #:unpack-path "github.com/kylelemons/godebug"))))
-
-(define-public go-github-com-kr-text
- (package
- (name "go-github-com-kr-text")
- (version "0.2.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/kr/text")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0hf58ypz6rxsw6nx3i856whir9lvy4sdx946wbw1nfaf2rdmr9vx"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/kr/text"))
- (propagated-inputs (list go-github-com-creack-pty))
- (synopsis "Text formatting in Go")
- (description "This package provides a text formatting functions in Go.")
- (home-page "https://github.com/kr/text")
- (license license:expat)))
-
-(define-public go-github-com-go-sql-driver-mysql
- (package
- (name "go-github-com-go-sql-driver-mysql")
- (version "1.8.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/go-sql-driver/mysql")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0ihdqg411gkv454fwx8w5nbndgkm5dz5phfliksxgmhggyxxm7sn"))))
- (build-system go-build-system)
- (arguments
- '(#:tests? #f ;; tests require a network connection
- #:import-path "github.com/go-sql-driver/mysql"))
- (propagated-inputs
- (list go-filippo-io-edwards25519))
- (home-page "https://github.com/go-sql-driver/mysql")
- (synopsis "MySQL driver for golang")
- (description
- "This is a pure Go implementation of the MySQL API, compatible with
-golang's database/sql package.")
- (license license:mpl2.0)))
-
-(define-public go-github-com-lucasb-eyer-go-colorful
- (package
- (name "go-github-com-lucasb-eyer-go-colorful")
- (version "1.2.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/lucasb-eyer/go-colorful")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "08c3fkf27r16izjjd4w94xd1z7w1r4mdalbl53ms2ka2j465s3qs"))))
- (build-system go-build-system)
- (propagated-inputs (list go-golang-org-x-image))
- (arguments
- (list #:import-path "github.com/lucasb-eyer/go-colorful"))
- (home-page "https://github.com/lucasb-eyer/go-colorful")
- (synopsis "Library for playing with colors in Go")
- (description
- "The colorful package provides a library for using colors in Go.
-It stores colors in RGB and provides methods for converting these to
-various color spaces.")
- (license license:expat)))
-
-(define-public go-github-com-gdamore-encoding
- (package
- (name "go-github-com-gdamore-encoding")
- (version "1.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gdamore/encoding")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1vmm5zll92i2fm4ajqx0gyx0p9j36496x5nabi3y0x7h0inv0pk9"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/gdamore/encoding"))
- (inputs
- (list go-golang-org-x-text))
- (home-page "https://github.com/gdamore/encoding")
- (synopsis "Provide encodings missing from Go")
- (description "This package provides useful encodings not included in the
-standard @code{Text} package, including some for dealing with I/O streams from
-non-UTF-friendly sources.")
- (license license:expat)))
-
-(define-public go-github-com-cention-sany-utf7
- (package
- (name "go-github-com-cention-sany-utf7")
- (version "0.0.0-20170124080048-26cad61bd60a")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/cention-sany/utf7")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1jy15ryfcln1iwchrksqyrnyfy41gisymm4f9sr1d73ja029bznm"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "github.com/cention-sany/utf7"))
- (propagated-inputs (list go-golang-org-x-text))
- (home-page "https://github.com/cention-sany/utf7")
- (synopsis "UTF-7 for Go")
- (description
- "The utf7 package provides support for the obsolete UTF-7 text
-encoding in Go.")
- (license license:bsd-3)))
-
-(define-public go-github-com-cespare-mph
- (package
- (name "go-github-com-cespare-mph")
- (version "0.1.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/cespare/mph")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0mvd6bkvf3i3555kqkkr3k9jd4c25scjq4xad35sxpny8f72nbg1"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "github.com/cespare/mph"))
- (home-page "https://github.com/cespare/mph")
- (synopsis "Minimal perfect hashing in Go")
- (description
- "@code{mph} is a Go package that implements a minimal perfect hash table
-over strings.")
- (license license:expat)))
-
-(define-public go-github-com-gdamore-tcell
- (let ((commit "aaadc574a6ed8dc3abe56036ca130dcee1ee6b6e")
- (version "1.1.2")
- (revision "1"))
- (package
- (name "go-github-com-gdamore-tcell")
- (version (git-version version revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gdamore/tcell")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0il2nnxp2cqiy73m49215dnf9in3vd25ji8qxbmq87c5qy7i1q9d"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/gdamore/tcell"))
- (inputs
- (list go-github-com-mattn-go-runewidth
- go-github-com-lucasb-eyer-go-colorful
- go-golang-org-x-text
- go-github-com-gdamore-encoding))
- (home-page "https://github.com/gdamore/tcell")
- (synopsis "Provide a cell-based view for text terminals")
- (description "This package includes a full parser and expander for
-terminfo capability strings to avoid hard-coding escape strings for
-formatting. It also favors portability, and includes support for all POSIX
-systems.")
- (license license:asl2.0))))
-
-(define-public go-github-com-gdamore-tcell-v2
- (package
- (inherit go-github-com-gdamore-tcell)
- (name "go-github-com-gdamore-tcell")
- (version "2.7.4")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gdamore/tcell")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "05b22sgyf8lnwjddxlfvlj7i8b67gnidhbnz86vvx8fddggpa5nd"))))
- (arguments
- (list #:import-path "github.com/gdamore/tcell/v2"
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'reset-gzip-timestamps 'make-files-writable
- (lambda _
- ;; Make sure .gz files are writable so that the
- ;; 'reset-gzip-timestamps' phase can do its work.
- (for-each make-file-writable
- (find-files #$output "\\.gz$")))))))
- (propagated-inputs
- (modify-inputs (package-inputs go-github-com-gdamore-tcell)
- (prepend go-golang-org-x-term go-golang-org-x-sys)))))
-
-(define-public go-github-com-delthas-tcell-v2
- ;; TODO This variant allows upgrading senpai, and looks to be unnecessary in
- ;; the next release of senpai
- (hidden-package
- (package
- (inherit go-github-com-gdamore-tcell)
- (name "go-github-com-delthas-tcell")
- (version "2.4.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/delthas/tcell")
- (commit "837a7d7")))
- (file-name (git-file-name name version))
- (sha256
- (base32 "05zr73q38dawl7hr6g7v4pkyv6mqr0zp2l9qsgn7xmf1p9q4bn7j"))))
- (propagated-inputs (modify-inputs (package-inputs
- go-github-com-gdamore-tcell)
- (prepend go-golang-org-x-term go-golang-org-x-sys))))))
-
-(define-public go-git-sr-ht-rockorager-tcell-term
- (package
- (name "go-git-sr-ht-rockorager-tcell-term")
- (version "0.9.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.sr.ht/~rockorager/tcell-term")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "177ladvpiiw7sb0hsjjv9p2yv5wpqpw6nqardkm8mqqlj0swa9xx"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "git.sr.ht/~rockorager/tcell-term"))
- (propagated-inputs
- (list go-golang-org-x-sys
- go-golang-org-x-term
- go-gopkg-in-check-v1
- go-github-com-mattn-go-runewidth
- go-github-com-davecgh-go-spew
- go-github-com-stretchr-testify
- go-github-com-gdamore-tcell-v2
- go-github-com-creack-pty))
- (home-page "https://git.sr.ht/~rockorager/tcell-term")
- (synopsis "Terminal widget for @code{tcell}")
- (description
- "This package provides a virtual terminal widget for the @code{tcell}
-Go library.")
- (license license:expat)))
-
-(define-public go-github-com-rivo-tview
- (package
- (name "go-github-com-rivo-tview")
- (version "0.0.0-20220703182358-a13d901d3386")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/rivo/tview")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0gf1m3ndbc3kgxpv0ryq9a1ahijg6m896sc9k7dvwfjd8vy0q0yd"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "github.com/rivo/tview"))
- (propagated-inputs (list go-golang-org-x-term
- go-golang-org-x-sys
- go-github-com-rivo-uniseg
- go-github-com-mattn-go-runewidth
- go-github-com-lucasb-eyer-go-colorful
- go-github-com-gdamore-tcell-v2))
- (home-page "https://github.com/rivo/tview")
- (synopsis "Rich Interactive Widgets for Terminal UIs")
- (description
- "The tview package implements rich widgets for terminal based user
-interfaces. The widgets provided with this package are useful for data
-exploration and data entry.")
- (license license:expat)))
-
-(define-public go-github-com-xo-terminfo
- (package
- (name "go-github-com-xo-terminfo")
- (version "0.0.0-20210125001918-ca9a967f8778")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/xo/terminfo")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "05gdcvcbwcrcwxznhvs1q1xh4irz2d10v2mz179pydjh30kjc0j5"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "github.com/xo/terminfo"))
- (home-page "https://github.com/xo/terminfo")
- (synopsis "Read the terminfo database in Go")
- (description
- "The terminfo package implements terminfo database reading for Go.")
- (license license:expat)))
-
-(define-public go-github-com-burntsushi-locker
- (let ((commit "a6e239ea1c69bff1cfdb20c4b73dadf52f784b6a")
- (revision "0"))
- (package
- (name "go-github-com-burntsushi-locker")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/BurntSushi/locker")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1xak4aync4klswq5217qvw191asgla51jr42y94vp109lirm5dzg"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/BurntSushi/locker"))
- (home-page "https://github.com/BurntSushi/locker")
- (synopsis "Manage named ReadWrite mutexes in Go")
- (description "Golang package for conveniently using named read/write
-locks. These appear to be especially useful for synchronizing access to
-session based information in web applications.
-
-The common use case is to use the package level functions, which use a package
-level set of locks (safe to use from multiple goroutines
-simultaneously). However, you may also create a new separate set of locks
-test.
-
-All locks are implemented with read-write mutexes. To use them like a regular
-mutex, simply ignore the RLock/RUnlock functions.")
- (license license:unlicense))))
-
-(define-public go-github-com-cheekybits-genny
- (package
- (name "go-github-com-cheekybits-genny")
- (version "1.0.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/cheekybits/genny")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1pcir5ic86713aqa51581rfb67rgc3m0c72ddjfcp3yakv9vyq87"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/cheekybits/genny"))
- (propagated-inputs
- (list go-golang-org-x-tools))
- (native-inputs
- (list go-github-com-stretchr-testify))
- (synopsis "Generics for Go")
- (description "This package provides @code{genny}, a Go language
-implementation of generics.")
- (home-page "https://github.com/cheekybits/genny/")
- (license license:expat)))
-
-(define-public go-github-com-lunixbochs-vtclean
- (package
- (name "go-github-com-lunixbochs-vtclean")
- (version "1.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/lunixbochs/vtclean")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0jqn33l1kzy4dk66zbvxz7rlgkgg34s9mhc8z0lrz0i88466zhd8"))))
- (build-system go-build-system)
- (arguments (list #:import-path "github.com/lunixbochs/vtclean"))
- (home-page "https://github.com/lunixbochs/vtclean")
- (synopsis "Filter out terminal escape sequences")
- (description
- "The @code{vtclean} provides the @command{vtclean} command and a library
-designed to clean up raw terminal output by stripping escape sequences,
-optionally preserving color.")
- (license license:expat)))
-
-;; XXX: This repository has been archived by the owner on Dec 1, 2021. It is
-;; now read-only.
-(define-public go-github-com-pkg-errors
- (package
- (name "go-github-com-pkg-errors")
- (version "0.9.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/pkg/errors")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1761pybhc2kqr6v5fm8faj08x9bql8427yqg6vnfv6nhrasx1mwq"))))
- (build-system go-build-system)
- (arguments
- (list
- ;; Tests fail with a newer version of Golang (1.21) due to some API
- ;; changes in how the module path is calculated which is not reflected
- ;; in tests.
- #:tests? #f
- #:import-path "github.com/pkg/errors"))
- (synopsis "Go error handling primitives")
- (description "This package provides @code{error}, which offers simple
-error handling primitives in Go.")
- (home-page "https://github.com/pkg/errors")
- (license license:bsd-2)))
-
-(define-public go-github-com-maruel-panicparse
- (package
- (name "go-github-com-maruel-panicparse")
- (version "1.3.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/maruel/panicparse")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "13qkn7f64yln8jdmma37h6ra4c7anxkp3vfgvfyb6lb07dpr1ibq"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/maruel/panicparse"))
- (synopsis "Toolkit for parsing Go stack traces")
- (description "This package provides a toolkit for parsing Go language panic
-stack traces. It simplifies the traces to make salient information more visible
-and aid debugging.")
- (home-page "https://github.com/maruel/panicparse")
- (license license:asl2.0)))
-
-(define-public go-github-com-robfig-cron
- (package
- (name "go-github-com-robfig-cron")
- (version "3.0.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/robfig/cron")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1agzbw2dfk2d1mpmddr85s5vh6ygm8kqrvfg87i9d2wqnlsnliqm"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/robfig/cron"))
- (home-page "https://godoc.org/github.com/robfig/cron")
- (synopsis "Cron library for Go")
- (description "This package provides a cron library for Go. It implements
-a cron spec parser and job runner.")
- (license license:expat)))
-
-(define-public go-github-com-ddevault-go-libvterm
- (let ((commit "b7d861da381071e5d3701e428528d1bfe276e78f")
- (revision "0"))
- (package
- (name "go-github-com-ddevault-go-libvterm")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ddevault/go-libvterm")
- (commit commit)))
- (sha256
- (base32
- "06vv4pgx0i6hjdjcar4ch18hp9g6q6687mbgkvs8ymmbacyhp7s6"))
- (file-name (git-file-name name version))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/ddevault/go-libvterm"))
- (propagated-inputs
- (list go-github-com-mattn-go-pointer))
- (home-page "https://github.com/ddevault/go-libvterm")
- (synopsis "Go binding to libvterm")
- (description
- "This is a fork of another go-libvterm library for use with aerc.")
- (license license:expat))))
-
-(define (go-gotest-tools-source version sha256-base32-hash)
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gotestyourself/gotest.tools")
- (commit (string-append "v" version))))
- (file-name (git-file-name "go-gotest-tools" version))
- (sha256
- (base32 sha256-base32-hash))))
-
-;; Note that version 3.0.0 is incompatible to 2.3.0.
-;; See also <https://github.com/gotestyourself/gotest.tools/issues/166>.
-(define (go-gotest-tools-package suffix)
- (package
- (name (string-append "go-gotest-tools-"
- (string-replace-substring suffix "/" "-")))
- (version "2.3.0")
- (source
- (go-gotest-tools-source version
- "0071rjxp4xzcr3vprkaj1hdk35a3v45bx8v0ipk16wwc5hx84i2i"))
- (build-system go-build-system)
- (arguments
- `(#:import-path ,(string-append "gotest.tools/" suffix)
- #:unpack-path "gotest.tools"))
- (synopsis "@code{gotest-tools} part")
- (description "This package provides a part of @code{gotest-tools}.")
- (home-page "https://github.com/gotestyourself/gotest.tools")
- (license license:asl2.0)))
-
-(define-public go-gotest-tools-internal-format
- (package (inherit (go-gotest-tools-package "internal/format"))
- (native-inputs
- (list go-github-com-pkg-errors go-github-com-google-go-cmp))
- (synopsis "Formats messages for use with gotest-tools")
- (description "This package provides a way to format messages for use
-with gotest-tools.")))
-
-(define-public go-gotest-tools-internal-difflib
- (package (inherit (go-gotest-tools-package "internal/difflib"))
- (synopsis "Differences for use with gotest-tools")
- (description "This package computes differences for use
-with gotest-tools.")))
-
-(define-public go-gotest-tools-internal-source
- (package (inherit (go-gotest-tools-package "internal/source"))
- (arguments
- (substitute-keyword-arguments
- (package-arguments (go-gotest-tools-package "internal/source"))
- ((#:phases phases #~%standard-phases)
- #~(modify-phases #$phases
- (replace 'check
- (lambda* (#:key inputs #:allow-other-keys #:rest args)
- (unless
- ;; failed to parse source file: : open : no such file or directory
- (false-if-exception (search-input-file inputs "/bin/gccgo"))
- (apply (assoc-ref %standard-phases 'check) args))))))))
- (native-inputs
- (list go-github-com-pkg-errors go-github-com-google-go-cmp))
- (synopsis "Source code AST formatters for gotest-tools")
- (description "This package provides source code AST formatters for
-gotest-tools.")))
-
-(define-public go-gotest-tools-assert
- (package (inherit (go-gotest-tools-package "assert"))
- (name "go-gotest-tools-assert")
- (arguments
- `(#:tests? #f ; Test failure concerning message formatting (FIXME)
- #:import-path "gotest.tools/assert"
- #:unpack-path "gotest.tools"))
- (propagated-inputs
- (list go-github-com-google-go-cmp
- go-github-com-pkg-errors
- go-github-com-spf13-pflag
- go-golang-org-x-tools))
- (synopsis "Compare values and fail a test when a comparison fails")
- (description "This package provides a way to compare values and fail a
-test when a comparison fails.")
- (home-page "https://github.com/gotestyourself/gotest.tools")
- (license license:asl2.0)))
-
-(define-public gotestsum
- (package
- (name "gotestsum")
- (version "0.4.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gotestyourself/gotestsum")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0y71qr3ss3hgc8c7nmvpwk946xy1jc5d8whsv6y77wb24ncla7n0"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "gotest.tools/gotestsum"))
- (native-inputs
- (list go-github-com-fatih-color
- go-golang-org-x-sync
- go-github-com-pkg-errors
- go-github-com-sirupsen-logrus
- go-github-com-spf13-pflag
- go-github-com-jonboulle-clockwork
- go-golang-org-x-crypto
- go-gotest-tools-assert
- go-github-com-google-go-cmp
- ;; TODO: This would be better as a propagated-input of
- ;; go-gotest-tools-assert, but that does not work for
- ;; some reason.
- go-gotest-tools-internal-format
- go-gotest-tools-internal-difflib
- go-gotest-tools-internal-source
- go-github-com-google-go-cmp))
- (synopsis "Go test runner with output optimized for humans")
- (description "This package provides a @code{go test} runner with output
-optimized for humans, JUnit XML for CI integration, and a summary of the
-test results.")
- (home-page "https://github.com/gotestyourself/gotestsum")
- (license license:asl2.0)))
-
-(define-public go-github-com-macronut-go-tproxy
- (package
- (name "go-github-com-macronut-go-tproxy")
- (version "0.0.0-20190726054950-ef7efd7f24ed")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/FutureProtocolLab/go-tproxy")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0jibsg0xhsn0h1jq4g9qd4nr58w43y8majlwfri9ffk2cbfrwqdr"))
- (modules '((guix build utils)))
- (snippet '(delete-file-recursively "example"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/macronut/go-tproxy"))
- (home-page "https://github.com/FutureProtocolLab/go-tproxy")
- (synopsis "Linux Transparent Proxy library")
(description
- "Golang TProxy provides an easy to use wrapper for the Linux Transparent
-Proxy functionality.")
+ "Go-md2man is a Go program that converts markdown to roff for the purpose
+of building man pages.")
(license license:expat)))
-(define-public go-github-com-bits-and-blooms-bitset
- (package
- (name "go-github-com-bits-and-blooms-bitset")
- (version "1.11.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/bits-and-blooms/bitset")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1ialciixmr98p10rh61rnnkxpqi1j9hycbkv9rnjl0vnmsnpy0cy"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/bits-and-blooms/bitset"))
- (synopsis "Bitsets in Go")
- (description "This package provides a Go implementation of bitsets, which
-are a mapping between non-negative integers and boolean values focused on
-efficient space usage.")
- (home-page "https://github.com/bits-and-blooms/bitset")
- (license license:bsd-3)))
-
-(define-public go-github-com-bits-and-blooms-bloom-v3
- (package
- (name "go-github-com-bits-and-blooms-bloom-v3")
- (version "3.7.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/bits-and-blooms/bloom")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "022pyzjp862ysl30aj105i2xmapn400ambjh8h1dcyjy9c0f8agn"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "github.com/bits-and-blooms/bloom"))
- (propagated-inputs
- (list go-github-com-twmb-murmur3 go-github-com-bits-and-blooms-bitset))
- (synopsis "Bloom filters in Go")
- (description "This package provides a Go implementation of bloom filters,
-based on murmurhash.")
- (home-page "https://github.com/bits-and-blooms/bitset")
- (license license:bsd-2)))
-
(define-public go-golang-org-rainycape-unidecode
(let ((commit "cb7f23ec59bec0d61b19c56cd88cee3d0cc1870c")
(revision "1"))
@@ -5448,33 +2118,6 @@ based on murmurhash.")
characters with their ASCII approximations.")
(license license:asl2.0))))
-(define-public go-github-com-golang-freetype
- (let ((commit "e2365dfdc4a05e4b8299a783240d4a7d5a65d4e4")
- (revision "1"))
- (package
- (name "go-github-com-golang-freetype")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/golang/freetype")
- (commit commit)))
- (file-name (string-append "go-github-com-golang-freetype-"
- version "-checkout"))
- (sha256
- (base32
- "194w3djc6fv1rgcjqds085b9fq074panc5vw582bcb8dbfzsrqxc"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/golang/freetype"))
- (propagated-inputs
- (list go-golang-org-x-image))
- (home-page "https://github.com/golang/freetype")
- (synopsis "Freetype font rasterizer in the Go programming language")
- (description "The Freetype font rasterizer in the Go programming language.")
- (license (list license:freetype
- license:gpl2+)))))
-
(define-public go-github-com-fogleman-gg
(package
(name "go-github-com-fogleman-gg")
@@ -5499,710 +2142,6 @@ characters with their ASCII approximations.")
(description "@code{gg} is a library for rendering 2D graphics in pure Go.")
(license license:expat)))
-(define-public go-github-com-gedex-inflector
- (let ((commit "16278e9db8130ac7ec405dc174cfb94344f16325")
- (revision "1"))
- (package
- (name "go-github-com-gedex-inflector")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gedex/inflector")
- (commit commit)))
- (file-name (string-append "go-github-com-gedex-inflector-"
- version "-checkout"))
- (sha256
- (base32
- "05hjqw1m71vww4914d9h6nqa9jw3lgjzwsy7qaffl02s2lh1amks"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/gedex/inflector"))
- (home-page "https://github.com/gedex/inflector")
- (synopsis "Go library that pluralizes and singularizes English nouns")
- (description "Go library that pluralizes and singularizes English nouns.")
- (license license:bsd-2))))
-
-(define-public go-github-com-surge-glog
- (let ((commit "2578deb2b95c665e6b1ebabf304ce2085c9e1985")
- (revision "1"))
- (package
- (name "go-github-com-surge-glog")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/surge/glog")
- (commit commit)))
- (file-name (string-append "go-github-com-surge-glog-"
- version "-checkout"))
- (sha256
- (base32
- "1bxcwxvsvr2hfpjz9hrrn0wrgykwmrbyk567102k3vafw9xdcwk4"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/surge/glog"))
- (home-page "https://github.com/surge/glog")
- (synopsis "Leveled execution logs for Go")
- (description "Leveled execution logs for Go.")
- (license license:asl2.0))))
-
-(define-public go-github-com-surgebase-porter2
- (let ((commit "56e4718818e8dc4ea5ba6348402fc7661863732a")
- (revision "1"))
- (package
- (name "go-github-com-surgebase-porter2")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/surgebase/porter2")
- (commit commit)))
- (file-name (string-append "go-github-com-surgebase-porter2-"
- version "-checkout"))
- (sha256
- (base32
- "1ivcf83jlj9s7q5y9dfbpyl0br35cz8fcp0dm8sxxvqh54py06v2"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/surgebase/porter2"))
- (native-inputs
- (list go-github-com-stretchr-testify go-github-com-surge-glog))
- (home-page "https://github.com/surgebase/porter2")
- (synopsis "Go library implementing english Porter2 stemmer")
- (description "Porter2 implements the
-@url{http://snowball.tartarus.org/algorithms/english/stemmer.html, english
-Porter2 stemmer}. It is written completely using finite state machines to do
-suffix comparison, rather than the string-based or tree-based approaches.")
- (license license:asl2.0))))
-
-(define-public go-github-com-masterminds-goutils
- (package
- (name "go-github-com-masterminds-goutils")
- (version "1.1.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/Masterminds/goutils")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "09m4mbcdlv9ng3xcrmjlxi0niavby52y9nl2jhjnbx1xxpjw0jrh"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/Masterminds/goutils"))
- (home-page "https://github.com/Masterminds/goutils/")
- (synopsis "Utility functions to manipulate strings")
- (description "GoUtils provides utility functions to manipulate strings in
-various ways. It is a Go implementation of some string manipulation libraries
-of Java Apache Commons.")
- (license license:asl2.0)))
-
-(define-public go-github-com-huandu-xstrings
- (package
- (name "go-github-com-huandu-xstrings")
- (version "1.3.2")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/huandu/xstrings")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0pwar6rc0fqb6pll38a44s81g5kb65vbg71jg5lx8caphjnikq5r"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/huandu/xstrings"))
- (home-page "https://github.com/huandu/xstrings/")
- (synopsis "Collection of string functions")
- (description "Go package xstrings is a collection of string functions,
-which are widely used in other languages but absent in Go package strings.")
- (license license:expat)))
-
-(define-public go-github-com-imdario-mergo
- (package
- (name "go-github-com-imdario-mergo")
- (version "0.3.10")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/imdario/mergo")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "09h765p8yby9r8s0a3hv5kl8n2i382mda76wmvk48w1cc1w9s92p"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/imdario/mergo"))
- (native-inputs
- (list go-gopkg-in-yaml-v2))
- (home-page "https://github.com/imdario/mergo/")
- (synopsis "Helper to merge structs and maps in Golang")
- (description "Helper to merge structs and maps in Golang. Useful for
-configuration default values, avoiding messy if-statements.
-
-Mergo merges same-type structs and maps by setting default values in
-zero-value fields. Mergo won't merge unexported (private) fields. It will do
-recursively any exported one. It also won't merge structs inside
-maps (because they are not addressable using Go reflection).")
- (license license:bsd-3)))
-
-(define-public go-dario-cat-mergo
- (package
- (inherit go-github-com-imdario-mergo)
- (name "go-dario-cat-mergo")
- (version "1.0.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/imdario/mergo")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "037k2bd97vnbyhn2sczxk0j6ijmv06n1282f76i3ky73s3qmqnlf"))))
- (build-system go-build-system)
- (arguments
- `(#:unpack-path "dario.cat/mergo"
- #:import-path "dario.cat/mergo"))
- (native-inputs
- (list go-gopkg-in-yaml-v3))))
-
-(define-public go-github-com-bmatcuk-doublestar
- (package
- (name "go-github-com-bmatcuk-doublestar")
- (version "1.3.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/bmatcuk/doublestar")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0bk5bixl6rqa8znxghyp6zndbccx9kdyrymjahgyp6qsrp7rk144"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/bmatcuk/doublestar"
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'remove-incompatible-test
- ;; This test fails with Go 1.16.
- (lambda _
- (substitute* "src/github.com/bmatcuk/doublestar/doublestar_test.go"
- (("\\{\"a\\[\", \"a\", false, nil, false\\},.*")
- "")))))))
- (home-page "https://github.com/bmatcuk/doublestar/")
- (synopsis "Path pattern matching and globbing supporting doublestar")
- (description "@code{doublestar} is a Go implementation of path pattern
-matching and globbing with support for \"doublestar\" patterns.")
- (license license:expat)))
-
-;; For chezmoi-1.8.11
-(define-public go-github-com-bmatcuk-doublestar-v2
- (package
- (inherit go-github-com-bmatcuk-doublestar)
- (name "go-github-com-bmatcuk-doublestar-v2")
- (version "2.0.4")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/bmatcuk/doublestar")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "09ma8a9rhs8dg527vjhdf3lsb6lajaq193m6ksssm2k3qajhpi94"))))
- (arguments
- (list
- #:tests? #f ; tests have more broken parts
- #:unpack-path "github.com/bmatcuk/doublestar/v2"
- #:import-path "github.com/bmatcuk/doublestar/v2"))))
-
-(define-public go-github-com-bmatcuk-doublestar-v3
- (package
- (inherit go-github-com-bmatcuk-doublestar)
- (name "go-github-com-bmatcuk-doublestar-v3")
- (version "3.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/bmatcuk/doublestar")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "011h07mlmscbxxjr3h30fjjb4dw3gb245nzczaq520r112xlidhj"))))
- (arguments
- (list
- #:tests? #f ; tests have more broken parts
- #:import-path "github.com/bmatcuk/doublestar/v3"))))
-
-(define-public go-github-com-bmatcuk-doublestar-v4
- (package
- (inherit go-github-com-bmatcuk-doublestar)
- (name "go-github-com-bmatcuk-doublestar-v4")
- (version "4.6.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/bmatcuk/doublestar")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "12rf4a9isgg2nh927gikgbmyaynaqp4kjahgscb4qnr04m3vpr41"))))
- (arguments
- (list
- #:import-path "github.com/bmatcuk/doublestar/v4"))))
-
-(define-public go-github-com-olekukonko-tablewriter
- (package
- (name "go-github-com-olekukonko-tablewriter")
- (version "0.0.4")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/olekukonko/tablewriter")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "02r0n2b9yh3x8xyf48k17dxlwj234hlgjycylbjxi6qg08hfmz2x"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/olekukonko/tablewriter"))
- (propagated-inputs
- (list go-github-com-mattn-go-runewidth))
- (home-page "https://github.com/olekukonko/tablewriter/")
- (synopsis "Generate ASCII table")
- (description "This package generates ASCII tables. Features:
-@itemize
-@item automatic Padding
-@item support Multiple Lines
-@item supports Alignment
-@item support Custom Separators
-@item automatic Alignment of numbers and percentage
-@item write directly to http , file etc via @code{io.Writer}
-@item read directly from CSV file
-@item optional row line via @code{SetRowLine}
-@item normalise table header
-@item make CSV Headers optional
-@item enable or disable table border
-@item set custom footer support
-@item optional identical cells merging
-@item set custom caption
-@item optional reflowing of paragrpahs in multi-line cells
-@end itemize\n")
- (license license:expat)))
-
-(define-public go-github-com-olekukonko-ts
- (let ((commit "78ecb04241c0121483589a30b0814836a746187d")
- (revision "0"))
- (package
- (name "go-github-com-olekukonko-ts")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/olekukonko/ts")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0k88n5rvs5k5zalbfa7c71jkjb8dhpk83s425z728qn6aq49c978"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/olekukonko/ts"
- #:tests? #f)) ; inappropriate ioctl for device.
- (home-page "https://github.com/olekukonko/ts/")
- (synopsis "Simple Go application to get the size of the terminal")
- (description "This package provides a simple Go application to get the
-size of the terminal.")
- (license license:expat))))
-
-(define-public go-github-com-charmbracelet-glamour
- (package
- (name "go-github-com-charmbracelet-glamour")
- (version "0.7.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/charmbracelet/glamour")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "073kyx94r9f0hpjv5c3x9pfdd3dbpyqcy7jhx4yxz0ps25j1a41p"))))
- (build-system go-build-system)
- (arguments
- (list
- #:embed-files #~(list ".*\\.xml")
- #:import-path "github.com/charmbracelet/glamour"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'patch-tests
- (lambda _
- ;; Some tests fail due to different number of '^[0m' symbols at
- ;; the beginning and the end of paragraphs. To fix that we
- ;; re-generate 'readme.test' so the test output will match the
- ;; 'readme.test' contents.
- (chmod "src/github.com/charmbracelet/glamour/testdata/readme.test"
- #o644)
- (substitute* "src/github.com/charmbracelet/glamour/glamour_test.go"
- ((" generate = false")
- " generate = true")))))))
- (propagated-inputs
- (list go-github-com-alecthomas-chroma-v2
- go-github-com-microcosm-cc-bluemonday
- go-github-com-muesli-reflow
- go-github-com-muesli-termenv
- go-github-com-olekukonko-tablewriter
- go-github-com-yuin-goldmark
- go-github-com-yuin-goldmark-emoji))
- (home-page "https://github.com/charmbracelet/glamour/")
- (synopsis "Write handsome command-line tools with glamour")
- (description "@code{glamour} lets you render markdown documents and
-templates on ANSI compatible terminals. You can create your own stylesheet or
-use one of our glamorous default themes.")
- (license license:expat)))
-
-(define-public go-github-com-charmbracelet-harmonica
- (package
- (name "go-github-com-charmbracelet-harmonica")
- (version "0.2.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/charmbracelet/harmonica")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1aasg0c0xxhwav4ivm1mqmsqab6lk407xky8c19pb85r1hdbq0n7"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/charmbracelet/harmonica"
- #:phases #~(modify-phases %standard-phases
- (add-after 'unpack 'remove-examples
- (lambda* (#:key import-path #:allow-other-keys)
- (delete-file-recursively
- (string-append "src/" import-path "/examples")))))))
- (home-page "https://github.com/charmbracelet/harmonica")
- (synopsis "Simple, physics-based animation library")
- (description
- "A simple, efficient spring animation library for smooth, natural motion.")
- (license license:expat)))
-
-(define-public go-github-com-coreos-go-semver
- (package
- (name "go-github-com-coreos-go-semver")
- (version "0.3.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/coreos/go-semver")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0vs04yykv1bwgvbyvi1m7ps83w06wzplw4giw8jac2iidx0x74v5"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/coreos/go-semver"))
- (propagated-inputs (list go-gopkg-in-yaml-v2))
- (home-page "https://github.com/coreos/go-semver/")
- (synopsis "Semantic versioning library")
- (description "@code{go-semver} is a semantic versioning library for Go.
-It lets you parse and compare two semantic version strings.")
- (license license:asl2.0)))
-
-(define-public go-github-com-emirpasic-gods
- (package
- (name "go-github-com-emirpasic-gods")
- (version "1.12.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/emirpasic/gods")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0i5qqq7ajvw3mikr95zl9rsnfsjanzwpqqs6kzzplsfgsifybar1"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/emirpasic/gods"
- ; Source-only package
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (delete 'build))))
- (home-page "https://github.com/emirpasic/gods/")
- (synopsis "Implementation of various data structures and algorithms in Go")
- (description "This package provides implementation of various data
-structures and algorithms in Go.")
- (license license:bsd-2)))
-
-(define-public go-gopkg-in-warnings
- (package
- (name "go-gopkg-in-warnings")
- (version "0.1.2")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/go-warnings/warnings")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1kzj50jn708cingn7a13c2wdlzs6qv89dr2h4zj8d09647vlnd81"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "gopkg.in/warnings.v0"))
- (home-page "https://gopkg.in/warnings.v0")
- (synopsis "Error handling with non-fatal errors")
- (description "Package warnings implements error handling with non-fatal
-errors (warnings).")
- (license license:bsd-2)))
-
-(define-public go-github-com-go-git-gcfg
- (package
- (name "go-github-com-go-git-gcfg")
- (version "1.5.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/go-git/gcfg")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1lb14z4j35pwz2b2rbykkpsq515spwbndb00gwn2xlrzn949xb83"))))
- (arguments
- `(#:import-path "github.com/go-git/gcfg"))
- (native-inputs
- (list go-gopkg-in-warnings go-github-com-pkg-errors))
- (build-system go-build-system)
- (home-page "https://github.com/go-git/gcfg/")
- (synopsis "Gcfg reads INI-style configuration files into Go structs")
- (description "Gcfg reads INI-style configuration files into Go structs.")
- (license license:bsd-3)))
-
-(define-public go-github-com-jba-templatecheck
- (package
- (name "go-github-com-jba-templatecheck")
- (version "0.6.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jba/templatecheck")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "12iwkidz4p6wdl65jfddqxls80mv879k2rpb42dj7y4dja5advlc"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/jba/templatecheck"))
- (propagated-inputs (list go-github-com-google-safehtml))
- (home-page "https://github.com/jba/templatecheck")
- (synopsis "Checks Go templates for problems")
- (description
- "Package templatecheck checks Go templates for problems. It can detect
-many errors that are normally caught only during execution. Use templatecheck
-in tests to find template errors early, and along template execution paths
-that might only rarely be reached.")
- (license license:expat)))
-
-(define-public go-github-com-jbenet-go-context
- (let ((commit "d14ea06fba99483203c19d92cfcd13ebe73135f4")
- (revision "1"))
- (package
- (name "go-github-com-jbenet-go-context")
- (version (git-version "0.0.1" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jbenet/go-context")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0q91f5549n81w3z5927n4a1mdh220bdmgl42zi3h992dcc4ls0sl"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/jbenet/go-context"
- ; Source-only package
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (delete 'build))))
- (home-page "https://github.com/jbenet/go-context/")
- (synopsis "@code{jbenet's} context extensions")
- (description "This package provides @code{jbenet's} context
-extensions.")
- (license license:expat))))
-
-(define-public go-github-com-juju-ansiterm
- (package
- (name "go-github-com-juju-ansiterm")
- (version "0.0.0-20210929141451-8b71cc96ebdc")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/juju/ansiterm")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "05mk7mlvg11dd6b0j0wlq547ghbmx2ywwrlbcb4kddpg7qaqp1va"))))
- (build-system go-build-system)
- (arguments (list #:import-path "github.com/juju/ansiterm"))
- (propagated-inputs
- (list go-gopkg-in-check-v1
- go-github-com-mattn-go-isatty
- go-github-com-mattn-go-colorable
- go-github-com-lunixbochs-vtclean))
- (home-page "https://github.com/juju/ansiterm")
- (synopsis "Writer to output ANSI escape codes for color and styles")
- (description
- "The ansiterm package provides a writer to output the ANSI escape codes
-for color and styles.")
- (license license:lgpl3)))
-
-(define-public go-github-com-kevinburke-ssh-config
- (package
- (name "go-github-com-kevinburke-ssh-config")
- (version "1.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/kevinburke/ssh_config")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "05jvz5r58a057zxvic9dyr9v2wilha8l6366npwkqgxmnmk9sh5f"))))
- (arguments
- `(#:import-path "github.com/kevinburke/ssh_config"))
- (build-system go-build-system)
- (home-page "https://github.com/kevinburke/ssh_config/")
- (synopsis "Parser for @file{ssh_config} files")
- (description "This is a Go parser for @file{ssh_config} files.
-Importantly, this parser attempts to preserve comments in a given file, so you
-can manipulate a @file{ssh_config} file from a program.")
- (license license:expat)))
-
-(define-public go-github-com-alcortesm-tgz
- (let ((commit "9c5fe88206d7765837fed3732a42ef88fc51f1a1")
- (revision "1"))
- (package
- (name "go-github-com-alcortesm-tgz")
- (version (git-version "0.0.1" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/alcortesm/tgz")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "04dcwnz2c2i4wbq2vx3g2wrdgqpncr2r1h6p1k08rdwk4bq1h8c5"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* "tgz_test.go"
- ;; Fix format error
- (("t.Fatalf\\(\"%s: unexpected error extracting: %s\", err\\)")
- "t.Fatalf(\"%s: unexpected error extracting: %s\", com, err)"))
- #t))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/alcortesm/tgz"
- #:phases
- (modify-phases %standard-phases
- ;; Files are test fixtures, not generated.
- (delete 'reset-gzip-timestamps))))
- (home-page "https://github.com/alcortesm/tgz/")
- (synopsis "Go library to extract tgz files to temporal directories")
- (description "This package provides a Go library to extract tgz files to
-temporal directories.")
- (license license:expat))))
-
-(define-public go-github-com-pkg-diff
- (package
- (name "go-github-com-pkg-diff")
- (version "0.0.0-20210226163009-20ebb0f2a09e")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/pkg/diff")
- (commit "20ebb0f2a09e612109b224b32f79370409108bcc")))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1g3dzgwhz4fx3ddpsv7fsa4r1v5clsp2lbw2qrkdk9y1vc5gi8yi"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/pkg/diff"))
- (home-page "https://github.com/pkg/diff/")
- (synopsis "Create and print diffs")
- (description
- "This package provides a Go library to create and print diffs.")
- (license license:bsd-3)))
-
-(define-public go-github-com-twpayne-go-shell
- (package
- (name "go-github-com-twpayne-go-shell")
- (version "0.3.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/twpayne/go-shell")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1hv0ggy3935iddjnmpp9vl0kqjknxpnbmm9w7xr3gds7fpbxz6yp"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/twpayne/go-shell"))
- (home-page "https://github.com/twpayne/go-shell/")
- (synopsis "Shell across multiple platforms")
- (description
- "Package @code{shell} returns a user's shell across multiple platforms.")
- (license license:expat)))
-
-(define-public go-github-com-twpayne-go-vfs
- (package
- (name "go-github-com-twpayne-go-vfs")
- (version "1.5.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/twpayne/go-vfs")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "19dm3gi45znwaqbzxhwcgkiz8059bwa3ank80hc6qhdl579bpjnz"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/twpayne/go-vfs"))
- (native-inputs
- (list go-github-com-bmatcuk-doublestar
- go-github-com-stretchr-testify))
- (home-page "https://github.com/twpayne/go-vfs/")
- (synopsis "Abstraction of the @code{os} and @code{ioutil} Go packages")
- (description "Package @code{vfs} provides an abstraction of the @code{os}
-and @code{ioutil} packages that is easy to test.")
- (license license:expat)))
-
(define-public go-github-com-twpayne-go-vfsafero
(package
(name "go-github-com-twpayne-go-vfsafero")
@@ -6220,7 +2159,7 @@ and @code{ioutil} packages that is easy to test.")
(arguments
`(#:import-path "github.com/twpayne/go-vfsafero"))
(native-inputs
- (list go-github-com-twpayne-go-vfs go-github-com-spf13-afero))
+ (list go-github-com-twpayne-go-vfs-1.0.1 go-github-com-spf13-afero-1.1.2))
(home-page "https://github.com/twpayne/go-vfsafero/")
(synopsis "Compatibility later between @code{go-vfs} and @code{afero}")
(description
@@ -6228,163 +2167,6 @@ and @code{ioutil} packages that is easy to test.")
@code{go-github-com-twpayne-go-vfs} and @code{go-github-com-spf13-afero}.")
(license license:expat)))
-(define-public go-github-com-twpayne-go-xdg-v3
- (package
- (name "go-github-com-twpayne-go-xdg-v3")
- (version "3.1.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/twpayne/go-xdg")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0j8q7yzixs6jlaad0lpa8hs6b240gm2cmy0yxgnprrbpa0y2r7ln"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/twpayne/go-xdg/v3"))
- (native-inputs
- (list go-github-com-stretchr-testify go-github-com-twpayne-go-vfs))
- (home-page "https://github.com/twpayne/go-xdg/")
- (synopsis "Functions related to freedesktop.org")
- (description "Package @code{xdg} provides functions related to
-@uref{freedesktop.org}.")
- (license license:expat)))
-
-(define-public go-github-com-xdg-go-stringprep
- (package
- (name "go-github-com-xdg-go-stringprep")
- (version "1.0.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/xdg-go/stringprep")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1df0l5n3c520y9filzz83j42wa5c056jcygmfwhjyf1pq8f6jkv9"))))
- (build-system go-build-system)
- (arguments '(#:import-path "github.com/xdg-go/stringprep"))
- (propagated-inputs
- (list go-golang-org-x-text))
- (home-page "https://github.com/xdg-go/stringprep")
- (synopsis "Go implementation of RFC-3454 stringprep and RFC-4013 SASLprep")
- (description
- "Package stringprep provides data tables and algorithms for RFC-3454,
-including errata. It also provides a profile for SASLprep as defined in
-RFC-4013.")
- (license license:asl2.0)))
-
-(define-public go-github-com-xdg-go-pbkdf2
- (package
- (name "go-github-com-xdg-go-pbkdf2")
- (version "1.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/xdg-go/pbkdf2")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1nipijy5xkdnfyhkp5ryrjzm14si1i2v2xyfmblf84binwkbr8jh"))))
- (build-system go-build-system)
- (arguments '(#:import-path "github.com/xdg-go/pbkdf2"))
- (home-page "https://github.com/xdg-go/pbkdf2")
- (synopsis "Go implementation of PBKDF2")
- (description
- "Package pbkdf2 implements password-based key derivation using the PBKDF2
-algorithm described in @url{https://rfc-editor.org/rfc/rfc2898.html,RFC 2898}
-and @url{https://rfc-editor.org/rfc/rfc8018.html,RFC 8018}.")
- (license license:asl2.0)))
-
-(define-public go-github-com-xdg-go-scram
- (package
- (name "go-github-com-xdg-go-scram")
- (version "1.0.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/xdg-go/scram")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1jyv4qgc1dgh3v96pazmgljpp9ij25k8hwn0v4fck18g16i0nccm"))))
- (build-system go-build-system)
- (arguments '(#:import-path "github.com/xdg-go/scram"))
- (propagated-inputs
- (list go-github-com-xdg-go-stringprep
- go-github-com-xdg-go-pbkdf2))
- (home-page "https://github.com/xdg-go/scram")
- (synopsis "Go implementation of RFC-5802")
- (description
- "Package scram provides client and server implementations of the
-@acronym{Salted Challenge Response Authentication Mechanism, SCRAM} described in
-RFC-5802 and RFC-7677.")
- (license license:asl2.0)))
-
-(define-public go-github-com-godbus-dbus
- (package
- (name "go-github-com-godbus-dbus")
- (version "0.0.0-20190726142602-4481cbc300e2")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/godbus/dbus")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0h0cl1r136g0kxbw3i7ggb9mhavpi1yr7d7312iwhkxm93dxkphg"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/godbus/dbus"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'disable-failing-tests
- (lambda* (#:key tests? unpack-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" unpack-path)
- (substitute* (find-files "." "\\_test.go$")
- ;; Disable tests which require a system D-Bus instance.
- (("TestSystemBus") "OffTestSystemBus")
- (("TestConnectSystemBus") "OffTestConnectSystemBus")))))
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "dbus-run-session" "--" "go" "test" "./..."))))))))
- (native-inputs
- (list dbus)) ;dbus-launch
- (home-page "https://github.com/godbus/dbus/")
- (synopsis "Native Go client bindings for the D-Bus")
- (description "@code{dbus} is a library that implements native Go client
-bindings for the D-Bus message bus system.")
- (license license:bsd-2)))
-
-(define-public go-github-com-godbus-dbus-v5
- (package
- (inherit go-github-com-godbus-dbus)
- (name "go-github-com-godbus-dbus-v5")
- (version "5.1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/godbus/dbus")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1kayd4x7idrhi06ahh5kqkgwzgh9icvv71mjar2d0jl486dfs8r5"))))
- (arguments
- (substitute-keyword-arguments
- (package-arguments go-github-com-godbus-dbus)
- ((#:import-path _ "github.com/godbus/dbus")
- "github.com/godbus/dbus/v5")))))
-
(define-public go-github-com-delthas-go-libnp
(let ((commit "0e45ece1f878f202fee2c74801e287804668f677"))
(package
@@ -6409,28 +2191,6 @@ extracting information about the music/image/video that is Now Playing on the
system.")
(license license:expat))))
-(define-public go-github-com-delthas-go-localeinfo
- (package
- (name "go-github-com-delthas-go-localeinfo")
- (version "0.0.0-20240607105203-b2e834fc307d")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/delthas/go-localeinfo")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0817lhic77sz9lxizy2rchwssp0vzl7qxbsfghcddg6ssy1n0zhj"))))
- (build-system go-build-system)
- (arguments `(#:tests? #f ; FIXME: tests assume certain locale
- #:import-path "github.com/delthas/go-localeinfo"))
- (home-page "https://github.com/delthas/go-localeinfo")
- (synopsis "Library for extracting locale information")
- (description "@code{go-localeinfo} extracts monetary/numeric/time
-formatting information, rather than the current locale name.")
- (license license:expat)))
-
(define-public go-github-com-zalando-go-keyring
(package
(name "go-github-com-zalando-go-keyring")
@@ -6474,120 +2234,6 @@ formatting information, rather than the current locale name.")
deleting secrets from the system keyring.")
(license license:expat)))
-(define-public go-github-com-zclconf-go-cty
- (package
- (name "go-github-com-zclconf-go-cty")
- (version "1.10.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/zclconf/go-cty")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0f9a6vy45gcx5pg5bnfs63manaqw80h7xzvmj3b80af38304zr71"))))
- (build-system go-build-system)
- (arguments
- '(#:unpack-path "github.com/zclconf/go-cty"
- #:import-path "github.com/zclconf/go-cty/cty"))
- (native-inputs
- (list go-github-com-google-go-cmp))
- (propagated-inputs
- (list go-golang-org-x-text
- go-github-com-vmihailenco-msgpack-v4
- go-github-com-apparentlymart-go-textseg-v13))
- (home-page "https://github.com/zclconf/go-cty")
- (synopsis "Type system for dynamic values in Go applications")
- (description
- "@code{cty} (pronounced \"see-tie\") is a dynamic type system for
-applications written in Go that need to represent user-supplied values without
-losing type information. The primary intended use is for implementing
-configuration languages, but other uses may be possible too.")
- (license license:expat)))
-
-(define-public go-gopkg-in-errgo-fmt-errors
- (package
- (name "go-gopkg-in-errgo-fmt-errors")
- (version "2.1.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/go-errgo/errgo")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "065mbihiy7q67wnql0bzl9y1kkvck5ivra68254zbih52jxwrgr2"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "gopkg.in/errgo.v2"
- #:tests? #f
- ;; Source-only package
- #:phases
- (modify-phases %standard-phases
- (delete 'build))))
- (home-page "https://godoc.org/gopkg.in/errgo.v2")
- (synopsis "Functions that use the fmt package to format error messages")
- (description "This package is the same as @code{gopkg.in/errgo.v2/errors}
-except that it adds convenience functions that use the fmt package to format
-error messages.")
- (license license:bsd-3)))
-
-(define-public go-github-com-gologme-log
- ;; this is the same as v1.2.0, only the LICENSE file changed
- (let ((commit "720ba0b3ccf0a91bc6018c9967a2479f93f56a55"))
- (package
- (name "go-github-com-gologme-log")
- (version "1.2.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gologme/log")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0z3gs5ngv2jszp42ypp3ai0pn410v3b2m674g73ma7vsbn2yjk1n"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/gologme/log"))
- (home-page "https://github.com/gologme/log/")
- (synopsis
- "Fork of the golang built in log package to add support for levels")
- (description "This package is a drop in replacement for the built-in Go
-log package. All the functionality of the built-in package still exists and
-is unchanged. This package contains a series of small enhancements and
-additions.")
- (license license:bsd-3))))
-
-(define-public go-github-com-kardianos-minwinsvc
- (package
- (name "go-github-com-kardianos-minwinsvc")
- (version "1.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/kardianos/minwinsvc")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0z941cxymkjcsj3p5l3g4wm2da3smz7iyqk2wbs5y8lmxd4kfzd8"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/kardianos/minwinsvc"))
- (home-page "https://github.com/kardianos/minwinsvc/")
- ;; some packages (Yggdrasil) need it to compile
- ;; it's a tiny package and it's easier to bundle it than to patch it out
- (synopsis "Minimal windows only service stub for Go")
- (description "Go programs designed to run from most *nix style operating
-systems can import this package to enable running programs as services without
-modifying them.")
- (license license:zlib)))
-
(define-public go-github-com-akosmarton-papipes
(let ((commit "3c63b4919c769c9c2b2d07e69a98abb0eb47fe64")
(revision "0"))
@@ -6659,535 +2305,6 @@ sinks and sources.")
or capture raw audio.")
(license license:expat))))
-(define-public go-github-com-pborman-getopt
- (package
- (name "go-github-com-pborman-getopt")
- (version "2.1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/pborman/getopt")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0sacv6g8cxfibxd3gnfjnzp7fynrnc4s2aaz5wbxivqqhvflc22l"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/pborman/getopt"))
- (home-page "https://github.com/pborman/getopt")
- (synopsis "Getopt style option parsing for Go")
- (description
- "This package provides traditional getopt processing for implementing
-programs that use traditional command lines.")
- (license license:bsd-3)))
-
-(define-public go-git-sr-ht-adnano-go-gemini
- (package
- (name "go-git-sr-ht-adnano-go-gemini")
- (version "0.2.3")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.sr.ht/~adnano/go-gemini")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0mv4x4cfwyhh77wfb3r221bhr84x4nmjpgysnvvjgmbnnafsgfns"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "git.sr.ht/~adnano/go-gemini"))
- (propagated-inputs
- (list go-golang-org-x-net go-golang-org-x-text))
- (home-page "https://git.sr.ht/~adnano/go-gemini")
- (synopsis "Gemini protocol in Go")
- (description
- "The @code{gemini} package implements the Gemini protocol in Go. It
-provides an API similar to that of NET/HTTP to facilitate the development of
-Gemini clients and servers.")
- (license license:expat)))
-
-(define-public gofumpt
- (package
- (name "gofumpt")
- (version "0.4.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/mvdan/gofumpt")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "13ahi8q1a9h4dj6a7xp95c79d5svz5p37b6z91aswbq043qd417k"))
- (modules '((guix build utils)))
- (snippet `(let ((fixed-version (string-append ,version
- " (GNU Guix)")))
- ;; Gofumpt formats Go files, and therefore modifies
- ;; them. To help the developers diagnose issues, it
- ;; replaces any occurrence of a `//gofumpt:diagnose`
- ;; comment with some debugging information which
- ;; includes the module version. In the event gofumpt
- ;; was built without module support, it falls back
- ;; to a string "(devel)". Since our build system
- ;; does not yet support modules, we'll inject our
- ;; version string instead, since this is more
- ;; helpful.
- (substitute* "internal/version/version.go"
- (("^const fallbackVersion.+")
- (format #f "const fallbackVersion = \"~a\"~%"
- fixed-version)))
- ;; These tests rely on `//gofumpt:diagnose` comments
- ;; being replaced with fixed information injected
- ;; from the test scripts, but this requires a binary
- ;; compiled as a Go module. Since we can't do this
- ;; yet, modify the test scripts with the version
- ;; string we're injecting.
- (delete-file "testdata/script/diagnose.txtar")
- (substitute* (find-files "testdata/script/"
- "\\.txtar$")
- (("v0.0.0-20220727155840-8dda8068d9f3")
- fixed-version)
- (("(devel)")
- fixed-version)
- (("v0.3.2-0.20220627183521-8dda8068d9f3")
- fixed-version))))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "mvdan.cc/gofumpt"))
- (native-inputs (list go-gopkg-in-errgo-fmt-errors))
- (propagated-inputs (list go-github-com-pkg-diff
- go-github-com-kr-text
- go-github-com-kr-pretty
- go-golang-org-x-tools
- go-golang-org-x-sys
- go-golang-org-x-sync
- go-golang-org-x-mod
- go-github-com-rogpeppe-go-internal
- go-github-com-google-go-cmp
- go-github-com-frankban-quicktest))
- (home-page "https://mvdan.cc/gofumpt/")
- (synopsis "Formats Go files with a stricter ruleset than gofmt")
- (description
- "Enforce a stricter format than @code{gofmt}, while being backwards compatible.
-That is, @code{gofumpt} is happy with a subset of the formats that
-@code{gofmt} is happy with.")
- (license license:bsd-3)))
-
-(define-public go-mvdan-cc-gofumpt
- (package
- (inherit gofumpt)
- (name "go-mvdan-cc-gofumpt")
- (arguments
- `(#:import-path "mvdan.cc/gofumpt"
- #:tests? #f
- #:install-source? #t
- #:phases (modify-phases %standard-phases
- (delete 'build))))
- (propagated-inputs (package-inputs gofumpt))
- (native-inputs '())
- (inputs '())))
-
-(define-public unparam
- (package
- (name "unparam")
- (version "0.0.0-20240528143540-8a5130ca722f")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/mvdan/unparam")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0qrwszcmb5slbzkq3acw57b896z22zwkv6cf6ldxwlc6p179g009"))))
- (build-system go-build-system)
- (arguments
- `(;; FIXME: <...>-go-1.21.5/lib/go/src/runtime/cgo/cgo.go:33:8: could not
- ;; import C (no metadata for C)
- ;; <...>-go-1.21.5/lib/go/src/net/cgo_linux.go:12:8: could not import C
- ;; (no metadata for C)
- #:tests? #f
- #:import-path "mvdan.cc/unparam"))
- (inputs (list go-github-com-pkg-diff go-golang-org-x-tools
- go-github-com-rogpeppe-go-internal))
- (home-page "https://mvdan.cc/unparam/")
- (synopsis "Find unused parameters in Go")
- (description "Reports unused function parameters and results in Go code.")
- (license license:bsd-3)))
-
-(define-public go-mvdan-cc-unparam
- (package
- (inherit unparam)
- (name "go-mvdan-cc-unparam")
- (arguments
- `(#:import-path "github.com/mvdan/unparam"
- #:tests? #f
- #:install-source? #t
- #:phases (modify-phases %standard-phases
- (delete 'build))))
- (propagated-inputs (package-inputs unparam))
- (native-inputs '())
- (inputs '())))
-
-(define-public go-github-com-davecgh-go-xdr
- (package
- (name "go-github-com-davecgh-go-xdr")
- (version "0.0.0-20161123171359-e6a2ba005892")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/davecgh/go-xdr")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0vifrz4iil4r7k8sz5iqlfbh80ysgs5abp2simgyhsbrkxrrsrrd"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/davecgh/go-xdr/xdr2"
- #:unpack-path "github.com/davecgh/go-xdr"))
- (home-page "https://github.com/davecgh/go-xdr")
- (synopsis "Pure Go implementation of the XDR standard")
- (description "@code{go-xdr} implements the data representation portion of
-the External Data Representation (XDR) standard protocol as specified in RFC
-4506 (obsoletes RFC 1832 and RFC 1014) in pure Go.")
- (license license:isc)))
-
-(define-public go-gopkg-in-djherbis-times-v1
- (package
- (name "go-gopkg-in-djherbis-times-v1")
- (version "1.5.0")
- (home-page "https://gopkg.in/djherbis/times.v1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url home-page)
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1xvl3rgjif5yf62p16yk05kxrsmzhz1kkqisvw4k02svzq10qbfy"))
- (modules '((guix build utils)))
- (snippet '(delete-file-recursively "example"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "gopkg.in/djherbis/times.v1"))
- (synopsis "Go library for getting file times")
- (description
- "Provides a platform-independent way to get atime, mtime, ctime and btime for files.")
- (license license:expat)))
-
-(define-public go-github-com-valyala-bytebufferpool
- (package
- (name "go-github-com-valyala-bytebufferpool")
- (version "1.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/valyala/bytebufferpool")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "01lqzjddq6kz9v41nkky7wbgk7f1cw036sa7ldz10d82g5klzl93"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/valyala/bytebufferpool"))
- (home-page "https://github.com/valyala/bytebufferpool")
- (synopsis "Anti-memory-waste byte buffer pool for Golang")
- (description
- "@code{bytebufferpool} implements a pool of byte buffers with
-anti-fragmentation protection.")
- (license license:expat)))
-
-(define-public go-github-com-valyala-tcplisten
- (package
- (name "go-github-com-valyala-tcplisten")
- (version "1.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/valyala/tcplisten")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1fv5hxmq1jwrjn1rdjvbmjrrkb601zcdh01qhx6d8l7ss6n05zb8"))))
- (build-system go-build-system)
- (arguments
- ;; NOTE: (Sharlatan-20211218T165504+0000): Tests failing:
- ;;
- ;; tcplisten_test.go:56: cannot create listener 0 using Config
- ;; &tcplisten.Config{ReusePort:false, DeferAccept:false, FastOpen:false,
- ;; Backlog:32}: lookup ip6-localhost on [::1]:53: read udp
- ;; [::1]:33932->[::1]:53: read: connection refused
- ;;
- '(#:tests? #f
- #:import-path "github.com/valyala/tcplisten"))
- (home-page "https://github.com/valyala/tcplisten")
- (synopsis "Customizable TCP net.Listener for Go")
- (description
- "@code{tcplisten} provides customizable TCP net.Listener with various
-performance-related options.")
- (license license:expat)))
-
-(define-public go-github-com-vmihailenco-msgpack-v4
- (package
- (name "go-github-com-vmihailenco-msgpack-v4")
- (version "4.3.12")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/vmihailenco/msgpack")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0aiavk7b5fn050bbc0naldk2bsl60f8wil5i6a1cfp3lxxnvmvng"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/vmihailenco/msgpack/v4"))
- (native-inputs
- (list go-gopkg-in-check-v1))
- (propagated-inputs
- (list go-github-com-vmihailenco-tagparser))
- (home-page "https://github.com/vmihailenco/msgpack")
- (synopsis "MessagePack encoding for Golang")
- (description
- "This package provides implementation of MessagePack encoding for Go
-programming language.")
- (license license:bsd-2)))
-
-(define-public go-github-com-vmihailenco-tagparser
- (package
- (name "go-github-com-vmihailenco-tagparser")
- (version "2.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/vmihailenco/tagparser")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "13arliaz3b4bja9jj7cr5ax4zvxaxm484fwrn0q6d6jjm1l35m1k"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/vmihailenco/tagparser"))
- (home-page "https://github.com/vmihailenco/tagparser")
- (synopsis "Tag parser for Golang")
- (description "This package is a simple Golang implementation of tag
-parser.")
- (license license:bsd-2)))
-
-(define-public go-github-com-rivo-uniseg
- (package
- (name "go-github-com-rivo-uniseg")
- (version "0.4.7")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/rivo/uniseg")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0nlcqyvq4vhq3hqhk84h6fp0jbqkjj88kcpcl853yr7sh4sisdxc"))))
- (build-system go-build-system)
- (arguments '(#:import-path "github.com/rivo/uniseg"))
- (home-page "https://github.com/rivo/uniseg")
- (synopsis "Unicode Text Segmentation for Go")
- (description
- "This package implements Unicode Text Segmentation according to
-@url{https://unicode.org/reports/tr29/, Unicode Standard Annex #29}.")
- (license license:expat)))
-
-(define-public go-github-com-charmbracelet-bubbletea
- (package
- (name "go-github-com-charmbracelet-bubbletea")
- (version "1.2.3")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/charmbracelet/bubbletea")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0ggkl29qixgin5av1mbnwfbb31kmwpczh8pgpjsx9z277fs55mph"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/charmbracelet/bubbletea"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'remove-examples
- (lambda* (#:key import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (for-each delete-file-recursively
- '("examples" "tutorials")))))
- (add-before 'check 'fix-tests
- (lambda _
- ;; XXX: The package requires
- ;; "go-github-com-charmbracelet-x-ansi" version 0.4.5; with the
- ;; newer version of "ansi", some "bubbletea" screen tests fail
- ;; as "ansi" 0.5.2 handles escape sequences a little bit
- ;; differently.
- (substitute* "src/github.com/charmbracelet/bubbletea/screen_test.go"
- (("x1b\\[0K")
- "x1b[K")
- (("x1b\\[2;0H")
- "x1b[2;H")))))))
- (propagated-inputs
- (list go-github-com-charmbracelet-lipgloss
- go-github-com-charmbracelet-x-ansi
- go-github-com-charmbracelet-x-term
- go-github-com-containerd-console
- go-github-com-lucasb-eyer-go-colorful
- go-github-com-mattn-go-isatty
- go-github-com-mattn-go-isatty
- go-github-com-mattn-go-runewidth
- go-github-com-muesli-ansi
- go-github-com-muesli-cancelreader
- go-github-com-muesli-reflow
- go-github-com-muesli-termenv
- go-golang-org-x-crypto
- go-golang-org-x-sync
- go-golang-org-x-sys
- go-golang-org-x-term))
- (home-page "https://github.com/charmbracelet/bubbletea")
- (synopsis "Powerful little TUI framework")
- (description
- "Bubble Tea is a Go framework based on The Elm Architecture. It is
-well-suited for simple and complex terminal applications, either inline,
-full-window, or a mix of both.")
- (license license:asl2.0)))
-
-(define-public go-github-com-containerd-console
- (package
- (name "go-github-com-containerd-console")
- (version "1.0.3")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/containerd/console")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0pgx0y8x23jwc2f9jfk5hd5aslqk599nj6c7dj5846xvnkz2x7p2"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/containerd/console"))
- (propagated-inputs
- `(("golang.org/x/sys" ,go-golang-org-x-sys)))
- (home-page "https://github.com/containerd/console")
- (synopsis "Console package for Go")
- (description
- "This is Golang package for dealing with consoles. It has few
-dependencies and a simple API.")
- (license license:asl2.0)))
-
-(define-public go-github-com-mtibben-percent
- (package
- (name "go-github-com-mtibben-percent")
- (version "0.2.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/mtibben/percent")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1iqivw8pigj259rj5yifibbvic70f9hb7k24a4sa967s4fj6agb6"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/mtibben/percent"
- #:phases %standard-phases))
- (synopsis "Package percent escapes strings using percent-encoding")
- (description
- "Package percent escapes strings using percent-encoding.")
- (home-page "https://github.com/mtibben/percent")
- (license license:expat)))
-
-(define-public aws-vault
- (package
- (name "aws-vault")
- (version "7.2.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/99designs/aws-vault")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1dqg6d2k8r80ww70afghf823z0pijha1i0a0c0c6918yb322zkj2"))))
- (build-system go-build-system)
- (arguments
- (list
- #:install-source? #f
- #:import-path "github.com/99designs/aws-vault"
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'build 'patch-version
- (lambda _
- (substitute* "src/github.com/99designs/aws-vault/main.go"
- (("var Version = \"dev\"")
- (string-append "var Version = \"v" #$version "\"")))))
- (add-after 'build 'contrib
- (lambda* (#:key import-path #:allow-other-keys)
- (let* ((zsh-site-dir
- (string-append #$output "/share/zsh/site-functions"))
- (bash-completion-dir
- (string-append #$output "/share/bash-completion/completions"))
- (fish-completion-dir
- (string-append #$output "/share/fish/completions")))
- (for-each mkdir-p (list bash-completion-dir
- fish-completion-dir
- zsh-site-dir))
- (with-directory-excursion
- (string-append "src/" import-path "/contrib/completions")
- (copy-file "zsh/aws-vault.zsh"
- (string-append zsh-site-dir "/_aws-vault"))
- (copy-file "bash/aws-vault.bash"
- (string-append bash-completion-dir "/aws-vault"))
- (copy-file "fish/aws-vault.fish"
- (string-append fish-completion-dir "/aws-vault.fish")))))))))
- (native-inputs
- (list go-github-com-99designs-keyring
- go-github-com-alecthomas-kingpin-v2
- go-github-com-aws-aws-sdk-go-v2
- go-github-com-aws-aws-sdk-go-v2-config
- go-github-com-aws-aws-sdk-go-v2-credentials
- go-github-com-aws-aws-sdk-go-v2-service-iam
- go-github-com-aws-aws-sdk-go-v2-service-sso
- go-github-com-aws-aws-sdk-go-v2-service-ssooidc
- go-github-com-aws-aws-sdk-go-v2-service-sts
- go-github-com-google-go-cmp
- go-github-com-mattn-go-isatty
- go-github-com-mattn-go-tty
- go-github-com-skratchdot-open-golang
- go-golang-org-x-term
- go-gopkg-in-ini-v1))
- (home-page "https://github.com/99designs/aws-vault")
- (synopsis "Vault for securely storing and accessing AWS credentials")
- (description
- "AWS Vault is a tool to securely store and access @acronym{Amazon Web
-Services,AWS} credentials.
-
-AWS Vault stores IAM credentials in your operating system's secure keystore and
-then generates temporary credentials from those to expose to your shell and
-applications. It's designed to be complementary to the AWS CLI tools, and is
-aware of your profiles and configuration in ~/.aws/config.")
- (license license:expat)))
-
(define-public go-github-com-gsterjov-go-libsecret
(package
(name "go-github-com-gsterjov-go-libsecret")
@@ -7214,402 +2331,6 @@ aware of your profiles and configuration in ~/.aws/config.")
@code{Secret Service} DBus interface.")
(license license:expat)))
-(define-public go-github-com-mtibben-androiddnsfix
- (let ((commit "ff02804463540c36e3a148dcf4b009d003cf2a31")
- (revision "0"))
- (package
- (name "go-github-com-mtibben-androiddnsfix")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/mtibben/androiddnsfix")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1pcbjs793kd0yg3dcp79agfxm7xm3sldx2r7v66ipzpcq0j2npi2"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/mtibben/androiddnsfix"
- #:phases %standard-phases))
- (synopsis "Work around lack of @file{/etc/resolv.conf} on Android")
- (description
- "This package allows Go applications to work around lack of
-@file{/etc/resolv.conf} on Android, as described in
-@url{https://github.com/golang/go/issues/8877}.")
- (home-page "https://github.com/mtibben/androiddnsfix")
- (license license:expat))))
-
-(define-public go-github-com-androiddnsfix
- (deprecated-package "go-github-com-androiddnsfix" go-github-com-mtibben-androiddnsfix))
-
-(define-public go-gopkg-in-ini
- (package
- (name "go-gopkg-in-ini")
- (version "1.62.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gopkg.in/ini.v1")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1dm9ydqyflasp5li22kb0w73s6kp2swii8naqfhnz64v171gmm5v"))))
- (build-system go-build-system)
- (native-inputs
- (list go-github-com-smartystreets-goconvey))
- (arguments
- '(#:import-path "gopkg.in/ini.v1"
- #:phases %standard-phases))
- (synopsis "INI file read and write functionality in Go")
- (description
- "This package provides INI file read and write functionality in Go.")
- (home-page "https://gopkg.in/ini.v1")
- (license license:asl2.0)))
-
-;;; XXX: Since commit bfb61065f05a6eac0cf63b16db43d0c3e864c658, the
-;;; canonical name of the ini package is `go-github-com-go-ini-ini`,
-;;; not `go-gopkg-in-ini`.
-(define-public go-github-com-go-ini-ini
- (package
- (inherit go-gopkg-in-ini)
- (name "go-github-com-go-ini-ini")
- (version "1.67.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/go-ini/ini")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1vpzkjmrwp7bqqsijp61293kk2vn6lcck56j8m5y6ks6cf21lpap"))))
- (arguments
- (list #:import-path "github.com/go-ini/ini"))
- (propagated-inputs (list go-github-com-stretchr-testify))))
-
-(define-public go-github-com-skratchdot-open-golang
- (let ((commit "79abb63cd66e41cb1473e26d11ebdcd68b04c8e5")
- (revision "0"))
- (package
- (name "go-github-com-skratchdot-open-golang")
- (version "1.42.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/skratchdot/open-golang")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0jc13jn8cj7p14n79zhav2nwga6kf9rqs01ic5k7j7agwzzly3ww"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/skratchdot/open-golang"
- #:phases (modify-phases %standard-phases
- (delete 'build)
- (delete 'check))))
- (synopsis "Open a file, directory, or URI using the default application")
- (description
- "Open a file, directory, or URI using the OS's default application for
-that object type. Optionally, you can specify an application to use. On
-GNU/Linux, this is a proxy for the @command{xdg-open} command.")
- (home-page "https://github.com/skratchdot/open-golang")
- (license license:expat))))
-
-(define-public go-github-com-dreamacro-go-shadowsocks2
- (package
- (name "go-github-com-dreamacro-go-shadowsocks2")
- (version "0.1.7")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/Dreamacro/go-shadowsocks2")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0sjr3r77fav6q0ii6dnp4px9gaz7cq861a0yxppvb6a58420bx3h"))))
- (build-system go-build-system)
- (arguments '(#:import-path "github.com/Dreamacro/go-shadowsocks2"))
- (propagated-inputs (list go-golang-org-x-crypto))
- (home-page "https://github.com/Dreamacro/go-shadowsocks2")
- (synopsis "Shadowsocks implementation in Go")
- (description
- "This package is @code{shadowsocks} implementation in Go
-
-Features:
-@itemize
-@item SOCKS5 proxy
-@item Support for Netfilter TCP redirect (IPv6 should work but not tested)
-@item UDP tunneling (e.g. relay DNS packets)
-@item TCP tunneling (e.g. benchmark with iperf3)
-@end itemize")
- (license license:asl2.0)))
-
-(define-public go-sigs-k8s-io-yaml
- (package
- (name "go-sigs-k8s-io-yaml")
- (version "1.3.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/kubernetes-sigs/yaml")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0qxs0ppqwqrfqs4aywyn1h28xh1qlj5ds4drmygaz1plrxj02dqn"))))
- (build-system go-build-system)
- (arguments '(#:import-path "sigs.k8s.io/yaml"))
- (propagated-inputs (list go-gopkg-in-yaml-v2 go-github-com-davecgh-go-spew))
- (home-page "https://sigs.k8s.io/yaml")
- (synopsis "YAML marshaling and unmarshaling support for Go")
- (description
- "This package provides a Go library that first converts YAML to JSON
-using @code{go-yaml} and then uses @code{json.Marshal} and
-@code{json.Unmarshal} to convert to or from the struct. This means that it
-effectively reuses the JSON struct tags as well as the custom JSON methods
-@code{MarshalJSON} and @code{UnmarshalJSON} unlike @code{go-yaml}.
-
-kubernetes-sigs/yaml is a permanent fork of
-@url{https://github.com/ghodss/yaml,ghodss/yaml}.")
- (license (list license:expat license:bsd-3))))
-
-(define-public go-github-com-google-go-jsonnet
- (package
- (name "go-github-com-google-go-jsonnet")
- (version "0.18.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/google/go-jsonnet")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1dghqygag123zkgh2vrnq82cdag5z0p03v3489pwhs06r5g27wm3"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/google/go-jsonnet/cmd/jsonnet"
- #:unpack-path "github.com/google/go-jsonnet"))
- (propagated-inputs (list go-sigs-k8s-io-yaml go-gopkg-in-yaml-v2
- go-github-com-sergi-go-diff
- go-github-com-fatih-color))
- (home-page "https://github.com/google/go-jsonnet")
- (synopsis "Go implementation of Jsonnet")
- (description
- "This package provides an implementation of the @url{http://jsonnet.org/,
-Jsonnet} data templating language in Go. It is a feature-complete,
-production-ready implementation, compatible with the original Jsonnet C++
-implementation.")
- (license license:asl2.0)))
-
-;; XXX: This repository has been archived by the owner on Dec 29, 2022. It is
-;; now read-only. It's only used by kiln, consider to remove it when it does
-;; no longer require it.
-(define-public go-github-com-google-shlex
- (package
- (name "go-github-com-google-shlex")
- (version "0.0.0-20191202100458-e7afc7fbc510")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/google/shlex")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "14z8hqyik910wk2qwnzgz8mjsmiamxa0pj55ahbv0jx6j3dgvzfm"))))
- (build-system go-build-system)
- (arguments (list #:import-path "github.com/google/shlex"))
- (home-page "https://github.com/google/shlex")
- (synopsis "Simple lexer for Go")
- (description
- "@code{shlex} implements a simple lexer which splits input into tokens
-using shell-style rules for quoting and commenting.")
- (license license:asl2.0)))
-
-(define-public go-github-com-peterbourgon-diskv
- (package
- (name "go-github-com-peterbourgon-diskv")
- (version "3.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/peterbourgon/diskv")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0pdy8f7bkm65gx4vknwcvfa619hknflqxkdlvmf427k2mzm91gmh"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/peterbourgon/diskv"))
- (propagated-inputs (list go-github-com-google-btree))
- (home-page "https://github.com/peterbourgon/diskv")
- (synopsis "Disk-backed key-value store")
- (description
- "Diskv (disk-vee) is a simple, persistent key-value store written in the Go
-language. It starts with a simple API for storing arbitrary data on a filesystem by
-key, and builds several layers of performance-enhancing abstraction on top. The end
-result is a conceptually simple, but highly performant, disk-backed storage system.")
- (license license:expat)))
-
-(define-public go-github-com-disintegration-imaging
- (package
- (name "go-github-com-disintegration-imaging")
- (version "1.6.2")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/disintegration/imaging")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1sl201nmk601h0aii4234sycn4v2b0rjxf8yhrnik4yjzd68q9x5"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/disintegration/imaging"))
- (inputs (list go-golang-org-x-image))
- (home-page "https://github.com/disintegration/imaging")
- (synopsis "Simple image processing for Go")
- (description "This package provides basic image processing functions
-(resize, rotate, crop, brightness/contrast adjustments, etc.).")
- (license license:expat)))
-
-(define notmuch-fixtures
- (origin
- (method url-fetch)
- (uri "http://notmuchmail.org/releases/test-databases/database-v1.tar.xz")
- (sha256
- (base32
- "1lk91s00y4qy4pjh8638b5lfkgwyl282g1m27srsf7qfn58y16a2"))))
-
-(define-public go-github-com-zenhack-go-notmuch
- (package
- (name "go-github-com-zenhack-go-notmuch")
- (version "0.0.0-20211022191430-4d57e8ad2a8b")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/zenhack/go.notmuch")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1j2s5smjf7pp7i72dw12sm9iz961y3cy8nkm7hmrg53f6wna57h9"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "github.com/zenhack/go.notmuch"
- #:phases #~(modify-phases %standard-phases
- (add-after 'unpack 'patch-notmuch-path
- (lambda* (#:key inputs import-path
- #:allow-other-keys)
- (substitute* (find-files (string-append "src/"
- import-path) "\\.go$")
- (("// #cgo LDFLAGS:.*$")
- (string-append "// #cgo LDFLAGS: -lnotmuch "
- "-L"
- #$(this-package-input "notmuch")
- "/lib\n"
- "// #cgo CFLAGS: "
- "-I"
- #$(this-package-input "notmuch")
- "/include\n")))))
- (add-before 'check 'unpack-test-fixtures
- (lambda* (#:key inputs import-path
- #:allow-other-keys)
- (invoke "tar" "xf"
- #+notmuch-fixtures "-C"
- (string-append "src/" import-path
- "/fixtures")))))))
- (inputs (list notmuch))
- (home-page "https://github.com/zenhack/go.notmuch")
- (synopsis "Go bindings to libnotmuch")
- (description
- "The notmuch package provides a Go language binding to the notmuch
-email library.")
- (license license:gpl3+)))
-
-(define-public go-github-com-riywo-loginshell
- (package
- (name "go-github-com-riywo-loginshell")
- (version "0.0.0-20200815045211-7d26008be1ab")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/riywo/loginshell")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "138yvis6lipw9x02jyiz7472bxi20206bcfikcar54i3xsww9q4i"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "github.com/riywo/loginshell"
- ;; Tests try to get the current user's login shell; the build
- ;; user doesn't have one.
- #:tests? #f))
- (home-page "https://github.com/riywo/loginshell")
- (synopsis "Get the user's login shell in Go")
- (description
- "The loginshell package provides a Go library to get the login shell
-of the current user.")
- (license license:expat)))
-
-(define-public go-github-com-ssgelm-cookiejarparser
- (package
- (name "go-github-com-ssgelm-cookiejarparser")
- (version "1.0.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ssgelm/cookiejarparser")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0fnm53br0cg3iwzniil0lh9w4xd6xpzfypwfpdiammfqavlqgcw4"))))
- (build-system go-build-system)
- (arguments
- (list
- #:embed-files #~(list "children" "nodes" "text")
- #:import-path "github.com/ssgelm/cookiejarparser"))
- (propagated-inputs (list go-golang-org-x-net))
- (home-page "https://github.com/ssgelm/cookiejarparser")
- (synopsis "Parse a curl cookiejar with Go")
- (description
- "This package is a Go library that parses a curl (netscape) cookiejar
-file into a Go http.CookieJar.")
- (license license:expat)))
-
-(define-public go-github-com-ssor-bom
- (package
- (name "go-github-com-ssor-bom")
- (version "0.0.0-20170718123548-6386211fdfcf")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ssor/bom")
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "09g5496ifwqxqclh2iw58plcwcz0sczlnxwqxzwmnl4shdl371ld"))))
- (build-system go-build-system)
- (arguments
- (list #:import-path "github.com/ssor/bom"))
- (home-page "https://github.com/ssor/bom")
- (synopsis "Cleaning BOMs in Go")
- (description
- "The bom package provides small tools for cleaning BOMs from a byte
-array or reader.")
- (license license:expat)))
-
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; 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 677b2b49ae..2799b5097d 100644
--- a/gnu/packages/high-availability.scm
+++ b/gnu/packages/high-availability.scm
@@ -215,6 +215,21 @@ applications.")
(sha256
(base32 "0r1d0l3mmb90956wl97vqlb3cdhax7jkqa95hvx9b380g93a08py"))))
(build-system go-build-system)
+ (arguments
+ (list
+ #:install-source? #f
+ #:import-path "github.com/nats-io/nats-server"
+ ;; The test logic is taken from project's GitHub Actions workflow file
+ ;; <.github/workflows/tests.yaml>.
+ #:test-flags
+ #~(list "-count=1" "-vet=off" "-failfast"
+ "-skip" (string-join
+ (list "TestHTTPHost"
+ "TestSysLogger"
+ "TestLogMaxArchives")
+ "|") )
+ #:test-subdirs
+ #~(list "conf/..." "internal/..." "logger/..." "test/...")))
(inputs
(list go-github-com-klauspost-compress
go-github-com-minio-highwayhash
@@ -226,10 +241,6 @@ applications.")
go-golang-org-x-crypto
go-golang-org-x-sys
go-golang-org-x-time))
- (arguments
- (list
- #:import-path "github.com/nats-io/nats-server"
- #:install-source? #f))
(home-page "https://github.com/nats-io/nats-server")
(synopsis "High performance message broker")
(description
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 904f275d35..477caafd4e 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -81,8 +81,8 @@
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
- #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
+ #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages graphics)
#:use-module (gnu packages image)
@@ -576,7 +576,7 @@ It supports JPEG, PNG and GIF formats.")
(define-public pixterm
(package
(name "pixterm")
- (version "1.3.1")
+ (version "1.3.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -585,14 +585,14 @@ It supports JPEG, PNG and GIF formats.")
(file-name (git-file-name name version))
(sha256
(base32
- "0fm6c0mjz6zillqjirnjjf7mkrax1gyfcv6777i07ms3bnv0pcii"))))
+ "08x0pwnl3cyq5f29fxj379p9klzxl85p8jq2595xdz3mhb3pkgsg"))))
(build-system go-build-system)
(arguments
- '(#:import-path "github.com/eliukblau/pixterm/cmd/pixterm"
+ '(#:install-source? #f
+ #:import-path "github.com/eliukblau/pixterm/cmd/pixterm"
#:unpack-path "github.com/eliukblau/pixterm"))
(inputs (list go-github-com-disintegration-imaging
go-github-com-lucasb-eyer-go-colorful
- go-golang-org-x-crypto
go-golang-org-x-image
go-golang-org-x-term))
(home-page "https://github.com/eliukblau/pixterm")
diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm
index 349517e878..43923a90ac 100644
--- a/gnu/packages/ipfs.scm
+++ b/gnu/packages/ipfs.scm
@@ -43,6 +43,56 @@
#:use-module (gnu packages shells)
#:use-module (gnu packages specifications))
+(define-public go-github-com-ceramicnetwork-go-dag-jose
+ (package
+ (name "go-github-com-ceramicnetwork-go-dag-jose")
+ (version "0.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ceramicnetwork/go-dag-jose")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0g34dwlnq07zg176bdhp2hcg1hg5l55s0a6hk4kiq37vm01w68j7"))
+ (snippet
+ #~(begin (use-modules (guix build utils))
+ ;; Delete git submodule.
+ (delete-file-recursively ".ipld")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/ceramicnetwork/go-dag-jose"
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; XXX: Workaround for go-build-system's lack of Go modules
+ ;; support.
+ (delete 'build)
+ (replace 'check
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion (string-append "src/" import-path)
+ (invoke "go" "test" "-v" "./..."))))))))
+ (native-inputs
+ (list go-github-com-stretchr-testify
+ go-github-com-frankban-quicktest
+ go-github-com-warpfork-go-testmark))
+ (propagated-inputs
+ (list go-github-com-go-jose-go-jose-v4
+ go-github-com-ipfs-go-cid
+ go-github-com-ipld-go-ipld-prime
+ go-github-com-multiformats-go-multibase
+ go-github-com-multiformats-go-multihash
+ go-golang-org-x-crypto
+ go-pgregory-net-rapid))
+ (home-page "https://github.com/ceramicnetwork/go-dag-jose")
+ (synopsis "Implementation of the IPLD dag-jose codec")
+ (description
+ "This is an implementation of the IPLD
+@@url{https://ipld.io/specs/codecs/dag-jose/spec/,dag-jose codec}.")
+ (license license:expat)))
+
(define-public go-github-com-ipfs-bbloom
(package
(name "go-github-com-ipfs-bbloom")
@@ -123,6 +173,35 @@ by a @acronym{Content Identifiers,CID}. The CID contains the multihash
corresponding to the block.")
(license license:expat)))
+(define-public go-github-com-ipfs-go-ds-flatfs
+ (package
+ (name "go-github-com-ipfs-go-ds-flatfs")
+ (version "0.5.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ipfs/go-ds-flatfs")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1mrgl6kslq4d4zfpdyxvqxz8brhm8wphvnp916pippn7z63sayj3"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/ipfs/go-ds-flatfs"))
+ (propagated-inputs
+ (list go-github-com-ipfs-go-datastore
+ go-github-com-ipfs-go-log
+ go-github-com-jbenet-goprocess))
+ (home-page "https://github.com/ipfs/go-ds-flatfs")
+ (synopsis "Datastore implementation using sharded directories and flat files to store data")
+ (description
+ "Package flatfs is a Datastore implementation that stores all objects in
+a two-level directory structure in the local file system, regardless of the
+hierarchy of the keys.")
+ (license license:expat)))
+
(define-public go-github-com-ipfs-go-ipfs-blockstore
(package
(name "go-github-com-ipfs-go-ipfs-blockstore")
@@ -316,7 +395,30 @@ keys used by @code{go-ipfs} (Kubo).")
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/ipfs/go-datastore"))
+ #:import-path "github.com/ipfs/go-datastore"
+ #:test-subdirs
+ #~(list "autobatch/..."
+ "delayed/..."
+ "examples/..."
+ "failstore/..."
+ ;; "fuzz/..." ; introduces cycle, for CLI
+ "keytransform/..."
+ "mount/..."
+ "namespace/..."
+ "query/..."
+ "retrystore/..."
+ "scoped/..."
+ "sync/..."
+ "test/..."
+ "trace/..."
+ ".")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (for-each delete-file-recursively
+ (list "examples"))))))))
(native-inputs
(list go-gopkg-in-check-v1))
(propagated-inputs
@@ -707,8 +809,9 @@ code prior to it getting merged into @code{go-cid}.")
(build-system go-build-system)
(arguments
(list
- #:unpack-path "github.com/ipld/go-ipld-prime/"
- #:import-path "github.com/ipld/go-ipld-prime/"
+ #:import-path "github.com/ipld/go-ipld-prime"
+ ;; XXX: More input requires to cover all shipped go packages.
+ #:test-subdirs #~(list ".")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'copy-ipld-specfs
@@ -823,7 +926,7 @@ their levels to be controlled individually.")
(define-public go-github-com-libp2p-go-libp2p
(package
(name "go-github-com-libp2p-go-libp2p")
- (version "0.36.3")
+ (version "0.36.5")
(source
(origin
(method git-fetch)
@@ -832,12 +935,35 @@ their levels to be controlled individually.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1bpjqrb2zdp86va7ms36lpci1l6lgkx85rc3q13fmzks38mqqw8s"))))
+ (base32 "0fmalwb0g0nykd1v22nm5gmif9mvapshsja8w1ihlm8ahbqq9vb2"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separatly:
+ ;;
+ ;; - github.com/libp2p/go-libp2p/scripts/test_analysis
+ ;; - github.com/libp2p/go-libp2p/test-plans/m/v2
+ (for-each delete-file-recursively
+ (list "scripts/test_analysis" "test-plans"))))))
(build-system go-build-system)
(arguments
(list
#:embed-files #~(list "sorted-network-list.bin")
- #:import-path "github.com/libp2p/go-libp2p"))
+ #:import-path "github.com/libp2p/go-libp2p"
+ ;; XXX: Check how to enable the most of the tests, see GitHub Actions
+ ;; workflow files of the project.
+ #:test-subdirs #~(list "core/..." ".")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (delete-file-recursively "examples")))))))
+ (native-inputs
+ (list go-github-com-libp2p-go-libp2p-testing
+ go-github-com-stretchr-testify
+ go-go-uber-org-mock
+ go-go-uber-org-goleak))
(propagated-inputs
(list go-github-com-benbjohnson-clock
go-github-com-davidlazar-go-crypto
@@ -887,10 +1013,8 @@ their levels to be controlled individually.")
go-github-com-quic-go-quic-go
go-github-com-quic-go-webtransport-go
go-github-com-raulk-go-watchdog
- go-github-com-stretchr-testify
go-go-uber-org-fx
- go-go-uber-org-goleak
- go-go-uber-org-mock
+ go-go-uber-org-zap
go-golang-org-x-crypto
go-golang-org-x-exp
go-golang-org-x-sync
@@ -905,6 +1029,31 @@ their levels to be controlled individually.")
@url{https://github.com/libp2p/specs,libp2p}.")
(license license:expat)))
+(define-public go-github-com-libp2p-go-libp2p-testing
+ (package
+ (name "go-github-com-libp2p-go-libp2p-testing")
+ (version "0.12.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libp2p/go-libp2p-testing")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "08n17mqskdj5il6lws53wk1zsf9d8c55f58bap1rjngf2d669p39"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t ; to break cycle with go-github-com-libp2p-go-libp2p
+ #:tests? #f
+ #:import-path "github.com/libp2p/go-libp2p-testing"))
+ (home-page "https://github.com/libp2p/go-libp2p-testing")
+ (synopsis "Test toolbox for go-libp2p modules")
+ (description
+ "This package provides a testing toolbox for go-libp2p modules.")
+ (license (list license:expat license:asl2.0))))
+
(define-public go-github-com-whyrusleeping-cbor-gen
(package
(name "go-github-com-whyrusleeping-cbor-gen")
@@ -936,7 +1085,7 @@ types.")
(define-public kubo
(package
(name "kubo")
- (version "0.30.0")
+ (version "0.31.0")
(source
(origin
(method url-fetch/tarbomb)
@@ -944,7 +1093,7 @@ types.")
"https://dist.ipfs.io/kubo/v" version
"/kubo-source.tar.gz"))
(sha256
- (base32 "0kwbwbrlvgcb8lcg85gpab6czyrnq7r9139i5gp827231zfbcqzq"))
+ (base32 "0271rh54xbwikbllzsjnkjlj29cb2xy5lnhia47qlf2ymvl48kvf"))
(file-name (string-append name "-" version "-source"))
(modules '((guix build utils)))
(snippet '(for-each delete-file-recursively
@@ -956,6 +1105,7 @@ types.")
"vendor/github.com/beorn7"
"vendor/github.com/blang"
"vendor/github.com/cenkalti"
+ "vendor/github.com/ceramicnetwork"
"vendor/github.com/cespare"
"vendor/github.com/cheggaaa"
"vendor/github.com/containerd"
@@ -1058,6 +1208,7 @@ types.")
(build-system go-build-system)
(arguments
(list
+ #:go go-1.22
#:embed-files #~(list "sorted-network-list.bin")
#:unpack-path "github.com/ipfs/kubo"
#:import-path "github.com/ipfs/kubo/cmd/ipfs"
@@ -1086,7 +1237,7 @@ types.")
go-github-com-benbjohnson-clock
go-github-com-blang-semver-v4
go-github-com-cenkalti-backoff-v4
- ;;go-github-com-ceramicnetwork-go-dag-jose
+ go-github-com-ceramicnetwork-go-dag-jose
go-github-com-cheggaaa-pb
go-github-com-coreos-go-systemd-v22
go-github-com-dustin-go-humanize
@@ -1201,7 +1352,6 @@ types.")
go-golang-org-x-oauth2 ; github.com/ipfs/boxo
go-golang-org-x-term ; github.com/ipfs/go-ipfs-cmds
go-golang-org-x-xerrors ; github.com/whyrusleeping/cbor-gen
- go-gopkg-in-square-go-jose-v2 ; github.com/ceramicnetwork/go-dag-jose
))
(native-inputs
(append (if (%current-target-system)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 77a53e4805..5873b4db2e 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -141,7 +141,6 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
- #:use-module (gnu packages golang-build)
#:use-module (gnu packages gperf)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)
@@ -9539,47 +9538,6 @@ nfnetlink_queue, nfnetlink_conntrack) and their respective users and/or
management tools in userspace.")
(license license:gpl2)))
-(define-public go-github-com-vishvananda-netlink
- (package
- (name "go-github-com-vishvananda-netlink")
- (version "1.1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/vishvananda/netlink")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1vhl30p1gx636a088ls4h6a0l8jjyfvz79fr5w0qzdrg4qg9h08h"))))
- (build-system go-build-system)
- (arguments
- (list
- ;; The tests are unsupported on all architectures except x86_64-linux:
- ;; cannot use 0xabcdef99 (untyped int constant 2882400153) as int value
- ;; in struct literal (overflows)
- #:tests? (and (not (%current-target-system)) (target-x86-64?))
- #:import-path "github.com/vishvananda/netlink"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'disable-failing-tests
- (lambda* (#:key tests? unpack-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" unpack-path)
- (substitute* (find-files "." "\\_test.go$")
- ;; Disable tests requiring root access.
- (("TestNetNsIdByFd") "OffTestNetNsIdByFd")
- (("TestNetNsIdByPid") "OffTestNetNsIdByPid"))))))))
- (propagated-inputs
- (list go-golang-org-x-sys go-github-com-vishvananda-netns))
- (home-page "https://github.com/vishvananda/netlink")
- (synopsis "Simple netlink library for Go")
- (description
- "The netlink package provides a simple netlink library for Go. Netlink
-is the interface a user-space program in Linux uses to communicate with the
-kernel. It can be used to add and remove interfaces, set IP addresses and
-routes, and configure IPsec.")
- (license license:asl2.0)))
-
(define-public libinih
(package
(name "libinih")
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index 7dd30f9a6e..a1b74f1585 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -54,6 +54,9 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnome) ;libnotify
#:use-module (gnu packages golang)
+ #:use-module (gnu packages golang-build)
+ #:use-module (gnu packages golang-web)
+ #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages image)
#:use-module (gnu packages mail)
#:use-module (gnu packages ncurses)
@@ -62,6 +65,7 @@
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages prometheus)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-web)
@@ -521,27 +525,92 @@ Metrics can be exposed through a standalone web server, or through Twisted,
WSGI and the node exporter textfile collector.")
(license license:asl2.0)))
-(define-public go-github-com-prometheus-node-exporter
- (package
- (name "go-github-com-prometheus-node-exporter")
- (version "0.18.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/prometheus/node_exporter")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0s3sp1gj86p7npxl38hkgs6ymd3wjjmc5hydyg1b5wh0x3yvpx07"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/prometheus/node_exporter"))
- (synopsis "Prometheus exporter for hardware and OS metrics")
- (description "Prometheus exporter for metrics exposed by *NIX kernels,
+(define-public prometheus-node-exporter
+ ;; The latest release is failing to build, use the latest commit from the
+ ;; master branch.
+ (let ((commit "b8aac7c92e2d7f3dea56b2d4802d4ef3ee29c3cc")
+ (revision "0"))
+ (package
+ (name "prometheus-node-exporter")
+ (version (git-version "1.8.2" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/prometheus/node_exporter")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0n2s2z168xzp6i0ihaqvvs8zinp1iqld45c6lj89x7wjv8m741j3"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:install-source? #f
+ #:build-flags
+ #~(list (string-append
+ "-ldflags="
+ "-X github.com/prometheus/common/version.Version=" #$version
+ " -X github.com/prometheus/common/version.Revision=" #$revision
+ " -X github.com/prometheus/common/version.Branch=master"
+ " -X github.com/prometheus/common/version.BuildUser=guix"
+ " -X github.com/prometheus/common/version.BuildDate=n/a"))
+ #:embed-files #~(list "landing_page.css" "landing_page.html")
+ #:import-path "github.com/prometheus/node_exporter"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (invoke "./ttar" "-C" "collector/fixtures"
+ "-x" "-f" "collector/fixtures/sys.ttar")
+ (invoke "./ttar" "-C" "collector/fixtures"
+ "-x" "-f" "collector/fixtures/udev.ttar"))))
+ (add-after 'check 'post-check
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (for-each delete-file-recursively
+ (list "collector/fixtures/sys"
+ "collector/fixtures/sys.ttar"
+ "collector/fixtures/udev"
+ "collector/fixtures/udev.ttar"))))))))
+ (propagated-inputs
+ (list go-github-com-alecthomas-kingpin-v2
+ go-github-com-beevik-ntp
+ go-github-com-coreos-go-systemd-v22
+ go-github-com-dennwc-btrfs
+ go-github-com-ema-qdisc
+ go-github-com-go-kit-log
+ go-github-com-godbus-dbus-v5
+ go-github-com-hashicorp-go-envparse
+ go-github-com-hodgesds-perf-utils
+ go-github-com-josharian-native
+ go-github-com-jsimonetti-rtnetlink
+ go-github-com-mattn-go-xmlrpc
+ go-github-com-mdlayher-ethtool
+ go-github-com-mdlayher-netlink
+ go-github-com-mdlayher-wifi
+ go-github-com-jsimonetti-rtnetlink-v2
+ go-github-com-opencontainers-selinux
+ go-github-com-prometheus-client-golang
+ go-github-com-prometheus-client-model
+ go-github-com-prometheus-common
+ go-github-com-prometheus-community-go-runit
+ go-github-com-prometheus-exporter-toolkit
+ go-github-com-prometheus-procfs-next
+ go-github-com-safchain-ethtool
+ go-golang-org-x-exp
+ go-golang-org-x-sys
+ go-howett-net-plist))
+ (home-page "https://github.com/prometheus/node_exporter")
+ (synopsis "Prometheus exporter for hardware and OS metrics")
+ (description
+ "Prometheus exporter for metrics exposed by *NIX kernels,
written in Go with pluggable metric collectors.")
- (home-page "https://github.com/prometheus/node_exporter")
- (license license:asl2.0)))
+ (license license:asl2.0))))
+
+(define-public go-github-com-prometheus-node-exporter
+ (deprecated-package "go-github-com-prometheus-node-exporter"
+ prometheus-node-exporter))
(define-public temper-exporter
(let ((commit "a87bbab19c05609d62d9e4c7941178700c1ef84d")
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index f50d4c81b2..970a502b59 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,
virtual machines, and certificates.")
(license license:gpl3+)))
-(define-public go-github-com-vishvananda-netns
- (package
- (name "go-github-com-vishvananda-netns")
- (version "0.0.4")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/vishvananda/netns")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0rci8c211m57nya9il81fz6459pia3dj5i4b16fp34vjrkcxliml"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/vishvananda/netns"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'disable-failing-tests
- (lambda* (#:key tests? unpack-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" unpack-path)
- (substitute* (find-files "." "\\_test.go$")
- ;; Disable tests requiring root access.
- (("TestGetNewSetDelete") "OffTestGetNewSetDelete")
- (("TestThreaded") "OffTestThreaded"))))))))
- (propagated-inputs
- (list go-golang-org-x-sys))
- (home-page "https://github.com/vishvananda/netns")
- (synopsis "Simple network namespace handling for Go")
- (description
- "The netns package provides a simple interface for handling network
-namespaces in Go.")
- (license license:asl2.0)))
-
(define-public go-sctp
;; docker-libnetwork-cmd-proxy requires this exact commit.
;; This commit is mentioned in docker-libnetwork-cmd-proxy's vendor.conf.
@@ -4790,7 +4755,7 @@ IPv6 Internet connectivity - it also works over IPv4.")
(define-public nebula
(package
(name "nebula")
- (version "1.9.3")
+ (version "1.9.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4799,7 +4764,7 @@ IPv6 Internet connectivity - it also works over IPv4.")
(file-name (git-file-name name version))
(sha256
(base32
- "08zzbx2v713zd9p7i4kd1bvcw47xb0092p5apba1x5wg6fpxw5zr"))
+ "1slknnrdnf5a2ask11ql3gwnnl6c5359bp8rd712aq30lxa2d4r0"))
;; Remove windows-related binary blobs and files
(snippet
#~(begin
@@ -4811,6 +4776,8 @@ IPv6 Internet connectivity - it also works over IPv4.")
(list
#:import-path "github.com/slackhq/nebula"
#:install-source? #f
+ ;; XXX: Pack missing packages for cmd/nebula-service
+ #:test-subdirs #~(list ".")
#:phases
#~(modify-phases %standard-phases
(replace 'build
@@ -4837,29 +4804,32 @@ IPv6 Internet connectivity - it also works over IPv4.")
(list go-dario-cat-mergo
go-github-com-anmitsu-go-shlex
go-github-com-armon-go-radix
- go-github-com-cespare-xxhash-v2
go-github-com-cyberdelia-go-metrics-graphite
go-github-com-flynn-noise
+ go-github-com-gaissmai-bart
go-github-com-gogo-protobuf
go-github-com-google-gopacket
+ go-github-com-kardianos-service
go-github-com-miekg-dns
go-github-com-nbrownus-go-metrics-prometheus
go-github-com-prometheus-client-golang
- go-github-com-prometheus-client-model
- go-github-com-prometheus-procfs
go-github-com-rcrowley-go-metrics
go-github-com-sirupsen-logrus
go-github-com-skip2-go-qrcode
go-github-com-songgao-water
go-github-com-stretchr-testify
+ go-github-com-vishvananda-netlink
go-golang-org-x-crypto
+ go-golang-org-x-exp
go-golang-org-x-net
+ go-golang-org-x-sync
go-golang-org-x-sys
go-golang-org-x-term
+ go-golang-zx2c4-com-wireguard
go-google-golang-org-protobuf
go-gopkg-in-yaml-v2
- go-github-com-vishvananda-netlink
- go-github-com-vishvananda-netns))
+ ;go-gvisor-dev-gvisor ; for nebula-service, not packed yet
+ ))
(home-page "https://github.com/slackhq/nebula")
(synopsis "Scalable, peer-to-peer overlay networking tool")
(description
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 0f7a1517c5..0a3711bbb9 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -96,6 +96,7 @@
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-xyz)
+ #:use-module (gnu packages golang-web)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages kerberos)
@@ -128,6 +129,83 @@
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml))
+(define-public aws-vault
+ (package
+ (name "aws-vault")
+ (version "7.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/99designs/aws-vault")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1dqg6d2k8r80ww70afghf823z0pijha1i0a0c0c6918yb322zkj2"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:install-source? #f
+ #:import-path "github.com/99designs/aws-vault"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'patch-version
+ (lambda _
+ (substitute* "src/github.com/99designs/aws-vault/main.go"
+ (("var Version = \"dev\"")
+ (string-append "var Version = \"v" #$version "\"")))))
+ (add-after 'build 'contrib
+ (lambda* (#:key import-path #:allow-other-keys)
+ (let* ((zsh-site-dir
+ (string-append #$output "/share/zsh/site-functions"))
+ (bash-completion-dir
+ (string-append #$output "/share/bash-completion/completions"))
+ (fish-completion-dir
+ (string-append #$output "/share/fish/completions")))
+ (for-each mkdir-p (list bash-completion-dir
+ fish-completion-dir
+ zsh-site-dir))
+ (with-directory-excursion
+ (string-append "src/" import-path "/contrib/completions")
+ (copy-file "zsh/aws-vault.zsh"
+ (string-append zsh-site-dir "/_aws-vault"))
+ (copy-file "bash/aws-vault.bash"
+ (string-append bash-completion-dir "/aws-vault"))
+ (copy-file "fish/aws-vault.fish"
+ (string-append fish-completion-dir "/aws-vault.fish"))))))
+ ;; aws-vault: error: add: mkdir /homeless-shelter: permission
+ ;; denied.
+ (add-before 'check 'set-home
+ (lambda _
+ (setenv "HOME" "/tmp"))))))
+ (native-inputs
+ (list go-github-com-99designs-keyring
+ go-github-com-alecthomas-kingpin-v2
+ go-github-com-aws-aws-sdk-go-v2
+ go-github-com-aws-aws-sdk-go-v2-config
+ go-github-com-aws-aws-sdk-go-v2-credentials
+ go-github-com-aws-aws-sdk-go-v2-service-iam
+ go-github-com-aws-aws-sdk-go-v2-service-sso
+ go-github-com-aws-aws-sdk-go-v2-service-ssooidc
+ go-github-com-aws-aws-sdk-go-v2-service-sts
+ go-github-com-google-go-cmp
+ go-github-com-mattn-go-isatty
+ go-github-com-mattn-go-tty
+ go-github-com-skratchdot-open-golang
+ go-golang-org-x-term
+ go-gopkg-in-ini-v1))
+ (home-page "https://github.com/99designs/aws-vault")
+ (synopsis "Vault for securely storing and accessing AWS credentials")
+ (description
+ "AWS Vault is a tool to securely store and access @acronym{Amazon Web
+Services,AWS} credentials.
+
+AWS Vault stores IAM credentials in your operating system's secure keystore and
+then generates temporary credentials from those to expose to your shell and
+applications. It's designed to be complementary to the AWS CLI tools, and is
+aware of your profiles and configuration in ~/.aws/config.")
+ (license license:expat)))
+
(define-public pwgen
(package
(name "pwgen")
diff --git a/gnu/packages/patches/exercism-disable-self-update.patch b/gnu/packages/patches/exercism-disable-self-update.patch
index a96cbfbc55..0827e5102b 100644
--- a/gnu/packages/patches/exercism-disable-self-update.patch
+++ b/gnu/packages/patches/exercism-disable-self-update.patch
@@ -1,21 +1,23 @@
-From bc22f7d43c12c5f79c71b0319666e71f29d61322 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jakub=20K=C4=85dzio=C5=82ka?= <kuba@kadziolka.net>
-Date: Mon, 25 May 2020 18:53:04 +0200
+From a0e422b11a65d63bd435c96bee3cd08f06bb8ec8 Mon Sep 17 00:00:00 2001
+From: Sharlatan Hellseher <sharlatanus@gmail.com>
+Date: Mon, 23 Dec 2024 01:59:10 +0000
Subject: [PATCH] Disable self-update.
+For exercism cli V3.5.4.
+
Based on a Fedora patch by Elliott Sales de Andrade.
---
cli/cli.go | 44 +-------------------------------------------
1 file changed, 1 insertion(+), 43 deletions(-)
diff --git a/cli/cli.go b/cli/cli.go
-index 4312eb0..5f62297 100644
+index fe113ec..3baa4b0 100644
--- a/cli/cli.go
+++ b/cli/cli.go
@@ -10,13 +10,10 @@ import (
"io"
- "io/ioutil"
"net/http"
+ "os"
- "runtime"
"strings"
"time"
@@ -75,5 +77,4 @@ index 4312eb0..5f62297 100644
func (c *CLI) fetchLatestRelease() error {
--
-2.26.2
-
+2.46.0
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 7408d4ec16..0000000000
--- a/gnu/packages/patches/go-github-com-urfave-cli-fix-tests.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Backported from upstream PR: https://github.com/urfave/cli/pull/1299
----
-diff --git a/app_test.go b/app_test.go
-index 33024ff..6b3aaa3 100644
---- a/app_test.go
-+++ b/app_test.go
-@@ -513,18 +513,18 @@ func TestApp_RunAsSubcommandParseFlags(t *testing.T) {
- func TestApp_RunAsSubCommandIncorrectUsage(t *testing.T) {
- a := App{
- Flags: []Flag{
-- StringFlag{Name: "--foo"},
-+ StringFlag{Name: "foo"},
- },
- Writer: bytes.NewBufferString(""),
- }
-
- set := flag.NewFlagSet("", flag.ContinueOnError)
-- _ = set.Parse([]string{"", "---foo"})
-+ _ = set.Parse([]string{"", "-bar"})
- c := &Context{flagSet: set}
-
- err := a.RunAsSubcommand(c)
-
-- expect(t, err, errors.New("bad flag syntax: ---foo"))
-+ expect(t, err.Error(), "flag provided but not defined: -bar")
- }
-
- 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 87ccc2b655..0000000000
--- a/gnu/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From upstream PR: https://github.com/urfave/cli/pull/1299
-
-From: William Wilson <william.wilson@canonical.com>
-Date: Tue, 31 Aug 2021 14:19:17 -0500
-Subject: Make test case compatible with Go 1.17
-
-As of Go 1.17, the go flag package will panic if given a syntactically invalid
-flag. This causes TestApp_RunAsSubCommandIncorrectUsage to panic and therefore
-fail. See https://golang.org/doc/go1.17#flag for more information.
-
----
-diff --git a/app_test.go b/app_test.go
-index 7c38f6048..76e211d68 100644
---- a/app_test.go
-+++ b/app_test.go
-@@ -476,18 +476,18 @@ func TestApp_RunAsSubCommandIncorrectUsage(t *testing.T) {
- a := App{
- Name: "cmd",
- Flags: []Flag{
-- &StringFlag{Name: "--foo"},
-+ &StringFlag{Name: "foo"},
- },
- Writer: bytes.NewBufferString(""),
- }
-
- set := flag.NewFlagSet("", flag.ContinueOnError)
-- _ = set.Parse([]string{"", "---foo"})
-+ _ = set.Parse([]string{"", "-bar"})
- c := &Context{flagSet: set}
-
- err := a.RunAsSubcommand(c)
-
-- expect(t, err, errors.New("bad flag syntax: ---foo"))
-+ expect(t, err.Error(), "flag provided but not defined: -bar")
- }
-
- func TestApp_CommandWithFlagBeforeTerminator(t *testing.T) {
diff --git a/gnu/packages/prometheus.scm b/gnu/packages/prometheus.scm
index c498c27030..e582673a0d 100644
--- a/gnu/packages/prometheus.scm
+++ b/gnu/packages/prometheus.scm
@@ -34,6 +34,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
+ #:use-module (gnu packages golang-compression)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz))
@@ -129,7 +130,7 @@ registry.")
(define-public go-github-com-prometheus-client-golang
(package
(name "go-github-com-prometheus-client-golang")
- (version "1.19.1")
+ (version "1.20.5")
(source
(origin
(method git-fetch)
@@ -138,15 +139,27 @@ registry.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0mx5q221pbkx081ycf1lp8sxz513220ya8qczkkvab943cwlcarv"))))
+ (base32 "1q3n22p5ic22xzha6mffh0m0jzbxrkyjrcmnxsnanl61jwb4rkpw"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Submodules with their own go.mod files and packaged separately:
+ ;;
+ ;; - dagger
+ ;; - .bingo - fake module
+ (delete-file-recursively "dagger")
+ (delete-file-recursively ".bingo")))))
(build-system go-build-system)
(arguments
(list
+ #:skip-build? #t
;; XXX: Check if the most of the tests may be enabled:
;; api/prometheus/v1/api_test.go:1063:23: cannot use 1634644800304
;; (untyped int constant) as int value in map literal (overflows)
#:tests? (target-64bit?)
#:import-path "github.com/prometheus/client_golang"
+ ;; Assertion fails in one test.
+ #:test-flags #~(list "-skip" "TestHandler")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-examples-and-tutorials
@@ -155,19 +168,14 @@ registry.")
(for-each delete-file-recursively
(list "api/prometheus/v1/example_test.go"
"examples"
- "tutorial")))))
- ;; XXX: Workaround for go-build-system's lack of Go modules support.
- (delete 'build)
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./..."))))))))
+ "tutorials"))))))))
(propagated-inputs
(list go-github-com-beorn7-perks
go-github-com-cespare-xxhash-v2
- go-github-com-davecgh-go-spew
+ go-github-com-google-go-cmp
go-github-com-json-iterator-go
+ go-github-com-klauspost-compress
+ go-github-com-kylelemons-godebug
go-github-com-prometheus-client-model
go-github-com-prometheus-common
go-github-com-prometheus-procfs
@@ -213,7 +221,7 @@ Prometheus metrics.")
(define-public go-github-com-prometheus-common
(package
(name "go-github-com-prometheus-common")
- (version "0.55.0")
+ (version "0.61.0")
(source
(origin
(method git-fetch)
@@ -222,7 +230,7 @@ Prometheus metrics.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0bsbxil7qz8rhckhv0844nmn38g7i7347cjv5m6na47hbdpi0rqh"))
+ (base32 "0wng61rzvh27s2rlaadvjbffwgpn74p1wjrz6insl57k1pg3cmcn"))
(modules '((guix build utils)))
(snippet
#~(begin
@@ -289,16 +297,17 @@ metrics.")
(define-public go-github-com-prometheus-common-assets
(package
(name "go-github-com-prometheus-common-assets")
- (version "0.55.0")
+ (version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/prometheus/common")
- (commit (string-append "v" version))))
+ (commit (go-version->git-ref version
+ #:subdir "assets"))))
(file-name (git-file-name name version))
(sha256
- (base32 "0bsbxil7qz8rhckhv0844nmn38g7i7347cjv5m6na47hbdpi0rqh"))))
+ (base32 "0r7sym4yaysbkc5anyypl57v9ay0a1flq00j85j7lcficl2scwrs"))))
(build-system go-build-system)
(arguments
(list
@@ -369,7 +378,7 @@ from the default AWS credential chain.")
(define-public go-github-com-prometheus-community-pro-bing
(package
(name "go-github-com-prometheus-community-pro-bing")
- (version "0.4.1")
+ (version "0.5.0")
(source
(origin
(method git-fetch)
@@ -378,15 +387,19 @@ from the default AWS credential chain.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1yz4cf1qrm1jrzw2yd5p08663hynk4ihlf5mi2fn6irnzh343a7b"))))
+ (base32 "19757nqz0cpq7ir2w5xgjxpblhmkpk0j7spfw4j68agavbx6hxpm"))))
(build-system go-build-system)
(arguments
(list
- ;; Tests requiring network setup.
+ ;; Tests requiring network setup, and root access.
#:test-flags
- #~(list "-skip" (string-append "TestNewPingerValid"
- "|TestSetIPAddr"
- "|TestSetResolveTimeout"))
+ #~(list "-skip"
+ (string-join
+ (list "TestNewPingerValid"
+ "TestSetIPAddr"
+ "TestSetInterfaceName"
+ "TestSetResolveTimeout")
+ "|"))
#:import-path "github.com/prometheus-community/pro-bing"))
(propagated-inputs
(list go-github-com-google-uuid
@@ -402,7 +415,7 @@ Protocol,ICMP} echo (ping) functionality.")
(define-public go-github-com-prometheus-exporter-toolkit
(package
(name "go-github-com-prometheus-exporter-toolkit")
- (version "0.11.0")
+ (version "0.13.2")
(source
(origin
(method git-fetch)
@@ -411,7 +424,7 @@ Protocol,ICMP} echo (ping) functionality.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1n46jw3b13g355iv8phxxnnci7a877y5dscc1rlj3rpz4vy6yfzx"))))
+ (base32 "05k4sfrc1zs96iprgnap0gd42vwfq47j6vg2bv83nckcv731gmiv"))))
(build-system go-build-system)
(arguments
(list
@@ -433,6 +446,7 @@ Protocol,ICMP} echo (ping) functionality.")
(list go-github-com-alecthomas-kingpin-v2
go-github-com-coreos-go-systemd-v22
go-github-com-go-kit-log
+ go-github-com-mdlayher-vsock
; Imported for go-github-com-prometheus-common to break the cycle.
go-github-com-prometheus-client-golang
go-github-com-prometheus-common
@@ -494,10 +508,30 @@ Protocol,ICMP} echo (ping) functionality.")
kernel, and process metrics from the @file{/proc} pseudo file system.")
(license license:asl2.0)))
+;; To make it compatible with node_exporter, see
+;; <https://github.com/prometheus/node_exporter/issues/3143>.
+(define-public go-github-com-prometheus-procfs-next
+ (let ((commit "24ab3d8d880d820115eef19f7b0c2c38fffd6a25")
+ (revision "0"))
+ (hidden-package
+ (package
+ (inherit go-github-com-prometheus-procfs)
+ (name "go-github-com-prometheus-procfs")
+ (version (git-version "0.15.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/prometheus/procfs")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0fv3f83q5wigbpl6mdpk4k7bj8jabc81rap0ym95l7rpw93cdlim"))))))))
+
(define-public go-github-com-prometheus-statsd-exporter
(package
(name "go-github-com-prometheus-statsd-exporter")
- (version "0.27.1")
+ (version "0.28.0")
(source
(origin
(method git-fetch)
@@ -506,7 +540,7 @@ kernel, and process metrics from the @file{/proc} pseudo file system.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0y8n02h46q22wkcm2yy62bzsi9hxrarmvjamfpn2sygqhbb1pv38"))))
+ (base32 "0h7ypmsx1j6x1p5wdj03i3jzwms7ab03asn2capl1gg6x07k57w7"))))
(build-system go-build-system)
(arguments
(list
diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index dd0d3985c0..855ccf5da7 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),
(arguments
`(#:import-path "github.com/noisetorch/NoiseTorch"
#:install-source? #f
+ #:test-subdirs '(".")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'copy-rnnoise-library
diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm
index a24ecffb90..af99c08a6a 100644
--- a/gnu/packages/task-management.scm
+++ b/gnu/packages/task-management.scm
@@ -39,6 +39,10 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages golang-build)
+ #:use-module (gnu packages golang-check)
+ #:use-module (gnu packages golang-web)
+ #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages hunspell)
@@ -278,20 +282,21 @@ time to a logfile.")
(define-public dstask
(package
(name "dstask")
- (version "0.26")
+ (version "0.27")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/naggie/dstask")
- (commit (string-append "v" version))))
+ (commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "10q0524gfc76k0v9cy0j60cbgmmwkpnkbvl6w0pn1j5y690514f5"))))
+ (base32 "01vdxm3y5fg4hqhq4k1lk0m7w70kkwlka5jhixv7a9lf1gqldskd"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/naggie/dstask"
#:install-source? #f
+ #:test-subdirs '("pkg/..." ".")
#:phases
(modify-phases %standard-phases
(replace 'build
@@ -314,6 +319,18 @@ time to a logfile.")
(install-file "dstask-import" bindir)
(install-file ".dstask-bash-completions.sh" bash-completion)
(install-file ".dstask-zsh-completions.sh" zsh-completion))))))))
+ (native-inputs
+ (list go-github-com-burntsushi-toml
+ go-github-com-gofrs-uuid
+ go-github-com-mattn-go-isatty
+ go-github-com-mattn-go-runewidth
+ go-github-com-shurcool-githubv4
+ go-github-com-sirupsen-logrus
+ go-github-com-stretchr-testify
+ go-golang-org-x-oauth2
+ go-golang-org-x-sys
+ go-gopkg-in-yaml-v2
+ go-mvdan-cc-xurls-v2))
(synopsis "CLI-based TODO manager with git-based sync + markdown notes per task")
(description "dstask is a personal task tracker that uses git for
synchronization. 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 2760de4892..88e84ce647 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -990,34 +990,6 @@ minimalistic.")
(home-page "https://www.uninformativ.de/git/xiate/file/README.html")
(license license:expat))))
-(define-public go-github.com-nsf-termbox-go
- (let ((commit "288510b9734e30e7966ec2f22b87c5f8e67345e3")
- (revision "1"))
- (package
- (name "go-github.com-nsf-termbox-go")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/nsf/termbox-go")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0hdyisfaf8yb55h3p03p4sbq19546mp9fy28f2kn659mycmhxqk4"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/nsf/termbox-go"))
- (propagated-inputs
- (list go-github-com-mattn-go-runewidth))
- (synopsis "@code{termbox} provides a minimal API for text-based user
-interfaces")
- (description
- "Termbox is a library that provides a minimalistic API which allows the
-programmer to write text-based user interfaces.")
- (home-page "https://github.com/nsf/termbox-go")
- (license license:expat))))
-
(define-public go-github-com-junegunn-fzf
(package
(name "go-github-com-junegunn-fzf")
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 6091d1ea6d..229e69a2b3 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -1496,9 +1496,7 @@ of a Unix terminal to HTML code.")
(define-public vale
(package
(name "vale")
- ;; Newer versions requires <github.com/smacker/go-tree-sitter> which is
- ;; quite a large project to pack.
- (version "3.4.2")
+ (version "3.9.4")
(source
(origin
(method git-fetch)
@@ -1506,49 +1504,35 @@ of a Unix terminal to HTML code.")
(url "https://github.com/errata-ai/vale")
(commit (string-append "v" version))))
(sha256
- (base32 "15f8ggh7hpfmfpszl9qkdfz19kds6gg6x5dgcqy0v6jrcsdbgpgp"))
- (file-name (git-file-name name version))
- (modules '((guix build utils)))
- (snippet
- #~(begin
- ;; Module name has been changed upstream.
- (substitute* (find-files "." "\\.go$")
- (("github.com/antonmedv/expr") "github.com/expr-lang/expr"))))))
+ (base32 "009gyrn2mi7bg10v6mqrr6c6ii5l2vbhs7mvh7g4xxgqhaqzpbhp"))
+ (file-name (git-file-name name version))))
(build-system go-build-system)
(arguments
(list
+ #:go go-1.23
#:install-source? #f
#:embed-files #~(list ".*\\.gob")
#:import-path "github.com/errata-ai/vale/cmd/vale"
#:unpack-path "github.com/errata-ai/vale"
+ ;; Disable tests requring network access: Get
+ ;; "https://raw.githubusercontent.com/errata-ai/styles/master/library.json":
+ ;; dial tcp: lookup raw.githubusercontent.com on [::1]:53: read udp
+ ;; [::1]:52621->[::1]:53: read: connection refused.
+ #:test-flags
+ #~(list "-skip" (string-join
+ (list "TestLibrary"
+ "TestNoPkgFound"
+ "TestSymlinkFixture")
+ "|"))
+ #:test-subdirs
+ #~(list "../../...") ; test whole libary, starting from import-path
#:phases
#~(modify-phases %standard-phases
- ;; Disable tests requring network access: Get
- ;; "https://raw.githubusercontent.com/errata-ai/styles/master/library.json":
- ;; dial tcp: lookup raw.githubusercontent.com on [::1]:53:
- ;; read udp [::1]:52621->[::1]:53: read: connection refused.
- (add-after 'unpack 'disable-failing-tests
- (lambda* (#:key tests? unpack-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" unpack-path)
- (substitute* (find-files "." "\\_test.go$")
- (("TestLibrary") "OffTestLibrary")
- (("TestLocalComplete") "OffTestLocalComplete")
- (("TestLocalDir") "OffTestLocalDir")
- (("TestLocalOnlyStyles") "OffTestLocalOnlyStyles")
- (("TestLocalZip") "OffTestLocalZip")
- (("TestNoPkgFound") "OffTestNoPkgFound")
- (("TestV3Pkg") "OffTestV3Pkg")))))
- ;; XXX: Workaround for go-build-system's lack of Go modules
- ;; support.
- (replace 'check
- (lambda* (#:key tests? unpack-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" unpack-path)
- (setenv "HOME" "/tmp")
- (invoke "go" "test" "-v" "./..."))))))))
+ (add-before 'check 'pre-check
+ (lambda _
+ (setenv "HOME" "/tmp"))))))
(native-inputs
- (list go-github-com-masterminds-sprig-v3
- go-github-com-adrg-strutil
+ (list go-github-com-adrg-strutil
go-github-com-adrg-xdg
go-github-com-bmatcuk-doublestar-v4
go-github-com-d5-tengo-v2
@@ -1556,16 +1540,20 @@ of a Unix terminal to HTML code.")
go-github-com-errata-ai-regexp2
go-github-com-expr-lang-expr
go-github-com-gobwas-glob
+ go-github-com-jdkato-go-tree-sitter-julia
go-github-com-jdkato-twine
- go-github-com-karrick-godirwalk
- go-github-com-mholt-archiver-v3
+ go-github-com-masterminds-sprig-v3
go-github-com-mitchellh-mapstructure
go-github-com-niklasfasching-go-org
go-github-com-olekukonko-tablewriter
go-github-com-otiai10-copy
+ go-github-com-pelletier-go-toml-v2
go-github-com-pterm-pterm
go-github-com-remeh-sizedwaitgroup
+ go-github-com-smacker-go-tree-sitter
go-github-com-spf13-pflag
+ go-github-com-stretchr-testify
+ go-github-com-tomwright-dasel-v2
go-github-com-yuin-goldmark
go-golang-org-x-exp
go-golang-org-x-net
diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm
index 2a94f53474..376fbe1504 100644
--- a/gnu/packages/time.scm
+++ b/gnu/packages/time.scm
@@ -49,7 +49,6 @@
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages geo)
- #:use-module (gnu packages golang)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages libffi)
#:use-module (gnu packages perl)
@@ -696,7 +695,7 @@ choosing.")
(list
#:import-path "github.com/antonmedv/countdown"))
(native-inputs
- (list go-github.com-nsf-termbox-go))
+ (list go-github-com-nsf-termbox-go))
(home-page "https://github.com/antonmedv/countdown")
(synopsis "Counts to zero with a text user interface")
(description
diff --git a/gnu/packages/tor-browsers.scm b/gnu/packages/tor-browsers.scm
index 6d74a75f4b..13a1b41f72 100644
--- a/gnu/packages/tor-browsers.scm
+++ b/gnu/packages/tor-browsers.scm
@@ -216,7 +216,7 @@ Browser.")
"16zyixbddwaiw1bzsai5crdg58kmacshsr0rp37m85qk0a8vryg3"))))
(build-system mozilla-build-system)
(inputs
- (list go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird
+ (list lyrebird
firefox-locales
tor-client
alsa-lib
@@ -956,7 +956,7 @@ Mullvad Browser.")
(delete 'autoconfig-tor)))))
(inputs
(modify-inputs (package-inputs torbrowser)
- (delete go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird)))
+ (delete lyrebird)))
(propagated-inputs
(modify-inputs (package-propagated-inputs torbrowser)
(append ublock-origin/icecat)))
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 2a95bc79e1..0990689a92 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -59,6 +59,8 @@
;;; Copyright © 2024 Javier Olaechea <pirata@gmail.com>
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
+;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
+;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -126,6 +128,7 @@
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-crypto)
+ #:use-module (gnu packages golang-vcs)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages groff)
@@ -980,6 +983,125 @@ the date of the most recent commit that modified them
@end itemize")
(license license:gpl3+)))
+(define-public git-spice
+ (package
+ (name "git-spice")
+ (version "0.9.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/abhinav/git-spice")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1yvnd5a3ql905jrxh0sq9sdcfmyq38fsbqx0zbhxbd4rgs8hv5s3"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.23
+ #:import-path "go.abhg.dev/gs"
+ #:install-source? #f
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ ;; XXX: Tests failing with various reasons; requiring
+ ;; networking config or write access, or outbound access, check
+ ;; if some of them may be fixed.
+ (list "TestDeviceFlowAuthenticator"
+ "TestScript/auth_detect_forge"
+ "TestScript/auth_explicit_forge"
+ "TestScript/auth_insecure_storage"
+ "TestScript/auth_prompt_forge"
+ "TestScript/branch_split_reassign_submitted"
+ "TestScript/branch_submit_ambiguous_branch"
+ "TestScript/branch_submit_by_name"
+ "TestScript/branch_submit_config_no_publish"
+ "TestScript/branch_submit_create_update"
+ "TestScript/branch_submit_detect_existing"
+ "TestScript/branch_submit_detect_existing_conflict"
+ "TestScript/branch_submit_detect_existing_upstream_name"
+ "TestScript/branch_submit_force_push"
+ "TestScript/branch_submit_long_body"
+ "TestScript/branch_submit_many_upstream_names_taken"
+ "TestScript/branch_submit_multiple_commits"
+ "TestScript/branch_submit_multiple_pr_templates"
+ "TestScript/branch_submit_navigation_.*_out_multiple"
+ "TestScript/branch_submit_needs_restack"
+ "TestScript/branch_submit_no_editor"
+ "TestScript/branch_submit_no_publish"
+ "TestScript/branch_submit_pr_template"
+ "TestScript/branch_submit_pr_template_cache_invalidation"
+ "TestScript/branch_submit_pr_template_no_body"
+ "TestScript/branch_submit_pr_template_prompt"
+ "TestScript/branch_submit_recover_prepared"
+ "TestScript/branch_submit_remote_prompt"
+ "TestScript/branch_submit_rename"
+ "TestScript/branch_submit_rename_base"
+ "TestScript/branch_submit_update_pr_is_closed"
+ "TestScript/branch_submit_update_pr_is_merged"
+ "TestScript/branch_submit_upstream_name"
+ "TestScript/branch_submit_upstream_name_wrong_remote"
+ "TestScript/branch_submit_use_git_editor"
+ "TestScript/branch_submit_web"
+ "TestScript/branch_submit_web_opt_out"
+ "TestScript/downstack_submit"
+ "TestScript/issue369_branch_.*_case_insensitive"
+ "TestScript/issue369_branch_.*_remote_update"
+ "TestScript/issue398_repo_sync_many_merged"
+ "TestScript/repo_sync_after_merging_renamed_branch"
+ "TestScript/repo_sync_detached_head"
+ "TestScript/repo_sync_detect_externally_created_prs"
+ "TestScript/repo_sync_external_pr_head_mismatch"
+ "TestScript/repo_sync_manual_pull_merged_pr"
+ "TestScript/repo_sync_merged_pr"
+ "TestScript/repo_sync_remote_already_deleted"
+ "TestScript/repo_sync_restack"
+ "TestScript/repo_sync_trunk_dirty_tree"
+ "TestScript/repo_sync_trunk_no_prs"
+ "TestScript/repo_sync_unpushed_commits"
+ "TestScript/stack_submit"
+ "TestScript/stack_submit_update_leave_draft"
+ "TestScript/stack_submit_web"
+ "TestScript/upstack_submit_main")
+ "|"))))
+ (native-inputs
+ (list git-minimal ; for tests in testdata/scripts
+ go-github-com-alecthomas-kong
+ go-github-com-buildkite-shellwords
+ go-github-com-charmbracelet-bubbles
+ go-github-com-charmbracelet-bubbletea
+ go-github-com-charmbracelet-lipgloss
+ go-github-com-charmbracelet-log
+ go-github-com-cli-browser
+ go-github-com-creack-pty
+ go-github-com-dustin-go-humanize
+ go-github-com-mattn-go-isatty
+ go-github-com-rogpeppe-go-internal
+ go-github-com-sahilm-fuzzy
+ go-github-com-shurcool-githubv4
+ go-github-com-stretchr-testify
+ go-github-com-tidwall-gjson
+ go-github-com-vito-midterm
+ go-github-com-xanzy-go-gitlab
+ go-github-com-zalando-go-keyring
+ go-go-abhg-dev-komplete
+ go-go-abhg-dev-requiredfield
+ go-go-abhg-dev-testing-stub
+ go-go-uber-org-mock
+ go-golang-org-x-oauth2
+ go-gopkg-in-dnaeon-go-vcr-v4
+ go-gopkg-in-yaml-v3
+ go-pgregory-net-rapid))
+ (home-page "https://go.abhg.dev/gs")
+ (synopsis "Manage stacks of Git branches")
+ (description
+ "git-spice (@code{gs}) is a command line tool for stacking Git branches,
+a collection of branches expecting the trunk has a base branch. It manages
+and navigates stacks of branches, conveniently modifies and rebases them also
+provides an integration with GitHub and GitLab.")
+ (license license:gpl3)))
+
(define-public got
(package
(name "got")
@@ -3812,7 +3934,7 @@ will reconstruct the object along its delta-base chain and return it.")
(define-public git-lfs
(package
(name "git-lfs")
- (version "3.4.0")
+ (version "3.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3821,13 +3943,14 @@ will reconstruct the object along its delta-base chain and return it.")
(file-name (git-file-name name version))
(sha256
(base32
- "0ljjs8kyznp2ifkqdcd9q3550sknyx5qxx247icwkd9djjq7x74m"))))
+ "09ry2nq5bpdxk446dyhc0d6d85wy5x2i5ckwwg9r00a3zdp5v4ry"))))
(build-system go-build-system)
(arguments
(list
#:embed-files #~(list "children" "nodes" "text")
#:import-path "github.com/git-lfs/git-lfs"
#:install-source? #f
+ #:test-flags #~(list "-skip" "TestHistoryRewriterUpdatesRefs")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-/bin/sh
@@ -3863,24 +3986,25 @@ will reconstruct the object along its delta-base chain and return it.")
(list ronn-ng ruby-asciidoctor)
'())))
(propagated-inputs
- (list go-github-com-xeipuuv-gojsonschema
- go-github-com-xeipuuv-gojsonreference
- go-github-com-xeipuuv-gojsonpointer
- go-golang-org-x-net
- go-golang-org-x-sync
- go-github-com-ssgelm-cookiejarparser
- go-github-com-rubyist-tracerx
- go-github-com-olekukonko-ts
- go-github-com-leonelquinteros-gotext
- go-github-com-git-lfs-wildmatch-v2
- go-github-com-git-lfs-pktline
- go-github-com-git-lfs-go-netrc
- go-github-com-git-lfs-gitobj-v2
+ (list go-github-com-avast-retry-go
go-github-com-dpotapov-go-spnego
- go-github-com-avast-retry-go
+ go-github-com-git-lfs-gitobj-v2
+ go-github-com-git-lfs-go-netrc
+ go-github-com-git-lfs-pktline
+ go-github-com-git-lfs-wildmatch-v2
+ go-github-com-jmhodges-clock
+ go-github-com-leonelquinteros-gotext
go-github-com-mattn-go-isatty
+ go-github-com-olekukonko-ts
go-github-com-pkg-errors
- go-github-com-spf13-cobra))
+ go-github-com-rubyist-tracerx
+ go-github-com-spf13-cobra
+ go-github-com-ssgelm-cookiejarparser
+ go-github-com-stretchr-testify
+ go-github-com-xeipuuv-gojsonschema
+ go-golang-org-x-net
+ go-golang-org-x-sync
+ go-golang-org-x-sys))
(home-page "https://git-lfs.github.com/")
(synopsis "Git extension for versioning large files")
(description
@@ -4055,59 +4179,6 @@ of machine readable. This helps improve code quality and helps you spot
defects faster.")
(license license:expat)))
-(define-public go-github-com-go-git-go-git-v5
- (package
- (name "go-github-com-go-git-go-git-v5")
- (version "5.1.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/go-git/go-git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1vkcmhh2qq8c38sjbnzf0wvg2rzr19wssaq177bsvrjwj1xz1qbs"))))
- (build-system go-build-system)
- (arguments
- (list
- #:tests? #f ;requires network connection
- #:import-path "github.com/go-git/go-git/v5"
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'build 'setup
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((git #$(this-package-native-input "git"))
- (git-bin (string-append git "/bin"))
- (git-exe (string-append git-bin "/git")))
- (setenv "GIT_DIST_PATH=" git)
- (setenv "GIT_EXEC_PATH=" git-bin)
- (setenv "HOME" (getcwd))
- (invoke git-exe "config" "--global" "user.email" "gha@example.com")
- (invoke git-exe "config" "--global" "user.name" "GitHub Actions")))))))
- (propagated-inputs
- (list go-github-com-alcortesm-tgz
- go-github-com-emirpasic-gods
- go-github-com-go-git-gcfg
- go-github-com-go-git-go-billy-v5
- go-github-com-go-git-go-git-fixtures-v4
- go-github-com-imdario-mergo
- go-github-com-jbenet-go-context
- go-github-com-kevinburke-ssh-config
- go-github-com-mitchellh-go-homedir
- go-github-com-sergi-go-diff
- go-github-com-xanzy-ssh-agent
- go-golang-org-x-crypto
- go-golang-org-x-net
- go-golang-org-x-text
- go-gopkg-in-check-v1
- go-gopkg-in-warnings))
- (native-inputs (list git))
- (home-page "https://github.com/go-git/")
- (synopsis "Git implementation library")
- (description "This package provides a Git implementation library.")
- (license license:asl2.0)))
-
(define-public gita
(let ((commit "e41b504dca90a25e9be27f296da7ce22e5782893")
(revision "1"))
@@ -4171,7 +4242,7 @@ If several repos are related, it helps to see their status together.")
(define-public ghq
(package
(name "ghq")
- (version "1.6.2")
+ (version "1.7.1")
(home-page "https://github.com/x-motemen/ghq")
(source (origin
(method git-fetch)
@@ -4181,7 +4252,7 @@ If several repos are related, it helps to see their status together.")
(file-name (git-file-name name version))
(sha256
(base32
- "00rrm0gykmj60i0lnr4js6d4193c92zm3cimimb03xva4n9frvxw"))))
+ "0ai3klp3fm5r0idnml5pm55wcvkav3w0s11snlmr0ab1ki8m9sg5"))))
(build-system go-build-system)
(arguments
(list
@@ -4204,13 +4275,14 @@ If several repos are related, it helps to see their status together.")
(native-inputs
(list git-minimal))
(inputs
- (list go-github-com-songmu-gitconfig
- go-github-com-mattn-go-isatty
+ (list go-github-com-mattn-go-isatty
go-github-com-motemen-go-colorine
go-github-com-saracen-walker
+ go-github-com-songmu-gitconfig
go-github-com-urfave-cli-v2
go-golang-org-x-net
- go-golang-org-x-sync))
+ go-golang-org-x-sync
+ go-golang-org-x-text))
(synopsis "Manage remote repository clones")
(description
"@code{ghq} provides a way to organize remote repository clones, like
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 29f29e0b53..b8819bb14d 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -2290,6 +2290,7 @@ Open Container Initiative specification.")
(package
(name "umoci")
(version "0.4.7")
+ ;; XXX: Source contain vendor, consider to pack all missing dependencies.
(source
(origin
(method url-fetch)
@@ -2303,6 +2304,7 @@ Open Container Initiative specification.")
(arguments
'(#:import-path "github.com/opencontainers/umoci"
#:install-source? #f
+ #:test-subdirs '(".")
#:phases
(modify-phases %standard-phases
(replace 'unpack
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index f8cb774a79..3056083c94 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -370,12 +370,6 @@ and its related documentation.")
#$version))
#:phases
#~(modify-phases %standard-phases
- ;; XXX: Replace when go-build-system supports nested path.
- (replace 'check
- (lambda* (#:key import-path tests? #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v" "./...")))))
(add-after 'install 'install-manpage
(lambda* (#:key import-path #:allow-other-keys)
(let ((man1 (string-append #$output "/share/man/man1/"))
@@ -402,8 +396,7 @@ and its related documentation.")
go-golang-org-x-net
go-golang-org-x-oauth2
go-golang-org-x-term
- go-golang-org-x-text
- go-mvdan-cc-xurls-v2))
+ go-golang-org-x-text))
(home-page "https://miniflux.app/")
(synopsis "Minimalist and opinionated feed reader")
(description
@@ -1961,7 +1954,7 @@ UTS#46.")
(define-public esbuild
(package
(name "esbuild")
- (version "0.14.0")
+ (version "0.24.0")
(source
(origin
(method git-fetch)
@@ -1970,43 +1963,28 @@ UTS#46.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "09r1xy0kk6c9cpz6q0mxr4why373pwxbm439z2ihq3k1d5kk7x4w"))
+ (base32 "1j99m7rdql6iq3llrr8bm85hq34ssc8bmb6vhwr1ibgspjl0jd3k"))
(modules '((guix build utils)))
(snippet
- '(begin
- ;; Remove prebuilt binaries
- (delete-file-recursively "npm")
- #t))))
+ #~(begin
+ ;; Remove prebuilt binaries
+ (delete-file-recursively "npm")))))
(build-system go-build-system)
(arguments
- `(#:import-path "github.com/evanw/esbuild/cmd/esbuild"
- #:unpack-path "github.com/evanw/esbuild"
- #:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? unpack-path #:allow-other-keys)
- (when tests?
- ;; The "Go Race Detector" is only supported on 64-bit
- ;; platforms, this variable disables it.
- ;; TODO: Causes too many rebuilds, rewrite to limit to x86_64,
- ;; aarch64 and ppc64le.
- ,(if (target-riscv64?)
- `(setenv "ESBUILD_RACE" "")
- `(unless ,(target-64bit?)
- (setenv "ESBUILD_RACE" "")))
- (with-directory-excursion (string-append "src/" unpack-path)
- (invoke "make" "test-go")))
- #t)))))
+ (list
+ #:import-path "github.com/evanw/esbuild/cmd/esbuild"
+ #:unpack-path "github.com/evanw/esbuild"
+ #:test-flags #~(list #$(if (target-64bit?) "-race" "-short"))
+ ;; Test subdirectories are compiled from #:import-path.
+ #:test-subdirs #~(list "../../internal/..." "../../pkg/..." )))
(inputs
- `(("golang.org/x/sys" ,go-golang-org-x-sys)))
- (native-inputs
- `(("github.com/kylelemons/godebug" ,go-github-com-kylelemons-godebug)))
+ (list go-golang-org-x-sys-for-esbuild))
(home-page "https://esbuild.github.io/")
(synopsis "Bundler and minifier tool for JavaScript and TypeScript")
(description
- "The esbuild tool provides a unified bundler, transpiler and
-minifier. It packages up JavaScript and TypeScript code, along with JSON
-and other data, for distribution on the web.")
+ "The esbuild tool provides a unified bundler, transpiler and minifier.
+It packages up JavaScript and TypeScript code, along with JSON and other data,
+for distribution on the web.")
(license license:expat)))
(define-public tinyproxy
@@ -5550,13 +5528,17 @@ you'd expect.")
"0s7c8r6y5jv6wda2v3k47hawfdr9j3rwk717l6byvh5qsbbml0vd"))))
(build-system go-build-system)
(arguments
- (list #:import-path "github.com/mikefarah/yq/v4"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'install 'remove-binary
- (lambda _
- (delete-file-recursively
- (string-append #$output "/bin")))))))
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/mikefarah/yq/v4"
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Tests need this.
+ (add-after 'unpack 'fix-access-to-doc
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (for-each make-file-writable
+ (find-files "./pkg/yqlib/doc" "\\.md"))))))))
(propagated-inputs
(list go-github-com-a8m-envsubst
go-github-com-alecthomas-participle-v2
@@ -5591,14 +5573,12 @@ JSON, XML, properties, CSV and TSV.")
(inherit go-github-com-mikefarah-yq-v4)
(name "yq")
(arguments
- (list #:install-source? #f
- #:import-path "github.com/mikefarah/yq/v4"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'install 'rename-binary
- (lambda _
- (rename-file (string-append #$output "/bin/v4")
- (string-append #$output "/bin/yq")))))))
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-mikefarah-yq-v4)
+ ((#:install-source? _ #t) #f)
+ ((#:skip-build? _ #t) #f)
+ ((#:tests? _ #t) #f)
+ ((#:import-path _) "github.com/mikefarah/yq")))
(propagated-inputs '())
(inputs (package-propagated-inputs go-github-com-mikefarah-yq-v4))))
@@ -9011,7 +8991,7 @@ Anonip can also be uses as a Python module in your own Python application.")
"0kckcwvqklavd855np9aq5js6mg84isrlwchr504yigwma0sm7hm"))))
(build-system go-build-system)
(propagated-inputs
- (list go-github-com-robfig-cron go-golang-org-x-time))
+ (list go-github-com-robfig-cron-v3 go-golang-org-x-time))
(arguments
`(#:import-path "github.com/tsileo/poussetaches"))
(home-page "https://github.com/tsileo/poussetaches")
diff --git a/guix/build-system/go.scm b/guix/build-system/go.scm
index 5599644f3b..863177c59e 100644
--- a/guix/build-system/go.scm
+++ b/guix/build-system/go.scm
@@ -204,8 +204,10 @@ commit hash and its date rather than a proper release tag."
(import-path "")
(unpack-path "")
(build-flags ''())
+ (skip-build? #f)
(tests? #t)
(test-flags ''())
+ (test-subdirs ''("..."))
(parallel-build? #t)
(parallel-tests? #t)
(allow-go-reference? #f)
@@ -238,8 +240,10 @@ commit hash and its date rather than a proper release tag."
#:import-path #$import-path
#:unpack-path #$unpack-path
#:build-flags #$build-flags
+ #:skip-build? #$skip-build?
#:tests? #$tests?
#:test-flags #$test-flags
+ #:test-subdirs #$test-subdirs
#:parallel-build? #$parallel-build?
#:parallel-tests? #$parallel-tests?
#:allow-go-reference? #$allow-go-reference?
@@ -263,8 +267,10 @@ commit hash and its date rather than a proper release tag."
(import-path "")
(unpack-path "")
(build-flags ''())
+ (skip-build? #f)
(tests? #f) ; nothing can be done
(test-flags ''())
+ (test-subdirs ''("..."))
(allow-go-reference? #f)
(system (%current-system))
(goarch (first (go-target target)))
@@ -315,8 +321,10 @@ commit hash and its date rather than a proper release tag."
#:import-path #$import-path
#:unpack-path #$unpack-path
#:build-flags #$build-flags
+ #:skip-build? #$skip-build?
#:tests? #$tests?
#:test-flags #$test-flags
+ #:test-subdirs #$test-subdirs
#:make-dynamic-linker-cache? #f ;cross-compiling
#:allow-go-reference? #$allow-go-reference?
#:inputs %build-inputs))))
diff --git a/guix/build/go-build-system.scm b/guix/build/go-build-system.scm
index e53d8cb53c..70ff880db8 100644
--- a/guix/build/go-build-system.scm
+++ b/guix/build/go-build-system.scm
@@ -98,6 +98,10 @@
;; * Remove module packages, only offering the full Git repos? This is
;; more idiomatic, I think, because Go downloads Git repos, not modules.
;; What are the trade-offs?
+;; * Figurie out how to passthrough --verbosity option to "build" and "check"
+;; procedures.
+;; * Implement test-backend option, which would be similar to pyproject's
+;; one, allowing to provide custom test runner.
;;
;; [0] `go build`:
;; https://golang.org/cmd/go/#hdr-Compile_packages_and_dependencies
@@ -283,35 +287,71 @@ unpacking."
(_ #f))
inputs))))
-(define* (build #:key import-path build-flags (parallel-build? #t)
+(define* (build #:key
+ build-flags
+ skip-build?
+ import-path
+ (parallel-build? #t)
+ (verbosity 1)
#:allow-other-keys)
"Build the package named by IMPORT-PATH."
- (let* ((njobs (if parallel-build? (parallel-job-count) 1)))
+ (let* ((njobs (if parallel-build? (parallel-job-count) 1))
+ ;; Utilizing GOFLAGS for flexible build options passthrough, refer
+ ;; for more examples to online documentation of Golang
+ ;; <https://go.dev/src/cmd/go/testdata/script/goflags.txt>.
+ (goflags (string-join
+ (list
+ ;; Print the name of packages (pathes) as they are compiled.
+ "-v"
+ ;; Print each command as it is invoked. When enabled, it
+ ;; generates a lot of noisy logs which makes identifying
+ ;; build failures harder to determine.
+ (if (> verbosity 1) "-x" ""))
+ " ")))
+ (setenv "GOFLAGS" goflags)
(setenv "GOMAXPROCS" (number->string njobs)))
(with-throw-handler
- #t
+ #t
(lambda _
- (apply invoke "go" "install"
- "-v" ; print the name of packages as they are compiled
- "-x" ; print each command as it is invoked
- ;; Respectively, strip the symbol table and debug
- ;; information, and the DWARF symbol table.
- "-ldflags=-s -w"
- "-trimpath"
- `(,@build-flags ,import-path)))
+ (if skip-build?
+ (begin
+ (format #t "Build is skipped, no go files in project's root.~%")
+ #t)
+ (apply invoke "go" "install"
+ ;; Respectively, strip the symbol table and debug
+ ;; information, and the DWARF symbol table.
+ "-ldflags=-s -w"
+ ;; Remove all file system paths from the resulting
+ ;; executable. Instead of absolute file system paths, the
+ ;; recorded file names will begin either a module
+ ;; path@version (when using modules), or a plain import path
+ ;; (when using the standard library, or GOPATH).
+ "-trimpath"
+ `(,@build-flags ,import-path))))
+
(lambda (key . args)
(display (string-append "Building '" import-path "' failed.\n"
"Here are the results of `go env`:\n"))
(invoke "go" "env"))))
-(define* (check #:key tests? import-path test-flags (parallel-tests? #t)
+(define* (check #:key
+ tests?
+ import-path
+ test-flags
+ test-subdirs
+ (parallel-tests? #t)
#:allow-other-keys)
"Run the tests for the package named by IMPORT-PATH."
(when tests?
(let* ((njobs (if parallel-tests? (parallel-job-count) 1)))
(setenv "GOMAXPROCS" (number->string njobs)))
- (apply invoke "go" "test" `(,import-path ,@test-flags)))
+ (apply invoke "go" "test"
+ `(,@(map (lambda (dir)
+ (format #f "~a~:[/~;~]~a"
+ import-path (string-null? dir) dir))
+ test-subdirs)
+ ,@test-flags)))
#t)
(define* (install #:key install-source? outputs import-path unpack-path #:allow-other-keys)