Grafting affects origins

  • Done
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • Marius Bakke
  • zimoun
Owner
unassigned
Submitted by
Marius Bakke
Severity
important
M
M
Marius Bakke wrote on 16 Oct 2022 19:06
Some grafts use a different input derivation than computed by --no-grafts
(address . bug-guix@gnu.org)
87a65vwvde.fsf@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-----

M
M
Marius Bakke wrote on 16 Oct 2022 19:35
(address . 58567@debbugs.gnu.org)
877d0zwu1h.fsf@gnu.org
Marius Bakke <marius@gnu.org> skriver:

Toggle quote (3 lines)
> I have a hunch that this has to do with the grafting code affecting
> origins (with gexps?), but have not confirmed this.

I have now confirmed this with a small shell script:
#!/bin/sh

pkg=$1

ungrafted="$(guix build --no-grafts -d $pkg)"
grafted="$(guix build -d $pkg)"

if [ $grafted = $ungrafted ]; then
echo $pkg has no grafts
else
grep "$ungrafted" "$grafted"
fi
It works for 'python-patiencediff', but fails for 'python-patch-ng',
both of which have no dependencies other than Python; but one uses
url-fetch and the other git-fetch.
-----BEGIN PGP SIGNATURE-----

iIUEARYKAC0WIQRNTknu3zbaMQ2ddzTocYulkRQQdwUCY0xA6w8cbWFyaXVzQGdu
dS5vcmcACgkQ6HGLpZEUEHfzsQD+MfspzwkELQfsfC+1+elx2kba3lAmabk9PyJL
qRNJvL4A/iXGI9TaRC9V7p6NIw+wxw4ZUkGFcv0WES8quMNHFJQB
=+ekW
-----END PGP SIGNATURE-----

M
M
Marius Bakke wrote on 16 Oct 2022 19:38
important message
(address . control@debbugs.gnu.org)
874jw3wtwk.fsf@gnu.org
severity 58567 important
thanks
M
M
Marius Bakke wrote on 16 Oct 2022 19:52
(address . control@debbugs.gnu.org)
87zgdvvepl.fsf@gnu.org
retitle 58567 Grafting changes origins
M
M
Marius Bakke wrote on 16 Oct 2022 19:57
(address . control@debbugs.gnu.org)
87wn8zvehc.fsf@gnu.org
retitle 58567 Grafting affects origins
thanks
Z
Z
zimoun wrote on 17 Oct 2022 12:25
878rlen3vt.fsf@gmail.com
Hi Marius,

I reminds me this [1].



On dim., 16 oct. 2022 at 19:35, Marius Bakke <marius@gnu.org> wrote:

Toggle quote (4 lines)
> It works for 'python-patiencediff', but fails for 'python-patch-ng',
> both of which have no dependencies other than Python; but one uses
> url-fetch and the other git-fetch.

I guess that

guix build python-patch-ng -d

uses a grafted git-minimal and propagates it, whereas

guix build python-patch-ng -d --no-grafts

uses a non-grafted git-minimal. Well, something like that. :-)


Here some investigations for what they are worth.

Toggle snippet (5 lines)
$ guix time-machine --commit=3d8c243efb615c7e642942433be1c7badf0ae65e \
-- build python-patch-ng -d
/gnu/store/gy6ksy7h02qi062wwh00wqxfjzqj7vjg-python-patch-ng-1.17.4.drv

where the no-grafted is,

/gnu/store/xi035mv5cv8j9d2sm8hcwi293vcix28q-python-patch-ng-1.17.4.drv

and the command-line non-grafted reads,

Toggle snippet (5 lines)
$ guix time-machine --commit=3d8c243efb615c7e642942433be1c7badf0ae65e \
-- build python-patch-ng -d --no-grafts
/gnu/store/v4w24l63864x2304pv9a9fz3knzf1lxb-python-patch-ng-1.17.4.drv

However, both derivations have the same output.

Toggle snippet (7 lines)
$ guix build \
/gnu/store/xi035mv5cv8j9d2sm8hcwi293vcix28q-python-patch-ng-1.17.4.drv \
/gnu/store/v4w24l63864x2304pv9a9fz3knzf1lxb-python-patch-ng-1.17.4.drv
/gnu/store/d6nhxbayyal1nximx048bvk6zx4phcap-python-patch-ng-1.17.4
/gnu/store/d6nhxbayyal1nximx048bvk6zx4phcap-python-patch-ng-1.17.4

The difference in the derivation hash comes from the order and checkout,

,("/gnu/store/52aymnx4px77ig2irmi16nncb9d27z9y-gawk-5.1.0.drv",["out"])
,("/gnu/store/7bcypqy80bz8ygi4880dxdj8vzcsvhdf-python-patch-ng-1.17.4-checkout.drv",["out"])
,("/gnu/store/7p8m2v35lrjmgffv7map1cmn45vi0pkm-binutils-2.37.drv",["out"])

vs

,("/gnu/store/h5nligvx7n87jg0zxsiw536lz0q1gr3j-tar-1.34.drv",["out"])
,("/gnu/store/ivbkmnl6md7lzf275nvqwdh6lc924hal-python-patch-ng-1.17.4-checkout.drv",["out"])
,("/gnu/store/jj494gyb7r3jnn15jd240dn5zd6crnyk-bash-minimal-5.1.8.drv",["out"])


Well, it is the same checkout output:

Toggle snippet (7 lines)
$ guix build \
/gnu/store/7bcypqy80bz8ygi4880dxdj8vzcsvhdf-python-patch-ng-1.17.4-checkout.drv \
/gnu/store/ivbkmnl6md7lzf275nvqwdh6lc924hal-python-patch-ng-1.17.4-checkout.drv
/gnu/store/jddbmm7nxhv9sl84j1jlsdy5iiwjpbiy-python-patch-ng-1.17.4-checkout
/gnu/store/jddbmm7nxhv9sl84j1jlsdy5iiwjpbiy-python-patch-ng-1.17.4-checkout

Again, the checkout derivation hash is different because order and an
item,

,("/gnu/store/6ynvjkk6yzkpsl0x703hlvdrmp96plm1-guile-zlib-0.1.0.drv",["out"])
,("/gnu/store/7df196dbwb4w03q8wnvfys0j5npnqbcd-git-minimal-2.38.0.drv",["out"])
,("/gnu/store/cmiqs6lp2ss4i3f9cy5vsinh7795bxcy-gzip-1.10.drv",["out"])

vs

,("/gnu/store/ifvnf3rwyhhgjman6qn332j2sfn8hlp5-guile-json-4.7.1.drv",["out"])
,("/gnu/store/q074d9578lbq2y9ls5xycbm0jmyr1z75-git-minimal-2.38.0.drv",["out"])
,("/gnu/store/snyyq4ssjff5ajwswwg4absrhfv8pc4z-tar-1.34.drv",["out"])

And the Git is probably the root of the final mismatch.

Toggle snippet (10 lines)
$ guix time-machine --commit=3d8c243efb615c7e642942433be1c7badf0ae65e \
-- build git-minimal -d --no-grafts
/gnu/store/7df196dbwb4w03q8wnvfys0j5npnqbcd-git-minimal-2.38.0.drv

$ guix time-machine --commit=3d8c243efb615c7e642942433be1c7badf0ae65e \
-- build git-minimal -d
/gnu/store/q074d9578lbq2y9ls5xycbm0jmyr1z75-git-minimal-2.38.0.drv


Cheers,
simon
Z
Z
zimoun wrote on 17 Oct 2022 12:48
8735bmn2t9.fsf@gmail.com
Hi,

On dim., 16 oct. 2022 at 19:06, Marius Bakke <marius@gnu.org> wrote:

Toggle quote (14 lines)
> 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

Toggle snippet (9 lines)
$ guix build /gnu/store/92bl6qmj5r0byc59fykvlfaqmw6ikvy8-telegram-desktop-4.2.2.drv
/gnu/store/in8b3sycbpjmy1jk8887b1siwycmm19y-telegram-desktop-4.2.2

vs

$ guix build /gnu/store/4vbj4gblmwvl645z1q3aaxfhckjqi3kg-telegram-desktop-4.2.2.drv
/gnu/store/qhd9qyma22k12gbp0f0yi1389wyiai64-telegram-desktop-4.2.2

Indeed that’s an issue. Examining,

/gnu/store/vv1f598yc17rl08059625cw61ig0c3k0-telegram-desktop-4.2.2-builder
vs
/gnu/store/qjw2k2dzvw51rxa5k9mr7i41ql4gwr28-telegram-desktop-4.2.2-builder


the differences are,

("fcitx-qt5" . "/gnu/store/swyjasxcnlbxavpaiaginsyzr1gdpban-fcitx-qt5-1.2.6")

vs

("fcitx-qt5" . "/gnu/store/k184g9bj05zz0lnz7j5h1zsrjavdadwp-fcitx-qt5-1.2.6")


and

"/gnu/store/ir6lpakwwj897lbjfn4n9kmxiqxs377l-qtbase-5.15.5"

vs

"/gnu/store/w66rzihchl7n9d1zpr2qvgiyd58zr2pp-qtbase-5.15.5"



Cheers,
simon
M
M
Marius Bakke wrote on 17 Oct 2022 13:36
87sfjmvg0a.fsf@gnu.org
zimoun <zimon.toutoune@gmail.com> skriver:

Toggle quote (6 lines)
> Hi Marius,
>
> I reminds me this [1].
>
> 1: <https://yhetil.org/guix/874jy87gcl.fsf@gmail.com>

Not sure if it's the same problem, but it is weird. On 3d8c243efb615c7:

$ guix build mesa
/gnu/store/ccf705wvh0w224d6nyscnwlhqr04agk7-mesa-21.3.8-bin
/gnu/store/vcmxgmmhwr39gwwnz7ljkhcg1bmq2r5z-mesa-21.3.8
$ guix build --no-grafts mesa
/gnu/store/grh2142hg6l5g5xav2di7rr1pwbg9m38-mesa-21.3.8-bin
/gnu/store/sdzfljm6san79pqiy42yp0nzmkr2bafc-mesa-21.3.8
$ guix size icecat | grep mesa
/gnu/store/sdzfljm6san79pqiy42yp0nzmkr2bafc-mesa-21.3.8 411.6 169.6 11.6%
$ guix size $(guix build --no-grafts icecat) | grep mesa
/gnu/store/sdzfljm6san79pqiy42yp0nzmkr2bafc-mesa-21.3.8 411.6 169.6 11.6%

Should not the mesa used by icecat be the same as `guix build mesa`,
just like in the ungrafted case? Their outputs differ, too:

$ guix hash -r $(guix build mesa | tail -n1)
1invy9jcd1fnfx7d4asfyjqs1jn7lngjfqswak6sy9ffjbhhsg6x
$ guix hash -r $(guix size icecat | grep mesa | awk '{ print $1 }')
195zk0c0h5m016hp0c1haqws47rwfj7sbpqpddmwk2iw402p3apv

Diffoscope says it will take 123 days to process these, so don't hold
your breath!

Toggle quote (16 lines)
> On dim., 16 oct. 2022 at 19:35, Marius Bakke <marius@gnu.org> wrote:
>
>> It works for 'python-patiencediff', but fails for 'python-patch-ng',
>> both of which have no dependencies other than Python; but one uses
>> url-fetch and the other git-fetch.
>
> I guess that
>
> guix build python-patch-ng -d
>
> uses a grafted git-minimal and propagates it, whereas
>
> guix build python-patch-ng -d --no-grafts
>
> uses a non-grafted git-minimal. Well, something like that. :-)

Indeed.

Toggle quote (10 lines)
> Well, it is the same checkout output:
>
> --8<---------------cut here---------------start------------->8---
> $ guix build \
> /gnu/store/7bcypqy80bz8ygi4880dxdj8vzcsvhdf-python-patch-ng-1.17.4-checkout.drv \
> /gnu/store/ivbkmnl6md7lzf275nvqwdh6lc924hal-python-patch-ng-1.17.4-checkout.drv
> /gnu/store/jddbmm7nxhv9sl84j1jlsdy5iiwjpbiy-python-patch-ng-1.17.4-checkout
> /gnu/store/jddbmm7nxhv9sl84j1jlsdy5iiwjpbiy-python-patch-ng-1.17.4-checkout
> --8<---------------cut here---------------end--------------->8---

That's guaranteed since these derivations are "fixed-output" (notice the
r:sha256 property in the beginning of the file). If they had any other
output the daemon would throw a failure.

The bug here is that Guix treats grafted origins as different, even
though their outputs are known in advance.

Probably the grafting machinery should ignore fixed-output derivations
somehow?
-----BEGIN PGP SIGNATURE-----

iIUEARYKAC0WIQRNTknu3zbaMQ2ddzTocYulkRQQdwUCY00+NQ8cbWFyaXVzQGdu
dS5vcmcACgkQ6HGLpZEUEHfW/AD/Xknsrm7QwLPG/CEXbUjSrc/cfhDjF9UQ9E5l
owKRghUA/jZsLieGY1fhUunxsWWRWZdY6UbVLlTZ7TPsrVRbWJEJ
=osez
-----END PGP SIGNATURE-----

M
M
Marius Bakke wrote on 17 Oct 2022 13:48
87mt9uvffz.fsf@gnu.org
Marius Bakke <marius@gnu.org> skriver:

Toggle quote (21 lines)
> zimoun <zimon.toutoune@gmail.com> skriver:
>
>> Hi Marius,
>>
>> I reminds me this [1].
>>
>> 1: <https://yhetil.org/guix/874jy87gcl.fsf@gmail.com>
>
> Not sure if it's the same problem, but it is weird. On 3d8c243efb615c7:
>
> $ guix build mesa
> /gnu/store/ccf705wvh0w224d6nyscnwlhqr04agk7-mesa-21.3.8-bin
> /gnu/store/vcmxgmmhwr39gwwnz7ljkhcg1bmq2r5z-mesa-21.3.8
> $ guix build --no-grafts mesa
> /gnu/store/grh2142hg6l5g5xav2di7rr1pwbg9m38-mesa-21.3.8-bin
> /gnu/store/sdzfljm6san79pqiy42yp0nzmkr2bafc-mesa-21.3.8
> $ guix size icecat | grep mesa
> /gnu/store/sdzfljm6san79pqiy42yp0nzmkr2bafc-mesa-21.3.8 411.6 169.6 11.6%
> $ guix size $(guix build --no-grafts icecat) | grep mesa
> /gnu/store/sdzfljm6san79pqiy42yp0nzmkr2bafc-mesa-21.3.8 411.6 169.6 11.6%

Derp, the last two should be:

$ guix size $(guix build icecat) | grep mesa
/gnu/store/dbrsf4wmjjxwd3cvnbfrvikilj42gamy-mesa-21.3.8 411.6 169.6 11.6%
$ guix size $(guix build --no-grafts icecat) | grep mesa
/gnu/store/sdzfljm6san79pqiy42yp0nzmkr2bafc-mesa-21.3.8 411.6 169.6 11.6%

('guix size' implicitly disables grafts)
-----BEGIN PGP SIGNATURE-----

iIUEARYKAC0WIQRNTknu3zbaMQ2ddzTocYulkRQQdwUCY01BEA8cbWFyaXVzQGdu
dS5vcmcACgkQ6HGLpZEUEHcilAD/adulyDR1RSkXS8SCjc0Wg2U/CFhX4dK+bZo/
PVLbeOcA/1Lb6A4p7rS4DSGi1PK5M4cRjdhMDNmFlGRW2OuF4koF
=XiTp
-----END PGP SIGNATURE-----

M
M
Marius Bakke wrote on 17 Oct 2022 13:54
87k04yvf5a.fsf@gnu.org
Marius Bakke <marius@gnu.org> skriver:

Toggle quote (8 lines)
> Should not the mesa used by icecat be the same as `guix build mesa`,
> just like in the ungrafted case? Their outputs differ, too:
>
> $ guix hash -r $(guix build mesa | tail -n1)
> 1invy9jcd1fnfx7d4asfyjqs1jn7lngjfqswak6sy9ffjbhhsg6x
> $ guix hash -r $(guix size icecat | grep mesa | awk '{ print $1 }')
> 195zk0c0h5m016hp0c1haqws47rwfj7sbpqpddmwk2iw402p3apv

Errh, the difference in output is not surprising since mesa obviously
contains references to itself. Different derivation, different store
file name.

Toggle quote (3 lines)
> Diffoscope says it will take 123 days to process these, so don't hold
> your breath!

It did not take 123 days, but I had diffed the wrong mesa. Will update
if the difference is anything other than the mesa store file name...
-----BEGIN PGP SIGNATURE-----

iIUEARYKAC0WIQRNTknu3zbaMQ2ddzTocYulkRQQdwUCY01CkQ8cbWFyaXVzQGdu
dS5vcmcACgkQ6HGLpZEUEHdU+wEApYGb35sOZgeGpVqPdzuUgAVC71CYFRiFgCcs
oImIU8ABAOS+pDPsW8A85Z9RGNWgyXNqmf4YIkZFAKTLLIb5b4wJ
=VkR7
-----END PGP SIGNATURE-----

Z
Z
zimoun wrote on 17 Oct 2022 15:26
87ilkilgyb.fsf@gmail.com
Hi Marius,

On lun., 17 oct. 2022 at 13:36, Marius Bakke <marius@gnu.org> wrote:

Toggle quote (4 lines)
>
> Not sure if it's the same problem, but it is weird.

About mesa, the graft machinery produces two different items with the
same content. It is because multi-outputs; as pointed in [1].


Toggle quote (3 lines)
> The bug here is that Guix treats grafted origins as different, even
> though their outputs are known in advance.

About python-patch-ng, I miss the origin of the difference, e.g.,

Toggle snippet (8 lines)
diff -r --no-dereference /gnu/store/a58yf1jbryyffzs4i8zp8ywns1b5hrvs-python-patch-ng-1.17.4/lib/python3.9/site-packages/patch_ng.py /gnu/store/d6nhxbayyal1nximx048bvk6zx4phcap-python-patch-ng-1.17.4/lib/python3.9/site-packages/patch_ng.py
1c1
< #!/gnu/store/9qz2zckx1mlcg8lijl7rb4fyxygv32ml-python-wrapper-3.9.9/bin/python
---
> #!/gnu/store/slsh0qjv5j68xda2bb6h8gsxwyi1j25a-python-wrapper-3.9.9/bin/python
Binary files /gnu/store/a58yf1jbryyffzs4i8zp8ywns1b5hrvs-python-patch-ng-1.17.4/lib/python3.9/site-packages/__pycache__/patch_ng.cpython-39.pyc and /gnu/store/d6nhxbayyal1nximx048bvk6zx4phcap-python-patch-ng-1.17.4/lib/python3.9/site-packages/__pycache__/patch_ng.cpython-39.pyc differ

and then, this python-wrapper reads,

Toggle snippet (10 lines)
$ guix gc --derivers /gnu/store/9qz2zckx1mlcg8lijl7rb4fyxygv32ml-python-wrapper-3.9.9
/gnu/store/xm26mvbldnqa081mbnnlcikn30xxvzrg-python-wrapper-3.9.9.drv

$ guix gc --derivers /gnu/store/slsh0qjv5j68xda2bb6h8gsxwyi1j25a-python-wrapper-3.9.9
/gnu/store/28b2j5m498bry3x33by2y7h8ms5fsxmk-python-wrapper-3.9.9.drv
/gnu/store/d78g4awha9cplcxmz7ssxdd1jgn55iym-python-wrapper-3.9.9.drv
/gnu/store/l2x2bh5l37cjiifv9qws9700vb0h583j-python-wrapper-3.9.9.drv


About telegram-desktop, it is probably another origin of difference.
See [2].



Toggle quote (3 lines)
> Probably the grafting machinery should ignore fixed-output derivations
> somehow?

Well, I do not know what could be fixed about all these mysteries. :-)


Cheers,
simon
L
L
Ludovic Courtès wrote on 17 Oct 2022 15:42
Re: bug#58567: Grafting affects origins
(name . Marius Bakke)(address . marius@gnu.org)(address . 58567@debbugs.gnu.org)
877d0ysh0d.fsf@gnu.org
Hi,

Marius Bakke <marius@gnu.org> skribis:

Toggle quote (14 lines)
> 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

The differences between these two are:
--- #<buffer vv1f598yc17rl08059625cw61ig0c3k0-telegram-desktop-4.2.2-builder>
+++ #<buffer qjw2k2dzvw51rxa5k9mr7i41ql4gwr28-telegram-desktop-4.2.2-builder>
@@ -44,7 +44,7 @@
("abseil-cpp" . "/gnu/store/lsrda46kb137fnwslwhg9bpqgnakasy8-abseil-cpp-20220623.1")
("alsa-lib" . "/gnu/store/nfxcjvv9c2q6in9x52kkkayqv38k00ai-alsa-lib-1.2.4")
("c++-gsl" . "/gnu/store/bpszfya32r8zj0rhaijckh5bj6fmj709-c++-gsl-3.1.0")
- ("fcitx-qt5" . "/gnu/store/swyjasxcnlbxavpaiaginsyzr1gdpban-fcitx-qt5-1.2.6")
+ ("fcitx-qt5" . "/gnu/store/k184g9bj05zz0lnz7j5h1zsrjavdadwp-fcitx-qt5-1.2.6")
("fcitx5-qt" . "/gnu/store/cbpycbi5r23dgwl7k20g6h0kkmznz7pz-fcitx5-qt-5.0.7")
("ffmpeg" . "/gnu/store/jhd8y6a2j9jcx0icq25qdhs1m8i8qfy7-ffmpeg-4.4.2")
("glib" . "/gnu/store/96srhmpmxa20wmsck95g3iq4hb3lz4a0-glib-2.70.2")
@@ -250,7 +250,7 @@
(quote glib-or-gtk-wrap)
(assoc-ref glib-or-gtk:%standard-phases
(quote glib-or-gtk-wrap))))
- #:qtbase "/gnu/store/ir6lpakwwj897lbjfn4n9kmxiqxs377l-qtbase-5.15.5" #:qt-wrap-excluded-outputs
+ #:qtbase "/gnu/store/w66rzihchl7n9d1zpr2qvgiyd58zr2pp-qtbase-5.15.5" #:qt-wrap-excluded-outputs
(quote
())
#:qt-wrap-excluded-inputs
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?

I found a similar issue in ‘python-build-system’ in

Thanks,
Ludo’.
Toggle diff (19 lines)
diff --git a/guix/build-system/qt.scm b/guix/build-system/qt.scm
index a9bf728f25..7e3a54f1f8 100644
--- a/guix/build-system/qt.scm
+++ b/guix/build-system/qt.scm
@@ -181,6 +181,7 @@ (define builder
(mlet %store-monad ((guile (package->derivation (or guile (default-guile))
system #:graft? #f)))
(gexp->derivation name builder
+ #:graft? #f ;consistent with 'gnu-build'
#:system system
#:guile-for-build guile)))
@@ -269,6 +270,7 @@ (define %outputs
(mlet %store-monad ((guile (package->derivation (or guile (default-guile))
system #:graft? #f)))
(gexp->derivation name builder
+ #:graft? #f ;consistent with 'gnu-build'
#:system system
#:guile-for-build guile)))
L
L
Ludovic Courtès wrote on 18 Oct 2022 10:42
(name . Marius Bakke)(address . marius@gnu.org)(address . 58567-done@debbugs.gnu.org)
874jw1plpa.fsf@gnu.org
Hi,

Ludovic Courtès <ludo@gnu.org> skribis:

Toggle quote (6 lines)
> 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’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 58567@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 58567
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch