Hello,

Nicolas Graves <[email protected]> skribis:

>> If we’re talking about a dozen packages, adding a ‘with-extensions’
>> stanza in those packages seems okay to me.  If there’s more, I’m not
>> sure.
>
> I currently count 42 "avoidable" occurrences in my local branch where
> everything is migrated.  They are transmitted in my recent "pyproject
> migrations" PRs.

Uh, looks like we need a real solution.

>>> I see two possible directions :
>>>
>>> 1) The `#:autoload` way: Use autoloads instead of `#:use-module` in the
>>> build-systems using `(json)` so that wrapping `with-extensions` is only
>>> required when it's really used.
>>
>> Yes, using #:autoload cannot hurt.
>
> I tried that and it works.  imported-modules compile with warnings
> though, I don't know if it's tolerable or not.

It’s definitely tolerable; we use this strategy (autoloading modules for
optional features) in a number of build-side modules.

> Did you by chance read https://codeberg.org/guix/guix/issues/1378 ?
>
> IMHO, we should plan for such extensibility, and use either of those
> solutions according to what's more convenient for build-system
> extensibility goals.

I’ve read it now, and I even commented.  :-)

I don’t have a good idea though!

Ludo’.

Reply via email to