guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Canonical-packages restoration.


From: Mathieu Othacehe
Subject: Re: Canonical-packages restoration.
Date: Wed, 10 Jun 2020 11:35:49 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Hey Ludo!

> What if, instead, we removed those “canonical” packages entirely from
> the reference graph?  Do you think that’s an option?

It seems to be a better option! So, as I did remove most of the explicit
references to 'canonical-packages' the only references left are
implicit.

A good example is "isc-dhcp", that refers to implicit canonical inputs
"coreutils" and "sed" in the "dhclient-script". The attached patch fixes
it. I could do the same for a few other packages and it should fix the
issue.

The problem is that approach is not very long-term. Maybe we should take
a step back. Would it be an option to add all the canonical-packages as
disallowed-references? Or could we use implicit inputs that are not
rooted in the bootstrap chain?

>> My idea is to define something like:
>>
>> (define (canonical-package* package)
>>   (let ((canonical
>>          (module-ref (resolve-interface '(gnu packages base))
>>                      'canonical-package)))
>>     (let-system (system target)
>>       (if target
>>           package
>>           (canonical package)))))
>
> Aren’t there pieces of code that expect these things to be <package>
> records?

Yes, but I was planning to change that, not a good idea after all.

> Bah yes, that’s why initially I didn’t push ‘let-system’:
>
>   https://issues.guix.gnu.org/29296#4
>
> Perhaps we could avoid the expander = #f special case.

Ok, I will try to fix it then.

Thanks,

Mathieu

Attachment: patch
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]