about summary refs log tree commit diff
path: root/pkgs/servers/http
diff options
context:
space:
mode:
authorLuke Granger-Brown <git@lukegb.com>2022-09-11 22:28:05 +0100
committerGitHub <noreply@github.com>2022-09-11 22:28:05 +0100
commitf9544df64514e24bf2913a5462e69fdc1a89e08e (patch)
tree3924d7ceab348e55822379452695fd2181b03cbc /pkgs/servers/http
parentcd7fb8d0208b3533f271a45297f501a131d9b923 (diff)
parent0a087095acc040a8cf90c59c649451b642f21e5e (diff)
Merge pull request #190742 from lukegb/envoy
envoy: remove remaining nix store references from deps
Diffstat (limited to 'pkgs/servers/http')
-rw-r--r--pkgs/servers/http/envoy/default.nix43
1 files changed, 28 insertions, 15 deletions
diff --git a/pkgs/servers/http/envoy/default.nix b/pkgs/servers/http/envoy/default.nix
index b9342ccd4fac5..ca2c38c0a1a71 100644
--- a/pkgs/servers/http/envoy/default.nix
+++ b/pkgs/servers/http/envoy/default.nix
@@ -1,5 +1,6 @@
 { lib
 , bazel_5
+, bazel-gazelle
 , buildBazelPackage
 , fetchFromGitHub
 , stdenv
@@ -48,6 +49,7 @@ buildBazelPackage rec {
   postPatch = ''
     sed -i 's,#!/usr/bin/env python3,#!${python3}/bin/python,' bazel/foreign_cc/luajit.patch
     sed -i '/javabase=/d' .bazelrc
+    sed -i '/"-Werror"/d' bazel/envoy_internal.bzl
 
     # Use system Python.
     sed -i -e '/python_interpreter_target =/d' -e '/@python3_10/d' bazel/python_dependencies.bzl
@@ -81,8 +83,8 @@ buildBazelPackage rec {
 
   fetchAttrs = {
     sha256 = {
-      x86_64-linux = "0y3gpvx148bnn6kljdvkg99m681vw39l0avrhvncbf62hvpifqkw";
-      aarch64-linux = "0lln5mdlskahz5hb4w268ys2ksy3051drrwlhracmk4i7rpm7fq3";
+      x86_64-linux = "10f1lcn8pynqcj2hlz100zbpmawvn0f2hwpcw3m9v6v3fcs2l6pr";
+      aarch64-linux = "1na7gna9563mm1y7sy34fh64f1kxz151xn26zigbi9amwcpjbav6";
     }.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
     dontUseCmakeConfigure = true;
     dontUseGnConfigure = true;
@@ -91,20 +93,18 @@ buildBazelPackage rec {
       find $bazelOut/external -name requirements.bzl | while read requirements; do
         sed -i '/# Generated from /d' "$requirements"
       done
-      find $bazelOut/external -type f -executable | while read execbin; do
-        file "$execbin" | grep -q ': ELF .*, dynamically linked,' || continue
-        patchelf \
-          --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \
-          "$execbin"
-      done
 
       # Remove references to paths in the Nix store.
       sed -i \
         -e 's,${python3},__NIXPYTHON__,' \
         -e 's,${stdenv.shellPackage},__NIXSHELL__,' \
         $bazelOut/external/com_github_luajit_luajit/build.py \
-        $bazelOut/external/local_config_sh/BUILD
+        $bazelOut/external/local_config_sh/BUILD \
+        $bazelOut/external/base_pip3/BUILD.bazel
+
       rm -r $bazelOut/external/go_sdk
+      rm -r $bazelOut/external/local_jdk
+      rm -r $bazelOut/external/bazel_gazelle_go_repository_tools/bin
 
       # Remove Unix timestamps from go cache.
       rm -rf $bazelOut/external/bazel_gazelle_go_repository_cache/{gocache,pkg/mod/cache,pkg/sumdb}
@@ -115,6 +115,16 @@ buildBazelPackage rec {
     dontUseGnConfigure = true;
     dontUseNinjaInstall = true;
     preConfigure = ''
+      # Make executables work, for the most part.
+      find $bazelOut/external -type f -executable | while read execbin; do
+        file "$execbin" | grep -q ': ELF .*, dynamically linked,' || continue
+        patchelf \
+          --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \
+          "$execbin"
+      done
+
+      ln -s ${bazel-gazelle}/bin $bazelOut/external/bazel_gazelle_go_repository_tools/bin
+
       sed -i 's,#!/usr/bin/env bash,#!${stdenv.shell},' $bazelOut/external/rules_foreign_cc/foreign_cc/private/framework/toolchains/linux_commands.bzl
 
       # Add paths to Nix store back.
@@ -122,7 +132,8 @@ buildBazelPackage rec {
         -e 's,__NIXPYTHON__,${python3},' \
         -e 's,__NIXSHELL__,${stdenv.shellPackage},' \
         $bazelOut/external/com_github_luajit_luajit/build.py \
-        $bazelOut/external/local_config_sh/BUILD
+        $bazelOut/external/local_config_sh/BUILD \
+        $bazelOut/external/base_pip3/BUILD.bazel
     '';
     installPhase = ''
       install -Dm0755 bazel-bin/source/exe/envoy-static $out/bin/envoy
@@ -137,10 +148,7 @@ buildBazelPackage rec {
     "-c opt"
     "--spawn_strategy=standalone"
     "--noexperimental_strict_action_env"
-    "--cxxopt=-Wno-maybe-uninitialized"
-    "--cxxopt=-Wno-uninitialized"
-    "--cxxopt=-Wno-error=type-limits"
-    "--cxxopt=-Wno-error=range-loop-construct"
+    "--cxxopt=-Wno-error"
 
     # Force use of system Java.
     "--extra_toolchains=@local_jdk//:all"
@@ -148,7 +156,12 @@ buildBazelPackage rec {
     "--tool_java_runtime_version=local_jdk"
 
     "--define=wasm=${wasmRuntime}"
-  ];
+  ] ++ (lib.optionals stdenv.isAarch64 [
+    # external/com_github_google_tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:611:9: error: expected ':' or '::' before '[' token
+    #   611 |       : [end_ptr] "=&r"(end_ptr), [cpu_id] "=&r"(cpu_id),
+    #       |         ^
+    "--define=tcmalloc=disabled"
+  ]);
   bazelFetchFlags = [
     "--define=wasm=${wasmRuntime}"
   ];