hime-ime / hime

HIME Input Method Editor
http://hime-ime.github.io
267 stars 48 forks source link

Minimal gtk version seems to be random #655

Closed ilya-fedin closed 4 years ago

ilya-fedin commented 4 years ago

Hello! I'm trying to update hime to version 0.9.11 in tdesktop, but the build fails due to GTK_VERSION_CHECK in hime-gtk-compatible.h. We're using CentOS 7 for builiding and it contains gtk2 2.24.31, gtk3 3.22.30, while hime requires 2.24.32, 3.24.20. Why exactly these versions were chosen? This looks like a random choice for me since you requiring patch versions rather than minor ones.

xatier commented 4 years ago

Hi @ilya-fedin,

I did some gtk clean up in commit f14c9afee1476bea71d495c74a4323f4a9644cc2, gtk 3.24.20 was the latest version available at the time.

HIME project is not actively under maintained, I'm the only maintainer currently. If you are looking for a more stable input method for serious use, I would recommend https://github.com/fcitx .

ilya-fedin commented 4 years ago

If you are looking for a more stable input method for serious use, I would recommend https://github.com/fcitx .

We include hime-qt plugin just to not to get new issues about asian languages input. Personally I don't understand why there is no some standardized API for all input engines (either dbus or with X protocol abstraction) to not to include Qt plugins for every input method.

I did some gtk clean up in commit f14c9af, gtk 3.24.20 was the latest version available at the time.

Can you decrease it to the really required version (you can try installing some old distros into VM and find on which there's no needed methods)?

xatier commented 4 years ago

Hi @ilya-fedin,

I would honestly say that hime is not a popular input method among asian users. There are many historical reasons behind the greater question "why there is no some standardized API for all input engines". ibus kind of aimed to be one though, but still there exists many other projects developed by different communities.

If recommend including other popular input methods such as ibus-chewing (ibus + libchewing) and Fcitx. If you do want to downgrade the gtk requirement versions, feel free to just patch hime-gtk-compatible.h locally.

ilya-fedin commented 4 years ago

feel free to just patch hime-gtk-compatible.h locally

We have hime as a git submodule :( https://github.com/telegramdesktop/tdesktop/tree/dev/Telegram/ThirdParty

xatier commented 4 years ago

I see. Checking through some historical tickets on your side [1], my understanding to the issue is more like we need to update our build script to only build the qt module.

I would personally like to fix that, not sure when I'll have the bandwidth to work on that.

On the other hand, CentOS 7 seems to be very close to its EOL [2], as a side note.

[1] https://github.com/telegramdesktop/tdesktop/issues/6886 [2] https://wiki.centos.org/About/Product

ilya-fedin commented 4 years ago

my understanding to the issue is more like we need to update our build script to only build the qt module

We build hime via our custom cmake rules: https://github.com/desktop-app/cmake_helpers/tree/master/external/hime_qt

Unfortunately, hime qt plugin uses hime-im-client that uses gtk.

ilya-fedin commented 4 years ago

On the other hand, CentOS 7 seems to be very close to its EOL [2], as a side note.

There are a lot of people who uses Telegram on old distros. We just migrated from building on Ubuntu 14.04 and minimal requirements of Ubuntu 12.04 (glibc 2.11) to building on CentOS 7 and minimal glibc version of 2.17. So CentOS 7 definitely will be used for a long time.

xatier commented 4 years ago

Understand.

What I can do here is to lower the gtk deps. to unblock Telegram for now. While for the long term solution, it's really on the hime side to clean all these mess up.

ilya-fedin commented 4 years ago

My inner perfectionist doesn't understand why not to require the real minimal version, but thank you very much :)