Inasmuch as possible app-i18n/fcitx should work out of the box. On a new system, I just emerged app-i18n/fcitx, configured ~/.xprofile, etc. only to find that it still didn't work. I quickly found out that I was missing app-i18n/fcitx-qt5. The 'kde' and 'qt5' USE flags may be set in /etc/portage/make.conf but still fcitx would not quite work out of the box. Alongside the existing gtk2, gtk3 and qt4 USE flags, fcitx should add a qt5 USE flag, and whenever either this qt5 flag on the kde flag (which may be set in make.conf) are set, fcitx would automatically pull in fcitx-qt5 as a dependency.
Due to different reasons (e.g. facilitation of migration from Fcitx 4 to Fcitx 5), my plan is to introduce app-i18n/fcitx-meta package with many USE flags. For normal packages, having USE flags not affecting installed files (like it would be in case of "qt5" USE flag in app-i18n/fcitx) is against Gentoo policies. app-i18n/fcitx-meta:4[qt4] will depend on app-i18n/fcitx:4[qt4] app-i18n/fcitx-meta:4[qt5] will depend on app-i18n/fcitx-qt5:4 app-i18n/fcitx-meta:4[configuration_tool_gtk] will depend on app-i18n/fcitx-configtool:4 app-i18n/fcitx-meta:4[configuration_tool_kde] will depend on app-i18n/kcm-fcitx:4-plasma5 In Fcitx 5, support for GTK+ and Qt have been split into separate packages: https://github.com/fcitx/fcitx5-gtk (which will be packaged in Gentoo as app-i18n/fcitx-gtk:5 and will have "gtk2" and "gtk3" USE flags) https://github.com/fcitx/fcitx5-qt (which will be packaged in Gentoo as app-i18n/fcitx-qt:5 and will have "qt4" and "qt5" USE flags) app-i18n/fcitx-meta:5[gtk2] will depend on app-i18n/fcitx-gtk:5[gtk2] app-i18n/fcitx-meta:5[gtk3] will depend on app-i18n/fcitx-gtk:5[gtk3] app-i18n/fcitx-meta:5[qt4] will depend on app-i18n/fcitx-qt:5[qt4] app-i18n/fcitx-meta:5[qt5] will depend on app-i18n/fcitx-qt:5[qt5] app-i18n/fcitx-meta:5[configuration_tool_kde] will depend on app-i18n/kcm-fcitx:5-plasma5
It looks nice. Thanks for your contributions and for maintaining these packages. My objectives in filing the current bug, was to provide some user feedback, as I am always concerned about usability. From a usability perspective, things should "work out of the box" and be consistent with the Principle of least astonishment: https://en.wikipedia.org/wiki/Principle_of_least_astonishment Having selected a plasma profile: default/linux/amd64/17.0/desktop/plasma I'd expect for the qt/kde libraries to be installed automatically, without further messing with use flags. > my plan is to introduce app-i18n/fcitx-meta package with many USE flags. Would use flags include flags for input methods? I would like to be able to easily switch between input method *frameworks* so test which one best suits my (a bit un-ordinary) needs. Within each framework, I'd be testing the chewing input method. I'd like to be able to add 'chewing' as a USE flag in make.conf, and when I emerge either fcitx or ibus, the relevant fcitx-chewing or ibus-chewing to be installed automatically. I'd like to refer to the other issue where I'm arguing for some consistency and a common policy for all input method framework related packages, for the sake of usability and predictability: https://bugs.gentoo.org/show_bug.cgi?id=650348 > For normal packages, having USE flags not affecting installed files > (like it would be in case of "qt5" USE flag in app-i18n/fcitx) is against Gentoo policies. You mean for normal packages as opposed to meta packages, as in your planned fcitx-meta package? I'm OK with that, especially if usability is improved in the process.
(In reply to augustin from comment #2) > > my plan is to introduce app-i18n/fcitx-meta package with many USE flags. > > Would use flags include flags for input methods? Yes. Names of these flags will consist of names of languages (or language families, since Chinese is a family of mutually incomprehensible languages), and some words derived from input methods or names of packages, when multiple are available. Examples: app-i18n/fcitx-meta:4[chinese_core] -> app-i18n/fcitx:4 app-i18n/fcitx-meta:5[chinese_core] -> app-i18n/fcitx-chinese-addons:5 (https://github.com/fcitx/fcitx5-chinese-addons) (I am not yet sure if I will use word "core" or something else...) app-i18n/fcitx-meta:4[chinese_chewing] -> app-i18n/fcitx-chewing:4 app-i18n/fcitx-meta:5[chinese_chewing] -> app-i18n/fcitx-chewing:5 app-i18n/fcitx-meta:4[chinese_libpinyin] -> app-i18n/fcitx-libpinyin:4 app-i18n/fcitx-meta:5[chinese_libpinyin] -> app-i18n/fcitx-libpinyin:5 app-i18n/fcitx-meta:4[japanese_anthy] -> app-i18n/fcitx-anthy:4 app-i18n/fcitx-meta:5[japanese_anthy] -> app-i18n/fcitx-anthy:5 app-i18n/fcitx-meta:4[japanese_mozc] -> app-i18n/mozc[fcitx4] app-i18n/fcitx-meta:5[japanese_mozc] -> app-i18n/mozc[fcitx5] app-i18n/fcitx-meta:4[korean] -> app-i18n/fcitx-hangul:4 app-i18n/fcitx-meta:5[korean] -> app-i18n/fcitx-hangul:5 app-i18n/fcitx-meta:4[vietnamese] -> app-i18n/fcitx-unikey:4 app-i18n/fcitx-meta:5[vietnamese] -> app-i18n/fcitx-unikey:5
It looks great. Thanks a lot! :)