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 @@ -771,6 +771,9 @@ def _compute_build_time_dependencies(
771771            version  =  packaging .version .parse (importlib_metadata .version (name ))
772772        except  importlib_metadata .PackageNotFoundError  as  exc :
773773            raise  ConfigError (f'package "{ name } { 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 
774777        pin  =  packaging .requirements .Requirement (template .format (v = version ))
775778        if  pin .marker :
776779            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):
311311            Requires-Dist: meson-python>=0.13.0 
312312            Requires-Dist: packaging~={ packaging_version .major } { packaging_version .minor }  
313313        ''' )
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