diff options
Diffstat (limited to 'gnu/packages/golang.scm')
-rw-r--r-- | gnu/packages/golang.scm | 455 |
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))) |