File tree Expand file tree Collapse file tree 2 files changed +29
-0
lines changed Expand file tree Collapse file tree 2 files changed +29
-0
lines changed Original file line number Diff line number Diff line change @@ -664,6 +664,9 @@ def _compute_build_time_dependencies(
664664            version  =  packaging .version .parse (importlib_metadata .version (name ))
665665        except  importlib_metadata .PackageNotFoundError  as  exc :
666666            raise  ConfigError (f'package "{ name } { template !r}  ) from  exc 
667+         if  version .is_devrelease  or  version .is_prerelease :
668+             print ('meson-python: build-time pin for pre-release version "{version}" of "{name}" not generared: {template!r}' )
669+             continue 
667670        pin  =  packaging .requirements .Requirement (template .format (v = version ))
668671        if  pin .marker :
669672            raise  ConfigError (f'requirements in "build-time-pins" cannot contain markers: { template !r}  )
Original file line number Diff line number Diff line change @@ -263,3 +263,29 @@ def test_build_time_pins(wheel_dynamic_dependencies):
263263            Requires-Dist: meson-python>=0.13.0 
264264            Requires-Dist: packaging~={ packaging_version .major } { packaging_version .minor }  
265265        ''' )
266+ 
267+ 
268+ def  test_compute_build_time_dependencies (monkeypatch ):
269+     versions  =  {
270+         'aaa' : '1.2.3' ,
271+         'bbb' : '4.5.6' ,
272+         'ddd' : '1.0.0rc1' , # pre-release will not be added to build-time dependencies 
273+     }
274+     monkeypatch .setattr (importlib_metadata , 'version' , lambda  package : versions .get (package ))
275+     deps  =  [
276+         'bbb>=0.1' ,
277+         'ccc>=0.2' ,
278+         'ddd>=0.3' ,
279+     ]
280+     pins  =  [
281+         'aaa>={v}' ,
282+         'bbb~={v.major}.{v.minor}' ,
283+         'ddd=={v}' ,
284+     ]
285+     r  =  mesonpy ._compute_build_time_dependencies ([packaging .requirements .Requirement (x ) for  x  in  deps ], pins )
286+     assert  sorted (str (x ) for  x  in  r ) ==  [
287+         'aaa>=1.2.3' ,
288+         'bbb>=0.1,~=4.5' ,
289+         'ccc>=0.2' ,
290+         'ddd>=0.3' ,
291+     ]
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments