aboutsummaryrefslogtreecommitdiff
path: root/graph.js
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-04-11 00:12:09 +0200
committerLudovic Courtès <ludo@gnu.org>2020-04-11 00:32:41 +0200
commite85d4cecbe253e59a8a2a42b6ce427d96ff10534 (patch)
treeaec7d7d28b272c1d2ab7c02036139ed27383a985 /graph.js
parentbdb90df764661c11b37c988ea129c8e7a01b1889 (diff)
downloadguix-e85d4cecbe253e59a8a2a42b6ce427d96ff10534.tar.gz
guix-e85d4cecbe253e59a8a2a42b6ce427d96ff10534.zip
gnu: commencement: Memoize packages as a function of the system.
Previous, things like 'ld-wrapper-boot0' would be memoized with (mlambda () …). However, the definition of 'ld-wrapper-boot0' depends on the result of (%boot0-inputs), which is itself a function of (%current-system). Thus, if one first calls: (parameterize ((%current-system "x86_64-linux")) (ld-wrapper-boot0)) then, in all subsequent calls to 'ld-wrapper-boot0', the value of (%current-system) would be ignored because the result is already memoized. Concretely, 'ld-wrapper-boot0' would always have the dependencies it has on x86_64-linux, even though they are different than those on armhf-linux, say ("bash-mesboot" vs. "bootstrap-binaries"). Fixes <https://bugs.gnu.org/40482>. Reported by Marius Bakke <mbakke@fastmail.com>. * gnu/packages/commencement.scm (define/system-dependent): New macro. (linux-libre-headers-boot0, hurd-core-headers-boot0, ld-wrapper-boot0) (gcc-boot0-intermediate-wrapped, gcc-boot0-wrapped, ld-wrapper-boot3): Define using 'define/system-dependent' instead of 'define' + 'mlambda'. Adjust users so they no longer look like procedure calls. * tests/guix-build.sh: Add test.
Diffstat (limited to 'graph.js')
0 files changed, 0 insertions, 0 deletions