guix: split builds into Linux, Linux GUI and macOS/Windows #35537

pull fanquake wants to merge 3 commits into bitcoin:master from fanquake:split_gui_build_split changing 17 files +702 −317
  1. fanquake commented at 5:40 PM on June 15, 2026: member

    The next change split out of #25573, which splits the Guix build into separate Linux, Linux GUI, macOS, macOS GUI and Windows and Windows GUI builds.

    Closes #29914.

  2. DrahtBot added the label Build system on Jun 15, 2026
  3. DrahtBot commented at 5:40 PM on June 15, 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/35537.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline and AI policy for information on the review process.

    Type Reviewers
    ACK hebasto
    Concept ACK Sjors

    If your review is incorrectly listed, please copy-paste <code>&lt;!--meta-tag:bot-skip--&gt;</code> into the comment that the bot should ignore.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #35746 (ci: Test build directory path with spaces by hebasto)
    • #32764 (guix: Build for macOS using Clang only by hebasto)
    • #32162 (depends: Switch from multilib to platform-specific toolchains by hebasto)
    • #25573 (guix: produce a -static-pie bitcoind 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-->

  4. fanquake added the label DrahtBot Guix build requested on Jun 15, 2026
  5. hebasto commented at 7:52 PM on June 15, 2026: member

    Concept ACK.

    ... splits the Guix build into Linux, Linux GUI and macOS/Windows builds.

    Closes #29914.

    As this PR only only addresses #29914 for Linux targets, should the issue remain open for macOS and Windows?

  6. fanquake commented at 8:47 PM on June 15, 2026: member

    should the issue remain open for macOS and Windows?

    There is no difference in build environment for either of those builds, so I'm not sure there is anything to do there?

  7. in contrib/guix/libexec/build_linux.sh:6 in 9146c89c05
       0 | @@ -0,0 +1,118 @@
       1 | +#!/usr/bin/env bash
       2 | +# Copyright (c) The Bitcoin Core developers
       3 | +# Distributed under the MIT software license, see the accompanying
       4 | +# file COPYING or https://opensource.org/license/mit.
       5 | +export LC_ALL=C
       6 | +set -e -o pipefail
    


    maflcko commented at 6:41 AM on June 16, 2026:

    nit: I still wonder quite often what the short names mean, (especially when exit plausibly could mean -e or -x) and it could make sense to use the longer self-descriptive names? set -o errexit -o pipefail


    fanquake commented at 11:01 AM on June 16, 2026:

    Sure, switched these over.

  8. maflcko commented at 6:46 AM on June 16, 2026: member

    #29914 doesn't only include the guix env deps, but also the depends deps, so as @hebasto says, it could make sense to also do this for Windows/macOS? Just wondering, maybe the resulting code will even be clearer, smaller, or more consistent?

  9. fanquake force-pushed on Jun 16, 2026
  10. fanquake commented at 2:58 PM on June 16, 2026: member

    Just wondering, maybe the resulting code will even be clearer, smaller, or more consistent?

    I've pushed up another commit, to show what this might look like.

    We should also be able to move Python out of the non-GUI build env, but we need to workaround us currently having a hard (CMake) error for missing Python.

  11. fanquake force-pushed on Jun 16, 2026
  12. DrahtBot added the label CI failed on Jun 16, 2026
  13. DrahtBot commented at 3:22 PM on June 16, 2026: contributor

    <!--85328a0da195eb286784d51f73fa0af9-->

    🚧 At least one of the CI tasks failed. <sub>Task lint: https://github.com/bitcoin/bitcoin/actions/runs/27626623050/job/81689876955</sub> <sub>LLM reason (✨ experimental): CI failed due to lint check errors in contrib/guix/libexec/* (tabs-whitespace and shell/file permission issues flagged by lint-files.py / lint-shell.py).</sub>

    <details><summary>Hints</summary>

    Try to run the tests locally, according to the documentation. However, a CI failure may still happen due to a number of reasons, for example:

    • Possibly due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    • A sanitizer issue, which can only be found by compiling with the sanitizer and running the affected test.

    • An intermittent issue.

    Leave a comment here, if you need help tracking down a confusing failure.

    </details>

  14. fanquake force-pushed on Jun 16, 2026
  15. DrahtBot removed the label CI failed on Jun 16, 2026
  16. fanquake force-pushed on Jun 16, 2026
  17. fanquake force-pushed on Jun 17, 2026
  18. fanquake force-pushed on Jun 17, 2026
  19. fanquake force-pushed on Jun 17, 2026
  20. fanquake force-pushed on Jun 17, 2026
  21. DrahtBot added the label CI failed on Jun 17, 2026
  22. fanquake force-pushed on Jun 17, 2026
  23. fanquake force-pushed on Jun 17, 2026
  24. fanquake force-pushed on Jun 17, 2026
  25. fanquake force-pushed on Jun 17, 2026
  26. fanquake force-pushed on Jun 17, 2026
  27. DrahtBot removed the label CI failed on Jun 17, 2026
  28. DrahtBot removed the label DrahtBot Guix build requested on Jun 18, 2026
  29. fanquake force-pushed on Jun 19, 2026
  30. fanquake commented at 12:31 PM on June 19, 2026: member

    @maflcko @hebasto can either of you give feedback on the additional splitting?

  31. hebasto commented at 2:37 PM on June 19, 2026: member

    Just wondering, maybe the resulting code will even be clearer, smaller, or more consistent?

    I've pushed up another commit, to show what this might look like.

    Approach ACK b407558f5d1ee7a187fe67f2a68ed0fd63a44880.

  32. Sjors commented at 2:38 PM on June 19, 2026: member
    x86_64
    ca0bd516652d5d5b8cb23a7d67eb4d74a86919859531b2ac7e19ea7239e04d73  guix-build-b407558f5d1e/output/aarch64-linux-gnu/SHA256SUMS.part
    1f97d0ebcd9e55f9c4ae8c31affb596d9df34822f5b10c8648cb2638fd52bf61  guix-build-b407558f5d1e/output/aarch64-linux-gnu/bitcoin-b407558f5d1e-aarch64-linux-gnu-debug.tar.gz
    62229036ea8ce038ffb67d5a78572027707ff8fd7a611c2ae9031e1c2822b592  guix-build-b407558f5d1e/output/aarch64-linux-gnu/bitcoin-b407558f5d1e-aarch64-linux-gnu.tar.gz
    1143aa521a35e19ea1e8cc5fbf88227061b9abd65107df9a6ed1cfb7d642a540  guix-build-b407558f5d1e/output/arm-linux-gnueabihf/SHA256SUMS.part
    fca825e0287dce71c256fa7a56c64fd5a3f75cae44a5a80b005b00ed3f4bc4b0  guix-build-b407558f5d1e/output/arm-linux-gnueabihf/bitcoin-b407558f5d1e-arm-linux-gnueabihf-debug.tar.gz
    cad19ef73839289b705c9b1d14617abbf6047cfcb68b649894cfa96b94e95aad  guix-build-b407558f5d1e/output/arm-linux-gnueabihf/bitcoin-b407558f5d1e-arm-linux-gnueabihf.tar.gz
    03122dd973d216c1bfcc0fd4f5308968434f45d76e73d817ebded01350aec391  guix-build-b407558f5d1e/output/arm64-apple-darwin/SHA256SUMS.part
    a32b1d0da73fc7a8fd312fd86a08fdb07e31ccbb4e1a4e94cec2e9bc9c9122b7  guix-build-b407558f5d1e/output/arm64-apple-darwin/bitcoin-b407558f5d1e-arm64-apple-darwin-codesigning.tar.gz
    89b1960ab0bde1397b80f468f867d6313e3e43d129fa782e08941c4b27809971  guix-build-b407558f5d1e/output/arm64-apple-darwin/bitcoin-b407558f5d1e-arm64-apple-darwin-unsigned.tar.gz
    caf90674f6f98ed75e9d48c3afda7f21488372cdca93f7f5294f73806628503f  guix-build-b407558f5d1e/output/arm64-apple-darwin/bitcoin-b407558f5d1e-arm64-apple-darwin-unsigned.zip
    3c365fc39cff78db4eb3cae3b230a3e6db23ac624d4f2dec632c665b734c782d  guix-build-b407558f5d1e/output/dist-archive/bitcoin-b407558f5d1e.tar.gz
    6e07c886f17afd080f77fddfb7e8df426e249890263e1d212acebd0a05f82a09  guix-build-b407558f5d1e/output/powerpc64-linux-gnu/SHA256SUMS.part
    cd60efb529aa45254aa0695f4a3bacc259a80ee016843298faeaccc916f1b371  guix-build-b407558f5d1e/output/powerpc64-linux-gnu/bitcoin-b407558f5d1e-powerpc64-linux-gnu-debug.tar.gz
    4b2fef61838246b129adc5c3ee308b6f4e0d260a55162d947513e4e92a98f4e6  guix-build-b407558f5d1e/output/powerpc64-linux-gnu/bitcoin-b407558f5d1e-powerpc64-linux-gnu.tar.gz
    724bbadd73a9c124fd20363ad6db42cb1f11059e0937682465e495193b38f697  guix-build-b407558f5d1e/output/riscv64-linux-gnu/SHA256SUMS.part
    8dad0c096bd6d5fefa4ac717b1cd0a306b5856d2260878448adfdf98ec499c53  guix-build-b407558f5d1e/output/riscv64-linux-gnu/bitcoin-b407558f5d1e-riscv64-linux-gnu-debug.tar.gz
    582ceba95d42dd07afd95843ed49d4de3c1fee1b9c96fb7d0bc047c1fa4aabc8  guix-build-b407558f5d1e/output/riscv64-linux-gnu/bitcoin-b407558f5d1e-riscv64-linux-gnu.tar.gz
    2467b6eef500bbdb74ad8ebd6d6b84e6fcdcb9856a5099c4913fe580f62cf848  guix-build-b407558f5d1e/output/x86_64-apple-darwin/SHA256SUMS.part
    e0f0d64b4a570e6f85a6270883e5fc9a49b512324b6c686c769f901a86c3c7de  guix-build-b407558f5d1e/output/x86_64-apple-darwin/bitcoin-b407558f5d1e-x86_64-apple-darwin-codesigning.tar.gz
    590c62f33ba0c82e2ed7ad13d936bd8be339c1d996c150884af85482447f83de  guix-build-b407558f5d1e/output/x86_64-apple-darwin/bitcoin-b407558f5d1e-x86_64-apple-darwin-unsigned.tar.gz
    9234c91dfba4cbb42d58008a6ef04c7ef48bdbe0e8ae589b191b9f9fd6c08061  guix-build-b407558f5d1e/output/x86_64-apple-darwin/bitcoin-b407558f5d1e-x86_64-apple-darwin-unsigned.zip
    ab5bc1f4d291380a93f57581162d21345692b7dd9af8b2d4e0b0c54d8351cdbf  guix-build-b407558f5d1e/output/x86_64-linux-gnu/SHA256SUMS.part
    56ce2ce0d87e4a01cf09accd07e26ba2033ac694bfcb686db967c83dba4d4cf0  guix-build-b407558f5d1e/output/x86_64-linux-gnu/bitcoin-b407558f5d1e-x86_64-linux-gnu-debug.tar.gz
    05d85c56cb2f417489d686c75d0859c772d4827d17f7775608997c9a12107d9c  guix-build-b407558f5d1e/output/x86_64-linux-gnu/bitcoin-b407558f5d1e-x86_64-linux-gnu.tar.gz
    94e0e4b7453fca41b95deb184efa8e4c04dab141d7f094aeb8929356ff1b3aae  guix-build-b407558f5d1e/output/x86_64-w64-mingw32/SHA256SUMS.part
    853cc89a312d8a474950b81b4b372a71fc0d2d91646d41a2a46349f218ea5bc7  guix-build-b407558f5d1e/output/x86_64-w64-mingw32/bitcoin-b407558f5d1e-win64-codesigning.tar.gz
    4b0b34ec6269e12e0698dff69221a843cf05e94e63ba540599af0257a30da8af  guix-build-b407558f5d1e/output/x86_64-w64-mingw32/bitcoin-b407558f5d1e-win64-debug.zip
    9e6ec247bec6e8e031552ae565d4b639a59a6a45716a235013d5ea074a3026a3  guix-build-b407558f5d1e/output/x86_64-w64-mingw32/bitcoin-b407558f5d1e-win64-setup-unsigned.exe
    31fd89f7e88d2c105847bf0deaf2652f498c857532413d9d11189256c4a68113  guix-build-b407558f5d1e/output/x86_64-w64-mingw32/bitcoin-b407558f5d1e-win64-unsigned.zip
    

    Briefly tested that the (unsigned) macOS GUI and daemon archives still work.

  33. fanquake force-pushed on Jun 19, 2026
  34. in contrib/guix/libexec/build_win.sh:86 in e07c398203 outdated
      81 | +
      82 | +    # Install built Bitcoin Core
      83 | +    cmake --install build
      84 | +)
      85 | +
      86 | +rm -rf "$DISTSRC"/build
    


    hebasto commented at 3:22 PM on June 19, 2026:

    b407558f5d1ee7a187fe67f2a68ed0fd63a44880

    FWIW, #35098 reused both the depends built artifacts and the CMake build tree for Windows and macOS. I don't see any conceptual incompatibility between these two approaches right now. Also, reusing the build tree makes modifying the add_windows_deploy_target function unnecessary. We can leave that performance improvement for follow-ups, though.

    For now, I'll look more closely at the changes in add_windows_deploy_target.

  35. hebasto commented at 11:22 PM on June 19, 2026: member

    Here is an alternative approach to create a Windows installer from the install tree.

    Feel free to grab any part of that branch.

  36. fanquake force-pushed on Jun 22, 2026
  37. in contrib/guix/manifest_gui.scm:33 in 5b484ec02e outdated
      28 | +          ((string-contains target "-linux-")
      29 | +           (list bison
      30 | +                 pkg-config))
      31 | +          ((string-contains target "darwin")
      32 | +           (list zip))
      33 | +          (else '())))))
    


    hebasto commented at 4:22 PM on June 23, 2026:

    I believe we can squeeze this manifest a bit more:

    --- a/contrib/guix/manifest_gui.scm
    +++ b/contrib/guix/manifest_gui.scm
    @@ -4,19 +4,12 @@
                  ((gnu packages installers) #:select (nsis-x86_64))
                  (gnu packages ninja)
                  (gnu packages pkg-config)
    -             ((gnu packages python-xyz) #:select (python-lief))
    -             (guix build-system python)
    -             (guix git-download)
    -             (guix packages))
    +             ((gnu packages python-xyz) #:select (python-lief)))
     
     (packages->manifest
      (append
       (list ;; Compression and archiving
             xz
    -        ;; File(system) inspection
    -        diffutils
    -        ;; File transformation
    -        gawk
             ;; Build tools
             ninja
             ;; Tests
    @@ -27,6 +20,7 @@
                      nsis-x86_64))
               ((string-contains target "-linux-")
                (list bison
    +                 gawk
                      pkg-config))
               ((string-contains target "darwin")
                (list zip))
    

    fanquake commented at 12:09 PM on June 24, 2026:

    Pushed this into the final commit.

  38. hebasto commented at 4:36 PM on June 23, 2026: member

    Looking closely at the following diff:

    --- contrib/guix/libexec/build_win.sh
    +++ contrib/guix/libexec/build_win_gui.sh
    @@ -41,8 +41,7 @@
                                        ${SOURCES_PATH+SOURCES_PATH="$SOURCES_PATH"} \
                                        ${BASE_CACHE+BASE_CACHE="$BASE_CACHE"} \
                                        ${build_CC+build_CC="$build_CC"} \
    -                                   ${build_CXX+build_CXX="$build_CXX"} \
    -                                   NO_QT=1
    +                                   ${build_CXX+build_CXX="$build_CXX"}
     
     # CFLAGS
     HOST_CFLAGS="-O2 -g"
    @@ -69,20 +68,25 @@
               --toolchain "${BASEPREFIX}/${HOST}/toolchain.cmake" \
               -Werror=dev \
               -DBUILD_BENCH=OFF \
    +          -DBUILD_BITCOIN_BIN=OFF \
    +          -DBUILD_CLI=OFF \
    +          -DBUILD_DAEMON=OFF \
               -DBUILD_FUZZ_BINARY=OFF \
    -          -DBUILD_GUI=OFF \
               -DBUILD_GUI_TESTS=OFF \
    +          -DBUILD_TESTS=OFF \
    +          -DBUILD_TX=OFF \
    +          -DBUILD_UTIL=OFF \
    +          -DBUILD_WALLET_TOOL=OFF \
               -DCMAKE_INSTALL_PREFIX="${INSTALLPATH}" \
               -DREDUCE_EXPORTS=ON \
               -DWITH_CCACHE=OFF
     
         # Build Bitcoin Core
    -    cmake --build build -j "$JOBS"
    +    cmake --build build -j "$JOBS" --target bitcoin-qt
     
         # Install built Bitcoin Core
    -    cmake --install build
    +    cmake --install build --component bitcoin-qt
     )
     
    -rm -rf "$DISTSRC"/build
    -
    -exit 0
    +# shellcheck source=package.sh
    +source "$(dirname "${BASH_SOURCE[0]}")/package.sh"
    

    I'd like to suggest considering the following:

    1. We could rely on the default component-specific build options provided by a toolchain file and drop the related ON/OFF options in the cmake invocation.

    2. Since these two scripts are overwhelmingly similar, we could run a single script with a parameter, and execute the diverging code paths conditionally depending on that parameter (as it was implemented in #35098).

  39. fanquake commented at 5:44 PM on June 23, 2026: member

    We could rely on the default component-specific build options provided by a toolchain file

    If we aren't dropping all the options, I'm not sure about introducing more (toolchain) files, to set some options, but not all of them (we could also revert to the prior state of the PR, where we had a shared set of config options inline). I'm also not sure about just doing this for a single host, or do you mean do it for Windows and macOS (even though they have divergent options)?

    we could run a single script with a parameter,

    We could also revert to the prior state of this PR, where the build was already a single script with a parameter ($host) (prior to the suggestions to split the builds up further).

  40. fanquake force-pushed on Jun 24, 2026
  41. fanquake force-pushed on Jun 24, 2026
  42. DrahtBot added the label CI failed on Jun 24, 2026
  43. DrahtBot removed the label CI failed on Jun 24, 2026
  44. fanquake force-pushed on Jun 24, 2026
  45. fanquake force-pushed on Jul 10, 2026
  46. fanquake force-pushed on Jul 13, 2026
  47. fanquake force-pushed on Jul 14, 2026
  48. cmake: Add `GenerateWindowsInstaller` script
    The new script is parameterized by paths to executables. It can be used
    to generate the installer from the install tree rather than the build
    tree. This capability will be used by the Guix scripts in subsequent
    commits.
    a3b5dc0572
  49. in contrib/guix/libexec/build_linux.sh:86 in 2f81990fb8
      81 | +          -DBUILD_FUZZ_BINARY=OFF \
      82 | +          -DBUILD_GUI=OFF \
      83 | +          -DCMAKE_INSTALL_PREFIX="${INSTALLPATH}" \
      84 | +          -DCMAKE_SKIP_RPATH=TRUE \
      85 | +          -DREDUCE_EXPORTS=ON \
      86 | +          -DCMAKE_EXE_LINKER_FLAGS"=${HOST_LDFLAGS} -static-libstdc++ -static-libgcc" \
    


    hebasto commented at 7:52 PM on July 19, 2026:

    typo?

              -DCMAKE_EXE_LINKER_FLAGS="${HOST_LDFLAGS} -static-libstdc++ -static-libgcc" \
    

    fanquake commented at 8:33 AM on July 20, 2026:

    Fixed.

  50. hebasto commented at 7:54 PM on July 19, 2026: member

    Changes to contrib/guix/manifest_gui.scm in 2f81990fb8ace4d70d92511d0640f27dd0136987 should be squashed into 00fa154ffbcc45cdc9274d85464aa128e9ffadc8, which introduces this file.

  51. guix: split builds into Linux(gui) and macOS/Windows 008a3e29c8
  52. guix: split macOS and win builds
    Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
    0b0785daa0
  53. fanquake force-pushed on Jul 20, 2026
  54. fanquake commented at 8:33 AM on July 20, 2026: member

    Changes to contrib/guix/manifest_gui.scm

    Squashed.

  55. bitcoin deleted a comment on Jul 20, 2026
  56. fanquake commented at 11:28 AM on July 20, 2026: member

    Guix Build (aarch64):

    e8a1828c320b528d7c0d8e3981774c268bea3434f39773dae0d6d2cfe7b06d57  guix-build-0b0785daa00b/output/aarch64-linux-gnu/SHA256SUMS.part
    a994a9326022921f87c723010a70f6dba870c08c38ca0b34f7ab036b93b5be3b  guix-build-0b0785daa00b/output/aarch64-linux-gnu/bitcoin-0b0785daa00b-aarch64-linux-gnu-debug.tar.gz
    391599ac4c7401120acd05ab639d1c73047bf0a0102a95583510447cc34475eb  guix-build-0b0785daa00b/output/aarch64-linux-gnu/bitcoin-0b0785daa00b-aarch64-linux-gnu.tar.gz
    88b49e0943cc6201f23e5dd787142b58a4c169b1e42d6a5668a7f3aff7867f17  guix-build-0b0785daa00b/output/arm-linux-gnueabihf/SHA256SUMS.part
    2fa1b2c709a9bfd2dcaf23f533781427f12d0370d1c6917b2395e2e8549f5ce4  guix-build-0b0785daa00b/output/arm-linux-gnueabihf/bitcoin-0b0785daa00b-arm-linux-gnueabihf-debug.tar.gz
    2bba45861f7a4eb802d9cf80bd4c4ab3b0170079b4de57784ca38e40ac042dd1  guix-build-0b0785daa00b/output/arm-linux-gnueabihf/bitcoin-0b0785daa00b-arm-linux-gnueabihf.tar.gz
    ba3d3313855040b4d45a21d149c85c54fdfbfd195bc27440e72ff984298267dd  guix-build-0b0785daa00b/output/arm64-apple-darwin/SHA256SUMS.part
    94543fb47f48310b0b468f64a331ae1b1654ff11d44fdeec247b5484f2b7206d  guix-build-0b0785daa00b/output/arm64-apple-darwin/bitcoin-0b0785daa00b-arm64-apple-darwin-codesigning.tar.gz
    7de7a7dcd829b604793ee2b52e3459929423d77a49bd6cd6423337ead98f8ce2  guix-build-0b0785daa00b/output/arm64-apple-darwin/bitcoin-0b0785daa00b-arm64-apple-darwin-unsigned.tar.gz
    6059450e05c07a02d87fc791ced6283c0a12ae41914f852296e6fc7125c68d69  guix-build-0b0785daa00b/output/arm64-apple-darwin/bitcoin-0b0785daa00b-arm64-apple-darwin-unsigned.zip
    88a7e06dc1ce52545b97a5fd416cab64220979c8e57b9e77dae31cd52cfa6453  guix-build-0b0785daa00b/output/dist-archive/bitcoin-0b0785daa00b.tar.gz
    fa8dca2ff9e9a8c595542466d2fcb27b9969dcff2d517088c0db47f1e2842f53  guix-build-0b0785daa00b/output/powerpc64-linux-gnu/SHA256SUMS.part
    008258cc5c2304de9f6e37c0a226713e89e8e26c1dd263d812c257037737224f  guix-build-0b0785daa00b/output/powerpc64-linux-gnu/bitcoin-0b0785daa00b-powerpc64-linux-gnu-debug.tar.gz
    6eafb5f106661f64ce6d612a67ebf07bb24fc3cd6511e69ab62081a209f99080  guix-build-0b0785daa00b/output/powerpc64-linux-gnu/bitcoin-0b0785daa00b-powerpc64-linux-gnu.tar.gz
    a067f74cd814a1fa9ac4f9f1f00cf8246a8a54193a9aa4a473896249ddaa4420  guix-build-0b0785daa00b/output/riscv64-linux-gnu/SHA256SUMS.part
    0616660836ed4e57c018c96a9f7d2c361cf23b72529a9302ee68f8cb7f77248c  guix-build-0b0785daa00b/output/riscv64-linux-gnu/bitcoin-0b0785daa00b-riscv64-linux-gnu-debug.tar.gz
    a19037f942157396ab82c66c234042e38b583d35fd544bba7075257cdaa97cca  guix-build-0b0785daa00b/output/riscv64-linux-gnu/bitcoin-0b0785daa00b-riscv64-linux-gnu.tar.gz
    06b0dfe55310321728c08527740e30da9ff4d33ac3557481abe414144ce78dce  guix-build-0b0785daa00b/output/x86_64-apple-darwin/SHA256SUMS.part
    90f97b35a4c9e0c6be9b7d1e9cdc6e19bb8da09a30efc5508dc88b96a9505e1e  guix-build-0b0785daa00b/output/x86_64-apple-darwin/bitcoin-0b0785daa00b-x86_64-apple-darwin-codesigning.tar.gz
    32d014b05aa599d8daa6976fde50716ae16b9d8036163dbd36a327134474d265  guix-build-0b0785daa00b/output/x86_64-apple-darwin/bitcoin-0b0785daa00b-x86_64-apple-darwin-unsigned.tar.gz
    aedec8faa87f9b36770ce5b86c2b4b9afb34885704d0a1856f66e342c1898c0b  guix-build-0b0785daa00b/output/x86_64-apple-darwin/bitcoin-0b0785daa00b-x86_64-apple-darwin-unsigned.zip
    03a8569bd1f88fe84f4e31713751b8e06ffe803da6791416510c88c7a9e17fd9  guix-build-0b0785daa00b/output/x86_64-linux-gnu/SHA256SUMS.part
    a322c8a552fe532f88bd141fea6237169b04f97e9be740d93ed061476649cb7a  guix-build-0b0785daa00b/output/x86_64-linux-gnu/bitcoin-0b0785daa00b-x86_64-linux-gnu-debug.tar.gz
    ac198fa99338cfb4887b40b5cc0ef487fbf2e129c5a61c0374fe1a8f91fb2ae7  guix-build-0b0785daa00b/output/x86_64-linux-gnu/bitcoin-0b0785daa00b-x86_64-linux-gnu.tar.gz
    ab17bdc69806583d2a64940c1b7656c2fded29caacfb34831d467f5949b78162  guix-build-0b0785daa00b/output/x86_64-w64-mingw32/SHA256SUMS.part
    93a36974e8357c98d92f96e9eb6f08ac800272dd029ed9b90adf0a0936d628f0  guix-build-0b0785daa00b/output/x86_64-w64-mingw32/bitcoin-0b0785daa00b-win64-codesigning.tar.gz
    3b384fb1a8708ca8d306dbcf6749a428f3185c6bcd19914fc3d81a6d80edddc5  guix-build-0b0785daa00b/output/x86_64-w64-mingw32/bitcoin-0b0785daa00b-win64-debug.zip
    95bfbc584dc84359d326165c426118eb5be88860706f8b7d7c603d0250fe5365  guix-build-0b0785daa00b/output/x86_64-w64-mingw32/bitcoin-0b0785daa00b-win64-setup-unsigned.exe
    b7fba471282d06f176255245beabf8d76143090469c981019f896f1855784e9e  guix-build-0b0785daa00b/output/x86_64-w64-mingw32/bitcoin-0b0785daa00b-win64-unsigned.zip
    
  57. hebasto commented at 12:55 PM on July 20, 2026: member

    Almost ACK 0b0785daa00ba70fff809fbbf802fb09d02ea624; however, I still need to complete my Guix build.

    The PR improves the security of the non-GUI release binaries and paves the way for further improvements.

    The drawback is performance, as there is no reuse of the built artifacts from depends and the build tree in the GUI phase. As for the former, it is addressed in 0bb539dec30498ac61c60e605354d70924cc2439 from #35098. For example, this branch builds only native_qt, qt and qrencode in depends for the build_macos_gui.sh and build_win_gui.sh scripts. Feel free to pick it up here or leave it for a follow-up.

    nit: Build options in cmake -S . -B build might be ordered uniformly across all scripts.

  58. Sjors commented at 2:46 PM on July 20, 2026: member

    Concept ACK

    I don't mind if it takes a bit longer to do a Guix build, but it would be nice to improve it in a followup.

    Briefly tested on macOS (someone should test Windows).

    x86_64
    e8a1828c320b528d7c0d8e3981774c268bea3434f39773dae0d6d2cfe7b06d57  guix-build-0b0785daa00b/output/aarch64-linux-gnu/SHA256SUMS.part
    a994a9326022921f87c723010a70f6dba870c08c38ca0b34f7ab036b93b5be3b  guix-build-0b0785daa00b/output/aarch64-linux-gnu/bitcoin-0b0785daa00b-aarch64-linux-gnu-debug.tar.gz
    391599ac4c7401120acd05ab639d1c73047bf0a0102a95583510447cc34475eb  guix-build-0b0785daa00b/output/aarch64-linux-gnu/bitcoin-0b0785daa00b-aarch64-linux-gnu.tar.gz
    88b49e0943cc6201f23e5dd787142b58a4c169b1e42d6a5668a7f3aff7867f17  guix-build-0b0785daa00b/output/arm-linux-gnueabihf/SHA256SUMS.part
    2fa1b2c709a9bfd2dcaf23f533781427f12d0370d1c6917b2395e2e8549f5ce4  guix-build-0b0785daa00b/output/arm-linux-gnueabihf/bitcoin-0b0785daa00b-arm-linux-gnueabihf-debug.tar.gz
    2bba45861f7a4eb802d9cf80bd4c4ab3b0170079b4de57784ca38e40ac042dd1  guix-build-0b0785daa00b/output/arm-linux-gnueabihf/bitcoin-0b0785daa00b-arm-linux-gnueabihf.tar.gz
    ba3d3313855040b4d45a21d149c85c54fdfbfd195bc27440e72ff984298267dd  guix-build-0b0785daa00b/output/arm64-apple-darwin/SHA256SUMS.part
    94543fb47f48310b0b468f64a331ae1b1654ff11d44fdeec247b5484f2b7206d  guix-build-0b0785daa00b/output/arm64-apple-darwin/bitcoin-0b0785daa00b-arm64-apple-darwin-codesigning.tar.gz
    7de7a7dcd829b604793ee2b52e3459929423d77a49bd6cd6423337ead98f8ce2  guix-build-0b0785daa00b/output/arm64-apple-darwin/bitcoin-0b0785daa00b-arm64-apple-darwin-unsigned.tar.gz
    6059450e05c07a02d87fc791ced6283c0a12ae41914f852296e6fc7125c68d69  guix-build-0b0785daa00b/output/arm64-apple-darwin/bitcoin-0b0785daa00b-arm64-apple-darwin-unsigned.zip
    88a7e06dc1ce52545b97a5fd416cab64220979c8e57b9e77dae31cd52cfa6453  guix-build-0b0785daa00b/output/dist-archive/bitcoin-0b0785daa00b.tar.gz
    fa8dca2ff9e9a8c595542466d2fcb27b9969dcff2d517088c0db47f1e2842f53  guix-build-0b0785daa00b/output/powerpc64-linux-gnu/SHA256SUMS.part
    008258cc5c2304de9f6e37c0a226713e89e8e26c1dd263d812c257037737224f  guix-build-0b0785daa00b/output/powerpc64-linux-gnu/bitcoin-0b0785daa00b-powerpc64-linux-gnu-debug.tar.gz
    6eafb5f106661f64ce6d612a67ebf07bb24fc3cd6511e69ab62081a209f99080  guix-build-0b0785daa00b/output/powerpc64-linux-gnu/bitcoin-0b0785daa00b-powerpc64-linux-gnu.tar.gz
    a067f74cd814a1fa9ac4f9f1f00cf8246a8a54193a9aa4a473896249ddaa4420  guix-build-0b0785daa00b/output/riscv64-linux-gnu/SHA256SUMS.part
    0616660836ed4e57c018c96a9f7d2c361cf23b72529a9302ee68f8cb7f77248c  guix-build-0b0785daa00b/output/riscv64-linux-gnu/bitcoin-0b0785daa00b-riscv64-linux-gnu-debug.tar.gz
    a19037f942157396ab82c66c234042e38b583d35fd544bba7075257cdaa97cca  guix-build-0b0785daa00b/output/riscv64-linux-gnu/bitcoin-0b0785daa00b-riscv64-linux-gnu.tar.gz
    06b0dfe55310321728c08527740e30da9ff4d33ac3557481abe414144ce78dce  guix-build-0b0785daa00b/output/x86_64-apple-darwin/SHA256SUMS.part
    90f97b35a4c9e0c6be9b7d1e9cdc6e19bb8da09a30efc5508dc88b96a9505e1e  guix-build-0b0785daa00b/output/x86_64-apple-darwin/bitcoin-0b0785daa00b-x86_64-apple-darwin-codesigning.tar.gz
    32d014b05aa599d8daa6976fde50716ae16b9d8036163dbd36a327134474d265  guix-build-0b0785daa00b/output/x86_64-apple-darwin/bitcoin-0b0785daa00b-x86_64-apple-darwin-unsigned.tar.gz
    aedec8faa87f9b36770ce5b86c2b4b9afb34885704d0a1856f66e342c1898c0b  guix-build-0b0785daa00b/output/x86_64-apple-darwin/bitcoin-0b0785daa00b-x86_64-apple-darwin-unsigned.zip
    03a8569bd1f88fe84f4e31713751b8e06ffe803da6791416510c88c7a9e17fd9  guix-build-0b0785daa00b/output/x86_64-linux-gnu/SHA256SUMS.part
    a322c8a552fe532f88bd141fea6237169b04f97e9be740d93ed061476649cb7a  guix-build-0b0785daa00b/output/x86_64-linux-gnu/bitcoin-0b0785daa00b-x86_64-linux-gnu-debug.tar.gz
    ac198fa99338cfb4887b40b5cc0ef487fbf2e129c5a61c0374fe1a8f91fb2ae7  guix-build-0b0785daa00b/output/x86_64-linux-gnu/bitcoin-0b0785daa00b-x86_64-linux-gnu.tar.gz
    ab17bdc69806583d2a64940c1b7656c2fded29caacfb34831d467f5949b78162  guix-build-0b0785daa00b/output/x86_64-w64-mingw32/SHA256SUMS.part
    93a36974e8357c98d92f96e9eb6f08ac800272dd029ed9b90adf0a0936d628f0  guix-build-0b0785daa00b/output/x86_64-w64-mingw32/bitcoin-0b0785daa00b-win64-codesigning.tar.gz
    3b384fb1a8708ca8d306dbcf6749a428f3185c6bcd19914fc3d81a6d80edddc5  guix-build-0b0785daa00b/output/x86_64-w64-mingw32/bitcoin-0b0785daa00b-win64-debug.zip
    95bfbc584dc84359d326165c426118eb5be88860706f8b7d7c603d0250fe5365  guix-build-0b0785daa00b/output/x86_64-w64-mingw32/bitcoin-0b0785daa00b-win64-setup-unsigned.exe
    b7fba471282d06f176255245beabf8d76143090469c981019f896f1855784e9e  guix-build-0b0785daa00b/output/x86_64-w64-mingw32/bitcoin-0b0785daa00b-win64-unsigned.zip
    
  59. fanquake commented at 3:34 PM on July 20, 2026: member

    Feel free to pick it up here or leave it for a follow-up.

    I don't think I'm going to make any more changes related to Windows or macOS here.

  60. hebasto commented at 10:59 AM on July 21, 2026: member

    My Guix build:

    aarch64
    e8a1828c320b528d7c0d8e3981774c268bea3434f39773dae0d6d2cfe7b06d57  guix-build-0b0785daa00b/output/aarch64-linux-gnu/SHA256SUMS.part
    a994a9326022921f87c723010a70f6dba870c08c38ca0b34f7ab036b93b5be3b  guix-build-0b0785daa00b/output/aarch64-linux-gnu/bitcoin-0b0785daa00b-aarch64-linux-gnu-debug.tar.gz
    391599ac4c7401120acd05ab639d1c73047bf0a0102a95583510447cc34475eb  guix-build-0b0785daa00b/output/aarch64-linux-gnu/bitcoin-0b0785daa00b-aarch64-linux-gnu.tar.gz
    88b49e0943cc6201f23e5dd787142b58a4c169b1e42d6a5668a7f3aff7867f17  guix-build-0b0785daa00b/output/arm-linux-gnueabihf/SHA256SUMS.part
    2fa1b2c709a9bfd2dcaf23f533781427f12d0370d1c6917b2395e2e8549f5ce4  guix-build-0b0785daa00b/output/arm-linux-gnueabihf/bitcoin-0b0785daa00b-arm-linux-gnueabihf-debug.tar.gz
    2bba45861f7a4eb802d9cf80bd4c4ab3b0170079b4de57784ca38e40ac042dd1  guix-build-0b0785daa00b/output/arm-linux-gnueabihf/bitcoin-0b0785daa00b-arm-linux-gnueabihf.tar.gz
    ba3d3313855040b4d45a21d149c85c54fdfbfd195bc27440e72ff984298267dd  guix-build-0b0785daa00b/output/arm64-apple-darwin/SHA256SUMS.part
    94543fb47f48310b0b468f64a331ae1b1654ff11d44fdeec247b5484f2b7206d  guix-build-0b0785daa00b/output/arm64-apple-darwin/bitcoin-0b0785daa00b-arm64-apple-darwin-codesigning.tar.gz
    7de7a7dcd829b604793ee2b52e3459929423d77a49bd6cd6423337ead98f8ce2  guix-build-0b0785daa00b/output/arm64-apple-darwin/bitcoin-0b0785daa00b-arm64-apple-darwin-unsigned.tar.gz
    6059450e05c07a02d87fc791ced6283c0a12ae41914f852296e6fc7125c68d69  guix-build-0b0785daa00b/output/arm64-apple-darwin/bitcoin-0b0785daa00b-arm64-apple-darwin-unsigned.zip
    88a7e06dc1ce52545b97a5fd416cab64220979c8e57b9e77dae31cd52cfa6453  guix-build-0b0785daa00b/output/dist-archive/bitcoin-0b0785daa00b.tar.gz
    fa8dca2ff9e9a8c595542466d2fcb27b9969dcff2d517088c0db47f1e2842f53  guix-build-0b0785daa00b/output/powerpc64-linux-gnu/SHA256SUMS.part
    008258cc5c2304de9f6e37c0a226713e89e8e26c1dd263d812c257037737224f  guix-build-0b0785daa00b/output/powerpc64-linux-gnu/bitcoin-0b0785daa00b-powerpc64-linux-gnu-debug.tar.gz
    6eafb5f106661f64ce6d612a67ebf07bb24fc3cd6511e69ab62081a209f99080  guix-build-0b0785daa00b/output/powerpc64-linux-gnu/bitcoin-0b0785daa00b-powerpc64-linux-gnu.tar.gz
    a067f74cd814a1fa9ac4f9f1f00cf8246a8a54193a9aa4a473896249ddaa4420  guix-build-0b0785daa00b/output/riscv64-linux-gnu/SHA256SUMS.part
    0616660836ed4e57c018c96a9f7d2c361cf23b72529a9302ee68f8cb7f77248c  guix-build-0b0785daa00b/output/riscv64-linux-gnu/bitcoin-0b0785daa00b-riscv64-linux-gnu-debug.tar.gz
    a19037f942157396ab82c66c234042e38b583d35fd544bba7075257cdaa97cca  guix-build-0b0785daa00b/output/riscv64-linux-gnu/bitcoin-0b0785daa00b-riscv64-linux-gnu.tar.gz
    06b0dfe55310321728c08527740e30da9ff4d33ac3557481abe414144ce78dce  guix-build-0b0785daa00b/output/x86_64-apple-darwin/SHA256SUMS.part
    90f97b35a4c9e0c6be9b7d1e9cdc6e19bb8da09a30efc5508dc88b96a9505e1e  guix-build-0b0785daa00b/output/x86_64-apple-darwin/bitcoin-0b0785daa00b-x86_64-apple-darwin-codesigning.tar.gz
    32d014b05aa599d8daa6976fde50716ae16b9d8036163dbd36a327134474d265  guix-build-0b0785daa00b/output/x86_64-apple-darwin/bitcoin-0b0785daa00b-x86_64-apple-darwin-unsigned.tar.gz
    aedec8faa87f9b36770ce5b86c2b4b9afb34885704d0a1856f66e342c1898c0b  guix-build-0b0785daa00b/output/x86_64-apple-darwin/bitcoin-0b0785daa00b-x86_64-apple-darwin-unsigned.zip
    03a8569bd1f88fe84f4e31713751b8e06ffe803da6791416510c88c7a9e17fd9  guix-build-0b0785daa00b/output/x86_64-linux-gnu/SHA256SUMS.part
    a322c8a552fe532f88bd141fea6237169b04f97e9be740d93ed061476649cb7a  guix-build-0b0785daa00b/output/x86_64-linux-gnu/bitcoin-0b0785daa00b-x86_64-linux-gnu-debug.tar.gz
    ac198fa99338cfb4887b40b5cc0ef487fbf2e129c5a61c0374fe1a8f91fb2ae7  guix-build-0b0785daa00b/output/x86_64-linux-gnu/bitcoin-0b0785daa00b-x86_64-linux-gnu.tar.gz
    ab17bdc69806583d2a64940c1b7656c2fded29caacfb34831d467f5949b78162  guix-build-0b0785daa00b/output/x86_64-w64-mingw32/SHA256SUMS.part
    93a36974e8357c98d92f96e9eb6f08ac800272dd029ed9b90adf0a0936d628f0  guix-build-0b0785daa00b/output/x86_64-w64-mingw32/bitcoin-0b0785daa00b-win64-codesigning.tar.gz
    3b384fb1a8708ca8d306dbcf6749a428f3185c6bcd19914fc3d81a6d80edddc5  guix-build-0b0785daa00b/output/x86_64-w64-mingw32/bitcoin-0b0785daa00b-win64-debug.zip
    95bfbc584dc84359d326165c426118eb5be88860706f8b7d7c603d0250fe5365  guix-build-0b0785daa00b/output/x86_64-w64-mingw32/bitcoin-0b0785daa00b-win64-setup-unsigned.exe
    b7fba471282d06f176255245beabf8d76143090469c981019f896f1855784e9e  guix-build-0b0785daa00b/output/x86_64-w64-mingw32/bitcoin-0b0785daa00b-win64-unsigned.zip
    
  61. hebasto approved
  62. hebasto commented at 12:19 PM on July 21, 2026: member

    ACK 0b0785daa00ba70fff809fbbf802fb09d02ea624.

    Briefly tested on macOS (someone should test Windows).

    Tested on Windows.

  63. hebasto merged this on Jul 21, 2026
  64. hebasto closed this on Jul 21, 2026

  65. fanquake deleted the branch on Jul 21, 2026

github-metadata-mirror

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

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me