build: Use Xcode .xip as Guix input #18674

issue dongcarl openend this issue on April 16, 2020
  1. dongcarl commented at 6:38 pm on April 16, 2020: member

    It seems to me that the manual extraction of MacOSX10.*.sdk.tar.gz can be a source of fragility, confusion, and non-determinism.

    Perhaps what we could do going forward is to have the unmodified Xcode .xip as the Gitian input, and perform the extraction inside the Gitian environment. This has the additional benefit of the .xip being trivially deterministic (and thus easy to compare) as long as people are downloading the same version.

  2. dongcarl added the label Build system on Apr 16, 2020
  3. fanquake added the label macOS on Apr 16, 2020
  4. fanquake commented at 3:01 am on April 17, 2020: member
    Concept ACK. The macOS SDK seems to be the step that causes the most trouble for gitian builders. Whether that’s actually getting it, putting it in the right place, ensuring it’s named correctly (zipped and after unzipping) etc.
  5. MarcoFalke commented at 11:27 am on April 17, 2020: member
    Will this be added as a script to ./depends, so that it is properly cached and only generated once per major release?
  6. sipa deleted a comment on Apr 17, 2020
  7. Sjors commented at 2:07 pm on April 19, 2020: member
    Concept ACK. That also removes any potential difference between macOS and linux users in the way they produce the SDK archive.
  8. jonasschnelli commented at 8:11 am on April 20, 2020: contributor
    I guess the only downside is that one needs to provide a much larger file (a few GBs)?
  9. dongcarl commented at 10:18 am on April 20, 2020: member

    I guess the only downside is that one needs to provide a much larger file (a few GBs)?

    Right, but you needed to download in the first place anyway, and the increase in size is not too bad compared to the rest of Gitian

  10. jonasschnelli commented at 12:46 pm on April 20, 2020: contributor

    I guess the only downside is that one needs to provide a much larger file (a few GBs)?

    Right, but you needed to download in the first place anyway, and the increase in size is not too bad compared to the rest of Gitian

    I thought more in the context of CI systems where either the “cached” .xip needs to be loaded over (like to a VM) or the .xip needs to be downloaded form some sort of a remote system (like travis loads the MacOS SDK from bitcoincore.org.).

  11. hebasto commented at 11:17 pm on August 19, 2021: member
    Is this still relevant after migration to Guix?
  12. fanquake commented at 7:05 am on August 20, 2021: member

    Is this still relevant after migration to Guix?

    Yes. The issue this is solving is the same for Guix and gitian.

  13. prusnak commented at 8:03 pm on March 18, 2022: contributor
    Related PR: #24534 - make macOS headers extraction from XIP file deterministic.
  14. fanquake renamed this:
    build: Use Xcode .xip as Gitian input
    build: Use Xcode .xip as Guix input
    on May 4, 2023

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-12-19 06:12 UTC

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