about summary refs log tree commit diff
path: root/pkgs/development/libraries/grpc
diff options
context:
space:
mode:
authorVladimír Čunát <v@cunat.cz>2022-12-17 08:57:25 +0100
committerVladimír Čunát <v@cunat.cz>2022-12-17 08:59:16 +0100
commit9e9b992a5b318579a82e3d60cbdbf9108fffb5fa (patch)
tree8d75533cbc61196dd786c15e5f1bc8858ca48dfb /pkgs/development/libraries/grpc
parent18273180d18d2fbdf5f067b473d15433f9de497d (diff)
grpc: fixup build on aarch64-linux by using older C++
This was an older regression than the current staging-next iteration.
Diffstat (limited to 'pkgs/development/libraries/grpc')
-rw-r--r--pkgs/development/libraries/grpc/default.nix4
1 files changed, 3 insertions, 1 deletions
diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix
index 744f9652378f6..b924f3f51d345 100644
--- a/pkgs/development/libraries/grpc/default.nix
+++ b/pkgs/development/libraries/grpc/default.nix
@@ -60,7 +60,9 @@ stdenv.mkDerivation rec {
       # only an issue with the useLLVM stdenv, not the darwin stdenv…
       # https://github.com/grpc/grpc/issues/26473#issuecomment-860885484
       useLLVMAndOldCC = (stdenv.hostPlatform.useLLVM or false) && lib.versionOlder stdenv.cc.cc.version "11.0";
-      cxxStandard = if useLLVMAndOldCC then "11" else "17";
+      # With GCC 9 (current aarch64-linux) it fails with c++17 but OK with c++14.
+      useOldGCC = !(stdenv.hostPlatform.useLLVM or false) && lib.versionOlder stdenv.cc.cc.version "10";
+      cxxStandard = if useLLVMAndOldCC then "11" else if useOldGCC then "14" else "17";
     in
     [
       "-DgRPC_ZLIB_PROVIDER=package"