diff --git a/pkgs/development/python-modules/asyncssh/default.nix b/pkgs/development/python-modules/asyncssh/default.nix index f02f5291bf15..160a90a0e6d0 100644 --- a/pkgs/development/python-modules/asyncssh/default.nix +++ b/pkgs/development/python-modules/asyncssh/default.nix @@ -1,18 +1,49 @@ -{ lib, buildPythonPackage, fetchPypi, pythonOlder +{ lib +, buildPythonPackage +, fetchPypi +, pythonOlder , cryptography -, bcrypt, gssapi, libnacl, libsodium, nettle, pyopenssl -, openssl, openssh, pytestCheckHook }: +, bcrypt +, gssapi +, fido2 +, libnacl +, libsodium +, nettle +, python-pkcs11 +, pyopenssl +, openssl +, openssh +, pytestCheckHook +}: buildPythonPackage rec { pname = "asyncssh"; - version = "2.6.0"; - disabled = pythonOlder "3.4"; + version = "2.7.0"; + disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "20f0ef553a1e64a7d38db86ba3a2f3907e72f1e81f3dfec5edb191383783c7d1"; + sha256 = "sha256-GFAT2OZ3R8PA8BtyQWuL14QX2h30jHH3baU8YH71QbY="; }; + propagatedBuildInputs = [ + bcrypt + cryptography + fido2 + gssapi + libnacl + libsodium + nettle + python-pkcs11 + pyopenssl + ]; + + checkInputs = [ + openssh + openssl + pytestCheckHook + ]; + patches = [ # Reverts https://github.com/ronf/asyncssh/commit/4b3dec994b3aa821dba4db507030b569c3a32730 # @@ -23,32 +54,16 @@ buildPythonPackage rec { ./fix-sftp-chmod-test-nixos.patch ]; - # Disables windows specific test (specifically the GSSAPI wrapper for Windows) - postPatch = '' - rm tests/sspi_stub.py - ''; - - propagatedBuildInputs = [ - bcrypt - cryptography - gssapi - libnacl - libsodium - nettle - pyopenssl + disabledTestPaths = [ + # Disables windows specific test (specifically the GSSAPI wrapper for Windows) + "tests/sspi_stub.py" ]; - checkInputs = [ - openssh - openssl - pytestCheckHook - ]; - - disabledTests = [ "test_expired_root" "test_confirm" ]; + pythonImportsCheck = [ "asyncssh" ]; meta = with lib; { - description = "Provides an asynchronous client and server implementation of the SSHv2 protocol on top of the Python asyncio framework"; - homepage = "https://asyncssh.readthedocs.io/en/latest"; + description = "Asynchronous SSHv2 Python client and server library"; + homepage = "https://asyncssh.readthedocs.io/"; license = licenses.epl20; maintainers = with maintainers; [ ]; }; diff --git a/pkgs/development/python-modules/python-pkcs11/default.nix b/pkgs/development/python-modules/python-pkcs11/default.nix new file mode 100644 index 000000000000..d0d4b4e98d39 --- /dev/null +++ b/pkgs/development/python-modules/python-pkcs11/default.nix @@ -0,0 +1,44 @@ +{ lib +, asn1crypto +, buildPythonPackage +, cached-property +, cython +, fetchFromGitHub +, setuptools-scm +}: + +buildPythonPackage rec { + pname = "python-pkcs11"; + version = "0.7.0"; + + src = fetchFromGitHub { + owner = "danni"; + repo = pname; + rev = "v${version}"; + sha256 = "0kncbipfpsb7m7mhv5s5b9wk604h1j08i2j26fn90pklgqll0xhv"; + }; + + SETUPTOOLS_SCM_PRETEND_VERSION = version; + + nativeBuildInputs = [ + cython + setuptools-scm + ]; + + propagatedBuildInputs = [ + cached-property + asn1crypto + ]; + + # Test require additional setup + doCheck = false; + + pythonImportsCheck = [ "pkcs11" ]; + + meta = with lib; { + description = "PKCS#11/Cryptoki support for Python"; + homepage = "https://github.com/danni/python-pkcs11"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9416f63564a1..1d928a054ca5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7063,6 +7063,8 @@ in { python-pipedrive = callPackage ../development/python-modules/python-pipedrive { }; + python-pkcs11 = callPackage ../development/python-modules/python-pkcs11 { }; + python-prctl = callPackage ../development/python-modules/python-prctl { }; python-ptrace = callPackage ../development/python-modules/python-ptrace { };