Subject: Re: bug#27467: Xfce broken, because it propagates two different versions of gtk+

From: [email-masked] (Ludovic Courtès)
Date: Mon, 26 Jun 2017 18:14:04 +0200

Ricardo Wurmus <[email-masked]> skribis:

> Mark H Weaver <[email-masked]> writes:
>
>> [email-masked] (Ludovic Courtès) writes:
>>
>>> Mark H Weaver <[email-masked]> skribis:
>>>
>>>> I just tried to update my GuixSD system to commit
>>>> c57b56722f6c167c5a285f47802047de85a356ae on master.  "guix system build"
>>>> failed with the following error:
>>>>
>>>> guix system: error: profile contains conflicting entries for gtk+:out
>>>> guix system: error:   first entry: [email-masked]:out /gnu/store/901ify6fr2zlr2y2acpvlqr8lygmwj98-gtk+-2.24.31
>>>> guix system: error:    ... propagated from [email-masked]
>>>> guix system: error:    ... propagated from [email-masked]
>>>> guix system: error:   second entry: [email-masked]:out /gnu/store/fhqaljm8cf78irhqjbrm8n0ri1k2cznm-gtk+-3.22.15
>>>> guix system: error:    ... propagated from [email-masked]
>>>> guix system: error:    ... propagated from [email-masked]
>>>> guix system: error:    ... propagated from [email-masked]
>>>
>>> I just tried and Exo builds fine with GTK+3, so I would think this
>>> reference to GTK+2 was a mistake.  Can you check if it works fine for
>>> you with this change?
>>
>> After changing Exo to use Gtk+3, I get this:
>>
>> guix system: error: profile contains conflicting entries for gtk+:out
>> guix system: error:   first entry: [email-masked]:out /gnu/store/0m9hpckvamd048zgsrhx1dx2s5hrg1qk-gtk+-2.24.31
>> guix system: error:    ... propagated from [email-masked]
>> guix system: error:    ... propagated from [email-masked]
>> guix system: error:    ... propagated from [email-masked]
>> guix system: error:   second entry: [email-masked]:out /gnu/store/hc090rjjka3r9spvzl7yn5hcc2xgrgdh-gtk+-3.22.15
>> guix system: error:    ... propagated from [email-masked]
>> guix system: error:    ... propagated from [email-masked]
>> guix system: error:    ... propagated from [email-masked]
>
> libxfce4ui propagates both gtk+@3 and gtk+@2.  There is no conflict
> between these two versions of gtk, because they are installed into
> separate sub-directories under $prefix/lib.

So this is on purpose, right?  Sounds weird no?

> How should we handle exceptions like this?  Should packages get a new
> property that would allow them to specify that they do not conflict with
> a certain variant?

Good question, we could add a property I suppose.

At any rate, we need a quick fix for Xfce.  What’s the best approach?

Ludo’.