summaryrefslogtreecommitdiff
path: root/gnu/packages/golang.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/golang.scm')
-rw-r--r--gnu/packages/golang.scm779
1 files changed, 644 insertions, 135 deletions
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index c863388475..f148c0d48a 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2016, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
@@ -32,6 +32,7 @@
;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;; Copyright © 2021 Chadwain Holness <chadwainholness@gmail.com>
;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
+;;; Copyright © 2021 Lu Hui <luhux76@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -62,10 +63,13 @@
#:use-module (gnu packages admin)
#:use-module (gnu packages base)
#:use-module ((gnu packages bootstrap) #:select (glibc-dynamic-linker))
+ #:use-module (gnu packages check)
#:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gnupg)
#:use-module (gnu packages lua)
#:use-module (gnu packages mp3)
+ #:use-module (gnu packages password-utils)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -461,7 +465,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.14)
(name "go")
- (version "1.16.12")
+ (version "1.16.13")
(source
(origin
(method git-fetch)
@@ -471,7 +475,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(file-name (git-file-name name version))
(sha256
(base32
- "06c8dcmni38za638ma069izd9kbxr6ii6ccflbibgc6k54lpc3fb"))))
+ "03f37dspn4h5kqf0nqwmnl858wx6hngnlvbnrjl1ll6ihc5j66jz"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.14)
((#:tests? _) #t)
@@ -620,7 +624,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.16)
(name "go")
- (version "1.17.5")
+ (version "1.17.6")
(source
(origin
(method git-fetch)
@@ -630,12 +634,15 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(file-name (git-file-name name version))
(sha256
(base32
- "1yjhg4j89vgb26m35gc0799x2fd0xav03gcvcg2xwcfvvcar5gza"))))
+ "05k292i9qayfy5wh96z4kjmx1mfd5birnr25vb0blzaam72mcsgw"))))
(outputs '("out" "tests")) ; 'tests' contains distribution tests.
(arguments
`(#:modules ((ice-9 match)
(guix build gnu-build-system)
(guix build utils))
+ ;; TODO: Disable the test(s) in misc/cgo/test/cgo_test.go
+ ;; that cause segfaults in the test suite.
+ #:tests? ,(not (target-aarch64?))
#:phases
(modify-phases %standard-phases
(replace 'configure
@@ -685,6 +692,29 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(string-append net-base "/etc/services")))
(substitute* "src/time/zoneinfo_unix.go"
(("/usr/share/zoneinfo/") tzdata-path)))))
+ ;; Keep this synchronized with the package inputs.
+ ,@(if (target-arm?)
+ '((add-after 'unpack 'patch-gcc:lib
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib")))
+ ;; Add libgcc to runpath
+ (substitute* "src/cmd/link/internal/ld/lib.go"
+ (("!rpath.set") "true"))
+ (substitute* "src/cmd/go/internal/work/gccgo.go"
+ (("cgoldflags := \\[\\]string\\{\\}")
+ (string-append "cgoldflags := []string{"
+ "\"-Wl,-rpath=" gcclib "\""
+ "}"))
+ (("\"-lgcc_s\", ")
+ (string-append
+ "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", ")))
+ (substitute* "src/cmd/go/internal/work/gc.go"
+ (("ldflags = setextld\\(ldflags, compiler\\)")
+ (string-append
+ "ldflags = setextld(ldflags, compiler)\n"
+ "ldflags = append(ldflags, \"-r\")\n"
+ "ldflags = append(ldflags, \"" gcclib "\")\n")))))))
+ '())
(add-after 'patch-source 'disable-failing-tests
(lambda _
;; Disable failing tests: these tests attempt to access
@@ -796,15 +826,47 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(install-file file (string-append out "/share/doc/go")))
'("AUTHORS" "CONTRIBUTORS" "CONTRIBUTING.md" "PATENTS"
"README.md" "SECURITY.md"))))))))
- (inputs (alist-delete "gcc:lib" (package-inputs go-1.16)))
+ (inputs (if (not (target-arm?))
+ (alist-delete "gcc:lib" (package-inputs go-1.16))
+ (package-inputs go-1.16)))
(native-inputs
- `(,@(if (not (member (%current-system) (package-supported-systems go-1.4)))
- ;; gccgo-10.4, 11.3 and lower has a bug which causes bootstrapping
- ;; to fail. Use go-1.16 until we have a newer version available.
- (alist-replace "go" (list go-1.16) (package-native-inputs go-1.16))
- (package-native-inputs go-1.16))))))
+ (if (not (member (%current-system) (package-supported-systems go-1.4)))
+ ;; gccgo-10.4, 11.3 and lower has a bug which causes bootstrapping
+ ;; to fail. Use go-1.16 until we have a newer version available.
+ (alist-replace "go" (list go-1.16) (package-native-inputs go-1.16))
+ (package-native-inputs go-1.16)))))
-(define-public go go-1.14)
+(define-public go go-1.17)
+
+(define-public (make-go-std go)
+ "Return a package which builds the standard library for Go compiler GO."
+ (package
+ (name (string-append (package-name go) "-std"))
+ (version (package-version go))
+ (source #f)
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "std"
+ #:build-flags `("-pkgdir" "pkg") ; "Install" to build directory.
+ #:allow-go-reference? #t
+ #:substitutable? #f ; Faster to build than download.
+ #:tests? #f ; Already tested in the main Go build.
+ #:go ,go
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'unpack)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (out-cache (string-append out "/var/cache/go/build")))
+ (copy-recursively (getenv "GOCACHE") out-cache)
+ (delete-file (string-append out-cache "/trim.txt"))
+ (delete-file (string-append out-cache "/README")))))
+ (delete 'install-license-files))))
+ (home-page (package-home-page go))
+ (synopsis "Cached standard library build for Go")
+ (description (package-description go))
+ (license (package-license go))))
(define-public go-0xacab-org-leap-shapeshifter
(let ((commit "0aa6226582efb8e563540ec1d3c5cfcd19200474")
@@ -2308,31 +2370,31 @@ command-line parsers.")
(license license:expat)))
(define-public go-github-com-hashicorp-hcl
- (let ((commit "23c074d0eceb2b8a5bfdbb271ab780cde70f05a8")
- (revision "0"))
- (package
- (name "go-github-com-hashicorp-hcl")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hashicorp/hcl")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0db4lpqb5m130rmfy3s3gjjf4dxllypmyrzxv6ggqhkmwmc7w4mc"))))
- (build-system go-build-system)
- (arguments
- '(#:tests? #f
- #:import-path "github.com/hashicorp/hcl"))
- (synopsis "Go implementation of HashiCorp Configuration Language")
- (description
- "This package contains the main implementation of the @acronym{HCL,
+ (package
+ (name "go-github-com-hashicorp-hcl")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/hcl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/hashicorp/hcl"))
+ (native-inputs
+ (list go-github-com-davecgh-go-spew))
+ (synopsis "Go implementation of HashiCorp Configuration Language V1")
+ (description
+ "This package contains the main implementation of the @acronym{HCL,
HashiCorp Configuration Language}. HCL is designed to be a language for
expressing configuration which is easy for both humans and machines to read.")
- (home-page "https://github.com/hashicorp/hcl")
- (license license:mpl2.0))))
+ (home-page "https://github.com/hashicorp/hcl")
+ (license license:mpl2.0)))
(define-public go-golang-org-x-tools
(let ((commit "8b927904ee0dec805c89aaf9172f4459296ed6e8")
@@ -2389,16 +2451,7 @@ Go programming language.")
#:phases
(modify-phases %standard-phases
;; Source-only package
- (delete 'build)
- (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
- (lambda* (#:key outputs #:allow-other-keys)
- (map (lambda (file)
- (make-file-writable file))
- (find-files
- (string-append (assoc-ref outputs "out")
- "/src/golang.org/x/crypto/ed25519/testdata")
- ".*\\.gz$"))
- #t)))))
+ (delete 'build))))
(propagated-inputs
(list go-golang-org-x-sys))
(synopsis "Supplementary cryptographic libraries in Go")
@@ -2508,8 +2561,8 @@ packages.")
(license license:bsd-3))))
(define-public go-golang-org-x-sys
- (let ((commit "05986578812163b26672dabd9b425240ae2bb0ad")
- (revision "7"))
+ (let ((commit "ed5796bab16455f104b6a384d51b7f9990cb9806")
+ (revision "8"))
(package
(name "go-golang-org-x-sys")
(version (git-version "0.0.0" revision commit))
@@ -2521,7 +2574,7 @@ packages.")
(file-name (git-file-name name version))
(sha256
(base32
- "1q2rxb6z5l6pmlckjsz2l0b8lw7bqgk6frhzbmi1dv0y5irb2ka7"))))
+ "081vs5bg91mwg5bdmlcvy2qyrvg766aicj47smcwfk4bbh0nc0qa"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/sys"
@@ -2800,10 +2853,19 @@ Go.")
(file-name (git-file-name name version))
(sha256
(base32
- "0pcdvakxgddaiwcdj73ra4da05a3q4cgwbpm2w75ycq4kzv8ij8k"))))
+ "0pcdvakxgddaiwcdj73ra4da05a3q4cgwbpm2w75ycq4kzv8ij8k"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "vendor")))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/stretchr/objx"))
+ (propagated-inputs
+ (list go-github-com-davecgh-go-spew
+ go-github-com-pmezard-go-difflib))
+ (inputs
+ (list go-github-com-stretchr-testify-bootstrap))
(home-page "https://github.com/stretchr/objx")
(synopsis "Go package for dealing with maps, slices, JSON and other data")
(description "This package provides a Go library for dealing with maps,
@@ -2813,7 +2875,7 @@ slices, JSON and other data.")
(define-public go-github-com-stretchr-testify
(package
(name "go-github-com-stretchr-testify")
- (version "1.5.1")
+ (version "1.7.0")
(source
(origin
(method git-fetch)
@@ -2823,7 +2885,7 @@ slices, JSON and other data.")
(file-name (git-file-name name version))
(sha256
(base32
- "09r89m1wy4cjv2nps1ykp00qjpi0531r07q3s34hr7m6njk4srkl"))))
+ "0ixgjsvafr3513pz3r6pmgk074s2dxkll0dadvl25gkf30rkmh10"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/stretchr/testify"))
@@ -2831,7 +2893,7 @@ slices, JSON and other data.")
`(("github.com/davecgh/go-spew" ,go-github-com-davecgh-go-spew)
("github.com/pmezard/go-difflib" ,go-github-com-pmezard-go-difflib)
("github.com/stretchr/objx" ,go-github-com-stretchr-objx)
- ("gopkg.in/yaml.v2" ,go-gopkg-in-yaml-v2)))
+ ("gopkg.in/yaml.v3" ,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
@@ -2846,6 +2908,17 @@ Features include:
@end itemize")
(license license:expat)))
+(define go-github-com-stretchr-testify-bootstrap
+ (package
+ (inherit go-github-com-stretchr-testify)
+ (arguments
+ '(#:import-path "github.com/stretchr/testify"
+ #:tests? #f
+ #:phases (modify-phases %standard-phases
+ (delete 'build))))
+ (propagated-inputs
+ (list go-gopkg-in-yaml-v3))))
+
(define-public go-github-com-tevino-abool
(let ((commit
"3c25f2fe7cd0ef3eabefce1d90efd69a65d35b12")
@@ -3656,17 +3729,7 @@ SysVinit, and more.")
(list go-golang-org-x-sys go-github-com-sirupsen-logrus
go-golang-org-x-crypto))
(arguments
- '(#:import-path "github.com/docker/distribution"
- #:phases
- (modify-phases %standard-phases
- (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
- (lambda* (#:key outputs #:allow-other-keys)
- (map (lambda (file)
- (make-file-writable file))
- (find-files
- (assoc-ref outputs "out")
- ".*\\.gz$"))
- #t)))))
+ '(#: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
@@ -5341,7 +5404,7 @@ format in Go.")
'(#: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.")
+ (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
@@ -5422,7 +5485,7 @@ golang's database/sql package.")
(define-public go-golang-org-colorful
(package
(name "go-golang-org-colorful")
- (version "1.0.2")
+ (version "1.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -5431,7 +5494,7 @@ golang's database/sql package.")
(file-name (git-file-name name version))
(sha256
(base32
- "0fig06880bvk1l92j4127v4x9sar4ds7ga8959gxxghb2w70b7l2"))))
+ "08c3fkf27r16izjjd4w94xd1z7w1r4mdalbl53ms2ka2j465s3qs"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/lucasb-eyer/go-colorful"))
@@ -5489,17 +5552,7 @@ non-UTF-friendly sources.")
"0il2nnxp2cqiy73m49215dnf9in3vd25ji8qxbmq87c5qy7i1q9d"))))
(build-system go-build-system)
(arguments
- `(#:import-path "github.com/gdamore/tcell"
- #:phases
- (modify-phases %standard-phases
- (add-before 'reset-gzip-timestamps 'make-files-writable
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Make sure .gz files are writable so that the
- ;; 'reset-gzip-timestamps' phase can do its work.
- (let ((out (assoc-ref outputs "out")))
- (for-each make-file-writable
- (find-files out "\\.gz$"))
- #t))))))
+ `(#:import-path "github.com/gdamore/tcell"))
(inputs
(list go-github.com-mattn-go-runewidth go-golang-org-colorful
go-golang-org-x-text go-github-com-gdamore-encoding))
@@ -5978,10 +6031,17 @@ can be used to build a client and/or a server.")
(file-name (git-file-name name version))
(sha256
(base32
- "1zc0zlilf03h121f9jqq3ar0hfm7706547zysxp2qxbm920pz7h0"))))
+ "1zc0zlilf03h121f9jqq3ar0hfm7706547zysxp2qxbm920pz7h0"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "vendor")))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/fatih/color"))
+ (propagated-inputs
+ (list go-github-com-mattn-go-colorable
+ go-github-com-mattn-go-isatty))
(synopsis "Print colored text in Go")
(description "This package provides an ANSI color package to output
colorized or SGR defined output to the standard output.")
@@ -6314,7 +6374,7 @@ data serialization format.")
(home-page "https://github.com/mattn/go-zglob")
(synopsis "Glob library that descends into other directories")
(description " A glob library that implements descending into other
-directories. It is optimized for filewalking. ")
+directories. It is optimized for filewalking.")
(license license:expat)))
(define-public go-github-com-mattn-go-sqlite3
@@ -7047,10 +7107,13 @@ transforms one JSON document into another through a JMESPath expression.")
(build-system go-build-system)
(arguments
`(#:import-path "github.com/chris-ramon/douceur"))
- (native-inputs
- (list go-github-com-aymerick-douceur go-github-com-puerkitobio-goquery
- go-github-com-andybalholm-cascadia go-golang-org-x-net
+ (propagated-inputs
+ (list go-github-com-aymerick-douceur
go-github-com-gorilla-css))
+ (native-inputs
+ (list go-github-com-puerkitobio-goquery
+ go-github-com-andybalholm-cascadia
+ go-golang-org-x-net))
(home-page "https://github.com/chris-ramon/douceur/")
(synopsis "CSS parser and inliner")
(description "This package provides a CSS parser and inliner.")
@@ -7072,9 +7135,9 @@ transforms one JSON document into another through a JMESPath expression.")
(build-system go-build-system)
(arguments
`(#:import-path "github.com/microcosm-cc/bluemonday"))
- (native-inputs
- (list go-github-com-chris-ramon-douceur go-github-com-aymerick-douceur
- go-github-com-gorilla-css go-golang-org-x-net))
+ (propagated-inputs
+ (list go-github-com-chris-ramon-douceur
+ go-golang-org-x-net))
(home-page "https://github.com/microcosm-cc/bluemonday/")
(synopsis "HTML sanitizer")
(description "@code{bluemonday} is a HTML sanitizer implemented in Go.")
@@ -7083,7 +7146,7 @@ transforms one JSON document into another through a JMESPath expression.")
(define-public go-github-com-muesli-reflow-wordwrap
(package
(name "go-github-com-muesli-reflow-wordwrap")
- (version "0.1.0")
+ (version "0.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -7092,7 +7155,7 @@ transforms one JSON document into another through a JMESPath expression.")
(file-name (git-file-name "go-github-com-muesli-reflow" version))
(sha256
(base32
- "1vhynm2n1az13fn03lp0gi28p9mznq1mblglh8f2rb9y1vkd2dqr"))))
+ "09zcz2cqdwgj1ilya5pqwndryk6lansn87x63fcm8j1xn74vd2ry"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/muesli/reflow/wordwrap"
@@ -7129,10 +7192,18 @@ io.Writers helping you to transform blocks of text.")
`(#:import-path "github.com/muesli/reflow/padding"
#:unpack-path "github.com/muesli/reflow"))))
+(define-public go-github-com-muesli-reflow-truncate
+ (package
+ (inherit go-github-com-muesli-reflow-wordwrap)
+ (name "go-github-com-muesli-reflow-truncate")
+ (arguments
+ `(#:import-path "github.com/muesli/reflow/truncate"
+ #:unpack-path "github.com/muesli/reflow"))))
+
(define-public go-github-com-muesli-termenv
(package
(name "go-github-com-muesli-termenv")
- (version "0.7.0")
+ (version "0.8.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -7141,7 +7212,7 @@ io.Writers helping you to transform blocks of text.")
(file-name (git-file-name name version))
(sha256
(base32
- "09fwrdhy7c9qlf70h97f5inh6xvkfq1vi8fwx9q7bwmjjbiykk8m"))))
+ "0m24ljq1nq7z933fcvg99fw0fhxj9rb5ll4rlay7z2f2p59mrbdp"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/muesli/termenv"))
@@ -7200,7 +7271,7 @@ which produce colorized output using github.com/fatih/color.")
(build-system go-build-system)
(arguments
`(#:import-path "github.com/olekukonko/tablewriter"))
- (native-inputs
+ (propagated-inputs
(list go-github.com-mattn-go-runewidth))
(home-page "https://github.com/olekukonko/tablewriter/")
(synopsis "Generate ASCII table")
@@ -7483,7 +7554,7 @@ can manipulate a @file{ssh_config} file from a program.")
(description "Package agent implements the ssh-agent protocol, and
provides both a client and a server. The client can talk to a standard
ssh-agent that uses UNIX sockets, and one could implement an alternative
-ssh-agent process using the sample server. ")
+ssh-agent process using the sample server.")
(license license:asl2.0)))
(define-public go-github-com-alcortesm-tgz
@@ -8663,50 +8734,6 @@ zero round-trip encryption, and other advanced features.")
non-cryptographic hash algorithm, working at speeds close to RAM limits.")
(license license:asl2.0)))
-(define-public go-github-com-aswinkarthik-csvdiff
- (package
- (name "go-github-com-aswinkarthik-csvdiff")
- (version "1.4.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/aswinkarthik/csvdiff")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0cd1ikxsypjqisfnmr7zix3g7x8p892w77086465chyd39gpk97b"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/aswinkarthik/csvdiff"))
- (propagated-inputs
- (list go-golang-org-x-sys
- go-github-com-stretchr-testify
- go-github-com-spf13-cobra
- go-github-com-spf13-afero
- go-github-com-spaolacci-murmur3
- go-github-com-mattn-go-colorable
- go-github-com-fatih-color
- go-github-com-cespare-xxhash
- go-github-com-oneofone-xxhash))
- (home-page "https://github.com/aswinkarthik/csvdiff")
- (synopsis "Fast diff tool for comparing CSV files")
- (description "@code{csvdiff} is a diff tool to compute changes between two
-CSV files. It can compare CSV files with a million records in under 2
-seconds. It is specifically suited for comparing CSV files dumped from
-database tables. GNU Diff is orders of magnitude faster for comparing line by
-line. @code{csvdiff} supports
-
-@itemize
-@item Selective comparison of fields in a row
-@item Specifying group of columns as primary-key to uniquely identify a row
-@item Ignoring columns
-@item Several output formats including colored git style output or
-JSON for post-processing
-@end itemize")
- (license license:expat)))
-
(define-public go-gopkg-in-djherbis-times-v1
(package
(name "go-gopkg-in-djherbis-times-v1")
@@ -8797,6 +8824,71 @@ averages.")
string.")
(license license:expat)))
+
+(define-public go-github-com-charmbracelet-bubbletea
+ (package
+ (name "go-github-com-charmbracelet-bubbletea")
+ (version "0.13.2")
+ (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
+ "1105cggi5fwqx69m0vrhgwx6kaw82w4ahn58sj0a81603c4yvrk0"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/charmbracelet/bubbletea"))
+ (propagated-inputs
+ `(("github.com/mattn/go-isatty" ,go-github-com-mattn-go-isatty)
+ ("github.com/muesli/termenv" ,go-github-com-muesli-termenv)
+ ("github.com/mattn/go-runewidth" ,go-github.com-mattn-go-runewidth)
+ ("go-github-com-muesli-reflow-indent" ,go-github-com-muesli-reflow-indent)
+ ("go-github-com-muesli-reflow-ansi" ,go-github-com-muesli-reflow-ansi)
+ ("go-golang-org-colorful" ,go-golang-org-colorful)
+ ("github.com/containerd/console" ,go-github-com-containerd-console)
+ ("go-github-com-muesli-reflow-truncate" ,go-github-com-muesli-reflow-truncate)
+ ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
+ ("go-golang-org-x-sys" ,go-golang-org-x-sys)
+ ("go-golang-org-x-term" ,go-golang-org-x-term)
+ ("github.com/mattn/go-isatty" ,go-github-com-mattn-go-isatty)))
+ (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-arceliar-ironwood
(package
(name "go-github-com-arceliar-ironwood")
@@ -8832,3 +8924,420 @@ written to test improvements to / replace the routing logic in
@url{https://github.com/yggdrasil-network/yggdrasil-go,Yggdrasil}, but it may
be useful for other network applications.")
(license license:mpl2.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 go-github-com-percent
+ (deprecated-package "go-github-com-percent" go-github-com-mtibben-percent))
+
+(define-public go-github-com-dvsekhvalnov-jose2go
+ (package
+ (name "go-github-com-dvsekhvalnov-jose2go")
+ (version "1.5.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dvsekhvalnov/jose2go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1pzfmv2dxb3m455bi1ks4q3i0dcw1sazxk8k96wrgpkwgglyxj3n"))))
+ (build-system go-build-system)
+ (native-inputs
+ (list go-gopkg-in-check-v1))
+ (arguments
+ '(#:import-path "github.com/dvsekhvalnov/jose2go"
+ #:phases %standard-phases))
+ (synopsis "Go implementation of Javascript Object Signing and Encryption spec")
+ (description
+ "This package provides a Go library for generating, decoding, and
+encrypting JSON Web Tokens (JWT). It relies only on the standard library.")
+ (home-page "https://github.com/dvsekhvalnov/jose2go")
+ (license license:expat)))
+
+(define-public aws-vault
+ (package
+ (name "aws-vault")
+ (version "6.3.1")
+ (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
+ "02zw0kl77yr56mw1fbvr51c4mz2265c9al2nzvnqqzdx5aha7nf8"))))
+ (build-system go-build-system)
+ (native-inputs
+ (list go-github-com-99designs-go-keyring
+ go-github-com-mtibben-androiddnsfix
+ go-github-com-mtibben-percent
+ go-github-com-jmespath-go-jmespath
+ go-github-com-aws-aws-sdk-go
+ go-github-com-dvsekhvalnov-jose2go
+ go-github-com-godbus-dbus
+ go-github-com-gsterjov-go-libsecret
+ go-github-com-mitchellh-go-homedir
+ go-golang-org-x-crypto
+ go-golang-org-x-sys
+ go-gopkg-in-ini
+ go-github-com-skratchdot-open-golang
+ go-github-com-alecthomas-kingpin
+ go-github-com-alecthomas-template
+ go-github-com-alecthomas-units))
+ (arguments
+ `(#:import-path "github.com/99designs/aws-vault"
+ #:install-source? #f
+ #: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 outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (zsh-site-dir (string-append out "/share/zsh/site-functions"))
+ (bash-completion-dir
+ (string-append out "/share/bash-completion/completions"))
+ (fish-completion-dir
+ (string-append out "/share/fish/completions")))
+ (for-each mkdir-p
+ `(,zsh-site-dir ,bash-completion-dir ,fish-completion-dir))
+ (with-directory-excursion
+ "src/github.com/99designs/aws-vault/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")))))))))
+ (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.")
+ (home-page "https://github.com/99designs/aws-vault")
+ (license license:expat)))
+
+(define-public go-github-com-gsterjov-go-libsecret
+ (let ((commit "a6f4afe4910cad8688db3e0e9b9ac92ad22d54e1")
+ (revision "0"))
+ (package
+ (name "go-github-com-gsterjov-go-libsecret")
+ (version "5.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gsterjov/go-libsecret")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "09zaiadnll83vs22ib89agg7anj0blw5fywvmckxllsgif6ak6v7"))))
+ (build-system go-build-system)
+ (native-inputs
+ (list go-github-com-godbus-dbus))
+ (arguments
+ '(#:import-path "github.com/gsterjov/go-libsecret"
+ #:phases %standard-phases))
+ (synopsis "Manage secrets via the \"Secret Service\" DBus API")
+ (description
+ "This native Go library manages secrets via the freedesktop.org
+\"Secret Service\" DBus interface.")
+ (home-page "https://github.com/gsterjov/go-libsecret")
+ (license license:expat))))
+
+(define-public go-github-com-go-libsecret
+ (deprecated-package "go-github-com-go-libsecret" go-github-com-gsterjov-go-libsecret))
+
+(define-public go-github-com-99designs-go-keyring
+ (package
+ (name "go-github-com-99designs-go-keyring")
+ (version "1.1.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/99designs/keyring")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "08rcdqpxaa9n348q10fw40q4gxpjajkyrighykk71i7mxzwkcgwn"))))
+ (build-system go-build-system)
+ (native-inputs
+ (list go-golang-org-x-crypto
+ go-golang-org-x-sys
+ go-github-com-mtibben-percent
+ go-github-com-mitchellh-go-homedir
+ go-github-com-dvsekhvalnov-jose2go
+ go-github-com-godbus-dbus
+ go-github-com-gsterjov-go-libsecret
+ password-store
+ gnupg))
+ (arguments
+ '(#:import-path "github.com/99designs/keyring"
+ #:tests? #f)) ;XXX: tests require Vagrant
+ (synopsis "Go library providing a uniform interface for various secure
+credential stores")
+ (description
+ "Keyring provides utility functions for and a common interface to a range
+of secure credential storage services. Originally developed as part of AWS
+Vault, a command line tool for securely managing AWS access from developer
+workstations.
+
+Currently Keyring supports the following backends: macOS/OSX Keychain, Windows
+pcredential store, Pass, Secret Service, KDE Wallet, Encrypted File.")
+ (home-page "https://github.com/99designs/keyring")
+ (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-github-com-aws-aws-sdk-go
+ (package
+ (name "go-github-com-aws-aws-sdk-go")
+ (version "1.36.18")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aws/aws-sdk-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "169mkkw1cff1px6326krwvfpfj07sb4y5rbn003gi4bk176h6ry9"))))
+ (build-system go-build-system)
+ (propagated-inputs
+ (list go-github-com-jmespath-go-jmespath))
+ (arguments
+ '(#:import-path "github.com/aws/aws-sdk-go"
+ #:phases %standard-phases))
+ (synopsis "The official AWS SDK for the Go programming language")
+ (description
+ "The official AWS SDK for the Go programming language.")
+ (home-page "https://github.com/aws/aws-sdk-go")
+ (license license:asl2.0)))
+
+(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)))
+
+(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-alecthomas-kingpin
+ (package
+ (name "go-github-com-alecthomas-kingpin")
+ (version "2.2.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alecthomas/kingpin")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r"))))
+ (build-system go-build-system)
+ (native-inputs
+ (list go-github-com-alecthomas-template go-github-com-alecthomas-units
+ go-github-com-stretchr-testify))
+ (arguments
+ '(#:import-path "github.com/alecthomas/kingpin"
+ #:phases %standard-phases))
+ (synopsis "Go library provides utilities for building command line interfaces")
+ (description
+ "Go library provides utilities for building command line interfaces.")
+ (home-page "https://github.com/alecthomas/kingpin")
+ (license license:expat)))
+
+(define-public go-github-com-kingpin
+ (deprecated-package "go-github-com-kingpin" go-github-com-alecthomas-kingpin))
+
+(define-public go-github-com-alecthomas-template
+ (let ((commit "a0175ee3bccc567396460bf5acd36800cb10c49c")
+ (revision "0"))
+ (package
+ (name "go-github-com-alecthomas-template")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alecthomas/template")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/alecthomas/template"
+ #:phases %standard-phases))
+ (synopsis "Fork of Go's text/template adding newline elision")
+ (description
+ "This is a fork of Go 1.4's text/template package with one addition: a
+backslash immediately after a closing delimiter will delete all subsequent
+newlines until a non-newline.")
+ (home-page "https://github.com/alecthomas/template")
+ (license license:bsd-3))))
+
+(define-public go-github-com-alecthomas-units
+ (let ((commit "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a")
+ (revision "0"))
+ (package
+ (name "go-github-com-alecthomas-units")
+ (version "0.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alecthomas/units")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl"))))
+ (build-system go-build-system)
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (arguments
+ '(#:import-path "github.com/alecthomas/units"
+ #:phases %standard-phases))
+ (synopsis "Helpful unit multipliers and functions for Go")
+ (description
+ "This library provides unit multipliers and functions for Go.")
+ (home-page "https://github.com/alecthomas/units")
+ (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)))