Subject: bug#58567: closed (Re: bug#58567: Grafting affects origins)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 18 Oct 2022 08:43:02 +0000

Your bug report

#58567: Grafting affects origins

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
58567: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=58567
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#58567: Grafting affects origins
From: Ludovic Courtès <[email-masked]>
To: Marius Bakke <[email-masked]>
Cc: [email-masked]
Date: Tue, 18 Oct 2022 10:42:09 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Ludovic Courtès <[email-masked]> skribis:

> I believe that’s a bug in ‘qt-build-system’: like ‘gnu-build-system’, it
> should pass #:graft? #f (patch below).  Failing that, it’ll end up using
> a different #:qtbase depending on whether or not grafts are enabled.
>
> Does that make sense?

Pushed as dada5e86ed58c1869e30678c4d69582b1528ed6c.

Thanks,
Ludo’.

Subject: Some grafts use a different input derivation than computed by --no-grafts
From: Marius Bakke <[email-masked]>
To: [email-masked]
Date: Sun, 16 Oct 2022 19:06:53 +0200
List-Id: <debbugs-submit.debbugs.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:

  https://ci.guix.gnu.org/build/1626416/details

...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.

[0] https://logs.guix.gnu.org/guix/2022-10-16.log#152428