all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Cc: Josselin Poiret <dev@jpoiret.xyz>,
	Christopher Baines <mail@cbaines.net>,
	Simon Tournier <zimon.toutoune@gmail.com>,
	Mathieu Othacehe <othacehe@gnu.org>,
	Tobias Geerinckx-Rice <me@tobias.gr>,
	Ricardo Wurmus <rekado@elephly.net>,
	61255@debbugs.gnu.org
Subject: [bug#61255] (%guile-for-build) default in ‘computed-file’
Date: Thu, 23 Feb 2023 16:44:49 +0100	[thread overview]
Message-ID: <877cw85qtq.fsf_-_@gnu.org> (raw)
In-Reply-To: <87fsb5wso1.fsf@gmail.com> (Maxim Cournoyer's message of "Thu, 16 Feb 2023 10:12:30 -0500")

Hello!

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

> Hi Ludovic!
>
> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Hi Maxim,
>>
>> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
>>
>>> Ludovic Courtès <ludo@gnu.org> writes:
>>>
>>>> Hello!
>>>>
>>>> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
>>>>
>>>>> * guix/gexp.scm (computed-file): Set the default value of the #:guile argument
>>>>> to that of the %guile-for-build parameter.
>>>>
>>>> [...]
>>>>
>>>>>  (define* (computed-file name gexp
>>>>> -                        #:key guile (local-build? #t) (options '()))
>>>>> +                        #:key (guile (%guile-for-build))
>>>>> +                        (local-build? #t) (options '()))
>>>>
>>>> I think that would lead ‘computed-file’ to pick (%guile-for-build) at
>>>> the wrong time (time of call instead of time of lowering).
>>>>
>>>> Commit ab25eb7caaf5571cc9f8d6397a1eae127d7e29d1 made it #f such that
>>>> ‘gexp->derivation’ gets to resolve it at the “right” time.
>>>
>>> I see!  I think you are right.  Would making the change in the
>>> associated gexp compiler do the right thing?  Currently it ignores the
>>> %guile-for-build fluid as set in the tests/pack.scm test suite for
>>> example.  Something like this:
>>
>> I don’t fully understand the context.  My preference would go to doing
>> like the ‘computed-file’ tests in ‘tests/gexp.scm’, where we explicitly
>> pass #:guile %bootstrap-guile.
>
> With the refactoring done in patch 3/5 ("pack: Extract
> populate-profile-root from self-contained-tarball/builder."), a
> computed-file is used in the factorized building block
> 'populate-profile-root'.  Without this patch, the tests making use of it
> would attempt to build Guile & friends in the test store.
>
>> That said, it seems like patch #5 in this series doesn’t actually use
>> ‘computed-file’ in ‘tests/pack.scm’, does it?
>
> It does, indirectly.
>
> I hope that helps!

I’m really not sure what the impact of
68775338a510f84e63657ab09242d79e726fa457 is, nor whether it was the only
solution to the problem.

One thing that probably happens is that (default-guile) is now never
used for <computed-file>, contrary to what was happening before.  The
spirit is that (default-guile) would be used as the default for all the
declarative file-like objects; gexp compilers refer to (default-guile),
not (%guile-for-build).

Importantly, (%guile-for-build) is a derivation, possibly built for
another system, whereas (default-guile) is a package, which allows
‘lower-object’ to return the derivation for the right system type.

Overall, I think this change should be reverted but of course, we should
find a solution to the problem you hit in the first place.

I hope this makes sense to you.

Ludo’.




  reply	other threads:[~2023-02-23 15:46 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-03 16:19 [bug#61255] [PATCH 0/5] Add support for the RPM format to "guix pack" Maxim Cournoyer
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             ` Ludovic Courtès [this message]
2023-02-24  2:38               ` [bug#61255] (%guile-for-build) default in ‘computed-file’ Maxim Cournoyer
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
2023-02-03 22:14   ` [bug#61255] [PATCH 3/5] pack: Extract populate-profile-root from self-contained-tarball/builder Maxim Cournoyer
2023-02-03 22:14   ` [bug#61255] [PATCH 4/5] tests: pack: Fix indentation Maxim Cournoyer
2023-02-12 18:20     ` [bug#61255] [PATCH 0/5] Add support for the RPM format to "guix pack" Ludovic Courtès
2023-02-16 15:22       ` Maxim Cournoyer
2023-02-23 15:47         ` Ludovic Courtès
2023-02-23 22:20           ` Feedback on indentation rules (was: [PATCH 0/5] Add support for the RPM format to "guix pack") Maxim Cournoyer
2023-02-27 19:14             ` Efraim Flashner
2023-03-01 15:17               ` Feedback on indentation rules Maxim Cournoyer
2023-03-06 16:56                 ` Ludovic Courtès
2023-03-07 13:46                   ` Simon Tournier
2023-03-07 16:54                     ` Maxim Cournoyer
2023-03-07 17:29                       ` Simon Tournier
2023-03-09 13:55                         ` Maxim Cournoyer
2023-03-15 16:15                     ` Ludovic Courtès
2023-03-17 16:16                       ` Maxim Cournoyer
2023-02-03 22:14   ` [bug#61255] [PATCH 5/5] pack: Add RPM format Maxim Cournoyer
2023-02-12 18:52     ` [bug#61255] [PATCH 0/5] Add support for the RPM format to "guix pack" Ludovic Courtès
2023-02-16 22:17       ` Maxim Cournoyer
2023-02-12 18:57   ` Ludovic Courtès
2023-02-16 15:25     ` Maxim Cournoyer
2023-02-17  1:49 ` [bug#61255] [PATCH v2 0/8] " Maxim Cournoyer
2023-02-17  1:49   ` [bug#61255] [PATCH v2 1/8] .dir-locals: Add let-keywords indentation rules Maxim Cournoyer
2023-02-17  1:49   ` [bug#61255] [PATCH v2 2/8] pack: Use let-keywords instead of keyword-ref Maxim Cournoyer
2023-02-17  1:49   ` [bug#61255] [PATCH v2 3/8] gexp: computed-file: Honor %guile-for-build Maxim Cournoyer
2023-02-17  1:49   ` [bug#61255] [PATCH v2 4/8] pack: Extract populate-profile-root from self-contained-tarball/builder Maxim Cournoyer
2023-02-17  1:49   ` [bug#61255] [PATCH v2 5/8] tests: pack: Fix indentation Maxim Cournoyer
2023-02-17  1:49   ` [bug#61255] [PATCH v2 6/8] pack: Add RPM format Maxim Cournoyer
2023-02-17  1:49   ` [bug#61255] [PATCH v2 7/8] etc: Add a news entry snippet Maxim Cournoyer
2023-02-17  1:49   ` [bug#61255] [PATCH v2 8/8] news: Add entry for the new 'rpm' guix pack format Maxim Cournoyer
2023-02-17  6:34     ` Julien Lepiller
2023-02-17 17:32       ` Maxim Cournoyer
2023-02-17 15:12     ` pelzflorian (Florian Pelz)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877cw85qtq.fsf_-_@gnu.org \
    --to=ludo@gnu.org \
    --cc=61255@debbugs.gnu.org \
    --cc=dev@jpoiret.xyz \
    --cc=mail@cbaines.net \
    --cc=maxim.cournoyer@gmail.com \
    --cc=me@tobias.gr \
    --cc=othacehe@gnu.org \
    --cc=rekado@elephly.net \
    --cc=zimon.toutoune@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.