1{ lib
2, stdenv
3, python
4, buildPythonPackage
5, pythonOlder
6, fetchPypi
7, cryptography
8, incremental
9, twisted
10, automat
11, zope_interface
12, idna
13, pyopenssl
14, service-identity
15, pytestCheckHook
16, mock
17, lsof
18, GeoIP
19}:
20
21buildPythonPackage rec {
22 pname = "txtorcon";
23 version = "22.0.0";
24
25 src = fetchPypi {
26 inherit pname version;
27 sha256 = "sha256-iaG2XjKks2nWfmwWY4f7xGjMXQUidEjSOaXn6XGKoFM=";
28 };
29
30 propagatedBuildInputs = [
31 cryptography
32 incremental
33 twisted
34 automat
35 zope_interface
36 ] ++ twisted.optional-dependencies.tls;
37
38 checkInputs = [ pytestCheckHook mock lsof GeoIP ];
39
40 doCheck = !(stdenv.isDarwin && stdenv.isAarch64);
41
42 meta = {
43 description = "Twisted-based Tor controller client, with state-tracking and configuration abstractions";
44 homepage = "https://github.com/meejah/txtorcon";
45 maintainers = with lib.maintainers; [ jluttine exarkun ];
46 license = lib.licenses.mit;
47 };
48}