At present net-misc/icaclient has a hard dependency on net-libs/webkit-gtk, a package which not only takes a long time to compile, but also pulls in other stuff like Ruby. However, this is only a dependency of some ancillary files - the Citrix base program wfica works perfectly well without webkit-gtk. It'd be nice if we could have a USE flag which gets rid of the dependency on webkit-gtk, at the expense of not pulling in the files (util/webcontainer, lib/UIDialogLibWebKit3.so, selfservice) that rely on it. Reproducible: Always
I previously filed a bug (bug 893706) asking whether it was possible to switch to a newer slot of webkit-gtk or drop the dependency completely. It didn't seem like the then-maintainer knew what functionality was reliant on webkit-gtk, but it sounds like you might know better. If you know, could you tell us here? Thanks!
Created attachment 869893 [details] ebuild with webkit USE flag
It seems to be mainly the selfservice program, used for enrolment(?). Have a look at the ebuild I've just attached - I've been testing it the past few days, and it's been fine.
I can't see that util/webcontainer and lib/UIDialogLibWebKit3.so are actually used by anything.
FWIW as a regular user of icaclient, I'd happily accept some degraded functionality in order to avoid having to build webkit-gtk. My PC has 16 cores, 32 threads, 128GB RAM, and I build entirely within RAM (in a tmpfs), and even I find building webkit-gtk to be a nuisance.
I added myself as a co-maintainer of this ebuild, as I was who actually did the latest updated for this package. I will take a look of adding webkit-gtk as optional dependency.
Looking at the debian package that citrix distribute: Package: icaclient Version: 24.8.0.98 Architecture: amd64 Maintainer: Citrix Systems, Inc. <debian.package.support@citrix.com> Installed-Size: 1122483 Pre-Depends: debconf (>= 0.5) Depends: libc6 (>= 2.13-38), libice6 (>= 1:1.0.0), libgtk2.0-0 (>= 2.12.0), libsm6, libx11-6, libxext6, libxmu6, libxpm4, libasound2, libstdc++6, libidn11 | libidn12, zlib1g, curl (>= 7.68), libsqlite3-0, libspeexdsp1, libva2 Recommends: libglib2.0-0 (>= 2.12.0), libgstreamer-plugins-base0.10-0 (>= 0.10.15), libgstreamer0.10-0 (>= 0.10.15), libspeex1, libvorbis0a, libvorbisenc2, libcanberra-gtk-module, gstreamer1.0-libav (>= 1.2.0), gstreamer1.0-plugins-bad (>= 1.2.0), pulseaudio, libwebkit2gtk-4.0-37 libwebkit2gtk is an optional dependecy. Hence, I think we can definitely add a use flag to pull it optionally.