#36233 guix: Update time-machine to `60f6956aeffa7f30285745bd0ea615e9acfc74f8`

full analysis

https://github.com/bitcoin/bitcoin/pull/36233 · hebasto · +27/-5 in 3 files, 2 commits · labels: Build system, DrahtBot Guix build requested · draft

Goal

  • Enable native reproducible Guix builds on RISC-V hardware
  • Bypass failing upstream tests and fix dependencies when building on riscv64 hosts

Updates the Guix time-machine commit to enable native builds on RISC-V architectures and bumps python-lief in CI lint requirements to match. In manifest_gui.scm, it disables tests for python-psutil, python-pytest-xprocess, and python-sh when building python-lief on riscv64 to bypass upstream test failures.

Problem: Running Guix builds natively on RISC-V fails because python-lief 0.17.5 transitively depends on python-msgspec which lacked riscv64 support, and subsequent test suites fail on riscv64 hosts.

Category: Build and CI (#11 of 55)

P3 · platform fix

  • P3 because it fixes native builds on RISC-V for developers running riscv64 hardware
  • Native RISC-V builds are not a tier-one release requirement
  • Updates the build commit cleanly without breaking reproducibility on other hosts

P3 because fixing native Guix builds on RISC-V is a worthwhile platform fix for developers running riscv64 hardware, but native RISC-V building is not a tier-one release requirement. The PR also bumps the time-machine cleanly without breaking reproducibility for other hosts.

Membership: Modifies Guix reproducible build manifests, the time-machine pin, and CI lint requirements.

Factors: security/stability 0, bug 1, performance 0, user value 1, leverage 1

Reviewability: Ready

  • Ready for review
  • Deterministic build hashes match across testers on x86_64 and aarch64

Deterministic build hashes match across four independent testers on x86_64 and aarch64; review of the Scheme modifications is not expected to be invalidated.

Author status: active, running native verification on RISC-V hardware

Open concerns:

  • Native RISC-V SBC compilation takes a long time, and author's local verification on hardware is in progress.

Resolved concerns:

  • Initial failure on aarch64 due to missing distutils in rust build environment was resolved by updating the target time-machine commit.
  • Inline spelling nit in comments addressed by the author.

Agreement: Strong

  • Strong consensus with multiple contributors verifying matching outputs
  • Signed review approval on the latest commit (maflcko)
  • Verified identical Guix build hashes on x86_64 (fanquake, willcl-ark, Sjors)
  • Verified identical Guix build hashes on x86_64 and aarch64 (hebasto)

Multiple contributors verified identical Guix outputs and maflcko provided a signed review ACK.

Four contributors verified that outputs match across architectures, fanquake and hebasto resolved earlier build issues, and maflcko signed a review ACK.

  • maflcko provided a signed review ACK on the latest commit
  • fanquake, willcl-ark, and Sjors confirmed matching Guix hashes on x86_64
  • hebasto confirmed matching hashes on x86_64 and aarch64

Review verdicts (DrahtBot): 1

Files

32 lines under test/bench/ci.

  • contrib/guix/manifest_gui.scm +25/-3
  • ci/lint/requirements.txt +1/-1
  • contrib/guix/libexec/prelude.bash +1/-1

Card

This PR updates the Guix time-machine pin and overrides test execution for three transitive python-lief dependencies that fail when compiling natively on riscv64 hosts. It resolves issue #36232 to permit native Guix builds on RISC-V hardware without needing extensive toolchain upgrades. Multiple reviewers have independently reproduced identical Guix output hashes on x86_64 and aarch64, and the change has a signed review ACK from maflcko. It is currently in draft while the author finishes a slow build on a native RISC-V board, but the patch is functional and reviewable.

Data

dossier JSON · extract JSON · model openrouter/google/gemini-3.8-flash, generated 2026-09-17T16:24, confidence high, input hash 00d9580de98402e0