Ludovic Courtès <l...@gnu.org> writes:

> Ricardo Wurmus <rek...@elephly.net> skribis:
>
>> Mark H Weaver <m...@netris.org> writes:
>>
>>> l...@gnu.org (Ludovic Courtès) writes:
>>>
>>>> Mark H Weaver <m...@netris.org> 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: gtk+@2.24.31:out 
>>>>> /gnu/store/901ify6fr2zlr2y2acpvlqr8lygmwj98-gtk+-2.24.31
>>>>> guix system: error:    ... propagated from exo@0.10.3
>>>>> guix system: error:    ... propagated from xfce@4.12.0
>>>>> guix system: error:   second entry: gtk+@3.22.15:out 
>>>>> /gnu/store/fhqaljm8cf78irhqjbrm8n0ri1k2cznm-gtk+-3.22.15
>>>>> guix system: error:    ... propagated from libxfce4ui@4.12.0
>>>>> guix system: error:    ... propagated from garcon@0.4.0
>>>>> guix system: error:    ... propagated from xfce@4.12.0
>>>>
>>>> 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: gtk+@2.24.31:out 
>>> /gnu/store/0m9hpckvamd048zgsrhx1dx2s5hrg1qk-gtk+-2.24.31
>>> guix system: error:    ... propagated from libxfce4ui@4.12.0
>>> guix system: error:    ... propagated from garcon@0.4.0
>>> guix system: error:    ... propagated from xfce@4.12.0
>>> guix system: error:   second entry: gtk+@3.22.15:out 
>>> /gnu/store/hc090rjjka3r9spvzl7yn5hcc2xgrgdh-gtk+-3.22.15
>>> guix system: error:    ... propagated from libxfce4ui@4.12.0
>>> guix system: error:    ... propagated from garcon@0.4.0
>>> guix system: error:    ... propagated from xfce@4.12.0
>>
>> 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?

It’s not unusual for some GUI libraries to support multiple backends.
It’s a bit weird that this requires propagation, but according to the
comment that’s because of the pkg-config files.

libxfce4ui-1.pc needs propagation of gtk+@2, libxfce4ui-2.pc needs
propagation of gtk+@3.  Maybe we could split that package up, so that
the different variants are provided by separate variants.  Or we could
simply not propagate gtk+@2 and only add it to packages that actually
use gtk+@2.

I’m giving this a try right now.

--
Ricardo

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




Reply via email to