mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-04-30 16:57:29 -07:00
Technically, it installs as libpass package now, but uses the same Python import names, and almost all revdeps are test dependencies, so no point in doing a compatibility shim. Closes: https://bugs.gentoo.org/969227 Signed-off-by: Michał Górny <mgorny@gentoo.org>
64 lines
1.7 KiB
Bash
64 lines
1.7 KiB
Bash
# Copyright 1999-2026 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
DISTUTILS_USE_PEP517=hatchling
|
|
PYPI_PN=libpass
|
|
PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
|
|
|
|
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
|
|
}
|