guix: Quality of life improvements#20619
Conversation
|
Concept ACK: high quality life is better than low quality life Thanks for improving things! :) |
|
Thanks, going to test this. |
|
Concept ACK. |
|
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. |
|
I was a bit confused by Edit: oh it's literally bind-mounting the repository there! (inside a container, i guess) |
|
Something that would be nice to mention (I don't think it's mentioned in the documentation, but maybe read over it) is which files can be cached. It mentions "start from a clean bitcoin core tree" but I'm sure e.g. |
|
So there are two caches for
Honoring |
You're right! For this particular case, I will see if I can do the check before execing into the container so that we have the full path. In general though, I found that |
|
I deterministically get the following output when building this commit:
Thanks. Yes, I think the bind-mounting makes perfect sense. It's bound to be more reliable than any compiler option. |
|
I was unable to reproduce these results, but I think I know exactly what's causing the non-reproducibility. I have recently fixed this in the macOS PR (dc42abf) and will cherry-pick it here tomorrow. Depending on what PR gets merged first, we'll just rebase the other one on top! |
FWIW my build is in a clean Ubuntu 20.04 VM, no git configuration file. So I'm not sure the hash length change matters. But we'll see. It can't hurt at least. |
|
I think the section name "Using a version of Guix with |
|
🕵️ @harding has been requested to review this pull request as specified in the REVIEWERS file. |
3b0e157 to
235cb96
Compare
|
Pushed 29359b904f40805842447d4efa680bcc45bfdb57 -> 235cb967130fd33cc5413fe19fb8917def6a6388
|
235cb96 to
570e43f
Compare
|
Pushed 235cb967130fd33cc5413fe19fb8917def6a6388 -> 570e43f
|
fanquake
left a comment
There was a problem hiding this comment.
ACK 570e43f - lets move this forward.
a5bf0c224b94fae527df497738eb0595e3392e3eddfe7f720807037847d258d7 output/bitcoin-570e43fe72e1-aarch64-linux-gnu-debug.tar.gz
a8f10c45c27e54333a0d6669d3b7d7b793356067d7f328e2acc757a06ec1050e output/bitcoin-570e43fe72e1-aarch64-linux-gnu.tar.gz
ba718e45f70d5204808d3a70df9732f9680aee5552dca5a67c29e2e5833562b4 output/bitcoin-570e43fe72e1-arm-linux-gnueabihf-debug.tar.gz
de152cdbe0d9fde9f427ae49fd34adc57b7c4578e15579d206138a175a2d7c37 output/bitcoin-570e43fe72e1-arm-linux-gnueabihf.tar.gz
e8aa890632dca2486bb61a0a50136d18b3d60c70c69799dfe4f449c17f3f9ac1 output/bitcoin-570e43fe72e1-riscv64-linux-gnu-debug.tar.gz
77aaf75aae626b960192aa4de20dbfb625f893dd1caf94fc44f9978e7d7186e7 output/bitcoin-570e43fe72e1-riscv64-linux-gnu.tar.gz
de9c212405f227f80a3aa882ee994202bbc834137f94a73779d99e9410b86246 output/bitcoin-570e43fe72e1-win-unsigned.tar.gz
98c1e14e46aaa83201befdd54f3aac4229f0a5f246ed464b4fcd6e31550f7eea output/bitcoin-570e43fe72e1-win64-debug.zip
cf45a21423bad9357526b92305530e7199de8a574d4c02641423cca4404273c0 output/bitcoin-570e43fe72e1-win64-setup-unsigned.exe
08c7a10b51ef24db6d8dd5e10bdfad7ad2dad2cc1b8d8a70f89ed80b8faeb18b output/bitcoin-570e43fe72e1-win64.zip
5f1fd6c1b9bcb1d7522411e859a7865337bfbfe19388444f36f4d871c76079a6 output/bitcoin-570e43fe72e1-x86_64-linux-gnu-debug.tar.gz
0e3968c071aeeac5bbd0b193a9aac52e536bd756ba86705da773d2c9654efa66 output/bitcoin-570e43fe72e1-x86_64-linux-gnu.tar.gz
e7cd77024e3d3e37b7618bf3e32d3386144e1a3aefa9886ead9379be3790175f output/src/bitcoin-570e43fe72e1.tar.gz
After live-demo-ing a Guix build (which completed successfully!) on achow101's stream, I realized there were a few quality of life improvements which can be made to improve the user experience of our Guix build process. Here are a few of them.
Notable changes:
MAX_JOBSis specified, bothguix time-machineandguix environmentwill now build up toMAX_JOBSpackages at a time when creating the build environmentSUBSTITUTE_URLSenvironment variable, which works well with shell's IFS splitting rulesADDITIONAL_GUIX_{COMMON,TIMEMACHINE}_FLAGSoptions, for more granular customization of the build process.