Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 622200 - kde-misc/kdiff3-0.9.98_p20170219-r1 pulls in a lot of new KDE dependencies
Summary: kde-misc/kdiff3-0.9.98_p20170219-r1 pulls in a lot of new KDE dependencies
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Bernard Cafarelli
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-06-19 11:29 UTC by Thomas De Schampheleire
Modified: 2017-07-24 23:01 UTC (History)
1 user (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 Thomas De Schampheleire 2017-06-19 11:29:08 UTC
Coming from kdiff3-0.9.98-r1, updating to kdiff3-0.9.98_p20170219-r1, a lot of additional dependencies on KDE-specific packages are added, e.g.

[nomerge       ] kde-misc/kdiff3-0.9.98_p20170219-r1 [0.9.98-r1] USE="-debug" 
[nomerge       ]  kde-frameworks/kio-5.34.0-r2  USE="X handbook kwallet -acl -debug -kerberos {-test}" 
[ebuild  N     ]   kde-frameworks/kded-5.34.0  USE="man -debug" 
[ebuild  N     ]    kde-frameworks/kinit-5.34.0  USE="caps man -debug" 
[ebuild  N     ]     kde-frameworks/kio-5.34.0-r2  USE="X handbook kwallet -acl -debug -kerberos {-test}" 
[ebuild  N     ]      kde-frameworks/kwallet-5.34.0-r1  USE="man -debug -gpg {-test}" 
[ebuild  N     ]       kde-frameworks/knotifications-5.34.0  USE="X -dbus -debug -nls (-speech)" 

and each of theme has a set of other dependencies too.

I am not using KDE, have the global use flag '-kde' and I don't want all these dependencies. Previously kdiff3 could work fine without these. 

Are these new dependencies caused by the upstream source having changed requirements, or can the Gentoo ebuild be structured differently to allow non-KDE use?
Comment 1 Valeriy Malov 2017-06-19 11:43:29 UTC
This change is caused by kdiff3 moving from KDE4 to KDE5, which splits kdelibs into smaller libraries (KDE Frameworks)

Kdiff never worked without KDE dependencies
Comment 2 Valeriy Malov 2017-06-19 11:58:10 UTC
Oops, sorry for hasty misinformation, apparently kdiff3 could've been built without kdelibs

Anyway, kdiff3:5 is a KDE frameworks port, you can probably mask kdiff3:5 if you don't want to pull in kde frameworks
Comment 3 Thomas De Schampheleire 2017-06-19 14:35:15 UTC
(In reply to Valeriy Malov from comment #2)
> Oops, sorry for hasty misinformation, apparently kdiff3 could've been built
> without kdelibs
> 
> Anyway, kdiff3:5 is a KDE frameworks port, you can probably mask kdiff3:5 if
> you don't want to pull in kde frameworks

Yes, but that probably means that 'soon' I will not be able to install kdiff3 any longer...

Is it not possible to allow kdiff3:5 compilation without full KDE dependencies as before?
Comment 4 Andreas Sturmlechner gentoo-dev 2017-06-19 14:44:39 UTC
No, it is not possible. Why do you dislike KDE Frameworks? It's just a bunch of libraries.
Comment 5 Andreas Sturmlechner gentoo-dev 2017-06-19 16:00:49 UTC
(the whole point of KDE Frameworks was them being easier to swallow instead of the huge kdelibs blob, and you will find their compile time insignificant compared to Qt5)
Comment 6 Jonas Stein gentoo-dev 2017-06-19 18:15:11 UTC
I guess we can not help in this case. @voyageur do you agree?
If you want to avoid the kde depenedencies dev-util/meld might be an alternative.
Comment 7 Thomas De Schampheleire 2017-06-19 18:51:28 UTC
To clarify my problem with the new kdiff3, here is what would get pulled in on an up-to-date system, along with the other keywords/use changes I'd need to make.

Besides the KDE-specific stuff, it will pull in polkit and consolekit, things I don't want nor need.

# emerge -1p kdiff3

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  NS    ] sys-devel/autoconf-2.13 [2.69]
[ebuild  N     ] virtual/eject-0 
[ebuild  N     ] dev-qt/qtdbus-5.6.2  USE="-debug {-test}" 
[ebuild  N     ] dev-qt/qtxml-5.6.2  USE="-debug {-test}" 
[ebuild  NS    ] dev-qt/qtscript-5.6.2 [4.8.7] USE="jit -debug -scripttools {-test}" 
[ebuild  N     ] dev-qt/qtconcurrent-5.6.2  USE="-debug {-test}" 
[ebuild  N     ] sys-block/parted-3.2  USE="debug readline -device-mapper -nls (-selinux) -static-libs" 
[ebuild  N     ] sys-apps/gptfdisk-1.0.1  USE="ncurses -static" 
[ebuild  N     ] dev-lang/spidermonkey-1.8.5-r6  USE="-debug -minimal -static-libs {-test}" 
[ebuild   R    ] dev-qt/qtcore-5.6.2-r1  USE="icu*" 
[ebuild  N     ] kde-frameworks/extra-cmake-modules-5.34.0  USE="-doc {-test}" 
[ebuild  N     ] kde-frameworks/kf-env-4 
[ebuild  N     ] kde-frameworks/kcoreaddons-5.34.0-r1  USE="-debug (-fam) -nls {-test}" 
[ebuild  N     ] kde-frameworks/ki18n-5.34.0  USE="-debug {-test}" PYTHON_SINGLE_TARGET="python3_4 -python2_7 (-python3_5) (-python3_6)" PYTHON_TARGETS="python2_7 python3_4 (-python3_5) (-python3_6)" 
[ebuild  N     ] kde-frameworks/kcodecs-5.34.0  USE="-debug -nls {-test}" 
[ebuild  N     ] kde-frameworks/karchive-5.34.0  USE="bzip2 lzma -debug {-test}" 
[ebuild  N     ] kde-frameworks/kdoctools-5.34.0  USE="-debug {-test}" 
[ebuild   R    ] sys-fs/eudev-3.1.5  USE="static-libs*" 
[ebuild   R    ] sys-fs/lvm2-2.02.145-r2  USE="udev*" 
[ebuild  N     ] dev-libs/libatasmart-0.19-r1  USE="-static-libs" 
[ebuild  N     ] kde-frameworks/kconfig-5.34.0  USE="-debug -nls {-test}" 
[ebuild  N     ] kde-frameworks/kwidgetsaddons-5.34.0  USE="-debug -nls {-test}" 
[ebuild  N     ] kde-frameworks/kwindowsystem-5.34.0  USE="X -debug -nls {-test}" 
[ebuild  N     ] kde-frameworks/kdbusaddons-5.34.0  USE="X -debug -nls {-test}" 
[ebuild  N     ] kde-frameworks/kitemviews-5.34.0  USE="-debug -nls {-test}" 
[ebuild  N     ] kde-frameworks/sonnet-5.34.0  USE="hunspell -aspell -debug -nls {-test}" 
[ebuild  NS    ] dev-qt/qtsvg-5.6.2 [4.8.7] USE="-debug {-test}" 
[ebuild  N     ] kde-frameworks/kguiaddons-5.34.0  USE="-debug {-test}" 
[ebuild  N     ] kde-frameworks/kauth-5.34.0  USE="-debug -nls -policykit {-test}" 
[ebuild  N     ] kde-frameworks/kconfigwidgets-5.34.0  USE="man -debug {-test}" 
[ebuild  N     ] kde-frameworks/kcrash-5.34.0  USE="-debug -nls {-test}" 
[ebuild  N     ] kde-frameworks/kjobwidgets-5.34.0  USE="X -debug -nls {-test}" 
[ebuild  N     ] kde-frameworks/kcompletion-5.34.0  USE="-debug -nls {-test}" 
[ebuild  N     ] kde-frameworks/kiconthemes-5.34.0  USE="-debug {-test}" 
[ebuild  N     ] kde-frameworks/kservice-5.34.0  USE="man -debug {-test}" 
[ebuild  N     ] kde-frameworks/kglobalaccel-5.34.0  USE="-debug -nls {-test}" 
[ebuild  N     ] kde-frameworks/ktextwidgets-5.34.0  USE="-debug (-speech) {-test}" 
[ebuild  N     ] dev-qt/qtprintsupport-5.6.2  USE="cups -debug -gles2 {-test}" 
[ebuild  N     ] kde-frameworks/kxmlgui-5.34.0  USE="-attica -debug {-test}" 
[ebuild  N     ] kde-frameworks/kbookmarks-5.34.0  USE="-debug -nls {-test}" 
[ebuild  N    #] sys-auth/polkit-0.113  USE="gtk -examples -introspection -jit -kde -nls -pam (-selinux) -systemd {-test}" 
[ebuild  N    #] sys-auth/consolekit-1.1.0-r1  USE="policykit -acl -cgroups -debug -doc -pam -pm-utils (-selinux) {-test}" 
[ebuild  N     ] gnome-extra/polkit-gnome-0.105-r1 
[ebuild  N    #] sys-fs/udisks-2.1.8  USE="cryptsetup gptfdisk -acl -debug -introspection (-selinux) -systemd" 
[ebuild  N     ] kde-frameworks/solid-5.34.0  USE="-debug -nls {-test}" 
[ebuild  N     ] media-libs/phonon-4.9.1-r1  USE="qt5 vlc (-aqua) -debug -designer -gstreamer -pulseaudio -qt4 (-zeitgeist)" ABI_X86="(64) -32 (-x32)" 
[ebuild  N     ] kde-frameworks/knotifications-5.34.0  USE="X -dbus -debug -nls (-speech)" 
[ebuild  N     ] kde-frameworks/kwallet-5.34.0-r1  USE="man -debug -gpg {-test}" 
[ebuild  N     ] kde-frameworks/kio-5.34.0-r2  USE="X handbook kwallet -acl -debug -kerberos {-test}" 
[ebuild  N     ] kde-frameworks/kinit-5.34.0  USE="caps man -debug" 
[ebuild  N     ] kde-frameworks/kded-5.34.0  USE="man -debug" 
[ebuild  N     ] kde-frameworks/kparts-5.34.0  USE="-debug {-test}" 
[ebuild   R    ] media-video/vlc-2.2.6  USE="dbus*" 
[ebuild  N     ] media-libs/phonon-vlc-0.9.1-r1  USE="qt5 -debug -qt4" 
[ebuild  NS    ] kde-misc/kdiff3-0.9.98_p20170219-r1 [0.9.98-r1] USE="-debug" 
[uninstall     ] kde-misc/kdiff3-0.9.98-r1 
[blocks b      ] kde-misc/kdiff3:4 ("kde-misc/kdiff3:4" is blocking kde-misc/kdiff3-0.9.98_p20170219-r1)

The following mask changes are necessary to proceed:
 (see "package.unmask" in the portage(5) man page for more details)
# required by sys-auth/polkit-0.113::gentoo[-systemd]
# required by gnome-extra/polkit-gnome-0.105-r1::gentoo
# /etc/portage/package.mask/dont-want:
=sys-auth/consolekit-1.1.0-r1
# required by kde-frameworks/solid-5.34.0::gentoo
# required by kde-frameworks/kio-5.34.0-r2::gentoo
# required by kde-frameworks/kinit-5.34.0::gentoo
# required by kde-frameworks/kded-5.34.0::gentoo
# /etc/portage/package.mask/dont-want:
=sys-fs/udisks-2.1.8
# required by sys-fs/udisks-2.1.8::gentoo
# required by kde-frameworks/solid-5.34.0::gentoo
# required by kde-frameworks/kio-5.34.0-r2::gentoo
# required by kde-frameworks/kinit-5.34.0::gentoo
# required by kde-frameworks/kded-5.34.0::gentoo
# /etc/portage/package.mask/dont-want:
=sys-auth/polkit-0.113

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by kde-frameworks/kcoreaddons-5.34.0-r1::gentoo
# required by kde-frameworks/kglobalaccel-5.34.0::gentoo
# required by kde-frameworks/kxmlgui-5.34.0::gentoo
# required by kde-frameworks/kbookmarks-5.34.0::gentoo
# required by kde-frameworks/kio-5.34.0-r2::gentoo
# required by kde-frameworks/kinit-5.34.0::gentoo
# required by kde-frameworks/kded-5.34.0::gentoo
>=dev-qt/qtcore-5.6.2-r1 icu
# required by sys-auth/polkit-0.113::gentoo[-systemd]
# required by gnome-extra/polkit-gnome-0.105-r1::gentoo
>=sys-auth/consolekit-1.1.0-r1 policykit
# required by sys-fs/lvm2-2.02.145-r2::gentoo[static,udev]
# required by sys-fs/udisks-2.1.8::gentoo[cryptsetup]
# required by kde-frameworks/solid-5.34.0::gentoo
# required by kde-frameworks/kio-5.34.0-r2::gentoo
# required by kde-frameworks/kinit-5.34.0::gentoo
# required by kde-frameworks/kded-5.34.0::gentoo
>=sys-fs/eudev-3.1.5 static-libs
# required by media-libs/phonon-4.9.1-r1::gentoo[vlc]
# required by kde-frameworks/knotifications-5.34.0::gentoo
# required by kde-frameworks/kwallet-5.34.0-r1::gentoo
# required by kde-frameworks/kio-5.34.0-r2::gentoo[kwallet]
# required by kde-frameworks/kinit-5.34.0::gentoo
# required by kde-frameworks/kded-5.34.0::gentoo
>=media-libs/phonon-vlc-0.9.1-r1 qt5
# required by media-libs/phonon-vlc-0.9.1-r1::gentoo
# required by media-libs/phonon-4.9.1-r1::gentoo[vlc]
# required by kde-frameworks/knotifications-5.34.0::gentoo
# required by kde-frameworks/kwallet-5.34.0-r1::gentoo
# required by kde-frameworks/kio-5.34.0-r2::gentoo[kwallet]
# required by kde-frameworks/kinit-5.34.0::gentoo
# required by kde-frameworks/kded-5.34.0::gentoo
>=media-video/vlc-2.2.6 dbus
# required by media-libs/phonon-vlc-0.9.1-r1::gentoo
>=media-libs/phonon-4.9.1-r1 qt5
# required by sys-fs/udisks-2.1.8::gentoo[cryptsetup]
# required by kde-frameworks/solid-5.34.0::gentoo
# required by kde-frameworks/kio-5.34.0-r2::gentoo
# required by kde-frameworks/kinit-5.34.0::gentoo
# required by kde-frameworks/kded-5.34.0::gentoo
>=sys-fs/lvm2-2.02.145-r2 udev

NOTE: The --autounmask-keep-masks option will prevent emerge
      from creating package.unmask or ** keyword changes.

!!! All ebuilds that could satisfy ">=dev-qt/qtcore-5.6.1:5[icu]" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-qt/qtcore-5.7.1-r3::gentoo (masked by: ~amd64 keyword)
- dev-qt/qtcore-5.7.1-r2::gentoo (masked by: ~amd64 keyword)
- dev-qt/qtcore-5.6.2-r1::gentoo (masked by: )

(dependency required by "kde-frameworks/kcoreaddons-5.34.0-r1::gentoo" [ebuild])
(dependency required by "kde-misc/kdiff3-0.9.98_p20170219-r1::gentoo" [ebuild])
(dependency required by "kdiff3" [argument])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.



Anyway, if it's impossible to compile without the new KDE framework, I'll just stick to the old kdiff3 while still available.
I know meld, but I don't find its 3-way diff interface very logical.
Any suggestions for other good three-way diff tools are welcome!
Comment 8 Andreas Sturmlechner gentoo-dev 2017-06-19 21:34:01 UTC
I see. Well, kio indeed is a heavy dependency, but it is mostly used in src/fileaccess.{h,cpp}, src/progress.cpp, and (maybe) kdiff3fileitemactionplugin. Someone sufficiently motivated could make those optional I guess.

Fun fact: To be able to build kdiff3 'without KDE too' (sic!), it had been carrying around many parts of kdelibs all the time. With no fixes in 10 years.
Comment 9 Bernard Cafarelli gentoo-dev 2017-06-20 12:27:48 UTC
Indeed, there is not much we can do on the Gentoo side, unless develop.

So without going the "into the code" way, yes the alternatives are either use this new kf5-powered version, stick to kdiff3:4 (at least with a qt5 build, this slot will stay in tree as long as it works and does not have problems), or use meld
Comment 10 Thomas De Schampheleire 2017-06-20 12:36:38 UTC
Thanks all for the feedback, I think we can close this issue...