summary refs log tree commit diff
path: root/pkgs/development/python-modules/stem/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/stem/default.nix')
-rw-r--r--pkgs/development/python-modules/stem/default.nix53
1 files changed, 33 insertions, 20 deletions
diff --git a/pkgs/development/python-modules/stem/default.nix b/pkgs/development/python-modules/stem/default.nix
index dc90700948c..8cd6ff3f3d6 100644
--- a/pkgs/development/python-modules/stem/default.nix
+++ b/pkgs/development/python-modules/stem/default.nix
@@ -1,38 +1,51 @@
-{ lib, buildPythonPackage, fetchPypi, python, mock, pythonAtLeast }:
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, setuptools
+, cryptography
+, mock
+, python
+}:
 
 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";
+  disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-g/sZ/9TJ+CIHwAYFFIA4n4CvIhp+R4MACu3sTjhOtYI=";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "torproject";
+    repo = "stem";
+    rev = "refs/tags/${version}";
+    hash = "sha256-9BXeE/sVa13jr8G060aWjc49zgDVBhjaR6nt4lSxc0g=";
   };
 
-  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
-  '';
+  nativeBuildInputs = [
+    setuptools
+  ];
 
-  nativeCheckInputs = [ mock ];
+  nativeCheckInputs = [
+    cryptography
+    mock
+  ];
 
   checkPhase = ''
-    touch .gitignore
-    ${python.interpreter} run_tests.py -u
+    runHook preCheck
+
+    ${python.interpreter} run_tests.py --unit
+
+    runHook postCheck
   '';
 
   meta = with lib; {
+    changelog = "https://github.com/torproject/stem/blob/${src.rev}/docs/change_log.rst";
     description = "Controller library that allows applications to interact with Tor";
+    downloadPage = "https://github.com/torproject/stem";
     homepage = "https://stem.torproject.org/";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ ];
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ dotlambda ];
   };
 }