summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/stem/default.nix
blob: dc90700948c0a4fb084bbc77830086907cfcf315 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
{ lib, buildPythonPackage, fetchPypi, python, mock, pythonAtLeast }:

buildPythonPackage rec {
  pname = "stem";
  version = "1.8.2";

  # As of May 2023, the master branch of stem contains fixes for Python 3.11
  # that the last release (1.8.1) doesn't. The test suite fails on both master
  # and the 1.8.1 release, so disabling rather than switching to an unstable
  # source.
  disabled = pythonAtLeast "3.11";

  src = fetchPypi {
    inherit pname version;
    hash = "sha256-g/sZ/9TJ+CIHwAYFFIA4n4CvIhp+R4MACu3sTjhOtYI=";
  };

  postPatch = ''
    rm test/unit/installation.py
    sed -i "/test.unit.installation/d" test/settings.cfg
    # https://github.com/torproject/stem/issues/56
    sed -i '/MOCK_VERSION/d' run_tests.py
  '';

  nativeCheckInputs = [ mock ];

  checkPhase = ''
    touch .gitignore
    ${python.interpreter} run_tests.py -u
  '';

  meta = with lib; {
    description = "Controller library that allows applications to interact with Tor";
    homepage = "https://stem.torproject.org/";
    license = licenses.gpl3;
    maintainers = with maintainers; [ ];
  };
}