diff --git a/pkgs/by-name/fo/folly/char_traits.patch b/pkgs/by-name/fo/folly/char_traits.patch new file mode 100644 index 000000000000..f82726384ac9 --- /dev/null +++ b/pkgs/by-name/fo/folly/char_traits.patch @@ -0,0 +1,29 @@ +diff --git a/folly/memory/test/UninitializedMemoryHacksTest.cpp b/folly/memory/test/UninitializedMemoryHacksTest.cpp +index 38e27c3..17424af 100644 +--- a/folly/memory/test/UninitializedMemoryHacksTest.cpp ++++ b/folly/memory/test/UninitializedMemoryHacksTest.cpp +@@ -283,7 +283,7 @@ TEST(UninitializedMemoryHacks, simpleStringWChar) { + } + + TEST(UninitializedMemoryHacks, simpleStringSChar) { +- testSimple>(); ++ testSimple>(); + } + + TEST(UninitializedMemoryHacks, simpleVectorChar) { +@@ -307,7 +307,7 @@ TEST(UninitializedMemoryHacks, randomStringWChar) { + } + + TEST(UninitializedMemoryHacks, randomStringSChar) { +- testRandom>(); ++ testRandom>(); + } + + TEST(UninitializedMemoryHacks, randomVectorChar) { +@@ -323,5 +323,5 @@ TEST(UninitializedMemoryHacks, randomVectorInt) { + } + + // We are deliberately putting this at the bottom to make sure it can follow use +-FOLLY_DECLARE_STRING_RESIZE_WITHOUT_INIT(signed char) ++//FOLLY_DECLARE_STRING_RESIZE_WITHOUT_INIT(char) + FOLLY_DECLARE_VECTOR_RESIZE_WITHOUT_INIT(int) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index f7fa09d254db..52a411ca77f7 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "folly"; - version = "2024.11.18.00"; + version = "2024.12.09.00"; # split outputs to reduce downstream closure sizes outputs = [ @@ -53,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebook"; repo = "folly"; rev = "refs/tags/v${finalAttrs.version}"; - hash = "sha256-CX4YzNs64yeq/nDDaYfD5y8GKrxBueW4y275edPoS0c="; + hash = "sha256-uX63Zg0Dy5kHdDFYAX7kbVTXUyrWNsdz867VJ0191YI="; }; nativeBuildInputs = [ @@ -124,6 +124,12 @@ stdenv.mkDerivation (finalAttrs: { doCheck = true; + patches = [ + # The base template for std::char_traits has been removed in LLVM 19 + # https://releases.llvm.org/19.1.0/projects/libcxx/docs/ReleaseNotes.html + ./char_traits.patch + ]; + # https://github.com/NixOS/nixpkgs/issues/144170 postPatch = '' substituteInPlace CMake/libfolly.pc.in \ @@ -169,6 +175,8 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ "buffered_atomic_test.BufferedAtomic.singleThreadUnguardedAccess" + "io_async_notification_queue_test.NotificationQueueTest.UseAfterFork" + "container_heap_vector_types_test.HeapVectorTypes.SimpleSetTes" ] ) )