Commit 8bde0406 authored by Randy Eckenrode's avatar Randy Eckenrode Committed by Artturin
Browse files

doctest: fix build with clang 16

Clang 16 adds a buffer hardening mode as a new warning. doctest enables
all warnings and promotes them to errors, which causes the build to fail
with clang 16. The upstream PR suppresses these warnings on clang 16.

Background: https://discourse.llvm.org/t/rfc-c-buffer-hardening/65734
parent 97e40605
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
{ lib, stdenv, fetchFromGitHub, installShellFiles, cmake }:
{ lib, stdenv, fetchFromGitHub, fetchpatch, installShellFiles, cmake }:

stdenv.mkDerivation rec {
  pname = "doctest";
@@ -11,6 +11,15 @@ stdenv.mkDerivation rec {
    sha256 = "sha256-hotO6QVpPn8unYTaQHFgi40A3oLUd++I3aTe293e4Aw=";
  };

  patches = [
    # Suppress unsafe buffer usage warnings with clang 16, which are treated as errors due to `-Werror`.
    # https://github.com//doctest/doctest/pull/768
    (fetchpatch {
      url = "https://github.com/doctest/doctest/commit/9336c9bd86e3fc2e0c36456cad8be3b4e8829a22.patch";
      hash = "sha256-ZFCVk5qvgfixRm7ZFr7hyNCSEvrT6nB01G/CBshq53o=";
    })
  ];

  nativeBuildInputs = [ cmake ];

  doCheck = true;