From ee1f1476709ce4920505d2b300417991cda5f25d Mon Sep 17 00:00:00 2001 From: xinyangli Date: Tue, 6 May 2025 22:29:34 +0800 Subject: [PATCH] agate: fix package folly build --- machines/agate/default.nix | 56 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/machines/agate/default.nix b/machines/agate/default.nix index abe5dfa..769b3fd 100644 --- a/machines/agate/default.nix +++ b/machines/agate/default.nix @@ -1,4 +1,59 @@ { lib, ... }: +let + fix-folly-build = ( + final: prev: { + folly = + let + lib = prev.lib; + stdenv = prev.stdenv; + in + prev.folly.overrideAttr { + checkPhase = '' + runHook preCheck + + ctest -j $NIX_BUILD_CORES --timeout 1200 --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 + ''; + }; + } + ); +in { imports = [ ./hardware-configuration.nix @@ -48,6 +103,7 @@ }; nixpkgs.config.contentAddressedByDefault = true; + nixpkgs.overlays = [ fix-folly-build ]; services.tailscale = { enable = true;