On 10/20/2017 12:26 PM, Michał Górny wrote: > --- > .travis.yml | 2 ++ > pym/portage/checksum.py | 15 +++++++++++++-- > 2 files changed, 15 insertions(+), 2 deletions(-) > > diff --git a/.travis.yml b/.travis.yml > index 20078530e..ebcfbeab9 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -12,6 +12,8 @@ install: > # python3.6+ has sha3 built-in, for older versions install pysha3 > # (except for pypy where pysha3 is broken) > - "[[ ${TRAVIS_PYTHON_VERSION} == 3.[6789] || ${TRAVIS_PYTHON_VERSION} > == pypy ]] || pip install pysha3" > + # python3.6+ has blake2 built-in, for older versions install pyblake2 > + - "[[ ${TRAVIS_PYTHON_VERSION} == 3.[6789] ]] || pip install pyblake2" > # always install pygost for Streebog > - pip install pygost > > diff --git a/pym/portage/checksum.py b/pym/portage/checksum.py > index ff132751b..ad090ddb3 100644 > --- a/pym/portage/checksum.py > +++ b/pym/portage/checksum.py > @@ -27,8 +27,8 @@ import tempfile > # SHA512: hashlib > # RMD160: hashlib, pycrypto, mhash > # WHIRLPOOL: hashlib, mhash, bundled > -# BLAKE2B (512): hashlib (3.6+), pycrypto > -# BLAKE2S (512): hashlib (3.6+), pycrypto > +# BLAKE2B (512): hashlib (3.6+), pyblake2, pycrypto > +# BLAKE2S (512): hashlib (3.6+), pyblake2, pycrypto > # SHA3_256: hashlib (3.6+), pysha3, pycrypto > # SHA3_512: hashlib (3.6+), pysha3, pycrypto > > @@ -124,6 +124,17 @@ for local_name, hash_name in ( > origin='hashlib') > > > +# Support using pyblake2 as fallback for python<3.6 > +if "BLAKE2B" not in hashfunc_map or "BLAKE2S" not in hashfunc_map: > + try: > + import pyblake2 > + > + _generate_hash_function("BLAKE2B", pyblake2.blake2b, > origin="pyblake2") > + _generate_hash_function("BLAKE2S", pyblake2.blake2s, > origin="pyblake2") > + except ImportError: > + pass > + > + > # Support using pysha3 as fallback for python<3.6 > if "SHA3_256" not in hashfunc_map or "SHA3_512" not in hashfunc_map: > try: >
Looks good, please merge. -- Thanks, Zac
signature.asc
Description: OpenPGP digital signature