@@ -101,6 +101,15 @@ def _pip_repository_impl(rctx):
101
101
102
102
pypath = _construct_pypath (rctx )
103
103
104
+ os = rctx .os .name .lower ()
105
+ requirements_txt = rctx .attr .requirements
106
+
107
+ if os in rctx .attr .platform_requirements :
108
+ requirements_txt = Label (rctx .attr .platform_requirements [os ])
109
+
110
+ if requirements_txt == None :
111
+ fail ("Expected one of requirements attribute, or platform_requirements attribute to have key " + os )
112
+
104
113
if rctx .attr .incremental :
105
114
args = [
106
115
python_interpreter ,
@@ -120,7 +129,7 @@ def _pip_repository_impl(rctx):
120
129
"-m" ,
121
130
"python.pip_install.extract_wheels" ,
122
131
"--requirements" ,
123
- rctx .path (rctx . attr . requirements ),
132
+ rctx .path (requirements_txt ),
124
133
]
125
134
126
135
args += ["--repo" , rctx .attr .name ]
@@ -208,6 +217,9 @@ pip_repository_attrs = {
208
217
allow_single_file = True ,
209
218
doc = "A 'requirements.txt' pip requirements file." ,
210
219
),
220
+ "platform_requirements" : attr .string_dict (
221
+ doc = "Override the requirements attribute when running on a matching host platform" ,
222
+ ),
211
223
"requirements_lock" : attr .label (
212
224
allow_single_file = True ,
213
225
doc = """
0 commit comments