Consume new config file with pypy and extra architectures
This commit is contained in:
+18
-45
@@ -168,65 +168,38 @@ def main():
|
|||||||
)
|
)
|
||||||
|
|
||||||
if platform == 'linux':
|
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')
|
|
||||||
manylinux_aarch64_image = os.environ.get('CIBW_MANYLINUX_AARCH64_IMAGE', 'manylinux2014')
|
|
||||||
manylinux_ppc64le_image = os.environ.get('CIBW_MANYLINUX_PPC64LE_IMAGE', 'manylinux2014')
|
|
||||||
manylinux_s390x_image = os.environ.get('CIBW_MANYLINUX_S390X_IMAGE', 'manylinux2014')
|
|
||||||
|
|
||||||
pinned_docker_images_file = os.path.join(
|
pinned_docker_images_file = os.path.join(
|
||||||
os.path.dirname(__file__), 'resources', 'pinned_docker_images.cfg'
|
os.path.dirname(__file__), 'resources', 'pinned_docker_images.cfg'
|
||||||
)
|
)
|
||||||
pinned_docker_images = ConfigParser()
|
all_pinned_docker_images = ConfigParser()
|
||||||
pinned_docker_images.read(pinned_docker_images_file)
|
all_pinned_docker_images.read(pinned_docker_images_file)
|
||||||
|
# all_pinned_docker_images looks like a dict of dicts, e.g.
|
||||||
# pinned_docker_images looks like a dict of dicts, e.g.
|
# { 'x86_64': {'manylinux1': '...', 'manylinux2010': '...', 'manylinux2014': '...'},
|
||||||
# { 'manylinux1': {'x86_64': '...', 'i686': '...'},
|
# 'i686': {'manylinux1': '...', 'manylinux2010': '...', 'manylinux2014': '...'},
|
||||||
# 'manylinux2010': {'x86_64': '...', 'i686': '...'},
|
# 'pypy_x86_64': {'manylinux2010': '...' }
|
||||||
# 'manylinux2014': {'x86_64': '...', 'i686': '...'} }
|
# ... }
|
||||||
|
|
||||||
manylinux_images = {}
|
manylinux_images = {}
|
||||||
|
|
||||||
if manylinux_x86_64_image in pinned_docker_images:
|
for build_platform in ['x86_64', 'i686', 'pypy_x86_64', 'aarch64', 'ppc64le', 's390x']:
|
||||||
manylinux_images['x86_64'] = pinned_docker_images[manylinux_x86_64_image]['x86_64']
|
pinned_images = all_pinned_docker_images[build_platform]
|
||||||
else:
|
|
||||||
manylinux_images['x86_64'] = manylinux_x86_64_image
|
|
||||||
|
|
||||||
if manylinux_i686_image in pinned_docker_images:
|
config_name = 'CIBW_MANYLINUX_{}_IMAGE'.format(build_platform.upper())
|
||||||
manylinux_images['i686'] = pinned_docker_images[manylinux_i686_image]['i686']
|
config_value = os.environ.get(config_name)
|
||||||
else:
|
|
||||||
manylinux_images['i686'] = manylinux_i686_image
|
|
||||||
|
|
||||||
if manylinux_pypy_x86_64_image in pinned_docker_images:
|
if config_value is None:
|
||||||
manylinux_images['pypy_x86_64'] = pinned_docker_images[manylinux_pypy_x86_64_image]['pypy_x86_64']
|
# default to manylinux2010 if it's available, otherwise manylinux2014
|
||||||
|
image = pinned_images.get('manylinux2010') or pinned_images.get('manylinux2014')
|
||||||
|
elif config_value in pinned_images:
|
||||||
|
image = pinned_images[config_value]
|
||||||
else:
|
else:
|
||||||
manylinux_images['pypy_x86_64'] = manylinux_pypy_x86_64_image
|
image = config_value
|
||||||
|
|
||||||
if manylinux_aarch64_image in pinned_docker_images:
|
manylinux_images[build_platform] = image
|
||||||
manylinux_images['aarch64'] = pinned_docker_images[manylinux_aarch64_image]['aarch64']
|
|
||||||
else:
|
|
||||||
manylinux_images['aarch64'] = manylinux_aarch64_image
|
|
||||||
|
|
||||||
if manylinux_ppc64le_image in pinned_docker_images:
|
|
||||||
manylinux_images['ppc64le'] = pinned_docker_images[manylinux_ppc64le_image]['ppc64le']
|
|
||||||
else:
|
|
||||||
manylinux_images['ppc64le'] = manylinux_ppc64le_image
|
|
||||||
|
|
||||||
if manylinux_s390x_image in pinned_docker_images:
|
|
||||||
manylinux_images['x390x'] = pinned_docker_images[manylinux_s390x_image]['x390x']
|
|
||||||
else:
|
|
||||||
manylinux_images['x390x'] = manylinux_s390x_image
|
|
||||||
|
|
||||||
manylinux_images['pypy_x86_64'] = ''
|
|
||||||
|
|
||||||
build_options.update(
|
build_options.update(
|
||||||
manylinux_images=manylinux_images
|
manylinux_images=manylinux_images
|
||||||
)
|
)
|
||||||
elif platform == 'macos':
|
|
||||||
pass
|
|
||||||
elif platform == 'windows':
|
|
||||||
pass
|
|
||||||
|
|
||||||
# Python is buffering by default when running on the CI platforms, giving problems interleaving subprocess call output with unflushed calls to 'print'
|
# Python is buffering by default when running on the CI platforms, giving problems interleaving subprocess call output with unflushed calls to 'print'
|
||||||
sys.stdout = Unbuffered(sys.stdout)
|
sys.stdout = Unbuffered(sys.stdout)
|
||||||
|
|||||||
Reference in New Issue
Block a user