Subject: [bug#42297] [PATCH 10/10] gnu: Add python-aiosmtpd.

From: Alexandru-Sergiu Marton <[email-masked]>
Date: Thu, 9 Jul 2020 22:19:18 +0300

* gnu/packages/python-xyz.scm (python-aiosmtpd): New variable.
---
 gnu/packages/python-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d8270edca1..6371d75205 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -20667,3 +20667,38 @@ curves are supported.")
 module's __all__ and optionally the module globals.  This provides
 both a pure-Python implementation and an optional C implementation.")
     (license license:asl2.0)))
+
+(define-public python-aiosmtpd
+  (package
+    (name "python-aiosmtpd")
+    (version "1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "aiosmtpd" version))
+       (sha256
+        (base32
+         "1xdfk741pjmz1cm8dsi4n5vq4517i175rm94696m3f7kcgk7xsmp"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f)) ;; FIXME Tests fail due to network error (Errno 111)
+    (propagated-inputs
+     `(("python-atpublic" ,python-atpublic)))
+    (home-page "https://github.com/aio-libs/aiosmtpd")
+    (synopsis "Asyncio based SMTP server")
+    (description
+     "The Python standard library includes a basic SMTP server in the
+smtpd module, based on the old asynchronous libraries asyncore and
+asynchat.  These modules are quite old and are definitely showing their
+age.  asyncore and asynchat are difficult APIs to work with, understand,
+extend, and fix.
+
+With the introduction of the asyncio module in Python 3.4, a much better
+way of doing asynchronous I/O is now available.  It seems obvious that
+an asyncio-based version of the SMTP and related protocols are needed for
+Python 3.  This project brings together several highly experienced Python
+developers collaborating on this reimplementation.
+
+This package provides such an implementation of both the SMTP and LMTP
+protocols.")
+    (license license:asl2.0)))
-- 
2.27.0