We have split ebuilds of poppler. Upstream supports qt4 and qt5; we have only poppler-qt4. Providing -qt5 is not a problem; the problem is something else.
(Currently qt5 on the poppler "meta package" is disabled; but I think it's time to think about providing -qt5 - for new Calibre for example.) Ebuilds can have something like: RDEPEND="app-misc/poppler[qt5]" or RDEPEND="app-misc/poppler[qt4?,qt5?]. However, Sabayon has this: [...] ../../noarch/entropy/packages/packages.server.dep_rewrite:app-office/libreoffice (.*)app-text/poppler(.*)(\[.*\])? \1app-text/poppler-base\2 ../../noarch/entropy/packages/packages.server.dep_rewrite:app-office/openoffice (.*)app-text/poppler(.*)(\[.*\])? \1app-text/poppler-base\2 ../../noarch/entropy/packages/packages.server.dep_rewrite:app-office/texmaker (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-qt4\2 ../../noarch/entropy/packages/packages.server.dep_rewrite:app-office/texmakerx (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-qt4\2 ../../noarch/entropy/packages/packages.server.dep_rewrite:app-office/texstudio (.*)app-text/poppler(.*)(\[.*\]) \1app-text/poppler-qt4\2 [...] Now that qt5 on poppler is disabled, it'll be easy to spot when the first package requires it. But after it is enabled, which will happen eventually (along with poppler-qt5::sabayon-distro), it'll be harder to notify that a package switches from poppler qt4 to poppler qt5, so the (rewritten) dependency will be incorrect. Any thoughts on how to deal with it? (If qt5 is enabled on a per package basis, it'll be easier, but this is not the case with every package - see Calibre.) The easiest solution: provide poppler-qt which has qt4 and qt5 parts with "missing runtime dependency" ignored (looking at qt4, shared lib and not binary) because it will be bad to have it depend on both qt branches. Another idea is to implement a hook somewhere, like this (basic error checking skipped for clarity; I am aware that stripping numbers doesn't support _pre etc. but that's okay, we'd notice anyway): {{{ packages_that_require_poppler_qt4=$(eit query required libpoppler-qt4.so.4 | sed -nr '/Package: /s/.*Package: ([^ ]+).*/\1/p' | sed -e 's/\x1b\[[0-9;]*m//g' -e 's/[0-9r0.-]*$//' | sort -u) for x in $packages_that_require_poppler_qt4; do grep "$x" packages.server.dep_rewrite | grep -q poppler-qt4 || echo "$x"; done }}} This will print packages that don't have the qt4 dependency. Heck, I have spotted two! (I will fix them right away.) In the meantime, maybe someone has something simpler but something that still works. ;)