1{ lib
2, buildPythonPackage
3, fetchPypi
4, python
5, serpent
6, dill
7, cloudpickle
8, msgpack
9, isPy27
10, selectors34
11, pytestCheckHook
12}:
13
14buildPythonPackage rec {
15 pname = "Pyro4";
16 version = "4.80";
17
18 src = fetchPypi {
19 inherit pname version;
20 sha256 = "46847ca703de3f483fbd0b2d22622f36eff03e6ef7ec7704d4ecaa3964cb2220";
21 };
22
23 propagatedBuildInputs = [
24 serpent
25 ] ++ lib.optionals isPy27 [ selectors34 ];
26
27 buildInputs = [
28 dill
29 cloudpickle
30 msgpack
31 ];
32
33 checkInputs = [ pytestCheckHook ];
34
35 # add testsupport.py to PATH
36 preCheck = "PYTHONPATH=tests/PyroTests:$PYTHONPATH";
37
38 # ignore network related tests, which fail in sandbox
39 pytestFlagsArray = [ "--ignore=tests/PyroTests/test_naming.py" ];
40
41 disabledTests = [
42 "StartNSfunc"
43 "Broadcast"
44 "GetIP"
45 ];
46
47 # otherwise the tests hang the build
48 __darwinAllowLocalNetworking = true;
49
50 meta = with lib; {
51 description = "Distributed object middleware for Python (RPC)";
52 homepage = "https://github.com/irmen/Pyro4";
53 license = licenses.mit;
54 maintainers = with maintainers; [ prusnak ];
55 };
56}