Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set SYSTEM_VERSION_COMPAT=0 during pip install on macos #1768

Merged
merged 8 commits into from
Mar 11, 2024
28 changes: 26 additions & 2 deletions cibuildwheel/macos.py
Original file line number Diff line number Diff line change
Expand Up @@ -579,17 +579,41 @@ def build(options: Options, tmp_path: Path) -> None:
shell_with_arch(before_test_prepared, env=virtualenv_env)

# install the wheel
if (
sys.version_info <= (3, 8)
and testing_arch == "x86_64"
and python_arch == "x86_64"
):
laggykiller marked this conversation as resolved.
Show resolved Hide resolved
virtualenv_env_install_wheel = virtualenv_env.copy()
virtualenv_env_install_wheel["SYSTEM_VERSION_COMPAT"] = "0"
log.notice(
unwrap(
"""
Setting SYSTEM_VERSION_COMPAT=0 to ensure x86_64 CPython <= 3.8 on
arm64 runner can get correct macOS version and allow installation
of wheels with MACOSX_DEPLOYMENT_TARGET >= 11.0.
See https://github.com/pypa/cibuildwheel/issues/1767
for the details.
laggykiller marked this conversation as resolved.
Show resolved Hide resolved
"""
)
)
else:
virtualenv_env_install_wheel = virtualenv_env

call_with_arch(
"pip",
"install",
f"{repaired_wheel}{build_options.test_extras}",
env=virtualenv_env,
env=virtualenv_env_install_wheel,
)

# test the wheel
if build_options.test_requires:
call_with_arch(
"pip", "install", *build_options.test_requires, env=virtualenv_env
"pip",
"install",
*build_options.test_requires,
env=virtualenv_env_install_wheel,
)

# run the tests from a temp dir, with an absolute path in the command
Expand Down