Home / Input Output / cardano-haskell-action
Feb 08, 7-8 AM (0)
Feb 08, 8-9 AM (0)
Feb 08, 9-10 AM (0)
Feb 08, 10-11 AM (0)
Feb 08, 11-12 PM (0)
Feb 08, 12-1 PM (0)
Feb 08, 1-2 PM (0)
Feb 08, 2-3 PM (0)
Feb 08, 3-4 PM (0)
Feb 08, 4-5 PM (0)
Feb 08, 5-6 PM (0)
Feb 08, 6-7 PM (0)
Feb 08, 7-8 PM (0)
Feb 08, 8-9 PM (0)
Feb 08, 9-10 PM (0)
Feb 08, 10-11 PM (0)
Feb 08, 11-12 AM (0)
Feb 09, 12-1 AM (0)
Feb 09, 1-2 AM (0)
Feb 09, 2-3 AM (0)
Feb 09, 3-4 AM (0)
Feb 09, 4-5 AM (0)
Feb 09, 5-6 AM (0)
Feb 09, 6-7 AM (0)
Feb 09, 7-8 AM (0)
Feb 09, 8-9 AM (0)
Feb 09, 9-10 AM (0)
Feb 09, 10-11 AM (0)
Feb 09, 11-12 PM (0)
Feb 09, 12-1 PM (0)
Feb 09, 1-2 PM (0)
Feb 09, 2-3 PM (0)
Feb 09, 3-4 PM (0)
Feb 09, 4-5 PM (0)
Feb 09, 5-6 PM (0)
Feb 09, 6-7 PM (0)
Feb 09, 7-8 PM (0)
Feb 09, 8-9 PM (0)
Feb 09, 9-10 PM (0)
Feb 09, 10-11 PM (0)
Feb 09, 11-12 AM (0)
Feb 10, 12-1 AM (0)
Feb 10, 1-2 AM (1)
Feb 10, 2-3 AM (0)
Feb 10, 3-4 AM (0)
Feb 10, 4-5 AM (0)
Feb 10, 5-6 AM (0)
Feb 10, 6-7 AM (0)
Feb 10, 7-8 AM (0)
Feb 10, 8-9 AM (0)
Feb 10, 9-10 AM (0)
Feb 10, 10-11 AM (0)
Feb 10, 11-12 PM (0)
Feb 10, 12-1 PM (0)
Feb 10, 1-2 PM (0)
Feb 10, 2-3 PM (0)
Feb 10, 3-4 PM (0)
Feb 10, 4-5 PM (0)
Feb 10, 5-6 PM (0)
Feb 10, 6-7 PM (0)
Feb 10, 7-8 PM (0)
Feb 10, 8-9 PM (0)
Feb 10, 9-10 PM (0)
Feb 10, 10-11 PM (0)
Feb 10, 11-12 AM (0)
Feb 11, 12-1 AM (0)
Feb 11, 1-2 AM (0)
Feb 11, 2-3 AM (0)
Feb 11, 3-4 AM (0)
Feb 11, 4-5 AM (0)
Feb 11, 5-6 AM (0)
Feb 11, 6-7 AM (0)
Feb 11, 7-8 AM (0)
Feb 11, 8-9 AM (0)
Feb 11, 9-10 AM (1)
Feb 11, 10-11 AM (0)
Feb 11, 11-12 PM (0)
Feb 11, 12-1 PM (0)
Feb 11, 1-2 PM (0)
Feb 11, 2-3 PM (0)
Feb 11, 3-4 PM (0)
Feb 11, 4-5 PM (0)
Feb 11, 5-6 PM (0)
Feb 11, 6-7 PM (0)
Feb 11, 7-8 PM (0)
Feb 11, 8-9 PM (0)
Feb 11, 9-10 PM (0)
Feb 11, 10-11 PM (0)
Feb 11, 11-12 AM (0)
Feb 12, 12-1 AM (0)
Feb 12, 1-2 AM (1)
Feb 12, 2-3 AM (0)
Feb 12, 3-4 AM (0)
Feb 12, 4-5 AM (0)
Feb 12, 5-6 AM (0)
Feb 12, 6-7 AM (1)
Feb 12, 7-8 AM (1)
Feb 12, 8-9 AM (0)
Feb 12, 9-10 AM (0)
Feb 12, 10-11 AM (0)
Feb 12, 11-12 PM (0)
Feb 12, 12-1 PM (0)
Feb 12, 1-2 PM (0)
Feb 12, 2-3 PM (0)
Feb 12, 3-4 PM (0)
Feb 12, 4-5 PM (0)
Feb 12, 5-6 PM (0)
Feb 12, 6-7 PM (0)
Feb 12, 7-8 PM (0)
Feb 12, 8-9 PM (0)
Feb 12, 9-10 PM (0)
Feb 12, 10-11 PM (0)
Feb 12, 11-12 AM (0)
Feb 13, 12-1 AM (0)
Feb 13, 1-2 AM (0)
Feb 13, 2-3 AM (0)
Feb 13, 3-4 AM (1)
Feb 13, 4-5 AM (1)
Feb 13, 5-6 AM (0)
Feb 13, 6-7 AM (0)
Feb 13, 7-8 AM (1)
Feb 13, 8-9 AM (0)
Feb 13, 9-10 AM (0)
Feb 13, 10-11 AM (0)
Feb 13, 11-12 PM (0)
Feb 13, 12-1 PM (0)
Feb 13, 1-2 PM (0)
Feb 13, 2-3 PM (0)
Feb 13, 3-4 PM (0)
Feb 13, 4-5 PM (0)
Feb 13, 5-6 PM (0)
Feb 13, 6-7 PM (0)
Feb 13, 7-8 PM (0)
Feb 13, 8-9 PM (0)
Feb 13, 9-10 PM (0)
Feb 13, 10-11 PM (0)
Feb 13, 11-12 AM (0)
Feb 14, 12-1 AM (0)
Feb 14, 1-2 AM (0)
Feb 14, 2-3 AM (0)
Feb 14, 3-4 AM (2)
Feb 14, 4-5 AM (1)
Feb 14, 5-6 AM (0)
Feb 14, 6-7 AM (0)
Feb 14, 7-8 AM (0)
Feb 14, 8-9 AM (1)
Feb 14, 9-10 AM (0)
Feb 14, 10-11 AM (0)
Feb 14, 11-12 PM (0)
Feb 14, 12-1 PM (0)
Feb 14, 1-2 PM (0)
Feb 14, 2-3 PM (0)
Feb 14, 3-4 PM (0)
Feb 14, 4-5 PM (0)
Feb 14, 5-6 PM (0)
Feb 14, 6-7 PM (0)
Feb 14, 7-8 PM (0)
Feb 14, 8-9 PM (0)
Feb 14, 9-10 PM (0)
Feb 14, 10-11 PM (0)
Feb 14, 11-12 AM (0)
Feb 15, 12-1 AM (0)
Feb 15, 1-2 AM (0)
Feb 15, 2-3 AM (1)
Feb 15, 3-4 AM (0)
Feb 15, 4-5 AM (0)
Feb 15, 5-6 AM (0)
Feb 15, 6-7 AM (0)
Feb 15, 7-8 AM (0)
13 commits this week Feb 08, 2026 - Feb 15, 2026
postgresql musl: cache breaker for orphaned store path recovery
Previous postgresql-musl builds completed successfully on darwin builders
but outputs were not registered in the Nix DB (Determinate Nix bug).
The queue runner cached these as failures and persists the cache even
after DB cleanup and log deletion. Adding a harmless preBuild step to
change the drv hash, forcing completely fresh builds now that orphaned
store paths have been cleaned on all builders.
Fix postgresql musl: clear disallowedReferences for cross-compilation
postgresql/generic.nix sets disallowedReferences = [ stdenv'.cc ] which
scans all outputs for references to the C compiler after build phases
complete. For musl cross-compilation, .pc files or .la files may retain
references to the cross-compiler toolchain path, causing the check to
fail silently — all build phases complete successfully with no error in
the log, but the build is recorded as failed.

This explains why postgresql-musl builds consistently "succeed" (all
phases including fixup and stripping complete) but are recorded as
failures on every builder, even with 400+ GB free disk space.
Fix postgresql musl: disable separateDebugInfo to prevent GC race
The postgresql musl cross-build completes all phases successfully
(buildPhase, installPhase, fixupPhase) but the outputs get garbage
collected by the builder's min-free auto-GC before they can be
transferred back to the hydra machine. The massive -debug output
(hundreds of debug symlinks) makes the nix-copy transfer too slow.

Disable separateDebugInfo to eliminate the -debug output entirely,
reducing transfer size and avoiding the GC race.

Both x86_64-musl (16 attempts on darwin-7) and aarch64-musl (6
attempts on darwin-6) exhibited this pattern: build log shows all
phases completing but outputs are absent from both builder and
hydra stores.
Fix postgresql musl: disable LTO instead of overriding llvmPackages
The previous approach (overriding llvmPackages_20 to use GCC stdenv)
eliminated the LLVM dependency but left GCC LTO active with GNU ld.
GCC LTO + GNU ld produces broken link output for postgresql (undefined
references in .ltrans objects to appendStringInfoString etc.).

The nixpkgs stdenv switch to LLVM bintools exists specifically to
provide ld.lld for GCC LTO. Rather than trying to make GCC LTO work
without LLVM, just disable LTO entirely via hardeningDisable.
Fix mingw32 cross-compilation: tzdata, libev, nghttp3
tzdata: The real issue is stdenv's `chmod +x $sourceRoot` after
unpackPhase (not makeSourcesWritable). When sourceRoot=".", this
fails on Determinate Nix macOS sandbox. Fix: extract into a
subdirectory so sourceRoot != ".".

libev: Move -lws2_32 from LDFLAGS to LIBS — libtool strips library
flags from LDFLAGS during the link step, so Winsock2 symbols were
never passed to the linker.

nghttp3: Use ENABLE_LIB_ONLY=ON instead of ENABLE_EXAMPLES=OFF —
nghttp3's CMakeLists.txt derives ENABLE_EXAMPLES from ENABLE_LIB_ONLY
(there is no separate ENABLE_EXAMPLES option).
Fix libev and nghttp3 mingw32 cross-compilation
libev: Add -lws2_32 alongside -no-undefined — libev uses Winsock2
functions (WSASend, WSARecv, ioctlsocket, socket, bind, etc.) that
live in ws2_32.dll and must be explicitly linked on Windows.

nghttp3: Disable examples — the qpack example programs include
<arpa/inet.h> which doesn't exist on Windows. The library itself
(libnghttp3.dll) builds successfully.
Fix postgresql musl: eliminate all 3 LLVM dependency paths
The previous fix (686f302) disabled jitSupport, removing --with-llvm
from configure flags. However, LLVM was still pulled in through the
stdenv: generic.nix unconditionally switches to llvmPackages.stdenv
with LLVM bintools when the input stdenv uses GCC (for LTO support).

This creates a dependency chain:
  postgresql → stdenv-linux → clang-wrapper → llvm-binutils → llvm-musl

Fix by overriding llvmPackages.{stdenv,bintools} to use the normal
GCC-based musl stdenv, making the LTO stdenv switch a no-op.

Three LLVM dependency paths now eliminated:
1. JIT: jitSupport=false removes --with-llvm and LLVM build inputs
2. LTO: llvmPackages override prevents stdenv switch to LLVM
3. Validation: outputChecks={} removes disallowedRequisites refs
Fix postgresql musl overlay: clear outputChecks referencing LLVM
The previous approach (override { jitSupport = false }) was a no-op
because jitSupport already defaults to false for musl/static builds.

The actual issue: nixpkgs-2511 postgresql/generic.nix unconditionally
includes llvmPackages.llvm in outputChecks.{out,lib}.disallowedRequisites,
regardless of jitSupport. This forces Nix to build LLVM just for output
validation checks. LLVM 20's SLPVectorizer.cpp OOMs during musl
cross-compilation (4-8 GB RAM per thread), blocking all iog-full static
builds.

Fix: clear outputChecks entirely for the musl postgresql override.
Disable PostgreSQL JIT for musl to avoid LLVM OOM
PostgreSQL's JIT support pulls in LLVM 20, which OOMs during musl
cross-compilation (SLPVectorizer.cpp requires 4-8 GB RAM per thread).
JIT is unnecessary for static build environments, so disabling it
removes the LLVM dependency entirely.

This fixes the 28 *-static-iog-full-* build failures across
aarch64-linux and x86_64-linux platforms (eval 372).
Fix eval 370 build failures: OpenSSL musl test + happy disallowGhcReference
Two root cause fixes for the 92 cascading build failures in eval 370:

1. OpenSSL musl cross-build (48 aarch64-linux static failures):
   Skip the flaky 82-test_ocsp_cert_chain.t test which fails in the nix
   sandbox. Only 1 of 3888 tests fails, testing OCSP stapling which
   requires network conditions unavailable in sandboxed cross-compilation.

2. happy-2.1.7 disallowedRequisites (8 aarch64-darwin minimal-ghc failures):
   nixpkgs-2511 enables disallowGhcReference=true in justStaticExecutables.
   The happy binary transitively references GHC through happy-lib, and
   postFixup's rm -rf $out/lib cannot break this reference chain since
   happy-lib lives in the Nix store. Override to disable the check.