diff options
Diffstat (limited to 'dev-python/passlib')
-rw-r--r-- | dev-python/passlib/metadata.xml | 8 | ||||
-rw-r--r-- | dev-python/passlib/passlib-1.7.4-r3.ebuild | 61 | ||||
-rw-r--r-- | dev-python/passlib/passlib-1.7.4.ebuild | 33 |
3 files changed, 63 insertions, 39 deletions
diff --git a/dev-python/passlib/metadata.xml b/dev-python/passlib/metadata.xml index 8a2d7a8de2ab..71af9aa28f44 100644 --- a/dev-python/passlib/metadata.xml +++ b/dev-python/passlib/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> <email>prometheanfire@gentoo.org</email> @@ -14,12 +14,8 @@ <name>Python</name> </maintainer> <stabilize-allarches/> - <use> - <flag name="bcrypt">bcrpyt hash algoryptm support</flag> - <flag name="totp">time based one time password support</flag> - <flag name="scrypt">accelerated scrypt algoythm support</flag> - </use> <upstream> <remote-id type="pypi">passlib</remote-id> + <remote-id type="heptapod">python-libs/passlib</remote-id> </upstream> </pkgmetadata> diff --git a/dev-python/passlib/passlib-1.7.4-r3.ebuild b/dev-python/passlib/passlib-1.7.4-r3.ebuild new file mode 100644 index 000000000000..981e5c61a393 --- /dev/null +++ b/dev-python/passlib/passlib-1.7.4-r3.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} pypy3 ) + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="Password hashing framework supporting over 20 schemes" +HOMEPAGE=" + https://foss.heptapod.net/python-libs/passlib/-/wikis/home + https://pypi.org/project/passlib/ +" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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[${PYTHON_USEDEP}] + dev-python/cryptography[${PYTHON_USEDEP}] + ) + )" + +distutils_enable_tests pytest + +src_prepare() { + # fix compatibility with >=dev-python/bcrypt-4.1 + # https://foss.heptapod.net/python-libs/passlib/-/issues/190 + sed -i -e '/bcrypt/s:__about__\.::' passlib/handlers/bcrypt.py || die + + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # broken all the time by new django releases + passlib/tests/test_ext_django.py + ) + + # 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 +} diff --git a/dev-python/passlib/passlib-1.7.4.ebuild b/dev-python/passlib/passlib-1.7.4.ebuild deleted file mode 100644 index fea08a994582..000000000000 --- a/dev-python/passlib/passlib-1.7.4.ebuild +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_{7..10} pypy3 ) - -inherit distutils-r1 - -DESCRIPTION="Password hashing framework supporting over 20 schemes" -HOMEPAGE="https://foss.heptapod.net/python-libs/passlib/wikis/home" -SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz" - -LICENSE="BSD-2" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~x64-macos" -SLOT="0" -IUSE="+bcrypt doc +scrypt +totp" - -RDEPEND="bcrypt? ( dev-python/bcrypt[${PYTHON_USEDEP}] ) - totp? ( dev-python/cryptography[${PYTHON_USEDEP}] ) - scrypt? ( dev-python/scrypt[${PYTHON_USEDEP}] )" -BDEPEND=" - test? ( - dev-python/bcrypt[${PYTHON_USEDEP}] - dev-python/cryptography[${PYTHON_USEDEP}] - dev-python/scrypt[${PYTHON_USEDEP}] - )" - -distutils_enable_tests nose - -python_install_all() { - distutils-r1_python_install_all - use doc && dodoc docs/{*.rst,requirements.txt,lib/*.rst} -} |