guix-play/guix/build-system
Ludovic Courtès 3bd4b92f55
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'.
2022-11-08 14:06:00 +01:00
..
android-ndk.scm build-system/android-ndk: Pass #:bootstrap-scripts to build phases. 2021-04-01 22:00:04 +02:00
ant.scm build-system: Use 'sexp->gexp' for plain sexps. 2021-03-30 22:48:44 +02:00
asdf.scm build-system: asdf: Add asd-operation parameter. 2022-08-03 16:45:54 +02:00
cargo.scm build-system: Use 'input-tuples->gexp' and 'outputs->gexp'. 2021-03-30 22:48:44 +02:00
channel.scm build-system/channel: Correctly handle store file name from (gnu ci). 2022-08-11 15:57:35 +02:00
chicken.scm Merge branch 'master' into core-updates-frozen 2021-09-07 14:19:08 +02:00
clojure.scm build-system/clojure: Support compiling Java. 2022-01-24 10:38:14 +01:00
cmake.scm build-system: Pass #:make-dynamic-linker-cache? #f when cross-compiling. 2022-01-11 20:34:59 +01:00
copy.scm build-system: Use 'sexp->gexp' for plain sexps. 2021-03-30 22:48:44 +02:00
dub.scm build-system/dub: Use the gold linker. 2022-06-19 02:00:00 +02:00
dune.scm Merge branch 'master' into core-updates-frozen 2021-09-17 01:25:52 +02:00
elm.scm gnu: elm: Support 'elm reactor'. 2022-05-22 01:07:54 +02:00
emacs.scm build-system: Use 'sexp->gexp' for plain sexps. 2021-03-30 22:48:44 +02:00
font.scm build-system: Use 'sexp->gexp' for plain sexps. 2021-03-30 22:48:44 +02:00
glib-or-gtk.scm build: glib-or-gtk: Generate the gdk-pixbuf-loaders cache file in a phase. 2021-11-11 12:18:19 -05:00
gnu.scm build-system/gnu: Turn #:phases into a gexp when cross-compiling. 2022-11-08 14:06:00 +01:00
go.scm build-system/go: Respect #:imported-modules when cross-compiling. 2022-09-24 17:59:05 +02:00
guile.scm build-system: Pass #:make-dynamic-linker-cache? #f when cross-compiling. 2022-01-11 20:34:59 +01:00
haskell.scm Merge remote-tracking branch 'origin/master' into core-updates-frozen 2021-12-05 19:17:41 +01:00
julia.scm build: julia: Add 'julia-package-dependencies' as keyword. 2022-02-24 12:20:31 +02:00
linux-module.scm build-system/linux-module: Add #:source-directory to linux-module-build-cross. 2022-11-07 20:35:40 +01:00
maven.scm build-system: Use 'sexp->gexp' for plain sexps. 2021-03-30 22:48:44 +02:00
meson.scm build-system/meson: Add more cross-compilation targets. 2022-03-07 22:53:57 +02:00
minetest.scm gnu: minetest: move to minetest.scm. 2021-08-20 13:37:32 +02:00
minify.scm Merge branch 'master' into core-updates-frozen 2021-07-29 22:34:57 +02:00
node.scm guix: node-build-system: Add implicit libuv input. 2022-01-09 02:07:11 +01:00
ocaml.scm build-system/ocaml: Use standard packages as "build inputs". 2022-03-14 23:32:18 +01:00
perl.scm build-system/perl: Support cross-compilation of some Perl packages. 2022-08-06 18:21:12 +02:00
pyproject.scm build-system/pyproject: Always run tests verbosely for supported backends. 2022-10-27 21:30:03 +02:00
python.scm build-system/python: Disable grafts. 2022-10-22 01:46:54 +02:00
qt.scm build-system/qt: Disable grafts. 2022-10-17 23:15:07 +02:00
r.scm guix: Upgrade to Bioconductor 3.15. 2022-05-28 23:19:05 +02:00
rakudo.scm build-system: Use 'sexp->gexp' for plain sexps. 2021-03-30 22:48:44 +02:00
rebar.scm import: Add hex.pm importer. 2022-06-15 10:18:34 +02:00
renpy.scm Merge remote-tracking branch 'origin/master' into core-updates-frozen. 2021-10-12 17:46:23 +00:00
ruby.scm build-system: Use 'sexp->gexp' for plain sexps. 2021-03-30 22:48:44 +02:00
scons.scm build-system/scons: Allow using a G-exp for scons-flags. 2022-11-03 18:08:55 +01:00
texlive.scm build-system/texlive: Be explicit about #:guile-for-build. 2022-02-11 17:28:01 +01:00
trivial.scm gexp: Leave grafting as is when lowering allowed/disallowed references. 2021-09-25 00:41:32 +02:00
waf.scm build-system: Use 'sexp->gexp' for plain sexps. 2021-03-30 22:48:44 +02:00