From 16aa3ba4c9dedf43e8c5aea383853150db393ad3 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 11 Sep 2025 16:48:51 +0100 Subject: [PATCH 01/15] folly: use `ctestCheckHook` --- pkgs/by-name/fo/folly/package.nix | 79 +++++++++++++++---------------- 1 file changed, 37 insertions(+), 42 deletions(-) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index d9ba29def720..4673ffff784f 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -26,6 +26,8 @@ fmt, jemalloc, + ctestCheckHook, + gtest, follyMobile ? false, @@ -87,6 +89,10 @@ stdenv.mkDerivation (finalAttrs: { jemalloc ]; + nativeCheckInputs = [ + ctestCheckHook + ]; + checkInputs = [ gtest ]; @@ -121,6 +127,8 @@ stdenv.mkDerivation (finalAttrs: { || stdenv.hostPlatform.isPower64 || stdenv.hostPlatform.isRiscV64; + dontUseNinjaCheck = 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 @@ -145,49 +153,36 @@ stdenv.mkDerivation (finalAttrs: { '@CMAKE_INSTALL_FULL_INCLUDEDIR@' ''; - # TODO: Figure out why `GTEST_FILTER` doesn’t work to skip these. - checkPhase = '' - runHook preCheck + disabledtests = [ + "concurrency_concurrent_hash_map_test.*/ConcurrentHashMapTest/*.StressTestReclamation" + "io_async_ssl_session_test.SSLSessionTest.BasicTest" + "io_async_ssl_session_test.SSLSessionTest.NullSessionResumptionTest" + "singleton_thread_local_test.SingletonThreadLocalDeathTest.Overload" - ctest -j $NIX_BUILD_CORES --output-on-failure --exclude-regex ${ - lib.escapeShellArg ( - lib.concatMapStringsSep "|" (test: "^${lib.escapeRegex test}$") ( - [ - "concurrency_concurrent_hash_map_test.*/ConcurrentHashMapTest/*.StressTestReclamation" - "io_async_ssl_session_test.SSLSessionTest.BasicTest" - "io_async_ssl_session_test.SSLSessionTest.NullSessionResumptionTest" - "singleton_thread_local_test.SingletonThreadLocalDeathTest.Overload" - - # very strict timing constraints, will fail under load - "io_async_hh_wheel_timer_test.HHWheelTimerTest.CancelTimeout" - "io_async_hh_wheel_timer_test.HHWheelTimerTest.DefaultTimeout" - "io_async_hh_wheel_timer_test.HHWheelTimerTest.DeleteWheelInTimeout" - "io_async_hh_wheel_timer_test.HHWheelTimerTest.DestroyTimeoutSet" - "io_async_hh_wheel_timer_test.HHWheelTimerTest.FireOnce" - "io_async_hh_wheel_timer_test.HHWheelTimerTest.GetTimeRemaining" - "io_async_hh_wheel_timer_test.HHWheelTimerTest.IntrusivePtr" - "io_async_hh_wheel_timer_test.HHWheelTimerTest.Level1" - "io_async_hh_wheel_timer_test.HHWheelTimerTest.NegativeTimeout" - "io_async_hh_wheel_timer_test.HHWheelTimerTest.ReschedTest" - "io_async_hh_wheel_timer_test.HHWheelTimerTest.SlowFast" - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - "concurrency_cache_locality_test.CacheLocality.BenchmarkSysfs" - "concurrency_cache_locality_test.CacheLocality.LinuxActual" - "futures_future_test.Future.NoThrow" - "futures_retrying_test.RetryingTest.largeRetries" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "buffered_atomic_test.BufferedAtomic.singleThreadUnguardedAccess" - "io_async_notification_queue_test.NotificationQueueTest.UseAfterFork" - "container_heap_vector_types_test.HeapVectorTypes.SimpleSetTes" - ] - ) - ) - } - - runHook postCheck - ''; + # very strict timing constraints, will fail under load + "io_async_hh_wheel_timer_test.HHWheelTimerTest.CancelTimeout" + "io_async_hh_wheel_timer_test.HHWheelTimerTest.DefaultTimeout" + "io_async_hh_wheel_timer_test.HHWheelTimerTest.DeleteWheelInTimeout" + "io_async_hh_wheel_timer_test.HHWheelTimerTest.DestroyTimeoutSet" + "io_async_hh_wheel_timer_test.HHWheelTimerTest.FireOnce" + "io_async_hh_wheel_timer_test.HHWheelTimerTest.GetTimeRemaining" + "io_async_hh_wheel_timer_test.HHWheelTimerTest.IntrusivePtr" + "io_async_hh_wheel_timer_test.HHWheelTimerTest.Level1" + "io_async_hh_wheel_timer_test.HHWheelTimerTest.NegativeTimeout" + "io_async_hh_wheel_timer_test.HHWheelTimerTest.ReschedTest" + "io_async_hh_wheel_timer_test.HHWheelTimerTest.SlowFast" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "concurrency_cache_locality_test.CacheLocality.BenchmarkSysfs" + "concurrency_cache_locality_test.CacheLocality.LinuxActual" + "futures_future_test.Future.NoThrow" + "futures_retrying_test.RetryingTest.largeRetries" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "buffered_atomic_test.BufferedAtomic.singleThreadUnguardedAccess" + "io_async_notification_queue_test.NotificationQueueTest.UseAfterFork" + "container_heap_vector_types_test.HeapVectorTypes.SimpleSetTes" + ]; passthru = { inherit boost fmt; From 4ee6a414d294f0cbd6e609da86fab6583ad2bb96 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 11 Sep 2025 15:32:10 +0100 Subject: [PATCH 02/15] folly: 2025.04.21.00 -> 2025.09.15.00 Diff: https://github.com/facebook/folly/compare/v2025.04.21.00...v2025.09.15.00 --- .../fo/folly/fix-__type_pack_element.patch | 34 ++++++++++++ .../fo/folly/fix-stdexcept-include.patch | 22 ++++++++ pkgs/by-name/fo/folly/package.nix | 54 ++++++++++++++----- 3 files changed, 96 insertions(+), 14 deletions(-) create mode 100644 pkgs/by-name/fo/folly/fix-__type_pack_element.patch create mode 100644 pkgs/by-name/fo/folly/fix-stdexcept-include.patch diff --git a/pkgs/by-name/fo/folly/fix-__type_pack_element.patch b/pkgs/by-name/fo/folly/fix-__type_pack_element.patch new file mode 100644 index 000000000000..8a43c6805b2a --- /dev/null +++ b/pkgs/by-name/fo/folly/fix-__type_pack_element.patch @@ -0,0 +1,34 @@ +From acccee8947977178f36d117cd9d3240cbdb5f018 Mon Sep 17 00:00:00 2001 +From: ihb2032 <1355790728@qq.com> +Date: Wed, 10 Sep 2025 17:31:41 +0800 +Subject: [PATCH] fix(folly): Replace `__type_pack_element` in + `ForeachTest.cpp` to support GCC 14 + +The use of the `__type_pack_element` compiler builtin directly in function signatures in `folly/container/test/ForeachTest.cpp` causes a build failure with GCC 14. This is because the builtin is not intended for use in contexts that affect name mangling. + +This commit resolves the issue by replacing the direct usage of `__type_pack_element_t` with `std::tuple_element_t`. This is a standards-compliant library trait that provides the same functionality and is safe to use in function signatures. + +This change ensures that `ForeachTest` continues to compile successfully with newer versions of GCC, maintaining compiler compatibility. + +Signed-off-by: lyd1992 + +Signed-off-by: ihb2032 <1355790728@qq.com> +--- + folly/container/test/ForeachTest.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/folly/container/test/ForeachTest.cpp b/folly/container/test/ForeachTest.cpp +index c055f26effe..3adec1a7371 100644 +--- a/folly/container/test/ForeachTest.cpp ++++ b/folly/container/test/ForeachTest.cpp +@@ -314,8 +314,8 @@ TEST(ForEach, FetchTestPreferIterator) { + template + struct LargeTuple {}; + template +-type_pack_element_t& get(LargeTuple&) { +- static type_pack_element_t elem; ++std::tuple_element_t>& get(LargeTuple&) { ++ static std::tuple_element_t> elem; + return elem; + } + namespace std { diff --git a/pkgs/by-name/fo/folly/fix-stdexcept-include.patch b/pkgs/by-name/fo/folly/fix-stdexcept-include.patch new file mode 100644 index 000000000000..c13632abf599 --- /dev/null +++ b/pkgs/by-name/fo/folly/fix-stdexcept-include.patch @@ -0,0 +1,22 @@ +From dc06cc3162afb148c19cd0931d8fe489d639217a Mon Sep 17 00:00:00 2001 +From: Uilian Ries +Date: Tue, 9 Sep 2025 16:48:26 +0200 +Subject: [PATCH] Add missing header for std::runtime_error + +Signed-off-by: Uilian Ries +--- + folly/hash/Checksum.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/folly/hash/Checksum.cpp b/folly/hash/Checksum.cpp +index 1d42d6a6e5f..aeafdb20b1b 100644 +--- a/folly/hash/Checksum.cpp ++++ b/folly/hash/Checksum.cpp +@@ -17,6 +17,7 @@ + #include + + #include ++#include + + #include + diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index 4673ffff784f..48a04df5ce1f 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -21,10 +21,10 @@ zstd, libiberty, libunwind, + darwinMinVersionHook, boost, fmt, - jemalloc, ctestCheckHook, @@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "folly"; - version = "2025.04.21.00"; + version = "2025.09.15.00"; # split outputs to reduce downstream closure sizes outputs = [ @@ -53,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebook"; repo = "folly"; tag = "v${finalAttrs.version}"; - hash = "sha256-P2saSFVRBWt5xjAWlKmcPJT9MFV9CXFmA18dIDCO84o="; + hash = "sha256-//gx081nMFXAcUgkHQToiFHhECfLW22Fl0eXEsObxUs="; }; nativeBuildInputs = [ @@ -77,16 +77,15 @@ stdenv.mkDerivation (finalAttrs: { zstd libiberty libunwind + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + (darwinMinVersionHook "13.3") ]; propagatedBuildInputs = [ # `folly-config.cmake` pulls these in. boost fmt - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - # jemalloc headers are required in include/folly/portability/Malloc.h - jemalloc ]; nativeCheckInputs = [ @@ -140,6 +139,30 @@ stdenv.mkDerivation (finalAttrs: { url = "https://aur.archlinux.org/cgit/aur.git/plain/fix-cmake-find-glog.patch?h=folly&id=4b68f47338d4b20111e3ffa1291433120bb899f0"; hash = "sha256-QGNpS5UNEm+0PW9+agwUVILzpK9t020KXDGyP03OAwE="; }) + + # Fix an upstream regression with libstdc++. + # + # See: + # + # * + # * + # * + # * + ./fix-stdexcept-include.patch + + # Fix a GCC‐incompatible use of a private trait. + # + # Per Folly’s own documentation: + # + # /// Under gcc, the builtin is available but does not mangle. Therefore, this + # /// trait must not be used anywhere it might be subject to mangling, such as in + # /// a return-type expression. + # + # See: + # + # * + # * + ./fix-__type_pack_element.patch ]; # https://github.com/NixOS/nixpkgs/issues/144170 @@ -153,8 +176,7 @@ stdenv.mkDerivation (finalAttrs: { '@CMAKE_INSTALL_FULL_INCLUDEDIR@' ''; - disabledtests = [ - "concurrency_concurrent_hash_map_test.*/ConcurrentHashMapTest/*.StressTestReclamation" + disabledTests = [ "io_async_ssl_session_test.SSLSessionTest.BasicTest" "io_async_ssl_session_test.SSLSessionTest.NullSessionResumptionTest" "singleton_thread_local_test.SingletonThreadLocalDeathTest.Overload" @@ -171,17 +193,21 @@ stdenv.mkDerivation (finalAttrs: { "io_async_hh_wheel_timer_test.HHWheelTimerTest.NegativeTimeout" "io_async_hh_wheel_timer_test.HHWheelTimerTest.ReschedTest" "io_async_hh_wheel_timer_test.HHWheelTimerTest.SlowFast" + + # In file included from /build/source/folly/lang/test/BitsTest.cpp:17: + # In member function 'constexpr bool folly::get_bit_at_fn::operator()(const Uint*, std::size_t) const [with Uint = short unsigned int]', + # inlined from 'void folly::BitsAllUintsTest_GetBitAtLE_Test::TestBody() [with gtest_TypeParam_ = short unsigned int]' at /build/source/folly/lang/test/BitsTest.cpp:640:5: + # /build/source/folly/lang/Bits.h:494:10: warning: 'in' is used uninitialized [-Wuninitialized] + "lang_bits_test.BitsAllUintsTest/*.GetBitAtLE" ] ++ lib.optionals stdenv.hostPlatform.isLinux [ "concurrency_cache_locality_test.CacheLocality.BenchmarkSysfs" "concurrency_cache_locality_test.CacheLocality.LinuxActual" - "futures_future_test.Future.NoThrow" - "futures_retrying_test.RetryingTest.largeRetries" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "buffered_atomic_test.BufferedAtomic.singleThreadUnguardedAccess" - "io_async_notification_queue_test.NotificationQueueTest.UseAfterFork" - "container_heap_vector_types_test.HeapVectorTypes.SimpleSetTes" + # No idea why these fail. + "logging_xlog_test.XlogTest.perFileCategoryHandling" + "futures_future_test.Future.makeFutureFromMoveOnlyException" ]; passthru = { From 84d47ed869dde53a3631375ab1e4dda9d00c6942 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 13 Sep 2025 19:12:26 +0100 Subject: [PATCH 03/15] folly: add patch to install the test certificates --- pkgs/by-name/fo/folly/install-test-certs.patch | 18 ++++++++++++++++++ pkgs/by-name/fo/folly/package.nix | 5 +++++ 2 files changed, 23 insertions(+) create mode 100644 pkgs/by-name/fo/folly/install-test-certs.patch diff --git a/pkgs/by-name/fo/folly/install-test-certs.patch b/pkgs/by-name/fo/folly/install-test-certs.patch new file mode 100644 index 000000000000..59b981d2dbd8 --- /dev/null +++ b/pkgs/by-name/fo/folly/install-test-certs.patch @@ -0,0 +1,18 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ecc11a7961..67a2b82b4b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -489,8 +489,12 @@ + ${FOLLY_DIR}/test/DeterministicSchedule.cpp + ${FOLLY_DIR}/json/JsonTestUtil.cpp + ) ++auto_sources(test_certs "*.pem" "${FOLLY_DIR}/io/async/test/certs") ++install(FILES ${test_certs} ++ DESTINATION "${LIB_INSTALL_DIR}/folly/test-certs" ++) + target_compile_definitions(folly_test_util PUBLIC +- FOLLY_CERTS_DIR="${FOLLY_DIR}/io/async/test/certs" ++ FOLLY_CERTS_DIR="${LIB_INSTALL_DIR}/folly/test-certs" + ) + set_property(TARGET folly_test_util PROPERTY VERSION ${PACKAGE_VERSION}) + target_link_libraries(folly_test_util diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index 48a04df5ce1f..cce2c4aee1c9 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -129,6 +129,11 @@ stdenv.mkDerivation (finalAttrs: { dontUseNinjaCheck = true; patches = [ + # Install the certificate files used by `libfolly_test_util` rather + # than leaving a dangling reference to the build directory in the + # `dev` output’s CMake files. + ./install-test-certs.patch + # 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 From 279045b5d45c43875af406ce2b01d04b6ee372f1 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 11 Sep 2025 15:32:13 +0100 Subject: [PATCH 04/15] fizz: 2025.04.21.00 -> 2025.09.15.00 Diff: https://github.com/facebookincubator/fizz/compare/v2025.04.21.00...v2025.09.15.00 Changelog: https://github.com/facebookincubator/fizz/releases/tag/v2025.09.15.00 --- pkgs/by-name/fi/fizz/package.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index b100518c0e0d..b56562148195 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -13,6 +13,7 @@ zstd, gflags, libevent, + darwinMinVersionHook, folly, libsodium, @@ -25,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "fizz"; - version = "2025.04.21.00"; + version = "2025.09.15.00"; outputs = [ "bin" @@ -37,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebookincubator"; repo = "fizz"; tag = "v${finalAttrs.version}"; - hash = "sha256-khaUbxcD8+9zznH0DE/BpweZeDKafTnr4EqPbmOpckU="; + hash = "sha256-8j8Nt8XCbMGui7bELhvP+o8E2bqYobkXLhvZVkzCMzU="; }; patches = [ @@ -56,6 +57,9 @@ stdenv.mkDerivation (finalAttrs: { zstd gflags libevent + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + (darwinMinVersionHook "13.3") ]; propagatedBuildInputs = [ From e18dd731ffa02b6e2594a3dfe64d48c171f77e7e Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 11 Sep 2025 17:43:20 +0100 Subject: [PATCH 05/15] mvfst: use `ctestCheckHook` --- pkgs/by-name/mv/mvfst/package.nix | 53 ++++++++++++++----------------- 1 file changed, 24 insertions(+), 29 deletions(-) diff --git a/pkgs/by-name/mv/mvfst/package.nix b/pkgs/by-name/mv/mvfst/package.nix index b5e234128340..92159df9499f 100644 --- a/pkgs/by-name/mv/mvfst/package.nix +++ b/pkgs/by-name/mv/mvfst/package.nix @@ -13,6 +13,8 @@ fizz, + ctestCheckHook, + gtest, nix-update-script, @@ -54,6 +56,10 @@ stdenv.mkDerivation (finalAttrs: { fizz ]; + nativeCheckInputs = [ + ctestCheckHook + ]; + checkInputs = [ gtest ]; @@ -84,41 +90,30 @@ stdenv.mkDerivation (finalAttrs: { doCheck = true; + dontUseNinjaCheck = true; + postPatch = '' # Make sure the libraries the `tperf` binary uses are installed. printf 'install(TARGETS mvfst_test_utils)\n' >> quic/common/test/CMakeLists.txt printf 'install(TARGETS mvfst_dsr_backend)\n' >> quic/dsr/CMakeLists.txt ''; - checkPhase = '' - runHook preCheck - - ctest -j $NIX_BUILD_CORES --output-on-failure ${ - lib.optionalString stdenv.hostPlatform.isLinux ( - lib.escapeShellArgs [ - "--exclude-regex" - (lib.concatMapStringsSep "|" (test: "^${lib.escapeRegex test}$") [ - "*/QuicClientTransportIntegrationTest.NetworkTest/*" - "*/QuicClientTransportIntegrationTest.FlowControlLimitedTest/*" - "*/QuicClientTransportIntegrationTest.NetworkTestConnected/*" - "*/QuicClientTransportIntegrationTest.SetTransportSettingsAfterStart/*" - "*/QuicClientTransportIntegrationTest.TestZeroRttSuccess/*" - "*/QuicClientTransportIntegrationTest.ZeroRttRetryPacketTest/*" - "*/QuicClientTransportIntegrationTest.NewTokenReceived/*" - "*/QuicClientTransportIntegrationTest.UseNewTokenThenReceiveRetryToken/*" - "*/QuicClientTransportIntegrationTest.TestZeroRttRejection/*" - "*/QuicClientTransportIntegrationTest.TestZeroRttNotAttempted/*" - "*/QuicClientTransportIntegrationTest.TestZeroRttInvalidAppParams/*" - "*/QuicClientTransportIntegrationTest.ChangeEventBase/*" - "*/QuicClientTransportIntegrationTest.ResetClient/*" - "*/QuicClientTransportIntegrationTest.TestStatelessResetToken/*" - ]) - ] - ) - } - - runHook postCheck - ''; + disabledTests = [ + "*/QuicClientTransportIntegrationTest.NetworkTest/*" + "*/QuicClientTransportIntegrationTest.FlowControlLimitedTest/*" + "*/QuicClientTransportIntegrationTest.NetworkTestConnected/*" + "*/QuicClientTransportIntegrationTest.SetTransportSettingsAfterStart/*" + "*/QuicClientTransportIntegrationTest.TestZeroRttSuccess/*" + "*/QuicClientTransportIntegrationTest.ZeroRttRetryPacketTest/*" + "*/QuicClientTransportIntegrationTest.NewTokenReceived/*" + "*/QuicClientTransportIntegrationTest.UseNewTokenThenReceiveRetryToken/*" + "*/QuicClientTransportIntegrationTest.TestZeroRttRejection/*" + "*/QuicClientTransportIntegrationTest.TestZeroRttNotAttempted/*" + "*/QuicClientTransportIntegrationTest.TestZeroRttInvalidAppParams/*" + "*/QuicClientTransportIntegrationTest.ChangeEventBase/*" + "*/QuicClientTransportIntegrationTest.ResetClient/*" + "*/QuicClientTransportIntegrationTest.TestStatelessResetToken/*" + ]; passthru.updateScript = nix-update-script { }; From 751e859ad6a93751a896fd43723800b974b1bd83 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 11 Sep 2025 15:32:16 +0100 Subject: [PATCH 06/15] mvfst: 2025.04.21.00 -> 2025.09.15.00 Diff: https://github.com/facebook/mvfst/compare/v2025.04.21.00...v2025.09.15.00 --- pkgs/by-name/mv/mvfst/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/mv/mvfst/package.nix b/pkgs/by-name/mv/mvfst/package.nix index 92159df9499f..01a9af81b1c8 100644 --- a/pkgs/by-name/mv/mvfst/package.nix +++ b/pkgs/by-name/mv/mvfst/package.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "mvfst"; - version = "2025.04.21.00"; + version = "2025.09.15.00"; outputs = [ "bin" @@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebook"; repo = "mvfst"; tag = "v${finalAttrs.version}"; - hash = "sha256-/84smnZ2L1zDmkO1w9VQzVhXKt/S5azQr7Xpr8/dOA4="; + hash = "sha256-ZgzqkR72xtO5VVd2cyMM3vSsUWdW6HEvu9T1sM+cPi8="; }; patches = [ From 92f6eb243835683154397fccf2bd890ee34d350f Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 11 Sep 2025 17:43:20 +0100 Subject: [PATCH 07/15] wangle: use `ctestCheckHook` --- pkgs/by-name/wa/wangle/package.nix | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pkgs/by-name/wa/wangle/package.nix b/pkgs/by-name/wa/wangle/package.nix index 7f4aacb50d79..00eb3df88167 100644 --- a/pkgs/by-name/wa/wangle/package.nix +++ b/pkgs/by-name/wa/wangle/package.nix @@ -15,6 +15,8 @@ libevent, double-conversion, + ctestCheckHook, + gtest, nix-update-script, @@ -55,6 +57,10 @@ stdenv.mkDerivation (finalAttrs: { double-conversion ]; + nativeCheckInputs = [ + ctestCheckHook + ]; + checkInputs = [ gtest ]; @@ -90,22 +96,16 @@ stdenv.mkDerivation (finalAttrs: { doCheck = true; - checkPhase = '' - runHook preCheck + dontUseNinjaCheck = true; - ctest -j $NIX_BUILD_CORES --output-on-failure ${ - # Deterministic glibc abort 🫠 - # SSLContextManagerTest uses 15+ GB of RAM - lib.optionalString stdenv.hostPlatform.isLinux ( - lib.escapeShellArgs [ - "--exclude-regex" - "^(BootstrapTest|BroadcastPoolTest|SSLContextManagerTest)$" - ] - ) - } + disabledTests = [ + # Deterministic glibc abort 🫠 + "BootstrapTest" + "BroadcastPoolTest" - runHook postCheck - ''; + # SSLContextManagerTest uses 15+ GB of RAM + "SSLContextManagerTest" + ]; passthru.updateScript = nix-update-script { }; From feaca716ad47c03591575ccd6aa26c2883eca21d Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 11 Sep 2025 15:32:19 +0100 Subject: [PATCH 08/15] wangle: 2025.04.21.00 -> 2025.09.15.00 Diff: https://github.com/facebook/wangle/compare/v2025.04.21.00...v2025.09.15.00 --- pkgs/by-name/wa/wangle/package.nix | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/pkgs/by-name/wa/wangle/package.nix b/pkgs/by-name/wa/wangle/package.nix index 00eb3df88167..56928c88ffbd 100644 --- a/pkgs/by-name/wa/wangle/package.nix +++ b/pkgs/by-name/wa/wangle/package.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "wangle"; - version = "2025.04.21.00"; + version = "2025.09.15.00"; outputs = [ "out" @@ -35,7 +35,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebook"; repo = "wangle"; tag = "v${finalAttrs.version}"; - hash = "sha256-t3b+R2tb4VTsjDL9Jzjcaehs5k+BLNLilm3+nXxyjj0="; + hash = "sha256-S2L3ifQTwyidz3x5pPrVEGEJXvM1czqTRXYsYUqIeRY="; }; patches = [ @@ -77,21 +77,6 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeFeature "CMAKE_INSTALL_DIR" "${placeholder "dev"}/lib/cmake/wangle") ]; - env.GTEST_FILTER = - "-" - + lib.concatStringsSep ":" ( - [ - # these depend on example pem files from the folly source tree (?) - "SSLContextManagerTest.TestSingleClientCAFileSet" - "SSLContextManagerTest.TestMultipleClientCAsSet" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # flaky - "BroadcastPoolTest.ThreadLocalPool" - "Bootstrap.UDPClientServerTest" - ] - ); - __darwinAllowLocalNetworking = true; doCheck = true; From 91600d608128bf48155c355ef9da0859a805a884 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 11 Sep 2025 15:32:30 +0100 Subject: [PATCH 09/15] fbthrift: 2025.04.21.00 -> 2025.09.15.00 Diff: https://github.com/facebook/fbthrift/compare/v2025.04.21.00...v2025.09.15.00 --- pkgs/by-name/fb/fbthrift/glog-0.7.patch | 24 +++++++-------- pkgs/by-name/fb/fbthrift/package.nix | 41 +++++++++++++++++-------- 2 files changed, 41 insertions(+), 24 deletions(-) diff --git a/pkgs/by-name/fb/fbthrift/glog-0.7.patch b/pkgs/by-name/fb/fbthrift/glog-0.7.patch index 23cff743614c..482815161012 100644 --- a/pkgs/by-name/fb/fbthrift/glog-0.7.patch +++ b/pkgs/by-name/fb/fbthrift/glog-0.7.patch @@ -1,17 +1,17 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index c6b2b2a810..1813c88e42 100644 +index 492bcccd9a..9c907a87a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -106,7 +106,7 @@ endif () +@@ -108,7 +108,7 @@ # Find required dependencies for thrift/lib if (THRIFT_LIB_ONLY OR build_all) find_package(Gflags REQUIRED) - find_package(Glog REQUIRED) + find_package(Glog CONFIG REQUIRED) - find_package(folly CONFIG REQUIRED) find_package(fizz CONFIG REQUIRED) find_package(wangle CONFIG REQUIRED) -@@ -119,7 +119,6 @@ if (THRIFT_LIB_ONLY OR build_all) + find_package(ZLIB REQUIRED) +@@ -120,7 +120,6 @@ find_package(Threads) include_directories( ${LIBGFLAGS_INCLUDE_DIR} @@ -23,7 +23,7 @@ diff --git a/thrift/example/cpp2/CMakeLists.txt b/thrift/example/cpp2/CMakeLists index afa28dad61..318860b3d6 100644 --- a/thrift/example/cpp2/CMakeLists.txt +++ b/thrift/example/cpp2/CMakeLists.txt -@@ -28,7 +28,7 @@ target_link_libraries( +@@ -28,7 +28,7 @@ thriftcpp2 chatroom-cpp2 ${LIBGFLAGS_LIBRARY} @@ -33,10 +33,10 @@ index afa28dad61..318860b3d6 100644 install( TARGETS example_server diff --git a/thrift/lib/cpp/CMakeLists.txt b/thrift/lib/cpp/CMakeLists.txt -index 6461588a86..8b6ed1b030 100644 +index 2c65e1f0a8..1e80060100 100644 --- a/thrift/lib/cpp/CMakeLists.txt +++ b/thrift/lib/cpp/CMakeLists.txt -@@ -45,7 +45,7 @@ target_link_libraries( +@@ -43,7 +43,7 @@ PUBLIC Folly::folly ${LIBGFLAGS_LIBRARY} @@ -45,7 +45,7 @@ index 6461588a86..8b6ed1b030 100644 ) add_library( -@@ -121,7 +121,7 @@ target_link_libraries( +@@ -121,7 +121,7 @@ Boost::boost Folly::folly wangle::wangle @@ -54,7 +54,7 @@ index 6461588a86..8b6ed1b030 100644 ${OPENSSL_LIBRARIES} ) -@@ -137,7 +137,7 @@ target_link_libraries( +@@ -137,7 +137,7 @@ thriftprotocol transport Folly::folly @@ -64,10 +64,10 @@ index 6461588a86..8b6ed1b030 100644 set(THRIFT1_HEADER_DIRS diff --git a/thrift/lib/cpp2/CMakeLists.txt b/thrift/lib/cpp2/CMakeLists.txt -index f941688ab0..b3609bbc62 100644 +index 03216f5d6f..5f31fc0c64 100644 --- a/thrift/lib/cpp2/CMakeLists.txt +++ b/thrift/lib/cpp2/CMakeLists.txt -@@ -75,7 +75,7 @@ target_link_libraries( +@@ -75,7 +75,7 @@ Folly::folly thriftmetadata thriftprotocol @@ -76,7 +76,7 @@ index f941688ab0..b3609bbc62 100644 ${LIBGFLAGS_LIBRARY} ) -@@ -206,7 +206,7 @@ target_link_libraries( +@@ -207,7 +207,7 @@ thrift Folly::folly wangle::wangle diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index 8d6ab8df0fb0..13bd7fe6b278 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "fbthrift"; - version = "2025.04.21.00"; + version = "2025.09.15.00"; outputs = [ # Trying to split this up further into `bin`, `out`, and `dev` @@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebook"; repo = "fbthrift"; tag = "v${finalAttrs.version}"; - hash = "sha256-W86jBqq0wC8ZYcE7MQ76rV3axPf7efXieEot6ahonUI="; + hash = "sha256-4u3SbbmSgtvnW3/VH3CfQrEddAlkQuUl9dmnGGKL4mE="; }; patches = [ @@ -48,16 +48,6 @@ stdenv.mkDerivation (finalAttrs: { ./remove-cmake-install-rpath.patch ./glog-0.7.patch - - # Backport upstream build system fixes. Remove on next update. - (fetchpatch { - url = "https://github.com/facebook/fbthrift/commit/638384afb83e5fae29a6483d20f9443b2342ca0b.patch"; - hash = "sha256-q0VgaQtwAEgDHZ6btOLSnKfkP2cXstFPxPNdX1wcdCg="; - }) - (fetchpatch { - url = "https://github.com/facebook/fbthrift/commit/350955beef40abec1e9d13112c9d2b7f95c29022.patch"; - hash = "sha256-SaCZ0iczj8He2wujWN08QpizsTsK6OhreroOHY9f0BA="; - }) ]; nativeBuildInputs = [ @@ -101,6 +91,33 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeFeature "CMAKE_SHARED_LINKER_FLAGS" "-Wl,-undefined,dynamic_lookup") ]; + # Fix a typo introduced by the following commit that causes hundreds + # of pointless rebuilds when installing: + # + postPatch = '' + substituteInPlace ThriftLibrary.cmake \ + --replace-fail .tcch .tcc + ''; + + # Copied from Homebrew; fixes the following build error: + # + # [ERROR:/nix/var/nix/b/5f3kn8spg6j0z0xlags8va6sq7/source/thrift/lib/thrift/RpcMetadata.thrift:1] unordered_map::at: key not found + # + # See: + # + # * + # * + # * + # + # I don’t know why we didn’t need this before the bump to 202 + # to 2025.09.08.00 when we’d been on LLVM 19 for an entire release + # cycle already, or why we’re getting different errors to those + # reports, or why this fixes the build anyway. Most of what I do to + # maintain these packages is copy compilation flags from Homebrew + # that scare me. I don’t have very much fun with these libraries, to + # be honest with you. + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-fno-assume-unique-vtables"; + passthru.updateScript = nix-update-script { }; meta = { From e1846b113ac1e40e7534890ef4619bb0b73dcfc5 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 13 Sep 2025 18:45:12 +0100 Subject: [PATCH 10/15] fbthrift: add Thrift compiler patch to scrub build directory references Part of my Darwin reproducibility work. --- pkgs/by-name/fb/fbthrift/package.nix | 4 +++ .../scrub-build-directory-from-output.patch | 36 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 pkgs/by-name/fb/fbthrift/scrub-build-directory-from-output.patch diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index 13bd7fe6b278..71e759c7def1 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -43,6 +43,10 @@ stdenv.mkDerivation (finalAttrs: { }; patches = [ + # Map `$NIX_BUILD_TOP` to `/build` in the Thrift compiler output to + # avoid reproducibility issues on Darwin. + ./scrub-build-directory-from-output.patch + # Remove a line that breaks the build due to the CMake classic of # incorrect path concatenation. ./remove-cmake-install-rpath.patch diff --git a/pkgs/by-name/fb/fbthrift/scrub-build-directory-from-output.patch b/pkgs/by-name/fb/fbthrift/scrub-build-directory-from-output.patch new file mode 100644 index 000000000000..9fdfc77f2ead --- /dev/null +++ b/pkgs/by-name/fb/fbthrift/scrub-build-directory-from-output.patch @@ -0,0 +1,36 @@ +diff --git a/thrift/compiler/generate/t_mstch_cpp2_generator.cc b/thrift/compiler/generate/t_mstch_cpp2_generator.cc +index d232df5158..96d15efbda 100644 +--- a/thrift/compiler/generate/t_mstch_cpp2_generator.cc ++++ b/thrift/compiler/generate/t_mstch_cpp2_generator.cc +@@ -1116,6 +1116,13 @@ + mstch::node autogen_path() { + std::string path = service_->program()->path(); + std::replace(path.begin(), path.end(), '\\', '/'); ++ // Ensure output reproducibility for Nix builds. ++ if (auto nix_build_top = std::getenv("NIX_BUILD_TOP")) { ++ auto prefix = std::string(nix_build_top) + "/"; ++ if (path.starts_with(prefix)) { ++ path.replace(0, prefix.length(), "/build/"); ++ } ++ } + return path; + } + mstch::node cpp_includes() { +diff --git a/thrift/compiler/generate/t_whisker_generator.cc b/thrift/compiler/generate/t_whisker_generator.cc +index 99a6ac14af..fa91a05247 100644 +--- a/thrift/compiler/generate/t_whisker_generator.cc ++++ b/thrift/compiler/generate/t_whisker_generator.cc +@@ -572,6 +572,13 @@ + // use posix path separators, even on windows, for autogen comment + // to avoid spurious fixture regen diffs + std::replace(path.begin(), path.end(), '\\', '/'); ++ // Ensure output reproducibility for Nix builds. ++ if (auto nix_build_top = std::getenv("NIX_BUILD_TOP")) { ++ auto prefix = std::string(nix_build_top) + "/"; ++ if (path.starts_with(prefix)) { ++ path.replace(0, prefix.length(), "/build/"); ++ } ++ } + return path; + }); + def.property("namespaces", [&](const t_program& self) -> map::ptr { From a7aa1f29776e8720219090c7b5540217cd0612e2 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 11 Sep 2025 15:32:34 +0100 Subject: [PATCH 11/15] fb303: 2025.04.21.00 -> 2025.09.15.00 Diff: https://github.com/facebook/fb303/compare/v2025.04.21.00...v2025.09.15.00 --- pkgs/by-name/fb/fb303/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fb/fb303/package.nix b/pkgs/by-name/fb/fb303/package.nix index 834f700df656..6c5017bde61b 100644 --- a/pkgs/by-name/fb/fb303/package.nix +++ b/pkgs/by-name/fb/fb303/package.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "fb303"; - version = "2025.04.21.00"; + version = "2025.09.15.00"; outputs = [ "out" @@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebook"; repo = "fb303"; tag = "v${finalAttrs.version}"; - hash = "sha256-Cgr+uuUl+tlyWdAvBCVMK/mInYu+M5N9QLMTvvJ3oEk="; + hash = "sha256-6suO1SE8+WASQiHLtiieu3nrjEYqSPnKxw7nHkQ4br0="; }; patches = [ From 5ef1a7469eadce82024a146c4effcfff7a41b63f Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 11 Sep 2025 15:32:37 +0100 Subject: [PATCH 12/15] edencommon: 2025.04.21.00 -> 2025.09.15.00 Diff: https://github.com/facebookexperimental/edencommon/compare/v2025.04.21.00...v2025.09.15.00 --- pkgs/by-name/ed/edencommon/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ed/edencommon/package.nix b/pkgs/by-name/ed/edencommon/package.nix index 0eaa0c65fa5f..2dbf5e9fbb2c 100644 --- a/pkgs/by-name/ed/edencommon/package.nix +++ b/pkgs/by-name/ed/edencommon/package.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "edencommon"; - version = "2025.04.21.00"; + version = "2025.09.15.00"; outputs = [ "out" @@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebookexperimental"; repo = "edencommon"; tag = "v${finalAttrs.version}"; - hash = "sha256-WlLQb4O4rGhXp+bQrJA12CvrwcIS6vzO4W6bX04vKMM="; + hash = "sha256-KyJAosCLGnpEG968GV9BOyOrsoHS7BbRatTfBqzTelU="; }; patches = [ From a99fa03c930652ea2025cd98136a057799ee5ec8 Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 12 Sep 2025 19:00:59 +0100 Subject: [PATCH 13/15] watchman: 2025.04.21.00 -> 2025.09.15.00 Diff: https://github.com/facebook/watchman/compare/v2025.04.21.00...v2025.09.15.00 --- pkgs/by-name/wa/watchman/Cargo.lock | 525 ++++++++++++++++++++------- pkgs/by-name/wa/watchman/package.nix | 13 +- 2 files changed, 394 insertions(+), 144 deletions(-) diff --git a/pkgs/by-name/wa/watchman/Cargo.lock b/pkgs/by-name/wa/watchman/Cargo.lock index 9568411779ad..32d205250fa0 100644 --- a/pkgs/by-name/wa/watchman/Cargo.lock +++ b/pkgs/by-name/wa/watchman/Cargo.lock @@ -13,15 +13,15 @@ dependencies = [ [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "ahash" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", "getrandom", @@ -41,9 +41,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.98" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" +checksum = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100" [[package]] name = "atty" @@ -58,15 +58,15 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" dependencies = [ "addr2line", "cfg-if", @@ -74,7 +74,7 @@ dependencies = [ "miniz_oxide", "object", "rustc-demangle", - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -85,9 +85,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.0" +version = "2.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" +checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" [[package]] name = "byteorder" @@ -106,9 +106,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" [[package]] name = "cfg_aliases" @@ -131,12 +131,6 @@ dependencies = [ "vec_map", ] -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - [[package]] name = "crossbeam" version = "0.8.4" @@ -273,7 +267,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.106", ] [[package]] @@ -309,13 +303,14 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.16" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", "libc", - "wasi", + "r-efi", + "wasi 0.14.7+wasi-0.2.4", ] [[package]] @@ -324,6 +319,12 @@ version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" + [[package]] name = "heck" version = "0.3.3" @@ -342,6 +343,17 @@ dependencies = [ "libc", ] +[[package]] +name = "io-uring" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" +dependencies = [ + "bitflags 2.9.4", + "cfg-if", + "libc", +] + [[package]] name = "itoa" version = "1.0.15" @@ -366,26 +378,20 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.172" +version = "0.2.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ "autocfg", "scopeguard", ] -[[package]] -name = "log" -version = "0.4.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" - [[package]] name = "maplit" version = "1.0.2" @@ -394,9 +400,9 @@ checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "memoffset" @@ -409,31 +415,31 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", ] [[package]] name = "mio" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", - "wasi", - "windows-sys 0.52.0", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.59.0", ] [[package]] name = "nix" -version = "0.29.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.4", "cfg-if", "cfg_aliases", "libc", @@ -449,6 +455,25 @@ dependencies = [ "winapi", ] +[[package]] +name = "objc2-core-foundation" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c10c2894a6fed806ade6027bcd50662746363a9589d3ec9d9bef30a4e4bc166" +dependencies = [ + "bitflags 2.9.4", +] + +[[package]] +name = "objc2-io-kit" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71c1c64d6120e51cd86033f67176b1cb66780c2efe34dec55176f77befd93c0a" +dependencies = [ + "libc", + "objc2-core-foundation", +] + [[package]] name = "object" version = "0.36.7" @@ -466,9 +491,9 @@ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "os_pipe" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982" +checksum = "db335f4760b14ead6290116f2427bf33a14d4f0617d49f78a246de10c1831224" dependencies = [ "libc", "windows-sys 0.59.0", @@ -476,9 +501,9 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", "parking_lot_core", @@ -486,15 +511,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -535,9 +560,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.95" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" dependencies = [ "unicode-ident", ] @@ -552,10 +577,16 @@ dependencies = [ ] [[package]] -name = "rayon" -version = "1.10.0" +name = "r-efi" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "rayon" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" dependencies = [ "either", "rayon-core", @@ -563,9 +594,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ "crossbeam-deque", "crossbeam-utils", @@ -573,18 +604,18 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.11" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3" +checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.4", ] [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" [[package]] name = "ryu" @@ -600,10 +631,11 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "serde" -version = "1.0.219" +version = "1.0.224" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "6aaeb1e94f53b16384af593c71e20b095e958dab1d26939c1b70645c5cfbcc0b" dependencies = [ + "serde_core", "serde_derive", ] @@ -621,78 +653,108 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.17" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" +checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" dependencies = [ "serde", + "serde_core", +] + +[[package]] +name = "serde_core" +version = "1.0.224" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32f39390fa6346e24defbcdd3d9544ba8a19985d0af74df8501fbfe9a64341ab" +dependencies = [ + "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.224" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "87ff78ab5e8561c9a675bfc1785cb07ae721f0ee53329a595cefd8c04c2ac4e0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.106", ] [[package]] name = "serde_json" -version = "1.0.140" +version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ "itoa", "memchr", "ryu", "serde", + "serde_core", ] [[package]] name = "shared_child" -version = "1.0.1" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c" +checksum = "1e362d9935bc50f019969e2f9ecd66786612daae13e8f277be7bfb66e8bed3f7" dependencies = [ "libc", - "windows-sys 0.59.0", + "sigchld", + "windows-sys 0.60.2", +] + +[[package]] +name = "sigchld" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47106eded3c154e70176fc83df9737335c94ce22f821c32d17ed1db1f83badb1" +dependencies = [ + "libc", + "os_pipe", + "signal-hook", +] + +[[package]] +name = "signal-hook" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" +dependencies = [ + "libc", + "signal-hook-registry", ] [[package]] name = "signal-hook-registry" -version = "1.4.5" +version = "1.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" dependencies = [ "libc", ] [[package]] name = "slab" -version = "0.4.9" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "smallvec" -version = "1.15.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "socket2" -version = "0.5.9" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" +checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -738,9 +800,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.100" +version = "2.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" dependencies = [ "proc-macro2", "quote", @@ -749,16 +811,15 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.30.13" +version = "0.35.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3" +checksum = "3c3ffa3e4ff2b324a57f7aeb3c349656c7b127c3c189520251a648102a92496e" dependencies = [ - "cfg-if", - "core-foundation-sys", "libc", + "memchr", "ntapi", - "once_cell", - "rayon", + "objc2-core-foundation", + "objc2-io-kit", "windows", ] @@ -782,41 +843,43 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.69" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.69" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.106", ] [[package]] name = "tokio" -version = "1.44.2" +version = "1.47.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48" +checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" dependencies = [ "backtrace", "bytes", + "io-uring", "libc", "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", + "slab", "socket2", "tokio-macros", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -827,20 +890,21 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.106", ] [[package]] name = "tokio-util" -version = "0.6.10" +version = "0.7.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507" +checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" dependencies = [ "bytes", "futures-core", "futures-io", "futures-sink", - "log", + "futures-util", + "hashbrown", "pin-project-lite", "slab", "tokio", @@ -858,18 +922,18 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" dependencies = [ "once_cell", ] [[package]] name = "unicode-ident" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" [[package]] name = "unicode-segmentation" @@ -897,9 +961,27 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasi" +version = "0.14.7+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c" +dependencies = [ + "wasip2", +] + +[[package]] +name = "wasip2" +version = "1.0.1+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +dependencies = [ + "wit-bindgen", +] [[package]] name = "watchman_client" @@ -959,30 +1041,104 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.52.0" +version = "0.61.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" +dependencies = [ + "windows-collections", + "windows-core", + "windows-future", + "windows-link", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" dependencies = [ "windows-core", - "windows-targets", ] [[package]] name = "windows-core" -version = "0.52.0" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ - "windows-targets", + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", ] [[package]] -name = "windows-sys" -version = "0.52.0" +name = "windows-future" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" dependencies = [ - "windows-targets", + "windows-core", + "windows-link", + "windows-threading", +] + +[[package]] +name = "windows-implement" +version = "0.60.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "windows-interface" +version = "0.59.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +dependencies = [ + "windows-core", + "windows-link", +] + +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link", ] [[package]] @@ -991,7 +1147,16 @@ version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.3", ] [[package]] @@ -1000,14 +1165,40 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" +dependencies = [ + "windows-link", + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] + +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link", ] [[package]] @@ -1016,42 +1207,84 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + [[package]] name = "windows_i686_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + [[package]] name = "windows_x86_64_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -1059,21 +1292,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] -name = "zerocopy" -version = "0.7.35" +name = "windows_x86_64_msvc" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + +[[package]] +name = "wit-bindgen" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" + +[[package]] +name = "zerocopy" +version = "0.8.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.106", ] diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index 06c45602b492..bf33232620a9 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -11,7 +11,6 @@ cargo, rustPlatform, ensureNewerSourcesForZipFilesHook, - removeReferencesTo, pcre2, openssl, @@ -35,13 +34,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "watchman"; - version = "2025.04.21.00"; + version = "2025.09.15.00"; src = fetchFromGitHub { owner = "facebook"; repo = "watchman"; tag = "v${finalAttrs.version}"; - hash = "sha256-eZRrG7bgmh7hW7ihQISQP5pnWAVGhDLL93rCP7ZtUnA="; + hash = "sha256-ZIFGCOoIuy4Ns51oek3HnBLtCSnI742FTA2YmorBpyk="; }; patches = [ @@ -56,7 +55,6 @@ stdenv.mkDerivation (finalAttrs: { cargo rustPlatform.cargoSetupHook ensureNewerSourcesForZipFilesHook - removeReferencesTo ]; buildInputs = [ @@ -95,7 +93,14 @@ stdenv.mkDerivation (finalAttrs: { postPatch = '' patchShebangs . + cp ${./Cargo.lock} ${finalAttrs.cargoRoot}/Cargo.lock + + # Facebook Thrift requires C++20 now but Watchman hasn’t been + # updated yet… (Aren’t these things meant to be integrated together + # in a monorepo?) + substituteInPlace CMakeLists.txt \ + --replace-fail 'set(CMAKE_CXX_STANDARD 17)' 'set(CMAKE_CXX_STANDARD 20)' ''; postFixup = '' From 2432d98325848d580fae34ec97c55b6ad2216d2e Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 12 Sep 2025 19:00:59 +0100 Subject: [PATCH 14/15] watchman: remove obsolete `postFixup` The compiler wrapper does this for Clang now. --- pkgs/by-name/wa/watchman/package.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index bf33232620a9..e38b556d47a0 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -103,11 +103,6 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail 'set(CMAKE_CXX_STANDARD 17)' 'set(CMAKE_CXX_STANDARD 20)' ''; - postFixup = '' - # TODO: Do this in `fmt` rather than downstream. - remove-references-to -t ${folly.fmt.dev} $out/bin/* - ''; - passthru.updateScript = ./update.sh; meta = { From 09bbd80fadd064601e6c8aa7c375bc5eb104e964 Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 12 Sep 2025 19:00:59 +0100 Subject: [PATCH 15/15] watchman: patch CMake reproducibility issue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is the first thing outside of CMake itself I’ve seen that would have derived some value from `fixCmakeFiles`. --- pkgs/by-name/wa/watchman/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index e38b556d47a0..960f02a70355 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -96,6 +96,12 @@ stdenv.mkDerivation (finalAttrs: { cp ${./Cargo.lock} ${finalAttrs.cargoRoot}/Cargo.lock + # The build system looks for `/usr/bin/python3`. It falls back + # gracefully if it’s not found, but let’s dodge the potential + # reproducibility risk for unsandboxed Darwin. + substituteInPlace CMakeLists.txt \ + --replace-fail /usr/bin /var/empty + # Facebook Thrift requires C++20 now but Watchman hasn’t been # updated yet… (Aren’t these things meant to be integrated together # in a monorepo?)