diff options
Diffstat (limited to 'third_party/gerrit/default.nix')
-rw-r--r-- | third_party/gerrit/default.nix | 58 |
1 files changed, 33 insertions, 25 deletions
diff --git a/third_party/gerrit/default.nix b/third_party/gerrit/default.nix index 4873cf09b9..a137946264 100644 --- a/third_party/gerrit/default.nix +++ b/third_party/gerrit/default.nix @@ -1,10 +1,6 @@ { depot, pkgs, ... }: let - detzip = depot.nix.buildGo.program { - name = "detzip"; - srcs = [ ./detzip.go ]; - }; bazelRunScript = pkgs.writeShellScriptBin "bazel-run" '' yarn config set cache-folder "$bazelOut/external/yarn_cache" export HOME="$bazelOut/external/home" @@ -14,11 +10,10 @@ let bazelTop = pkgs.buildFHSUserEnv { name = "bazel"; targetPkgs = pkgs: [ - (pkgs.bazel.override { enableNixHacks = true; }) - detzip - pkgs.jdk11_headless + (pkgs.bazel_5.override { enableNixHacks = true; }) + pkgs.jdk17_headless pkgs.zlib - pkgs.python + pkgs.python3 pkgs.curl pkgs.nodejs pkgs.yarn @@ -28,7 +23,7 @@ let runScript = "/bin/bazel-run"; }; bazel = bazelTop // { override = x: bazelTop; }; - version = "3.4.0"; + version = "3.9.1"; in pkgs.lib.makeOverridable pkgs.buildBazelPackage { pname = "gerrit"; @@ -36,33 +31,31 @@ pkgs.lib.makeOverridable pkgs.buildBazelPackage { src = pkgs.fetchgit { url = "https://gerrit.googlesource.com/gerrit"; - rev = "471c1c15a7bc294d10e246df43812942b5ac8a13"; + rev = "620a819cbf3c64fff7a66798822775ad42c91d8e"; branchName = "v${version}"; - sha256 = "sha256:0ayj0bcsxjln8qydkj9j7yiqibmjgd3bcpqvgsdzdx072wzx01c0"; + sha256 = "sha256:1mdxbgnx3mpxand4wq96ic38bb4yh45q271h40jrk7dk23sgmz02"; fetchSubmodules = true; }; patches = [ - ./0001-Use-detzip-in-download_bower.py.patch - ./0002-Syntax-highlight-nix.patch - ./0003-Syntax-highlight-rules.pl.patch - ./0004-Add-titles-to-CLs-over-HTTP.patch - ./0005-When-using-local-fonts-always-assume-Gerrit-is-mount.patch - ./0006-Always-use-Google-Fonts.patch + ./0001-Syntax-highlight-nix.patch + ./0002-Syntax-highlight-rules.pl.patch + ./0003-Add-titles-to-CLs-over-HTTP.patch ]; - bazelTarget = "release api-skip-javadoc"; + bazelTargets = [ "release" "api-skip-javadoc" ]; inherit bazel; bazelFlags = [ "--repository_cache=" "--disk_cache=" ]; + removeRulesCC = false; fetchConfigured = true; fetchAttrs = { - sha256 = "sha256:1q4sclf18zzh8hsnccg1y7vqnhgavq62mqp4xx50zxfcnixfkpbx"; + sha256 = "sha256:119mqli75c9fy05ddrlh2brjxb354yvv1ijjkk1y1yqcaqppwwb8"; preBuild = '' rm .bazelversion ''; @@ -87,7 +80,7 @@ pkgs.lib.makeOverridable pkgs.buildBazelPackage { # Removing top-level symlinks along with their markers. # This is needed because they sometimes point to temporary paths (?). # For example, in Tensorflow-gpu build: - # platforms -> NIX_BUILD_TOP/tmp/install/35282f5123611afa742331368e9ae529/_embedded_binaries/platforms + #sha256:06bmzbcb9717s4b016kcbn8nr9pgaz04i8bnzg7ybkbdwpl8vxvv"; platforms -> NIX_BUILD_TOP/tmp/install/35282f5123611afa742331368e9ae529/_embedded_binaries/platforms find $bazelOut/external -maxdepth 1 -type l | while read symlink; do name="$(basename "$symlink")" rm -rf "$symlink" "$bazelOut/external/@$name.marker" @@ -103,13 +96,17 @@ pkgs.lib.makeOverridable pkgs.buildBazelPackage { echo '${bazel.name}' > $bazelOut/external/.nix-bazel-version # Gerrit fixups: - # Remove polymer-bridges and ba-linkify, they're in-repo - rm -rf $bazelOut/external/yarn_cache/v6/npm-polymer-bridges-* - rm -rf $bazelOut/external/yarn_cache/v6/npm-ba-linkify-* # Normalize permissions on .yarn-{tarball,metadata} files - find $bazelOut/external/yarn_cache \( -name .yarn-tarball.tgz -or -name .yarn-metadata.json \) -exec chmod 644 {} + + test -d $bazelOut/external/yarn_cache && find $bazelOut/external/yarn_cache \( -name .yarn-tarball.tgz -or -name .yarn-metadata.json \) -exec chmod 644 {} + + + mkdir $bazelOut/_bits/ + find . -name node_modules -prune -print | while read d; do + echo "$d" "$(dirname $d)" + mkdir -p $bazelOut/_bits/$(dirname $d) + cp -R "$d" "$bazelOut/_bits/$(dirname $d)/node_modules" + done - (cd $bazelOut/ && tar czf $out --sort=name --mtime='@1' --owner=0 --group=0 --numeric-owner external/) + (cd $bazelOut/ && tar czf $out --sort=name --mtime='@1' --owner=0 --group=0 --numeric-owner external/ _bits/) runHook postInstall ''; @@ -118,6 +115,15 @@ pkgs.lib.makeOverridable pkgs.buildBazelPackage { buildAttrs = { preConfigure = '' rm .bazelversion + + [ "$(ls -A $bazelOut/_bits)" ] && cp -R $bazelOut/_bits/* ./ || true + ''; + postPatch = '' + # Disable all errorprone checks, since we might be using a different version. + sed -i \ + -e '/-Xep:/d' \ + -e '/-XepExcludedPaths:/a "-XepDisableAllChecks",' \ + tools/BUILD ''; installPhase = '' mkdir -p "$out"/webapps/ "$out"/share/api/ @@ -147,4 +153,6 @@ pkgs.lib.makeOverridable pkgs.buildBazelPackage { "webhooks" ]; }; + + meta.ci.targets = [ "deps" ]; } |