1{ lib
2, buildPythonPackage
3, isPyPy
4, fetchPypi
5, fetchpatch
6, pytestCheckHook
7, setuptools-scm
8, apipkg
9, py
10}:
11
12buildPythonPackage rec {
13 pname = "execnet";
14 version = "1.9.0";
15 format = "setuptools";
16
17 src = fetchPypi {
18 inherit pname version;
19 sha256 = "8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5";
20 };
21
22 patches = [
23 (fetchpatch {
24 # Fix test compat with pytest 7.2.0
25 url = "https://github.com/pytest-dev/execnet/commit/c0459b92bc4a42b08281e69b8802d24c5d3415d4.patch";
26 hash = "sha256-AT2qr7AUpFXcPps525U63A7ARcEVmf0HM6ya73Z2vi0=";
27 })
28 ];
29
30 postPatch = ''
31 # remove vbox tests
32 rm testing/test_termination.py
33 rm testing/test_channel.py
34 rm testing/test_xspec.py
35 rm testing/test_gateway.py
36 '' + lib.optionalString isPyPy ''
37 rm testing/test_multi.py
38 '';
39
40 nativeBuildInputs = [
41 setuptools-scm
42 ];
43
44 propagatedBuildInputs = [
45 apipkg
46 ];
47
48 # sometimes crashes with: OSError: [Errno 9] Bad file descriptor
49 doCheck = !isPyPy;
50
51 nativeCheckInputs = [
52 py # no longer required with 1.10.0
53 pytestCheckHook
54 ];
55
56 pythonImportsCheck = [
57 "execnet"
58 ];
59
60 __darwinAllowLocalNetworking = true;
61
62 meta = with lib; {
63 changelog = "https://github.com/pytest-dev/execnet/blob/v${version}/CHANGELOG.rst";
64 description = "Distributed Python deployment and communication";
65 homepage = "https://execnet.readthedocs.io/";
66 license = licenses.mit;
67 maintainers = with maintainers; [ ];
68 };
69}