diff --git a/pkgs/development/python-modules/foolscap/default.nix b/pkgs/development/python-modules/foolscap/default.nix index 771feb3215fe..2da82762195b 100644 --- a/pkgs/development/python-modules/foolscap/default.nix +++ b/pkgs/development/python-modules/foolscap/default.nix @@ -1,46 +1,45 @@ { lib , buildPythonPackage , fetchPypi -, fetchpatch , mock , pyopenssl , pytestCheckHook +, pythonOlder , service-identity +, six , twisted +, txi2p-tahoe +, txtorcon }: buildPythonPackage rec { pname = "foolscap"; - version = "21.7.0"; + version = "23.3.0"; + + disabled = pythonOlder "3.7"; + + format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "sha256-6dGFU4YNk1joXXZi2c2L84JtUbTs1ICgXfv0/EU2P4Q="; + hash = "sha256-Vu7oXC1brsgBwr2q59TAgx8j1AFRbi5mjRNIWZTbkUU="; }; - patches = [ - (fetchpatch { - name = "fix-tests-with-twisted-22.10.0.patch"; - url = "https://github.com/warner/foolscap/commit/c04202eb5d4cf052e650ec2985ea6037605fd79e.patch"; - hash = "sha256-RldDc18n3WYHdYg0ZmM8PBffIuiGa1NIfdoHs3mEEfc="; - }) - ]; - propagatedBuildInputs = [ - mock + six twisted pyopenssl - service-identity - ]; + ] ++ twisted.optional-dependencies.tls; + + passthru.optional-dependencies = { + i2p = [ txi2p-tahoe ]; + tor = [ txtorcon ]; + }; nativeCheckInputs = [ + mock pytestCheckHook - ]; - - disabledTestPaths = [ - # Not all dependencies are present - "src/foolscap/test/test_connection.py" - ]; + ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies); pythonImportsCheck = [ "foolscap" ]; diff --git a/pkgs/development/python-modules/txi2p-tahoe/default.nix b/pkgs/development/python-modules/txi2p-tahoe/default.nix new file mode 100644 index 000000000000..3d891c6eeed1 --- /dev/null +++ b/pkgs/development/python-modules/txi2p-tahoe/default.nix @@ -0,0 +1,50 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, setuptools +, setuptools-scm +, parsley +, twisted +, python +}: + +buildPythonPackage rec { + pname = "txi2p-tahoe"; + version = "0.3.7"; + + format = "pyproject"; + + src = fetchFromGitHub { + owner = "tahoe-lafs"; + repo = "txi2p"; + rev = "refs/tags/${version}"; + hash = "sha256-u/IOhxK9jWC/tTKKLsc4PexbCuki+yEtMNw7LuQKmuk="; + }; + + nativeBuildInputs = [ + setuptools + setuptools-scm + ]; + + SETUPTOOLS_SCM_PRETEND_VERSION = version; + + propagatedBuildInputs = [ + parsley + twisted + ]; + + pythonImportsCheck = [ "txi2p" ]; + + checkPhase = '' + runHook preCheck + ${python.interpreter} -m twisted.trial txi2p + runHook postCheck + ''; + + meta = { + description = "I2P bindings for Twisted"; + homepage = "https://github.com/tahoe-lafs/txi2p"; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a478f27054ff..6347b20e730c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11910,6 +11910,8 @@ self: super: with self; { txgithub = callPackage ../development/python-modules/txgithub { }; + txi2p-tahoe = callPackage ../development/python-modules/txi2p-tahoe { }; + txredisapi = callPackage ../development/python-modules/txredisapi { }; txrequests = callPackage ../development/python-modules/txrequests { };