Some grafts use a different input derivation than computed by --no-grafts
(address . bug-guix@gnu.org)
Hello,
Sorry for the indescriptive title, I'm not entirely sure what is going
wrong here. The problem is that for some packages, 'guix build -d foo'
has a different input derivation than the one produced by
'guix build --no-grafts -d foo'.
As an example, as of commit 3d8c243efb615c7e642942433be1c7badf0ae65e,
'guix build -d telegram-desktop' produces:
/gnu/store/q1gx5xaszlyyr0sx663c2qkx92cqbr4r-telegram-desktop-4.2.2.drv
If we open that graft derivation, we see that it depends on:
/gnu/store/92bl6qmj5r0byc59fykvlfaqmw6ikvy8-telegram-desktop-4.2.2.drv
However:
$ guix build -d --no-grafts telegram-desktop
/gnu/store/4vbj4gblmwvl645z1q3aaxfhckjqi3kg-telegram-desktop-4.2.2.drv
As a result:
$ guix build telegram-desktop
/gnu/store/6k2rdbc2v6nqyj2g445dii8gkamnbs43-telegram-desktop-4.2.2
$ guix build --no-grafts telegram-desktop
The following derivations will be built:
/gnu/store/4vbj4gblmwvl645z1q3aaxfhckjqi3kg-telegram-desktop-4.2.2.drv
/gnu/store/n0rdkaf91ifyvsr81hxcdlb8hg8k6rgh-fcitx-qt5-1.2.6.drv
This was discovered because users reported[0] missing substitutes for
telegram-desktop despite it being built by Cuirass. We can see that it
has built the --no-grafts derivation:
...which is not being requested by end-users.
I have a hunch that this has to do with the grafting code affecting
origins (with gexps?), but have not confirmed this.
"Trivial" grafted packages such as 'perl-xml-parser' do not exhibit this
problem.
-----BEGIN PGP SIGNATURE-----
iIUEARYKAC0WIQRNTknu3zbaMQ2ddzTocYulkRQQdwUCY0w6Lg8cbWFyaXVzQGdu
dS5vcmcACgkQ6HGLpZEUEHd61gEA7l3GDHk9Tsh9w3XjatYO1M12mcoASQVo4K/D
KfnbgOwA/2AGo2Sb+CgTOshpcvYJ0Ghsq5rZsXz8/UVFKSo0X2cM
=GWje
-----END PGP SIGNATURE-----