mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-24 18:58:08 -07:00
dev-python/passlib-1.7.2: Verbump, add pypy3, distutils helpers
Copyright: Sony Interactive Entertainment Inc. Package-Manager: Portage-2.3.80, Repoman-2.3.19 Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
This commit is contained in:
committed by
Patrick McLean
parent
f69f85a5f1
commit
1b2f1f9f2f
@@ -1 +1,2 @@
|
||||
DIST passlib-1.7.1.tar.gz 645724 BLAKE2B f34e3bbc5a61ff71cc989fa26edb9f992909bfdcc6ca1b094ebc02fc9942eb1db1ea18fc3dd5bb7d9fcecf6b4bd82e93aba07c7ce63ec85452b5d7117a6e1968 SHA512 3d5f069cd4e44e5e87cdabc46845acbdd6c1eeedb7ce1f611aebee87b0f7af19009b6a47a10ec555fd84260b9f5c933c6429e325d30326de3869f05031674168
|
||||
DIST passlib-1.7.2.tar.gz 649654 BLAKE2B 40279113d9ff633cea47222f2d72af0abee78dc52a9b46adf66aaae213594eaae7f245cc80004f85b5055b882741b4bedfd81ee39132db23760d37a34e87ac6a SHA512 1ea0654b177b5ab2e1a7e5c3949642c34805ace6e4e4a0f82fafdb3f374edd99c667906ce598c335b668da049860648d5cbebb3e62d775898d5b0cb8cfc7bf53
|
||||
|
||||
65
dev-python/passlib/files/passlib-1.7.2-pypy3.patch
Normal file
65
dev-python/passlib/files/passlib-1.7.2-pypy3.patch
Normal file
@@ -0,0 +1,65 @@
|
||||
diff -ur a/passlib/utils/__init__.py b/passlib/utils/__init__.py
|
||||
--- a/passlib/utils/__init__.py 2019-11-19 11:41:26.000000000 -0800
|
||||
+++ b/passlib/utils/__init__.py 2019-12-03 14:16:15.153791186 -0800
|
||||
@@ -57,7 +57,7 @@
|
||||
)
|
||||
from passlib.exc import ExpectedStringError
|
||||
from passlib.utils.compat import (add_doc, join_bytes, join_byte_values,
|
||||
- join_byte_elems, irange, imap, PY3, u,
|
||||
+ join_byte_elems, irange, imap, PY3, PYPY, u,
|
||||
join_unicode, unicode, byte_elem_value, nextgetter,
|
||||
unicode_or_bytes_types,
|
||||
get_method_function, suppress_cause)
|
||||
@@ -776,23 +776,41 @@
|
||||
|
||||
if PY3:
|
||||
def safe_crypt(secret, hash):
|
||||
- if isinstance(secret, bytes):
|
||||
- # Python 3's crypt() only accepts unicode, which is then
|
||||
- # encoding using utf-8 before passing to the C-level crypt().
|
||||
- # so we have to decode the secret.
|
||||
- orig = secret
|
||||
+ if not PYPY:
|
||||
+ if isinstance(secret, bytes):
|
||||
+ # Python 3's crypt() only accepts unicode, which is then
|
||||
+ # encoding using utf-8 before passing to the C-level crypt().
|
||||
+ # so we have to decode the secret.
|
||||
+ orig = secret
|
||||
+ try:
|
||||
+ secret = secret.decode("utf-8")
|
||||
+ except UnicodeDecodeError:
|
||||
+ return None
|
||||
+ assert secret.encode("utf-8") == orig, \
|
||||
+ "utf-8 spec says this can't happen!"
|
||||
+ if _NULL in secret:
|
||||
+ raise ValueError("null character in secret")
|
||||
+ else:
|
||||
+ if isinstance(secret, str):
|
||||
+ orig = secret
|
||||
+ try:
|
||||
+ secret = secret.encode("utf-8")
|
||||
+ except UnicodeEncodeError:
|
||||
+ return None
|
||||
+ assert secret.decode("utf-8") == orig, \
|
||||
+ "utf-8 spec says this can't happen!"
|
||||
try:
|
||||
- secret = secret.decode("utf-8")
|
||||
+ if _NULL in secret.decode("utf-8"):
|
||||
+ raise ValueError("null character in secret")
|
||||
except UnicodeDecodeError:
|
||||
return None
|
||||
- assert secret.encode("utf-8") == orig, \
|
||||
- "utf-8 spec says this can't happen!"
|
||||
- if _NULL in secret:
|
||||
- raise ValueError("null character in secret")
|
||||
+
|
||||
if isinstance(hash, bytes):
|
||||
hash = hash.decode("ascii")
|
||||
result = _crypt(secret, hash)
|
||||
- if not result or result[0] in _invalid_prefixes:
|
||||
+ if PYPY and isinstance(result, bytes):
|
||||
+ result = result.decode("utf-8")
|
||||
+ if not result or result[0:1] in _invalid_prefixes:
|
||||
return None
|
||||
return result
|
||||
else:
|
||||
33
dev-python/passlib/passlib-1.7.2.ebuild
Normal file
33
dev-python/passlib/passlib-1.7.2.ebuild
Normal file
@@ -0,0 +1,33 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python{2_7,3_{5,6,7,8}} pypy{,3} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Password hashing framework supporting over 20 schemes"
|
||||
HOMEPAGE="https://bitbucket.org/ecollins/passlib/wiki/Home/"
|
||||
SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD-2"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
||||
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}] )"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/passlib-1.7.2-pypy3.patch"
|
||||
)
|
||||
|
||||
distutils_enable_tests nose
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
use doc && dodoc docs/{*.rst,requirements.txt,lib/*.rst}
|
||||
}
|
||||
Reference in New Issue
Block a user