summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorSarah Brofeldt <sbrofeldt@gmail.com>2018-10-04 00:00:47 +0200
committerGitHub <noreply@github.com>2018-10-04 00:00:47 +0200
commit2e38f5fc6e85b84936deedfe256a9918c2c775a5 (patch)
tree68ce9a927de03b57dff6576f1099ba1692f49123 /pkgs/build-support
parent9073176598426be044db9fc682757a6cae101a85 (diff)
parent86a5535b2fdb6fbb88ca83ba9d83851269241927 (diff)
downloadnixlib-2e38f5fc6e85b84936deedfe256a9918c2c775a5.tar
nixlib-2e38f5fc6e85b84936deedfe256a9918c2c775a5.tar.gz
nixlib-2e38f5fc6e85b84936deedfe256a9918c2c775a5.tar.bz2
nixlib-2e38f5fc6e85b84936deedfe256a9918c2c775a5.tar.lz
nixlib-2e38f5fc6e85b84936deedfe256a9918c2c775a5.tar.xz
nixlib-2e38f5fc6e85b84936deedfe256a9918c2c775a5.tar.zst
nixlib-2e38f5fc6e85b84936deedfe256a9918c2c775a5.zip
Merge pull request #47448 from kalbasit/nixpkgs_add-bazel-watcher
bazel-watcher: init at 0.5.0
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/build-bazel-package/default.nix23
1 files changed, 19 insertions, 4 deletions
diff --git a/pkgs/build-support/build-bazel-package/default.nix b/pkgs/build-support/build-bazel-package/default.nix
index 07d37451ddf9..28247bac1021 100644
--- a/pkgs/build-support/build-bazel-package/default.nix
+++ b/pkgs/build-support/build-bazel-package/default.nix
@@ -25,7 +25,13 @@ in stdenv.mkDerivation (fBuildAttrs // {
     buildPhase = fFetchAttrs.buildPhase or ''
       runHook preBuild
 
-      bazel --output_base="$bazelOut" --output_user_root="$bazelUserRoot" fetch $bazelFlags $bazelTarget
+      # Bazel computes the default value of output_user_root before parsing the
+      # flag. The computation of the default value involves getting the $USER
+      # from the environment. I don't have that variable when building with
+      # sandbox enabled. Code here
+      # https://github.com/bazelbuild/bazel/blob/9323c57607d37f9c949b60e293b573584906da46/src/main/cpp/startup_options.cc#L123-L124
+      #
+      USER=homeless-shelter bazel --output_base="$bazelOut" --output_user_root="$bazelUserRoot" fetch $bazelFlags $bazelTarget
 
       runHook postBuild
     '';
@@ -33,10 +39,19 @@ in stdenv.mkDerivation (fBuildAttrs // {
     installPhase = fFetchAttrs.installPhase or ''
       runHook preInstall
 
+      # Remove all built in external workspaces, Bazel will recreate them when building
+      rm -rf $bazelOut/external/{bazel_tools,\@bazel_tools.marker}
+      rm -rf $bazelOut/external/{embedded_jdk,\@embedded_jdk.marker}
+      rm -rf $bazelOut/external/{local_*,\@local_*}
+
       # Patching markers to make them deterministic
-      for i in $bazelOut/external/\@*.marker; do
-        sed -i 's, -\?[0-9][0-9]*$, 1,' "$i"
-      done
+      sed -i 's, -\?[0-9][0-9]*$, 1,' $bazelOut/external/\@*.marker
+
+      # Remove all vcs files
+      rm -rf $(find $bazelOut/external -type d -name .git)
+      rm -rf $(find $bazelOut/external -type d -name .svn)
+      rm -rf $(find $bazelOut/external -type d -name .hg)
+
       # Patching symlinks to remove build directory reference
       find $bazelOut/external -type l | while read symlink; do
         ln -sf $(readlink "$symlink" | sed "s,$NIX_BUILD_TOP,NIX_BUILD_TOP,") "$symlink"