From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: bug#27467: Xfce broken, because it propagates two different versions of gtk+ Date: Tue, 27 Jun 2017 09:56:11 +0200 Message-ID: <87r2y5euec.fsf@elephly.net> References: <87tw36fert.fsf@netris.org> <874lv59hn7.fsf@gnu.org> <87h8z4ig01.fsf@netris.org> <87injjknkk.fsf@elephly.net> <878tke681f.fsf@gnu.org> <87shimdmtg.fsf@elephly.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37085) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dPlMv-0003nw-F5 for bug-guix@gnu.org; Tue, 27 Jun 2017 03:57:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dPlMs-0004eZ-8r for bug-guix@gnu.org; Tue, 27 Jun 2017 03:57:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:37242) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dPlMs-0004eL-4Q for bug-guix@gnu.org; Tue, 27 Jun 2017 03:57:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dPlMr-00030W-Qa for bug-guix@gnu.org; Tue, 27 Jun 2017 03:57:01 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-reply-to: <87shimdmtg.fsf@elephly.net> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Mark H Weaver Cc: 27467@debbugs.gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit 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. --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-gnu-libxfce4ui-Do-not-propagate-gtk-2.patch >From 9cbb90bfaeae0aa8fbdcfa0aa212dc1b3acac359 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 27 Jun 2017 09:31:50 +0200 Subject: [PATCH 1/2] gnu: libxfce4ui: Do not propagate gtk+-2. Propagation of both gtk+ and gtk+-2 causes a conflict to be detected, preventing the installation of xfce. * gnu/packages/xfce.scm (libxfce4ui)[propagated-inputs]: Move "gtk+-2"... [inputs]: ...to here. (garcon)[inputs]: Add "gtk+-2". (xfce4-appfinder)[inputs]: Add "gtk+-2". (xfce4-power-manager)[inputs]: Add "gtk+-2". (ristretto)[inputs]: Add "gtk+-2". --- gnu/packages/xfce.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index d7d1372dd..c9d519122 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -159,13 +159,15 @@ storage system.") `(("pkg-config" ,pkg-config) ("intltool" ,intltool))) (propagated-inputs - `(("gtk+-2" ,gtk+-2) ; required by libxfce4ui-1.pc - ("gtk+-3" ,gtk+) ; required by libxfce4ui-2.pc + `(("gtk+-3" ,gtk+) ; required by libxfce4ui-2.pc ;; libxfce4kbd-private-2.pc refers to all these. ("libxfce4util" ,libxfce4util) ("xfconf" ,xfconf))) (inputs `(("libsm" ,libsm) ("libice" ,libice) + ;; FIXME: required by libxfce4ui-1.pc, so should be propagated, + ;; but will lead to a conflict with gtk+. + ("gtk+-2" ,gtk+-2) ("startup-notification" ,startup-notification))) (home-page "http://www.xfce.org/") (synopsis "Widgets library for Xfce") @@ -221,6 +223,8 @@ development.") `(("pkg-config" ,pkg-config) ("intltool" ,intltool) ("glib:bin" ,glib "bin"))) + (inputs + `(("gtk+" ,gtk+-2))) (propagated-inputs `(("libxfce4ui" ,libxfce4ui))) ; required by garcon-gtk2-1.pc (home-page "http://www.xfce.org/") @@ -452,6 +456,7 @@ per window.") ("intltool" ,intltool))) (inputs `(("garcon" ,garcon) + ("gtk+" ,gtk+-2) ("libxfce4ui" ,libxfce4ui))) (home-page "http://www.xfce.org/") (synopsis "Xfce application finder") @@ -750,6 +755,7 @@ system resources, while still being visually appealing and user friendly.") ("intltool" ,intltool))) (inputs `(("lbxrandr" ,libxrandr) + ("gtk+" ,gtk+-2) ("upower" ,upower) ("libnotify" ,libnotify) ("libxfce4ui" ,libxfce4ui))) @@ -783,6 +789,7 @@ inhibit interface which allows applications to prevent automatic sleep.") ("pkg-config" ,pkg-config))) (inputs `(("desktop-file-utils" ,desktop-file-utils) + ("gtk+" ,gtk+-2) ("libexif" ,libexif) ("libxfce4ui" ,libxfce4ui) ("librsvg" ,librsvg) -- 2.12.2 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0002-gnu-xfce-Do-not-propagate-exo.patch >From a9037e23c3ccf656e5c2d53c22ff4b22c9db84e6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 27 Jun 2017 09:51:33 +0200 Subject: [PATCH 2/2] gnu: xfce: Do not propagate exo. * gnu/packages/xfce.scm (xfce)[propagated-inputs]: Remove exo. --- gnu/packages/xfce.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index c9d519122..2965b4340 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -705,8 +705,7 @@ on your desktop.") (build-system trivial-build-system) (arguments '(#:builder (mkdir %output))) (propagated-inputs - `(("exo" ,exo) - ("garcon" ,garcon) + `(("garcon" ,garcon) ("gnome-icon-theme" ,gnome-icon-theme) ("gtk-xfce-engine" ,gtk-xfce-engine) ("hicolor-icon-theme" ,hicolor-icon-theme) -- 2.12.2 --=-=-= Content-Type: text/plain -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net --=-=-=--