diff options
Diffstat (limited to 'gnu/packages/golang.scm')
-rw-r--r-- | gnu/packages/golang.scm | 1593 |
1 files changed, 1527 insertions, 66 deletions
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 29a11a4ec1..70ddef52f1 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -35,6 +35,9 @@ ;;; Copyright © 2021 Lu Hui <luhux76@gmail.com> ;;; Copyright © 2022 Pier-Hugues Pellerin <phpellerin@gmail.com> ;;; Copyright © 2022 muradm <mail@muradm.net> +;;; Copyright © 2022 Dhruvin Gandhi <contact@dhruvin.dev> +;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr> +;;; Copyright © 2022 ( <paren@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -60,6 +63,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) + #:use-module (guix gexp) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (guix build-system go) @@ -72,6 +76,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) #:use-module (gnu packages lua) + #:use-module (gnu packages mail) #:use-module (gnu packages mp3) #:use-module (gnu packages password-utils) #:use-module (gnu packages pcre) @@ -841,6 +846,49 @@ in the style of communicating sequential processes (@dfn{CSP}).") (alist-replace "go" (list go-1.16) (package-native-inputs go-1.16)) (package-native-inputs go-1.16))))) +(define-public go-1.18 + (package + (inherit go-1.17) + (name "go") + (version "1.18.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/golang/go") + (commit (string-append "go" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1s2xwgd3mfbjdf7ls9gyj7n1lbqc4276qkr3znyq9694isj1ak20")))))) + +(define-public go-1.19 + (package + (inherit go-1.18) + (name "go") + (version "1.19.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/golang/go") + (commit (string-append "go" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gah4zhbkgbwrrryfmzdv2qwi1rgxk10q2r3hnlcb1dybf9c1i1w")))) + (arguments + (substitute-keyword-arguments (package-arguments go-1.18) + ((#:phases phases) + #~(modify-phases #$phases + (replace 'install-doc-files + (lambda _ + (for-each (lambda (file) + (install-file file (string-append + #$output "/share/doc/go"))) + '("CONTRIBUTING.md" "PATENTS" "README.md" + "SECURITY.md")))))))))) + (define-public go go-1.17) (define make-go-std @@ -880,6 +928,8 @@ in the style of communicating sequential processes (@dfn{CSP}).") (define-public go-std-1.14 (make-go-std go-1.14)) (define-public go-std-1.16 (make-go-std go-1.16)) (define-public go-std-1.17 (make-go-std go-1.17)) +(define-public go-std-1.18 (make-go-std go-1.18)) +(define-public go-std-1.19 (make-go-std go-1.19)) (define-public go-0xacab-org-leap-shapeshifter (let ((commit "0aa6226582efb8e563540ec1d3c5cfcd19200474") @@ -1215,6 +1265,83 @@ proxy protocol.") 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-riobard-go-bloom (let ((commit "cdc8013cb5b3eb0efebec85f0e904efccac42df9") (revision "0")) @@ -1958,6 +2085,51 @@ 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-emersion-go-textwrapper + (package + (name "go-github-com-emersion-go-textwrapper") + (version "0.0.0-20200911093747-65d896831594") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emersion/go-textwrapper") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1lh9d7zvj6gm1rr6sv5xlagklgx9d666hq5srd37a4sdcjkbiqmq")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/emersion/go-textwrapper")) + (home-page "https://github.com/emersion/go-textwrapper") + (synopsis "Text-wrapping writer for Go") + (description + "The textwrapper package provides a writer that wraps long text lines to +a specified length.") + (license license:expat))) + (define-public go-github-com-aki237-nscjar (let ((commit "e2df936ddd6050d30dd90c7214c02b5019c42f06") (revision "0")) @@ -2336,6 +2508,101 @@ web framework @end itemize") (license license:expat))) +(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-github-com-aws-sdk (package (name "go-github-com-aws-sdk") @@ -2398,6 +2665,32 @@ termination.") (home-page "https://gopkg.in/tomb.v2") (license license:bsd-3)))) +(define-public go-gopkg-in-tomb-v1 + (package + (inherit go-gopkg.in-tomb.v2) + (name "go-gopkg-in-tomb-v1") + (version "1.0.0-20141024135613-dd632973f1e7") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gopkg.in/tomb.v1") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv")))) + (arguments + (list #:import-path "gopkg.in/tomb.v1" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-test + (lambda* (#:key import-path #:allow-other-keys) + (substitute* (string-append "src/" import-path + "/tomb_test.go") + (("t.Fatalf\\(`Killf\\(\"BO%s") + "t.Fatalf(`Killf(\"BO%%s"))))))) + (home-page "https://gopkg.in/tomb.v1"))) + (define-public go-gopkg-in-natefinch-lumberjack.v2 (package (name "go-gopkg-in-natefinch-lumberjack.v2") @@ -2626,6 +2919,37 @@ for the Go language.") (home-page "https://go.googlesource.com/crypto/") (license license:bsd-3)))) +(define-public go-github-com-protonmail-go-crypto + (package + (name "go-github-com-protonmail-go-crypto") + (version "0.0.0-20220623141421-5afb4c282135") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ProtonMail/go-crypto") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "05qxdbn8wdk901z5kw2r3jdrag58nxlcsy0p8xd6rq0d71sw94wy")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/ProtonMail/go-crypto" + #:tests? #f ; Source-only package. + #:phases + #~(modify-phases %standard-phases + ;; Source-only package. + (delete 'build)))) + (propagated-inputs (list go-golang-org-x-crypto)) + (home-page "https://github.com/ProtonMail/go-crypto") + (synopsis "Fork of x/crypto with up-to-date OpenPGP implementation") + (description + "This package provides cryptography for Go. This version of the +package is a fork that adds a more up-to-date OpenPGP implementation. +It is completely backwards compatible with @code{golang.org/x/crypto}, +the official package.") + (license license:bsd-3))) + (define-public go-golang-org-x-net (let ((commit "ba9fcec4b297b415637633c5a6e8fa592e4a16c3") (revision "4")) @@ -3145,7 +3469,7 @@ optimized for performance yet simple to use.") (define-public go-github-com-tomnomnom-gron (package (name "gron") - (version "0.6.1") + (version "0.7.1") (home-page "https://github.com/tomnomnom/gron") (source (origin @@ -3155,7 +3479,7 @@ optimized for performance yet simple to use.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0qmzawkhg0qn9kxxrssbdjni2khvamhrcklv3yxc0ljmh77mh61m")))) + (base32 "1sj34b6yv0qigy3aq7qmwf8bqxp1a8qh9p10lzkpw58s1c0iyh36")))) (build-system go-build-system) (arguments (let ((import-path "github.com/tomnomnom/gron")) @@ -3584,7 +3908,7 @@ middleware for Go web applications and services.") (define-public go-github-com-spf13-cobra (package (name "go-github-com-spf13-cobra") - (version "1.4.0") + (version "1.5.0") (source (origin (method git-fetch) @@ -3594,7 +3918,7 @@ middleware for Go web applications and services.") (file-name (git-file-name name version)) (sha256 (base32 - "0ijhnk9pcks1v1cxri4kf6v1h26ym3jikmkgv4fdfrmm7sqgva13")))) + "0qavvyljh509w5xb46lfkak670szp6v4jswwar1hx13cpid8gk5d")))) (build-system go-build-system) (arguments `(#:import-path "github.com/spf13/cobra")) @@ -3747,6 +4071,30 @@ application's http.Handlers.") (description "File system notifications for Go") (license license:bsd-3))) +(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") @@ -5326,8 +5674,8 @@ as conversion to and from @command{net.Addr}.") (license license:expat)))) (define-public go-github-com-sabhiram-go-gitignore - (let ((commit "d3107576ba9425fc1c85f4b3569c4631b805a02e") - (revision "0")) + (let ((commit "525f6e181f062064d83887ed2530e3b1ba0bc95a") + (revision "1")) (package (name "go-github-com-sabhiram-go-gitignore") (version (git-version "1.0.2" revision commit)) @@ -5340,7 +5688,7 @@ as conversion to and from @command{net.Addr}.") (file-name (git-file-name name version)) (sha256 (base32 - "1rdwyxgcsiwgmlqnc3k6h300mzlvjc3j21np4yh1h476wc8dvl0l")))) + "197giv3snczvbihzvkja5pq53yw5fc516rnjm71hni8gawb8jmh3")))) (build-system go-build-system) (arguments '(#:import-path @@ -5745,9 +6093,36 @@ without requiring a real database connection.") golang's database/sql package.") (license license:mpl2.0))) -(define-public go-golang-org-colorful +(define-public go-github-com-syndtr-goleveldb-leveldb (package - (name "go-golang-org-colorful") + (name "go-github-com-syndtr-goleveldb-leveldb") + (version "1.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/syndtr/goleveldb") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "042k0gbzs5waqpxmd7nv5h93mlva861s66c3s9gfg1fym5dx4vmd")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/syndtr/goleveldb/leveldb" + #:unpack-path "github.com/syndtr/goleveldb")) + (propagated-inputs (list go-github-com-onsi-gomega + go-github-com-onsi-ginkgo + go-github-com-golang-snappy)) + (home-page "https://github.com/syndtr/goleveldb") + (synopsis "LevelDB implementation in Go") + (description + "This package provides a Go implementation of the LevelDB key/value +storage system.") + (license license:bsd-2))) + +(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) @@ -5759,17 +6134,20 @@ golang's database/sql package.") (base32 "08c3fkf27r16izjjd4w94xd1z7w1r4mdalbl53ms2ka2j465s3qs")))) (build-system go-build-system) + (propagated-inputs (list go-golang-org-x-image)) (arguments - '(#:import-path "github.com/lucasb-eyer/go-colorful")) - (native-inputs - (list go-golang-org-sql-mock)) - (synopsis "Convert between colorspaces and generate colors") - (description "This package implements Go's @code{color.Color} interface -and provides a means of converting colors stored as RGB to various -colorspaces.") + (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-golang-org-colorful + (deprecated-package "go-golang-org-colorful" go-github-com-lucasb-eyer-go-colorful)) + (define-public go-github-com-gdamore-encoding (package (name "go-github-com-gdamore-encoding") @@ -5796,6 +6174,30 @@ 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-gdamore-tcell (let ((commit "aaadc574a6ed8dc3abe56036ca130dcee1ee6b6e") (version "1.1.2") @@ -5817,8 +6219,10 @@ non-UTF-friendly sources.") (arguments `(#: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)) + (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 @@ -5831,32 +6235,129 @@ systems.") (package (inherit go-github-com-gdamore-tcell) (name "go-github-com-gdamore-tcell") - (version "2.3.1") - (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 - "0ypbl5080q9sd3irad8mv7zlg4242i8pmg5xyhbyq95kymwibaid")))) + (version "2.5.3") + (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 + "0pvs0gigqxpifc7y7cx82cg95pgqmy8qzxynja3zidplrx2075j3")))) (arguments - `(#:import-path "github.com/gdamore/tcell/v2" - #: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$")))))))) + (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-gdamore-tcell-v2-2.3 + (package + (inherit go-github-com-gdamore-tcell-v2) + (name "go-github-com-gdamore-tcell") + (version "2.3.1") + (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 "0ypbl5080q9sd3irad8mv7zlg4242i8pmg5xyhbyq95kymwibaid")))))) + +(define-public go-git-sr-ht-rockorager-tcell-term + (package + (name "go-git-sr-ht-rockorager-tcell-term") + (version "0.3.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 + "13nfb2mq59846j531j7p2nm8mi0kjw5p90pa89l3fwc0sljkn5p8")))) + (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-mattn-go-shellwords (let ((commit "2444a32a19f450fabaa0bb3e96a703f15d9a97d2") (version "1.0.5") @@ -6036,6 +6537,29 @@ network protocol.") (home-page "https://github.com/lucas-clemente/quic-go") (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-francoispqt-gojay (package (name "go-github-com-francoispqt-gojay") @@ -6218,31 +6742,82 @@ fnmatch gist (https://gist.github.com/kballard/272720).") (define-public go-github-com-emersion-go-imap (package (name "go-github-com-emersion-go-imap") - (version "1.0.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/emersion/go-imap") - (commit (string-append "v" version)))) - (sha256 - (base32 - "1id8j2d0rn9sj8y62xhyygqpk5ygrcl9jlfx92sm1jsvxsm3kywq")) - (file-name (git-file-name name version)))) + (version "1.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emersion/go-imap") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ak2ysvfcc9w0g1070msis8x9sh6gzvf0nd65ks594siwbmqddw8")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/emersion/go-imap")) - (native-inputs - (list go-golang-org-x-text)) + (list #:import-path "github.com/emersion/go-imap")) + (propagated-inputs (list go-golang-org-x-text + go-github-com-emersion-go-sasl + go-github-com-emersion-go-message)) (home-page "https://github.com/emersion/go-imap") (synopsis "IMAP4rev1 library written in Go") - (description "This package provides an IMAP4rev1 library written in Go. It -can be used to build a client and/or a server.") + (description + "This package provides an IMAP4rev1 library written in Go. It +can be used to build IMAP clients and servers.") + (license license:expat))) + +(define-public go-github-com-emersion-go-imap-sortthread + (package + (name "go-github-com-emersion-go-imap-sortthread") + (version "1.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emersion/go-imap-sortthread") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cfbgz1l5angnj52v9pxwggai2shx0h78ffcp7j4r4lr7lzflnwz")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/emersion/go-imap-sortthread")) + (propagated-inputs (list go-golang-org-x-text + go-github-com-emersion-go-sasl + go-github-com-emersion-go-imap)) + (home-page "https://github.com/emersion/go-imap-sortthread") + (synopsis "Sorting and threading of messages for the imap package") + (description + "The sortthread package implements message sorting and threading for +@code{go-github-com-emersion-go-imap}.") + (license license:expat))) + +(define-public go-github-com-emersion-go-smtp + (package + (name "go-github-com-emersion-go-smtp") + (version "0.15.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emersion/go-smtp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1vhc0vpjd4yhxk6wrh01sdpi7nprjn98s46yy82xwlkm0cskl0h7")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/emersion/go-smtp")) + (propagated-inputs (list go-github-com-emersion-go-sasl)) + (home-page "https://github.com/emersion/go-smtp") + (synopsis "SMTP implementation for Go") + (description + "This package implements the Simple Mail Transfer Protocol as +defined by RFC 5321.") (license license:expat))) (define-public go-github-com-emersion-go-sasl - (let ((commit "240c8404624e076f633766c16adbe96c7ac516b7") - (revision "0")) + (let ((commit "0b9dcfb154ac3d7515b08bc2691a0332800edfe9") + (revision "1")) (package (name "go-github-com-emersion-go-sasl") (version (git-version "0.0.0" revision commit)) @@ -6252,13 +6827,13 @@ can be used to build a client and/or a server.") (uri (git-reference (url "https://github.com/emersion/go-sasl") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 - "1py18p3clp474xhx6ypyp0bgv6n1dfm24m95cyyqb0k3vibar6ih")) - (file-name (git-file-name name version)))) + "1cbf86wkqrdinfydndgdlnayg4a5mg3d4vqra377j2sfkg7wj0hs")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/emersion/go-sasl")) + (list #:import-path "github.com/emersion/go-sasl")) (home-page "https://github.com/emersion/go-sasl") (synopsis "SASL library written in Go") (description "This package provides a SASL library written in Go.") @@ -6291,6 +6866,106 @@ can be used to build a client and/or a server.") (description "This package provides an IDLE extension for go-imap.") (license license:expat)))) +(define-public go-github-com-emersion-go-maildir + (package + (name "go-github-com-emersion-go-maildir") + (version "0.3.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emersion/go-maildir") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1rs9kbacjpcza25pmdkbm7sdm7r6gq4g44nihi9asyrvspx96zf2")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/emersion/go-maildir")) + (home-page "https://github.com/emersion/go-maildir") + (synopsis "Maildir interface for Go") + (description + "This package provides an interface to mailboxes in the Maildir +format.") + (license license:expat))) + +(define-public go-github-com-emersion-go-milter + (package + (name "go-github-com-emersion-go-milter") + (version "0.3.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emersion/go-milter") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10vpry5gjz2bh9qchcx4p59zm7cc6cb6bfkii2n6vsn4svb950sa")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/emersion/go-milter")) + (propagated-inputs (list go-github-com-emersion-go-message)) + (home-page "https://github.com/emersion/go-milter") + (synopsis "Milter mail filters in Go") + (description + "This package provides an interface for implementing milter mail +filters for Go.") + (license license:bsd-2))) + +(define-public go-github-com-emersion-go-msgauth + (package + (name "go-github-com-emersion-go-msgauth") + (version "0.6.6") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emersion/go-msgauth") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ds8yr4cm9wigcxg1sxc2m0wmy4z9n6gws3mj50dmf2ayij69z9j")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/emersion/go-msgauth" + #:tests? #f ; Source-only package. + #:phases + #~(modify-phases %standard-phases + ;; Source-only package. + (delete 'build)))) + (propagated-inputs (list go-golang-org-x-crypto + go-github-com-emersion-go-milter + go-github-com-emersion-go-message)) + (home-page "https://github.com/emersion/go-msgauth") + (synopsis "Email authentication for Go") + (description + "This package provides a Go library for authenticating emails.") + (license license:expat))) + +(define-public go-github-com-emersion-go-mbox + (package + (name "go-github-com-emersion-go-mbox") + (version "1.0.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emersion/go-mbox") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0vnadh2khx7sxn0irrd8gz8ra02x7ij0q8zglq3rqffqil06nliv")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/emersion/go-mbox")) + (home-page "https://github.com/emersion/go-mbox") + (synopsis "Go library for handling @code{mbox} files") + (description + "This package provides a library for parsing and formatting +@code{mbox} files.") + (license license:expat))) + (define-public go-github-com-fatih-color (package (name "go-github-com-fatih-color") @@ -6487,7 +7162,7 @@ create or replace a file or symbolic link.") '(#:import-path "golang.org/x/sync/errgroup" #:unpack-path "golang.org/x/sync")) (synopsis "Synchronization, error propagation, and Context cancellation -for groups of goroutines working on subtasks of a common task.") +for groups of goroutines working on subtasks of a common task") (description "This package provides synchronization, error propagation, and Context cancellation for groups of goroutines working on subtasks of a common task.") @@ -6627,6 +7302,39 @@ data serialization format.") (home-page "https://github.com/golang/protobuf") (license license:bsd-3))) +(define-public go-google-golang-org-protobuf + (package + (name "go-google-golang-org-protobuf") + (version "1.28.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/protobuf") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1nzcc4qc00afi24nb7nlnwyzvvr6b8s8qdrn1sw085nygh2y2x8r")))) + (build-system go-build-system) + (arguments + (list #:import-path "google.golang.org/protobuf" + #:tests? #f ; source-only package + #:phases #~(modify-phases %standard-phases + ;; source-only package + (delete 'build)))) + (propagated-inputs (list go-github-com-google-go-cmp-cmp + go-github-com-golang-protobuf-proto)) + (home-page "https://google.golang.org/protobuf") + (synopsis "Go library for Protocol Buffers") + (description + "The protobuf package provides a Go implementation of Protocol Buffers, a +language and platform neutral, extensible mechanism for serializing structured +data. + +This package is a successor to @code{go-github-com-golang-protobuf} with an +improved and cleaner API.") + (license license:bsd-3))) + (define-public go-github-com-mattn-go-zglob (package (name "go-github-com-mattn-go-zglob") @@ -6645,7 +7353,7 @@ data serialization format.") `(#:import-path "github.com/mattn/go-zglob")) (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 + (description "A glob library that implements descending into other directories. It is optimized for filewalking.") (license license:expat))) @@ -7068,6 +7776,34 @@ maps (because they are not addressable using Go reflection).") template functions.") (license license:expat))) +(define-public go-github-com-go-task-slim-sprig + (let ((commit "afa1e2071829e4db655eb448d6c7c16eb0bc5766") + (revision "0")) + (package + (name "go-github-com-go-task-slim-sprig") + (version (git-version "2.20.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/go-task/slim-sprig") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1185y8qygv8gb3wpghx5d945wq68j4dbaiffq3h0dh453g4h1w7a")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/go-task/slim-sprig" + ;; Tests try to access the network. + #:tests? #f)) + (home-page "https://github.com/go-task/slim-sprig") + (synopsis "Various useful template functions for Go") + (description + "Sprig provides over 100 functions that extend the Go template system. +Slim-Sprig is a fork of Sprig that removes all external dependencies to make +the library more lightweight.") + (license license:expat)))) + (define-public go-github-com-bmatcuk-doublestar (package (name "go-github-com-bmatcuk-doublestar") @@ -7489,8 +8225,10 @@ io.Writers helping you to transform blocks of text.") (arguments `(#:import-path "github.com/muesli/termenv")) (native-inputs - (list go-github-com-google-goterm go-golang-org-colorful - go-github-com-mattn-go-isatty go-github.com-mattn-go-runewidth)) + (list go-github-com-google-goterm + go-github-com-lucasb-eyer-go-colorful + go-github-com-mattn-go-isatty + go-github.com-mattn-go-runewidth)) (home-page "https://github.com/muesli/termenv/") (synopsis "Advanced styling options on the terminal") (description "termenv lets you safely use advanced styling options on the @@ -7619,7 +8357,7 @@ which produce colorized output using github.com/fatih/color.") go-github.com-mattn-go-runewidth go-github-com-muesli-termenv go-github-com-google-goterm - go-golang-org-colorful + go-github-com-lucasb-eyer-go-colorful go-github-com-mattn-go-isatty go-github-com-olekukonko-tablewriter go-github-com-yuin-goldmark @@ -7780,6 +8518,33 @@ file system operations.") 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") @@ -8192,6 +8957,76 @@ configuration languages, but other uses may be possible too.") (description "This package implements a low-level key/value store in Go.") (license license:expat))) +(define-public go-filippo-io-age + (package + (name "go-filippo-io-age") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/FiloSottile/age") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19fz68n262kvg2ssw4r6nik30zk6g6cy7rdi0fm05czwigqrdz1i")))) + (build-system go-build-system) + (arguments `(#:import-path "filippo.io/age")) + (inputs + (list go-golang-org-x-sys + go-golang-org-x-term + go-golang-org-x-crypto + go-filippo-io-edwards25519)) + (home-page "https://filippo.io/age") + (synopsis "Secure file encryption tool, format, and Go library") + (description + "This package implements file encryption according to the +@{age-encryption.org/v1, https://age-encryption.org/v1} specification. +It features small explicit keys, no configuration options, and Unix-style +composability.") + (license license:bsd-3))) + +(define-public age + (package + (inherit go-filippo-io-age) + (name "age") + (arguments + `(#:import-path "filippo.io/age/cmd/age" + #:unpack-path "filippo.io/age" + #:install-source? #f)))) + +(define-public age-keygen + (package + (inherit go-filippo-io-age) + (name "age-keygen") + (arguments + `(#:import-path "filippo.io/age/cmd/age-keygen" + #:unpack-path "filippo.io/age" + #:install-source? #f)))) + +(define-public go-filippo-io-edwards25519 + (package + (name "go-filippo-io-edwards25519") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/FiloSottile/edwards25519") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01m8hpaj0cwp250f7b0din09cf8j6j5y631grx67qfhvfrmwr1zr")))) + (build-system go-build-system) + (arguments + '(#:import-path "filippo.io/edwards25519")) + (home-page "https://filippo.io/edwards25519") + (synopsis "Group logic for the twisted Edwards curve") + (description + "This package implements the edwards25519 elliptic curve in Go, exposing +the necessary APIs to build a wide array of higher-level primitives.") + (license license:bsd-3))) + (define-public go-github-com-rogpeppe-go-internal (package (name "go-github-com-rogpeppe-go-internal") @@ -8764,6 +9599,30 @@ or capture raw audio.") programs that use traditional command lines.") (license license:bsd-3))) +(define-public go-git-sr-ht-sircmpwn-getopt + (package + (name "go-git-sr-ht-sircmpwn-getopt") + (version "1.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~sircmpwn/getopt") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0f9rammnmhaz21qkmz7qf76r8jlzi323g05ps3j7gwrxlw7442a6")))) + (build-system go-build-system) + (arguments + (list #:import-path "git.sr.ht/~sircmpwn/getopt")) + (propagated-inputs (list go-github-com-stretchr-testify)) + (home-page "https://git.sr.ht/~sircmpwn/getopt") + (synopsis "POSIX getopt for Go") + (description + "This package provides a POSIX-compatible implementation of +@code{getopt} for Go.") + (license license:bsd-3))) + (define-public go-go-uber-org-atomic (package (name "go-go-uber-org-atomic") @@ -9369,7 +10228,7 @@ string.") ("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) + ("go-github-com-lucasb-eyer-go-colorful" ,go-github-com-lucasb-eyer-go-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) @@ -9721,6 +10580,27 @@ pcredential store, Pass, Secret Service, KDE Wallet, Encrypted File.") (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.66.6") + (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 + "0kqg13606hnw8f75cb59fsy1m85kiqf3csi2g7q2512avdmaphc9")))) + (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")) @@ -9916,6 +10796,50 @@ 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-git-sr-ht-emersion-go-scfg + (package + (name "go-git-sr-ht-emersion-go-scfg") + (version "0.0.0-20211215104734-c2c7a15d6c99") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~emersion/go-scfg") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "02gn8hz8zfv8y0krysx2wv951gw8hmhdfqf1ysidwm7i293365w4")))) + (build-system go-build-system) + (arguments (list #:import-path "git.sr.ht/~emersion/go-scfg")) + (propagated-inputs + (list go-github-com-google-shlex + go-github-com-davecgh-go-spew)) + (home-page "https://git.sr.ht/~emersion/go-scfg") + (synopsis "Go library for simple configuration file format") + (description "Package go-scfg parses scfg files.") + (license license:expat))) + +(define-public go-git-sr-ht-emersion-gqlclient + (package + (name "go-git-sr-ht-emersion-gqlclient") + (version "0.0.0-20220202181617-4e6e9c763dd2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~emersion/gqlclient") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1d9hmaz7yy02bk455gmaav818xi49sw69jyx6dxzymv6ln7r1cv1")))) + (build-system go-build-system) + (arguments (list #:import-path "git.sr.ht/~emersion/gqlclient")) + (home-page "https://git.sr.ht/~emersion/gqlclient") + (synopsis "GraphQL client and code generator") + (description + "This package provides a GraphQL client and code generator for Go.") + (license license:expat))) + (define-public go-github-com-google-go-jsonnet (package (name "go-github-com-google-go-jsonnet") @@ -9945,6 +10869,28 @@ production-ready implementation, compatible with the original Jsonnet C++ implementation.") (license license:asl2.0))) +(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-gorilla-websocket (package (name "go-github-com-gorilla-websocket") @@ -10015,6 +10961,521 @@ implementation.") (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-emersion-go-message + (package + (name "go-github-com-emersion-go-message") + (version "0.16.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emersion/go-message") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1j5qdhsna28xcs843zsiccw700rld5hin466dl0n3a0ax1w13ay0")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/emersion/go-message")) + (propagated-inputs (list go-golang-org-x-text + go-github-com-emersion-go-textwrapper)) + (home-page "https://github.com/emersion/go-message") + (synopsis "Internet messages and MIME for Go") + (description + "The message package implements the Internet Message Format and Multipurpose +Internet Mail Extensions in Go.") + (license license:expat))) + +(define-public go-github-com-jaytaylor-html2text + (package + (name "go-github-com-jaytaylor-html2text") + (version "0.0.0-20211105163654-bc68cce691ba") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jaytaylor/html2text") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "12ckgkp8xqgp0fh6019nwp4ssg2k1rv1a67cpk37ian4q5zrvppm")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/jaytaylor/html2text" + ;; Tests are broken: <https://github.com/jaytaylor/html2text/issues/53> + #:tests? #f)) + (propagated-inputs (list go-golang-org-x-net + go-github-com-olekukonko-tablewriter + go-github-com-ssor-bom)) + (home-page "https://github.com/jaytaylor/html2text") + (synopsis "Convert HTML emails to text") + (description + "The html2text package converts HTML emails to plain text, allowing +text-only mail clients to display them.") + (license license:expat))) + +(define-public go-github-com-jhillyerd-enmime + (package + (name "go-github-com-jhillyerd-enmime") + (version "0.9.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jhillyerd/enmime") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "124dqm598phbmalyx2gmxk201z9kq4ckvvdq8rc0akjlp24nxqbb")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/jhillyerd/enmime")) + (propagated-inputs (list go-golang-org-x-text + go-golang-org-x-net + go-github-com-stretchr-testify + go-github-com-ssor-bom + go-github-com-rivo-uniseg + go-github-com-pkg-errors + go-github-com-olekukonko-tablewriter + go-github-com-mattn-go-runewidth + go-github-com-gogs-chardet + go-github-com-jaytaylor-html2text + go-github-com-go-test-deep + go-github-com-cention-sany-utf7)) + (home-page "https://github.com/jhillyerd/enmime") + (synopsis "MIME encoder and decoder for Go") + (description + "The enmime package implements a MIME encoding and decoding +library geared towards parsing MIME encoded emails.") + (license license:expat))) + +(define-public go-github-com-emersion-go-pgpmail + (package + (name "go-github-com-emersion-go-pgpmail") + (version "0.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emersion/go-pgpmail") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ar26b0apw5bxn58qfn1a79cxigbmrqm1irh1rb7x57fydihc7wm")))) + (build-system go-build-system) + (arguments + (list ;; tests don't support our version of protonmail/go-crypto; see + ;; <https://github.com/emersion/go-pgpmail/issues/12> + #:tests? #f + #:import-path "github.com/emersion/go-pgpmail")) + (propagated-inputs (list go-golang-org-x-text + go-golang-org-x-crypto + go-github-com-emersion-go-message + go-github-com-protonmail-go-crypto)) + (home-page "https://github.com/emersion/go-pgpmail") + (synopsis "PGP mail encryption for Go") + (description + "The pgpmail package implements PGP encryption for e-mail messages.") + (license license:expat))) + +(define-public go-github-com-gatherstars-com-jwz + (package + (name "go-github-com-gatherstars-com-jwz") + (version "1.3.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gatherstars-com/jwz") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1h37h5w139d3rhvp1n7kz2jm5zhk4pjzf3sip04v48nphkika60c")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/gatherstars-com/jwz")) + (propagated-inputs (list go-github-com-rivo-tview + go-github-com-jhillyerd-enmime + go-github-com-gdamore-tcell-v2)) + (home-page "https://github.com/gatherstars-com/jwz") + (synopsis "Implementation in Go of the email threading algorithm +originally invented for Netscape Mail") + (description + "The jwz package provides an implementation of the email threading +algorithm originally designed for use in Netscape Mail 2.0 for Go.") + (license license:asl2.0))) + +(define-public go-github-com-creack-pty + (package + (name "go-github-com-creack-pty") + (version "1.1.18") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/creack/pty") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1qqhcgfym0napz8damj7dhfw28g2qn2f5h3lr93i0sxawq926yzc")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/creack/pty" + #:modules '((ice-9 popen) + (ice-9 textual-ports) + (guix build go-build-system) + (guix build utils)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'regenerate-types + (lambda* (#:key import-path #:allow-other-keys) + ;; Generated files are included (ztypes_*). We need to remake + ;; them with Cgo. + (with-directory-excursion (string-append "src/" import-path) + (let* ((go-arch + #$(car (go-target + (or (%current-target-system) + (nix-system->gnu-triplet (%current-system)))))) + (file (string-append "ztypes_" go-arch ".go")) + (pipe (open-input-pipe "go tool cgo -godefs types.go")) + (text (get-string-all pipe))) + (close-pipe pipe) + (for-each delete-file + (find-files (getcwd) (file-name-predicate + "ztypes_[a-zA-Z0-9_]+.go"))) + (call-with-output-file file + (lambda (port) + (display text port)))))))))) + (home-page "https://github.com/creack/pty") + (synopsis "Pseudoterminal handling in Go") + (description + "The pty package provides functions for working with Unix pseudoterminals.") + (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-kyoh86-xdg + (package + (name "go-github-com-kyoh86-xdg") + (version "1.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kyoh86/xdg") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0a5nz53fdz1c2qvwlf2dpjdd72nxri95i6q4b07c37kiipgaxncn")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/kyoh86/xdg")) + (home-page "https://github.com/kyoh86/xdg") + (synopsis "XDG base directories for Go") + (description + "The xdg package provides lightweight helper functions in Go to get +config, data and cache directories according to the XDG Base Directory +Specification.") + (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-gogs-chardet + (package + (name "go-github-com-gogs-chardet") + (version "0.0.0-20211120154057-b7413eaefb8f") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gogs/chardet") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "12j8q5wc9m4n51v2j2m40nahqdl9bh3hzpdp26clzq91kc2amiz0")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/gogs/chardet")) + (home-page "https://github.com/gogs/chardet") + (synopsis "Character set detection for Go") + (description + "The chardet package ports character set detection from +ICU to Go.") + (license license:expat))) + +(define-public go-github-com-go-test-deep + (package + (name "go-github-com-go-test-deep") + (version "1.0.8") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/go-test/deep") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1mmw2w3by7y24jjpjwmf2gfl08c65jihn3si9m0sswmagmdsk8q0")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/go-test/deep")) + (home-page "https://github.com/go-test/deep") + (synopsis "Human-friendly deep variable equality in Go") + (description + "The deep package provides the deep.Equal function which is like +reflect.DeepEqual but returns a list of differences. This is helpful +when comparing complex types like structures and maps.") + (license license:expat))) + +(define-public go-github-com-niemeyer-pretty + (package + (name "go-github-com-niemeyer-pretty") + (version "0.0.0-20200227124842-a10e7caefd8e") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/niemeyer/pretty") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1jmazh4xzaa3v6g46hz60q2z7nmqs9l9cxdzmmscn3kbcs2znq4v")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/niemeyer/pretty" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'int-to-string-with-rune + (lambda* (#:key import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (substitute* "formatter.go" + (("s \\+= string\\(i\\)") + "s += string(rune(i))")))))))) + (propagated-inputs (list go-github-com-kr-text)) + (home-page "https://github.com/niemeyer/pretty") + (synopsis "Pretty-print Go values") + (description + "The pretty package provides pretty-printing for Go values. This is +useful during debugging, to avoid wrapping long output lines in the +terminal.") + (license license:expat))) + +(define-public go-github-com-arran4-golang-ical + (package + (name "go-github-com-arran4-golang-ical") + (version "0.0.0-20220517104411-fd89fefb0182") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/arran4/golang-ical") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0bxs0b5yg26liiifc0cc41l307r0wc93hp8iygv8dgpc60yzncaw")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/arran4/golang-ical")) + (propagated-inputs (list go-gopkg-in-yaml-v3 + go-gopkg-in-check-v1 + go-github-com-stretchr-testify + go-github-com-niemeyer-pretty + go-github-com-kr-text + go-github-com-davecgh-go-spew)) + (home-page "https://github.com/arran4/golang-ical") + (synopsis "Handle iCalenders in Go") + (description + "The @code{ical} package provides an ICS/iCalender parser and +serialiser for Go.") + (license license:asl2.0))) + +(define-public go-github-com-lithammer-fuzzysearch + (package + (name "go-github-com-lithammer-fuzzysearch") + (version "1.1.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lithammer/fuzzysearch") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1b036sm42cf64diwlqhx24vxy6g5afrmfbdfyqhpg8zrii3lpwns")))) + (build-system go-build-system) + (propagated-inputs (list go-golang-org-x-text)) + (arguments + (list #:import-path "github.com/lithammer/fuzzysearch" + #:tests? #f ; Source-only package. + #:phases + #~(modify-phases %standard-phases + ;; Source-only package. + (delete 'build)))) + (home-page "https://github.com/lithammer/fuzzysearch") + (synopsis "Tiny and fast fuzzy search in Go") + (description + "A speedy fuzzy matching package for Go inspired by the JavaScript +library bevacqua/fuzzysearch.") + (license license:expat))) + +(define-public go-github-com-onsi-gomega + (package + (name "go-github-com-onsi-gomega") + (version "1.19.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/onsi/gomega") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "092phwk97sk4sv0nbx5pfhqs6x3x1lnrjwyda1m6b6zwrfmq5c6i")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/onsi/gomega" + ;; Unless we disable the tests, we have a circular dependency on + ;; ginkgo/v2. + #:tests? #f)) + (propagated-inputs (list go-github-com-golang-protobuf-proto + go-golang-org-x-net + go-golang-org-x-sys + go-golang-org-x-text + go-google-golang-org-protobuf + go-gopkg-in-yaml-v2)) + (home-page "https://github.com/onsi/gomega") + (synopsis "Matcher library for Ginkgo") + (description + "Gomega is the preferred matcher library for the Ginkgo test framework.") + (license license:expat))) + +(define-public go-github-com-onsi-ginkgo + (package + (name "go-github-com-onsi-ginkgo") + (version "1.16.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/onsi/ginkgo") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1hh6n7q92y0ai8k6rj2yzw6wwxikhyiyk4j92zgvf1zad0gmqqmz")))) + (build-system go-build-system) + (arguments (list #:import-path "github.com/onsi/ginkgo")) + (propagated-inputs (list go-golang-org-x-sys + go-golang-org-x-tools + go-github-com-go-task-slim-sprig + go-github-com-nxadm-tail + go-github-com-onsi-gomega)) + (home-page "https://github.com/onsi/ginkgo") + (synopsis "BDD-style testing framework for Go") + (description + "Ginkgo is a Behaviour-Driven Development testing framework for Go. It +builds on top of Go's builtin @code{testing} library and is complemented by the +Gomega matcher library.") + (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 |