{folly,fizz,mvfst,wangle,fbthrift,fb303,edencommon,watchman}: 2025.04.21.00 -> 2025.09.15.00 (#442473)

This commit is contained in:
K900
2025-09-19 17:22:11 +03:00
committed by GitHub
14 changed files with 681 additions and 289 deletions
+2 -2
View File
@@ -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 = [
+2 -2
View File
@@ -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 = [
+12 -12
View File
@@ -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
+33 -12
View File
@@ -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,25 +39,19 @@ stdenv.mkDerivation (finalAttrs: {
owner = "facebook";
repo = "fbthrift";
tag = "v${finalAttrs.version}";
hash = "sha256-W86jBqq0wC8ZYcE7MQ76rV3axPf7efXieEot6ahonUI=";
hash = "sha256-4u3SbbmSgtvnW3/VH3CfQrEddAlkQuUl9dmnGGKL4mE=";
};
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
./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 +95,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:
# <https://github.com/facebook/fbthrift/commit/58038399cefc0c2256ce4ef5444dee37147cbf07>
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:
#
# * <https://github.com/facebook/fbthrift/issues/618>
# * <https://github.com/facebook/fbthrift/issues/607>
# * <https://github.com/Homebrew/homebrew-core/blob/2135255c78d026541a4106fa98580795740db694/Formula/f/fbthrift.rb#L52-L55>
#
# I dont know why we didnt need this before the bump to 202
# to 2025.09.08.00 when wed been on LLVM 19 for an entire release
# cycle already, or why were 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 dont 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 = {
@@ -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 {
+6 -2
View File
@@ -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 = [
@@ -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 <liuyudong@iscas.ac.cn>
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 <typename...>
struct LargeTuple {};
template <size_t I, typename... T>
-type_pack_element_t<I, T...>& get(LargeTuple<T...>&) {
- static type_pack_element_t<I, T...> elem;
+std::tuple_element_t<I, std::tuple<T...>>& get(LargeTuple<T...>&) {
+ static std::tuple_element_t<I, std::tuple<T...>> elem;
return elem;
}
namespace std {
@@ -0,0 +1,22 @@
From dc06cc3162afb148c19cd0931d8fe489d639217a Mon Sep 17 00:00:00 2001
From: Uilian Ries <uilianries@gmail.com>
Date: Tue, 9 Sep 2025 16:48:26 +0200
Subject: [PATCH] Add missing header for std::runtime_error
Signed-off-by: Uilian Ries <uilianries@gmail.com>
---
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 <folly/hash/Checksum.h>
#include <algorithm>
+#include <stdexcept>
#include <boost/crc.hpp>
@@ -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
+74 -48
View File
@@ -21,10 +21,12 @@
zstd,
libiberty,
libunwind,
darwinMinVersionHook,
boost,
fmt,
jemalloc,
ctestCheckHook,
gtest,
@@ -39,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 = [
@@ -51,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "facebook";
repo = "folly";
tag = "v${finalAttrs.version}";
hash = "sha256-P2saSFVRBWt5xjAWlKmcPJT9MFV9CXFmA18dIDCO84o=";
hash = "sha256-//gx081nMFXAcUgkHQToiFHhECfLW22Fl0eXEsObxUs=";
};
nativeBuildInputs = [
@@ -75,16 +77,19 @@ 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 = [
ctestCheckHook
];
checkInputs = [
@@ -121,7 +126,14 @@ stdenv.mkDerivation (finalAttrs: {
|| stdenv.hostPlatform.isPower64
|| stdenv.hostPlatform.isRiscV64;
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` outputs 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
@@ -132,6 +144,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:
#
# * <https://github.com/facebook/folly/issues/2487>
# * <https://github.com/facebook/folly/commit/bdbb73e0069b4084c83b7dd9b02c3118d37e2a8d>
# * <https://github.com/facebook/folly/pull/2490>
# * <https://github.com/facebook/folly/pull/2497>
./fix-stdexcept-include.patch
# Fix a GCCincompatible use of a private trait.
#
# Per Follys 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:
#
# * <https://github.com/facebook/folly/issues/2493>
# * <https://github.com/facebook/folly/pull/2499>
./fix-__type_pack_element.patch
];
# https://github.com/NixOS/nixpkgs/issues/144170
@@ -145,49 +181,39 @@ stdenv.mkDerivation (finalAttrs: {
'@CMAKE_INSTALL_FULL_INCLUDEDIR@'
'';
# TODO: Figure out why `GTEST_FILTER` doesnt work to skip these.
checkPhase = ''
runHook preCheck
disabledTests = [
"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"
# 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
'';
# 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<gtest_TypeParam_>::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"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# No idea why these fail.
"logging_xlog_test.XlogTest.perFileCategoryHandling"
"futures_future_test.Future.makeFutureFromMoveOnlyException"
];
passthru = {
inherit boost fmt;
+26 -31
View File
@@ -13,6 +13,8 @@
fizz,
ctestCheckHook,
gtest,
nix-update-script,
@@ -20,7 +22,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mvfst";
version = "2025.04.21.00";
version = "2025.09.15.00";
outputs = [
"bin"
@@ -32,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "facebook";
repo = "mvfst";
tag = "v${finalAttrs.version}";
hash = "sha256-/84smnZ2L1zDmkO1w9VQzVhXKt/S5azQr7Xpr8/dOA4=";
hash = "sha256-ZgzqkR72xtO5VVd2cyMM3vSsUWdW6HEvu9T1sM+cPi8=";
};
patches = [
@@ -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 { };
+16 -31
View File
@@ -15,6 +15,8 @@
libevent,
double-conversion,
ctestCheckHook,
gtest,
nix-update-script,
@@ -22,7 +24,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "wangle";
version = "2025.04.21.00";
version = "2025.09.15.00";
outputs = [
"out"
@@ -33,7 +35,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "facebook";
repo = "wangle";
tag = "v${finalAttrs.version}";
hash = "sha256-t3b+R2tb4VTsjDL9Jzjcaehs5k+BLNLilm3+nXxyjj0=";
hash = "sha256-S2L3ifQTwyidz3x5pPrVEGEJXvM1czqTRXYsYUqIeRY=";
};
patches = [
@@ -55,6 +57,10 @@ stdenv.mkDerivation (finalAttrs: {
double-conversion
];
nativeCheckInputs = [
ctestCheckHook
];
checkInputs = [
gtest
];
@@ -71,41 +77,20 @@ 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;
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 { };
+385 -140
View File
@@ -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",
]
+15 -9
View File
@@ -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,12 +93,20 @@ stdenv.mkDerivation (finalAttrs: {
postPatch = ''
patchShebangs .
cp ${./Cargo.lock} ${finalAttrs.cargoRoot}/Cargo.lock
'';
postFixup = ''
# TODO: Do this in `fmt` rather than downstream.
remove-references-to -t ${folly.fmt.dev} $out/bin/*
cp ${./Cargo.lock} ${finalAttrs.cargoRoot}/Cargo.lock
# The build system looks for `/usr/bin/python3`. It falls back
# gracefully if its not found, but lets 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 hasnt been
# updated yet (Arent 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)'
'';
passthru.updateScript = ./update.sh;