diff options
| author | Ricardo Wurmus <rekado@elephly.net> | 2023-10-14 09:37:07 +0200 |
|---|---|---|
| committer | Ricardo Wurmus <rekado@elephly.net> | 2023-10-14 09:37:07 +0200 |
| commit | 473dab5ec651065ce614ea9668e862dc3fcd8540 (patch) | |
| tree | 870f0aa48cd724e3fa3441c5a6bfaaa36afa40a4 | |
| parent | e2875cbd364e14cb895dfc8cb76dd041f4d70eef (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.scm | 24 |
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. |
