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
This commit is contained in:
Randy Eckenrode 2023-06-03 17:52:34 -04:00 committed by Artturin
parent 97e4060597
commit 8bde04060a

View file

@ -1,4 +1,4 @@
{ 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;