def configure_ares(bext, ext): print("Embedding c-ares", bext, ext) bdir = os.path.join(bext.build_temp, 'c-ares') ext.include_dirs.insert(0, bdir) print("Inserted ", bdir, "in include dirs", ext.include_dirs) if not os.path.isdir(bdir): os.makedirs(bdir) if WIN: src = "deps\\c-ares\\ares_build.h.dist" dest = os.path.join(bdir, "ares_build.h") print("Copying %r to %r" % (src, dest)) shutil.copy(src, dest) return cwd = os.getcwd() os.chdir(bdir) try: if os.path.exists('ares_config.h') and os.path.exists('ares_build.h'): return try: system(ares_configure_command) except: with open('configure-output.txt', 'r') as t: print(t.read(), file=sys.stderr) raise finally: os.chdir(cwd)
def configure_ares(bext, ext): print("Embedding c-ares", bext, ext) bdir = os.path.join(bext.build_temp, 'c-ares') ext.include_dirs.insert(0, bdir) print("Inserted ", bdir, "in include dirs", ext.include_dirs) if not os.path.isdir(bdir): os.makedirs(bdir) if WIN: src = "deps\\c-ares\\ares_build.h.dist" dest = os.path.join(bdir, "ares_build.h") print("Copying %r to %r" % (src, dest)) shutil.copy(src, dest) return cwd = os.getcwd() os.chdir(bdir) try: if os.path.exists('ares_config.h') and os.path.exists('ares_build.h'): return try: system(ares_configure_command) except: with open('configure-output.txt', 'r') as t: print(t.read(), file=sys.stderr) raise if sys.platform == 'darwin': make_universal_header('ares_build.h', 'CARES_SIZEOF_LONG') make_universal_header('ares_config.h', 'SIZEOF_LONG', 'SIZEOF_SIZE_T', 'SIZEOF_TIME_T') finally: os.chdir(cwd)
def configure_ares(bext, ext): bdir = os.path.join(bext.build_temp, 'c-ares') ext.include_dirs.insert(0, bdir) if not os.path.isdir(bdir): os.makedirs(bdir) if WIN: shutil.copy("deps\\c-ares\\ares_build.h.dist", os.path.join(bdir, "ares_build.h")) return cwd = os.getcwd() os.chdir(bdir) try: if os.path.exists('ares_config.h') and os.path.exists('ares_build.h'): return try: system(ares_configure_command) except: with open('configure-output.txt', 'r') as t: print(t.read(), file=sys.stderr) raise if sys.platform == 'darwin': make_universal_header('ares_build.h', 'CARES_SIZEOF_LONG') make_universal_header('ares_config.h', 'SIZEOF_LONG', 'SIZEOF_SIZE_T', 'SIZEOF_TIME_T') finally: os.chdir(cwd)
def run_setup(ext_modules, run_make): if run_make: if (not LIBEV_EMBED and not WIN and cffi_modules) or PYPY: # We're not embedding libev but we do want # to build the CFFI module. We need to configure libev # because the CORE Extension won't. # TODO: Generalize this. if LIBEV_CFFI_MODULE in cffi_modules and not WIN: system(libev_configure_command) setup( name='gevent', version=__version__, description='Coroutine-based network library', long_description=read('README.rst'), license='MIT', keywords= 'greenlet coroutine cooperative multitasking light threads monkey', author='Denis Bilenko', author_email='*****@*****.**', maintainer='Jason Madden', maintainer_email='*****@*****.**', url='http://www.gevent.org/', package_dir={'': 'src'}, packages=find_packages('src'), include_package_data=True, ext_modules=ext_modules, cmdclass=dict(build_ext=ConfiguringBuildExt), install_requires=install_requires, setup_requires=setup_requires, extras_require={ 'dnspython': [ 'dnspython', 'idna', ], }, # It's always safe to pass the CFFI keyword, even if # cffi is not installed: it's just ignored in that case. cffi_modules=cffi_modules, zip_safe=False, test_suite="greentest.testrunner", classifiers=[ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Operating System :: Microsoft :: Windows", "Topic :: Internet", "Topic :: Software Development :: Libraries :: Python Modules", "Intended Audience :: Developers", "Development Status :: 4 - Beta" ], python_requires=">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", )
def run_setup(ext_modules, run_make): if run_make: if (not LIBEV_EMBED and not WIN and cffi_modules) or PYPY: # We're not embedding libev but we do want # to build the CFFI module. We need to configure libev # because the CORE Extension won't. # TODO: Generalize this. system(libev_configure_command) MakeSdist.make() setup( name='gevent', version=__version__, description='Coroutine-based network library', long_description=read('README.rst'), license='MIT', keywords='greenlet coroutine cooperative multitasking light threads monkey', author='Denis Bilenko', author_email='*****@*****.**', maintainer='Jason Madden', maintainer_email='*****@*****.**', url='http://www.gevent.org/', package_dir={'': 'src'}, packages=find_packages('src'), include_package_data=True, ext_modules=ext_modules, cmdclass=dict(build_ext=ConfiguringBuildExt, sdist=MakeSdist), install_requires=install_requires, setup_requires=setup_requires, # It's always safe to pass the CFFI keyword, even if # cffi is not installed: it's just ignored in that case. cffi_modules=cffi_modules, zip_safe=False, test_suite="greentest.testrunner", classifiers=[ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Operating System :: Microsoft :: Windows", "Topic :: Internet", "Topic :: Software Development :: Libraries :: Python Modules", "Intended Audience :: Developers", "Development Status :: 4 - Beta" ], )
def configure_libev(build_command=None, extension=None): # pylint:disable=unused-argument # build_command is an instance of ConfiguringBuildExt. # extension is an instance of the setuptools Extension object. # # This is invoked while `build_command` is in the middle of its `run()` # method. # Both of these arguments are unused here so that we can use this function # both from a build command and from libev/_corecffi_build.py if WIN: return libev_path = dep_abspath('libev') config_path = os.path.join(libev_path, 'config.h') if os.path.exists(config_path): print("Not configuring libev, 'config.h' already exists") return system(libev_configure_command)
def configure_libev(bext, ext): if WIN: return bdir = os.path.join(bext.build_temp, 'libev') ext.include_dirs.insert(0, bdir) if not os.path.isdir(bdir): os.makedirs(bdir) cwd = os.getcwd() os.chdir(bdir) try: if os.path.exists('config.h'): return system(libev_configure_command) if sys.platform == 'darwin': make_universal_header('config.h', 'SIZEOF_LONG', 'SIZEOF_SIZE_T', 'SIZEOF_TIME_T') finally: os.chdir(cwd)
def run_setup(ext_modules, run_make): if run_make: if (not LIBEV_EMBED and not WIN and cffi_modules) or PYPY: # We're not embedding libev but we do want # to build the CFFI module. We need to configure libev # because the CORE Extension won't. # TODO: Generalize this. if LIBEV_CFFI_MODULE in cffi_modules and not WIN: system(libev_configure_command) setup( name='gevent', version=__version__, description='Coroutine-based network library', long_description=make_long_description(), license='MIT', keywords= 'greenlet coroutine cooperative multitasking light threads monkey', author='Denis Bilenko', author_email='*****@*****.**', maintainer='Jason Madden', maintainer_email='*****@*****.**', url='http://www.gevent.org/', project_urls={ 'Bug Tracker': 'https://github.com/gevent/gevent/issues', 'Source Code': 'https://github.com/gevent/gevent/', 'Documentation': 'http://www.gevent.org', }, package_dir={'': 'src'}, packages=find_packages('src'), include_package_data=True, ext_modules=ext_modules, cmdclass=dict(build_ext=ConfiguringBuildExt), install_requires=install_requires, setup_requires=setup_requires, extras_require={ 'dnspython': [ 'dnspython', 'idna', ], 'events': [ 'zope.event', 'zope.interface', ], 'doc': [ 'repoze.sphinx.autointerface', ], 'test': [ 'zope.interface', 'zope.event', # Makes tests faster # Fails to build on PyPy on Windows. # 'psutil ; platform_python_implementation == "CPython" or sys_platform != "win32"', # examples, called from tests, use this 'requests', # We don't run coverage on Windows, and pypy can't build it there # anyway (coveralls -> cryptopgraphy -> openssl) 'coverage>=4.0 ; sys_platform != "win32"', 'coveralls>=1.0 ; sys_platform != "win32"', 'futures ; python_version == "2.7"', 'mock ; python_version == "2.7"', # leak checks. previously we had a hand-rolled version. 'objgraph', ] }, # It's always safe to pass the CFFI keyword, even if # cffi is not installed: it's just ignored in that case. cffi_modules=cffi_modules, zip_safe=False, test_suite="greentest.testrunner", classifiers=[ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Operating System :: Microsoft :: Windows", "Topic :: Internet", "Topic :: Software Development :: Libraries :: Python Modules", "Intended Audience :: Developers", "Development Status :: 4 - Beta" ], python_requires=">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", entry_points={ 'gevent.plugins.monkey.will_patch_all': [ "signal_os_incompat = gevent.monkey:_subscribe_signal_os", ], }, )
def run_setup(ext_modules, run_make): if run_make: if (not LIBEV_EMBED and not WIN and cffi_modules) or PYPY: # We're not embedding libev but we do want # to build the CFFI module. We need to configure libev # because the CORE Extension won't. # TODO: Generalize this. if LIBEV_CFFI_MODULE in cffi_modules and not WIN: system(libev_configure_command) # This changed to the libev directory, and ran configure . # It then copied the generated config.h back to the previous # directory, which happened to be beside us. In the embedded case, # we're building in a different directory, so it copied it back to build # directory, but here, we're building in the embedded directory, so # it gave us useless files. bad_file = None for bad_file in ('config.h', 'configure-output.txt'): if os.path.exists(bad_file): os.remove(bad_file) del bad_file setup( name='gevent', version=__version__, description='Coroutine-based network library', long_description=make_long_description(), license='MIT', keywords= 'greenlet coroutine cooperative multitasking light threads monkey', author='Denis Bilenko', author_email='*****@*****.**', maintainer='Jason Madden', maintainer_email='*****@*****.**', url='http://www.gevent.org/', project_urls={ 'Bug Tracker': 'https://github.com/gevent/gevent/issues', 'Source Code': 'https://github.com/gevent/gevent/', 'Documentation': 'http://www.gevent.org', }, package_dir={'': 'src'}, packages=find_packages('src'), include_package_data=True, ext_modules=ext_modules, cmdclass={ 'build_ext': ConfiguringBuildExt, 'clean': GeventClean, }, install_requires=install_requires, setup_requires=setup_requires, extras_require={ 'dnspython': [ 'dnspython >= 1.16.0', 'idna', ], 'events': [ 'zope.event', 'zope.interface', ], 'doc': [ 'repoze.sphinx.autointerface', ], 'test': [ # To the extent possible, we should work to make sure # our tests run, at least a basic set, without any of # these extra dependencies (i.e., skip things when they are # missing). This helps serve as a smoketest for users. 'zope.interface', 'zope.event', # Makes tests faster # Fails to build on PyPy on Windows. 'psutil >= 5.6.1 ; platform_python_implementation == "CPython" or sys_platform != "win32"', # examples, called from tests, use this 'requests', # We don't run coverage on Windows, and pypy can't build it there # anyway (coveralls -> cryptopgraphy -> openssl) 'coverage>=5.0a4 ; sys_platform != "win32"', 'coveralls>=1.7.0 ; sys_platform != "win32"', 'futures ; python_version == "2.7"', 'mock ; python_version == "2.7"', # leak checks. previously we had a hand-rolled version. 'objgraph', ] }, # It's always safe to pass the CFFI keyword, even if # cffi is not installed: it's just ignored in that case. cffi_modules=cffi_modules, zip_safe=False, test_suite="greentest.testrunner", classifiers=[ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Operating System :: Microsoft :: Windows", "Topic :: Internet", "Topic :: Software Development :: Libraries :: Python Modules", "Intended Audience :: Developers", "Development Status :: 4 - Beta" ], python_requires=">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", entry_points={ 'gevent.plugins.monkey.will_patch_all': [ "signal_os_incompat = gevent.monkey:_subscribe_signal_os", ], }, )