diff options
| author | Crucible <crucible@localhost> | 2026-10-19 21:49:31 -0500 |
|---|---|---|
| committer | Crucible <crucible@localhost> | 2026-10-19 21:49:31 -0500 |
| commit | 7381ef26a3e14a703da91508b2cc8606c34b804d (patch) | |
| tree | 1ded3c74a64f9591c982f01ed71ab968a8bfad24 /dev-python/libpass/libpass-1.9.4.ebuild | |
| parent | 3b4c7e627726016d50653b6dd2e06020a1915eac (diff) | |
| download | srcux-7381ef26a3e14a703da91508b2cc8606c34b804d.tar.gz srcux-7381ef26a3e14a703da91508b2cc8606c34b804d.tar.xz srcux-7381ef26a3e14a703da91508b2cc8606c34b804d.zip | |
Publish srcux candidate 0000000740-20261019-200200
Diffstat (limited to 'dev-python/libpass/libpass-1.9.4.ebuild')
| -rw-r--r-- | dev-python/libpass/libpass-1.9.4.ebuild | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/dev-python/libpass/libpass-1.9.4.ebuild b/dev-python/libpass/libpass-1.9.4.ebuild new file mode 100644 index 000000000000..81c0be2122b2 --- /dev/null +++ b/dev-python/libpass/libpass-1.9.4.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="Fork of passlib, a password hashing framework" +HOMEPAGE=" + https://github.com/notypecheck/passlib/ + https://pypi.org/project/libpass/ +" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +IUSE="doc test-rust" + +BDEPEND=" + test? ( + dev-python/scrypt[${PYTHON_USEDEP}] + test-rust? ( + >=dev-python/bcrypt-3.1.0[${PYTHON_USEDEP}] + >=dev-python/cryptography-43.0.1[${PYTHON_USEDEP}] + ) + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # bcrypt now disallows implicit password truncation + # https://github.com/notypecheck/passlib/pull/25 + tests/test_handlers_bcrypt.py::bcrypt_bcrypt_test::test_70_hashes + tests/test_handlers_bcrypt.py::bcrypt_bcrypt_test::test_secret_w_truncate_size + tests/test_handlers_django.py::django_bcrypt_test::test_secret_w_truncate_size + + # assumes scrypt dep is not installed + tests/test_crypto_scrypt.py::BuiltinScryptTest::test_missing_backend + ) + + # skip fuzzing tests, they are very slow + epytest -k "not fuzz_input" +} + +python_install_all() { + distutils-r1_python_install_all + use doc && dodoc docs/{*.rst,requirements.txt,lib/*.rst} +} + +pkg_postinst() { + optfeature "Argon2 support" dev-python/argon2-cffi + optfeature "bcrypt support" dev-python/bcrypt + optfeature "scrypt support" dev-python/scrypt + optfeature "Time-based One-Time Password (TOTP) support" dev-python/cryptography +} |
