New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: Consider SOURCE_DATE_EPOCH
in Guix environment only
#29761
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code CoverageFor detailed information about the code coverage, see the test coverage report. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. ConflictsReviewers, this pull request conflicts with the following ones:
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. |
🚧 At least one of the CI tasks failed. Make sure to run all tests locally, according to the Possibly this is due to a silent merge conflict (the changes in this pull request being Leave a comment here, if you need help tracking down a confusing failure. |
Guix builds:
|
984c548 fixup! cmake: Migrate Guix build scripts to CMake (Hennadii Stepanov) fb23c32 fixup! cmake: Add `Maintenance` module (Hennadii Stepanov) 6ac45b7 refactor! cmake: Redefine/adjust per-configuration flags (Hennadii Stepanov) bce7bea fixup! build: Generate `share/toolchain.cmake` in depends (Hennadii Stepanov) Pull request description: What to test: 1. `cmake --build build && cmake --build build -t deploydir` and the following `cmake --build build -t deploy` when cross-compiling for macOS and on macOS natively. 2. Guix builds. This PR includes changes from bitcoin#29733. UPD. Also related: bitcoin#29761. ACKs for top commit: TheCharlatan: ACK 984c548 Tree-SHA512: be056492ee7f5f210afaef7574bdcc56f01be80e7db888b7571e36a4be50f90337d0f9f1a623588f8c91898665ff06b22300dec9292016f05f2d2913a823d2eb
Why? Using Guix should not be a requirement for SOURCE_DATE_EPOCH to be useful. I would think that given the pinned compilers, and provisioned std lib, the macOS cross build would actually pretty be close to deterministic outside of Guix. |
What is the status of this? |
Not a requirement. Both Guix and SOURCE_DATE_EPOCH are tools of the same domain, which is build reproducibility.
Is anyone interesting / working on that?
Under peer reviewing, I guess :) |
I'm saying it's likely already the case, without further changes.
Ok. Concept NACK I guess. I don't see the motivation. |
The
SOURCE_DATE_EPOCH
environment variable is supposed to be used to achieve build reproducibility.However, using it outside Guix scripts for local builds on macOS is not meaningful.
This PR makes usage of
SOURCE_DATE_EPOCH
for macOS consistent with other platforms and simplifies upcoming CMake-based build system scripts.