From 80c4a305d1446a7c318f97705b130d1ffad97f2b Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Tue, 13 Dec 2022 17:37:00 -0500 Subject: [PATCH 1/3] fix: EXT_SUFFIX wrong before 3.8.7 Signed-off-by: Henry Schreiner --- src/scikit_build_core/builder/builder.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/scikit_build_core/builder/builder.py b/src/scikit_build_core/builder/builder.py index 12ed1ee80..21e39d773 100644 --- a/src/scikit_build_core/builder/builder.py +++ b/src/scikit_build_core/builder/builder.py @@ -4,6 +4,7 @@ import re import sys import sysconfig +import typing from pathlib import Path from typing import Mapping @@ -120,7 +121,15 @@ def configure( # Workaround for bug in PyPy and packaging that is not handled in CMake # According to PEP 3149, SOABI and EXT_SUFFIX are interchangeable (and # the latter is much more likely to be correct as it is used elsewhere) - ext_suffix = sysconfig.get_config_var("EXT_SUFFIX") + if sys.version_info < (3, 8, 7): + # See https://github.com/python/cpython/issues/84006 + import distutils.sysconfig # pylint: disable=deprecated-module + + ext_suffix = typing.cast( + str, distutils.sysconfig.get_config_var("EXT_SUFFIX") + ) + else: + ext_suffix = sysconfig.get_config_var("EXT_SUFFIX") assert ext_suffix cache_config["SKBUILD_SOABI"] = ext_suffix.rsplit(".", 1)[0].lstrip(".") From 1fa8422751fdcf28fb0ead626119888d116dd63f Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Tue, 13 Dec 2022 18:05:36 -0500 Subject: [PATCH 2/3] typing: better fix for too-wide output --- src/scikit_build_core/builder/builder.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/scikit_build_core/builder/builder.py b/src/scikit_build_core/builder/builder.py index 21e39d773..211996c17 100644 --- a/src/scikit_build_core/builder/builder.py +++ b/src/scikit_build_core/builder/builder.py @@ -4,7 +4,6 @@ import re import sys import sysconfig -import typing from pathlib import Path from typing import Mapping @@ -125,12 +124,10 @@ def configure( # See https://github.com/python/cpython/issues/84006 import distutils.sysconfig # pylint: disable=deprecated-module - ext_suffix = typing.cast( - str, distutils.sysconfig.get_config_var("EXT_SUFFIX") - ) + ext_suffix = distutils.sysconfig.get_config_var("EXT_SUFFIX") else: ext_suffix = sysconfig.get_config_var("EXT_SUFFIX") - assert ext_suffix + assert isinstance(ext_suffix, str) cache_config["SKBUILD_SOABI"] = ext_suffix.rsplit(".", 1)[0].lstrip(".") if cache_entries: From a9f18d0e268daff6c0377b0d6f4813b79797525e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 13 Dec 2022 23:06:06 +0000 Subject: [PATCH 3/3] style: pre-commit fixes --- src/scikit_build_core/builder/builder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scikit_build_core/builder/builder.py b/src/scikit_build_core/builder/builder.py index 211996c17..528c16741 100644 --- a/src/scikit_build_core/builder/builder.py +++ b/src/scikit_build_core/builder/builder.py @@ -124,7 +124,7 @@ def configure( # See https://github.com/python/cpython/issues/84006 import distutils.sysconfig # pylint: disable=deprecated-module - ext_suffix = distutils.sysconfig.get_config_var("EXT_SUFFIX") + ext_suffix = distutils.sysconfig.get_config_var("EXT_SUFFIX") else: ext_suffix = sysconfig.get_config_var("EXT_SUFFIX") assert isinstance(ext_suffix, str)