summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorMathieu Boespflug <m@tweag.io>2018-07-15 22:54:26 +0200
committerProfpatsch <mail@profpatsch.de>2018-07-17 10:12:39 +0200
commit62f3bf75092288aa2753d24a8f5d9e5bb64cf211 (patch)
treeea22f56304401589bf3c9ada1366eeb63ffaa4ea /pkgs
parentd23e72ebf7f9b41a9e908dd1d02e7dc23c0fc53d (diff)
downloadnixlib-62f3bf75092288aa2753d24a8f5d9e5bb64cf211.tar
nixlib-62f3bf75092288aa2753d24a8f5d9e5bb64cf211.tar.gz
nixlib-62f3bf75092288aa2753d24a8f5d9e5bb64cf211.tar.bz2
nixlib-62f3bf75092288aa2753d24a8f5d9e5bb64cf211.tar.lz
nixlib-62f3bf75092288aa2753d24a8f5d9e5bb64cf211.tar.xz
nixlib-62f3bf75092288aa2753d24a8f5d9e5bb64cf211.tar.zst
nixlib-62f3bf75092288aa2753d24a8f5d9e5bb64cf211.zip
bazel: make the build --sandbox compatible by building extra deps separately.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix16
1 files changed, 15 insertions, 1 deletions
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index 6c41e4aa0b8f..6ba6732f69f0 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, jdk, zip, unzip, bash, writeCBin, coreutils, makeWrapper, which, python, gnused
+{ stdenv, lib, fetchurl, runCommand, jdk, zip, unzip, bash, writeCBin, coreutils, makeWrapper, which, python, gnused
 # Always assume all markers valid (don't redownload dependencies).
 # Also, don't clean up environment variables.
 , enableNixHacks ? false
@@ -6,6 +6,17 @@
 , libcxx, CoreFoundation, CoreServices, Foundation
 }:
 
+let srcDeps = stdenv.lib.singleton (
+      fetchurl {
+        url = "https://github.com/google/desugar_jdk_libs/archive/f5e6d80c6b4ec6b0a46603f72b015d45cf3c11cd.zip";
+        sha256 = "c80f3f3d442d8a6ca7adc83f90ecd638c3864087fdd6787ffac070b6f1cc8f9b";
+      }
+    );
+    distDir = runCommand "bazel-deps" {} ''
+      mkdir -p $out
+      for i in ${builtins.toString srcDeps}; do cp $i $out/$(stripHash $i); done
+    '';
+in
 stdenv.mkDerivation rec {
 
   version = "0.15.0";
@@ -67,6 +78,9 @@ stdenv.mkDerivation rec {
     # Fixup scripts that generate scripts. Not fixed up by patchShebangs below.
     substituteInPlace scripts/bootstrap/compile.sh \
         --replace /bin/sh ${customBash}/bin/bash
+
+    echo "build --experimental_distdir=${distDir}" >> .bazelrc
+    echo "fetch --experimental_distdir=${distDir}" >> .bazelrc
     echo "build --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\"" >> .bazelrc
     echo "build --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\"" >> .bazelrc
     echo "build --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\"" >> .bazelrc