at master 1.4 kB view raw
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 = "24.9.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-vWsAdUDbWQuG3e0oAtLq8rA4Ys2wg38fD/h+E1ViQQg="; 32 }; 33 34 postPatch = '' 35 # Remove vendorized versioneer.py 36 rm versioneer.py 37 ''; 38 39 dependencies = [ 40 six 41 twisted 42 pyopenssl 43 ] 44 ++ twisted.optional-dependencies.tls; 45 46 optional-dependencies = { 47 i2p = [ txi2p-tahoe ]; 48 tor = [ txtorcon ]; 49 }; 50 51 nativeCheckInputs = [ 52 mock 53 pytestCheckHook 54 ] 55 ++ lib.flatten (lib.attrValues optional-dependencies); 56 57 pythonImportsCheck = [ "foolscap" ]; 58 59 meta = with lib; { 60 description = "RPC protocol for Python that follows the distributed object-capability model"; 61 longDescription = '' 62 "Foolscap" is the name for the next-generation RPC protocol, intended to 63 replace Perspective Broker (part of Twisted). Foolscap is a protocol to 64 implement a distributed object-capabilities model in Python. 65 ''; 66 homepage = "https://github.com/warner/foolscap"; 67 license = licenses.mit; 68 maintainers = [ ]; 69 }; 70}