connman-gtk: fix FTBFS with GCC-14 (incompatible pointer types) (#376077)
[NixPkgs.git] / pkgs / development / python-modules / foolscap / default.nix
blob3cf3b2beb1b8baf83ea176e0a34a8e5f227fa60c
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,
17 buildPythonPackage rec {
18   pname = "foolscap";
19   version = "24.9.0";
21   pyproject = true;
22   build-system = [
23     setuptools
24     versioneer
25   ];
27   disabled = pythonOlder "3.7";
29   src = fetchPypi {
30     inherit pname version;
31     hash = "sha256-vWsAdUDbWQuG3e0oAtLq8rA4Ys2wg38fD/h+E1ViQQg=";
32   };
34   postPatch = ''
35     # Remove vendorized versioneer.py
36     rm versioneer.py
37   '';
39   dependencies = [
40     six
41     twisted
42     pyopenssl
43   ] ++ twisted.optional-dependencies.tls;
45   optional-dependencies = {
46     i2p = [ txi2p-tahoe ];
47     tor = [ txtorcon ];
48   };
50   nativeCheckInputs = [
51     mock
52     pytestCheckHook
53   ] ++ lib.flatten (lib.attrValues optional-dependencies);
55   pythonImportsCheck = [ "foolscap" ];
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   };