| [build-system] |
| requires = [ |
| # We need at least version 36.6.0 that introduced "build_meta" |
| "setuptools>=36.6.0", |
| # In order to build wheels, and as required by PEP 517 |
| "wheel", |
| "Cython", |
| "packaging", |
| ] |
| build-backend = "setuptools.build_meta" |
| |
| [tool.black] |
| line-length = 119 |
| exclude = ''' |
| ( |
| /( |
| \.eggs |
| | \.git |
| | \.mypy_cache |
| | \.tox |
| | _build |
| | build |
| | dist |
| )/ |
| | src/buildstream/_protos |
| ) |
| ''' |
| |
| [tool.cibuildwheel] |
| build-frontend = "build" |
| environment = { BST_BUNDLE_BUILDBOX = "1" } |
| |
| # The BuildBox binaries produced in buildbox-integration are linked against GLIBC 2.28 |
| # from Debian 10. See: https://gitlab.com/BuildGrid/buildbox/buildbox-integration. |
| # |
| # The PyPA manylinux_2_28 platform tag identifies that our wheel will run on any x86_64 |
| # OS with GLIBC >= 2.28. Following this setting, `cibuildwheel` builds the packages in |
| # the corresponding manylinux_2_28 container image. See: https://github.com/pypa/manylinux |
| manylinux-x86_64-image = "manylinux_2_28" |
| |
| skip = [ |
| # BuildStream supports Python >= 3.7 |
| "cp36-*", |
| # PyPy may work, but nobody is testing it so avoid distributing prebuilt binaries. |
| "pp*", |
| # Skipping this niche archicture ~halves overall build time. |
| "*_i686", |
| # The prebuilt BuildBox binaries link against GLibc so will work on manylinux but not musllinux |
| "*-musllinux_*", |
| ] |