From 450bff5b8519efadd5993aebbface3230914ea09 Mon Sep 17 00:00:00 2001 From: Blair Azzopardi Date: Mon, 29 May 2023 22:58:05 +0100 Subject: [PATCH 1/4] Update wheel.py to support generic tag when no extensions found If no extensions are built (due to conditions) then do not tag as platform specific wheel. --- src/poetry/core/masonry/builders/wheel.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/poetry/core/masonry/builders/wheel.py b/src/poetry/core/masonry/builders/wheel.py index e29213243..d88c850f5 100644 --- a/src/poetry/core/masonry/builders/wheel.py +++ b/src/poetry/core/masonry/builders/wheel.py @@ -67,6 +67,7 @@ def __init__( self._original_path = original.parent self._editable = editable self._metadata_directory = metadata_directory + self._has_libs = None @classmethod def make_in( @@ -189,6 +190,7 @@ def _build(self, wheel: zipfile.ZipFile) -> None: # The result of building the extensions # does not exist, this may due to conditional # builds, so we assume that it's okay + self._has_libs = False return lib = libs[0] @@ -369,9 +371,13 @@ def _get_sys_tags(self) -> list[str]: ) return decode(output).strip().splitlines() + @property + def is_pure_lib(self) -> bool: + return self._package.build_script is None or self._has_libs == False + @property def tag(self) -> str: - if self._package.build_script: + if not self.is_pure_lib: if self.executable != Path(sys.executable): # poetry-core is not run in the build environment # -> this is probably not a PEP 517 build but a poetry build @@ -455,7 +461,7 @@ def _write_wheel_file(self, fp: TextIO) -> None: fp.write( wheel_file_template.format( version=__version__, - pure_lib="true" if self._package.build_script is None else "false", + pure_lib=str(self.is_pure_lib).lower(), tag=self.tag, ) ) From 617ae9a657a31ff22d9f57562a57afdd413e9c8e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 29 May 2023 22:18:12 +0000 Subject: [PATCH 2/4] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/poetry/core/masonry/builders/wheel.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/poetry/core/masonry/builders/wheel.py b/src/poetry/core/masonry/builders/wheel.py index d88c850f5..4590afa0c 100644 --- a/src/poetry/core/masonry/builders/wheel.py +++ b/src/poetry/core/masonry/builders/wheel.py @@ -67,7 +67,7 @@ def __init__( self._original_path = original.parent self._editable = editable self._metadata_directory = metadata_directory - self._has_libs = None + self._has_libs = None @classmethod def make_in( @@ -190,7 +190,7 @@ def _build(self, wheel: zipfile.ZipFile) -> None: # The result of building the extensions # does not exist, this may due to conditional # builds, so we assume that it's okay - self._has_libs = False + self._has_libs = False return lib = libs[0] @@ -373,8 +373,8 @@ def _get_sys_tags(self) -> list[str]: @property def is_pure_lib(self) -> bool: - return self._package.build_script is None or self._has_libs == False - + return self._package.build_script is None or self._has_libs is False + @property def tag(self) -> str: if not self.is_pure_lib: From 11171dad51d1773e51c947e97b80dcf89cca108a Mon Sep 17 00:00:00 2001 From: Blair Azzopardi Date: Mon, 29 May 2023 23:28:59 +0100 Subject: [PATCH 3/4] Add type information to please linter --- src/poetry/core/masonry/builders/wheel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/poetry/core/masonry/builders/wheel.py b/src/poetry/core/masonry/builders/wheel.py index 4590afa0c..8406324a5 100644 --- a/src/poetry/core/masonry/builders/wheel.py +++ b/src/poetry/core/masonry/builders/wheel.py @@ -67,7 +67,7 @@ def __init__( self._original_path = original.parent self._editable = editable self._metadata_directory = metadata_directory - self._has_libs = None + self._has_libs : bool | None = None @classmethod def make_in( From 951009db76642099de89cee72125a632666c3f82 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 29 May 2023 22:29:10 +0000 Subject: [PATCH 4/4] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/poetry/core/masonry/builders/wheel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/poetry/core/masonry/builders/wheel.py b/src/poetry/core/masonry/builders/wheel.py index 8406324a5..67f0fd58c 100644 --- a/src/poetry/core/masonry/builders/wheel.py +++ b/src/poetry/core/masonry/builders/wheel.py @@ -67,7 +67,7 @@ def __init__( self._original_path = original.parent self._editable = editable self._metadata_directory = metadata_directory - self._has_libs : bool | None = None + self._has_libs: bool | None = None @classmethod def make_in(