From c682be885739409c7bb54d6f3e581b82a99593f8 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 19 Jun 2025 22:20:40 -0400 Subject: [PATCH] catch2_3: disable test broken by Clang 20 bug --- .../catch2_3/clang-20-disable-broken-test.patch | 15 +++++++++++++++ pkgs/by-name/ca/catch2_3/package.nix | 6 ++++++ 2 files changed, 21 insertions(+) create mode 100644 pkgs/by-name/ca/catch2_3/clang-20-disable-broken-test.patch 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}/" ""