diff --git a/pkgs/servers/invidious/lsquic.nix b/pkgs/servers/invidious/lsquic.nix index c9cdd9958ede..918882968b7a 100644 --- a/pkgs/servers/invidious/lsquic.nix +++ b/pkgs/servers/invidious/lsquic.nix @@ -57,7 +57,20 @@ let preBuild = preBuild + lib.optionalString stdenv.isLinux '' sed -e '/^build crypto\/fipsmodule\/CMakeFiles\/fipsmodule\.dir\/bcm\.c\.o:/,/^ *FLAGS =/ s/^ *FLAGS = -Werror/& -Wno-error=stringop-overflow/' \ -i build.ninja - ''; + '' + lib.optionalString stdenv.cc.isClang ( + # Silence warnings that cause build failures with newer versions of clang. + let + clangVersion = lib.getVersion stdenv.cc; + in + lib.optionalString (lib.versionAtLeast clangVersion "13") '' + sed -e '/^build crypto\/CMakeFiles\/crypto\.dir\/x509\/t_x509\.c\.o:/,/^ *FLAGS =/ s/^ *FLAGS = -Werror/& -Wno-error=unused-but-set-variable/' \ + -e '/^build tool\/CMakeFiles\/bssl\.dir\/digest\.cc\.o:/,/^ *FLAGS =/ s/^ *FLAGS = -Werror/& -Wno-error=unused-but-set-variable/' \ + -i build.ninja + '' + lib.optionalString (lib.versionAtLeast clangVersion "16") '' + sed -e '/^build crypto\/CMakeFiles\/crypto\.dir\/trust_token\/trust_token\.c\.o:/,/^ *FLAGS =/ s/^ *FLAGS = -Werror/& -Wno-error=single-bit-bitfield-constant-conversion/' \ + -i build.ninja + '' + ); }); in stdenv.mkDerivation rec {