guix-play/guix/build-system
Ludovic Courtès df46bef48e
gexp: Leave grafting as is when lowering allowed/disallowed references.
Fixes <https://issues.guix.gnu.org/50676>.
Reported by Mathieu Othacehe <othacehe@gnu.org>.

Commit a779363b6a was partially incorrect:
references passed to #:allowed-references or #:references-graphs *can*
be lowered as references to grafted elements.  This is for example the
case when doing:

  (computed-file "partition.img" exp
                  #:options `(#:references-graphs ,inputs))

Here INPUTS must be lowered as a reference to suitably grafted elements.
Failing to do that, the reference graph will not match the actual
INPUTS.

However, when building a package, those references must indeed refer
only to ungrafted packages.  This commit preserves that by having build
systems pass #:graft? #f.

* guix/gexp.scm (lower-reference-graphs, lower-references): Remove uses
of 'without-grafting'.  This reverts
a779363b6a.
* guix/build-system/cmake.scm (cmake-build, cmake-cross-build):
Pass #:graft? #f.
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build)
(glib-or-gtk-cross-build): Likewise.
* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Likewise.
* guix/build-system/meson.scm (meson-build, meson-cross-build): Likewise.
* guix/build-system/trivial.scm (trivial-build, trivial-cross-build):
Likewise.
* tests/gexp.scm ("lower-object, computed-file + grafts"): New test.
* tests/packages.scm ("trivial with #:allowed-references + grafts"): New
test.
2021-09-25 00:41:32 +02: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: Remove %build-inputs reference. 2021-07-29 10:25:21 +02:00
cargo.scm build-system: Use 'input-tuples->gexp' and 'outputs->gexp'. 2021-03-30 22:48:44 +02:00
chicken.scm Merge branch 'master' into core-updates-frozen 2021-09-07 14:19:08 +02:00
clojure.scm build-system: Use 'sexp->gexp' for plain sexps. 2021-03-30 22:48:44 +02:00
cmake.scm gexp: Leave grafting as is when lowering allowed/disallowed references. 2021-09-25 00:41:32 +02:00
copy.scm build-system: Use 'sexp->gexp' for plain sexps. 2021-03-30 22:48:44 +02:00
dub.scm build-system: Use 'sexp->gexp' for plain sexps. 2021-03-30 22:48:44 +02:00
dune.scm Merge branch 'master' into core-updates-frozen 2021-09-17 01:25:52 +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 gexp: Leave grafting as is when lowering allowed/disallowed references. 2021-09-25 00:41:32 +02:00
gnu.scm gexp: Leave grafting as is when lowering allowed/disallowed references. 2021-09-25 00:41:32 +02:00
go.scm Merge branch 'master' into core-updates-frozen 2021-09-17 01:25:52 +02:00
guile.scm build-system: Rewrite using gexps. 2021-03-30 22:48:43 +02:00
haskell.scm build-system/haskell: Fix regression. 2021-07-28 20:35:38 +02:00
julia.scm build-system: Use 'sexp->gexp' for plain sexps. 2021-03-30 22:48:44 +02:00
linux-module.scm Merge branch 'master' into core-updates-frozen 2021-09-17 01:25:52 +02:00
maven.scm build-system: Use 'sexp->gexp' for plain sexps. 2021-03-30 22:48:44 +02:00
meson.scm gexp: Leave grafting as is when lowering allowed/disallowed references. 2021-09-25 00:41:32 +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 build-system/node: Add missing module import. 2021-06-19 17:08:37 +02:00
ocaml.scm build-system: Use 'input-tuples->gexp' and 'outputs->gexp'. 2021-03-30 22:48:44 +02:00
perl.scm build-system: Use 'sexp->gexp' for plain sexps. 2021-03-30 22:48:44 +02:00
python.scm build-system: Use 'sexp->gexp' for plain sexps. 2021-03-30 22:48:44 +02:00
qt.scm Merge branch 'master' into core-updates 2021-07-18 19:50:01 +02:00
r.scm Merge branch 'master' into core-updates 2021-06-06 21:16:32 +02:00
rakudo.scm build-system: Use 'sexp->gexp' for plain sexps. 2021-03-30 22:48:44 +02:00
renpy.scm build-system: Use 'sexp->gexp' for plain sexps. 2021-03-30 22:48:44 +02:00
ruby.scm build-system: Use 'sexp->gexp' for plain sexps. 2021-03-30 22:48:44 +02:00
scons.scm build-system/scons: Use 'with-build-variables'. 2021-03-31 14:06:17 +02:00
texlive.scm gnu: TeX Live: Update to TeX Live 2021 2021-07-21 15:56:03 +02: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