Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / pyzmq / default.nix
blob51429d535df4a1a9ac6454d5a82e0b89827a3360
1 { lib
2 , buildPythonPackage
3 , fetchPypi
4 , isPyPy
6 # build-system
7 , cython
8 , setuptools
9 , setuptools-scm
10 , packaging
11 , cffi
13 # dependencies
15 , py
16 , pytestCheckHook
17 , python
18 , pythonOlder
19 , tornado
20 , zeromq
21 , pytest-asyncio
24 buildPythonPackage rec {
25   pname = "pyzmq";
26   version = "25.1.2";
27   pyproject = true;
29   disabled = pythonOlder "3.6";
31   src = fetchPypi {
32     inherit pname version;
33     hash = "sha256-k/GqMR6LuRLjTwBM8YZAek6Q7sTw7MDv0mBWv37aAiY=";
34   };
36   nativeBuildInputs = [
37     setuptools
38     setuptools-scm
39     packaging
40   ] ++ (if isPyPy then [
41     cffi
42   ] else [
43     cython
44   ]);
46   buildInputs = [
47     zeromq
48   ];
50   propagatedBuildInputs = lib.optionals isPyPy [
51     cffi
52   ];
54   nativeCheckInputs = [
55     pytestCheckHook
56     tornado
57     pytest-asyncio
58   ];
60   pythonImportsCheck = [
61     "zmq"
62   ];
64   pytestFlagsArray = [
65     "$out/${python.sitePackages}/zmq/tests/" # Folder with tests
66     # pytest.ini is missing in pypi's sdist
67     # https://github.com/zeromq/pyzmq/issues/1853#issuecomment-1592731986
68     "--asyncio-mode auto"
69     "--ignore=$out/lib/python3.12/site-packages/zmq/tests/test_mypy.py"
70   ];
72   disabledTests = [
73     # Tests hang
74     "test_socket"
75     "test_monitor"
76     # https://github.com/zeromq/pyzmq/issues/1272
77     "test_cython"
78     # Test fails
79     "test_mockable"
80     # Issues with the sandbox
81     "TestFutureSocket"
82     "TestIOLoop"
83     "TestPubLog"
84   ];
86   # Some of the tests use localhost networking.
87   __darwinAllowLocalNetworking = true;
89   meta = with lib; {
90     description = "Python bindings for ØMQ";
91     homepage = "https://pyzmq.readthedocs.io/";
92     license = with licenses; [ bsd3 /* or */ lgpl3Only ];
93     maintainers = with maintainers; [ ];
94   };