Somewhat of a followup to #35537.
guix: move `python-minimal` to Linux GUI build #35870
pull fanquake wants to merge 2 commits into bitcoin:master from fanquake:no_python_linux_nongui changing 5 files +6 −9-
fanquake commented at 11:01 AM on August 3, 2026: member
- DrahtBot added the label Build system on Aug 3, 2026
-
DrahtBot commented at 11:01 AM on August 3, 2026: contributor
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--006a51241073e994b41acfe9ec718e94-->
Code Coverage & Benchmarks
For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/35870.
<!--021abf342d371248e50ceaed478a90ca-->
Reviews
See the guideline and AI policy for information on the review process.
If your review is incorrectly listed, please copy-paste <code><!--meta-tag:bot-skip--></code> into the comment that the bot should ignore.
<!--174a7506f384e20aa4161008e828411d-->
Conflicts
Reviewers, this pull request conflicts with the following ones:
- #35855 (guix: update time-machine by fanquake)
- #25573 (guix: produce a
-static-piebitcoind by fanquake)
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.
<!--5faf32d7da4f0f540f40219e4f7537a3-->
-
in contrib/guix/libexec/build_linux.sh:69 in 8b9b1b0d7b outdated
65 | @@ -66,8 +66,7 @@ mkdir -p "$DISTSRC" 66 | -DCMAKE_INSTALL_PREFIX="${INSTALLPATH}" \ 67 | -DCMAKE_SKIP_RPATH=TRUE \ 68 | -DREDUCE_EXPORTS=ON \ 69 | - -DWITH_CCACHE=OFF \ 70 | - -Werror=dev 71 | + -DWITH_CCACHE=OFF
fanquake commented at 11:04 AM on August 3, 2026:Unrelated, but while we are here, I think we could also drop
-DWITH_CCACHE=OFFfrom all of our CMake invocations in Guix.101400b28fguix: remove -Werror=dev
Otherwise the build will fail with warnings about missing Python (removed in the next commit). However the non-gui build does not need Python. Note that #25573 contains the same change, because the use of -static-pie causes warnings when combined with our/CMakes own PIE handling.
in contrib/guix/libexec/build_linux.sh:70 in 8b9b1b0d7b outdated
65 | @@ -66,8 +66,7 @@ mkdir -p "$DISTSRC" 66 | -DCMAKE_INSTALL_PREFIX="${INSTALLPATH}" \ 67 | -DCMAKE_SKIP_RPATH=TRUE \ 68 | -DREDUCE_EXPORTS=ON \ 69 | - -DWITH_CCACHE=OFF \ 70 | - -Werror=dev
maflcko commented at 11:45 AM on August 3, 2026:Seems fine to remove, but I wonder if it would be cleaner to instead remove all of the python stuff in cmake:
diff --git a/CMakeLists.txt b/CMakeLists.txt index 8d67320..f3473fb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -608,16 +608,2 @@ endif() -# Prefer Unix-style package components over frameworks on macOS. -# This improves compatibility with Python version managers. -set(Python3_FIND_FRAMEWORK LAST CACHE STRING "") -# Search for generic names before more specialized ones. This -# improves compatibility with Python version managers that use shims. -set(Python3_FIND_UNVERSIONED_NAMES FIRST CACHE STRING "") -mark_as_advanced(Python3_FIND_FRAMEWORK Python3_FIND_UNVERSIONED_NAMES) -find_package(Python3 3.10 COMPONENTS Interpreter) -if(NOT TARGET Python3::Interpreter) - list(APPEND configure_warnings - "Minimum required Python not found." - ) -endif() - target_compile_definitions(core_interface INTERFACE ${DEPENDS_COMPILE_DEFINITIONS}) diff --git a/cmake/module/Maintenance.cmake b/cmake/module/Maintenance.cmake index 43e145d..0af52e4 100644 --- a/cmake/module/Maintenance.cmake +++ b/cmake/module/Maintenance.cmake @@ -67,3 +67,3 @@ function(add_macos_deploy_target) OUTPUT ${PROJECT_BINARY_DIR}/${macos_zip}.zip - COMMAND Python3::Interpreter ${PROJECT_SOURCE_DIR}/contrib/macdeploy/macdeployqtplus ${macos_app} -translations-dir=${QT_TRANSLATIONS_DIR} -zip=${macos_zip} + COMMAND ${PROJECT_SOURCE_DIR}/contrib/macdeploy/macdeployqtplus ${macos_app} -translations-dir=${QT_TRANSLATIONS_DIR} -zip=${macos_zip} DEPENDS ${PROJECT_BINARY_DIR}/${macos_app}/Contents/MacOS/Bitcoin-Qt @@ -80,3 +80,3 @@ function(add_macos_deploy_target) OUTPUT ${PROJECT_BINARY_DIR}/dist/${macos_app}/Contents/MacOS/Bitcoin-Qt - COMMAND ${CMAKE_COMMAND} -E env OBJDUMP=${CMAKE_OBJDUMP} $<TARGET_FILE:Python3::Interpreter> ${PROJECT_SOURCE_DIR}/contrib/macdeploy/macdeployqtplus ${macos_app} -translations-dir=${QT_TRANSLATIONS_DIR} + COMMAND ${CMAKE_COMMAND} -E env OBJDUMP=${CMAKE_OBJDUMP} ${PROJECT_SOURCE_DIR}/contrib/macdeploy/macdeployqtplus ${macos_app} -translations-dir=${QT_TRANSLATIONS_DIR} DEPENDS ${PROJECT_BINARY_DIR}/${macos_app}/Contents/MacOS/Bitcoin-Qt- The symbol-check.py is already only called in guix by directly calling python3, so it is independent.
- Changing
macdeployqtplusto do the same seems fine, because if it were to fail, the user can just install python3 and run the command again? - Running the functional tests inside guix isn't a thing, and if we want a sanity check for places that run the functional tests, one could move the check there:
diff --git a/test/functional/test_runner.py b/test/functional/test_runner.py index 6d1fabc..cbd3f9f 100755 --- a/test/functional/test_runner.py +++ b/test/functional/test_runner.py @@ -416,2 +416,5 @@ NON_SCRIPTS = [ def main(): + if sys.version_info < (3, 10): + sys.exit("Python 3.10 or newer is required") + # Parse arguments and pass through unrecognised argsbut no strong opinion.
fanquake commented at 12:43 PM on August 3, 2026:I wonder if it would be cleaner to instead remove all of the python stuff in cmake:
Possibly, but I think that is more involved than I want to do here (just move Python out). It also seems like developer preference is to have checks like these i.e #34580. So not sure if removing the checks, and pushing the failure to runtime would be happen.
fanquake force-pushed on Aug 3, 2026guix: move python-minimal to GUI build b75eb938a0in contrib/guix/manifest_gui.scm:16 in 0fa4c0befc
12 | @@ -12,6 +13,8 @@ 13 | xz 14 | ;; Build tools 15 | ninja 16 | + ;; Scripting
maflcko commented at 1:44 PM on August 3, 2026:nit (feel free to ignore): Could better clarify what this is used for? I presume for the
;; Packaging script(package.sh)
fanquake commented at 1:48 PM on August 3, 2026:Added.
fanquake force-pushed on Aug 3, 2026maflcko commented at 2:04 PM on August 3, 2026: memberlgtm ACK b75eb938a0413a508ddf962fe6c7c01fb3a19731
Seems fine
fanquake added the label DrahtBot Guix build requested on Aug 3, 2026fanquake commented at 3:45 PM on August 3, 2026: memberGuix Build (aarch64)
3e8184bbaa85e624950fd8b1fac6dca7eacd1527d534826b4a98903af36bd69b guix-build-b75eb938a041/output/aarch64-linux-gnu/SHA256SUMS.part 12079b11fc1a669c98f41196a06598326914bae94ee80166b6100c4580acc10a guix-build-b75eb938a041/output/aarch64-linux-gnu/bitcoin-b75eb938a041-aarch64-linux-gnu-debug.tar.gz 0f81a156fc018af07beaa6141179acf451e46cac6a83cd061885d1afd780f9cc guix-build-b75eb938a041/output/aarch64-linux-gnu/bitcoin-b75eb938a041-aarch64-linux-gnu.tar.gz e27834b11263b3ec3f86eb1c72ddd2d70ded1766daea2a67b4ed414879798a6a guix-build-b75eb938a041/output/arm-linux-gnueabihf/SHA256SUMS.part 536bee03b60a7c72bae47071eb55846a1451923a3f5c8aac311b5e089ff10167 guix-build-b75eb938a041/output/arm-linux-gnueabihf/bitcoin-b75eb938a041-arm-linux-gnueabihf-debug.tar.gz a694cf41c6852ccfa9bd5ec74d28ca9eeb3ddc77f0ffc183acc8d4941455f35d guix-build-b75eb938a041/output/arm-linux-gnueabihf/bitcoin-b75eb938a041-arm-linux-gnueabihf.tar.gz 66e7fce6f6a115a87faf7b6919711232124c8aebcb5bbc8671f89b13c17c01b2 guix-build-b75eb938a041/output/arm64-apple-darwin/SHA256SUMS.part ef8f511d3638872d1b1f9e23be13c44d5c48eb8180006b7bb680473a710ae900 guix-build-b75eb938a041/output/arm64-apple-darwin/bitcoin-b75eb938a041-arm64-apple-darwin-codesigning.tar.gz 9da60189d60a2ed03bbdfc859a91120bffb2a852f6f2d89271f4c4bd735cd23a guix-build-b75eb938a041/output/arm64-apple-darwin/bitcoin-b75eb938a041-arm64-apple-darwin-unsigned.tar.gz 6710ef5cb488ef716e3c2ec4b2960a0d86fd1cbc52fd8f68d72c9ade36986b32 guix-build-b75eb938a041/output/arm64-apple-darwin/bitcoin-b75eb938a041-arm64-apple-darwin-unsigned.zip b2b72545d9fcc266d18557cf7ac7c64306422ba376447e8b642924438b2f5da2 guix-build-b75eb938a041/output/dist-archive/bitcoin-b75eb938a041.tar.gz d6c13217687291973d5efc56e40e9dca668090e1c0ccbbc72ebf9cd5769a83b6 guix-build-b75eb938a041/output/powerpc64-linux-gnu/SHA256SUMS.part ae5d62a4a7056d818af618d46b3c86f3741384ca353c83f9c0b5803e42db0f4a guix-build-b75eb938a041/output/powerpc64-linux-gnu/bitcoin-b75eb938a041-powerpc64-linux-gnu-debug.tar.gz bb071f6ef30c5d0052302e3eebeece68b9d2bdacc47c985baf8f0292335fa323 guix-build-b75eb938a041/output/powerpc64-linux-gnu/bitcoin-b75eb938a041-powerpc64-linux-gnu.tar.gz 0625fea19df99d9d2a4789ee998d1c481ef00dfef9418ee1e424770c165f114f guix-build-b75eb938a041/output/riscv64-linux-gnu/SHA256SUMS.part 0eecd21f18248fc887f89fc4bbd582cecb8989dc8b4a452790aa068aa732ff9f guix-build-b75eb938a041/output/riscv64-linux-gnu/bitcoin-b75eb938a041-riscv64-linux-gnu-debug.tar.gz 664f886c2faa37d9875753aaec3596539443429d78155df0dd9f98f3c3cd083a guix-build-b75eb938a041/output/riscv64-linux-gnu/bitcoin-b75eb938a041-riscv64-linux-gnu.tar.gz 2a6031b36013124ab0e25ff4aa993c5200cf110d02a00ad4977fd00da115c08e guix-build-b75eb938a041/output/x86_64-apple-darwin/SHA256SUMS.part 26277d41f6e440528c49d26f5d0f3bdd0c1636d04fdd7198cd63c55d1915b314 guix-build-b75eb938a041/output/x86_64-apple-darwin/bitcoin-b75eb938a041-x86_64-apple-darwin-codesigning.tar.gz deae63a5df918dd5854378d86707298325ea4bd0b7b41c9f49831ea679220d74 guix-build-b75eb938a041/output/x86_64-apple-darwin/bitcoin-b75eb938a041-x86_64-apple-darwin-unsigned.tar.gz d67df5439f677cee26a9a89a0a2753accb850464e1964867cdc443434df90f44 guix-build-b75eb938a041/output/x86_64-apple-darwin/bitcoin-b75eb938a041-x86_64-apple-darwin-unsigned.zip 25110f01badce6c4ac285a84bbedb99b823254d6dafe50b738ff6bbd519d3bf9 guix-build-b75eb938a041/output/x86_64-linux-gnu/SHA256SUMS.part 5fcd7b11b1f3ce4b4572ae517c690b7257eb652eda0675f538ec70d93fc9636b guix-build-b75eb938a041/output/x86_64-linux-gnu/bitcoin-b75eb938a041-x86_64-linux-gnu-debug.tar.gz 4bdcd662b80c16c3d388b324becc0190bff218cfb69fddc01f03223ed7acf601 guix-build-b75eb938a041/output/x86_64-linux-gnu/bitcoin-b75eb938a041-x86_64-linux-gnu.tar.gz 3dbe271c83c2de82b73f981ad1de054ed4d17335fa6ff1d0b02d0cc7011eb28f guix-build-b75eb938a041/output/x86_64-w64-mingw32/SHA256SUMS.part 2336068998b4eee197f87c6bf2a2c9ed21b538ea4e6098a67e77b716dff6d3fa guix-build-b75eb938a041/output/x86_64-w64-mingw32/bitcoin-b75eb938a041-win64-codesigning.tar.gz 89fe2655239c4225a7b9fbcbda40612aeb05ad66fd3b26fe159f6819baf3ebb4 guix-build-b75eb938a041/output/x86_64-w64-mingw32/bitcoin-b75eb938a041-win64-debug.zip abb011cc62d9aeda1c2b2c2bb60bd1ac60b139ffa9b49d44e0ad97a0a5413709 guix-build-b75eb938a041/output/x86_64-w64-mingw32/bitcoin-b75eb938a041-win64-setup-unsigned.exe 6fd4b553d830802e1e230669b106b566ad9686c6b4e87c629717cc1f45739f82 guix-build-b75eb938a041/output/x86_64-w64-mingw32/bitcoin-b75eb938a041-win64-unsigned.zipjanb84 commented at 7:14 AM on August 4, 2026: contributorMy Guix Build Output
Host architecture:
aarch64Commit:b75eb9383e8184bbaa85e624950fd8b1fac6dca7eacd1527d534826b4a98903af36bd69b guix-build-b75eb938a041/output/aarch64-linux-gnu/SHA256SUMS.part 12079b11fc1a669c98f41196a06598326914bae94ee80166b6100c4580acc10a guix-build-b75eb938a041/output/aarch64-linux-gnu/bitcoin-b75eb938a041-aarch64-linux-gnu-debug.tar.gz 0f81a156fc018af07beaa6141179acf451e46cac6a83cd061885d1afd780f9cc guix-build-b75eb938a041/output/aarch64-linux-gnu/bitcoin-b75eb938a041-aarch64-linux-gnu.tar.gz e27834b11263b3ec3f86eb1c72ddd2d70ded1766daea2a67b4ed414879798a6a guix-build-b75eb938a041/output/arm-linux-gnueabihf/SHA256SUMS.part 536bee03b60a7c72bae47071eb55846a1451923a3f5c8aac311b5e089ff10167 guix-build-b75eb938a041/output/arm-linux-gnueabihf/bitcoin-b75eb938a041-arm-linux-gnueabihf-debug.tar.gz a694cf41c6852ccfa9bd5ec74d28ca9eeb3ddc77f0ffc183acc8d4941455f35d guix-build-b75eb938a041/output/arm-linux-gnueabihf/bitcoin-b75eb938a041-arm-linux-gnueabihf.tar.gz 66e7fce6f6a115a87faf7b6919711232124c8aebcb5bbc8671f89b13c17c01b2 guix-build-b75eb938a041/output/arm64-apple-darwin/SHA256SUMS.part ef8f511d3638872d1b1f9e23be13c44d5c48eb8180006b7bb680473a710ae900 guix-build-b75eb938a041/output/arm64-apple-darwin/bitcoin-b75eb938a041-arm64-apple-darwin-codesigning.tar.gz 9da60189d60a2ed03bbdfc859a91120bffb2a852f6f2d89271f4c4bd735cd23a guix-build-b75eb938a041/output/arm64-apple-darwin/bitcoin-b75eb938a041-arm64-apple-darwin-unsigned.tar.gz 6710ef5cb488ef716e3c2ec4b2960a0d86fd1cbc52fd8f68d72c9ade36986b32 guix-build-b75eb938a041/output/arm64-apple-darwin/bitcoin-b75eb938a041-arm64-apple-darwin-unsigned.zip b2b72545d9fcc266d18557cf7ac7c64306422ba376447e8b642924438b2f5da2 guix-build-b75eb938a041/output/dist-archive/bitcoin-b75eb938a041.tar.gz d6c13217687291973d5efc56e40e9dca668090e1c0ccbbc72ebf9cd5769a83b6 guix-build-b75eb938a041/output/powerpc64-linux-gnu/SHA256SUMS.part ae5d62a4a7056d818af618d46b3c86f3741384ca353c83f9c0b5803e42db0f4a guix-build-b75eb938a041/output/powerpc64-linux-gnu/bitcoin-b75eb938a041-powerpc64-linux-gnu-debug.tar.gz bb071f6ef30c5d0052302e3eebeece68b9d2bdacc47c985baf8f0292335fa323 guix-build-b75eb938a041/output/powerpc64-linux-gnu/bitcoin-b75eb938a041-powerpc64-linux-gnu.tar.gz 0625fea19df99d9d2a4789ee998d1c481ef00dfef9418ee1e424770c165f114f guix-build-b75eb938a041/output/riscv64-linux-gnu/SHA256SUMS.part 0eecd21f18248fc887f89fc4bbd582cecb8989dc8b4a452790aa068aa732ff9f guix-build-b75eb938a041/output/riscv64-linux-gnu/bitcoin-b75eb938a041-riscv64-linux-gnu-debug.tar.gz 664f886c2faa37d9875753aaec3596539443429d78155df0dd9f98f3c3cd083a guix-build-b75eb938a041/output/riscv64-linux-gnu/bitcoin-b75eb938a041-riscv64-linux-gnu.tar.gz 2a6031b36013124ab0e25ff4aa993c5200cf110d02a00ad4977fd00da115c08e guix-build-b75eb938a041/output/x86_64-apple-darwin/SHA256SUMS.part 26277d41f6e440528c49d26f5d0f3bdd0c1636d04fdd7198cd63c55d1915b314 guix-build-b75eb938a041/output/x86_64-apple-darwin/bitcoin-b75eb938a041-x86_64-apple-darwin-codesigning.tar.gz deae63a5df918dd5854378d86707298325ea4bd0b7b41c9f49831ea679220d74 guix-build-b75eb938a041/output/x86_64-apple-darwin/bitcoin-b75eb938a041-x86_64-apple-darwin-unsigned.tar.gz d67df5439f677cee26a9a89a0a2753accb850464e1964867cdc443434df90f44 guix-build-b75eb938a041/output/x86_64-apple-darwin/bitcoin-b75eb938a041-x86_64-apple-darwin-unsigned.zip 25110f01badce6c4ac285a84bbedb99b823254d6dafe50b738ff6bbd519d3bf9 guix-build-b75eb938a041/output/x86_64-linux-gnu/SHA256SUMS.part 5fcd7b11b1f3ce4b4572ae517c690b7257eb652eda0675f538ec70d93fc9636b guix-build-b75eb938a041/output/x86_64-linux-gnu/bitcoin-b75eb938a041-x86_64-linux-gnu-debug.tar.gz 4bdcd662b80c16c3d388b324becc0190bff218cfb69fddc01f03223ed7acf601 guix-build-b75eb938a041/output/x86_64-linux-gnu/bitcoin-b75eb938a041-x86_64-linux-gnu.tar.gz 3dbe271c83c2de82b73f981ad1de054ed4d17335fa6ff1d0b02d0cc7011eb28f guix-build-b75eb938a041/output/x86_64-w64-mingw32/SHA256SUMS.part 2336068998b4eee197f87c6bf2a2c9ed21b538ea4e6098a67e77b716dff6d3fa guix-build-b75eb938a041/output/x86_64-w64-mingw32/bitcoin-b75eb938a041-win64-codesigning.tar.gz 89fe2655239c4225a7b9fbcbda40612aeb05ad66fd3b26fe159f6819baf3ebb4 guix-build-b75eb938a041/output/x86_64-w64-mingw32/bitcoin-b75eb938a041-win64-debug.zip abb011cc62d9aeda1c2b2c2bb60bd1ac60b139ffa9b49d44e0ad97a0a5413709 guix-build-b75eb938a041/output/x86_64-w64-mingw32/bitcoin-b75eb938a041-win64-setup-unsigned.exe 6fd4b553d830802e1e230669b106b566ad9686c6b4e87c629717cc1f45739f82 guix-build-b75eb938a041/output/x86_64-w64-mingw32/bitcoin-b75eb938a041-win64-unsigned.zipjanb84 commented at 8:11 AM on August 4, 2026: contributorACK b75eb938a0413a508ddf962fe6c7c01fb3a19731
Although commit message 101400b28f7762ad75335db4fda3fee1d6bb8023 describes why it is necessary to remove -Werror=dev it does not describe why it's safe to remove.
The possible PIE-regression is caught after the build by security-check.py, which runs from package.sh in the GUI build and inspects the non-GUI binaries too via the shared INSTALLPATH (not sure if intentional or still a thing from before the split). And because we use
-Werror=devon every CI build on the same targets as the Guix builds produce, dropping it here will not lose any meaningful coverage (imho)fanquake merged this on Aug 4, 2026fanquake closed this on Aug 4, 2026fanquake deleted the branch on Aug 4, 2026DrahtBot commented at 9:38 AM on August 4, 2026: contributor<!--9cd9c72976c961c55c7acef8f6ba82cd-->
Guix builds (on x86_64) [untrusted test-only build, possibly unsafe, not for production use]
DrahtBot removed the label DrahtBot Guix build requested on Aug 4, 2026Labels
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-08-05 06:51 UTC
More mirrored repositories can be found on mirror.b10c.me