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