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