blob: ea9f0df05fcffe37a2ef616a2bb5ee03be6f9c08 [file] [log] [blame]
[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_*",
]