nixpkgs/pkgs/development/python-modules/aiosmtpd/default.nix

73 lines
1.5 KiB
Nix

{
lib,
atpublic,
attrs,
buildPythonPackage,
fetchFromGitHub,
pytest-mock,
pytestCheckHook,
pythonOlder,
setuptools,
typing-extensions,
# for passthru.tests
django,
aiosmtplib,
}:
buildPythonPackage rec {
pname = "aiosmtpd";
version = "1.4.6";
pyproject = true;
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "aio-libs";
repo = "aiosmtpd";
rev = "refs/tags/v${version}";
hash = "sha256-Ih/xbWM9O/fFQiZezydlPlIr36fLRc2lLgdfxD5Jviw=";
};
nativeBuildInputs = [ setuptools ];
propagatedBuildInputs = [
atpublic
attrs
] ++ lib.optionals (pythonOlder "3.8") [ typing-extensions ];
nativeCheckInputs = [
pytest-mock
pytestCheckHook
];
# Fixes for Python 3.10 can't be applied easily, https://github.com/aio-libs/aiosmtpd/pull/294
doCheck = pythonOlder "3.10";
disabledTests = [
# Requires git
"test_ge_master"
# Seems to be a sandbox issue
"test_byclient"
];
pythonImportsCheck = [ "aiosmtpd" ];
passthru.tests = {
inherit django aiosmtplib;
};
meta = with lib; {
description = "Asyncio based SMTP server";
mainProgram = "aiosmtpd";
homepage = "https://aiosmtpd.readthedocs.io/";
changelog = "https://github.com/aio-libs/aiosmtpd/releases/tag/v${version}";
longDescription = ''
This is a server for SMTP and related protocols, similar in utility to the
standard library's smtpd.py module.
'';
license = licenses.asl20;
maintainers = with maintainers; [ eadwu ];
};
}