summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2023-10-14 09:37:07 +0200
committerRicardo Wurmus <rekado@elephly.net>2023-10-14 09:37:07 +0200
commit473dab5ec651065ce614ea9668e862dc3fcd8540 (patch)
tree870f0aa48cd724e3fa3441c5a6bfaaa36afa40a4
parente2875cbd364e14cb895dfc8cb76dd041f4d70eef (diff)
bazel: Patch instances of /bin/bash and /usr/bin/env.
* guix-science/packages/bazel.scm (bazel-6)[arguments]: Patch shebangs and generated shell command invocations.
-rw-r--r--guix-science/packages/bazel.scm24
1 files changed, 24 insertions, 0 deletions
diff --git a/guix-science/packages/bazel.scm b/guix-science/packages/bazel.scm
index 65bdd5f..e670f33 100644
--- a/guix-science/packages/bazel.scm
+++ b/guix-science/packages/bazel.scm
@@ -195,6 +195,30 @@
195 (("#!/bin/sh") 195 (("#!/bin/sh")
196 (string-append "#!" (which "sh")))) 196 (string-append "#!" (which "sh"))))
197 197
198 ;; Do not force the use of /bin/bash for users of bazel.
199 ;; Users cannot override this, so we do that here.
200 (substitute* '("src/main/java/com/google/devtools/build/lib/analysis/BashCommandConstructor.java"
201 "tools/build_rules/java_rules_skylark.bzl"
202 "tools/build_rules/test_rules.bzl"
203 "tools/android/android_sdk_repository_template.bzl")
204 (("#!/bin/bash")
205 (string-append "#!" (which "bash"))))
206 (substitute* '("src/main/java/com/google/devtools/build/lib/analysis/CommandHelper.java"
207 "src/main/java/com/google/devtools/build/lib/analysis/ShellConfiguration.java"
208 "src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java"
209 "src/main/java/com/google/devtools/build/lib/bazel/rules/sh/BazelShRuleClasses.java"
210 "src/main/java/com/google/devtools/build/lib/util/CommandBuilder.java")
211 (("\"/bin/bash\"")
212 (string-append "\"" (which "bash") "\"")))
213
214 ;; Same story for /usr/bin/env...
215 (substitute* '("src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java"
216 "src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/PyRuntimeInfoApi.java"
217 "src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt"
218 "src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java"
219 "src/test/java/com/google/devtools/build/lib/bazel/rules/python/BazelPyBinaryConfiguredTargetTest.java")
220 (("/usr/bin/env") (which "env")))
221
198 ;; XXX: We need to have /bin/bash and /usr/bin/env. We 222 ;; XXX: We need to have /bin/bash and /usr/bin/env. We
199 ;; can't easily override this, so we run everything 223 ;; can't easily override this, so we run everything
200 ;; inside of proot. 224 ;; inside of proot.