1{
2 lib,
3 buildPythonPackage,
4 fetchurl,
5 fetchFromGitLab,
6 gobject-introspection,
7 idna,
8 libsoup_3,
9 packaging,
10 precis-i18n,
11 pygobject3,
12 pyopenssl,
13 pytestCheckHook,
14 pythonOlder,
15 setuptools,
16}:
17
18buildPythonPackage rec {
19 pname = "nbxmpp";
20 version = "6.3.0";
21 format = "pyproject";
22
23 disabled = pythonOlder "3.10";
24
25 src = fetchFromGitLab {
26 domain = "dev.gajim.org";
27 owner = "gajim";
28 repo = "python-nbxmpp";
29 rev = "refs/tags/${version}";
30 hash = "sha256-s29d3SqmnFuqnr7B6u7N+kPKfccMlmTIoQGtjOe1ipg=";
31 };
32
33 nativeBuildInputs = [
34 # required for pythonImportsCheck otherwise libsoup cannot be found
35 gobject-introspection
36 setuptools
37 ];
38
39 buildInputs = [ precis-i18n ];
40
41 propagatedBuildInputs = [
42 gobject-introspection
43 idna
44 libsoup_3
45 packaging
46 (pygobject3.overrideAttrs (o: {
47 src = fetchurl {
48 url = "mirror://gnome/sources/pygobject/3.52/pygobject-3.52.3.tar.gz";
49 hash = "sha256-AOQn0pHpV0Yqj61lmp+ci+d2/4Kot2vfQC8eruwIbYI=";
50 };
51 }))
52 pyopenssl
53 ];
54
55 nativeCheckInputs = [ pytestCheckHook ];
56
57 pythonImportsCheck = [ "nbxmpp" ];
58
59 meta = with lib; {
60 homepage = "https://dev.gajim.org/gajim/python-nbxmpp";
61 description = "Non-blocking Jabber/XMPP module";
62 license = licenses.gpl3Plus;
63 maintainers = [ ];
64 };
65}