diff options
author | Sarah Brofeldt <sbrofeldt@gmail.com> | 2018-10-04 00:00:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-04 00:00:47 +0200 |
commit | 2e38f5fc6e85b84936deedfe256a9918c2c775a5 (patch) | |
tree | 68ce9a927de03b57dff6576f1099ba1692f49123 /pkgs/build-support | |
parent | 9073176598426be044db9fc682757a6cae101a85 (diff) | |
parent | 86a5535b2fdb6fbb88ca83ba9d83851269241927 (diff) | |
download | nixlib-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.nix | 23 |
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" |