From 0f794411fd4cca3a014ad3cdae0ecfdda93f29c6 Mon Sep 17 00:00:00 2001 From: Richie Cahill Date: Tue, 1 Sep 2026 21:18:02 -0400 Subject: [PATCH 1/9] testing x86_v3 --- common/optional/x86-64-v3.nix | 9 +++++++++ systems/bob/default.nix | 2 +- systems/brain/default.nix | 1 + systems/jeeves/default.nix | 1 + systems/portal-1/default.nix | 1 + systems/rhapsody-in-green/default.nix | 1 + 6 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 common/optional/x86-64-v3.nix diff --git a/common/optional/x86-64-v3.nix b/common/optional/x86-64-v3.nix new file mode 100644 index 0000000..349b757 --- /dev/null +++ b/common/optional/x86-64-v3.nix @@ -0,0 +1,9 @@ +{ + nixpkgs.hostPlatform = { + system = "x86_64-linux"; + gcc = { + arch = "x86-64-v3"; + tune = "generic"; + }; + }; +} diff --git a/systems/bob/default.nix b/systems/bob/default.nix index 7cfff86..ff66879 100644 --- a/systems/bob/default.nix +++ b/systems/bob/default.nix @@ -13,7 +13,7 @@ "${inputs.self}/common/optional/systemd-boot.nix" "${inputs.self}/common/optional/tailscale.nix" "${inputs.self}/common/optional/update.nix" - "${inputs.self}/common/optional/yubikey.nix" + "${inputs.self}/common/optional/x86-64-v3.nix" "${inputs.self}/common/optional/zfs" ./hardware.nix ./syncthing.nix diff --git a/systems/brain/default.nix b/systems/brain/default.nix index 459f2f6..31e178a 100644 --- a/systems/brain/default.nix +++ b/systems/brain/default.nix @@ -9,6 +9,7 @@ "${inputs.self}/common/optional/systemd-boot.nix" "${inputs.self}/common/optional/tailscale.nix" "${inputs.self}/common/optional/update.nix" + "${inputs.self}/common/optional/x86-64-v3.nix" "${inputs.self}/common/optional/zfs" ./docker ./hardware.nix diff --git a/systems/jeeves/default.nix b/systems/jeeves/default.nix index 242f708..33575cf 100644 --- a/systems/jeeves/default.nix +++ b/systems/jeeves/default.nix @@ -13,6 +13,7 @@ in "${inputs.self}/common/optional/syncthing_base.nix" "${inputs.self}/common/optional/tailscale.nix" "${inputs.self}/common/optional/update.nix" + "${inputs.self}/common/optional/x86-64-v3.nix" "${inputs.self}/common/optional/zfs" ./monitoring ./docker diff --git a/systems/portal-1/default.nix b/systems/portal-1/default.nix index 1d96af5..0f81175 100644 --- a/systems/portal-1/default.nix +++ b/systems/portal-1/default.nix @@ -10,6 +10,7 @@ "${inputs.self}/users/richie" "${inputs.self}/common/global" "${inputs.self}/common/optional/tailscale.nix" + "${inputs.self}/common/optional/x86-64-v3.nix" ./disk-config.nix ./haproxy ./monitoring.nix diff --git a/systems/rhapsody-in-green/default.nix b/systems/rhapsody-in-green/default.nix index 82bfe53..0f8ec03 100644 --- a/systems/rhapsody-in-green/default.nix +++ b/systems/rhapsody-in-green/default.nix @@ -9,6 +9,7 @@ "${inputs.self}/common/optional/syncthing_base.nix" "${inputs.self}/common/optional/systemd-boot.nix" "${inputs.self}/common/optional/tailscale.nix" + "${inputs.self}/common/optional/x86-64-v3.nix" "${inputs.self}/common/optional/yubikey.nix" "${inputs.self}/common/optional/zfs" ./hardware.nix -- 2.55.0 From b1c21438d91976a62a65fde6457c1e5b3c0c9ecc Mon Sep 17 00:00:00 2001 From: Richie Cahill Date: Wed, 9 Sep 2026 07:38:37 -0400 Subject: [PATCH 2/9] removed hostPlatform from portal-1 --- systems/portal-1/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/systems/portal-1/default.nix b/systems/portal-1/default.nix index 0f81175..339af35 100644 --- a/systems/portal-1/default.nix +++ b/systems/portal-1/default.nix @@ -16,8 +16,6 @@ ./monitoring.nix ]; - nixpkgs.hostPlatform = "x86_64-linux"; - boot = { # Avoid consuming the VM's limited memory for /tmp. tmp.useTmpfs = false; -- 2.55.0 From 0b333552e6e587048f532ee2ee51329962dd8b04 Mon Sep 17 00:00:00 2001 From: Richie Cahill Date: Fri, 11 Sep 2026 11:07:28 -0400 Subject: [PATCH 3/9] fix(overlays): exclude failing x86-64-v3 tests Skip the flaky GnuTLS UDP readiness test and the SciPy FFT tests whose precision differences are acceptable for our workloads. --- overlays/default.nix | 2 ++ overlays/test-exclusions.nix | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 overlays/test-exclusions.nix diff --git a/overlays/default.nix b/overlays/default.nix index 6110f8e..f583de3 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -15,6 +15,8 @@ }; }; + test-exclusions = import ./test-exclusions.nix; + python-env = final: _prev: { my_python = final.python314.withPackages ( ps: with ps; [ diff --git a/overlays/test-exclusions.nix b/overlays/test-exclusions.nix new file mode 100644 index 0000000..bc057c3 --- /dev/null +++ b/overlays/test-exclusions.nix @@ -0,0 +1,32 @@ +# Test exclusions for the locally rebuilt x86-64-v3 package set. +# +# Selecting x86-64-v3 changes every affected derivation, so the normal +# nixpkgs binary cache cannot be used and upstream test suites run locally. +# The jeeves builder uses /tmp/nix-builds so filesystem tests run on tmpfs +# instead of ZFS with normalization=formD and utf8only=on; those tests remain +# enabled. The remaining exclusions cover a UDP readiness race and +# architecture-dependent floating-point differences whose risk we accept for +# our workloads. Keep these exceptions visible until their causes are fixed. +_final: prev: { + gnutls = prev.gnutls.overrideAttrs (old: { + # This test uses a fixed four-second sleep instead of checking UDP + # readiness; the client saw no listener in the x86-64-v3 build. + postPatch = (old.postPatch or "") + '' + sed '2iexit 77' -i tests/serv-udp.sh + ''; + }); + + pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [ + (_pythonFinal: pythonPrev: { + scipy = pythonPrev.scipy.overridePythonAttrs (old: { + # x86-64-v3 FFT implementations produce rounding differences outside + # these tests' strict tolerances. We accept the numerical-precision + # risk for our workloads. + disabledTests = (old.disabledTests or [ ]) ++ [ + "test_roundtrip_float32" + "test_roundtrip_scaling" + ]; + }); + }) + ]; +} -- 2.55.0 From 21066116b0c25fba331294da06e194ee7ca259ab Mon Sep 17 00:00:00 2001 From: Richie Cahill Date: Fri, 11 Sep 2026 14:57:01 -0400 Subject: [PATCH 4/9] testing numprocesses to fix pytest-xdist tests --- overlays/test-exclusions.nix | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/overlays/test-exclusions.nix b/overlays/test-exclusions.nix index bc057c3..3fa2507 100644 --- a/overlays/test-exclusions.nix +++ b/overlays/test-exclusions.nix @@ -4,9 +4,10 @@ # nixpkgs binary cache cannot be used and upstream test suites run locally. # The jeeves builder uses /tmp/nix-builds so filesystem tests run on tmpfs # instead of ZFS with normalization=formD and utf8only=on; those tests remain -# enabled. The remaining exclusions cover a UDP readiness race and -# architecture-dependent floating-point differences whose risk we accept for -# our workloads. Keep these exceptions visible until their causes are fixed. +# enabled. The remaining workarounds cover UDP readiness and nested-worker +# scheduling races, plus architecture-dependent floating-point differences +# whose risk we accept for our workloads. Keep these exceptions visible until +# their causes are fixed. _final: prev: { gnutls = prev.gnutls.overrideAttrs (old: { # This test uses a fixed four-second sleep instead of checking UDP @@ -18,6 +19,14 @@ _final: prev: { pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [ (_pythonFinal: pythonPrev: { + pytest-xdist = pythonPrev.pytest-xdist.overridePythonAttrs (old: { + # Its acceptance tests start nested worker pools. Limit the outer pool + # so deliberately crashing inner workers do not race under heavy load. + preCheck = builtins.replaceStrings [ "--numprocesses=$NIX_BUILD_CORES" ] [ "--numprocesses=8" ] ( + old.preCheck or "" + ); + }); + scipy = pythonPrev.scipy.overridePythonAttrs (old: { # x86-64-v3 FFT implementations produce rounding differences outside # these tests' strict tolerances. We accept the numerical-precision -- 2.55.0 From c56aa0ab3de6f75b8b6bd7d0c1a008dda9f981a1 Mon Sep 17 00:00:00 2001 From: Richie Cahill Date: Fri, 11 Sep 2026 19:27:01 -0400 Subject: [PATCH 5/9] fix(overlays): stabilize timing-sensitive tests --- overlays/test-exclusions.nix | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/overlays/test-exclusions.nix b/overlays/test-exclusions.nix index 3fa2507..0773771 100644 --- a/overlays/test-exclusions.nix +++ b/overlays/test-exclusions.nix @@ -4,10 +4,10 @@ # nixpkgs binary cache cannot be used and upstream test suites run locally. # The jeeves builder uses /tmp/nix-builds so filesystem tests run on tmpfs # instead of ZFS with normalization=formD and utf8only=on; those tests remain -# enabled. The remaining workarounds cover UDP readiness and nested-worker -# scheduling races, plus architecture-dependent floating-point differences -# whose risk we accept for our workloads. Keep these exceptions visible until -# their causes are fixed. +# enabled. The remaining workarounds cover UDP readiness, nested-worker +# scheduling races, and mismatched timeout clocks, plus architecture-dependent +# floating-point differences whose risk we accept for our workloads. Keep these +# exceptions visible until their causes are fixed. _final: prev: { gnutls = prev.gnutls.overrideAttrs (old: { # This test uses a fixed four-second sleep instead of checking UDP @@ -19,10 +19,23 @@ _final: prev: { pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [ (_pythonFinal: pythonPrev: { + backrefs = pythonPrev.backrefs.overridePythonAttrs (old: { + # regex measures its timeout in process CPU time, while this test used + # wall time and could miss the timeout when a busy builder descheduled it. + postPatch = (old.postPatch or "") + '' + substituteInPlace tests/test_bregex.py \ + --replace-fail "time.time()" "time.process_time()" + ''; + }); + pytest-xdist = pythonPrev.pytest-xdist.overridePythonAttrs (old: { - # Its acceptance tests start nested worker pools. Limit the outer pool - # so deliberately crashing inner workers do not race under heavy load. - preCheck = builtins.replaceStrings [ "--numprocesses=$NIX_BUILD_CORES" ] [ "--numprocesses=8" ] ( + # The suite exercises its own worker pools. Run the outer suite with one + # worker and allow inner workers more time on heavily loaded builders. + postPatch = (old.postPatch or "") + '' + substituteInPlace testing/test_remote.py \ + --replace-fail "WAIT_TIMEOUT = 10.0" "WAIT_TIMEOUT = 60.0" + ''; + preCheck = builtins.replaceStrings [ "--numprocesses=$NIX_BUILD_CORES" ] [ "--numprocesses=1" ] ( old.preCheck or "" ); }); -- 2.55.0 From dd4a0e1f9c67d52d03122e209234af805d79a596 Mon Sep 17 00:00:00 2001 From: Richie Cahill Date: Sat, 12 Sep 2026 11:19:23 -0400 Subject: [PATCH 6/9] more test-exclusions --- overlays/test-exclusions.nix | 39 ++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/overlays/test-exclusions.nix b/overlays/test-exclusions.nix index 0773771..4f53cee 100644 --- a/overlays/test-exclusions.nix +++ b/overlays/test-exclusions.nix @@ -4,10 +4,10 @@ # nixpkgs binary cache cannot be used and upstream test suites run locally. # The jeeves builder uses /tmp/nix-builds so filesystem tests run on tmpfs # instead of ZFS with normalization=formD and utf8only=on; those tests remain -# enabled. The remaining workarounds cover UDP readiness, nested-worker -# scheduling races, and mismatched timeout clocks, plus architecture-dependent -# floating-point differences whose risk we accept for our workloads. Keep these -# exceptions visible until their causes are fixed. +# enabled. The remaining workarounds cover UDP readiness, resource-sensitive +# parser and nested-worker races, and mismatched timeout clocks, plus +# architecture-dependent floating-point differences whose risk we accept for +# our workloads. Keep these exceptions visible until their causes are fixed. _final: prev: { gnutls = prev.gnutls.overrideAttrs (old: { # This test uses a fixed four-second sleep instead of checking UDP @@ -17,6 +17,32 @@ _final: prev: { ''; }); + prometheus = prev.prometheus.overrideAttrs ( + old: + let + assets = old.passthru.assets.overrideAttrs (assetsOld: { + # CodeMirror's bounded synchronous parser can return an incomplete tree + # when these cases run on a heavily loaded builder. + postPatch = (assetsOld.postPatch or "") + '' + substituteInPlace module/codemirror-promql/src/complete/hybrid.test.ts \ + --replace-fail "it(value.title, () => {" \ + "(value.title === 'autocomplete topk params 2' ? it.skip : it)(value.title, () => {" + substituteInPlace module/codemirror-promql/src/parser/vector.test.ts \ + --replace-fail "it(value.binaryExpr, () => {" \ + "(value.binaryExpr === 'foo * on(test,blub) bar' ? it.skip : it)(value.binaryExpr, () => {" + ''; + }); + in + { + postPatch = builtins.replaceStrings [ "${old.passthru.assets}" ] [ "${assets}" ] ( + builtins.unsafeDiscardStringContext old.postPatch + ); + passthru = old.passthru // { + inherit assets; + }; + } + ); + pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [ (_pythonFinal: pythonPrev: { backrefs = pythonPrev.backrefs.overridePythonAttrs (old: { @@ -38,6 +64,11 @@ _final: prev: { preCheck = builtins.replaceStrings [ "--numprocesses=$NIX_BUILD_CORES" ] [ "--numprocesses=1" ] ( old.preCheck or "" ); + # This test deliberately crashes workers past the restart limit and + # races while checking which replacement message was emitted. + disabledTests = (old.disabledTests or [ ]) ++ [ + "test_max_worker_restart_tests_queued" + ]; }); scipy = pythonPrev.scipy.overridePythonAttrs (old: { -- 2.55.0 From 562c92ae77c96dc18bd44f6cd2b6d9c25b507ebc Mon Sep 17 00:00:00 2001 From: Richie Cahill Date: Sun, 13 Sep 2026 11:16:37 -0400 Subject: [PATCH 7/9] more test issues --- overlays/default.nix | 1 + overlays/test-exclusions.nix | 48 ++++++++++++++++++++++++++++++ overlays/x86-64-v3-workarounds.nix | 20 +++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 overlays/x86-64-v3-workarounds.nix diff --git a/overlays/default.nix b/overlays/default.nix index f583de3..114df6b 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -16,6 +16,7 @@ }; test-exclusions = import ./test-exclusions.nix; + x86-64-v3-workarounds = import ./x86-64-v3-workarounds.nix; python-env = final: _prev: { my_python = final.python314.withPackages ( diff --git a/overlays/test-exclusions.nix b/overlays/test-exclusions.nix index 4f53cee..41a6d5a 100644 --- a/overlays/test-exclusions.nix +++ b/overlays/test-exclusions.nix @@ -17,6 +17,15 @@ _final: prev: { ''; }); + onnxruntime = prev.onnxruntime.overrideAttrs (old: { + # OpenVINO uses a different QuantizeLinear formulation. x86-64-v3 moves + # these INT8 results by one quantization unit; we accept that inference- + # precision risk for our workloads. + env = (old.env or { }) // { + GTEST_FILTER = "*:-QuantizeLinearOpTest.Int8:QuantizeLinearOpTest.OVEP_Int8_NegativeZeroPoint:QuantizeLinearOpTest.OVEP_Int8_PositiveZeroPoint"; + }; + }); + prometheus = prev.prometheus.overrideAttrs ( old: let @@ -71,6 +80,18 @@ _final: prev: { ]; }); + jupyter-server = pythonPrev.jupyter-server.overridePythonAttrs (old: { + # The kernel reply arrived after the one-second outer deadline when the + # builder was heavily loaded. Keep the regression test but allow it the + # same margin as the other resource-sensitive tests. + postPatch = (old.postPatch or "") + '' + substituteInPlace tests/services/kernels/test_connection.py \ + --replace-fail \ + "await asyncio.wait_for(asyncio.wrap_future(conn2.request_kernel_info()), timeout=1.0)" \ + "await asyncio.wait_for(asyncio.wrap_future(conn2.request_kernel_info()), timeout=10.0)" + ''; + }); + scipy = pythonPrev.scipy.overridePythonAttrs (old: { # x86-64-v3 FFT implementations produce rounding differences outside # these tests' strict tolerances. We accept the numerical-precision @@ -80,6 +101,33 @@ _final: prev: { "test_roundtrip_scaling" ]; }); + + sentry-sdk = pythonPrev.sentry-sdk.overridePythonAttrs (old: { + # This test globally mocks threading.current_thread while another + # thread is running. On Python 3.14, Thread.join can race with that + # mock and exhaust its single side effect before the worker removes it. + disabledTests = (old.disabledTests or [ ]) ++ [ + "test_get_current_thread_meta_main_thread" + ]; + }); + + torchcodec = pythonPrev.torchcodec.overridePythonAttrs (old: { + # For these 8 kHz MP3 cases, the x86-64-v3 API and CLI codec paths + # differ in 0.8% of decoded samples. Retain the original tolerance for + # 99% of samples and accept the localized audio-precision risk. + postPatch = (old.postPatch or "") + '' + substituteInPlace test/test_encoders.py \ + --replace-fail \ + 'if sys.platform == "darwin":' \ + 'if sys.platform == "darwin" or ( + format == "mp3" + and sample_rate == 8_000 + and asset is SINE_MONO_S32 + and bit_rate in (None, 0) + and num_channels in (None, 1) + ):' + ''; + }); }) ]; } diff --git a/overlays/x86-64-v3-workarounds.nix b/overlays/x86-64-v3-workarounds.nix new file mode 100644 index 0000000..6f8a390 --- /dev/null +++ b/overlays/x86-64-v3-workarounds.nix @@ -0,0 +1,20 @@ +# Compatibility fixes for packages rebuilt with x86-64-v3. +# +# The v3 baseline enables instructions that expose source assumptions hidden +# by the generic x86-64 build. Keep compile fixes here, separate from test +# exclusions, until upstream or nixpkgs incorporates them. +_final: prev: +prev.lib.optionalAttrs ((prev.stdenv.hostPlatform.gcc.arch or null) == "x86-64-v3") { + deno = + let + librusty_v8 = prev.deno.passthru.librusty_v8.overrideAttrs (old: { + # Clang prohibits including its internal BMI2 header directly. The + # public umbrella supplies the same intrinsics with the required setup. + postPatch = (old.postPatch or "") + '' + substituteInPlace third_party/abseil-cpp/absl/container/internal/raw_hash_set.h \ + --replace-fail "#include " "#include " + ''; + }); + in + prev.deno.override { inherit librusty_v8; }; +} -- 2.55.0 From 224c75768bf31ffa014329b6e5e450fff33187b6 Mon Sep 17 00:00:00 2001 From: Richie Cahill Date: Thu, 17 Sep 2026 08:21:48 -0400 Subject: [PATCH 8/9] moved modbus to extraComponents modbus intgration requres more then just pymodbus bus now --- systems/brain/services/home_assistant.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/systems/brain/services/home_assistant.nix b/systems/brain/services/home_assistant.nix index b40740a..cad4cfd 100644 --- a/systems/brain/services/home_assistant.nix +++ b/systems/brain/services/home_assistant.nix @@ -68,7 +68,6 @@ paho-mqtt # for mqtt psycopg2 # for postgresql py-improv-ble-client # for esphome - pymodbus # for modbus pyopenweathermap # for weather pymetno # for met.no weather uiprotect # for ubiquiti integration @@ -76,7 +75,10 @@ jsonpath # for rest sensors monarchmoneycommunity # for monarch ]; - extraComponents = [ "isal" ]; + extraComponents = [ + "isal" + "modbus" # for victron modbus integration + ]; customComponents = with pkgs.home-assistant-custom-components; [ garmin_connect ]; -- 2.55.0 From 7cc87ff2789529fd875cd233adfd914011758cfa Mon Sep 17 00:00:00 2001 From: Richie Cahill Date: Thu, 17 Sep 2026 08:44:18 -0400 Subject: [PATCH 9/9] more x86-64-v3 workarounds and text exclushions --- overlays/test-exclusions.nix | 9 +++++ overlays/x86-64-v3-workarounds.nix | 56 +++++++++++++++++++++++++----- 2 files changed, 57 insertions(+), 8 deletions(-) diff --git a/overlays/test-exclusions.nix b/overlays/test-exclusions.nix index 41a6d5a..e410525 100644 --- a/overlays/test-exclusions.nix +++ b/overlays/test-exclusions.nix @@ -111,6 +111,15 @@ _final: prev: { ]; }); + torchaudio = pythonPrev.torchaudio.overridePythonAttrs (old: { + # x86-64-v3 pitch shifting produces batch-versus-single-item numerical + # differences up to 2.9e-6. We accept that audio-precision risk for our + # workloads. + disabledTests = (old.disabledTests or [ ]) ++ [ + "test_batch_pitch_shift" + ]; + }); + torchcodec = pythonPrev.torchcodec.overridePythonAttrs (old: { # For these 8 kHz MP3 cases, the x86-64-v3 API and CLI codec paths # differ in 0.8% of decoded samples. Retain the original tolerance for diff --git a/overlays/x86-64-v3-workarounds.nix b/overlays/x86-64-v3-workarounds.nix index 6f8a390..c1e0bd0 100644 --- a/overlays/x86-64-v3-workarounds.nix +++ b/overlays/x86-64-v3-workarounds.nix @@ -4,17 +4,57 @@ # by the generic x86-64 build. Keep compile fixes here, separate from test # exclusions, until upstream or nixpkgs incorporates them. _final: prev: +let + patchAbseilBmi2Include = + package: + package.overrideAttrs (old: { + # GCC and Clang prohibit including their internal BMI2 header directly. + # The public umbrella provides the same intrinsics with the required + # compiler setup. + postPatch = (old.postPatch or "") + '' + substituteInPlace third_party/abseil-cpp/absl/container/internal/raw_hash_set.h \ + --replace-fail "#include " "#include " + ''; + }); + + removeSiblingOutputChecks = + package: + package.overrideAttrs (old: { + # Nix 2.34 can validate a partial multi-output rebuild against only the + # outputs still being realised. PostgreSQL's checks then reject valid + # sibling names such as "out" and "lib". Keep the test suite and + # disallowed-requisite checks; accept the loss of cross-output checks. + outputChecks = builtins.mapAttrs ( + _output: checks: builtins.removeAttrs checks [ "disallowedReferences" ] + ) (old.outputChecks or { }); + }); + + electron43Unwrapped = patchAbseilBmi2Include prev.electron_43.unwrapped; + electron43 = prev.electron_43.override { + electron-unwrapped = electron43Unwrapped; + }; + + signalCallPackage = + path: args: + let + package = prev.callPackage path args; + in + if builtins.baseNameOf path == "webrtc.nix" then patchAbseilBmi2Include package else package; +in prev.lib.optionalAttrs ((prev.stdenv.hostPlatform.gcc.arch or null) == "x86-64-v3") { deno = let - librusty_v8 = prev.deno.passthru.librusty_v8.overrideAttrs (old: { - # Clang prohibits including its internal BMI2 header directly. The - # public umbrella supplies the same intrinsics with the required setup. - postPatch = (old.postPatch or "") + '' - substituteInPlace third_party/abseil-cpp/absl/container/internal/raw_hash_set.h \ - --replace-fail "#include " "#include " - ''; - }); + librusty_v8 = patchAbseilBmi2Include prev.deno.passthru.librusty_v8; in prev.deno.override { inherit librusty_v8; }; + + electron_43 = electron43; + + postgresql = removeSiblingOutputChecks prev.postgresql; + postgresql_18 = removeSiblingOutputChecks prev.postgresql_18; + + signal-desktop = prev.signal-desktop.override { + electron_43 = electron43; + callPackage = signalCallPackage; + }; } -- 2.55.0