summary refs log tree commit diff
path: root/gnu/packages/golang.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/golang.scm')
-rw-r--r--gnu/packages/golang.scm455
1 files changed, 444 insertions, 11 deletions
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index f148c0d48a..ba0fcee214 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -74,6 +74,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages ruby)
   #:use-module (gnu packages syncthing)
   #:use-module (gnu packages terminals)
   #:use-module (gnu packages textutils)
@@ -459,13 +460,13 @@ in the style of communicating sequential processes (@dfn{CSP}).")
             `(("gold" ,binutils-gold)))
            (_ `()))
        ,@(package-native-inputs go-1.4)))
-    (supported-systems %supported-systems)))
+    (supported-systems (delete "powerpc-linux" %supported-systems))))
 
 (define-public go-1.16
   (package
     (inherit go-1.14)
     (name "go")
-    (version "1.16.13")
+    (version "1.16.14")
     (source
      (origin
        (method git-fetch)
@@ -475,10 +476,10 @@ in the style of communicating sequential processes (@dfn{CSP}).")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "03f37dspn4h5kqf0nqwmnl858wx6hngnlvbnrjl1ll6ihc5j66jz"))))
+         "16pn7avzmlw28sldx6yv38a1afdwj7jz3x7kjvlagysqrsh5lwwl"))))
     (arguments
-     (substitute-keyword-arguments (package-arguments go-1.14)
-       ((#:tests? _) #t)
+     (substitute-keyword-arguments
+         (strip-keyword-arguments '(#:tests?) (package-arguments go-1.14))
        ((#:phases phases)
         `(modify-phases ,phases
            (add-after 'unpack 'remove-unused-sourcecode-generators
@@ -624,7 +625,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
   (package
     (inherit go-1.16)
     (name "go")
-    (version "1.17.6")
+    (version "1.17.7")
     (source
      (origin
        (method git-fetch)
@@ -634,7 +635,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "05k292i9qayfy5wh96z4kjmx1mfd5birnr25vb0blzaam72mcsgw"))))
+         "0d0xybn7sy4za3f0s2ffb6yfv6pjabnk4jyvz7dn3hjqhd5lks7m"))))
     (outputs '("out" "tests")) ; 'tests' contains distribution tests.
     (arguments
      `(#:modules ((ice-9 match)
@@ -899,6 +900,66 @@ 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")
@@ -1097,6 +1158,28 @@ terminals.")
 proxy protocol.")
     (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 '(#: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-riobard-go-bloom
   (let ((commit "cdc8013cb5b3eb0efebec85f0e904efccac42df9")
         (revision "0"))
@@ -2046,7 +2129,7 @@ specified by @uref{https://tools.ietf.org/html/rfc2141, IETF RFC 2141}.")
 (define-public go-github.com-jessevdk-go-flags
   (package
     (name "go-github.com-jessevdk-go-flags")
-    (version "1.3.0")
+    (version "1.5.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2054,11 +2137,19 @@ specified by @uref{https://tools.ietf.org/html/rfc2141, IETF RFC 2141}.")
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
-               (base32
-                "1jk2k2l10lwrn1r3nxdvbs0yz656830j4khzirw8p4ahs7c5zz36"))))
+               (base32 "13ixw1yx4bvcj66lkc8zgwf9j7gkvj686g991gycdsafvdvca0lj"))))
     (build-system go-build-system)
     (arguments
-     '(#:import-path "github.com/jessevdk/go-flags"))
+     '(#: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
@@ -2396,6 +2487,37 @@ 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-hashicorp-hcl-v2
+  (package
+    (name "go-github-com-hashicorp-hcl-v2")
+    (version "2.11.1")
+    (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
+         "0f9flmmkj7fr1337fc56cqy73faq87ix375hnz3id4wc023przv1"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/hashicorp/hcl/v2"))
+    (native-inputs
+     (list go-github-com-davecgh-go-spew))
+    (inputs
+     (list go-github-com-agext-levenshtein go-github-com-mitchellh-go-wordwrap
+           go-github-com-zclconf-go-cty
+           go-github-com-apparentlymart-go-textseg-v13))
+    (synopsis "Go implementation of HashiCorp Configuration Language V2")
+    (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)))
+
 (define-public go-golang-org-x-tools
   (let ((commit "8b927904ee0dec805c89aaf9172f4459296ed6e8")
         (revision "0"))
@@ -3205,6 +3327,32 @@ values for the purpose of fuzz testing.")
 incoming requests with their respective handler.")
     (license license:bsd-3)))
 
+(define-public go-github-com-andybalholm-brotli
+  (package
+    (name "go-github-com-andybalholm-brotli")
+    (version "1.0.4")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/andybalholm/brotli")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1zvmj7gbnkq9xwv1bvcxk9acxl06y902148qwbd2kqwgs52wy2c0"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/andybalholm/brotli"))
+    (home-page "https://github.com/andybalholm/brotli")
+    (synopsis "Pure Go Brotli encoder and decoder")
+    (description
+     "This package is a brotli compressor and decompressor implemented in Go.
+It was translated from the reference implementation
+(@url{https://github.com/google/brotli,https://github.com/google/brotli}) with
+the @code{c2go} tool at
+@url{https://github.com/andybalholm/c2go,https://github.com/andybalholm/c2go}.")
+    (license license:expat)))
+
 (define-public go-github-com-gorilla-handlers
   (package
     (name "go-github-com-gorilla-handlers")
@@ -3766,6 +3914,28 @@ 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"))
@@ -7741,6 +7911,80 @@ and @code{ioutil} packages that is easy to test.")
 @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")
@@ -7791,6 +8035,38 @@ bindings for the D-Bus message bus system.")
 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-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-etcd-io-bbolt
   (package
     (name "go-etcd-io-bbolt")
@@ -8756,6 +9032,140 @@ non-cryptographic hash algorithm, working at speeds close to RAM limits.")
      "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-fasthttp
+  (package
+    (name "go-github-com-valyala-fasthttp")
+    (version "1.31.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/valyala/fasthttp")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0ra0n2shcp11736xv37cjnsqn32gvqfm3dkf9v8j98xmch2wqxqg"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/valyala/fasthttp"))
+    (propagated-inputs
+     (list go-golang-org-x-sys
+           go-golang-org-x-net
+           go-golang-org-x-crypto
+           go-github-com-valyala-tcplisten
+           go-github-com-valyala-bytebufferpool
+           go-github-com-klauspost-compress
+           go-github-com-andybalholm-brotli))
+    (home-page "https://github.com/valyala/fasthttp")
+    (synopsis "Provides fast HTTP server and client API")
+    (description
+     "This package provides a Go module @code{fasthttp} which may be used as
+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-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-vividcortex-ewma
   (package
     (name "go-github-com-vividcortex-ewma")
@@ -9341,3 +9751,26 @@ Features:
 @item TCP tunneling (e.g. benchmark with iperf3)
 @end itemize")
     (license license:asl2.0)))
+
+(define-public go-github-com-go-chi-chi-v5
+  (package
+    (name "go-github-com-go-chi-chi-v5")
+    (version "5.0.7")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/go-chi/chi")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0rzrsxz4xj0973c6nxklvq2vmg2m795snhk25836i0gnd1jnx79k"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/go-chi/chi/v5"))
+    (home-page "https://github.com/go-chi/chi")
+    (synopsis "Composable router for HTTP services written in Go")
+    (description
+     "@code{go-github-com-go-chi-chi-v5} is an HTTP router that lets the user
+decompose request handling into many smaller layers.")
+    (license license:expat)))