gnu: Add alot and python-urwidtrees

Message ID 1467396878-sup-4584@what
State New
Headers

Commit Message

Troy Sankey July 1, 2016, 6:16 p.m. UTC
  ---
 gnu/packages/mail.scm   | 31 +++++++++++++++++++++++++++++++
 gnu/packages/python.scm | 24 ++++++++++++++++++++++++
 2 files changed, 55 insertions(+)
  

Comments

Leo Famulari July 1, 2016, 9:50 p.m. UTC | #1
Thanks for this patch!

Can you split it into two patches? We prefer to make one change (such as
a package addition) per commit. More comments are below.

On Fri, Jul 01, 2016 at 02:16:01PM -0400, Troy Sankey wrote:
> ---
>  gnu/packages/mail.scm   | 31 +++++++++++++++++++++++++++++++
>  gnu/packages/python.scm | 24 ++++++++++++++++++++++++

Please remember to add your name to the list of authors at the beginning
of the files.

> +(define-public alot

> +              (uri (string-append "https://github.com/pazz/alot/archive/"
> +                                  version ".tar.gz"))

When possible, we prefer to use PyPi for downloading Python source code.
But in this case, I don't see version 0.3.7 on PyPi, so we'll use
GitHub.

> +       #:python ,python-2))

If Python 3 is unsupported, can you mention it in a brief comment?

> +    (synopsis "Commandline MUA using notmuch and urwid")

How about "Command-line mail client using @code{notmuch} and
@code{urwid}"? I'm not sure if the synopses support texinfo markup,
while I know the descriptions do.

> +    (description
> +     "Alot is an experimental terminal MUA based on notmuch mail.  It is
> +written in python using the urwid toolkit.")

Can you unpack 'MUA' and wrap notmuch and urwid in texinfo as above?

> +(define-public python-urwidtrees

> +    (arguments
> +     '(#:tests? #f))

If there are no tests, can you say so in a comment as in 'alot'?

> +    (native-inputs `(("python-setuptools" ,python-setuptools)))
> +    (inputs `(("python-urwid" ,python-urwid)))
> +    (home-page "https://github.com/pazz/urwidtrees")
> +    (synopsis "Tree widgets for urwid")
> +    (description "Tree widgets for urwid.")

How about adapting the description from the home-page?

> +    (license gpl3+)))
  
Troy Sankey July 2, 2016, 6:43 p.m. UTC | #2
On 2016-07-01 17:50:50 -0400, Leo Famulari wrote:
> Thanks for this patch!

Thanks for pointing out all my mistakes! :)

> > +(define-public alot
> 
> > +              (uri (string-append "https://github.com/pazz/alot/archive/"
> > +                                  version ".tar.gz"))
> 
> When possible, we prefer to use PyPi for downloading Python source code.
> But in this case, I don't see version 0.3.7 on PyPi, so we'll use
> GitHub.

Maybe I'll poke the devs about this.

> > +    (synopsis "Commandline MUA using notmuch and urwid")
> 
> How about "Command-line mail client using @code{notmuch} and
> @code{urwid}"? I'm not sure if the synopses support texinfo markup,
> while I know the descriptions do.

  $ guix package --show=alot | grep synopsis
  synopsis: Commandline MUA using @code{notmuch} and @code{urwid}

I guess no markup support in the synopsis, I'll just trim it down to:

  "Commandline MUA using notmuch"

It uses python-urwid inasmuch as it uses python-twisted, but it's (to me)
primarily known for its usage of the notmuch mail indexing system and for being
written in python.  I'll poke the devs and come back with a new patch if
necessary.

> > +    (description
> > +     "Alot is an experimental terminal MUA based on notmuch mail.  It is
> > +written in python using the urwid toolkit.")
> 
> Can you unpack 'MUA' and wrap notmuch and urwid in texinfo as above?

Still including the 'MUA' abbreviation because I think it is common enough.

Some linting:

  $ EVERYTHING_EXCEPT_CVE=description,gnu-description,inputs-should-be-native,patch-file-names,home-page,license,source,source-file-name,derivation,synopsis,formatting
  $ guix lint -c $EVERYTHING_EXCEPT_CVE alot python{2,}-urwidtrees
  $ echo $?
  0

(CVE checker takes too long, I'm using slow wifi from a café)

Finally, I'll say that I do use it, and it does build and work correctly.

Troy
  
Leo Famulari July 3, 2016, 8:55 p.m. UTC | #3
Thanks for the updated patches!

On Sat, Jul 02, 2016 at 02:43:44PM -0400, Troy Sankey wrote:
> Finally, I'll say that I do use it, and it does build and work correctly.

Great!

I found that setuptools was not required for urwidtrees, so I removed
it, added changelogs to the commit messages, and pushed as a2cb16b0c.
  

Patch

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index c3baa72..62ff246 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -397,6 +397,37 @@  messages you need; in addition, it allows you to view messages, extract
 attachments, create new maildirs, and so on.")
     (license gpl3+)))
 
+(define-public alot
+  (package
+    (name "alot")
+    (version "0.3.7")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/pazz/alot/archive/"
+                                  version ".tar.gz"))
+              (file-name (string-append "alot-" version ".tar.gz"))
+              (sha256
+               (base32
+                "09md9llg38r6xby8l0y0zf8nhlh91cr4xs0r15b294hhp8hl2bgx"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f ; no tests
+       #:python ,python-2))
+    (inputs
+     `(("python2-magic" ,python2-magic)
+       ("python2-configobj" ,python2-configobj)
+       ("python2-twisted" ,python2-twisted)
+       ("python2-urwid" ,python2-urwid)
+       ("python2-urwidtrees" ,python2-urwidtrees)
+       ("python2-pygpgme" ,python2-pygpgme)
+       ("python2-notmuch" ,python2-notmuch)))
+    (home-page "https://github.com/pazz/alot")
+    (synopsis "Commandline MUA using notmuch and urwid")
+    (description
+     "Alot is an experimental terminal MUA based on notmuch mail.  It is
+written in python using the urwid toolkit.")
+    (license gpl3+)))
+
 (define-public notmuch
   (package
     (name "notmuch")
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 684c372..617732b 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4488,6 +4488,30 @@  features useful for text console applications.")
 (define-public python2-urwid
   (package-with-python2 python-urwid))
 
+(define-public python-urwidtrees
+  (package
+    (name "python-urwidtrees")
+    (version "1.0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "urwidtrees" version))
+       (sha256
+        (base32
+         "1zcvy12s7h3fazf33d6y7b4v19p8hg95xqwhqlmw6jz9fq76v9h8"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:tests? #f))
+    (native-inputs `(("python-setuptools" ,python-setuptools)))
+    (inputs `(("python-urwid" ,python-urwid)))
+    (home-page "https://github.com/pazz/urwidtrees")
+    (synopsis "Tree widgets for urwid")
+    (description "Tree widgets for urwid.")
+    (license gpl3+)))
+
+(define-public python2-urwidtrees
+  (package-with-python2 python-urwidtrees))
+
 (define-public python-dbus
   (package
     (name "python-dbus")