File tree 2 files changed +29
-0
lines changed
2 files changed +29
-0
lines changed Original file line number Diff line number Diff line change @@ -771,6 +771,9 @@ def _compute_build_time_dependencies(
771
771
version = packaging .version .parse (importlib_metadata .version (name ))
772
772
except importlib_metadata .PackageNotFoundError as exc :
773
773
raise ConfigError (f'package "{ name } " specified in "build-time-pins" not found: { template !r} ' ) from exc
774
+ if version .is_devrelease or version .is_prerelease :
775
+ print ('meson-python: build-time pin for pre-release version "{version}" of "{name}" not generared: {template!r}' )
776
+ continue
774
777
pin = packaging .requirements .Requirement (template .format (v = version ))
775
778
if pin .marker :
776
779
raise ConfigError (f'requirements in "build-time-pins" cannot contain markers: { template !r} ' )
Original file line number Diff line number Diff line change @@ -311,3 +311,29 @@ def test_build_time_pins(wheel_dynamic_dependencies):
311
311
Requires-Dist: meson-python>=0.13.0
312
312
Requires-Dist: packaging~={ packaging_version .major } .{ packaging_version .minor }
313
313
''' )
314
+
315
+
316
+ def test_compute_build_time_dependencies (monkeypatch ):
317
+ versions = {
318
+ 'aaa' : '1.2.3' ,
319
+ 'bbb' : '4.5.6' ,
320
+ 'ddd' : '1.0.0rc1' , # pre-release will not be added to build-time dependencies
321
+ }
322
+ monkeypatch .setattr (importlib_metadata , 'version' , lambda package : versions .get (package ))
323
+ deps = [
324
+ 'bbb>=0.1' ,
325
+ 'ccc>=0.2' ,
326
+ 'ddd>=0.3' ,
327
+ ]
328
+ pins = [
329
+ 'aaa>={v}' ,
330
+ 'bbb~={v.major}.{v.minor}' ,
331
+ 'ddd=={v}' ,
332
+ ]
333
+ r = mesonpy ._compute_build_time_dependencies ([packaging .requirements .Requirement (x ) for x in deps ], pins )
334
+ assert sorted (str (x ) for x in r ) == [
335
+ 'aaa>=1.2.3' ,
336
+ 'bbb>=0.1,~=4.5' ,
337
+ 'ccc>=0.2' ,
338
+ 'ddd>=0.3' ,
339
+ ]
You can’t perform that action at this time.
0 commit comments