Skip to content

Commit 2c92b49

Browse files
authored
Merge pull request #222 from davidhewitt/remove-monkey-patch
remove setuptools monkey patch
2 parents 21370e3 + 3441f25 commit 2c92b49

File tree

3 files changed

+7
-28
lines changed

3 files changed

+7
-28
lines changed

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@
22

33
## Unreleased
44

5+
### Packaging
6+
- Increase minimum `setuptools` version to 1.58. [#222](https://github.com/PyO3/setuptools-rust/pull/222)
7+
58
### Fixed
6-
- Fix building sdist with vendored dependencies on Windows. [#223](https://github.com/PyO3/setuptools-rust/pull/223)
9+
- Fix crash when `python-distutils-extra` linux package is installed. [#222](https://github.com/PyO3/setuptools-rust/pull/222)
10+
- Fix sdist built with vendored dependencies on Windows having incorrect cargo config. [#223](https://github.com/PyO3/setuptools-rust/pull/223)
711

812
## 1.2.0 (2022-03-22)
913
### Packaging

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[build-system]
2-
requires = ["setuptools>=46.1", "setuptools_scm[toml]>=3.4.3"]
2+
requires = ["setuptools>=58.0", "setuptools_scm[toml]>=3.4.3"]
33
build-backend = "setuptools.build_meta"
44

55
[tool.setuptools_scm]

setuptools_rust/setuptools_ext.py

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -240,44 +240,19 @@ def get_tag(self) -> Tuple[str, str, str]:
240240
dist.cmdclass["bdist_wheel"] = bdist_wheel_rust_extension
241241

242242

243-
def patch_distutils_build() -> None:
244-
"""Patch distutils to use `has_ext_modules()`
245-
246-
See https://github.com/pypa/distutils/pull/43
247-
"""
248-
from distutils.command import build as _build
249-
250-
class build(_build.build):
251-
# Missing type def from distutils.cmd.Command; add it here for now
252-
distribution: Distribution
253-
254-
def finalize_options(self) -> None:
255-
build_lib_user_specified = self.build_lib is not None
256-
super().finalize_options()
257-
if not build_lib_user_specified:
258-
if self.distribution.has_ext_modules(): # type: ignore[attr-defined]
259-
self.build_lib = self.build_platlib
260-
else:
261-
self.build_lib = self.build_purelib
262-
263-
_build.build = build # type: ignore[misc]
264-
265-
266243
def rust_extensions(
267244
dist: Distribution, attr: Literal["rust_extensions"], value: List[RustExtension]
268245
) -> None:
269246
assert attr == "rust_extensions"
270247
has_rust_extensions = len(value) > 0
271248

272-
# Monkey patch has_ext_modules to include Rust extensions; pairs with
273-
# patch_distutils_build above.
249+
# Monkey patch has_ext_modules to include Rust extensions.
274250
#
275251
# has_ext_modules is missing from Distribution typing.
276252
orig_has_ext_modules = dist.has_ext_modules # type: ignore[attr-defined]
277253
dist.has_ext_modules = lambda: (orig_has_ext_modules() or has_rust_extensions) # type: ignore[attr-defined]
278254

279255
if has_rust_extensions:
280-
patch_distutils_build()
281256
add_rust_extension(dist)
282257

283258

0 commit comments

Comments
 (0)