feat: add musllinux support (PEP 656) (#768)

* feat: add musllinux support (PEP 656)

Add musllinux support (PEP 656) allowing to build wheels for musl libc based distros (e.g. Alpine)

* feat: add musllinux support (PEP 656) doc

* doc: combine `CIBW_MANYLINUX_*_IMAGE` & `CIBW_MUSLLINUX_*_IMAGE` options

* fix: doc to be squashed

* doc: combine manylinux /musllinux in README

* Update docs/options.md

Co-authored-by: Joe Rickerby <joerick@mac.com>

Co-authored-by: Joe Rickerby <joerick@mac.com>
This commit is contained in:
Matthieu Darbois
2021-09-20 08:12:35 +02:00
committed by GitHub
co-authored by Joe Rickerby
parent d5add4261f
commit 803c5e46ce
16 changed files with 182 additions and 69 deletions
@@ -28,6 +28,31 @@ python_configurations = [
{ identifier = "cp310-manylinux_s390x", version = "3.10", path_str = "/opt/python/cp310-cp310" },
{ identifier = "pp37-manylinux_aarch64", version = "3.7", path_str = "/opt/python/pp37-pypy37_pp73" },
{ identifier = "pp37-manylinux_i686", version = "3.7", path_str = "/opt/python/pp37-pypy37_pp73" },
{ identifier = "cp36-musllinux_x86_64", version = "3.6", path_str = "/opt/python/cp36-cp36m" },
{ identifier = "cp37-musllinux_x86_64", version = "3.7", path_str = "/opt/python/cp37-cp37m" },
{ identifier = "cp38-musllinux_x86_64", version = "3.8", path_str = "/opt/python/cp38-cp38" },
{ identifier = "cp39-musllinux_x86_64", version = "3.9", path_str = "/opt/python/cp39-cp39" },
{ identifier = "cp310-musllinux_x86_64", version = "3.10", path_str = "/opt/python/cp310-cp310" },
{ identifier = "cp36-musllinux_i686", version = "3.6", path_str = "/opt/python/cp36-cp36m" },
{ identifier = "cp37-musllinux_i686", version = "3.7", path_str = "/opt/python/cp37-cp37m" },
{ identifier = "cp38-musllinux_i686", version = "3.8", path_str = "/opt/python/cp38-cp38" },
{ identifier = "cp39-musllinux_i686", version = "3.9", path_str = "/opt/python/cp39-cp39" },
{ identifier = "cp310-musllinux_i686", version = "3.10", path_str = "/opt/python/cp310-cp310" },
{ identifier = "cp36-musllinux_aarch64", version = "3.6", path_str = "/opt/python/cp36-cp36m" },
{ identifier = "cp37-musllinux_aarch64", version = "3.7", path_str = "/opt/python/cp37-cp37m" },
{ identifier = "cp38-musllinux_aarch64", version = "3.8", path_str = "/opt/python/cp38-cp38" },
{ identifier = "cp39-musllinux_aarch64", version = "3.9", path_str = "/opt/python/cp39-cp39" },
{ identifier = "cp310-musllinux_aarch64", version = "3.10", path_str = "/opt/python/cp310-cp310" },
{ identifier = "cp36-musllinux_ppc64le", version = "3.6", path_str = "/opt/python/cp36-cp36m" },
{ identifier = "cp37-musllinux_ppc64le", version = "3.7", path_str = "/opt/python/cp37-cp37m" },
{ identifier = "cp38-musllinux_ppc64le", version = "3.8", path_str = "/opt/python/cp38-cp38" },
{ identifier = "cp39-musllinux_ppc64le", version = "3.9", path_str = "/opt/python/cp39-cp39" },
{ identifier = "cp310-musllinux_ppc64le", version = "3.10", path_str = "/opt/python/cp310-cp310" },
{ identifier = "cp36-musllinux_s390x", version = "3.6", path_str = "/opt/python/cp36-cp36m" },
{ identifier = "cp37-musllinux_s390x", version = "3.7", path_str = "/opt/python/cp37-cp37m" },
{ identifier = "cp38-musllinux_s390x", version = "3.8", path_str = "/opt/python/cp38-cp38" },
{ identifier = "cp39-musllinux_s390x", version = "3.9", path_str = "/opt/python/cp39-cp39" },
{ identifier = "cp310-musllinux_s390x", version = "3.10", path_str = "/opt/python/cp310-cp310" },
]
[macos]
+6
View File
@@ -27,6 +27,12 @@ manylinux-pypy_x86_64-image = "manylinux2010"
manylinux-pypy_i686-image = "manylinux2010"
manylinux-pypy_aarch64-image = "manylinux2014"
musllinux-x86_64-image = "musllinux_1_1"
musllinux-i686-image = "musllinux_1_1"
musllinux-aarch64-image = "musllinux_1_1"
musllinux-ppc64le-image = "musllinux_1_1"
musllinux-s390x-image = "musllinux_1_1"
[tool.cibuildwheel.linux]
repair-wheel-command = "auditwheel repair -w {dest_dir} {wheel}"
+25 -20
View File
@@ -1,38 +1,43 @@
[x86_64]
manylinux1 = quay.io/pypa/manylinux1_x86_64:2021-09-18-65abb78
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-09-18-c1afc21
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-09-18-c1afc21
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-09-18-c1afc21
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-09-18-f12faf3
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-09-18-f12faf3
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-09-18-f12faf3
musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2021-09-18-f12faf3
[i686]
manylinux1 = quay.io/pypa/manylinux1_i686:2021-09-18-65abb78
manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-09-18-c1afc21
manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-09-18-c1afc21
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-09-18-c1afc21
manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-09-18-f12faf3
manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-09-18-f12faf3
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-09-18-f12faf3
musllinux_1_1 = quay.io/pypa/musllinux_1_1_i686:2021-09-18-f12faf3
[pypy_x86_64]
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-09-18-c1afc21
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-09-18-c1afc21
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-09-18-c1afc21
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-09-18-f12faf3
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-09-18-f12faf3
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-09-18-f12faf3
[pypy_i686]
manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-09-18-c1afc21
manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-09-18-c1afc21
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-09-18-c1afc21
manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-09-18-f12faf3
manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-09-18-f12faf3
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-09-18-f12faf3
[aarch64]
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-09-18-c1afc21
manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-09-18-c1afc21
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-09-18-f12faf3
manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-09-18-f12faf3
musllinux_1_1 = quay.io/pypa/musllinux_1_1_aarch64:2021-09-18-f12faf3
[ppc64le]
manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2021-09-18-c1afc21
manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2021-09-18-c1afc21
manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2021-09-18-f12faf3
manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2021-09-18-f12faf3
musllinux_1_1 = quay.io/pypa/musllinux_1_1_ppc64le:2021-09-18-f12faf3
[s390x]
manylinux2014 = quay.io/pypa/manylinux2014_s390x:2021-09-18-c1afc21
manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2021-09-18-c1afc21
manylinux2014 = quay.io/pypa/manylinux2014_s390x:2021-09-18-f12faf3
manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2021-09-18-f12faf3
musllinux_1_1 = quay.io/pypa/musllinux_1_1_s390x:2021-09-18-f12faf3
[pypy_aarch64]
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-09-18-c1afc21
manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-09-18-c1afc21
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-09-18-f12faf3
manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-09-18-f12faf3