all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#61841: ‘guix shell’ computes different package derivation than ‘guix build’
@ 2023-02-27 13:36 Ludovic Courtès
  2023-03-01  9:05 ` Josselin Poiret via Bug reports for GNU Guix
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2023-02-27 13:36 UTC (permalink / raw)
  To: 61841

Look at this weird phenomenon.

First, with ‘guix build’, everything works as expected:

--8<---------------cut here---------------start------------->8---
$ guix describe
Generation 247  Feb 27 2023 08:47:41    (current)
  guix 17bd024
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 17bd0243310754045cdc6cc362c804db4a8f9317
$ guix build ungoo
ungoogled-chromium          ungoogled-chromium-wayland  
$ guix build ungoogled-chromium -n
The following grafts would be made:
   /gnu/store/sb9bva92ycw40jiwvklvdwpr5pqs5y14-ungoogled-chromium-109.0.5414.119-1.drv
   /gnu/store/88bvz2ch3wsiz66qcmhhpbz2i60ms14j-harfbuzz-5.3.1.drv
   /gnu/store/pvrhcbpajl9cf2jjy8p01p5fh6kjf3fi-pipewire-0.3.63.drv
   /gnu/store/mjm6k8l2d0j1j3j3p7rqrrrj2pla4cwa-jack2-1.9.21.drv
$ guix build ungoogled-chromium -n --no-grafts
/gnu/store/p984s3dna89qw3j1s9w1jpz3wjw1jmfg-ungoogled-chromium-109.0.5414.119-1
$ guix build ungoogled-chromium -n --no-grafts -d
/gnu/store/i8f4qri399l1r2k7hrwpdxxgc3q77izw-ungoogled-chromium-109.0.5414.119-1.drv
--8<---------------cut here---------------end--------------->8---

But now ‘guix shell’ (same revision) wants to build ungoogled-chromium:

--8<---------------cut here---------------start------------->8---
$ guix shell ungoogled-chromium -n
The following derivations would be built:
  /gnu/store/6kgc8cd8wn010ba3jnywj2qsjsjk511s-ungoogled-chromium-109.0.5414.119-1.drv
  /gnu/store/xfiqj5qnnld9g8hdh879aa7gp7wprhaf-chromium-109.0.5414.119.tar.xz.drv
  /gnu/store/4ic70ax830gng6fbaqk3mf3rf2x6vf1j-jsoncpp.patch.drv
  /gnu/store/9sbl6km93sgb7wc2b14sc1fgf7alsb79-openjpeg.patch.drv
  /gnu/store/jcx82l35b070dz91aiz6gffgkngcf1gl-zlib.patch.drv

1,930.3 MB would be downloaded
$ guix shell ungoogled-chromium -n --no-grafts
The following derivations would be built:
  /gnu/store/mpfvrssy125chnxsy4qg61kk1a2s235d-profile.drv
  /gnu/store/kyncllwl57l2pk63rc154zdfmbx8759v-ungoogled-chromium-109.0.5414.119-1.drv
  /gnu/store/xfiqj5qnnld9g8hdh879aa7gp7wprhaf-chromium-109.0.5414.119.tar.xz.drv
  /gnu/store/4ic70ax830gng6fbaqk3mf3rf2x6vf1j-jsoncpp.patch.drv
  /gnu/store/9sbl6km93sgb7wc2b14sc1fgf7alsb79-openjpeg.patch.drv
  /gnu/store/jcx82l35b070dz91aiz6gffgkngcf1gl-zlib.patch.drv

1,930.3 MB would be downloaded
--8<---------------cut here---------------end--------------->8---

Why does ‘guix shell’ want to build a different derivation for the same
package?

The derivation ‘guix shell’ computed depends on different *.patch.drv,
compared to the “right” one:

--8<---------------cut here---------------start------------->8---
$ guix gc -R $(guix build ungoogled-chromium -d --no-grafts) |grep -E '(jsoncpp|openjpeg|zlib)\.patch\.drv'
/gnu/store/ysmmqzva7j49x7sswr5kdgdj59dsh8ip-zlib.patch.drv
/gnu/store/iamxhd6d0jqvmjfh458qwhm62bq2adb7-jsoncpp.patch.drv
/gnu/store/03hqmvhl97b8pxrcqahc9xk1bil2pbs3-openjpeg.patch.drv
--8<---------------cut here---------------end--------------->8---

To be continued…

Ludo’.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#61841: ‘guix shell’ computes different package derivation than ‘guix build’
  2023-02-27 16:41               ` Maxim Cournoyer
@ 2023-02-27 21:08                 ` Ludovic Courtès
  2023-02-28  2:25                   ` Maxim Cournoyer
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2023-02-27 21:08 UTC (permalink / raw)
  To: Maxim Cournoyer
  Cc: Josselin Poiret, Christopher Baines, Simon Tournier,
	Mathieu Othacehe, Tobias Geerinckx-Rice, Ricardo Wurmus, 61255,
	61841

Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:

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

[...]

>> Commit 68775338a510f84e63657ab09242d79e726fa457 turned out to have
>> unintended side effects:
>>
>>   https://issues.guix.gnu.org/61841
>
> Ugh.
>
>> I fixed it with:
>>
>>   a516a0ba93 gexp: computed-file: Do not honor %guile-for-build.
>>   fee1d08f0d pack: Make sure tests can run without a world rebuild.
>>
>> Please take a look.
>
> Thank you.  I still think it'd be nicer if computed-file had a means to
> honor %guile-for-build rather than having to accommodate it specially as
> you did in fee1d08f0d, so that it'd be symmetrical to gexp->derivation
> in that regard.  Why can't they?

Like I wrote, ‘default-guile’ returns a package whereas
‘%guile-for-build’ returns a derivation.

The latter is inherently lower-level: it’s used together with the
monadic interface or with plain ‘derivation’, when we know which system
we’re targeting.  The former is higher-level, system-independent; it
must be used for <computed-file> and similar forms, which are
system-independent.

Ludo’.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#61841: ‘guix shell’ computes different package derivation than ‘guix build’
  2023-02-27 21:08                 ` bug#61841: ‘guix shell’ computes different package derivation than ‘guix build’ Ludovic Courtès
@ 2023-02-28  2:25                   ` Maxim Cournoyer
  0 siblings, 0 replies; 6+ messages in thread
From: Maxim Cournoyer @ 2023-02-28  2:25 UTC (permalink / raw)
  To: Ludovic Courtès
  Cc: Josselin Poiret, Christopher Baines, Simon Tournier,
	Mathieu Othacehe, Tobias Geerinckx-Rice, Ricardo Wurmus, 61255,
	61841

Hi Ludo,

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

> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
>
>> Ludovic Courtès <ludo@gnu.org> writes:
>
> [...]
>
>>> Commit 68775338a510f84e63657ab09242d79e726fa457 turned out to have
>>> unintended side effects:
>>>
>>>   https://issues.guix.gnu.org/61841
>>
>> Ugh.
>>
>>> I fixed it with:
>>>
>>>   a516a0ba93 gexp: computed-file: Do not honor %guile-for-build.
>>>   fee1d08f0d pack: Make sure tests can run without a world rebuild.
>>>
>>> Please take a look.
>>
>> Thank you.  I still think it'd be nicer if computed-file had a means to
>> honor %guile-for-build rather than having to accommodate it specially as
>> you did in fee1d08f0d, so that it'd be symmetrical to gexp->derivation
>> in that regard.  Why can't they?
>
> Like I wrote, ‘default-guile’ returns a package whereas
> ‘%guile-for-build’ returns a derivation.
>
> The latter is inherently lower-level: it’s used together with the
> monadic interface or with plain ‘derivation’, when we know which system
> we’re targeting.  The former is higher-level, system-independent; it
> must be used for <computed-file> and similar forms, which are
> system-independent.

I see, it's starting to make sense.  I'll sleep on it :-).

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#61841: ‘guix shell’ computes different package derivation than ‘guix build’
  2023-02-27 13:36 bug#61841: ‘guix shell’ computes different package derivation than ‘guix build’ Ludovic Courtès
@ 2023-03-01  9:05 ` Josselin Poiret via Bug reports for GNU Guix
  2023-03-01 21:34   ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Josselin Poiret via Bug reports for GNU Guix @ 2023-03-01  9:05 UTC (permalink / raw)
  To: Ludovic Courtès, 61841

[-- Attachment #1: Type: text/plain, Size: 637 bytes --]

Hi Ludo,

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

> Look at this weird phenomenon.
>
> First, with ‘guix build’, everything works as expected:
> [...]
> But now ‘guix shell’ (same revision) wants to build ungoogled-chromium:
> [...]
> Why does ‘guix shell’ want to build a different derivation for the same
> package?

Funnily enough, I don't have that problem locally: the `guix shell`
invocation only tells me it's gonna build a profile derivation (I don't
have ungoogled-chromium in my store btw), and the input derivation for
that profile is the same as for `guix build`.

Best,
-- 
Josselin Poiret

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 682 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#61841: ‘guix shell’ computes different package derivation than ‘guix build’
  2023-03-01  9:05 ` Josselin Poiret via Bug reports for GNU Guix
@ 2023-03-01 21:34   ` Ludovic Courtès
  2023-03-02  9:23     ` Josselin Poiret via Bug reports for GNU Guix
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2023-03-01 21:34 UTC (permalink / raw)
  To: Josselin Poiret; +Cc: 61841

Howdy,

Josselin Poiret <dev@jpoiret.xyz> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Look at this weird phenomenon.
>>
>> First, with ‘guix build’, everything works as expected:
>> [...]
>> But now ‘guix shell’ (same revision) wants to build ungoogled-chromium:
>> [...]
>> Why does ‘guix shell’ want to build a different derivation for the same
>> package?
>
> Funnily enough, I don't have that problem locally: the `guix shell`
> invocation only tells me it's gonna build a profile derivation (I don't
> have ungoogled-chromium in my store btw), and the input derivation for
> that profile is the same as for `guix build`.

It was fixed on Monday though, so perhaps you’re using a known-good
revision?

Anyway there are still people complaining about “lack of
ungoogled-chromium substitutes” (most likely: wrong ungoogled-chromium
derivation) right now on IRC.

Ludo’.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#61841: ‘guix shell’ computes different package derivation than ‘guix build’
  2023-03-01 21:34   ` Ludovic Courtès
@ 2023-03-02  9:23     ` Josselin Poiret via Bug reports for GNU Guix
  0 siblings, 0 replies; 6+ messages in thread
From: Josselin Poiret via Bug reports for GNU Guix @ 2023-03-02  9:23 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 61841

[-- Attachment #1: Type: text/plain, Size: 351 bytes --]

Hi Ludo,

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

> It was fixed on Monday though, so perhaps you’re using a known-good
> revision?

That's probably the piece of info I was missing!  The discussion about
the issue didn't show up in the same thread in my MUA so I thought this
was simply unanswered, my bad.

Best,
-- 
Josselin Poiret

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 682 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-03-02  9:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-27 13:36 bug#61841: ‘guix shell’ computes different package derivation than ‘guix build’ Ludovic Courtès
2023-03-01  9:05 ` Josselin Poiret via Bug reports for GNU Guix
2023-03-01 21:34   ` Ludovic Courtès
2023-03-02  9:23     ` Josselin Poiret via Bug reports for GNU Guix
  -- strict thread matches above, loose matches on Subject: below --
2023-02-03 22:14 [bug#61255] [PATCH 1/5] pack: Extract keyword-ref procedure from debian-archive Maxim Cournoyer
2023-02-03 22:14 ` [bug#61255] [PATCH 2/5] gexp: computed-file: Honor %guile-for-build Maxim Cournoyer
2023-02-04  1:11   ` Ludovic Courtès
2023-02-04  3:43     ` Maxim Cournoyer
2023-02-12 18:14       ` [bug#61255] [PATCH 0/5] Add support for the RPM format to "guix pack" Ludovic Courtès
2023-02-16 15:12         ` Maxim Cournoyer
2023-02-23 15:44           ` [bug#61255] (%guile-for-build) default in ‘computed-file’ Ludovic Courtès
2023-02-27 15:10             ` bug#61841: bug#61255: [PATCH 0/5] Add support for the RPM format to "guix pack" Ludovic Courtès
2023-02-27 16:41               ` Maxim Cournoyer
2023-02-27 21:08                 ` bug#61841: ‘guix shell’ computes different package derivation than ‘guix build’ Ludovic Courtès
2023-02-28  2:25                   ` Maxim Cournoyer

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.