diff --git a/pkgs/by-name/tb/tbb_2022/package.nix b/pkgs/by-name/tb/tbb_2022/package.nix index b4601f9154cc..31af81c371c8 100644 --- a/pkgs/by-name/tb/tbb_2022/package.nix +++ b/pkgs/by-name/tb/tbb_2022/package.nix @@ -5,6 +5,7 @@ fetchpatch, cmake, ninja, + ctestCheckHook, }: stdenv.mkDerivation (finalAttrs: { @@ -26,6 +27,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ninja + ctestCheckHook ]; patches = [ @@ -41,6 +43,10 @@ stdenv.mkDerivation (finalAttrs: { }) ]; + doCheck = true; + + dontUseNinjaCheck = true; + # Fix build with modern gcc # In member function 'void std::__atomic_base<_IntTp>::store(__int_type, std::memory_order) [with _ITp = bool]', NIX_CFLAGS_COMPILE = @@ -61,6 +67,12 @@ stdenv.mkDerivation (finalAttrs: { stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17" ) "--undefined-version"; + # The memory leak test fails on static Linux, despite passing on + # dynamic Musl. + disabledTests = lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isStatic) [ + "test_arena_constraints" + ]; + # Disable failing test on musl # test/conformance/conformance_resumable_tasks.cpp:37:24: error: ‘suspend’ is not a member of ‘tbb::v1::task’; did you mean ‘tbb::detail::r1::suspend’? postPatch = lib.optionalString stdenv.hostPlatform.isMusl ''