diff --git a/pkgs/servers/http/envoy/default.nix b/pkgs/servers/http/envoy/default.nix index 0b1d88e43e0d..87379c4d7df1 100644 --- a/pkgs/servers/http/envoy/default.nix +++ b/pkgs/servers/http/envoy/default.nix @@ -3,6 +3,7 @@ , bazel-gazelle , buildBazelPackage , fetchFromGitHub +, fetchpatch , stdenv , cmake , gn @@ -24,19 +25,25 @@ let # However, the version string is more useful for end-users. # These are contained in a attrset of their own to make it obvious that # people should update both. - version = "1.27.1"; - rev = "6b9db09c69965d5bfb37bdd29693f8b7f9e9e9ec"; + version = "1.27.2"; + rev = "ae07f9a11715245f7d25d2a13699c260c2ae8ebb"; + hash = "sha256-VgP3st26Wkx51tTM++tKAZX7+BmPGgy1MIJFGLDu4JU="; }; + + # these need to be updated for any changes to fetchAttrs + depsHash = { + x86_64-linux = "sha256-389CaxJ3F66eMID7+KgwzCdlT2QPOTkKPLnqpmM49ig="; + aarch64-linux = "sha256-ui7AUzWouAn2DZ7kUpp1huNxPGBqzKXqtwcuRZUhmqo="; + }.${stdenv.system} or (throw "unsupported system ${stdenv.system}"); in -buildBazelPackage rec { +buildBazelPackage { pname = "envoy"; inherit (srcVer) version; bazel = bazel_6; src = fetchFromGitHub { owner = "envoyproxy"; repo = "envoy"; - inherit (srcVer) rev; - hash = "sha256-eZ3UCVqQbtK2GbawUVef5+BMSQbqe+owtwH+b887mQE="; + inherit (srcVer) hash rev; postFetch = '' chmod -R +w $out @@ -62,6 +69,12 @@ buildBazelPackage rec { # use system C/C++ tools ./0003-nixpkgs-use-system-C-C-toolchains.patch + + # bump proxy-wasm-cpp-host until > 1.27.2/1.28.0 + (fetchpatch { + url = "https://github.com/envoyproxy/envoy/pull/31451.patch"; + hash = "sha256-n8k7bho3B8Gm0dJbgf43kU7ymvo15aGJ2Twi2xR450g="; + }) ]; nativeBuildInputs = [ @@ -82,10 +95,7 @@ buildBazelPackage rec { hardeningDisable = [ "format" ]; fetchAttrs = { - sha256 = { - x86_64-linux = "sha256-OQ4vg4S3DpM+Zo+igncx3AXJnL8FkJbwh7KnBhbnCUM="; - aarch64-linux = "sha256-/X8i1vzQ4QvFxi1+5rc1/CGHmRhhu5F3X5A3PgbW+Mc="; - }.${stdenv.system} or (throw "unsupported system ${stdenv.system}"); + sha256 = depsHash; dontUseCmakeConfigure = true; dontUseGnConfigure = true; preInstall = '' @@ -111,6 +121,9 @@ buildBazelPackage rec { # Remove Unix timestamps from go cache. rm -rf $bazelOut/external/bazel_gazelle_go_repository_cache/{gocache,pkg/mod/cache,pkg/sumdb} + + # fix tcmalloc failure https://github.com/envoyproxy/envoy/issues/30838 + sed -i '/TCMALLOC_GCC_FLAGS = \[/a"-Wno-changes-meaning",' $bazelOut/external/com_github_google_tcmalloc/tcmalloc/copts.bzl ''; }; buildAttrs = {