Subject: [bug#31121] [PATCH 2/3] gnu: Add python-m2crypto, python2-m2crypto.

From: Marius Bakke <[email-masked]>
Date: Mon, 16 Apr 2018 23:54:25 +0200

Tomáš Čech <[email-masked]> writes:

>  * gnu/packages/python.scm (python-m2crypto): New variable.
>    (python2-m2crypto): New variable.

Maybe this could go in 'python-crypto.scm'?

[...]

> +    (home-page "https://gitlab.com/m2crypto/m2crypto")
> +    (synopsis "A Python crypto and SSL toolkit")

No articles in synopses please :-)

Also, s/SSL/TLS.

> +    (description "A Python crypto and SSL toolkit.  M2 stands for \"me, too!\"

Can you try to turn this into a full sentence?  E.g. "M2crypto is a
library for ...".

> +.  M2Crypto comes with the following:
> +RSA, DSA, DH, HMACs, message digests,
> +symmetric ciphers including AES,
> +TLS functionality to implement clients and servers.
> +Example SSL client and server programs, which are variously
> +threading, forking or based on non-blocking socket IO.
> +HTTPS extensions to Python's httplib, urllib and xmlrpclib.
> +Unforgeable HMAC'ing AuthCookies for web session management.
> +FTP/TLS client and server.
> +S/MIME v2.
> +ZServerSSL: A HTTPS server for Zope.
> +ZSmime: An S/MIME messenger for Zope.")

You can use @enumerate here to make it look better on gnu.org and guix
package --search.  Although maybe the format from setup.py is better
(sans marketing language):

M2Crypto is the most complete Python wrapper for OpenSSL featuring RSA, DSA,
DH, EC, HMACs, message digests, symmetric ciphers (including AES); SSL
functionality to implement clients and servers; HTTPS extensions to Python's
httplib, urllib, and xmlrpclib; unforgeable HMAC'ing AuthCookies for web
session management; FTP/TLS client and server; S/MIME; M2Crypto can also be
used to provide SSL for Twisted. Smartcards supported through the Engine
interface.

At least make sure the output from `guix package --search` looks nice :)
(and that guix lint is happy, of course)

> +    (license license:x11)))

I believe this is "expat" since it does not contain the advertisement
clause.