|
From: | Maxime Devos |
Subject: | bug#61885: bug#61911: error: mate-polkit: unbound variable |
Date: | Thu, 2 Mar 2023 16:11:05 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.2 |
Op 02-03-2023 om 15:36 schreef Josselin Poiret:
Hi Maxime, Maxime Devos <maximedevos@telenet.be> writes:In unknown file: 3 (primitive-load-path "gnu/packages/xfce" #<procedure 7f?>) In gnu/packages/xfce.scm: 1156:19 2 (_) In ice-9/boot-9.scm: 1685:16 1 (raise-exception _ #:continuable? _) 1685:16 0 (raise-exception _ #:continuable? _) ice-9/boot-9.scm:1685:16: In procedure raise-exception: error: mate-polkit: unbound variableThis is the same kind of issue as [1]: both xfce and mate require each other (the second through mate -> freedesktop -> kde-frameworks -> kde-plasma -> display-managers -> xfce), and depending on the order in which they're loaded, mate-polkit-for-xfce might get defined before mate-polkit is. The solution I suggested there was to define the variant in the same file as the original package, but here I'm not sure if this is the right call. In general, I'd much rather try to get rid of those pesky module cycles, as they cause general headaches for guix pull. I remember Julien using (guix modules) to do some analysis at the Guix days, maybe we could get some pointers on how to handle this specific situation? WDYT? [1] https://issues.guix.gnu.org/61885 (mid: F29B8BFE-A175-4128-8093-4A810681E235@winter.cafe)
I haven't gone to Guix days so I can't comment on that, but I'd like to note that there are some simple patches for breaking up lots of package cycles at <https://issues.guix.gnu.org/54539#62> (*). In particular, #:use-module -> #:autoload appears promising (^).
Basically, you can consider a module reference to be 'strong' if its of the form (define stuff (package (inherit reference)) ...), and 'weak' if its just a package input (or more generally, something thunked). 'Strong' cycles are problematic, but 'weak' cycles should be resolvable by delaying loading the required modules until needed.
I don't know if these patches would solve this particular 'mate-polkit' issue -- if the 'mate -> freedesktop -> ... -> xfce' cycle is 'weak', something like those patches should work, but if it isn't, those patches would be insufficient.
(*) Beware of https://issues.guix.gnu.org/54539#63 though; looks like I made some mistakes in hurd.scm and image.scm.
Greetings, Maxime.
OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature
[Prev in Thread] | Current Thread | [Next in Thread] |