Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 buildPythonPackage, 3 fetchPypi, 4 lib, 5 mock, 6 pyopenssl, 7 pytestCheckHook, 8 pythonOlder, 9 setuptools, 10 six, 11 twisted, 12 txi2p-tahoe, 13 txtorcon, 14 versioneer, 15}: 16 17buildPythonPackage rec { 18 pname = "foolscap"; 19 version = "23.3.0"; 20 21 pyproject = true; 22 build-system = [ 23 setuptools 24 versioneer 25 ]; 26 27 disabled = pythonOlder "3.7"; 28 29 src = fetchPypi { 30 inherit pname version; 31 hash = "sha256-Vu7oXC1brsgBwr2q59TAgx8j1AFRbi5mjRNIWZTbkUU="; 32 }; 33 34 postPatch = '' 35 # Remove vendorized versioneer.py 36 rm versioneer.py 37 ''; 38 39 dependencies = [ 40 six 41 twisted 42 pyopenssl 43 ] ++ twisted.optional-dependencies.tls; 44 45 passthru.optional-dependencies = { 46 i2p = [ txi2p-tahoe ]; 47 tor = [ txtorcon ]; 48 }; 49 50 nativeCheckInputs = [ 51 mock 52 pytestCheckHook 53 ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies); 54 55 pythonImportsCheck = [ "foolscap" ]; 56 57 meta = with lib; { 58 description = "RPC protocol for Python that follows the distributed object-capability model"; 59 longDescription = '' 60 "Foolscap" is the name for the next-generation RPC protocol, intended to 61 replace Perspective Broker (part of Twisted). Foolscap is a protocol to 62 implement a distributed object-capabilities model in Python. 63 ''; 64 homepage = "https://github.com/warner/foolscap"; 65 license = licenses.mit; 66 maintainers = [ ]; 67 }; 68}