Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 881545 - 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
Summary: gnome-extra/evolution-data-server-3.46.0-r1: suspiciously declares dependency...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-11-16 18:19 UTC by Joakim Tjernlund
Modified: 2023-10-12 14:22 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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 gentoo-dev 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 gentoo-dev 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 gentoo-dev 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 archtester Gentoo Infrastructure gentoo-dev Security 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 archtester Gentoo Infrastructure gentoo-dev Security 2023-03-25 06:43:53 UTC
Ping.
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 gentoo-dev 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 <mgorny@gentoo.org>
AuthorDate: 2023-10-12 13:09:39 +0000
Commit:     Michał Górny <mgorny@gentoo.org>
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 <mgorny@gentoo.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 !