Ricardo Wurmus writes: > Ludovic Courtès writes: > >> Ricardo Wurmus skribis: >> >>> Mark H Weaver writes: >>> >>>> ludo@gnu.org (Ludovic Courtès) writes: >>>> >>>>> Mark H Weaver 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. What do you think of the attached patches? The first makes libxfce4ui only propagate the latest gtk+, so I added gtk+-2 where needed. The second removes “exo” from the “xfce” meta-package, because it doesn’t seem needed. “exo” propagates “gtk+-2”, so it would be hard to prevent the conflict otherwise. These patches are only a temporary fix until we can find a way to mark certain conflicts as unproblematic.