Bug 435897 - Package fcitx support for digikam's appimage
Summary: Package fcitx support for digikam's appimage
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Bundle-AppImage (other bugs)
Version First Reported In: 7.3.0
Platform: Appimage Linux
: NOR wishlist
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-04-19 02:17 UTC by Tyson Tan
Modified: 2022-01-02 07:30 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 7.5.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tyson Tan 2021-04-19 02:17:48 UTC
fcitx is a widely used helper application to enable non-English character input. It's basically a must-have for Linux users in Asian regions like China/Japan/Korea/India. 

At this moment, digikam from a distro's official repo can use fcitx without issue, but it doesn't work inside our official appimages. A small Qt plugin must be packaged in order to utilize the system's input source.

Either of the following plugins would work:
fcitx-qt5 (old fcitx)
https://github.com/fcitx/fcitx-qt5
OR
fcitx5-qt (new fcitx)
https://github.com/fcitx/fcitx5-qt

We've figured it out in Krita's appimage packaging:
https://bugs.kde.org/show_bug.cgi?id=422465
(See Comment 4 by Weng Xuetian and Halla's commits in Comment 6, 7, 12)

It would be nice to have fcitx support packaged in digikam's appimages, otherwise people in the fore-mentioned regions must use Copy-Paste to input their native language.

Thank you for your time!
Comment 1 caulier.gilles 2021-12-28 17:05:05 UTC

*** This bug has been marked as a duplicate of bug 432526 ***
Comment 2 caulier.gilles 2021-12-31 23:27:33 UTC
Git commit 8698d5431ce3bfef733cd4c1ac6f019c603db5bf by Gilles Caulier.
Committed on 31/12/2021 at 23:26.
Pushed by cgilles into branch 'master'.

prepare to add Platform Input Context Qt plugin in bundles
Related: bug 432526

M  +1    -0    project/bundles/3rdparty/CMakeLists.txt
A  +24   -0    project/bundles/3rdparty/ext_fcitx-qt/CMakeLists.txt

https://invent.kde.org/graphics/digikam/commit/8698d5431ce3bfef733cd4c1ac6f019c603db5bf
Comment 3 caulier.gilles 2022-01-01 10:01:07 UTC
Git commit 18a9bd0189ece08132160138e537621b870ba737 by Gilles Caulier.
Committed on 01/01/2022 at 09:59.
Pushed by cgilles into branch 'master'.

First try to install Platform Input Context Qt plugin under MacOS
Related: bug 432526

M  +6    -3    project/bundles/macports/02-build-extralibs.sh

https://invent.kde.org/graphics/digikam/commit/18a9bd0189ece08132160138e537621b870ba737
Comment 4 caulier.gilles 2022-01-01 11:19:40 UTC
Git commit 1672b7a5fa05e6c0e4489425c260706c3782baec by Gilles Caulier.
Committed on 01/01/2022 at 11:17.
Pushed by cgilles into branch 'master'.

FCITX qt plugin is only for Linux AppImage
Related: bug 432526

M  +2    -0    NEWS
M  +3    -0    project/bundles/appimage/02-build-extralibs.sh
M  +0    -3    project/bundles/macports/02-build-extralibs.sh

https://invent.kde.org/graphics/digikam/commit/1672b7a5fa05e6c0e4489425c260706c3782baec
Comment 5 caulier.gilles 2022-01-01 19:18:15 UTC
Hi Tyson,

New digiKam 7.5.0 pre-release AppImage bundle now include the famous Platform Input Context Qt plugin : 

[gilles@localhost Downloads]$ ./digiKam-7.5.0-20220101T175533-x86-64.appimage
-- digiKam Linux AppImage Bundle
-- Use 'help' as CLI argument to know all available options for digiKam application.
-- Notes: to integrate this bundle to your desktop, use AppImageLauncher.
--        to enable all debug messages on the console, use 'export QT_LOGGING_RULES="digikam*=true"'.
Check library libudev.so.0
Check library libxcb-dri3.so.0
Check library libcrypto.so.1.1
Check library libssl.so.1.1
-- Preloading shared libs: :/usr/lib64/libxcb-dri3.so.0:/usr/lib64/libcrypto.so.1.1:/usr/lib64/libssl.so.1.1
Digikam::DXmlGuiWindow::setupIconTheme: Breeze icons resource file found
Digikam::DXmlGuiWindow::setupIconTheme: Breeze-dark icons resource file found
Digikam::unloadQtTranslationFiles: Qt standard translations removed: 0
Digikam::loadStdQtTranslationFiles: Qt standard translations path: "/tmp/.mount_digiKafKsuVU/usr/share/digikam/translations"
Digikam::loadStdQtTranslationFiles: Loaded Qt standard translations "en_US" from catalog "qt"
Digikam::loadStdQtTranslationFiles: Loaded Qt standard translations "en_US" from catalog "qtbase"
Digikam::loadStdQtTranslationFiles: Loaded Qt standard translations "en_US" from catalog "qt_help"
Digikam::loadStdQtTranslationFiles: Loaded Qt standard translations "en_US" from catalog "qtdeclarative"
Digikam::loadStdQtTranslationFiles: Loaded Qt standard translations "en_US" from catalog "qtquickcontrols"
Digikam::loadStdQtTranslationFiles: Loaded Qt standard translations "en_US" from catalog "qtquickcontrols2"
Digikam::loadStdQtTranslationFiles: Loaded Qt standard translations "en_US" from catalog "qtmultimedia"
Digikam::loadStdQtTranslationFiles: Loaded Qt standard translations "en_US" from catalog "qtwebengine"
Digikam::loadStdQtTranslationFiles: Loaded Qt standard translations "en_US" from catalog "qtxmlpatterns"
Digikam::ApplicationSettings::setApplicationStyle: Switch to widget style:  "breeze"
Digikam::AlbumWatch::AlbumWatch: AlbumWatch is disabled
Digikam::AlbumManager::setDatabase: Database Parameters:
   Type:                      "QSQLITE"
...

[gilles@localhost platforminputcontexts]$ pwd
/tmp/.mount_digiKafKsuVU/usr/plugins/platforminputcontexts

[gilles@localhost platforminputcontexts]$ ll
total 339
-rwxr-xr-x 1 root root  27152 Jan  1 19:51 libcomposeplatforminputcontextplugin.so*
-rwxr-xr-x 1 root root 180544 Jan  1 19:51 libfcitxplatforminputcontextplugin.so*          <==== !!!!!!!!
-rwxr-xr-x 1 root root 139432 Jan  1 19:51 libibusplatforminputcontextplugin.so*

[gilles@localhost platforminputcontexts]$ 
[gilles@localhost ~]$ 

File to test is available at usual place : https://files.kde.org/digikam/

Please test and give us a feedback.

Best regards and happy new year

Gilles Caulier