Previously, under Cuirass, we'd add "build-aux/cuirass/../hydra/../..".
But then, commit c45477d2a1 added this
in (gnu system vm):
(local-file (search-path %load-path
"guix/store/schema.sql"))
Since 'search-path' would not return an absolute file name, 'local-file'
would try to resolve that relative to "gnu/system", leading to:
ERROR: In procedure force:
In procedure canonicalize-path: No such file or directory: "/gnu/store/…-guix-ce573b1/gnu/system/build-aux/cuirass/../hydra/../../guix/store/schema.sql
* build-aux/hydra/gnu-system.scm <top level>: Canonicalize DIR before
adding it to %LOAD-PATH.
Fixes a regression introduced in ede121de42.
Reported by Mark H Weaver <mhw@netris.org>.
* build-aux/hydra/gnu-system.scm (job-name): Pass "-" as the second
argument to 'package-full-name'.
* build-aux/hydra/gnu-system.scm: Use (expand load eval) in 'eval-when'
clause so as to not poison a cat and to ensure %load-compiled-path is
properly set when the 'use-modules' clauses are expanded.
* build-aux/hydra/guix.scm: Likewise.
On hydra.gnu.org GUILE_LOAD_COMPILED_PATH happened to be empty so we
were fine. However on GuixSD with Cuirass, we could have a conflicting
non-empty path and .go files for some of the (guix …) and (gnu …)
modules would be taken from there.
* build-aux/hydra/gnu-system.scm: Set %load-compiled-path.
* build-aux/hydra/guix-modular.scm: Remove 'eval-when' form that fiddled
with '%load-path'.
(build-job): Load 'build-aux/build-self.scm' and call the procedure it
returns.
* build-aux/hydra/evaluate.scm: The 'build-things' replacement no longer
calls 'exit'.
* build-aux/hydra/gnu-system.scm (%u-boot-systems): New
variable.
(%guixsd-supported-systems): Add armhf-linux.
(qemu-jobs): Use u-boot if system in %u-boot-systems.
Starting from Guile 2.2.3, '%fresh-auto-compile' does what it says and
would auto-compile everything, including the compiler (see
<https://bugs.gnu.org/29226>).
* build-aux/hydra/gnu-system.scm: Call 'compile'.
This reduces max RSS from 1.3G to 1.0G.
* guix/derivations.scm (invalidate-derivation-caches!): New procedure.
* build-aux/hydra/gnu-system.scm (hydra-jobs): Use it. Add 'format'
call.
* build-aux/hydra/gnu-system.scm (package->job): Create a 'base.' job
when PACKAGE is a member of BASE-PACKAGES.
(all-packages)[adjust]: New procedure.
Fold over %FINAL-INPUTS and add it to the result.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Add 'iso9660-image .
* gnu/build/vm.scm (make-iso9660-image): New variable. Export it.
* gnu/system/vm.scm (iso9660-image): New variable. Use make-iso9660-image.
(system-disk-image): Use iso9660-image.
Fixes <http://bugs.gnu.org/26022>.
Reported by Efraim Flashner <efraim@flashner.co.il>.
* build-aux/hydra/gnu-system.scm (hydra-jobs)[cross-jobs](from-32-to-64?):
Check whether TARGET contains "64" rather than checking whether TARGET
ends in "64", which is rarely the case.
(same?): Add special case for armhf-linux.
This is a followup to commit f13f60cb26.
* build-aux/hydra/gnu-system.scm (%core-packages): Call
'%glibc-bootstrap-tarball' since it's now a thunk, not a package.