If we try to emerge a package that is keyworded by a (~), then it would pull the (~) keyworded versions of the dependencies even though the ebuild doesn't specify that. For example, if one would emerge the package "radeon-profile" (Which is keyworded by a ~), then portage would pull the ~amd64 version of Qt5, even though the ebuild of radeon-profile just requires Qt5 in general and not the ~amd64 version of it. https://gitweb.gentoo.org/repo/gentoo.git/tree/x11-apps/radeon-profile/radeon-profile-20190903.ebuild The same happens with the new "telegram-desktop" package: https://gitweb.gentoo.org/repo/gentoo.git/tree/net-im/telegram-desktop/telegram-desktop-1.9.8.ebuild It tries to pull "dev-qt/qtgui-5.14.0-r3::gentoo" which is they currently ~amd64 keyworded version of Qt5: "Calculating dependencies... done! !!! All ebuilds that could satisfy "dev-qt/qtgui:5[png,X(-)]" have been masked. !!! One of the following masked packages is required to complete your request: - dev-qt/qtgui-5.14.0-r3::gentoo (masked by: ~amd64 keyword) (dependency required by "net-im/telegram-desktop-1.9.8::gentoo" [ebuild]) (dependency required by "net-im/telegram-desktop" [argument]) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook." Why would I need to accept ~amd64 versions of Qt and would almost have to emerge Qt each time I do a sync and @world update? Compiling Qt is expensive!!
(In reply to Mahmoud Jaoune from comment #0) > If we try to emerge a package that is keyworded by a (~), then it would pull > the (~) keyworded versions of the dependencies even though the ebuild > doesn't specify that. The answer is in your output: (In reply to Mahmoud Jaoune from comment #0) > !!! All ebuilds that could satisfy "dev-qt/qtgui:5[png,X(-)]" have been > masked. > !!! One of the following masked packages is required to complete your > request: > - dev-qt/qtgui-5.14.0-r3::gentoo (masked by: ~amd64 keyword) So only dev-qt/qtgui-5.14.0-r3 and later provide the USE=X that is required by the package you are trying to emerge. (In reply to Mahmoud Jaoune from comment #0) > Why would I need to accept ~amd64 versions of Qt and would almost have to > emerge Qt each time I do a sync and @world update? Compiling Qt is > expensive!! Then unmask a single version, not all versions. Eventually, 5.14.x will be stabilised as well.
(In reply to Andreas Sturmlechner from comment #1) > Then unmask a single version, not all versions. Eventually, 5.14.x will be > stabilised as well. Well I guess we would appreciate it a lot if you stabilize 5.14 very soon due to the many dependency problems we are having: #emerge --ask telegram-desktop These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] dev-libs/xxhash-0.6.5 USE="-static-libs" [ebuild U ~] dev-qt/qtcore-5.14.0 [5.13.2-r1] [ebuild U ~] dev-qt/qtdbus-5.14.0 [5.13.2] [ebuild U ~] dev-libs/jsoncpp-1.9.2-r2 [1.9.2-r1] [ebuild U ~] dev-util/cmake-3.16.3 [3.14.6] [ebuild N ] app-arch/lz4-1.9.2 USE="-static-libs" ABI_X86="(64) -32 (-x32)" [ebuild U ~] dev-qt/qtgui-5.14.0-r3 [5.13.2] USE="X%*" [ebuild U ~] dev-qt/qtwidgets-5.14.0-r1 [5.13.2] USE="X%*" [ebuild N ~] net-im/telegram-desktop-1.9.8 USE="dbus spell -gtk3" [blocks B ] <dev-qt/qtwayland-5.14.0:5 ("<dev-qt/qtwayland-5.14.0:5" is blocking dev-qt/qtgui-5.14.0-r3) [blocks B ] <dev-qt/qtsvg-5.14.0:5 ("<dev-qt/qtsvg-5.14.0:5" is blocking dev-qt/qtgui-5.14.0-r3) [blocks B ] <dev-qt/qtvirtualkeyboard-5.14.0:5 ("<dev-qt/qtvirtualkeyboard-5.14.0:5" is blocking dev-qt/qtgui-5.14.0-r3) [blocks B ] <dev-qt/qtimageformats-5.14.0:5 ("<dev-qt/qtimageformats-5.14.0:5" is blocking dev-qt/qtgui-5.14.0-r3) Why does dev-qt/qtwayland-5.14.0 block dev-qt/qtgui-5.14.0-r3?!
It will be stabilised when it is ready, not because you have trouble mixing stable with unstable packages.
just FYI, new telegram-desktop version 1.9.9 should be installable with older QT, so no need to unmask unstable qt.