Ludovic Courtès <[email protected]> writes: > Ricardo Wurmus <[email protected]> skribis: > >> Mark H Weaver <[email protected]> writes: >> >>> [email protected] (Ludovic Courtès) writes: >>> >>>> Mark H Weaver <[email protected]> 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 protected]:out >>>>> /gnu/store/901ify6fr2zlr2y2acpvlqr8lygmwj98-gtk+-2.24.31 >>>>> guix system: error: ... propagated from [email protected] >>>>> guix system: error: ... propagated from [email protected] >>>>> guix system: error: second entry: [email protected]:out >>>>> /gnu/store/fhqaljm8cf78irhqjbrm8n0ri1k2cznm-gtk+-3.22.15 >>>>> guix system: error: ... propagated from [email protected] >>>>> guix system: error: ... propagated from [email protected] >>>>> guix system: error: ... propagated from [email protected] >>>> >>>> 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 protected]:out >>> /gnu/store/0m9hpckvamd048zgsrhx1dx2s5hrg1qk-gtk+-2.24.31 >>> guix system: error: ... propagated from [email protected] >>> guix system: error: ... propagated from [email protected] >>> guix system: error: ... propagated from [email protected] >>> guix system: error: second entry: [email protected]:out >>> /gnu/store/hc090rjjka3r9spvzl7yn5hcc2xgrgdh-gtk+-3.22.15 >>> guix system: error: ... propagated from [email protected] >>> guix system: error: ... propagated from [email protected] >>> guix system: error: ... propagated from [email protected] >> >> 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
