1{lib, buildPythonPackage, fetchPypi, isPy3k, incremental, ipaddress, twisted
2, automat, zope_interface, idna, pyopenssl, service-identity, pytest, mock, lsof
3, GeoIP}:
4
5buildPythonPackage rec {
6 pname = "txtorcon";
7 version = "18.0.2";
8
9 checkInputs = [ pytest mock lsof GeoIP ];
10 propagatedBuildInputs = [
11 incremental twisted automat zope_interface
12 # extra dependencies required by twisted[tls]
13 idna pyopenssl service-identity
14 ] ++ lib.optionals (!isPy3k) [ ipaddress ];
15
16 src = fetchPypi {
17 inherit pname version;
18 sha256 = "ce50fdd00abb8b490b72809a2c664684f67f3c9467f392642d36f58309395a87";
19 };
20
21 # Skip a failing test until fixed upstream:
22 # https://github.com/meejah/txtorcon/issues/250
23 checkPhase = ''
24 pytest --ignore=test/test_util.py .
25 '';
26
27 meta = {
28 description = "Twisted-based Tor controller client, with state-tracking and configuration abstractions";
29 homepage = https://github.com/meejah/txtorcon;
30 maintainers = with lib.maintainers; [ jluttine ];
31 license = lib.licenses.mit;
32 };
33}