-
Notifications
You must be signed in to change notification settings - Fork 38.7k
guix: Change manifest to use channels and inferiors #16519
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
guix: Change manifest to use channels and inferiors #16519
Conversation
This change pins the packages that make up our Guix environment, making them reproducible regardless of the current version of Guix that the user is running. It should eliminate the `guix pull' step of the Guix build process.
3995512 to
d4e0694
Compare
|
Concept ACK
That should be perfectly possible. |
|
Concept ACK |
Could it be part of bitcoin-core/packaging, which is the umbrella repository for all things distribution packaging, or does this really need its own separate repo? |
|
According to https://guix.gnu.org/manual/en/html_node/Channels.html
So yes, it could be a branch in the https://github.com/bitcoin-core/packaging git repo. (Could even be the master branch when we add a meta-data file |
|
It doesn't need to be its own separate repo. Marco is right, we can do branches or even a subdir (as long as it's in a git repository). I'm not particular about what exactly to do so either of you can make a call and I'll make it happen. I'll update this accordingly. |
So it could be put in either https://github.com/bitcoin/bitcoin or https://github.com/bitcoin-core/packaging/. Shouldn't matter much, I think? |
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. 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. |
|
This PR really shines once it can eliminate the TLDR: Waiting for new Guix release, after which this will be very useful. |
|
Closed in favor of #17933 |
88c8363 guix: Update documentation for time-machine (Carl Dong) e605088 guix: Pin Guix using `guix time-machine` (Carl Dong) Pull request description: An alternative to #16519, pinning our version of Guix and eliminating a `guix pull` and changing the default Guix profile of builders. I think this method might be superior, as it: - Eliminates the possibility of future changes to the `guix environment` command line interface breaking our builds - Eliminates the need to set up a separate channel repo It is a more general pinning solution than #16519. ----- The reason why I didn't originally propose this is because `guix time-machine` is a recent addition to Guix, only available since `f675f8dec73d02e319e607559ed2316c299ae8c7` ACKs for top commit: fanquake: ACK 88c8363 Tree-SHA512: 85e03b0987ffa86da73e02801e1cd8b7622698d70c4ba4e60561611be1e9717d661c2811a59b3e137b1b8eef2d0ba37c313867d035ebc89c3bd06a23a078064a
a35e323 guix: Appease travis. (Carl Dong) 0b66d22 guix: Use gcc-9 for mingw-w64 instead of 8 (Carl Dong) ba0b99b guix: Don't set MINGW_HAS_SECURE_API CFLAG in depends (Carl Dong) 93439a7 guix: Bump to upstream commit with mingw-w64 changes (Carl Dong) 35a9679 guix: Check mingw symbols, improve SSP fix docs (Carl Dong) 449d8fe guix: Expand on INT trap message (Carl Dong) 3f1f03c guix: Spelling fixes (Carl Dong) ff821dd guix: Reinstate make-ssp-fixed-gcc (Carl Dong) 360a9e0 guix: Bump time-machine for mingw-w64 patches (Carl Dong) 93e41b7 guix: Use gcc-8 for mingw-w64 instead of 7 (Carl Dong) ef4f7e4 guix: Set the well-known timezone env var (Carl Dong) acf4b3b guix: Make x86_64-w64-mingw32 builds reproducible (Carl Dong) c4cce00 guix: Remove dead links from README. (Carl Dong) df953a4 guix: Appease shellcheck. (Carl Dong) 91897c9 guix: Improve guix-build.sh documentation (Carl Dong) 570d769 guix: Build support for Windows (Carl Dong) Pull request description: ~~Based on: #16519 Based on: #17933 (Time Machines are... shall we say... superior 😁) This PR allows us to perform Guix builds for the `x86_64-w64-mingw32` target. We do this _without_ splitting up the build script like we do in Gitian by using this newfangled alien technology called `case` statements. (This is WIP and might be changed to `if` statements soon) ACKs for top commit: fanquake: ACK a35e323 2/3 Tree-SHA512: c471951c23eb2cda919a71285d8b8f2580cb20f09d5db17b53e13dbd8813e01b3e7a83ea848e4913fd0f2bc12c6c133c5f76b54e65c0d89fed4dfd2e0be19875
…arget a35e323 guix: Appease travis. (Carl Dong) 0b66d22 guix: Use gcc-9 for mingw-w64 instead of 8 (Carl Dong) ba0b99b guix: Don't set MINGW_HAS_SECURE_API CFLAG in depends (Carl Dong) 93439a7 guix: Bump to upstream commit with mingw-w64 changes (Carl Dong) 35a9679 guix: Check mingw symbols, improve SSP fix docs (Carl Dong) 449d8fe guix: Expand on INT trap message (Carl Dong) 3f1f03c guix: Spelling fixes (Carl Dong) ff821dd guix: Reinstate make-ssp-fixed-gcc (Carl Dong) 360a9e0 guix: Bump time-machine for mingw-w64 patches (Carl Dong) 93e41b7 guix: Use gcc-8 for mingw-w64 instead of 7 (Carl Dong) ef4f7e4 guix: Set the well-known timezone env var (Carl Dong) acf4b3b guix: Make x86_64-w64-mingw32 builds reproducible (Carl Dong) c4cce00 guix: Remove dead links from README. (Carl Dong) df953a4 guix: Appease shellcheck. (Carl Dong) 91897c9 guix: Improve guix-build.sh documentation (Carl Dong) 570d769 guix: Build support for Windows (Carl Dong) Pull request description: ~~Based on: bitcoin#16519 Based on: bitcoin#17933 (Time Machines are... shall we say... superior 😁) This PR allows us to perform Guix builds for the `x86_64-w64-mingw32` target. We do this _without_ splitting up the build script like we do in Gitian by using this newfangled alien technology called `case` statements. (This is WIP and might be changed to `if` statements soon) ACKs for top commit: fanquake: ACK a35e323 2/3 Tree-SHA512: c471951c23eb2cda919a71285d8b8f2580cb20f09d5db17b53e13dbd8813e01b3e7a83ea848e4913fd0f2bc12c6c133c5f76b54e65c0d89fed4dfd2e0be19875
Bitcoin Core PR: bitcoin/bitcoin#17595 Pull request description: ~~Based on: bitcoin/bitcoin#16519 Based on: bitcoin/bitcoin#17933 (Time Machines are... shall we say... superior 😁) This PR allows us to perform Guix builds for the `x86_64-w64-mingw32` target. We do this _without_ splitting up the build script like we do in Gitian by using this newfangled alien technology called `case` statements. (This is WIP and might be changed to `if` statements soon)
Not ready for merge yet, as we're waiting on https://issues.guix.gnu.org/issue/36777 to be resolved. The issue is that inferiors don't work for a certain range of Guix versions, which is a minor issues, but should be addressed before we do this.
Also, this currently relies on my repo located here: https://github.com/dongcarl/bitcoin-guix, which is fine because we do similar things in other places, but I'd like to move this repo under the
bitcoin-coreorg if at all possible.