|Summary:||gnome-extra/evolution-data-server-3.46.0-r1: suspiciously declares dependency on both net-libs/webkit-gtk:4.1 and net-libs/webkit-gtk:5|
|Product:||Gentoo Linux||Reporter:||Joakim Tjernlund <joakim.tjernlund>|
|Component:||Current packages||Assignee:||Gentoo Linux Gnome Desktop Team <gnome>|
|Package list:||Runtime testing required:||---|
Description Joakim Tjernlund 2022-11-16 18:19:44 UTC
Does evolution-data-server really need both? net-libs/webkit-gtk is a fairly big dependency so it would be great if net-libs/webkit-gtk:5 could be avoided.
Comment 1 Joakim Tjernlund 2022-11-23 09:23:37 UTC
snippet: oauth? ( >=net-libs/webkit-gtk-2.34.0:4.1 >=net-libs/webkit-gtk-2.36.0:5 ) Perhaps there should be an OR between these?
Comment 2 Joakim Tjernlund 2022-11-23 09:36:27 UTC
e-credentials-prompter-impl-oauth2.c has: #if GTK_CHECK_VERSION(4, 0, 0) #ifdef ENABLE_OAUTH2_WEBKITGTK4 #define WITH_WEBKITGTK 1 #else #undef WITH_WEBKITGTK #endif #else #ifdef ENABLE_OAUTH2_WEBKITGTK #define WITH_WEBKITGTK 1 #else #undef WITH_WEBKITGTK #endif #endif #ifdef WITH_WEBKITGTK #include <webkit2/webkit2.h> #endif /* WITH_WEBKITGTK */ This looks to me like OAUTH is happy with either webkit, not both of them.
Comment 3 Mart Raudsepp 2022-11-23 15:00:08 UTC
I believe one provides oauth support when used via the gtk3 library, and the other when used via the gtk4 library. Different evolution-data-server consumers link to one of them, not both. E.g. gnome-calendar links to the gtk4 and would need webkit-gtk:5 to have bare oauth support. A month or two ago when I discussed about this on IRC, it looked like the only gtk4 user so far wouldn't really benefit from it, so I suggested to delay the SLOT=5 dep for now and explicitly build the gtk4 version of the relevant library without this direct webkit-gtk oauth support (as opposed to via gnome-online-accounts). The situation may have changed by now - I'm not up to date on when and how we ended up with this dep being there by now; maybe there's more important consumers now.
Comment 4 Mart Raudsepp 2022-11-23 15:01:51 UTC
To clarify - e-credentials-prompter-impl-oauth2.c is probably built twice - once as part of the relevant eds libraries gtk3 version, and once for the gtk4 version. It isn't a one or the other type of deal, but neither or both when both gtk3 and gtk4 libraries are enabled.
Comment 5 Joakim Tjernlund 2022-11-24 19:46:08 UTC
At work we don't use GNOME directly, we have KDE and MATE. In our setup which is fairly big as it contains all tools we need to get work done, only evolution-data-server insists on net-libs/webkit-gtk:5 which is then is an unused dependency as nothing else uses net-libs/webkit-gtk:5 Could net-libs/webkit-gtk:5 be conditional somehow?
Comment 6 Mart Raudsepp 2022-11-24 22:20:35 UTC
It already is conditional on USE=oauth. You need it for gtk3 version?
Comment 7 Joakim Tjernlund 2022-11-24 22:51:08 UTC
(In reply to Mart Raudsepp from comment #6) > It already is conditional on USE=oauth. You need it for gtk3 version? yes, with oauth
Comment 8 Michał Górny 2022-12-23 07:44:23 UTC
How about adding an USE flag for GTK+4? FWICS evolution is still on GTK+3.
Comment 9 Joakim Tjernlund 2023-01-18 22:07:03 UTC
(In reply to Michał Górny from comment #8) > How about adding an USE flag for GTK+4? FWICS evolution is still on GTK+3. That would be super!
Comment 10 Michał Górny 2023-03-25 06:43:53 UTC
Comment 11 sMueggli 2023-06-10 09:28:23 UTC
If I understand it correctly, I just need webkit-gtk-2.40.1-r410 emerge -pv --depclean webkit-gtk Calculating dependencies... done! net-libs/webkit-gtk-2.40.1-r410 pulled in by: gnome-extra/evolution-data-server-3.48.1 requires >=net-libs/webkit-gtk-2.34.0:4.1 gnome-extra/sushi-43.0 requires net-libs/webkit-gtk:4.1[introspection] mail-client/evolution-3.48.1 requires >=net-libs/webkit-gtk-2.38.0:4.1/0=[spell], >=net-libs/webkit-gtk-2.38.0:4.1=[spell] net-libs/gnome-online-accounts-3.48.0 requires >=net-libs/webkit-gtk-2.33.1:4.1 net-libs/webkit-gtk-2.40.1-r600 pulled in by: gnome-extra/evolution-data-server-3.48.1 requires >=net-libs/webkit-gtk-2.39.90:6 Is there anything that I can do to help resolve this issue?
Comment 12 Joakim Tjernlund 2023-10-05 20:20:05 UTC
Still hoping for a USE flag, can we have one?
Comment 13 Larry the Git Cow 2023-10-12 14:16:01 UTC
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9dc68056e1be368ce396ed12e2e5c1fcb253e51b commit 9dc68056e1be368ce396ed12e2e5c1fcb253e51b Author: Michał Górny <firstname.lastname@example.org> AuthorDate: 2023-10-12 13:09:39 +0000 Commit: Michał Górny <email@example.com> CommitDate: 2023-10-12 14:15:57 +0000 gnome-extra/evolution-data-server: Control GTK+3/4 oauth separately Add a separate `oauth-gtk3` and `oauth-gtk4` flags to control OAuth support in libedataserverui and libedataserverui4 separately. This makes it possible enable OAuth support for specific dependencies without having to build two versions of net-libs/webkit-gtk simultaneously. Closes: https://bugs.gentoo.org/881545 Signed-off-by: Michał Górny <firstname.lastname@example.org> .../evolution-data-server-3.50.0-r1.ebuild | 159 +++++++++++++++++++++ gnome-extra/evolution-data-server/metadata.xml | 5 +- profiles/arch/alpha/package.use.mask | 2 +- profiles/arch/ia64/package.use.mask | 2 +- 4 files changed, 165 insertions(+), 3 deletions(-)
Comment 14 Joakim Tjernlund 2023-10-12 14:22:33 UTC
Thanks a lot !