summary refs log tree commit diff
diff options
context:
space:
mode:
authorItai Zukerman <zukerman@math-hat.com>2017-03-02 00:07:56 -0800
committerItai Zukerman <zukerman@math-hat.com>2017-03-02 00:09:10 -0800
commit1f709ad136ff18b209638372a0b48345cf1f4fa6 (patch)
treec955a3af4b5e3620a641f58492e5395171600e6e
parentb8812dfeacf9f55605d03b61b7b4b8a627d44739 (diff)
downloadnixpkgs-1f709ad136ff18b209638372a0b48345cf1f4fa6.tar
nixpkgs-1f709ad136ff18b209638372a0b48345cf1f4fa6.tar.gz
nixpkgs-1f709ad136ff18b209638372a0b48345cf1f4fa6.tar.bz2
nixpkgs-1f709ad136ff18b209638372a0b48345cf1f4fa6.tar.lz
nixpkgs-1f709ad136ff18b209638372a0b48345cf1f4fa6.tar.xz
nixpkgs-1f709ad136ff18b209638372a0b48345cf1f4fa6.tar.zst
nixpkgs-1f709ad136ff18b209638372a0b48345cf1f4fa6.zip
bazel: add gcc to PATH and simplify patch
Removed patches that are purely for testing.
Removed dependencies that seemed to not be needed.
Expand all instances of #!/bin/bash, not just those at the start of scripts.
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix31
1 files changed, 11 insertions, 20 deletions
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index a8ad08feec1..16e31eaf5a8 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, jdk, zip, unzip, which, bash, binutils, coreutils, makeWrapper }:
+{ stdenv, fetchurl, jdk, zip, unzip, bash, makeWrapper }:
 
 stdenv.mkDerivation rec {
 
@@ -22,24 +22,16 @@ stdenv.mkDerivation rec {
   sourceRoot = ".";
 
   postPatch = ''
-    patchShebangs .
+    for f in $(grep -l -r '#!/bin/bash'); do
+      substituteInPlace "$f" --replace '#!/bin/bash' '#!${bash}/bin/bash'
+    done
     for f in \
       src/main/java/com/google/devtools/build/lib/analysis/CommandHelper.java \
       src/main/java/com/google/devtools/build/lib/bazel/rules/BazelConfiguration.java \
-      src/test/java/com/google/devtools/build/lib/shell/CommandTest.java \
-      src/test/java/com/google/devtools/build/lib/shell/InterruptibleTest.java \
-      src/test/java/com/google/devtools/build/lib/shell/LoadTest.java \
-      src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java \
-      src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java
-    do
-      substituteInPlace $f \
-        --replace /bin/bash ${bash}/bin/bash \
-        --replace /bin/cat ${coreutils}/bin/cat \
-        --replace /bin/echo ${coreutils}/bin/echo \
-        --replace /bin/false ${coreutils}/bin/false \
-        --replace /bin/pwd ${coreutils}/bin/pwd \
-        --replace /bin/sleep ${coreutils}/bin/sleep \
-        --replace /bin/true ${coreutils}/bin/true
+      src/main/java/com/google/devtools/build/lib/bazel/rules/sh/BazelShRuleClasses.java \
+      src/main/java/com/google/devtools/build/lib/rules/cpp/LinkCommandLine.java \
+      ; do
+      substituteInPlace "$f" --replace /bin/bash ${bash}/bin/bash
     done
   '';
 
@@ -49,8 +41,6 @@ stdenv.mkDerivation rec {
     jdk
     zip
     unzip
-    which
-    binutils
     makeWrapper
   ];
 
@@ -59,7 +49,6 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [
     bash
-    coreutils
   ];
 
   # If TMPDIR is in the unpack dir we run afoul of blaze's infinite symlink
@@ -81,10 +70,12 @@ stdenv.mkDerivation rec {
         examples/java-native/src/test/java/com/example/myproject:hello
   '';
 
+  # Bazel expects gcc and java to be in the path.
+
   installPhase = ''
     mkdir -p $out/bin
     mv output/bazel $out/bin
-    wrapProgram "$out/bin/bazel" --prefix PATH : "${jdk}/bin"
+    wrapProgram "$out/bin/bazel" --prefix PATH : "${stdenv.cc}/bin:${jdk}/bin"
   '';
 
   dontStrip = true;