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