#36589 [32.x] Guix related backports
| Reviewability | Reviews | Agreement | Size | ||||
|---|---|---|---|---|---|---|---|
| #36589 [32.x] Guix related backports | Ready | 0 | Crickets | 4,071 + 682 tests | |||
|
|
|
|
| |||
Reviewability: ReadyStalePaused Agreement: StrongPositivePositive w/ caveatsNeutralMildDisputedBlockedCrickets Reviews: current code-review ACKs, then (+stale ACKs) and -NACKs; greener = more ACKs. Size: lines added or modified outside tests, then in tests; greener = smaller. | |||||||
Goal
Backports Guix build configuration updates from master to the 32.x maintenance branch. It bumps the Guix time-machine commit, skips tests that fail during native builds on riscv64, explicitly declares python-setuptools, and updates certvalidator for Python 3.12 compatibility.
Problem: Deterministic release binaries cannot be built natively on RISC-V hardware on the 32.x branch due to package test failures and Guix time-machine limitations. In addition, updating to Python 3.12 broke Guix builds requiring setuptools and the test loader in certvalidator.
Evidence of importance:
- Commit a5e6a09956 notes it 'is necessary to unblock building on RISC-V systems' and fixes issue #36232.
- Commit 58938225a1 explains that python-lief and nsis-x86_64 transitively pull in packages whose tests fail when building natively on riscv64.
- PR description states: 'These backports re-enable building release binaries on RISC-V hardware.'
Scope: The 4 commits in the PR only touch 4 Guix files (+42/-11), but the diff provided against the merge base includes numerous unrelated branch commits from 32.x vs master.
Risk of a mistake: medium (build). Mistakes in Guix manifests or time-machine revisions affect release binary reproducibility and builder toolchains.
Reviewability
Ready
Nothing known that would invalidate a review now.
Waiting on (from the thread read):
- reviewer: review and verification of backports and Guix build results 2026-10-24
Agreement
Crickets
no substantive comment either way
Thread notes: Author provided Guix build outputs on x86_64 and riscv64 confirming matching hashes.
Objections, suggestions, and questions: none recorded.
Participants:
- StephenChi-hi (none, support, 1 statements 2026-10-21 to 2026-10-21): Concept ACK with no rationale
- fanquake (member, neutral, 1 statements 2026-10-21 to 2026-10-21): noted this is not a candidate for 32.1 and removed it from the milestone
Files
902 lines under test/bench/ci.
- doc/man/bitcoin-qt.1 +885/-3
- doc/man/bitcoind.1 +863/-3
- share/examples/bitcoin.conf +738/-1
- doc/release-notes.md +578/-0
- doc/man/bitcoin-cli.1 +214/-3
- doc/man/bitcoin-tx.1 +157/-3
- test/functional/interface_http.py +102/-56
- doc/man/bitcoin-wallet.1 +118/-3
- test/functional/feature_fee_estimation.py +105/-10
- doc/release-notes-empty-template.md +0/-108
- test/functional/p2p_private_broadcast_completion.py +99/-0
- src/test/fuzz/private_broadcast.cpp +52/-39
- doc/man/bitcoin-util.1 +80/-3
- src/private_broadcast.cpp +49/-17
- doc/man/bitcoin.1 +57/-3
- src/test/private_broadcast_tests.cpp +41/-11
- src/net_processing.cpp +28/-23
- src/private_broadcast.h +40/-11
- src/torcontrol.cpp +16/-33
- test/functional/feature_init.py +23/-25
- src/wallet/walletutil.h +32/-14
- src/init.cpp +19/-22
- contrib/guix/manifest_gui.scm +30/-5
- src/test/denialofservice_tests.cpp +34/-1
- contrib/guix/manifest_codesign.scm +26/-5
- src/rpc/fees.cpp +17/-12
- ci/test/02_run_container.py +21/-7
- contrib/devtools/shell-win64-cross.nix +21/-7
- src/policy/fees/estimator_man.cpp +15/-12
- src/script/descriptor.cpp +22/-4
- src/test/node_init_tests.cpp +24/-0
- test/functional/feature_asmap.py +18/-6
- test/functional/wallet_backwards_compatibility.py +10/-14
- src/wallet/walletutil.cpp +16/-1
- test/functional/feature_torcontrol.py +16/-0
- doc/asmap-data.md +13/-1
- src/policy/fees/estimator_man.h +12/-2
- src/rpc/net.cpp +8/-5
- src/netgroup.cpp +11/-1
- src/rpc/mempool.cpp +7/-5
- src/test/util/script.h +6/-6
- test/functional/feature_bind_port_discover.py +7/-5
- src/httpserver.cpp +10/-0
- src/util/fees.cpp +6/-4
- src/test/fees_util_tests.cpp +6/-3
- test/functional/feature_bind_port_externalip.py +5/-4
- test/get_previous_releases.py +9/-0
- src/netgroup.h +2/-6
- src/policy/fees/mempool_estimator.cpp +8/-0
- src/wallet/walletdb.cpp +4/-4
- contrib/guix/libexec/codesign.sh +6/-1
- src/wallet/rpc/spend.cpp +3/-3
- test/functional/rpc_estimatefee.py +4/-2
- src/util/fees.h +3/-2
- src/util/sock.cpp +5/-0
- .github/actions/configure-docker/action.yml +4/-0
- CMakeLists.txt +2/-2
- src/bitcoin-util.cpp +3/-1
- src/net.cpp +2/-2
- src/rpc/rawtransaction.cpp +2/-2
- src/rpc/server.cpp +2/-2
- src/wallet/test/wallet_tests.cpp +2/-2
- src/wallet/wallet.h +2/-2
- src/httpserver.h +3/-0
- src/wallet/scriptpubkeyman.cpp +1/-2
- test/functional/interface_bitcoin_cli.py +3/-0
- ci/lint/requirements.txt +1/-1
- contrib/guix/libexec/prelude.bash +1/-1
- src/bitcoin-tx.cpp +2/-0
- src/bitcoin-wallet.cpp +2/-0
- src/clientversion.cpp +1/-1
- src/net.h +1/-1
- src/node/interfaces.cpp +1/-1
- src/node/miner.cpp +1/-1
- src/rpc/blockchain.cpp +1/-1
- src/script/descriptor.h +1/-1
- src/test/fuzz/fees.cpp +1/-1
- test/functional/data/util/getchainparams-mainnet.json +1/-1
- test/functional/data/util/getchainparams-regtest.json +1/-1
- test/functional/data/util/getchainparams-signet-custom.json +1/-1
- test/functional/data/util/getchainparams-signet.json +1/-1
- test/functional/data/util/getchainparams-testnet.json +1/-1
- test/functional/data/util/getchainparams-testnet4.json +1/-1
- test/functional/feature_config_args.py +1/-1
- test/functional/rpc_openrpc.py +1/-1
- doc/bips.md +1/-0
- src/logging.cpp +1/-0
- src/logging/categories.h +1/-0
- src/policy/fees/mempool_estimator.h +1/-0
- test/functional/test_runner.py +1/-0
Card
The short text the ranking pass compares across PRs.
Backports Guix build configuration fixes from master to the 32.x maintenance branch to re-enable building release binaries on RISC-V hardware. It updates the Guix time-machine commit, skips failing tests for packages on riscv64, and addresses Python 3.12 incompatibilities with setuptools and certvalidator. This backports upstream fixes from PR #36233 and PR #36425, resolving issue #36232 for the 32.x release cycle.
Data
thread read through 2026-10-24 (5 statements), head 7ec938c5cc
labels: Build system, Backport
Categories
Build and CI
P2 · platform fix
Fixes release binary building on RISC-V hardware and resolves Guix build failures under Python 3.12 for the 32.x release branch. The PR description notes that these backports 're-enable building release binaries on RISC-V hardware' and fix broken builds, addressing supported-platform build failures.
Membership: Has the Build system label and updates Guix manifests in contrib/guix/ to restore release builds on RISC-V and Python 3.12.
Factors: security/stability 0, bug 1, performance 0, user value 1, leverage 1