diff options
Diffstat (limited to 'pkgs/development/python-modules/keyring_24/default.nix')
-rw-r--r-- | pkgs/development/python-modules/keyring_24/default.nix | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/keyring_24/default.nix b/pkgs/development/python-modules/keyring_24/default.nix new file mode 100644 index 0000000000000..9739a6f7b20a0 --- /dev/null +++ b/pkgs/development/python-modules/keyring_24/default.nix @@ -0,0 +1,81 @@ +{ + lib, + stdenv, + buildPythonPackage, + fetchPypi, + pythonOlder, + installShellFiles, + setuptools, + setuptools-scm, + shtab, + importlib-metadata, + jaraco-classes, + jaraco-context, + jaraco-functools, + jeepney, + secretstorage, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "keyring_24"; + # nixpkgs-update: no auto update + version = "24.3.1"; + pyproject = true; + disabled = pythonOlder "3.8"; + + src = fetchPypi { + inherit version; + pname = "keyring"; + hash = "sha256-wzJ7b/r8DovvvbWXys20ko/+XBIS92RfGG5tmVeomNs="; + }; + + nativeBuildInputs = [ + installShellFiles + shtab + ]; + + build-system = [ + setuptools + setuptools-scm + ]; + + dependencies = + [ + jaraco-classes + jaraco-context + jaraco-functools + ] + ++ lib.optionals stdenv.isLinux [ + jeepney + secretstorage + ] + ++ lib.optionals (pythonOlder "3.12") [ importlib-metadata ]; + + postInstall = '' + installShellCompletion --cmd keyring \ + --bash <($out/bin/keyring --print-completion bash) \ + --zsh <($out/bin/keyring --print-completion zsh) + ''; + + pythonImportsCheck = [ + "keyring" + "keyring.backend" + ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + disabledTestPaths = + [ "tests/backends/test_macOS.py" ] + # These tests fail when sandboxing is enabled because they are unable to get a password from keychain. + ++ lib.optional stdenv.isDarwin "tests/test_multiprocess.py"; + + meta = with lib; { + description = "Store and access your passwords safely"; + homepage = "https://github.com/jaraco/keyring"; + changelog = "https://github.com/jaraco/keyring/blob/v${version}/NEWS.rst"; + license = licenses.mit; + mainProgram = "keyring"; + maintainers = with maintainers; [ jnsgruk ]; + }; +} |