guix: Misc feedback-based fixes + hier restructuring #21375

pull dongcarl wants to merge 15 commits into bitcoin:master from dongcarl:2021-02-dist-naming changing 12 files +401 −78
  1. dongcarl commented at 11:35 pm on March 5, 2021: member

    This PR addresses a few hiccups encountered by the brave souls who’ve been experimenting with the Guix scripts:

    • Resolves confusion between --cores= and --max-jobs=
      • guix’s --cores= actually corresponds to make’s --jobs=, so let’s just control --cores= with our overridable env var
    • git-describe will scream fatal: no tag exactly matches '<hash>' when looking for a tag, but we don’t care, so silence that
    • windeploy/unsigned should be inside distsrc-* and created idempotently (sorry I know this one annoyed people)
    • Add troubleshooting documentation to README.md
    • Add early health check for guix-daemon in case user forgot to start a guix-daemon
    • Depending on configuration, a --fallback flag may be needed to tell Guix to not fail if substitutes fail but fallback to building locally
    • codesign_allocate and pagestuff are now unnecessary for codesigning as we’re now using signapple

    A few robustness changes are also included:

    • We supply the --link-profile flag, as some Guix packages may expect the profile to be available under $HOME/.guix-profile
    • We now clear and manually set all toolchain-related env vars (e.g. C*_INCLUDE_PATH) ourselves, after patching a Qt::moc bug
    • We use the native clang-toolchain package for darwin builds instead of clang, lining up with all our other toolchain packages.

    Finally, we restructure the guix building hierarchy such that it looks something like:

     0guix-build-<short-hash-or-version-tag>
     1├── distsrc-<short-hash-or-version-tag>-${HOST}
     2│   ├── contrib
     3│   ├── depends
     4│   ├── src
     5│   └── ...
     6├── distsrc-<short-hash-or-version-tag>-...
     7└── output
     8    ├── dist-archive
     9    │   └── bitcoin-<short-hash-or-version-tag>.tar.gz
    10    ├── *-linux-*
    11    │   ├── bitcoin-<short-hash-or-version-tag>-*-linux-*-debug.tar.gz
    12    │   └── bitcoin-<short-hash-or-version-tag>-*-linux-*.tar.gz
    13    ├── x86_64-apple-darwin18
    14    │   ├── bitcoin-<short-hash-or-version-tag>-osx64.tar.gz
    15    │   ├── bitcoin-<short-hash-or-version-tag>-osx-unsigned.dmg
    16    │   └── bitcoin-<short-hash-or-version-tag>-osx-unsigned.tar.gz
    17    └── x86_64-w64-mingw32
    18        ├── bitcoin-<short-hash-or-version-tag>-win64-debug.zip
    19        ├── bitcoin-<short-hash-or-version-tag>-win64-setup-unsigned.exe
    20        ├── bitcoin-<short-hash-or-version-tag>-win64.zip
    21        └── bitcoin-<short-hash-or-version-tag>-win-unsigned.tar.gz
    

    Separating guix builds by their version identifier (basically namespacing them) allows us to change the layout in the future without worry about potential naming conflicts.

  2. DrahtBot added the label Build system on Mar 6, 2021
  3. DrahtBot added the label Scripts and tools on Mar 6, 2021
  4. DrahtBot commented at 0:50 am on March 14, 2021: member

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #21591 (build, qt: Fix wrong cross-compiling detection on macOS by hebasto)
    • #21589 (build, qt: Do not require xml module for native builds in depends by hebasto)
    • #21420 (build, qt: No longer need to patch translation.pro by hebasto)
    • #19817 (build: macOS toolchain bump 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.

  5. dongcarl force-pushed on Mar 17, 2021
  6. dongcarl renamed this:
    guix: Cleanup and add guix-{attest,verify}
    guix: Misc feedback-based fixes + hier restructuring
    on Mar 17, 2021
  7. dongcarl force-pushed on Mar 17, 2021
  8. dongcarl force-pushed on Mar 17, 2021
  9. dongcarl marked this as ready for review on Mar 17, 2021
  10. dongcarl added this to the "Next (Not based on any other PRs)" column in a project

  11. dongcarl force-pushed on Mar 17, 2021
  12. in contrib/guix/guix-build:265 in 0272ae6f36 outdated
    235           ...bind-mounted in container to: '/bitcoin'
    236       ...in build directory: '$(distsrc_for_host "$HOST")'
    237           ...bind-mounted in container to: '$(DISTSRC_BASE=/distsrc-base && distsrc_for_host "$HOST")'
    238-      ...outputting in: '${OUTDIR:?not set}'
    239-          ...bind-mounted in container to: '/outdir'
    240+      ...outdirting in: '$(outdir_for_host "$HOST")'
    


    sipa commented at 9:57 pm on March 17, 2021:
    What is “outdirting”?

    dongcarl commented at 0:49 am on March 18, 2021:
    😬 Uhh… Over-eager find-and-replace strikes again…

    sipa commented at 8:43 pm on April 5, 2021:
    This is still not fixed, FWIW.
  13. sipa commented at 0:43 am on March 18, 2021: member

    My outdirt:

     0$ sha256sum $(find -type f | LANG=C sort)
     154f46bc056b2d38160d5fde32590a76148e15c37d67d34fc65390ba3f371ea97  ./aarch64-linux-gnu/bitcoin-61194db48c87-aarch64-linux-gnu-debug.tar.gz
     29d23600991e1b40aeee8df638e8140183b310ea8fc9a4b080fe1c0a895c173f7  ./aarch64-linux-gnu/bitcoin-61194db48c87-aarch64-linux-gnu.tar.gz
     3f92f44566ebd3b315d4fbac110b5583d38258d90243bb0690046cebcbd6db85c  ./arm-linux-gnueabihf/bitcoin-61194db48c87-arm-linux-gnueabihf-debug.tar.gz
     4a9a5656b331988051732f283612ef5c5451c7fba5563af65adb4765e00189bca  ./arm-linux-gnueabihf/bitcoin-61194db48c87-arm-linux-gnueabihf.tar.gz
     556d4856462f6c627910da9932d4477d2f09335a2e21a67fc02161b6e87324f43  ./dist-archive/bitcoin-61194db48c87.tar.gz
     6fd9573284e95c17b023ff34a9c1e63ef2774d7a9d56148dd47e619e9db3fd552  ./powerpc64-linux-gnu/bitcoin-61194db48c87-powerpc64-linux-gnu-debug.tar.gz
     7997cb276dee01ab9aa6c8f742a4fd4550570c9bfddfe016abde0c0a5ed96f626  ./powerpc64-linux-gnu/bitcoin-61194db48c87-powerpc64-linux-gnu.tar.gz
     833037bfa1cf621fdffc7db9d79924fa20396f63dce7c6d75051a4aa8ccb83d60  ./powerpc64le-linux-gnu/bitcoin-61194db48c87-powerpc64le-linux-gnu-debug.tar.gz
     9c7f2d79a785162453e825345dff38cb53e4fea2f1752375b480138397556a78c  ./powerpc64le-linux-gnu/bitcoin-61194db48c87-powerpc64le-linux-gnu.tar.gz
    102df5d6a009ae1ba4b87bb68190fbcc0144d779ef0658582510087ab03a3138df  ./riscv64-linux-gnu/bitcoin-61194db48c87-riscv64-linux-gnu-debug.tar.gz
    11fe4518267aff57ee69ed8333654661dbe3672d53149a38880ba09226b04bcd56  ./riscv64-linux-gnu/bitcoin-61194db48c87-riscv64-linux-gnu.tar.gz
    12cee31dfd3a107ac2a83d4cebea19550b3c3aa9d6996ecfd956072cbf3ac12061  ./x86_64-apple-darwin18/bitcoin-61194db48c87-osx-unsigned.dmg
    13fd1e1116adac330def0b285763262941f23f9d792dc92bb07e68620f1b6dc556  ./x86_64-apple-darwin18/bitcoin-61194db48c87-osx-unsigned.tar.gz
    1412194e2c4504a63329b082c26543fff112f3ebc184b2aadbbfb57779d1968047  ./x86_64-apple-darwin18/bitcoin-61194db48c87-osx64.tar.gz
    1581006656851795b0414e523520ec3d222d9033bc84c68354332632b8536e4d87  ./x86_64-linux-gnu/bitcoin-61194db48c87-x86_64-linux-gnu-debug.tar.gz
    16678dfae6336edefe90d048c05335f699bb7fe27b7420d47674bc3125e79f6b3b  ./x86_64-linux-gnu/bitcoin-61194db48c87-x86_64-linux-gnu.tar.gz
    1756a1eec1494674294015bbfa7bba3fa65c95eb7c4984e366483d3e0c6795b887  ./x86_64-w64-mingw32/bitcoin-61194db48c87-win-unsigned.tar.gz
    1801f04e86a8371fda4971914d06a775ed00a1122713427b8e591aadef675a5e31  ./x86_64-w64-mingw32/bitcoin-61194db48c87-win64-debug.zip
    191f83850e8e22ef93c2731ff99b1c0b7ae2cb70a8712d3b04c7bb4a5080d91c39  ./x86_64-w64-mingw32/bitcoin-61194db48c87-win64-setup-unsigned.exe
    20408d22aea8d5f22ade221ed9188ea859ef1f2395b7d74d817855e090a2328321  ./x86_64-w64-mingw32/bitcoin-61194db48c87-win64.zip
    
  14. fanquake commented at 2:55 am on March 18, 2021: member

    My outdirt. Looks like there’s still a diff in the osx unsigned tarball:

     0find output -type f -name *$(git rev-parse --short HEAD)*.* -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
     154f46bc056b2d38160d5fde32590a76148e15c37d67d34fc65390ba3f371ea97  output/aarch64-linux-gnu/bitcoin-61194db48c87-aarch64-linux-gnu-debug.tar.gz
     29d23600991e1b40aeee8df638e8140183b310ea8fc9a4b080fe1c0a895c173f7  output/aarch64-linux-gnu/bitcoin-61194db48c87-aarch64-linux-gnu.tar.gz
     3f92f44566ebd3b315d4fbac110b5583d38258d90243bb0690046cebcbd6db85c  output/arm-linux-gnueabihf/bitcoin-61194db48c87-arm-linux-gnueabihf-debug.tar.gz
     4a9a5656b331988051732f283612ef5c5451c7fba5563af65adb4765e00189bca  output/arm-linux-gnueabihf/bitcoin-61194db48c87-arm-linux-gnueabihf.tar.gz
     556d4856462f6c627910da9932d4477d2f09335a2e21a67fc02161b6e87324f43  output/dist-archive/bitcoin-61194db48c87.tar.gz
     6fd9573284e95c17b023ff34a9c1e63ef2774d7a9d56148dd47e619e9db3fd552  output/powerpc64-linux-gnu/bitcoin-61194db48c87-powerpc64-linux-gnu-debug.tar.gz
     7997cb276dee01ab9aa6c8f742a4fd4550570c9bfddfe016abde0c0a5ed96f626  output/powerpc64-linux-gnu/bitcoin-61194db48c87-powerpc64-linux-gnu.tar.gz
     833037bfa1cf621fdffc7db9d79924fa20396f63dce7c6d75051a4aa8ccb83d60  output/powerpc64le-linux-gnu/bitcoin-61194db48c87-powerpc64le-linux-gnu-debug.tar.gz
     9c7f2d79a785162453e825345dff38cb53e4fea2f1752375b480138397556a78c  output/powerpc64le-linux-gnu/bitcoin-61194db48c87-powerpc64le-linux-gnu.tar.gz
    102df5d6a009ae1ba4b87bb68190fbcc0144d779ef0658582510087ab03a3138df  output/riscv64-linux-gnu/bitcoin-61194db48c87-riscv64-linux-gnu-debug.tar.gz
    11fe4518267aff57ee69ed8333654661dbe3672d53149a38880ba09226b04bcd56  output/riscv64-linux-gnu/bitcoin-61194db48c87-riscv64-linux-gnu.tar.gz
    12cee31dfd3a107ac2a83d4cebea19550b3c3aa9d6996ecfd956072cbf3ac12061  output/x86_64-apple-darwin18/bitcoin-61194db48c87-osx-unsigned.dmg
    135e1237b7197c2bd9f163371c5fcdb03f111db9bcfb62f178de303add7f2c1528  output/x86_64-apple-darwin18/bitcoin-61194db48c87-osx-unsigned.tar.gz
    1412194e2c4504a63329b082c26543fff112f3ebc184b2aadbbfb57779d1968047  output/x86_64-apple-darwin18/bitcoin-61194db48c87-osx64.tar.gz
    1581006656851795b0414e523520ec3d222d9033bc84c68354332632b8536e4d87  output/x86_64-linux-gnu/bitcoin-61194db48c87-x86_64-linux-gnu-debug.tar.gz
    16678dfae6336edefe90d048c05335f699bb7fe27b7420d47674bc3125e79f6b3b  output/x86_64-linux-gnu/bitcoin-61194db48c87-x86_64-linux-gnu.tar.gz
    1756a1eec1494674294015bbfa7bba3fa65c95eb7c4984e366483d3e0c6795b887  output/x86_64-w64-mingw32/bitcoin-61194db48c87-win-unsigned.tar.gz
    1801f04e86a8371fda4971914d06a775ed00a1122713427b8e591aadef675a5e31  output/x86_64-w64-mingw32/bitcoin-61194db48c87-win64-debug.zip
    191f83850e8e22ef93c2731ff99b1c0b7ae2cb70a8712d3b04c7bb4a5080d91c39  output/x86_64-w64-mingw32/bitcoin-61194db48c87-win64-setup-unsigned.exe
    20408d22aea8d5f22ade221ed9188ea859ef1f2395b7d74d817855e090a2328321  output/x86_64-w64-mingw32/bitcoin-61194db48c87-win64.zip
    
  15. dongcarl commented at 3:06 am on March 18, 2021: member

    Mine!

     0$ find guix-build-61194db48c87/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
     154f46bc056b2d38160d5fde32590a76148e15c37d67d34fc65390ba3f371ea97  guix-build-61194db48c87/output/aarch64-linux-gnu/bitcoin-61194db48c87-aarch64-linux-gnu-debug.tar.gz
     29d23600991e1b40aeee8df638e8140183b310ea8fc9a4b080fe1c0a895c173f7  guix-build-61194db48c87/output/aarch64-linux-gnu/bitcoin-61194db48c87-aarch64-linux-gnu.tar.gz
     3f92f44566ebd3b315d4fbac110b5583d38258d90243bb0690046cebcbd6db85c  guix-build-61194db48c87/output/arm-linux-gnueabihf/bitcoin-61194db48c87-arm-linux-gnueabihf-debug.tar.gz
     4a9a5656b331988051732f283612ef5c5451c7fba5563af65adb4765e00189bca  guix-build-61194db48c87/output/arm-linux-gnueabihf/bitcoin-61194db48c87-arm-linux-gnueabihf.tar.gz
     556d4856462f6c627910da9932d4477d2f09335a2e21a67fc02161b6e87324f43  guix-build-61194db48c87/output/dist-archive/bitcoin-61194db48c87.tar.gz
     6fd9573284e95c17b023ff34a9c1e63ef2774d7a9d56148dd47e619e9db3fd552  guix-build-61194db48c87/output/powerpc64-linux-gnu/bitcoin-61194db48c87-powerpc64-linux-gnu-debug.tar.gz
     7997cb276dee01ab9aa6c8f742a4fd4550570c9bfddfe016abde0c0a5ed96f626  guix-build-61194db48c87/output/powerpc64-linux-gnu/bitcoin-61194db48c87-powerpc64-linux-gnu.tar.gz
     833037bfa1cf621fdffc7db9d79924fa20396f63dce7c6d75051a4aa8ccb83d60  guix-build-61194db48c87/output/powerpc64le-linux-gnu/bitcoin-61194db48c87-powerpc64le-linux-gnu-debug.tar.gz
     9c7f2d79a785162453e825345dff38cb53e4fea2f1752375b480138397556a78c  guix-build-61194db48c87/output/powerpc64le-linux-gnu/bitcoin-61194db48c87-powerpc64le-linux-gnu.tar.gz
    102df5d6a009ae1ba4b87bb68190fbcc0144d779ef0658582510087ab03a3138df  guix-build-61194db48c87/output/riscv64-linux-gnu/bitcoin-61194db48c87-riscv64-linux-gnu-debug.tar.gz
    11fe4518267aff57ee69ed8333654661dbe3672d53149a38880ba09226b04bcd56  guix-build-61194db48c87/output/riscv64-linux-gnu/bitcoin-61194db48c87-riscv64-linux-gnu.tar.gz
    12cee31dfd3a107ac2a83d4cebea19550b3c3aa9d6996ecfd956072cbf3ac12061  guix-build-61194db48c87/output/x86_64-apple-darwin18/bitcoin-61194db48c87-osx-unsigned.dmg
    130173b1cf6992390602433aa1d99ebf3e33d47cbad591a6b11f23350cfb4b9b5e  guix-build-61194db48c87/output/x86_64-apple-darwin18/bitcoin-61194db48c87-osx-unsigned.tar.gz
    1412194e2c4504a63329b082c26543fff112f3ebc184b2aadbbfb57779d1968047  guix-build-61194db48c87/output/x86_64-apple-darwin18/bitcoin-61194db48c87-osx64.tar.gz
    1581006656851795b0414e523520ec3d222d9033bc84c68354332632b8536e4d87  guix-build-61194db48c87/output/x86_64-linux-gnu/bitcoin-61194db48c87-x86_64-linux-gnu-debug.tar.gz
    16678dfae6336edefe90d048c05335f699bb7fe27b7420d47674bc3125e79f6b3b  guix-build-61194db48c87/output/x86_64-linux-gnu/bitcoin-61194db48c87-x86_64-linux-gnu.tar.gz
    1756a1eec1494674294015bbfa7bba3fa65c95eb7c4984e366483d3e0c6795b887  guix-build-61194db48c87/output/x86_64-w64-mingw32/bitcoin-61194db48c87-win-unsigned.tar.gz
    1801f04e86a8371fda4971914d06a775ed00a1122713427b8e591aadef675a5e31  guix-build-61194db48c87/output/x86_64-w64-mingw32/bitcoin-61194db48c87-win64-debug.zip
    191f83850e8e22ef93c2731ff99b1c0b7ae2cb70a8712d3b04c7bb4a5080d91c39  guix-build-61194db48c87/output/x86_64-w64-mingw32/bitcoin-61194db48c87-win64-setup-unsigned.exe
    20408d22aea8d5f22ade221ed9188ea859ef1f2395b7d74d817855e090a2328321  guix-build-61194db48c87/output/x86_64-w64-mingw32/bitcoin-61194db48c87-win64.zip
    

    I’m going to guess dmg is causing it… If one of you can upload I’m going to get to the bottom of this.

  16. fanquake commented at 3:26 am on March 18, 2021: member

    If one of you can upload I’m going to get to the bottom of this.

    Uploaded here: https://github.com/fanquake/build_artifacts/releases/tag/guix_21375

  17. dongcarl commented at 8:27 pm on March 18, 2021: member

    Testing a hypothesis: @sipa @fanquake could one of you build 8170456b5b0b5f20e869e9a59b694383c57de28e with HOSTS=‘x86_64-apple-darwin18’?

    I got:

    01bbdaaeda79420b5d4b33de5490344e9526783ca43dbf31e11c02b34a4761685  guix-build-8170456b5b0b/output/dist-archive/bitcoin-8170456b5b0b.tar.gz
    1417cd25618d10ec7efe6575ac79cf5265dfe689219113cd19a834b61deeb275e  guix-build-8170456b5b0b/output/x86_64-apple-darwin18/bitcoin-8170456b5b0b-osx-unsigned.dmg
    2f549b232b3eb6d45fcd4f8939b2ad3e80033c470d907a119ea8ec165dafa43f2  guix-build-8170456b5b0b/output/x86_64-apple-darwin18/bitcoin-8170456b5b0b-osx-unsigned.tar.gz
    321a976a7647679f34a6afc54a25d0cd85d9a44d33891adab01153c992f8da512  guix-build-8170456b5b0b/output/x86_64-apple-darwin18/bitcoin-8170456b5b0b-osx64.tar.gz
    
  18. sipa commented at 10:34 pm on March 18, 2021: member

    @dongcarl I got:

    01bbdaaeda79420b5d4b33de5490344e9526783ca43dbf31e11c02b34a4761685  ./dist-archive/bitcoin-8170456b5b0b.tar.gz
    1417cd25618d10ec7efe6575ac79cf5265dfe689219113cd19a834b61deeb275e  ./x86_64-apple-darwin18/bitcoin-8170456b5b0b-osx-unsigned.dmg
    2f549b232b3eb6d45fcd4f8939b2ad3e80033c470d907a119ea8ec165dafa43f2  ./x86_64-apple-darwin18/bitcoin-8170456b5b0b-osx-unsigned.tar.gz
    321a976a7647679f34a6afc54a25d0cd85d9a44d33891adab01153c992f8da512  ./x86_64-apple-darwin18/bitcoin-8170456b5b0b-osx64.tar.gz
    
  19. dongcarl commented at 10:42 pm on March 18, 2021: member
    Great! Looks like we have reproducibility. I’m experimenting a bit with building dmg as a static executable right now, which I think is the right move. Any binary we put in our output should “err on the side on portability,” and in this case, since dmg doesn’t need NSS or any networking, we can just make it fully static.
  20. hebasto commented at 11:04 pm on March 18, 2021: member
    0$ find guix-build-8170456b5b0b/output -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    11bbdaaeda79420b5d4b33de5490344e9526783ca43dbf31e11c02b34a4761685  guix-build-8170456b5b0b/output/dist-archive/bitcoin-8170456b5b0b.tar.gz
    2417cd25618d10ec7efe6575ac79cf5265dfe689219113cd19a834b61deeb275e  guix-build-8170456b5b0b/output/x86_64-apple-darwin18/bitcoin-8170456b5b0b-osx-unsigned.dmg
    3f549b232b3eb6d45fcd4f8939b2ad3e80033c470d907a119ea8ec165dafa43f2  guix-build-8170456b5b0b/output/x86_64-apple-darwin18/bitcoin-8170456b5b0b-osx-unsigned.tar.gz
    421a976a7647679f34a6afc54a25d0cd85d9a44d33891adab01153c992f8da512  guix-build-8170456b5b0b/output/x86_64-apple-darwin18/bitcoin-8170456b5b0b-osx64.tar.gz
    
  21. laanwj commented at 1:21 pm on March 19, 2021: member

    What is the rationale for removing the .sh from the build script filename?

    It seems to me that the convention in the rest of the repository is to keep the .py/.sh extension for scripts, even the main units.

  22. dongcarl commented at 2:19 pm on March 19, 2021: member

    What is the rationale for removing the .sh from the build script filename?

    I was thinking that we might change the scripting language for these scripts in the future, or perhaps just have a python wrapper which interprets arguments. I that case, I wouldn’t want to have everyone change their invocation again, therefore I omitted the .sh. I’m happy to do either way though!

  23. laanwj commented at 12:35 pm on March 22, 2021: member

    My output is:

     0$ cd guix-build-*/output/ && find * -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
     1fa28462f5c23413fd8c984f46a36238e69cd3e33871cedeae70c54f9a5977363  aarch64-linux-gnu/bitcoin-8170456b5b0b-aarch64-linux-gnu-debug.tar.gz
     214d40d7faa2775a7cf91a90d1da83d0928e75d44728f1e2b7e7164708a6be9c8  aarch64-linux-gnu/bitcoin-8170456b5b0b-aarch64-linux-gnu.tar.gz
     31c98c9fb41af4afb180122b8b9af57148344d25c029e20c5ccd2ec8e30b44028  arm-linux-gnueabihf/bitcoin-8170456b5b0b-arm-linux-gnueabihf-debug.tar.gz
     40237c2e46ef75f69fbed6050d8ee7795be754249767d1c773fe3fc34cdabfbba  arm-linux-gnueabihf/bitcoin-8170456b5b0b-arm-linux-gnueabihf.tar.gz
     51bbdaaeda79420b5d4b33de5490344e9526783ca43dbf31e11c02b34a4761685  dist-archive/bitcoin-8170456b5b0b.tar.gz
     66fe902c22accad9476a98e41d9421cde20618285a1052b7935053900ad98d774  powerpc64-linux-gnu/bitcoin-8170456b5b0b-powerpc64-linux-gnu-debug.tar.gz
     73d242604ab685ef6053ff63b1a87b6aa6e8e4a45611244b0046f0621f9bb0cb2  powerpc64-linux-gnu/bitcoin-8170456b5b0b-powerpc64-linux-gnu.tar.gz
     822d37162e34981fb7af66986f5067a7af15f53616fdbbceefb0e6465ae53b037  powerpc64le-linux-gnu/bitcoin-8170456b5b0b-powerpc64le-linux-gnu-debug.tar.gz
     9946c6b53f2874408ba43f67d4b8debafb8fc7767f11a98ce66e0bfd3fa2b10bf  powerpc64le-linux-gnu/bitcoin-8170456b5b0b-powerpc64le-linux-gnu.tar.gz
    10981e41c0a22b880f1e375c268b1a2876af3f3f2662205b3d2af97b8809e6bc8a  riscv64-linux-gnu/bitcoin-8170456b5b0b-riscv64-linux-gnu-debug.tar.gz
    1184ed7e0671ab626f015e13a0650ad4ea22a7d60e9e958611cfe26527e627a6b8  riscv64-linux-gnu/bitcoin-8170456b5b0b-riscv64-linux-gnu.tar.gz
    12417cd25618d10ec7efe6575ac79cf5265dfe689219113cd19a834b61deeb275e  x86_64-apple-darwin18/bitcoin-8170456b5b0b-osx-unsigned.dmg
    13f549b232b3eb6d45fcd4f8939b2ad3e80033c470d907a119ea8ec165dafa43f2  x86_64-apple-darwin18/bitcoin-8170456b5b0b-osx-unsigned.tar.gz
    1421a976a7647679f34a6afc54a25d0cd85d9a44d33891adab01153c992f8da512  x86_64-apple-darwin18/bitcoin-8170456b5b0b-osx64.tar.gz
    15929b616cf6acc9f1e327fc0af9c617573b167a25057fb4e2dc69e58027b41129  x86_64-linux-gnu/bitcoin-8170456b5b0b-x86_64-linux-gnu-debug.tar.gz
    16607c2cfea2a2c9d471d9de8bdea2293dc3058cf23098777086e18f27fbc7ce5f  x86_64-linux-gnu/bitcoin-8170456b5b0b-x86_64-linux-gnu.tar.gz
    17cd06f72d2a0d39f215f90070893e1ac638b8673281e296d7d2f2f29757e323d6  x86_64-w64-mingw32/bitcoin-8170456b5b0b-win-unsigned.tar.gz
    18e54a7adc915dcb9873c6a7b46f657061c3dc2c270f2ba9e0e218b2cbddd09cc5  x86_64-w64-mingw32/bitcoin-8170456b5b0b-win64-debug.zip
    19131816b9b9603a4a3e1ff035015f42d6839d1d14528a0d94f6e2052a00323933  x86_64-w64-mingw32/bitcoin-8170456b5b0b-win64-setup-unsigned.exe
    2094c51abeedceeb9c777fba4d18156055494ea350d862b994b7026acb0c96dc16  x86_64-w64-mingw32/bitcoin-8170456b5b0b-win64.zip
    

    I checked that the apple ones match.

    I was thinking that we might change the scripting language for these scripts in the future, or perhaps just have a python wrapper which interprets arguments.

    Okay, yes, implementing it in Python sounds great to me tbh. I do not like complex shell scripts. And yes, having to update all workflow documentation for a new extension would be inconvenient. Fair enough I’m fine with keeping it like this it just surprised me coming out of the blue.

  24. dongcarl force-pushed on Mar 23, 2021
  25. dongcarl commented at 8:38 pm on March 23, 2021: member

    Pushed 8170456b5b0b5f20e869e9a59b694383c57de28e -> e7e778bd13e6c696369ffdf317054f10679e8ac2

    • Supply --fallback to guix time-machine as well
    • Add notes w/re CMake RPATH patching in commit message
    • Add commit to build dmg as a static binary
     0$ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
     127cfd548cffca972b1efb4e9e8063eb20935420e0d24cac1ca4b1816d5c14e15  guix-build-e7e778bd13e6/output/aarch64-linux-gnu/bitcoin-e7e778bd13e6-aarch64-linux-gnu-debug.tar.gz
     2806c1532a9329507442bc07d142ca520523cde9caa813587620d77a6427c3ec1  guix-build-e7e778bd13e6/output/aarch64-linux-gnu/bitcoin-e7e778bd13e6-aarch64-linux-gnu.tar.gz
     3ede546c8bf428c59b201b95b0063c0740bd1926ef7d5b0c51481250dc616bd9e  guix-build-e7e778bd13e6/output/arm-linux-gnueabihf/bitcoin-e7e778bd13e6-arm-linux-gnueabihf-debug.tar.gz
     4e34701be5a5c06284474c20c2dfa69044cf3f2d4f83075d6e0d3cc3499e62079  guix-build-e7e778bd13e6/output/arm-linux-gnueabihf/bitcoin-e7e778bd13e6-arm-linux-gnueabihf.tar.gz
     5535636c8139bb605f318abd81a82734f6de1499804d18f2bfc94ae83a24dca83  guix-build-e7e778bd13e6/output/dist-archive/bitcoin-e7e778bd13e6.tar.gz
     6ea96a5e4ceb753cc7730756ef9f3614f99c52a85ca3dcd3c27be3a839e5786aa  guix-build-e7e778bd13e6/output/powerpc64-linux-gnu/bitcoin-e7e778bd13e6-powerpc64-linux-gnu-debug.tar.gz
     7d5c67cb9ae7141cfddb84dea72e2dbdd75c6973c5a280e2592c8a030f754a7d3  guix-build-e7e778bd13e6/output/powerpc64-linux-gnu/bitcoin-e7e778bd13e6-powerpc64-linux-gnu.tar.gz
     811e5850addf5e36ea1a88bdbfb95eaf0849dffad2a02ea9a9f6c6ed298697906  guix-build-e7e778bd13e6/output/powerpc64le-linux-gnu/bitcoin-e7e778bd13e6-powerpc64le-linux-gnu-debug.tar.gz
     9f2c9b9a3bf1ca9e6534f1e6b257726fe4f54887f983ed106f803e1c20b391969  guix-build-e7e778bd13e6/output/powerpc64le-linux-gnu/bitcoin-e7e778bd13e6-powerpc64le-linux-gnu.tar.gz
    10e956d36f43dc165f3d891ec15f444c2b9118db62731c44d7fb7e02ce7adb5627  guix-build-e7e778bd13e6/output/riscv64-linux-gnu/bitcoin-e7e778bd13e6-riscv64-linux-gnu-debug.tar.gz
    11a1d463ad0d0d30300040359e08854e83802484f308b7d05cf8db91488369e70b  guix-build-e7e778bd13e6/output/riscv64-linux-gnu/bitcoin-e7e778bd13e6-riscv64-linux-gnu.tar.gz
    12768b4d350479b41023a399b039b4b41740e0665ca74f932202fd6b7778aff2fc  guix-build-e7e778bd13e6/output/x86_64-apple-darwin18/bitcoin-e7e778bd13e6-osx-unsigned.dmg
    135445a0ec5fd2499037743c19fc5333e017ca5a580c7577b7dc3c0bd797ca150e  guix-build-e7e778bd13e6/output/x86_64-apple-darwin18/bitcoin-e7e778bd13e6-osx-unsigned.tar.gz
    1419c44b80bca204dedc9930d8185694462c32ded12858c0cc60d2d827a65f164c  guix-build-e7e778bd13e6/output/x86_64-apple-darwin18/bitcoin-e7e778bd13e6-osx64.tar.gz
    15d73c928e4526609d965af1deeebd024446cf1c805c5e1c6c3b4b6d3f83b544bd  guix-build-e7e778bd13e6/output/x86_64-linux-gnu/bitcoin-e7e778bd13e6-x86_64-linux-gnu-debug.tar.gz
    166451444951c00b4069470fe59c56381605a00c81bdf4704ee7e864fa1874c351  guix-build-e7e778bd13e6/output/x86_64-linux-gnu/bitcoin-e7e778bd13e6-x86_64-linux-gnu.tar.gz
    174f74734e93f3c24d77bbe05086b19c2196b6838cebb216379fd490a58eea096c  guix-build-e7e778bd13e6/output/x86_64-w64-mingw32/bitcoin-e7e778bd13e6-win-unsigned.tar.gz
    18cbe39967d66df4234ac399326e918d08fbb72ce3df2c172b66074de69c747b5c  guix-build-e7e778bd13e6/output/x86_64-w64-mingw32/bitcoin-e7e778bd13e6-win64-debug.zip
    196b2dfd59e8be58fb14ae92be27d47587681e890d816f6063dc3177ca21ee9ee5  guix-build-e7e778bd13e6/output/x86_64-w64-mingw32/bitcoin-e7e778bd13e6-win64-setup-unsigned.exe
    20e6ac8c8044ab6ace19976000922d585f56681918e08095712f26775e58904bdb  guix-build-e7e778bd13e6/output/x86_64-w64-mingw32/bitcoin-e7e778bd13e6-win64.zip
    
  26. DrahtBot added the label Needs rebase on Mar 24, 2021
  27. sipa commented at 6:46 am on March 26, 2021: member
     0$ sha256sum $(find -type f | LANG=C sort)
     127cfd548cffca972b1efb4e9e8063eb20935420e0d24cac1ca4b1816d5c14e15  ./aarch64-linux-gnu/bitcoin-e7e778bd13e6-aarch64-linux-gnu-debug.tar.gz
     2806c1532a9329507442bc07d142ca520523cde9caa813587620d77a6427c3ec1  ./aarch64-linux-gnu/bitcoin-e7e778bd13e6-aarch64-linux-gnu.tar.gz
     3ede546c8bf428c59b201b95b0063c0740bd1926ef7d5b0c51481250dc616bd9e  ./arm-linux-gnueabihf/bitcoin-e7e778bd13e6-arm-linux-gnueabihf-debug.tar.gz
     4e34701be5a5c06284474c20c2dfa69044cf3f2d4f83075d6e0d3cc3499e62079  ./arm-linux-gnueabihf/bitcoin-e7e778bd13e6-arm-linux-gnueabihf.tar.gz
     5535636c8139bb605f318abd81a82734f6de1499804d18f2bfc94ae83a24dca83  ./dist-archive/bitcoin-e7e778bd13e6.tar.gz
     6ea96a5e4ceb753cc7730756ef9f3614f99c52a85ca3dcd3c27be3a839e5786aa  ./powerpc64-linux-gnu/bitcoin-e7e778bd13e6-powerpc64-linux-gnu-debug.tar.gz
     7d5c67cb9ae7141cfddb84dea72e2dbdd75c6973c5a280e2592c8a030f754a7d3  ./powerpc64-linux-gnu/bitcoin-e7e778bd13e6-powerpc64-linux-gnu.tar.gz
     811e5850addf5e36ea1a88bdbfb95eaf0849dffad2a02ea9a9f6c6ed298697906  ./powerpc64le-linux-gnu/bitcoin-e7e778bd13e6-powerpc64le-linux-gnu-debug.tar.gz
     9f2c9b9a3bf1ca9e6534f1e6b257726fe4f54887f983ed106f803e1c20b391969  ./powerpc64le-linux-gnu/bitcoin-e7e778bd13e6-powerpc64le-linux-gnu.tar.gz
    10e956d36f43dc165f3d891ec15f444c2b9118db62731c44d7fb7e02ce7adb5627  ./riscv64-linux-gnu/bitcoin-e7e778bd13e6-riscv64-linux-gnu-debug.tar.gz
    11a1d463ad0d0d30300040359e08854e83802484f308b7d05cf8db91488369e70b  ./riscv64-linux-gnu/bitcoin-e7e778bd13e6-riscv64-linux-gnu.tar.gz
    12768b4d350479b41023a399b039b4b41740e0665ca74f932202fd6b7778aff2fc  ./x86_64-apple-darwin18/bitcoin-e7e778bd13e6-osx-unsigned.dmg
    135445a0ec5fd2499037743c19fc5333e017ca5a580c7577b7dc3c0bd797ca150e  ./x86_64-apple-darwin18/bitcoin-e7e778bd13e6-osx-unsigned.tar.gz
    1419c44b80bca204dedc9930d8185694462c32ded12858c0cc60d2d827a65f164c  ./x86_64-apple-darwin18/bitcoin-e7e778bd13e6-osx64.tar.gz
    15d73c928e4526609d965af1deeebd024446cf1c805c5e1c6c3b4b6d3f83b544bd  ./x86_64-linux-gnu/bitcoin-e7e778bd13e6-x86_64-linux-gnu-debug.tar.gz
    166451444951c00b4069470fe59c56381605a00c81bdf4704ee7e864fa1874c351  ./x86_64-linux-gnu/bitcoin-e7e778bd13e6-x86_64-linux-gnu.tar.gz
    174f74734e93f3c24d77bbe05086b19c2196b6838cebb216379fd490a58eea096c  ./x86_64-w64-mingw32/bitcoin-e7e778bd13e6-win-unsigned.tar.gz
    18cbe39967d66df4234ac399326e918d08fbb72ce3df2c172b66074de69c747b5c  ./x86_64-w64-mingw32/bitcoin-e7e778bd13e6-win64-debug.zip
    196b2dfd59e8be58fb14ae92be27d47587681e890d816f6063dc3177ca21ee9ee5  ./x86_64-w64-mingw32/bitcoin-e7e778bd13e6-win64-setup-unsigned.exe
    20e6ac8c8044ab6ace19976000922d585f56681918e08095712f26775e58904bdb  ./x86_64-w64-mingw32/bitcoin-e7e778bd13e6-win64.zip
    
  28. in contrib/guix/guix-build:21 in 0272ae6f36 outdated
    24-        echo "ERR: This script requires that '$cmd' is installed and available in your \$PATH"
    25-        exit 1
    26-    fi
    27-done
    28+
    29+check_tools cat mkdir make git guix
    


    hebasto commented at 5:23 am on March 28, 2021:
    cat and git already checked in the sourced libexec/prelude.bash. Maybe combine both check_tools into one?

    dongcarl commented at 5:17 pm on March 30, 2021:
    The check is quite cheap, and only attest to the tools being used in the current script. Instead of trying to figure out how to optimize it, I think we can just leave it be if it’s redundant. 😄
  29. in contrib/guix/README.md:311 in 6328800180 outdated
    306+`foo`'s build directory is also preserved and available at
    307+`/tmp/guix-build-foo-3.6.12.drv-0`. However, if you fail to build `foo` multiple
    308+times, it may be `/tmp/...drv-1` or `/tmp/...drv-2`. Always consult the build
    309+failure output for the most accurate, up-to-date information.
    310+
    311+#### python(-minimal): [Errno 84] Invalid or incomplete multibyte or wide character
    


    hebasto commented at 5:31 am on March 28, 2021:

    Maybe inline with the previous “Derivation failed to build” item

    0### python(-minimal): [Errno 84] Invalid or incomplete multibyte or wide character
    

    ?


    dongcarl commented at 5:18 pm on March 30, 2021:
    This is a common “Derivation failed to build” error, which is why I made it underneath it hierarchically
  30. hebasto commented at 5:48 am on March 28, 2021: member

    I’d suggest to split this PR in two separated parts:

    1. bash scripts optimizations and fixes, dir structure change, docs
    2. dependencies build stuff, patches etc

    It would make each part more focused, and easier to review and test, no?

  31. dongcarl commented at 5:20 pm on March 30, 2021: member

    It would make each part more focused, and easier to review and test, no?

    That may be true, but I think a lot of people have already tested the whole bundle here, so I want to keep it this way if possible :-)

    If there are parts that you find especially hard to parse/review, I’d be happy to explain more!

  32. guix: Use --cores instead of --max-jobs
    In Guix, there are two flags for controlling parallelism:
    
    Note: When I say "derivation," think "package"
    
    --cores=n
      - controls the number of CPU cores to build each derivation. This is
        the value passed to `make`'s `--jobs=` flag.
      - defaults to 0: as many cores as is available
    
    --max-jobs=n
      - controls how many derivations can be built in parallel
      - defaults to 1
    
    Therefore, if set --max-jobs=$MAX_JOBS and don't set --cores, Guix could
    theoretically spin up $MAX_JOBS * $(nproc) number of threads, and that's
    no good.
    
    So we could either default to --cores=1, --max-jobs=$MAX_JOBS
    
      - Pro: --cores=1 means that `make` will be invoked with `-j1`,
             avoiding problems with package whose build systems and test
             suites break when running multi-threaded.
    
      - Con: There will be times when only 1 or 2 derivations can be built
             at a time, because the rest of the dependency graph all depend
             on those 1 or 2 derivations. During these times, the machine
             will be severely under-utilized.
    
    or --cores=$MAX_JOBS, --max-jobs=1
    
      - Pro: We don't encounter prolonged periods of
             severe under-utilization mentioned above.
    
      - Con: Many packages' build systems and test suites break when running
             multi-threaded.
    
    or --cores=1, --max-jobs=1 and let the user override with
    $ADDITIONAL_GUIX_COMMON_FLAGS
    d5a71e9785
  33. contrib: Silence git-describe when looking for tag
    Otherwise, it prints a rather disturbing message to stderr:
    
        fatal: no tag exactly matches '<hash>'
    3e9982ab38
  34. guix: Create windeploy inside distsrc-*
    ./windeploy is a "working directory", and therefore belongs inside
    distsrc-*. Many people have noticed their Guix builds failing after
    hours simply because they did not remove windeploy (but did remove the
    distsrc-* directories).
    e5b49a01f5
  35. dongcarl force-pushed on Apr 2, 2021
  36. dongcarl commented at 7:59 pm on April 2, 2021: member

    Pushed e7e778bd13e6c696369ffdf317054f10679e8ac2 -> edf5c8a8182e30862c7d62f11147ead31e029f04

    • Rebased over master
     0$ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
     14f75b7e4f4037d47b405025a23f7ec762a6b16645858c9f547f95ea22651b9fa  guix-build-edf5c8a8182e/output/aarch64-linux-gnu/bitcoin-edf5c8a8182e-aarch64-linux-gnu-debug.tar.gz
     2d56a231299ee283faa69044264a40673095817bf6591e260baa317684b093af1  guix-build-edf5c8a8182e/output/aarch64-linux-gnu/bitcoin-edf5c8a8182e-aarch64-linux-gnu.tar.gz
     30d740d6956c6cbc9b3c003665811780cad26f7264909f7666932f11b3965e6fb  guix-build-edf5c8a8182e/output/arm-linux-gnueabihf/bitcoin-edf5c8a8182e-arm-linux-gnueabihf-debug.tar.gz
     4a507d8ec33c10fc8d8475882da50c344e6a9c8e0049371634f59368d7c7a3be4  guix-build-edf5c8a8182e/output/arm-linux-gnueabihf/bitcoin-edf5c8a8182e-arm-linux-gnueabihf.tar.gz
     5046de55652c7825aecd059c9dfaede839d48049e836e0710e8550e435cd20aa4  guix-build-edf5c8a8182e/output/dist-archive/bitcoin-edf5c8a8182e.tar.gz
     6039feec1265b39a39e7f827d7df16c8096c3f01a330bbf603de474bfe639a2a1  guix-build-edf5c8a8182e/output/powerpc64-linux-gnu/bitcoin-edf5c8a8182e-powerpc64-linux-gnu-debug.tar.gz
     7b0073d2f5cd47fbc50852261bb214f0cc360ea02e564d2775fe38a93358db176  guix-build-edf5c8a8182e/output/powerpc64-linux-gnu/bitcoin-edf5c8a8182e-powerpc64-linux-gnu.tar.gz
     8cef44d9ef73e6469f03cb24210249559eaa6e36cd4b558a64df92c9318ee12f8  guix-build-edf5c8a8182e/output/powerpc64le-linux-gnu/bitcoin-edf5c8a8182e-powerpc64le-linux-gnu-debug.tar.gz
     90805455b000b798ff75110c1a96afd5d898fe8c0aa866f5fe49c04d153f49381  guix-build-edf5c8a8182e/output/powerpc64le-linux-gnu/bitcoin-edf5c8a8182e-powerpc64le-linux-gnu.tar.gz
    1040268bbdca2009cfe0bce3bf062764447958c6904342183183249817131fe739  guix-build-edf5c8a8182e/output/riscv64-linux-gnu/bitcoin-edf5c8a8182e-riscv64-linux-gnu-debug.tar.gz
    11f40195d1d041e87cbdf85bbb8feb496e4ec8182b6f892ef883636a8c96b4c36d  guix-build-edf5c8a8182e/output/riscv64-linux-gnu/bitcoin-edf5c8a8182e-riscv64-linux-gnu.tar.gz
    122bc6df7878ca8afe8798bdf61057e5932ebe250eb010f34fb09d5630e0102e8c  guix-build-edf5c8a8182e/output/x86_64-apple-darwin18/bitcoin-edf5c8a8182e-osx-unsigned.dmg
    13035334329a682859e79613c13acd85981ed767f0cf65a896bfabce8ae18f71b4  guix-build-edf5c8a8182e/output/x86_64-apple-darwin18/bitcoin-edf5c8a8182e-osx-unsigned.tar.gz
    14689d0c40663b895e272442722ce86416347e1b1d540e948799cb765ae1281988  guix-build-edf5c8a8182e/output/x86_64-apple-darwin18/bitcoin-edf5c8a8182e-osx64.tar.gz
    155addcb7e2a0ec00be93ca966467d5e9fe3b74ed4ccf5bbb070bac1d3ab1d63e6  guix-build-edf5c8a8182e/output/x86_64-linux-gnu/bitcoin-edf5c8a8182e-x86_64-linux-gnu-debug.tar.gz
    16638bd4559bf2a565279b1fd480a35897f552edcf23f7389cb4f694b03ee5e894  guix-build-edf5c8a8182e/output/x86_64-linux-gnu/bitcoin-edf5c8a8182e-x86_64-linux-gnu.tar.gz
    17e5b1cef87f107c5526a2ef6924b08e586129696774bb812aee653c3fad5be8a3  guix-build-edf5c8a8182e/output/x86_64-w64-mingw32/bitcoin-edf5c8a8182e-win-unsigned.tar.gz
    18707a0762678fcbbb3199a645cbf5dc47b787558a18c4e24695eeef8c6563a6bf  guix-build-edf5c8a8182e/output/x86_64-w64-mingw32/bitcoin-edf5c8a8182e-win64-debug.zip
    196cdc35406bf1b2fbd4fc59103a668486b7b88f4677abde66728b43d709071c52  guix-build-edf5c8a8182e/output/x86_64-w64-mingw32/bitcoin-edf5c8a8182e-win64-setup-unsigned.exe
    20fdd08d5fde953a380b1e9a8d714ab4868a0172f809a84ae9f23cc5d4ac19f07b  guix-build-edf5c8a8182e/output/x86_64-w64-mingw32/bitcoin-edf5c8a8182e-win64.zip
    
  37. DrahtBot removed the label Needs rebase on Apr 2, 2021
  38. sipa commented at 11:10 pm on April 2, 2021: member
     0$ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
     14f75b7e4f4037d47b405025a23f7ec762a6b16645858c9f547f95ea22651b9fa  guix-build-edf5c8a8182e/output/aarch64-linux-gnu/bitcoin-edf5c8a8182e-aarch64-linux-gnu-debug.tar.gz
     2d56a231299ee283faa69044264a40673095817bf6591e260baa317684b093af1  guix-build-edf5c8a8182e/output/aarch64-linux-gnu/bitcoin-edf5c8a8182e-aarch64-linux-gnu.tar.gz
     30d740d6956c6cbc9b3c003665811780cad26f7264909f7666932f11b3965e6fb  guix-build-edf5c8a8182e/output/arm-linux-gnueabihf/bitcoin-edf5c8a8182e-arm-linux-gnueabihf-debug.tar.gz
     4a507d8ec33c10fc8d8475882da50c344e6a9c8e0049371634f59368d7c7a3be4  guix-build-edf5c8a8182e/output/arm-linux-gnueabihf/bitcoin-edf5c8a8182e-arm-linux-gnueabihf.tar.gz
     5046de55652c7825aecd059c9dfaede839d48049e836e0710e8550e435cd20aa4  guix-build-edf5c8a8182e/output/dist-archive/bitcoin-edf5c8a8182e.tar.gz
     6039feec1265b39a39e7f827d7df16c8096c3f01a330bbf603de474bfe639a2a1  guix-build-edf5c8a8182e/output/powerpc64-linux-gnu/bitcoin-edf5c8a8182e-powerpc64-linux-gnu-debug.tar.gz
     7b0073d2f5cd47fbc50852261bb214f0cc360ea02e564d2775fe38a93358db176  guix-build-edf5c8a8182e/output/powerpc64-linux-gnu/bitcoin-edf5c8a8182e-powerpc64-linux-gnu.tar.gz
     8cef44d9ef73e6469f03cb24210249559eaa6e36cd4b558a64df92c9318ee12f8  guix-build-edf5c8a8182e/output/powerpc64le-linux-gnu/bitcoin-edf5c8a8182e-powerpc64le-linux-gnu-debug.tar.gz
     90805455b000b798ff75110c1a96afd5d898fe8c0aa866f5fe49c04d153f49381  guix-build-edf5c8a8182e/output/powerpc64le-linux-gnu/bitcoin-edf5c8a8182e-powerpc64le-linux-gnu.tar.gz
    1040268bbdca2009cfe0bce3bf062764447958c6904342183183249817131fe739  guix-build-edf5c8a8182e/output/riscv64-linux-gnu/bitcoin-edf5c8a8182e-riscv64-linux-gnu-debug.tar.gz
    11f40195d1d041e87cbdf85bbb8feb496e4ec8182b6f892ef883636a8c96b4c36d  guix-build-edf5c8a8182e/output/riscv64-linux-gnu/bitcoin-edf5c8a8182e-riscv64-linux-gnu.tar.gz
    122bc6df7878ca8afe8798bdf61057e5932ebe250eb010f34fb09d5630e0102e8c  guix-build-edf5c8a8182e/output/x86_64-apple-darwin18/bitcoin-edf5c8a8182e-osx-unsigned.dmg
    13035334329a682859e79613c13acd85981ed767f0cf65a896bfabce8ae18f71b4  guix-build-edf5c8a8182e/output/x86_64-apple-darwin18/bitcoin-edf5c8a8182e-osx-unsigned.tar.gz
    14689d0c40663b895e272442722ce86416347e1b1d540e948799cb765ae1281988  guix-build-edf5c8a8182e/output/x86_64-apple-darwin18/bitcoin-edf5c8a8182e-osx64.tar.gz
    155addcb7e2a0ec00be93ca966467d5e9fe3b74ed4ccf5bbb070bac1d3ab1d63e6  guix-build-edf5c8a8182e/output/x86_64-linux-gnu/bitcoin-edf5c8a8182e-x86_64-linux-gnu-debug.tar.gz
    16638bd4559bf2a565279b1fd480a35897f552edcf23f7389cb4f694b03ee5e894  guix-build-edf5c8a8182e/output/x86_64-linux-gnu/bitcoin-edf5c8a8182e-x86_64-linux-gnu.tar.gz
    17e5b1cef87f107c5526a2ef6924b08e586129696774bb812aee653c3fad5be8a3  guix-build-edf5c8a8182e/output/x86_64-w64-mingw32/bitcoin-edf5c8a8182e-win-unsigned.tar.gz
    18707a0762678fcbbb3199a645cbf5dc47b787558a18c4e24695eeef8c6563a6bf  guix-build-edf5c8a8182e/output/x86_64-w64-mingw32/bitcoin-edf5c8a8182e-win64-debug.zip
    196cdc35406bf1b2fbd4fc59103a668486b7b88f4677abde66728b43d709071c52  guix-build-edf5c8a8182e/output/x86_64-w64-mingw32/bitcoin-edf5c8a8182e-win64-setup-unsigned.exe
    20fdd08d5fde953a380b1e9a8d714ab4868a0172f809a84ae9f23cc5d4ac19f07b  guix-build-edf5c8a8182e/output/x86_64-w64-mingw32/bitcoin-edf5c8a8182e-win64.zip
    21``
    
  39. in contrib/guix/README.md:318 in e827ed30d2 outdated
    313+This error occurs when your `$TMPDIR` (default: /tmp) exists on a filesystem
    314+which rejects characters not present in the UTF-8 character code set. An example
    315+is ZFS with the utf8only=on option set.
    316+
    317+It is probably best to siwtch to using tmpfs for your `$TMPDIR`. It is the
    318+default for most Linux distribution.
    


    sipa commented at 11:31 pm on April 2, 2021:

    In commit “guix: Add troubleshooting documentation entries”

    Nit: distributions.

    Also, and equally a nit… do you have any evidence for that statement? I don’t think it’s the default on any of the distributions I’ve used in the past (Debian, Gentoo, Ubuntu).


    laanwj commented at 2:43 pm on April 3, 2021:

    From what I remember, using tmpfs for /tmp is uncommon for non-embedded / non-minimal distros, because some software like cough bitcoin tests cough like to drop large amount of files there filling up memory.

    It looks like stock Fedora (RISC-V, but that shouldn’t matter) does do it:

    0tmpfs on /tmp type tmpfs (rw,nosuid,nodev,nr_inodes=409600)
    

    dongcarl commented at 3:03 pm on April 5, 2021:
    My bad! Fixed in latest push :-)
  40. in contrib/guix/libexec/prelude.bash:1 in d186907712 outdated
    0@@ -0,0 +1,60 @@
    1+#!/usr/bin/env bash
    


    sipa commented at 11:37 pm on April 2, 2021:

    In commit “guix: Add souce-able bash prelude and utils”

    Nit: commit title contains a typo


    dongcarl commented at 3:03 pm on April 5, 2021:
    Fixed, thanks!
  41. sipa commented at 11:42 pm on April 2, 2021: member
    ACK edf5c8a8182e30862c7d62f11147ead31e029f04. Reviewed the code changes, and performed several builds.
  42. guix: Add source-able bash prelude and utils 7753357a7b
  43. guix: Remove guix-build.sh filename extension 4eccf063b2
  44. guix: Adapt guix-build to prelude, restructure hier 7f401c953f
  45. guix: Add troubleshooting documentation entries d55a1056ee
  46. guix: Supply --link-profile 39741128d3
  47. guix: More thoroughly control native toolchain c1ae726a13
  48. guix: Add early health check for guix-daemon 1742f8e12d
  49. guix: Fallback to local build for substitute-enabled Guix users 1aec0eda8f
  50. guix: Use clang-toolchain instead of clang ca85679eb4
  51. guix: Remove codesign_allocate+pagestuff from unsigned tarball 65176ab573
  52. depends: libdmg-hfsplus: Skip CMake RPATH patching
    CMake's RPATH patching apparently causes non-reproducibility in the
    executables which are produced, manifesting in a difference in padding
    in the .dynstr section (we found this while investigating
    non-reproducibility in the "dmg" tool). This RPATH patching can be
    safely skipped for executables which don't depend on internal shared
    libraries.
    
    Documentation sources:
    1. https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling
    2. https://reproducible-builds.org/docs/deterministic-build-systems/#cmake-notes
    
    Prior debugging art:
    1. https://stackoverflow.com/questions/63438206/cmake-g-reproducible-build-issue-with-changing-build-path
    2. https://github.com/NXPmicro/mfgtools/pull/229/files
    06d6cf6784
  53. guix: Build dmg as a static binary
    This relatively easy change eliminates all runtime dependencies (except
    for the kernel) for dmg, which is the only native build tool that gets
    put in our output tarballs.
    
    This allows much more flexibility when constructing the codesigning
    environment, and is much more robust.
    7476b46f18
  54. dongcarl force-pushed on Apr 5, 2021
  55. dongcarl commented at 3:02 pm on April 5, 2021: member

    Pushed edf5c8a8182e30862c7d62f11147ead31e029f04 -> 7476b46f1893a4858616d2a8456a7c43238851ed

     0$ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
     195c20e95a7fac6e0a1d2fe8ab39f882a7b92dce457bcf617beb7885608ce6d4b  guix-build-7476b46f1893/output/aarch64-linux-gnu/bitcoin-7476b46f1893-aarch64-linux-gnu-debug.tar.gz
     2d1da31d62a5eb8b7bd5757994b3fed344774554a5db420a9e0126717abc1a0e0  guix-build-7476b46f1893/output/aarch64-linux-gnu/bitcoin-7476b46f1893-aarch64-linux-gnu.tar.gz
     3901353750ddb4edf242b6f0be8f2d792f5cd7396c92e08425af0425d48edc26f  guix-build-7476b46f1893/output/arm-linux-gnueabihf/bitcoin-7476b46f1893-arm-linux-gnueabihf-debug.tar.gz
     443b82d0289bfe393d4473552daa61e9969bf2bf673b909a43e33f041251b1873  guix-build-7476b46f1893/output/arm-linux-gnueabihf/bitcoin-7476b46f1893-arm-linux-gnueabihf.tar.gz
     5136b6db7095ad7d9deace423042b4c8555778502d0aeaf20f7824a865cdebe1d  guix-build-7476b46f1893/output/dist-archive/bitcoin-7476b46f1893.tar.gz
     663c168a78021fe9564ba64a9dacadedf3fa74ce3af94b63389b581e6d2b92a91  guix-build-7476b46f1893/output/powerpc64-linux-gnu/bitcoin-7476b46f1893-powerpc64-linux-gnu-debug.tar.gz
     793bed490a7d6029fd1f96edcbe0c1a6482f90cd12ce5f520f6d57a9d879d2810  guix-build-7476b46f1893/output/powerpc64-linux-gnu/bitcoin-7476b46f1893-powerpc64-linux-gnu.tar.gz
     82a085f1c9ac270502bedfda1de12ca075fe55805275aae17d92872821d5ef6dd  guix-build-7476b46f1893/output/powerpc64le-linux-gnu/bitcoin-7476b46f1893-powerpc64le-linux-gnu-debug.tar.gz
     973c30078d872733cfd908cdc5b3430e01b6001ff1f8454f08d1a904fd196e502  guix-build-7476b46f1893/output/powerpc64le-linux-gnu/bitcoin-7476b46f1893-powerpc64le-linux-gnu.tar.gz
    109728024ae3cff4d067410c61a1024a3dc7526a4842a51a06ff2d3a1a67294833  guix-build-7476b46f1893/output/riscv64-linux-gnu/bitcoin-7476b46f1893-riscv64-linux-gnu-debug.tar.gz
    11f67986dc977ee4b791a505bc14e032f625713a69d9090d9d3f5d45154785dd5d  guix-build-7476b46f1893/output/riscv64-linux-gnu/bitcoin-7476b46f1893-riscv64-linux-gnu.tar.gz
    1232466d33c282fbb5da9d49fe46a71403b280fbfe9fd0fe33169fbec118c1b582  guix-build-7476b46f1893/output/x86_64-apple-darwin18/bitcoin-7476b46f1893-osx-unsigned.dmg
    138e3cd482b143ce87075b01881f53c233e7867a0ff97ee810529d56fa6080ee72  guix-build-7476b46f1893/output/x86_64-apple-darwin18/bitcoin-7476b46f1893-osx-unsigned.tar.gz
    14ef7aaebeb0cc5d14aacce1fb2bf5e2ec9ab9652142ebcc5e0378c967583c778d  guix-build-7476b46f1893/output/x86_64-apple-darwin18/bitcoin-7476b46f1893-osx64.tar.gz
    159559ad27c0e76373e5e9b6a068ce0e9a51031fb121c12cdab0bb0a183624efcd  guix-build-7476b46f1893/output/x86_64-linux-gnu/bitcoin-7476b46f1893-x86_64-linux-gnu-debug.tar.gz
    1623fba5cfd134fd35c78e05bab8207a0909acce15ffe5fb8fed7703fabe389e96  guix-build-7476b46f1893/output/x86_64-linux-gnu/bitcoin-7476b46f1893-x86_64-linux-gnu.tar.gz
    1773bd95215fcdb6428ad16e785502b6438f4ec02f9c3e237f7bfab213e2b79077  guix-build-7476b46f1893/output/x86_64-w64-mingw32/bitcoin-7476b46f1893-win-unsigned.tar.gz
    18c2b919c0a6bdf6b31c86bc52a22a69c78df2f1adfda5e0629e24c2c5accd1715  guix-build-7476b46f1893/output/x86_64-w64-mingw32/bitcoin-7476b46f1893-win64-debug.zip
    198add7726bc390f177ea67ba7fb5b6697e9f51cf1c7c82e87ef89163fcfd62834  guix-build-7476b46f1893/output/x86_64-w64-mingw32/bitcoin-7476b46f1893-win64-setup-unsigned.exe
    20453af78c249b5fb8341bb48850a4a886d26595f35cda7f72fea97b0f14760dc2  guix-build-7476b46f1893/output/x86_64-w64-mingw32/bitcoin-7476b46f1893-win64.zip
    
  56. sipa commented at 8:46 pm on April 5, 2021: member
    ACK 7476b46f1893a4858616d2a8456a7c43238851ed
  57. sipa commented at 10:30 pm on April 5, 2021: member
     0$ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
     195c20e95a7fac6e0a1d2fe8ab39f882a7b92dce457bcf617beb7885608ce6d4b  guix-build-7476b46f1893/output/aarch64-linux-gnu/bitcoin-7476b46f1893-aarch64-linux-gnu-debug.tar.gz
     2d1da31d62a5eb8b7bd5757994b3fed344774554a5db420a9e0126717abc1a0e0  guix-build-7476b46f1893/output/aarch64-linux-gnu/bitcoin-7476b46f1893-aarch64-linux-gnu.tar.gz
     3901353750ddb4edf242b6f0be8f2d792f5cd7396c92e08425af0425d48edc26f  guix-build-7476b46f1893/output/arm-linux-gnueabihf/bitcoin-7476b46f1893-arm-linux-gnueabihf-debug.tar.gz
     443b82d0289bfe393d4473552daa61e9969bf2bf673b909a43e33f041251b1873  guix-build-7476b46f1893/output/arm-linux-gnueabihf/bitcoin-7476b46f1893-arm-linux-gnueabihf.tar.gz
     5136b6db7095ad7d9deace423042b4c8555778502d0aeaf20f7824a865cdebe1d  guix-build-7476b46f1893/output/dist-archive/bitcoin-7476b46f1893.tar.gz
     663c168a78021fe9564ba64a9dacadedf3fa74ce3af94b63389b581e6d2b92a91  guix-build-7476b46f1893/output/powerpc64-linux-gnu/bitcoin-7476b46f1893-powerpc64-linux-gnu-debug.tar.gz
     793bed490a7d6029fd1f96edcbe0c1a6482f90cd12ce5f520f6d57a9d879d2810  guix-build-7476b46f1893/output/powerpc64-linux-gnu/bitcoin-7476b46f1893-powerpc64-linux-gnu.tar.gz
     82a085f1c9ac270502bedfda1de12ca075fe55805275aae17d92872821d5ef6dd  guix-build-7476b46f1893/output/powerpc64le-linux-gnu/bitcoin-7476b46f1893-powerpc64le-linux-gnu-debug.tar.gz
     973c30078d872733cfd908cdc5b3430e01b6001ff1f8454f08d1a904fd196e502  guix-build-7476b46f1893/output/powerpc64le-linux-gnu/bitcoin-7476b46f1893-powerpc64le-linux-gnu.tar.gz
    109728024ae3cff4d067410c61a1024a3dc7526a4842a51a06ff2d3a1a67294833  guix-build-7476b46f1893/output/riscv64-linux-gnu/bitcoin-7476b46f1893-riscv64-linux-gnu-debug.tar.gz
    11f67986dc977ee4b791a505bc14e032f625713a69d9090d9d3f5d45154785dd5d  guix-build-7476b46f1893/output/riscv64-linux-gnu/bitcoin-7476b46f1893-riscv64-linux-gnu.tar.gz
    1232466d33c282fbb5da9d49fe46a71403b280fbfe9fd0fe33169fbec118c1b582  guix-build-7476b46f1893/output/x86_64-apple-darwin18/bitcoin-7476b46f1893-osx-unsigned.dmg
    138e3cd482b143ce87075b01881f53c233e7867a0ff97ee810529d56fa6080ee72  guix-build-7476b46f1893/output/x86_64-apple-darwin18/bitcoin-7476b46f1893-osx-unsigned.tar.gz
    14ef7aaebeb0cc5d14aacce1fb2bf5e2ec9ab9652142ebcc5e0378c967583c778d  guix-build-7476b46f1893/output/x86_64-apple-darwin18/bitcoin-7476b46f1893-osx64.tar.gz
    159559ad27c0e76373e5e9b6a068ce0e9a51031fb121c12cdab0bb0a183624efcd  guix-build-7476b46f1893/output/x86_64-linux-gnu/bitcoin-7476b46f1893-x86_64-linux-gnu-debug.tar.gz
    1623fba5cfd134fd35c78e05bab8207a0909acce15ffe5fb8fed7703fabe389e96  guix-build-7476b46f1893/output/x86_64-linux-gnu/bitcoin-7476b46f1893-x86_64-linux-gnu.tar.gz
    1773bd95215fcdb6428ad16e785502b6438f4ec02f9c3e237f7bfab213e2b79077  guix-build-7476b46f1893/output/x86_64-w64-mingw32/bitcoin-7476b46f1893-win-unsigned.tar.gz
    18c2b919c0a6bdf6b31c86bc52a22a69c78df2f1adfda5e0629e24c2c5accd1715  guix-build-7476b46f1893/output/x86_64-w64-mingw32/bitcoin-7476b46f1893-win64-debug.zip
    198add7726bc390f177ea67ba7fb5b6697e9f51cf1c7c82e87ef89163fcfd62834  guix-build-7476b46f1893/output/x86_64-w64-mingw32/bitcoin-7476b46f1893-win64-setup-unsigned.exe
    20453af78c249b5fb8341bb48850a4a886d26595f35cda7f72fea97b0f14760dc2  guix-build-7476b46f1893/output/x86_64-w64-mingw32/bitcoin-7476b46f1893-win64.zip
    
  58. laanwj commented at 10:59 pm on April 5, 2021: member
    ACK 7476b46f1893a4858616d2a8456a7c43238851ed My output (built in a GUIX VM) matches @sipa’s 100%.
  59. laanwj merged this on Apr 5, 2021
  60. laanwj closed this on Apr 5, 2021

  61. laanwj moved this from the "Next (Not based on any other PRs)" to the "Done" column in a project

  62. fanquake referenced this in commit e2777b5328 on Apr 6, 2021
  63. sidhujag referenced this in commit 01d5cc246e on Apr 6, 2021
  64. sidhujag referenced this in commit b8f10a1343 on Apr 6, 2021
  65. hebasto commented at 3:03 pm on April 9, 2021: member

    Finally, we restructure the guix building hierarchy such that it looks something like:

    Also see #21643.

  66. fanquake referenced this in commit dd01dc6a1d on Apr 11, 2021
  67. laanwj referenced this in commit c5712d172e on Nov 30, 2021
  68. PastaPastaPasta referenced this in commit 147cbe03d7 on Dec 22, 2021
  69. PastaPastaPasta referenced this in commit 2a2592193d on Dec 22, 2021
  70. PastaPastaPasta referenced this in commit 296c8e012c on Dec 22, 2021
  71. RandyMcMillan referenced this in commit ac65a586a9 on Dec 23, 2021
  72. PastaPastaPasta referenced this in commit 1818427fb2 on Dec 28, 2021
  73. DrahtBot locked this on Aug 16, 2022

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: 2024-07-03 10:13 UTC

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