1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 aiosasl,
6 aioopenssl,
7 babel,
8 dnspython,
9 lxml,
10 multidict,
11 pyasn1,
12 pyasn1-modules,
13 pyopenssl,
14 pytz,
15 sortedcollections,
16 tzlocal,
17 pytestCheckHook,
18}:
19
20buildPythonPackage rec {
21 pname = "aioxmpp";
22 version = "0.13.3";
23
24 format = "setuptools";
25
26 src = fetchFromGitHub {
27 owner = "horazont";
28 repo = "aioxmpp";
29 rev = "refs/tags/v${version}";
30 hash = "sha256-bQPKEM5eKhFI3Kx3U1espdxqjnG4yUgOXmYCrd98PDo=";
31 };
32
33 propagatedBuildInputs = [
34 aiosasl
35 aioopenssl
36 babel
37 dnspython
38 lxml
39 multidict
40 pyasn1
41 pyasn1-modules
42 pyopenssl
43 pytz
44 sortedcollections
45 tzlocal
46 ];
47
48 pythonImportsCheck = [
49 "aioxmpp"
50 "aioxmpp.node"
51 "aioxmpp.security_layer"
52 "aioxmpp.stanza"
53 "aioxmpp.stream"
54 ];
55
56 nativeCheckInputs = [ pytestCheckHook ];
57
58 disabledTestPaths = [ "benchmarks" ];
59
60 disabledTests = [
61 # AttributeError: 'zoneinfo.ZoneInfo' object has no attribute 'normalize'
62 "test_convert_field_datetime_default_locale"
63 ];
64
65 meta = {
66 changelog = "https://github.com/horazont/aioxmpp/blob/${src.rev}/docs/api/changelog.rst";
67 description = "Pure-python XMPP library for asyncio";
68 homepage = "https://github.com/horazont/aioxmpp";
69 license = lib.licenses.lgpl3Plus;
70 maintainers = with lib.maintainers; [ dotlambda ];
71 };
72}