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