Skip to content

Commit 239595b

Browse files
committed
Simplify install_rust_extension
1 parent 95412f4 commit 239595b

File tree

1 file changed

+5
-18
lines changed

1 file changed

+5
-18
lines changed

setuptools_rust/setuptools_ext.py

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -152,19 +152,10 @@ def run(self) -> None:
152152

153153
install_base_class = cast(Type[install], dist.cmdclass.get("install", install))
154154

155-
# this is required because, install directly access distribution's
156-
# ext_modules attr to check if dist has ext modules
155+
# this is required for console_scripts and to make install_scripts compatible with RustBin
157156
class install_rust_extension(install_base_class): # type: ignore[misc,valid-type]
158157
def finalize_options(self) -> None:
159-
ext_modules = self.distribution.ext_modules
160-
161-
# all ext modules
162-
mods = []
163-
if self.distribution.ext_modules:
164-
mods.extend(self.distribution.ext_modules)
165158
if self.distribution.rust_extensions:
166-
mods.extend(self.distribution.rust_extensions)
167-
168159
scripts = []
169160
for ext in self.distribution.rust_extensions:
170161
scripts.extend(ext.entry_points())
@@ -185,20 +176,16 @@ def finalize_options(self) -> None:
185176

186177
self.distribution.entry_points["console_scripts"] = ep_scripts
187178

188-
self.distribution.ext_modules = mods
189-
190179
install_base_class.finalize_options(self)
191180

192-
# restore ext_modules
193-
self.distribution.ext_modules = ext_modules
194-
195181
def run(self) -> None:
196182
install_base_class.run(self)
197183
install_rustbin = False
198184
if self.distribution.rust_extensions:
199-
for ext in self.distribution.rust_extensions:
200-
if isinstance(ext, RustBin):
201-
install_rustbin = True
185+
install_rustbin = any(
186+
isinstance(ext, RustBin)
187+
for ext in self.distribution.rust_extensions
188+
)
202189
if install_rustbin:
203190
self.run_command("install_scripts")
204191

0 commit comments

Comments
 (0)