guix/gnu
Ludovic Courtès e85d4cecbe
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.
2020-04-11 00:32:41 +02:00
..
bootloader Merge branch 'master' into core-updates 2020-04-08 13:00:50 +02:00
build Merge branch 'master' into core-updates 2020-04-11 00:10:23 +02:00
installer installer: tests: Don't install to a CD/DVD. 2020-04-10 16:02:52 +02:00
machine
packages gnu: commencement: Memoize packages as a function of the system. 2020-04-11 00:32:41 +02:00
services Merge branch 'master' into core-updates 2020-04-11 00:10:23 +02:00
system Merge branch 'master' into core-updates 2020-04-11 00:10:23 +02:00
tests tests: openvswitch: Use the absolute file name of ovs-vsctl. 2020-04-10 20:20:11 +02:00
artwork.scm
bootloader.scm
ci.scm Merge branch 'master' into core-updates 2020-04-08 13:00:50 +02:00
installer.scm Merge branch 'master' into core-updates 2020-04-11 00:10:23 +02:00
local.mk Merge branch 'master' into core-updates 2020-04-11 00:10:23 +02:00
machine.scm
packages.scm
services.scm services: Allow modprobe to use "/etc/modprobe.d". 2020-04-05 12:12:07 +02:00
system.scm Merge branch 'master' into core-updates 2020-04-08 13:00:50 +02:00
tests.scm