1{ lib
2, atpublic
3, attrs
4, buildPythonPackage
5, fetchFromGitHub
6, pytest-mock
7, pytestCheckHook
8, pythonOlder
9, typing-extensions
10}:
11
12buildPythonPackage rec {
13 pname = "aiosmtpd";
14 version = "1.4.4.post2";
15 format = "setuptools";
16
17 disabled = pythonOlder "3.6";
18
19 src = fetchFromGitHub {
20 owner = "aio-libs";
21 repo = pname;
22 rev = "refs/tags/${version}";
23 hash = "sha256-iWKOxXtOBmszDBgeSHNY4a74D00p/9Pf7h/n+ohpTqs=";
24 };
25
26 propagatedBuildInputs = [
27 atpublic
28 attrs
29 ] ++ lib.optionals (pythonOlder "3.8") [
30 typing-extensions
31 ];
32
33 nativeCheckInputs = [
34 pytest-mock
35 pytestCheckHook
36 ];
37
38 # Fixes for Python 3.10 can't be applied easily, https://github.com/aio-libs/aiosmtpd/pull/294
39 doCheck = pythonOlder "3.10";
40
41 disabledTests = [
42 # Requires git
43 "test_ge_master"
44 # Seems to be a sandbox issue
45 "test_byclient"
46 ];
47
48 pythonImportsCheck = [
49 "aiosmtpd"
50 ];
51
52 meta = with lib; {
53 description = "Asyncio based SMTP server";
54 homepage = "https://aiosmtpd.readthedocs.io/";
55 longDescription = ''
56 This is a server for SMTP and related protocols, similar in utility to the
57 standard library's smtpd.py module.
58 '';
59 license = licenses.asl20;
60 maintainers = with maintainers; [ eadwu ];
61 };
62}