Changeset View
Changeset View
Standalone View
Standalone View
setup.py
#!/usr/bin/env python3 | #!/usr/bin/env python3 | ||||
# Copyright (C) 2015-2018 The Software Heritage developers | # Copyright (C) 2015-2018 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU General Public License version 3, or any later version | # License: GNU General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
from setuptools import setup, find_packages | from setuptools import setup, find_packages | ||||
import hashlib | |||||
from os import path | from os import path | ||||
from io import open | from io import open | ||||
here = path.abspath(path.dirname(__file__)) | here = path.abspath(path.dirname(__file__)) | ||||
# Get the long description from the README file | # Get the long description from the README file | ||||
with open(path.join(here, 'README.md'), encoding='utf-8') as f: | with open(path.join(here, 'README.md'), encoding='utf-8') as f: | ||||
Show All 14 Lines | with open(reqf) as f: | ||||
for line in f.readlines(): | for line in f.readlines(): | ||||
line = line.strip() | line = line.strip() | ||||
if not line or line.startswith('#'): | if not line or line.startswith('#'): | ||||
continue | continue | ||||
requirements.append(line) | requirements.append(line) | ||||
return requirements | return requirements | ||||
blake2_requirements = [] | blake2_requirements = ['pyblake2;python_version<"3.6"'] | ||||
pyblake2_hash_sets = [ | |||||
# Built-in implementation in Python 3.6+ | |||||
{'blake2s', 'blake2b'}, | |||||
# Potentially shipped by OpenSSL 1.1 (e.g. Python 3.5 in Debian stretch | |||||
# has these) | |||||
{'blake2s256', 'blake2b512'}, | |||||
] | |||||
for pyblake2_hashes in pyblake2_hash_sets: | |||||
if not pyblake2_hashes - set(hashlib.algorithms_available): | |||||
# The required blake2 hashes have been found | |||||
break | |||||
else: | |||||
# None of the possible sets of blake2 hashes are available. | |||||
# use pyblake2 instead | |||||
blake2_requirements.append('pyblake2') | |||||
setup( | setup( | ||||
name='swh.model', | name='swh.model', | ||||
description='Software Heritage data model', | description='Software Heritage data model', | ||||
long_description=long_description, | long_description=long_description, | ||||
long_description_content_type='text/markdown', | long_description_content_type='text/markdown', | ||||
author='Software Heritage developers', | author='Software Heritage developers', | ||||
author_email='swh-devel@inria.fr', | author_email='swh-devel@inria.fr', | ||||
Show All 27 Lines |