diff options
author | Weijia Wang <9713184+wegank@users.noreply.github.com> | 2023-11-12 19:45:20 +0100 |
---|---|---|
committer | Weijia Wang <9713184+wegank@users.noreply.github.com> | 2023-11-12 19:45:20 +0100 |
commit | 74d102ce50f5d71e193a27b899e96739dadeed2f (patch) | |
tree | 333dadf38ed34c5d783422b0d6b9f0c03a2b4a58 /pkgs/development/tools/build-managers | |
parent | 2c237f6180dc06bdd5214ac5216c7e42e5c0d5b1 (diff) | |
parent | 12c5150ee5702e3d87049e88f58f35cc88e0dccf (diff) | |
download | nixpkgs-74d102ce50f5d71e193a27b899e96739dadeed2f.tar nixpkgs-74d102ce50f5d71e193a27b899e96739dadeed2f.tar.gz nixpkgs-74d102ce50f5d71e193a27b899e96739dadeed2f.tar.bz2 nixpkgs-74d102ce50f5d71e193a27b899e96739dadeed2f.tar.lz nixpkgs-74d102ce50f5d71e193a27b899e96739dadeed2f.tar.xz nixpkgs-74d102ce50f5d71e193a27b899e96739dadeed2f.tar.zst nixpkgs-74d102ce50f5d71e193a27b899e96739dadeed2f.zip |
Merge branch 'master' into staging-next
Diffstat (limited to 'pkgs/development/tools/build-managers')
-rw-r--r-- | pkgs/development/tools/build-managers/bazel/bazel_6/default.nix | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix index 8fb37a9f666..35f1c9980b4 100644 --- a/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix +++ b/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix @@ -22,6 +22,7 @@ , file , substituteAll , writeTextFile +, writeShellApplication }: let @@ -128,6 +129,17 @@ let defaultShellPath = lib.makeBinPath defaultShellUtils; + bashWithDefaultShellUtils = writeShellApplication { + name = "bash"; + runtimeInputs = defaultShellUtils; + text = '' + if [[ "$PATH" == "/no-such-path" ]]; then + export PATH=${defaultShellPath} + fi + exec ${bash}/bin/bash "$@" + ''; + }; + platforms = lib.platforms.linux ++ lib.platforms.darwin; system = if stdenv.hostPlatform.isDarwin then "darwin" else "linux"; @@ -420,8 +432,8 @@ stdenv.mkDerivation rec { # If you add more replacements here, you must change the grep above! # Only files containing /bin are taken into account. substituteInPlace "$path" \ - --replace /bin/bash ${bash}/bin/bash \ - --replace "/usr/bin/env bash" ${bash}/bin/bash \ + --replace /bin/bash ${bashWithDefaultShellUtils}/bin/bash \ + --replace "/usr/bin/env bash" ${bashWithDefaultShellUtils}/bin/bash \ --replace "/usr/bin/env python" ${python3}/bin/python \ --replace /usr/bin/env ${coreutils}/bin/env \ --replace /bin/true ${coreutils}/bin/true @@ -436,17 +448,17 @@ stdenv.mkDerivation rec { # bazel test runner include references to /bin/bash substituteInPlace tools/build_rules/test_rules.bzl \ - --replace /bin/bash ${bash}/bin/bash + --replace /bin/bash ${bashWithDefaultShellUtils}/bin/bash for i in $(find tools/cpp/ -type f) do substituteInPlace $i \ - --replace /bin/bash ${bash}/bin/bash + --replace /bin/bash ${bashWithDefaultShellUtils}/bin/bash done # Fixup scripts that generate scripts. Not fixed up by patchShebangs below. substituteInPlace scripts/bootstrap/compile.sh \ - --replace /bin/bash ${bash}/bin/bash + --replace /bin/bash ${bashWithDefaultShellUtils}/bin/bash # add nix environment vars to .bazelrc cat >> .bazelrc <<EOF @@ -523,7 +535,7 @@ stdenv.mkDerivation rec { in lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches + genericPatches; - buildInputs = [buildJdk] ++ defaultShellUtils; + buildInputs = [buildJdk bashWithDefaultShellUtils] ++ defaultShellUtils; # when a command can’t be found in a bazel build, you might also # need to add it to `defaultShellPath`. |