at master 1.5 kB view raw
1{ 2 lib, 3 cython, 4 async-timeout, 5 buildPythonPackage, 6 fetchFromGitHub, 7 ifaddr, 8 poetry-core, 9 pytest-asyncio, 10 pytest-codspeed, 11 pytest-cov-stub, 12 pytest-timeout, 13 pythonOlder, 14 pytestCheckHook, 15 setuptools, 16}: 17 18buildPythonPackage rec { 19 pname = "zeroconf"; 20 version = "0.147.2"; 21 pyproject = true; 22 23 disabled = pythonOlder "3.9"; 24 25 src = fetchFromGitHub { 26 owner = "jstasiak"; 27 repo = "python-zeroconf"; 28 tag = version; 29 hash = "sha256-t1++u+2+Pe/61MXzq5+9ayVl7ot3RrJUGCTNtHicpF8="; 30 }; 31 32 build-system = [ 33 cython 34 poetry-core 35 setuptools 36 ]; 37 38 dependencies = [ ifaddr ] ++ lib.optionals (pythonOlder "3.11") [ async-timeout ]; 39 40 nativeCheckInputs = [ 41 pytest-asyncio 42 pytest-codspeed 43 pytest-cov-stub 44 pytest-timeout 45 pytestCheckHook 46 ]; 47 48 disabledTests = [ 49 # OSError: [Errno 19] No such device 50 "test_close_multiple_times" 51 "test_integration_with_listener_ipv6" 52 "test_launch_and_close" 53 "test_launch_and_close_context_manager" 54 "test_launch_and_close_v4_v6" 55 ]; 56 57 __darwinAllowLocalNetworking = true; 58 59 pythonImportsCheck = [ 60 "zeroconf" 61 "zeroconf.asyncio" 62 ]; 63 64 meta = with lib; { 65 description = "Python implementation of multicast DNS service discovery"; 66 homepage = "https://github.com/python-zeroconf/python-zeroconf"; 67 changelog = "https://github.com/python-zeroconf/python-zeroconf/blob/${src.tag}/CHANGELOG.md"; 68 license = licenses.lgpl21Only; 69 maintainers = [ ]; 70 }; 71}