diff options
Diffstat (limited to 'dev-python/libpass')
| -rw-r--r-- | dev-python/libpass/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/libpass/libpass-1.9.4.ebuild | 62 |
2 files changed, 63 insertions, 0 deletions
diff --git a/dev-python/libpass/Manifest b/dev-python/libpass/Manifest index 2d4236e2ca9b..7bdf4f600a58 100644 --- a/dev-python/libpass/Manifest +++ b/dev-python/libpass/Manifest @@ -1 +1,2 @@ DIST libpass-1.9.3.tar.gz 692901 BLAKE2B b7b19ae4a9e7e2d65062d8d51e11fb8caec1da7bedacf88b9b2114013d2a578e64a5ca195d168982a52f7ca143eea5adbc5b33c955e175b7f2dda07bd93e24a2 SHA512 2581412ed18d3b2953f2679a05ce7158095850fb37e16a744a1c80bd1afbcf2d0852619ff9b06322b38004ff01e0d335cefaecb49cf9552a6a478566067aa0bc +DIST libpass-1.9.4.tar.gz 704877 BLAKE2B bb85de752e8d8765ef71ea5eefaabad52b8e9f9ab85883d5ecf67a0fd20e51a7ce5b9d9be09c9ce15887100e8b356937f87e0aedc2e5556766456248c79e9094 SHA512 6f0e31a500478284a5455c0b849687a1ea043f448a2c97d7a911f970f5d28cc89c411f4d4dcbb7da3df4874c8d0c2072d6ff0c8496ff2c016eb4e9f31c08e69b 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 +} |
