Adding PyPy builds to Linux, using the manylinux2010-pypy_x86_64 image
This commit is contained in:
@@ -159,6 +159,7 @@ def main():
|
||||
if platform == 'linux':
|
||||
manylinux_x86_64_image = os.environ.get('CIBW_MANYLINUX_X86_64_IMAGE', 'manylinux2010')
|
||||
manylinux_i686_image = os.environ.get('CIBW_MANYLINUX_I686_IMAGE', 'manylinux2010')
|
||||
manylinux_pypy_x86_64_image = os.environ.get('CIBW_MANYLINUX_PYPY_X86_64_IMAGE', 'manylinux2010')
|
||||
|
||||
default_manylinux_images_x86_64 = {'manylinux1': 'quay.io/pypa/manylinux1_x86_64',
|
||||
'manylinux2010': 'quay.io/pypa/manylinux2010_x86_64',
|
||||
@@ -166,10 +167,12 @@ def main():
|
||||
default_manylinux_images_i686 = {'manylinux1': 'quay.io/pypa/manylinux1_i686',
|
||||
'manylinux2010': 'quay.io/pypa/manylinux2010_i686',
|
||||
'manylinux2014': 'quay.io/pypa/manylinux2014_i686'}
|
||||
default_manylinux_images_pypy_x86_64 = {'manylinux2010': 'pypywheels/manylinux2010-pypy_x86_64'}
|
||||
|
||||
build_options.update(
|
||||
manylinux_images={'x86_64': default_manylinux_images_x86_64.get(manylinux_x86_64_image) or manylinux_x86_64_image,
|
||||
'i686': default_manylinux_images_i686.get(manylinux_i686_image) or manylinux_i686_image},
|
||||
'i686': default_manylinux_images_i686.get(manylinux_i686_image) or manylinux_i686_image,
|
||||
'pypy_x86_64': default_manylinux_images_pypy_x86_64.get(manylinux_pypy_x86_64_image) or manylinux_pypy_x86_64_image},
|
||||
)
|
||||
elif platform == 'macos':
|
||||
pass
|
||||
|
||||
@@ -27,6 +27,8 @@ def get_python_configurations(build_selector):
|
||||
PythonConfiguration(identifier='cp36-manylinux_i686', path='/opt/python/cp36-cp36m'),
|
||||
PythonConfiguration(identifier='cp37-manylinux_i686', path='/opt/python/cp37-cp37m'),
|
||||
PythonConfiguration(identifier='cp38-manylinux_i686', path='/opt/python/cp38-cp38'),
|
||||
PythonConfiguration(identifier='pp271-manylinux_pypy_x86_64', path='/opt/python/pp271-pypy_41'),
|
||||
PythonConfiguration(identifier='pp371-manylinux_pypy_x86_64', path='/opt/python/pp371-pypy3_71'),
|
||||
]
|
||||
|
||||
# skip builds as required
|
||||
@@ -47,6 +49,7 @@ def build(project_dir, output_dir, test_command, test_requires, test_extras, bef
|
||||
platforms = [
|
||||
('manylinux_x86_64', manylinux_images['x86_64']),
|
||||
('manylinux_i686', manylinux_images['i686']),
|
||||
('manylinux_pypy_x86_64', manylinux_images['pypy_x86_64']),
|
||||
]
|
||||
|
||||
for platform_tag, docker_image in platforms:
|
||||
|
||||
+13
-8
@@ -82,16 +82,21 @@ def expected_wheels(package_name, package_version, manylinux_versions=['manylinu
|
||||
python_abi_tags = ['cp27-cp27m', 'cp35-cp35m', 'cp36-cp36m', 'cp37-cp37m', 'cp38-cp38']
|
||||
if platform == 'linux':
|
||||
python_abi_tags.append('cp27-cp27mu') # python 2.7 has 2 different ABI on manylinux
|
||||
platform_tags = []
|
||||
for architecture in ['x86_64', 'i686']:
|
||||
for manylinux_version in manylinux_versions:
|
||||
platform_tags.append('{manylinux_version}_{architecture}'.format(
|
||||
manylinux_version=manylinux_version, architecture=architecture
|
||||
))
|
||||
# Starting out by adding PyPy support on Linux
|
||||
python_abi_tags.extend(['pp271-pypy_41', 'pp371-pypy3_71'])
|
||||
cp_architectures = ['x86_64', 'i686']
|
||||
pp_architectures = ['x86_64']
|
||||
|
||||
def get_platform_tags(python_abi_tag):
|
||||
return platform_tags
|
||||
|
||||
if python_abi_tag.startswith('pp'):
|
||||
architectures = pp_architectures
|
||||
else:
|
||||
architectures = cp_architectures
|
||||
return ['{manylinux_version}_{architecture}'.format(
|
||||
manylinux_version=manylinux_version, architecture=architecture
|
||||
)
|
||||
for manylinux_version in manylinux_versions
|
||||
for architecture in architectures]
|
||||
elif platform == 'windows':
|
||||
|
||||
def get_platform_tags(python_abi_tag):
|
||||
|
||||
Reference in New Issue
Block a user