diff --git a/pkgs/by-name/ca/catch2_3/clang-20-disable-broken-test.patch b/pkgs/by-name/ca/catch2_3/clang-20-disable-broken-test.patch new file mode 100644 index 000000000000..372243455aed --- /dev/null +++ b/pkgs/by-name/ca/catch2_3/clang-20-disable-broken-test.patch @@ -0,0 +1,15 @@ +diff --git a/tests/SelfTest/UsageTests/Misc.tests.cpp b/tests/SelfTest/UsageTests/Misc.tests.cpp +index 3697f0695c..8c10aace7b 100644 +--- a/tests/SelfTest/UsageTests/Misc.tests.cpp ++++ b/tests/SelfTest/UsageTests/Misc.tests.cpp +@@ -384,10 +384,6 @@ + REQUIRE(x.size() > 0); + } + +-TEMPLATE_PRODUCT_TEST_CASE("Product with differing arities", "[template][product]", std::tuple, (int, (int, double), (int, double, float))) { +- REQUIRE(std::tuple_size::value >= 1); +-} +- + using MyTypes = std::tuple; + TEMPLATE_LIST_TEST_CASE("Template test case with test types specified inside std::tuple", "[template][list]", MyTypes) + { diff --git a/pkgs/by-name/ca/catch2_3/package.nix b/pkgs/by-name/ca/catch2_3/package.nix index 58cb11c64144..269a445c48a4 100644 --- a/pkgs/by-name/ca/catch2_3/package.nix +++ b/pkgs/by-name/ca/catch2_3/package.nix @@ -18,6 +18,12 @@ stdenv.mkDerivation rec { hash = "sha256-eeqqzHMeXLRiXzbY+ay8gJ/YDuxDj3f6+d6eXA1uZHE="; }; + patches = lib.optionals stdenv.cc.isClang [ + # This test fails to compile with Clang 20 + # See: https://github.com/catchorg/Catch2/issues/2991 + ./clang-20-disable-broken-test.patch + ]; + postPatch = '' substituteInPlace CMake/*.pc.in \ --replace-fail "\''${prefix}/" ""