From patchwork Wed Sep 18 08:23:13 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Martin Becze X-Patchwork-Id: 15404 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 89E16173AB; Wed, 18 Sep 2019 09:25:16 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_DKIM_INVALID, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 85C4817378 for ; Wed, 18 Sep 2019 09:25:15 +0100 (BST) Received: from localhost ([::1]:55748 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iAVH1-0006cJ-37 for patchwork@mira.cbaines.net; Wed, 18 Sep 2019 04:25:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47072) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iAVGr-0006b0-Oy for guix-patches@gnu.org; Wed, 18 Sep 2019 04:25:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iAVGo-0000Yu-Du for guix-patches@gnu.org; Wed, 18 Sep 2019 04:25:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:44727) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iAVGo-0000Ym-9x for guix-patches@gnu.org; Wed, 18 Sep 2019 04:25:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iAVGo-0000Ix-3O for guix-patches@gnu.org; Wed, 18 Sep 2019 04:25:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#37444] [PATCH] added aerc, a simple email client and its dependcies Resent-From: Martin Becze Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 Sep 2019 08:25:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 37444 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 37444@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.15687950911150 (code B ref -1); Wed, 18 Sep 2019 08:25:01 +0000 Received: (at submit) by debbugs.gnu.org; 18 Sep 2019 08:24:51 +0000 Received: from localhost ([127.0.0.1]:53548 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iAVGV-0000IN-A2 for submit@debbugs.gnu.org; Wed, 18 Sep 2019 04:24:49 -0400 Received: from lists.gnu.org ([209.51.188.17]:56163) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iAVGN-0000Hz-Q6 for submit@debbugs.gnu.org; Wed, 18 Sep 2019 04:24:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46959) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iAVGJ-0006W6-OK for guix-patches@gnu.org; Wed, 18 Sep 2019 04:24:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iAVGF-00007p-NA for guix-patches@gnu.org; Wed, 18 Sep 2019 04:24:31 -0400 Received: from mx1.riseup.net ([198.252.153.129]:47992) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iAVGB-0008Vc-OY for guix-patches@gnu.org; Wed, 18 Sep 2019 04:24:25 -0400 Received: from capuchin.riseup.net (capuchin-pn.riseup.net [10.0.1.176]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client CN "*.riseup.net", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.riseup.net (Postfix) with ESMTPS id E41671B9414 for ; Wed, 18 Sep 2019 01:24:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1568795062; bh=nkd8k1KJRFp25c/K0kyPU/J+u5UvywkqyGURi0XLw18=; h=From:To:Cc:Subject:Date:From; b=JPI58l4xMXR13yR+lpa4dzrxuUdlOIoTB+HWyQ12Y/ji2+2UcGHEDw0DLDj5a2EHy jE9Cpzbf1Uhs9W3BybJVsevZQOwTde/EmGu5Rq5SuaUrjdYNGJngfv5fkpkZvXu7pI UDIB9R7s+QUC6bKpTL+Z8N/s9l8SnUy7X250LApE= X-Riseup-User-ID: D8AC8B753411EC66C44D68ACB99979EB66F73475B8F6DD7DFFF5F3CD1378507D Received: from [127.0.0.1] (localhost [127.0.0.1]) by capuchin.riseup.net (Postfix) with ESMTPSA id B4AA91209AC; Wed, 18 Sep 2019 01:24:20 -0700 (PDT) From: Martin Becze Date: Wed, 18 Sep 2019 04:23:13 -0400 Message-Id: <20190918082313.3514-1-mjbecze@riseup.net> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Martin Becze Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches --- 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(-) 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 ;;; Copyright @ 2019 Alex Griffin ;;; Copyright © 2019 Arun Isaac +;;; Copyright © 2019 Martin Becze ;;; ;;; 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)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url url) + (commit commit))) + (sha256 + (base32 + "1chhpp22kd3r2h84206bvdjj6815n4r6pjq8n9jhav9mfal4qvzj")) + (file-name (git-file-name name version)))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/riywo/loginshell" + #:tests? #f)) + (home-page url) + (synopsis "A golang library to get the login shell of the current user") + (description "A golang library to get the login shell of the current user.") + (license license:expat)))) + +(define-public go-git-sr-ht-sircmpwn-getopt + (let ((commit "daaf1274538b02b41238d1e6c219186c76af3b8c") + (url "https://git.sr.ht/~sircmpwn/getopt")) + (package + (name "go-git-sr-ht-sircmpwn-getopt") + (version (git-version "0.0.0" "0" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url url) + (commit commit))) + (sha256 + (base32 + "0qf9kmzs3h4vzcbc1ha0z68ivckzvl7jq9jwb8rbbaq0d1a6baq7")) + (file-name (git-file-name name version)))) + (build-system go-build-system) + (arguments + '(#:import-path "git.sr.ht/~sircmpwn/getopt")) + (native-inputs + `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify))) + (home-page url) + (synopsis "A POSIX-compatible getopt implementation for Go") + (description "A POSIX-compatible getopt implementation for Go, because + POSIX getopt is The Correct Way to interpret arguments to command line utilities.") + (license license:expat)))) + +(define-public go-git-sr-ht-sircmpwn-pty + (let ((commit "3a43678975a9cb13dbcf05ea7a1611ebce3eadb2") + (url "https://git.sr.ht/~sircmpwn/pty")) + (package + (name "go-git-sr-ht-sircmpwn-pty") + (version (git-version "0.0.0" "0" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url url) + (commit commit))) + (sha256 + (base32 + "1spa779vb2j1vgwm1cpbmf7f8wj6zwyyy49ihz134izvah7vncsw")) + (file-name (git-file-name name version)))) + (build-system go-build-system) + (arguments + '(#:import-path "git.sr.ht/~sircmpwn/pty")) + (home-page url) + (synopsis "A Go package for using unix pseudo-terminals") + (description "Pty is a Go package for using unix pseudo-terminals.") + (license license:expat)))) + +(define-public go-git-sr-ht-sircmpwn-tcell + (let ((commit "3fdb6bc01a5035fe7cd57b9b0b56166a44db8620") + (version "0.0.0")) + (package + (name "go-git-sr-ht-sircmpwn-tcell") + (version (git-version version "0" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~sircmpwn/tcell") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1g7vx0qzwp6wsp47l2rabmkrxp7x3z8s94gjf6722z7sfb8xybas")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/gdamore/tcell" + #:unpack-path "github.com/gdamore/tcell" + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'make-files-writable + (lambda* (#:key outputs #:allow-other-keys) + ;; Make sure .gz files are writable so that the + ;; 'reset-gzip-timestamps' phase can do its work. + (let ((out (assoc-ref outputs "out"))) + (for-each make-file-writable + (find-files out "\\.gz$")) + #t)))))) + (propagated-inputs + `(("go-golang-org-colorful" ,go-golang-org-colorful) + ("go-github-com-gdamore-encoding" ,go-github-com-gdamore-encoding))) + (inputs + `(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth) + ("go-golang-org-x-text-encoding" ,go-golang-org-x-text-encoding) + ("go-golang-org-x-text-transform" ,go-golang-org-x-text-transform) + ("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix))) + (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 +terminfo capability strings to avoid hard-coding escape strings for +formatting. It also favors portability, and includes support for all POSIX +systems.") + (license license:expat)))) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index fdbb082fdc..3b96a1443b 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2018 Gábor Boskovits ;;; Copyright © 2018, 2019 Ricardo Wurmus +;;; Copyright © 2019 Martin Becze ;;; ;;; This file is part of GNU Guix. ;;; @@ -74,6 +75,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) + #:use-module (gnu packages golang) #:use-module (gnu packages groff) #:use-module (gnu packages gsasl) #:use-module (gnu packages gtk) @@ -111,6 +113,7 @@ #:use-module (gnu packages sqlite) #:use-module (gnu packages tcl) #:use-module (gnu packages texinfo) + #:use-module (gnu packages textutils) #:use-module (gnu packages time) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) @@ -133,6 +136,7 @@ #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system guile) + #:use-module (guix build-system go) #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system trivial)) @@ -3082,3 +3086,73 @@ related tools to process winmail.dat files.") complement or replace traditional mailing lists. Readers may read via NNTP, Atom feeds or HTML archives.") (license agpl3+)))) + +(define-public aerc + (let ((url "https://git.sr.ht/~sircmpwn/aerc")) + (package + (name "aerc") + (version "0.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url url) + (commit version))) + (sha256 + (base32 + "0l063pnz02r4jsg0kd9jp8m5nq10n5q9zdjpx26gfnd9ww4fs46h")) + (file-name (git-file-name name version)))) + (build-system go-build-system) + (arguments + '(#:import-path "git.sr.ht/~sircmpwn/aerc" + #:install-source? #f + #:phases + (modify-phases %standard-phases + (add-after 'setup-go-environment 'setup-make-environment + (lambda* (#:key outputs #:allow-other-keys) + (setenv "PREFIX" (assoc-ref outputs "out")) + #t)) + (replace 'build + (lambda _ + (with-directory-excursion "src/git.sr.ht/~sircmpwn/aerc" + (invoke "make")))) + (replace 'install + (lambda _ + (with-directory-excursion "src/git.sr.ht/~sircmpwn/aerc" + (invoke "make" "install"))))))) + (inputs + `(("ncurses" ,ncurses))) + (native-inputs + `(("scdoc" ,scdoc) + ("automake" ,automake) + ("go-git-sr-ht-sircmpwn-getopt" ,go-git-sr-ht-sircmpwn-getopt) + ("go-git-sr-ht-sircmpwn-pty" ,go-git-sr-ht-sircmpwn-pty) + ("go-git-sr-ht-sircmpwn-tcell" ,go-git-sr-ht-sircmpwn-tcell) + ("go-github-com-danwakefield-fnmatch" + ,go-github-com-danwakefield-fnmatch) + ("go-github-com-ddevault-go-libvterm" + ,go-github-com-ddevault-go-libvterm) + ("go-github-com-emersion-go-imap" ,go-github-com-emersion-go-imap) + ("go-github-com-emersion-go-imap-idle" + ,go-github-com-emersion-go-imap-idle) + ("go-github-com-emersion-go-maildir" ,go-github-com-emersion-go-maildir) + ("go-github-com-emersion-go-message" ,go-github-com-emersion-go-message) + ("go-github-com-emersion-go-sasl" ,go-github-com-emersion-go-sasl) + ("go-github-com-emersion-go-smtp" ,go-github-com-emersion-go-smtp) + ("go-github-com-fsnotify-fsnotify" ,go-github-com-fsnotify-fsnotify) + ("go-github-com-go-ini-ini" ,go-github-com-go-ini-ini) + ("go-github-com-google-shlex" ,go-github-com-google-shlex) + ("go-github-com-kyoh86-xdg" ,go-github-com-kyoh86-xdg) + ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty) + ("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth) + ("go-github-com-miolini-datacounter" ,go-github-com-miolini-datacounter) + ("go-github-com-mitchellh-go-homedir" + ,go-github-com-mitchellh-go-homedir) + ("go-github-com-pkg-errors" ,go-github-com-pkg-errors) + ("go-github-com-riywo-loginshell" ,go-github-com-riywo-loginshell) + ("go-golang-org-x-oauth2" ,go-golang-org-x-oauth2))) + (home-page url) + (synopsis "An email client for your terminal") + (description "Join the IRC channel: #aerc on irc.freenode.net for end-user + support, and #aerc-dev for development.") + (license license:expat))))