Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 buildPythonPackage, 5 fetchFromGitHub, 6 setuptools, 7 hatchling, 8 plumbum, 9 pytestCheckHook, 10 pythonOlder, 11 pythonAtLeast, 12}: 13 14buildPythonPackage rec { 15 pname = "rpyc4"; 16 # Pinned version for linien, see also: 17 # https://github.com/linien-org/pyrp3/pull/10#discussion_r1302816237 18 version = "4.1.5"; 19 format = "pyproject"; 20 21 # Since this is an outdated version, upstream might have fixed the 22 # compatibility issues with Python3.12, but we can't enjoy them yet. 23 disabled = pythonOlder "3.7" || pythonAtLeast "3.12"; 24 25 src = fetchFromGitHub { 26 owner = "tomerfiliba"; 27 repo = "rpyc"; 28 rev = version; 29 hash = "sha256-8NOcXZDR3w0TNj1+LZ7lzQAt7yDgspjOp2zk1bsbVls="; 30 }; 31 32 nativeBuildInputs = [ 33 setuptools 34 hatchling 35 ]; 36 37 propagatedBuildInputs = [ plumbum ]; 38 39 nativeCheckInputs = [ pytestCheckHook ]; 40 41 disabledTests = [ 42 # Disable tests that requires network access 43 "test_api" 44 "test_close_timeout" 45 "test_deploy" 46 "test_listing" 47 "test_pruning" 48 "test_rpyc" 49 # Test is outdated 50 # ssl.SSLError: [SSL: NO_CIPHERS_AVAILABLE] no ciphers available (_ssl.c:997) 51 "test_ssl_conenction" 52 ]; 53 disabledTestPaths = [ 54 "tests/test_ssh.py" 55 "tests/test_teleportation.py" 56 ]; 57 58 pythonImportsCheck = [ "rpyc" ]; 59 60 doCheck = !stdenv.isDarwin; 61 62 meta = with lib; { 63 description = "Remote Python Call (RPyC), a transparent and symmetric RPC library"; 64 homepage = "https://rpyc.readthedocs.org"; 65 changelog = "https://github.com/tomerfiliba-org/rpyc/blob/${version}/CHANGELOG.rst"; 66 license = with licenses; [ mit ]; 67 maintainers = with maintainers; [ fab ]; 68 }; 69}