@@ -49,13 +49,35 @@ simple==0.0.1 \
4949 ],
5050 )
5151
52- def _mod (* , name , parse = [], override = [], whl_mods = [], is_root = True ):
52+ def _mod (* , name , default = [], parse = [], override = [], whl_mods = [], is_root = True ):
5353 return struct (
5454 name = name ,
5555 tags = struct (
5656 parse = parse ,
5757 override = override ,
5858 whl_mods = whl_mods ,
59+ # TODO @aignas 2025-05-19: add a test with the default tag
60+ default = default or [
61+ _default (
62+ arch_name = cpu ,
63+ constraint_values = [
64+ "@platforms//os:{}" .format (os ),
65+ "@platforms//cpu:{}" .format (cpu ),
66+ ],
67+ os_name = os ,
68+ platform = "{}_{}" .format (os , cpu ),
69+ )
70+ for os , cpu in [
71+ ("linux" , "aarch64" ),
72+ ("linux" , "arm" ),
73+ ("linux" , "ppc" ),
74+ ("linux" , "s390x" ),
75+ ("linux" , "x86_64" ),
76+ ("osx" , "aarch64" ),
77+ ("osx" , "x86_64" ),
78+ ("windows" , "x86_64" ),
79+ ]
80+ ],
5981 ),
6082 is_root = is_root ,
6183 )
@@ -77,6 +99,34 @@ def _parse_modules(env, **kwargs):
7799 ),
78100 )
79101
102+ def _default (
103+ arch_name = None ,
104+ constraint_values = None ,
105+ os_name = None ,
106+ platform = None ,
107+ target_settings = None ,
108+ env_implementation_name = None ,
109+ env_os_name = None ,
110+ env_platform_machine = None ,
111+ env_platform_release = None ,
112+ env_platform_system = None ,
113+ env_platform_version = None ,
114+ env_sys_platform = None ):
115+ return struct (
116+ arch_name = arch_name ,
117+ constraint_values = constraint_values ,
118+ os_name = os_name ,
119+ platform = platform ,
120+ target_settings = target_settings ,
121+ env_implementation_name = env_implementation_name ,
122+ env_os_name = env_os_name ,
123+ env_platform_machine = env_platform_machine ,
124+ env_platform_release = env_platform_release ,
125+ env_platform_system = env_platform_system ,
126+ env_platform_version = env_platform_version ,
127+ env_sys_platform = env_sys_platform ,
128+ )
129+
80130def _parse (
81131 * ,
82132 hub_name ,
0 commit comments