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

From: Ricardo Wurmus <[email-masked]>
Date: Mon, 26 Jun 2017 13:14:51 +0200

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.

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?

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net