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 @@ -667,6 +667,9 @@ def _compute_build_time_dependencies(
667667            version  =  packaging .version .parse (importlib_metadata .version (name ))
668668        except  importlib_metadata .PackageNotFoundError  as  exc :
669669            raise  ConfigError (f'package "{ name } { template !r}  ) from  exc 
670+         if  version .is_devrelease  or  version .is_prerelease :
671+             print ('meson-python: build-time pin for pre-release version "{version}" of "{name}" not generared: {template!r}' )
672+             continue 
670673        pin  =  packaging .requirements .Requirement (template .format (v = version ))
671674        if  pin .marker :
672675            raise  ConfigError (f'requirements in "build-time-pins" cannot contain markers: { template !r}  )
Original file line number Diff line number Diff line change @@ -264,3 +264,29 @@ def test_build_time_pins(wheel_dynamic_dependencies):
264264            Requires-Dist: meson-python>=0.13.0 
265265            Requires-Dist: packaging~={ packaging_version .major } { packaging_version .minor }  
266266        ''' )
267+ 
268+ 
269+ def  test_compute_build_time_dependencies (monkeypatch ):
270+     versions  =  {
271+         'aaa' : '1.2.3' ,
272+         'bbb' : '4.5.6' ,
273+         'ddd' : '1.0.0rc1' , # pre-release will not be added to build-time dependencies 
274+     }
275+     monkeypatch .setattr (importlib_metadata , 'version' , lambda  package : versions .get (package ))
276+     deps  =  [
277+         'bbb>=0.1' ,
278+         'ccc>=0.2' ,
279+         'ddd>=0.3' ,
280+     ]
281+     pins  =  [
282+         'aaa>={v}' ,
283+         'bbb~={v.major}.{v.minor}' ,
284+         'ddd=={v}' ,
285+     ]
286+     r  =  mesonpy ._compute_build_time_dependencies ([packaging .requirements .Requirement (x ) for  x  in  deps ], pins )
287+     assert  sorted (str (x ) for  x  in  r ) ==  [
288+         'aaa>=1.2.3' ,
289+         'bbb>=0.1,~=4.5' ,
290+         'ccc>=0.2' ,
291+         'ddd>=0.3' ,
292+     ]
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments