(address . guix-patches@gnu.org)(name . Martin Becze)(address . mjbecze@riseup.net)
---
This adds aerc, which is a terminal based email client written in go.
gnu/packages/golang.scm | 579 +++++++++++++++++++++++++++++++++++++++-
gnu/packages/mail.scm | 74 +++++
2 files changed, 646 insertions(+), 7 deletions(-)
Toggle diff (525 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 819cc6229e..52f3e56d40 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -16,6 +16,7 @@
;;; Copyright @ 2019 Giovanni Biscuolo <g@xelera.eu>
;;; Copyright @ 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2019 Martin Becze <mjbecze@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -801,6 +802,31 @@ expressing configuration which is easy for both humans and machines to read.")
Go programming language.")
(home-page "https://go.googlesource.com/tools/")
(license license:bsd-3))))
+(define-public go-golang-org-x-oauth2
+ (let ((commit "0f29369cfe4552d0e4bcddc57cc75f4d7e672a33")
+ (url "https://go.googlesource.com/oauth2"))
+ (package
+ (name "go-golang-org-x-oauth2")
+ (version (git-version "0.0.0" "0" commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url url)
+ (commit commit)))
+ (file-name (string-append "go.googlesource.com-oauth2-"
+ version "-checkout"))
+ (sha256
+ (base32
+ "06jwpvx0x2gjn2y959drbcir5kd7vg87k0r1216abk6rrdzzrzi2"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "golang.org/x/oauth2"))
+ (propagated-inputs
+ `(("go-golang-org-x-net-context" ,go-golang-org-x-net-context)))
+ (synopsis "oauth2 package contains a client implementation for OAuth 2.0 spec.")
+ (description "This package contains a client implementation for OAuth 2.0 spec.")
+ (home-page url)
+ (license license:bsd-3))))
(define-public go-golang-org-x-crypto
(let ((commit "b7391e95e576cacdcdd422573063bc057239113d")
@@ -2918,21 +2944,19 @@ statistics for wrapped connections.")
(license license:expat))))
(define-public go-github-com-mitchellh-go-homedir
- (let ((commit "ae18d6b8b3205b561c79e8e5f69bff09736185f4")
- (revision "0"))
(package
(name "go-github-com-mitchellh-go-homedir")
- (version (git-version "1.0.0" revision commit))
+ (version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mitchellh/go-homedir.git")
- (commit commit)))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "0f0z0aa4wivk4z1y503dmnw0k0g0g403dly8i4q263gfshs82sbq"))))
+ "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1"))))
(build-system go-build-system)
(arguments
(quote (#:import-path "github.com/mitchellh/go-homedir"
@@ -2954,7 +2978,7 @@ package cannot cross compile. But 99% of the time the use for
@command{os/user} is just to retrieve the home directory, which we can do for
the current user without cgo. This library does that, enabling
cross-compilation.")
- (license license:expat))))
+ (license license:expat)))
(define-public go-github-com-multiformats-go-multiaddr
(let ((commit "fe1c46f8be5af4aff4db286e08839295bd922efb")
@@ -3383,7 +3407,7 @@ colorspaces.")
(build-system go-build-system)
(arguments
'(#:import-path "github.com/gdamore/encoding"))
- (inputs
+ (propagated-inputs
`(("go-golang-org-x-text-encoding" ,go-golang-org-x-text-encoding)
("go-golang-org-x-text-transform" ,go-golang-org-x-text-transform)))
(home-page "https://github.com/gdamore/encoding")
@@ -3437,6 +3461,30 @@ formatting. It also favors portability, and includes support for all POSIX
systems.")
(license license:expat))))
+(define-public go-github-com-mattn-go-pointer
+ (let ((commit "a0a44394634f41e4992b173b24f14fecd3318a67")
+ (url "https://github.com/mattn/go-pointer"))
+ (package
+ (name "go-github-com-mattn-go-pointer")
+ (version (git-version "0.0.0" "0" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url url)
+ (commit commit)))
+ (sha256
+ (base32
+ "09w7hcyc0zz2g23vld6jbcmq4ar27xakp1ldjvh549i5izf2anhz"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/mattn/go-pointer"))
+ (home-page url)
+ (synopsis "Utility for cgo")
+ (description "Utility for cgo")
+ (license license:expat))))
+
(define-public go-github-com-mattn-go-shellwords
(let ((commit "2444a32a19f450fabaa0bb3e96a703f15d9a97d2")
(version "1.0.5")
@@ -3686,3 +3734,520 @@ on running processes and system utilization (CPU, memory, disks, network,
sensors).")
(home-page "https://github.com/shirou/gopsutil")
(license license:bsd-3))))
+
+(define-public go-github-com-danwakefield-fnmatch
+ (let ((commit "cbb64ac3d964b81592e64f957ad53df015803288")
+ (url "https://github.com/danwakefield/fnmatch"))
+ (package
+ (name "go-github-com-danwakefield-fnmatch")
+ (version (git-version "0.0.0" "0" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url url)
+ (commit commit)))
+ (sha256
+ (base32
+ "0cbf511ppsa6hf59mdl7nbyn2b2n71y0bpkzbmfkdqjhanqh1lqz"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/danwakefield/fnmatch"))
+ (home-page url)
+ (synopsis "Updated clone of kballards golang fnmatch
+ gist (https://gist.github.com/kballard/272720)")
+ (description "Updated clone of kballards golang fnmatch
+gist (https://gist.github.com/kballard/272720)")
+ (license license:bsd-2))))
+
+(define-public go-github-com-ddevault-go-libvterm
+ (let ((commit "b7d861da381071e5d3701e428528d1bfe276e78f")
+ (url "https://github.com/ddevault/go-libvterm"))
+ (package
+ (name "go-github-com-ddevault-go-libvterm")
+ (version (git-version "0.0.0" "0" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url url)
+ (commit commit)))
+ (sha256
+ (base32
+ "06vv4pgx0i6hjdjcar4ch18hp9g6q6687mbgkvs8ymmbacyhp7s6"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/ddevault/go-libvterm"))
+ (propagated-inputs
+ `(("go-github-com-mattn-go-pointer" ,go-github-com-mattn-go-pointer)))
+ (home-page url)
+ (synopsis "Go binding to libvterm")
+ (description "This is a personal fork for use with aerc. Breaking changes
+ will come unannounced.")
+ (license license:expat))))
+
+(define-public go-github-com-emersion-go-imap
+ (let ((url "https://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 url)
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1id8j2d0rn9sj8y62xhyygqpk5ygrcl9jlfx92sm1jsvxsm3kywq"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/emersion/go-imap"))
+ (native-inputs
+ `(("go-golang-org-x-text-encoding" ,go-golang-org-x-text-encoding)
+ ("go-golang-org-x-text-transform" ,go-golang-org-x-text-transform)))
+ (home-page url)
+ (synopsis "An IMAP4rev1 library written in Go")
+ (description "An IMAP4rev1 library written in Go. It can be used to build
+ a client and/or a server.")
+ (license license:expat))))
+
+(define-public go-github-com-emersion-go-sasl
+ (let ((commit "240c8404624e076f633766c16adbe96c7ac516b7")
+ (url "https://github.com/emersion/go-sasl"))
+ (package
+ (name "go-github-com-emersion-go-sasl")
+ (version (git-version "0.0.0" "0" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url url)
+ (commit commit)))
+ (sha256
+ (base32
+ "1py18p3clp474xhx6ypyp0bgv6n1dfm24m95cyyqb0k3vibar6ih"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/emersion/go-sasl"))
+ (home-page url)
+ (synopsis "A SASL library written in Go")
+ (description "A SASL library written in Go.")
+ (license license:expat))))
+
+(define-public go-github-com-emersion-go-imap-idle
+ (let ((commit "2704abd7050ed7f2143753554ee23affdf847bd9")
+ (url "https://github.com/emersion/go-imap-idle"))
+ (package
+ (name "go-github-com-emersion-go-imap-idle")
+ (version (git-version "0.0.0" "0" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url url)
+ (commit commit)))
+ (sha256
+ (base32
+ "0blwcadmxgqsdwgr9m4jqfbpfa2viw5ah19xbybpa1z1z4aj5cbc"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/emersion/go-imap-idle"))
+ (native-inputs
+ `(("go-github-com-emersion-go-imap" ,go-github-com-emersion-go-imap)
+ ("go-github-com-emersion-go-sasl" ,go-github-com-emersion-go-sasl)
+ ("go-golang-org-x-text-encoding" ,go-golang-org-x-text-encoding)
+ ("go-golang-org-x-text-transform" ,go-golang-org-x-text-transform)))
+ (home-page url)
+ (synopsis "IDLE extension for go-imap")
+ (description "IDLE extension for go-imap.")
+ (license license:expat))))
+
+(define-public go-github-com-emersion-go-maildir
+ (let ((url "https://github.com/emersion/go-maildir")
+ (commit "941194b0ac705efac39bd89c5eae6cce84b26202"))
+ (package
+ (name "go-github-com-emersion-go-maildir")
+ (version (git-version "0.0.0" "0" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/emersion/go-maildir")
+ (commit commit)))
+ (sha256
+ (base32
+ "10dm0qvjm4payh2hfifwfpz9511fngp2vaf2yrg111di67x1148m"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/emersion/go-maildir"))
+ (home-page url)
+ (synopsis "A Go library for maildir")
+ (description "A Go library for maildir.")
+ (license license:expat))))
+
+(define-public go-github-com-emersion-go-message
+ (let ((url "https://github.com/emersion/go-message"))
+ (package
+ (name "go-github-com-emersion-go-message")
+ (version "0.10.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url url)
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "05s6x6x5k5b4qmfam716b5wi47rrvj702lfkc6gr681z64g2hirb"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/emersion/go-message"))
+ (propagated-inputs
+ `(("go-github-com-emersion-go-textwrapper"
+ ,go-github-com-emersion-go-textwrapper)
+ ("go-github-com-martinlindhe-base36"
+ ,go-github-com-martinlindhe-base36)))
+ (home-page url)
+ (synopsis "A Go library for the Internet Message Format")
+ (description "A Go library for the Internet Message Format. It implements:
+@itemize
+@item RFC 5322: Internet Message Format
+@item RFC 2045, RFC 2046 and RFC 2047: Multipurpose Internet Mail Extensions
+@item RFC 2183: Content-Disposition Header Field
+@end itemize")
+ (license license:expat))))
+
+(define-public go-github-com-emersion-go-textwrapper
+ (let ((url "https://github.com/emersion/go-textwrapper")
+ (commit "d0e65e56babe3f687ff94c1d764ca0e6aa7723ee"))
+ (package
+ (name "go-github-com-emersion-go-textwrapper")
+ (version (git-version "0.0.0" "0" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url url)
+ (commit commit)))
+ (sha256
+ (base32
+ "1nw8qpjjbpkz49wd19yg2qsln1dmdfxi83wp2aa819cv6xxf2y7l"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/emersion/go-textwrapper"))
+ (home-page url)
+ (synopsis "A writer that wraps long text lines to a specified length")
+ (description "A writer that wraps long text lines to a specified length")
+ (license license:expat))))
+
+(define-public go-github-com-emersion-go-smtp
+ (let ((url "https://github.com/emersion/go-smtp"))
+ (package
+ (name "go-github-com-emersion-go-smtp")
+ (version "0.11.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url url)
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "08v7x513hxkfyihixp0cdy4cmf2j9hw1yzm7bzy5g95fai71azm0"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/emersion/go-smtp"))
+ (native-inputs
+ `(("go-github-com-emersion-go-sasl" ,go-github-com-emersion-go-sasl)))
+ (home-page url)
+ (synopsis "An ESMTP client and server library written in Go")
+ (description "An ESMTP client and server library written in Go. It features:
+@itemize
+@item ESMTP client & server implementing RFC 532
+@item Support for SMTP AUTH and PIPELINING
+@item UTF-8 support for subject and message
+@item LMTP support
+@end itemize ")
+ (license license:expat))))
+
+(define-public go-github-com-fsnotify-fsnotify
+ (let ((url "https://github.com/fsnotify/fsnotify"))
+ (package
+ (name "go-github-com-fsnotify-fsnotify")
+ (version "1.4.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url url)
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/fsnotify/fsnotify"))
+ (native-inputs
+ `(("go-github-com-emersion-go-sasl" ,go-github-com-emersion-go-sasl)
+ ("go-golang-org-x-sys-unix",go-golang-org-x-sys-unix)))
+ (home-page url)
+ (synopsis "File system notifications for Go")
+ (description "File system notifications for Go")
+ (license license:bsd-3))))
+
+(define-public go-github-com-go-ini-ini
+ (let ((url "https://github.com/go-ini/ini"))
+ (package
+ (name "go-github-com-go-ini-ini")
+ (version "1.44.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url url)
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "072fhg4i5k26pxq3kg5y5h9lb9w5ka75jl000q5bjcdv2yf8qhcv"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/go-ini/ini"
+ #:tests? #f))
+ (home-page url)
+ (synopsis "Package ini provides INI file read and write functionality in Go")
+ (description "Package ini provides INI file read and write functionality in Go.")
+ (license license:asl2.0))))
+
+(define-public go-github-com-google-shlex
+ (let ((commit "c34317bd91bf98fab745d77b03933cf8769299fe")
+ (url "https://github.com/google/shlex"))
+ (package
+ (name "go-github-com-google-shlex")
+ (version (git-version "0.0.0" "0" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url url)
+ (commit commit)))
+ (sha256
+ (base32
+ "00qivza4hkllfkar2vpqmyxybi0fwqipgijv61dgapq4xddxdq0r"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/google/shlex"))
+ (home-page url)
+ (synopsis "A simple lexer")
+ (description "go-shlex is a simple lexer for go that supports shell-style
+quoting, commenting, and escaping.")
+ (license license:asl2.0))))
+
+(define-public go-github-com-kyoh86-xdg
+ (let ((url "https://github.com/kyoh86/xdg"))
+ (package
+ (name "go-github-com-kyoh86-xdg")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url url)
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "02wrm9rl6qqv3nr2n5yariwg1rgr7w76l1sp0ak1kxin1y184ivf"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/kyoh86/xdg"))
+ (home-page url)
+ (synopsis "Light weight helper functions in golang to get config, data and
+ cache files according to the XDG Base Directory Specification")
+ (description "Light weight helper functions in golang to get config, data
+ and cache files according to the XDG Base Directory Specification.")
+ (license license:expat))))
+
+(define-public go-github-com-martinlindhe-base36
+ (let ((url "https://github.com/martinlindhe/base36"))
+ (package
+ (name "go-github-com-martinlindhe-base36")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url url)
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "0hib6cnx543fxbcy7fm3kcfz8ajhd90kxzbld49qi7w930pcz26c"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/martinlindhe/base36"))
+ (native-inputs
+ `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
+ (home-page url)
+ (synopsis "Implements Base36 encoding and decoding")
+ (description "Implements Base36 encoding and decoding, which is useful to
+ represent large integers in a case-insensitive alphanumeric way.")
+ (license license:expat))))
+
+(define-public go-github-com-miolini-datacounter
+ (let ((url "https://github.com/miolini/datacounter")
+ (commit "aa48df3a02c1fbcd3040271f631887991c3071fb"))
+ (package
+ (name "go-github-com-miolini-datacounter")
+ (version (git-version "0.0.0" "0" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url url)
+ (commit commit)))
+ (sha256
+ (base32
+ "12ldh5jhafjhh3jvh979mldwygkkcnm97axs7dhlai6gqwlhls87"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/miolini/datacounter"))
+ (home-page url)
+ (synopsis "Golang counters for readers/writers")
+ (description "Golang counters for readers/writers")
+ (license license:expat))))
+
+(define-public go-github-com-riywo-loginshell
+ (let ((url "https://github.com/riywo/loginshell")
+ (commit "2ed199a032f65b5e6a0a1294abc96b7d3efade86"))
+ (package
+ (name "go-github-com-riywo-loginshell")
+ (version (git-version "0.0.0" "0" commit))
+
This message was truncated. Download the full message here.