commit f8437ed2129092cf41e89e26510c51576b271aa4 from: Jelmer Vernooij via: GitHub date: Sun Sep 04 11:46:15 2022 UTC Merge pull request #1028 from jelmer/require-setuptools Drop distutils-only support, require setuptools commit - 155d507dbcbcad9a55fb934225aa86e9c21a12d1 commit + f8437ed2129092cf41e89e26510c51576b271aa4 blob - 0bf618e751d477def54703916ea5e98090d540e2 blob + 60ab5e4608f44b9da7fc96c9f5e174a209124b71 --- setup.py +++ setup.py @@ -1,20 +1,12 @@ #!/usr/bin/python3 # encoding: utf-8 # Setup file for dulwich -# Copyright (C) 2008-2016 Jelmer Vernooij +# Copyright (C) 2008-2022 Jelmer Vernooij -try: - from setuptools import setup, Extension -except ImportError: - from distutils.core import setup, Extension - has_setuptools = False -else: - has_setuptools = True -from distutils.core import Distribution +from setuptools import setup, Extension, Distribution import io import os import sys -from typing import Dict, Any if sys.version_info < (3, 6): @@ -71,26 +63,7 @@ ext_modules = [ Extension('dulwich._diff_tree', ['dulwich/_diff_tree.c']), ] -setup_kwargs = {} # type: Dict[str, Any] scripts = ['bin/dul-receive-pack', 'bin/dul-upload-pack'] -if has_setuptools: - setup_kwargs['extras_require'] = { - 'fastimport': ['fastimport'], - 'https': ['urllib3>=1.24.1'], - 'pgp': ['gpg'], - 'paramiko': ['paramiko'], - } - setup_kwargs['install_requires'] = ['urllib3>=1.24.1', 'certifi'] - setup_kwargs['include_package_data'] = True - setup_kwargs['test_suite'] = 'dulwich.tests.test_suite' - setup_kwargs['tests_require'] = tests_require - setup_kwargs['entry_points'] = { - "console_scripts": [ - "dulwich=dulwich.cli:main", - ]} - setup_kwargs['python_requires'] = '>=3.6' -else: - scripts.append('bin/dulwich') with io.open(os.path.join(os.path.dirname(__file__), "README.rst"), @@ -117,7 +90,15 @@ setup(name='dulwich', scripts=scripts, ext_modules=ext_modules, zip_safe=False, - distclass=DulwichDistribution, + distclass=DulwichDistribution, # type: ignore + install_requires=['urllib3>=1.24.1', 'certifi'], + include_package_data=True, + test_suite='dulwich.tests.test_suite', + tests_require=tests_require, + entry_points={ + "console_scripts": ["dulwich=dulwich.cli:main"] + }, + python_requires='>=3.6', classifiers=[ 'Development Status :: 4 - Beta', 'License :: OSI Approved :: Apache Software License', @@ -133,5 +114,9 @@ setup(name='dulwich', 'Operating System :: Microsoft :: Windows', 'Topic :: Software Development :: Version Control', ], - **setup_kwargs - ) + extras_require={ + 'fastimport': ['fastimport'], + 'https': ['urllib3>=1.24.1'], + 'pgp': ['gpg'], + 'paramiko': ['paramiko'], + })