about summary refs log tree commit diff
path: root/pkgs/servers/invidious
diff options
context:
space:
mode:
authorWeijia Wang <9713184+wegank@users.noreply.github.com>2023-10-24 04:42:22 +0200
committerGitHub <noreply@github.com>2023-10-24 04:42:22 +0200
commit763fc7d82ceac5b3d48141afdf930fb93618e194 (patch)
treeb67f5ff794e056701ef5dc461bc34a5e5f7ca63d /pkgs/servers/invidious
parentdef24391670aabd9726a3e77131e813d5d8a3b55 (diff)
parent523d3f143c6a361d5a5ceea39be100885c61ad54 (diff)
Merge pull request #262660 from reckenrode/invidious-fix
invidious: fix build with clang 16
Diffstat (limited to 'pkgs/servers/invidious')
-rw-r--r--pkgs/servers/invidious/lsquic.nix20
1 files changed, 19 insertions, 1 deletions
diff --git a/pkgs/servers/invidious/lsquic.nix b/pkgs/servers/invidious/lsquic.nix
index c9cdd9958ede8..9c88ae004aabc 100644
--- a/pkgs/servers/invidious/lsquic.nix
+++ b/pkgs/servers/invidious/lsquic.nix
@@ -57,7 +57,25 @@ 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.isGNU ''
+      # Silence warning that causes build failures with GCC.
+      sed -e '/^build ssl\/test\/CMakeFiles\/bssl_shim\.dir\/settings_writer\.cc\.o:/,/^ *FLAGS =/ s/^ *FLAGS = -Werror/& -Wno-error=ignored-attributes/' \
+          -e '/^build ssl\/test\/CMakeFiles\/handshaker\.dir\/settings_writer\.cc\.o:/,/^ *FLAGS =/ s/^ *FLAGS = -Werror/& -Wno-error=ignored-attributes/' \
+          -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 {