1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchPypi,
6 serpent,
7 pythonOlder,
8 pytestCheckHook,
9}:
10
11buildPythonPackage rec {
12 pname = "pyro5";
13 version = "5.15";
14 format = "setuptools";
15
16 disabled = pythonOlder "3.8";
17
18 src = fetchPypi {
19 pname = "Pyro5";
20 inherit version;
21 hash = "sha256-gsPfyYYLSfiXso/yT+ZxbIQWcsYAr4/kDQ46f6yaP14=";
22 };
23
24 propagatedBuildInputs = [ serpent ];
25
26 __darwinAllowLocalNetworking = true;
27
28 nativeCheckInputs = [ pytestCheckHook ];
29
30 disabledTests = [
31 # Ignore network related tests, which fail in sandbox
32 "StartNSfunc"
33 "Broadcast"
34 "GetIP"
35 "TestNameServer"
36 "TestBCSetup"
37 # time sensitive tests
38 "testTimeoutCall"
39 ]
40 ++ lib.optionals stdenv.hostPlatform.isDarwin [ "Socket" ];
41
42 pythonImportsCheck = [ "Pyro5" ];
43
44 meta = with lib; {
45 description = "Distributed object middleware for Python (RPC)";
46 homepage = "https://github.com/irmen/Pyro5";
47 changelog = "https://github.com/irmen/Pyro5/releases/tag/v${version}";
48 license = licenses.mit;
49 maintainers = with maintainers; [ peterhoeg ];
50 };
51}