summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-11-08 12:11:03 +0100
committerLudovic Courtès <ludo@gnu.org>2022-11-08 14:06:00 +0100
commit3bd4b92f55f40119349e39902a9b800de98040d2 (patch)
tree249d3e97270e849079ff244b23ef32e1fa0cfd19 /gnu
parent93be56a3ab28ed0a482f354b7f536681c99b6999 (diff)
downloadguix-3bd4b92f55f40119349e39902a9b800de98040d2.tar.gz
build-system/gnu: Turn #:phases into a gexp when cross-compiling.
Previously, we'd get this error:

  $ guix build --target=aarch64-linux-gnu r-minimal -d --no-grafts
  guix build: error: path ‘/gnu/store/[^-]+-glibc-[^-]+-static’ is not valid

This is because the sexp would be passed as an input of the surrounding
gexp in 'gnu-cross-build', and thus
"/gnu/store/[^-]+-glibc-[^-]+-static" would be interpreted as a source
file name, as in this example:

  scheme@(guix gexp)> #~(foo #$(list 'whatever "/gnu/store/[^-]+-glibc-[^-]+-static"))
  $11 = #<gexp (foo #<gexp-input (whatever "/gnu/store/[^-]+-glibc-[^-]+-static"):out>) 7f098badec30>
  scheme@(guix gexp)> (gexp-inputs $11)
  $12 = (#<gexp-input "/gnu/store/[^-]+-glibc-[^-]+-static":out>)

Fixes <https://issues.guix.gnu.org/59073>.
Reported by Christopher Baines <mail@cbaines.net>.

* guix/build-system/gnu.scm (gnu-cross-build): When PHASES is a pair,
pass it through 'sexp->gexp'.
Diffstat (limited to 'gnu')
0 files changed, 0 insertions, 0 deletions