forked from mirrors/gecko-dev
		
	 329ab8a4a5
			
		
	
	
		329ab8a4a5
		
	
	
	
	
		
			
			Using ./mach vendor python glean_parser==1.28.0 (this is the latest version) Differential Revision: https://phabricator.services.mozilla.com/D84746
		
			
				
	
	
		
			81 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import os
 | |
| from setuptools import setup, Extension
 | |
| import sys
 | |
| import platform
 | |
| import warnings
 | |
| import codecs
 | |
| from distutils.command.build_ext import build_ext
 | |
| from distutils.errors import CCompilerError
 | |
| from distutils.errors import DistutilsPlatformError, DistutilsExecError
 | |
| from _pyrsistent_version import __version__
 | |
| 
 | |
| readme_path = os.path.join(os.path.dirname(__file__), 'README.rst')
 | |
| with codecs.open(readme_path, encoding='utf8') as f:
 | |
|     readme = f.read()
 | |
| 
 | |
| extensions = []
 | |
| if platform.python_implementation() == 'CPython':
 | |
|     extensions = [Extension('pvectorc', sources=['pvectorcmodule.c'])]
 | |
| 
 | |
| needs_pytest = {'pytest', 'test', 'ptr'}.intersection(sys.argv)
 | |
| pytest_runner = ['pytest-runner'] if needs_pytest else []
 | |
| 
 | |
| 
 | |
| class custom_build_ext(build_ext):
 | |
|     """Allow C extension building to fail."""
 | |
| 
 | |
|     warning_message = """
 | |
| ********************************************************************************
 | |
| WARNING: Could not build the %s.
 | |
|          Pyrsistent will still work but performance may be degraded.
 | |
|          %s
 | |
| ********************************************************************************
 | |
| """
 | |
| 
 | |
|     def run(self):
 | |
|         try:
 | |
|             build_ext.run(self)
 | |
|         except Exception:
 | |
|             e = sys.exc_info()[1]
 | |
|             sys.stderr.write('%s\n' % str(e))
 | |
|             sys.stderr.write(self.warning_message % ("extension modules", "There was an issue with your platform configuration - see above."))
 | |
| 
 | |
|     def build_extension(self, ext):
 | |
|         name = ext.name
 | |
|         try:
 | |
|             build_ext.build_extension(self, ext)
 | |
|         except Exception:
 | |
|             e = sys.exc_info()[1]
 | |
|             sys.stderr.write('%s\n' % str(e))
 | |
|             sys.stderr.write(self.warning_message % ("%s extension module" % name, "The output above this warning shows how the compilation failed."))
 | |
| 
 | |
| setup(
 | |
|     name='pyrsistent',
 | |
|     version=__version__,
 | |
|     description='Persistent/Functional/Immutable data structures',
 | |
|     long_description=readme,
 | |
|     author='Tobias Gustafsson',
 | |
|     author_email='tobias.l.gustafsson@gmail.com',
 | |
|     url='http://github.com/tobgu/pyrsistent/',
 | |
|     license='MIT',
 | |
|     license_files=['LICENCE.mit'],
 | |
|     py_modules=['_pyrsistent_version'],
 | |
|     classifiers=[
 | |
|         'Intended Audience :: Developers',
 | |
|         'License :: OSI Approved :: MIT License',
 | |
|         'Operating System :: OS Independent',
 | |
|         'Programming Language :: Python :: 3.5',
 | |
|         'Programming Language :: Python :: 3.6',
 | |
|         'Programming Language :: Python :: 3.7',
 | |
|         'Programming Language :: Python :: Implementation :: PyPy',
 | |
|     ],
 | |
|     test_suite='tests',
 | |
|     tests_require=['pytest<5', 'hypothesis<5'],
 | |
|     scripts=[],
 | |
|     setup_requires=pytest_runner,
 | |
|     ext_modules=extensions,
 | |
|     cmdclass={'build_ext': custom_build_ext},
 | |
|     install_requires=['six'],
 | |
|     packages=['pyrsistent'],
 | |
|     package_data={'pyrsistent': ['py.typed', '__init__.pyi', 'typing.pyi']},
 | |
| )
 |