nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv
2, lib
3, buildPythonPackage
4, fetchFromGitHub
5, ifaddr
6, pytest-asyncio
7, pythonOlder
8, pytestCheckHook
9}:
10
11buildPythonPackage rec {
12 pname = "zeroconf";
13 version = "0.38.6";
14 format = "setuptools";
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchFromGitHub {
19 owner = "jstasiak";
20 repo = "python-zeroconf";
21 rev = version;
22 hash = "sha256-P5yAXh/5J5/giOZTOuk9ay3PF8MNxPOJgtoWeX7xxFk=";
23 };
24
25 propagatedBuildInputs = [
26 ifaddr
27 ];
28
29 checkInputs = [
30 pytest-asyncio
31 pytestCheckHook
32 ];
33
34 disabledTests = [
35 # tests that require network interaction
36 "test_close_multiple_times"
37 "test_launch_and_close"
38 "test_launch_and_close_context_manager"
39 "test_launch_and_close_v4_v6"
40 "test_launch_and_close_v6_only"
41 "test_integration_with_listener_ipv6"
42 # Starting with 0.38.6: AssertionError: assert [('add', '_ht..._tcp.local.')]
43 "test_service_browser_expire_callbacks"
44 ] ++ lib.optionals stdenv.isDarwin [
45 "test_lots_of_names"
46 ];
47
48 __darwinAllowLocalNetworking = true;
49
50 pythonImportsCheck = [
51 "zeroconf"
52 "zeroconf.asyncio"
53 ];
54
55 meta = with lib; {
56 description = "Python implementation of multicast DNS service discovery";
57 homepage = "https://github.com/jstasiak/python-zeroconf";
58 license = licenses.lgpl21Only;
59 maintainers = with maintainers; [ abbradar ];
60 };
61}