[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#27467: Xfce broken, because it propagates two different versions of
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 |
User-agent: |
mu4e 0.9.18; emacs 25.2.1 |
Ricardo Wurmus <address@hidden> writes:
> Ludovic Courtès <address@hidden> writes:
>
>> Ricardo Wurmus <address@hidden> skribis:
>>
>>> Mark H Weaver <address@hidden> writes:
>>>
>>>> address@hidden (Ludovic Courtès) writes:
>>>>
>>>>> Mark H Weaver <address@hidden> 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: address@hidden:out
>>>>>> /gnu/store/901ify6fr2zlr2y2acpvlqr8lygmwj98-gtk+-2.24.31
>>>>>> guix system: error: ... propagated from address@hidden
>>>>>> guix system: error: ... propagated from address@hidden
>>>>>> guix system: error: second entry: address@hidden:out
>>>>>> /gnu/store/fhqaljm8cf78irhqjbrm8n0ri1k2cznm-gtk+-3.22.15
>>>>>> guix system: error: ... propagated from address@hidden
>>>>>> guix system: error: ... propagated from address@hidden
>>>>>> guix system: error: ... propagated from address@hidden
>>>>>
>>>>> 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: address@hidden:out
>>>> /gnu/store/0m9hpckvamd048zgsrhx1dx2s5hrg1qk-gtk+-2.24.31
>>>> guix system: error: ... propagated from address@hidden
>>>> guix system: error: ... propagated from address@hidden
>>>> guix system: error: ... propagated from address@hidden
>>>> guix system: error: second entry: address@hidden:out
>>>> /gnu/store/hc090rjjka3r9spvzl7yn5hcc2xgrgdh-gtk+-3.22.15
>>>> guix system: error: ... propagated from address@hidden
>>>> guix system: error: ... propagated from address@hidden
>>>> guix system: error: ... propagated from address@hidden
>>>
>>> libxfce4ui propagates both address@hidden and address@hidden 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 address@hidden, libxfce4ui-2.pc needs
> propagation of address@hidden Maybe we could split that package up, so that
> the different variants are provided by separate variants. Or we could
> simply not propagate address@hidden and only add it to packages that actually
> use address@hidden
>
> 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.
>From 9cbb90bfaeae0aa8fbdcfa0aa212dc1b3acac359 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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
>From a9037e23c3ccf656e5c2d53c22ff4b22c9db84e6 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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
--
Ricardo
GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
https://elephly.net
- bug#27467: Xfce broken, because it propagates two different versions of gtk+, Mark H Weaver, 2017/06/23
- bug#27467: Xfce broken, because it propagates two different versions of gtk+, ng0, 2017/06/24
- bug#27467: Xfce broken, because it propagates two different versions of gtk+, Ludovic Courtès, 2017/06/24
- bug#27467: Xfce broken, because it propagates two different versions of gtk+, Mark H Weaver, 2017/06/25
- bug#27467: Xfce broken, because it propagates two different versions of gtk+, Ricardo Wurmus, 2017/06/26
- bug#27467: Xfce broken, because it propagates two different versions of gtk+, Ludovic Courtès, 2017/06/26
- bug#27467: Xfce broken, because it propagates two different versions of gtk+, ng0, 2017/06/26
- bug#27467: Xfce broken, because it propagates two different versions of gtk+, Ricardo Wurmus, 2017/06/27
- bug#27467: Xfce broken, because it propagates two different versions of gtk+,
Ricardo Wurmus <=
- bug#27467: Xfce broken, because it propagates two different versions of gtk+, Ludovic Courtès, 2017/06/27
- bug#27467: Xfce broken, because it propagates two different versions of gtk+, Ricardo Wurmus, 2017/06/29
- bug#27467: Xfce broken, because it propagates two different versions of gtk+, Mark H Weaver, 2017/06/29