1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
[build-system]
requires = [
"setuptools >= 36.4",
"wheel",
"setuptools_scm >= 2.1",
"cython >= 3.1",
"pkgconfig"
]
build-backend = "setuptools.build_meta"
[tool.setuptools_scm]
[tool.cibuildwheel]
# Also skip wheels for free-threaded CPython 3.14 (e.g. 'cp314t') until we
# actually support them. We currently aren't thread-safe as we define HB_NO_MT=1.
# CPython abi3 wheels only need universal2 on macOS, skip the single-arch builds.
skip = ["cp38-*", "cp39-*", "cp3??t-*", "cp*-macosx_x86_64", "cp*-macosx_arm64"]
enable = ["pypy"]
test-requires = "pytest"
test-command = "pytest {project}/tests"
[tool.cibuildwheel.macos]
archs = ["x86_64", "universal2", "arm64"]
[tool.cibuildwheel.linux]
archs = ["native"]
# Run abi3audit after the default repair commands to scan for abi3 violations
# https://github.com/pypa/abi3audit
# Only on Unix platforms (Linux/macOS) since Windows has no default repair command
[[tool.cibuildwheel.overrides]]
select = "cp*-{linux,macosx}*"
inherit.repair-wheel-command = "append"
repair-wheel-command = "pipx run abi3audit --strict --report {wheel}"
# Disable Limited API for PyPy as the build currently fails, see:
# https://github.com/harfbuzz/uharfbuzz/issues/262#issuecomment-3415144557
# https://cibuildwheel.pypa.io/en/stable/configuration/#overrides
[[tool.cibuildwheel.overrides]]
select = "pp*"
environment = { USE_PY_LIMITED_API = "0" }
[tool.black]
extend-exclude = "harfbuzz"
|