1{
2 lib,
3 buildPythonPackage,
4 isPyPy,
5 fetchPypi,
6 hatchling,
7 hatch-vcs,
8 gevent,
9 pytestCheckHook,
10}:
11
12buildPythonPackage rec {
13 pname = "execnet";
14 version = "2.1.1";
15 pyproject = true;
16
17 src = fetchPypi {
18 inherit pname version;
19 hash = "sha256-UYm1LGEhwk/q4ogWarQbMlScfiNIZSc2VAuebn1OcuM=";
20 };
21
22 postPatch =
23 ''
24 # remove vbox tests
25 rm testing/test_termination.py
26 rm testing/test_channel.py
27 rm testing/test_xspec.py
28 rm testing/test_gateway.py
29 ''
30 + lib.optionalString isPyPy ''
31 rm testing/test_multi.py
32 '';
33
34 build-system = [
35 hatchling
36 hatch-vcs
37 ];
38
39 # sometimes crashes with: OSError: [Errno 9] Bad file descriptor
40 doCheck = !isPyPy;
41
42 nativeCheckInputs = [
43 gevent
44 pytestCheckHook
45 ];
46
47 disabledTests = [
48 # gets stuck
49 "test_popen_io"
50 # OSError: [Errno 9] Bad file descriptor
51 "test_stdouterrin_setnull"
52 ];
53
54 pytestFlagsArray = [ "-vvv" ];
55
56 pythonImportsCheck = [ "execnet" ];
57
58 __darwinAllowLocalNetworking = true;
59
60 meta = {
61 description = "Distributed Python deployment and communication";
62 homepage = "https://execnet.readthedocs.io/";
63 changelog = "https://github.com/pytest-dev/execnet/blob/v${version}/CHANGELOG.rst";
64 license = lib.licenses.mit;
65 maintainers = with lib.maintainers; [ getchoo ];
66 };
67}