@@ -152,19 +152,10 @@ def run(self) -> None:
152
152
153
153
install_base_class = cast (Type [install ], dist .cmdclass .get ("install" , install ))
154
154
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
157
156
class install_rust_extension (install_base_class ): # type: ignore[misc,valid-type]
158
157
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 )
165
158
if self .distribution .rust_extensions :
166
- mods .extend (self .distribution .rust_extensions )
167
-
168
159
scripts = []
169
160
for ext in self .distribution .rust_extensions :
170
161
scripts .extend (ext .entry_points ())
@@ -185,20 +176,16 @@ def finalize_options(self) -> None:
185
176
186
177
self .distribution .entry_points ["console_scripts" ] = ep_scripts
187
178
188
- self .distribution .ext_modules = mods
189
-
190
179
install_base_class .finalize_options (self )
191
180
192
- # restore ext_modules
193
- self .distribution .ext_modules = ext_modules
194
-
195
181
def run (self ) -> None :
196
182
install_base_class .run (self )
197
183
install_rustbin = False
198
184
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
+ )
202
189
if install_rustbin :
203
190
self .run_command ("install_scripts" )
204
191
0 commit comments